0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
1
0
1
2
1
1
1
1
1
1
1
1
1
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
5
0
0
7
31
0
2
0
0
0
0
0
0
3
0
1
2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
27
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
3
1
3
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
2
7
2
2
2
2
2
2
2
4
4
3
3
3
3
3
3
4
3
3
2
2
2
2
2
1
1
1
1
1
2
1
15
1
1
1
1
1
2
2
1
1
2
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
3
1
2
3
2
3
3
18
18
25
24
23
22
21
23
23
25
26
24
27
27
28
25
26
27
28
25
27
28
30
29
27
28
26
26
27
27
24
25
25
23
25
25
25
1421
25
24
22
23
22
22
23
23
27
26
25
32
31
29
30
30
54
31
31
33
26
26
26
24
27
27
30
31
31
32
32
33
33
38
35
35
33
37
38
36
37
41
41
38
40
37
35
36
38
38
35
34
36
34
38
38
36
34
36
35
36
36
36
37
37
36
47
44
48
47
45
40
42
37
37
37
37
37
36
37
37
35
36
34
33
35
31
31
31
36
39
33
33
34
35
36
36
35
36
35
37
38
40
40
39
39
39
38
38
39
40
39
37
36
38
35
34
34
37
39
37
38
34
36
35
38
37
33
38
35
37
38
32
34
35
34
34
32
32
31
32
34
33
33
36
34
33
34
35
34
35
38
37
38
34
35
35
35
41
35
35
34
31
32
31
30
30
31
32
32
32
31
36
35
37
35
34
37
41
35
34
34
32
24
25
26
30
30
31
29
22
3
4
3
3
2
2
2
2
1
1
1
2
1
2
3
1
4
1
1
2
1
1
1
1
1
1
1
1
1
1
2
1
2
3
1
1
1
2
2
1
1
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
1
2
0
0
0
0
0
4
0
0
0
0
1
0
14
0
0
0
0
3
0
0
0
2
3
1
2
2
0
0
0
0
1
1
1
2
1
1
1
2
0
1
0
3
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
6
1
1
1
1
1
1
1
2
2
1
0
1
0
0
0
0
3
0
1
1
1
1
1
6
1
1
1
0
106
0
1
1
4
0
1
3
2
1
3
1
0
0
0
4
0
1
1
0
0
0
0
0
0
2
1
1
1
1
2
1
1
4
1
1
1
1
2
2
10
3
4
182
3
3
3
2
2
1
1
2
1
2
1
1
1
1
3
1
10
0
0
0
0
0
0
0
1
1
1
0
5
0
1
0
2
0
0
0
2
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
6
43
0
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
0
4
1
5
2
0
1
1
2
0
0
2
0
0
1
0
1
0
1
1
0
1
1
0
1
1
13
0
3
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
4
1
1
1
1
2
1
1
3
1
1
1
2
1
1
1
2
0
0
0
1
0
2
0
1
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
3
0
1
1
0
0
1
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
17
1
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
1
1
1
1
2
1
1
1
1
1
1
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
0
0
0
2
2
4
0
0
3
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
11
0
1
0
0
19
4
1
1
0
0
0
0
0
2
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
2
3
2
2
1
1
1
1
1
1
1
1
3
2
1
1
3
2
2
2
2
3
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
2
1
1
3
1
1
1
1
1
1
1
1
1
1
0
0
0
1
8
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
4
2
2
2
3
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
1
1
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
2
2
8
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
6
2
2
31
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
3
2
5
3
3
2
2
2
2
2
2
2
3
2
2
5
3
3
2
2
2
2
2
16
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
2
2
2
2
2
3
6
2
2
3
4
5
5
5
6
6
4
4
4
4
4
4
5
5
6
6
6
7
6
7
7
7
7
7
7
8
11
9
9
9
9
9
9
9
10
10
10
10
11
13
12
15
15
15
15
18
17
16
18
16
16
22
20
20
19
20
20
20
20
21
22
23
21
21
21
22
29
30
29
29
33
92
78
78
77
79
83
84
84
85
82
82
80
82
79
78
79
78
80
83
77
79
80
78
81
79
77
77
80
76
82
80
77
78
80
76
73
74
73
71
73
74
75
80
77
77
75
75
75
75
75
73
77
74
75
75
74
75
75
71
75
78
77
75
75
76
76
77
78
80
80
79
77
78
79
77
77
77
75
75
75
75
73
74
76
75
73
72
76
75
79
79
81
80
80
80
80
80
80
79
80
81
80
89
89
87
88
87
87
87
89
87
88
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
1
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
72
64
73
72
72
70
76
69
69
72
78
68
69
72
74
80
81
81
80
79
72
70
71
77
68
73
74
74
68
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
72
70
63
62
61
65
67
65
56
65
67
64
66
65
67
66
62
67
60
65
59
66
67
61
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
60
60
59
57
56
56
55
56
57
56
57
58
56
57
57
58
58
57
58
57
61
0
0
0
0
0
0
0
0
0
0
0
59
57
59
58
59
58
58
59
55
56
58
57
57
57
55
56
58
52
54
56
60
53
52
51
52
53
54
53
54
50
51
48
48
49
48
50
50
49
0
0
0
0
0
0
0
0
0
0
52
48
48
49
46
48
45
46
49
45
47
48
47
47
51
53
51
54
52
51
53
52
52
53
52
51
53
51
50
49
50
49
48
50
50
48
53
48
49
49
49
53
52
54
54
51
53
50
52
51
49
51
52
50
50
50
50
52
52
52
52
52
53
55
56
56
57
58
28
27
17
18
16
7
9
6
4
3
3
1
1
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
177
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
3
6
0
1
0
0
1
0
0
0
0
1
0
2
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
8
0
0
4425
0
0
3
0
0
0
0
0
3
1
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
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
14
0
0
3
7
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
4
0
1
0
1
1
1
0
0
2
2
2
0
1
2
10
1
4
4
4
4
4
4
3
4
4
4
5
6
5
7
6
6
6
5
6
5
5
7
5
6
10
5
5
5
4
5
70
4
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
2
2
2
2
2
4
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
3
0
1
1
1
1
1
1
1
1
1
2
0
1
1
2
1
2
0
1
5
0
18
0
0
0
0
0
4
0
1
0
1
1
0
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
0
0
0
0
1
1
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
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
33
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
5
0
8
0
0
1
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
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
1
1
1
1
6
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
2
1
7
7
7
7
7
8
6
6
5
4
4
4
4
5
5
4
4
4
4
4
5
5
5
3
3
5
4
3
2
2
2
2
3
2
2
2
2
2
51
1
1
2
1
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
5
2
2
2
4
1
1
2
2
2
2
2
2
2
1
1
1
1
1
1
1
3
2
2
2
2
1
1
2
1
3
1
1
1
1
2
4
2
3
5
3
3
4
4
4
5
5
4
4
5
5
4
4
4
4
4
5
4
4
4
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
8
7
6
7
7
7
7
7
7
7
7
7
7
7
6
5
5
5
5
5
7
5
5
6
5
5
5
5
5
5
5
6
6
6
6
8
7
7
7
7
7
7
7
8
7
7
7
8
8
9
9
8
8
10
9
8
8
10
9
7
7
7
7
13
7
7
7
7
8
8
8
9
7
7
7
8
8
8
8
8
8
8
8
8
9
8
8
8
8
8
7
7
7
15
9
8
8
10
11
11
9
9
9
11
1
1
1
1
1
6
1
2
7
2
1
1
1
6
5
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
1
1
2
2
2
2
3
2
2
2
2
2
2
2
2
3
2
3
6
2
3
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
3
4
3
3
2
2
8
3
2
3
5
2
2
4
2
2
3
3
15
3
4
5
4
4
4
4
4
3
3
3
3
4
6
3
3
3
4
3
3
4
3
3
3
3
3
3
3
3
3
3
5
4
4
4
4
4
4
4
7
4
4
4
4
4
4
4
4
4
4
4
6
5
4
4
4
4
4
4
5
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
4
5
5
5
4
10
5
4
4
4
4
4
5
4
4
4
3
3
3
3
4
4
3
3
3
4
3
5
4
3
3
3
5
3
3
3
3
6
3
3
3
3
7
6
8
4
4
4
3
3
3
3
35
3
3
3
3
3
4
3
3
6
4
5
4
11
5
5
5
5
4
5
5
5
4
4
3
3
3
3
3
3
3
3
3
2
2
1
1
1
1
2
1
1
1
1
2
3
1
1
18
2
1
5
2
2
2
2
2
2
4
1
1
1
1
1
1
1
1
2
1
2
1
2
2
1
1
2
1
1
2
1
1
1
13
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
2
2
2
3
3
3
3
3
3
12
3
4
3
3
4
2
2
3
2
1
1
1
1
1
1
1
1
4
1
2
1
3
1
1
1
1
1
1
1
1
1
1
1
1
5
1
1
1
1
2
1
1
1
1
1
5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
2
1
3
1
1
1
1
1
1
1
1
1
1
1
2
1
2
1
2
1
1
2
2
1
1
1
1
1
1
1
1
7
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
2
1
1
31
1
1
2
1
1
3
1
2
2
1
1
1
1
1
1
1
1
1
1
1
4
1
2
2
3
2
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
4
3
3
3
3
3
3
4
3
4
3
26
4
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
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
1
0
0
0
0
0
2
0
1
0
1
0
20
0
1
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
3
3
3
3
3
3
3
4
3
3
5
6
4
5
4
5
5
4
4
6
5
5
6
7
7
7
10
11
7
7
7
7
7
7
8
7
7
7
9
8
7
7
7
7
8
7
7
7
7
7
7
7
7
8
8
8
8
8
9
8
8
8
8
8
8
9
9
8
8
8
8
8
8
8
8
10
8
9
9
8
9
16
9
9
11
10
10
10
10
11
10
10
10
10
15
9
10
10
10
11
9
10
10
10
10
10
9
9
9
9
9
38
9
10
11
11
10
9
9
9
9
10
9
9
9
9
9
9
9
9
9
10
9
9
9
9
10
9
9
9
9
9
9
8
8
9
10
9
9
9
9
9
9
10
10
9
9
11
10
10
10
10
12
10
10
10
10
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
10
10
10
10
10
10
10
11
10
9
9
10
10
9
9
10
10
11
10
14
11
11
12
9
10
9
8
7
8
7
7
7
6
6
6
6
5
5
5
5
5
9
5
6
5
1
1
1
1
1
2
2
3
5
13
2
2
2
2
2
3
3
3
3
4
2
3
3
2
7
4
3
3
3
3
6
6
4
3
3
3
3
2
6
7
6
6
7
6
5
6
5
6
5
5
5
5
5
5
5
6
5
5
7
7
5
8
5
5
5
5
5
5
5
6
6
6
6
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
8
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
6
6
6
8
8
6
6
6
6
6
6
6
7
7
7
7
7
7
7
9
7
7
7
7
7
7
7
8
7
7
7
6
6
22
7
6
6
5
5
5
5
5
6
5
5
4
3
3
4
4
4
6
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
4
4
5
6
6
6
6
6
6
6
5
5
6
6
5
5
5
5
6
5
5
5
5
5
6
6
6
6
6
5
4
5
5
3
3
3
4
4
4
4
4
4
3
4
3
4
3
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
7
4
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
4
4
4
5
3
3
4
3
4
4
5
5
4
4
4
3
3
4
4
3
3
3
5
4
3
3
3
4
3
3
3
3
4
5
4
4
2
2
2
3
3
3
3
3
3
3
8
4
2
2
2
2
2
2
2
3
3
3
4
3
3
5
3
3
4
3
3
3
3
3
5
4
3
3
3
3
4
3
5
3
3
3
3
2
2
2
2
1
3
3
2
3
2
2
2
2
4
3
3
3
3
3
5
3
3
3
2
1
2
1
4
3
3
3
2
2
2
2
3
3
2
2
2
3
3
2
4
2
3
2
2
2
3
23
3
3
3
5
4
4
3
3
3
3
3
4
4
4
5
4
5
6
5
5
5
12
5
5
5
5
5
5
5
5
5
5
5
5
5
7
6
7
5
5
5
5
5
5
5
4
3
3
4
4
4
4
5
5
5
5
5
5
5
5
4
5
6
5
4
3
4
3
4
3
4
3
3
3
3
3
3
4
3
45
3
8
3
3
3
3
3
3
3
3
3
3
4
4
2
2
2
2
2
3
3
3
4
3
3
3
3
5
3
3
4
4
4
2
2
3
2
3
4
4
8
4
3
2
3
3
2
2
3
4
2
3
2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
5
5
5
6
7
3
9
3
9
3
3
6
5
4
0
3
5
3
5
3
3
2
8
3
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
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
9
10
10
8
9
9
11
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
7
7
7
6
8
9
7
7
9
8
9
8
8
8
8
8
9
9
8
16
8
8
9
18
9
8
8
9
8
8
9
9
9
9
11
11
11
16
13
15
15
13
16
13
14
16
14
21
13
12
13
13
14
12
14
12
15
12
13
12
12
13
13
13
15
14
13
13
12
14
12
12
15
13
13
16
14
14
13
17
15
14
14
13
13
18
15
13
13
16
16
17
17
17
17
12
10
17
11
9
10
10
9
10
9
9
10
9
9
11
9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
1
1
0
0
1
0
0
0
2
0
0
0
3
0
0
1
0
0
0
0
0
1
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
2
0
1
0
0
0
0
0
0
0
2
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
8
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
3
1
1
1
5
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
5
2
2
2
3
2
2
3
3
3
5
3
3
3
3
6
4
3
3
3
3
3
3
3
11
3
3
3
3
3
3
4
4
4
4
6
4
4
4
7
5
7
5
5
5
5
5
5
6
5
5
5
5
5
5
5
5
5
3
3
3
3
3
3
3
3
3
4
3
5
4
4
4
4
4
5
4
4
4
4
3
2
2
2
2
2
2
2
2
3
2
2
3
2
2
2
3
2
3
3
3
3
3
3
3
4
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
4
5
5
6
7
6
8
6
6
6
6
5
5
5
4
4
4
4
4
4
4
4
4
5
5
4
5
5
5
5
5
5
5
5
5
5
5
4
5
5
5
5
5
5
5
5
5
5
5
5
6
5
4
4
4
4
4
7
11
10
3
2
2
3
3
3
2
3
2
2
2
2
28
3
3
3
3
3
3
3
3
3
3
4
4
3
3
4
3
3
3
3
3
1
2
1
1
1
1
1
1
0
1
2
2
1
1
2
2
2
4
3
3
2
2
2
2
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
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
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
3
1
1
0
0
0
7
0
1
1
1
1
2
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
2
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
2
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
1
1
2
1
2
6
5
5
5
4
4
4
4
4
4
4
4
4
6
5
4
5
4
4
12
8
6
6
6
7
6
7
7
6
8
8
8
8
8
7
7
7
7
7
7
7
7
7
9
26
8
49
7
7
7
7
11
8
8
8
8
9
9
9
8
8
8
8
10
8
8
9
9
8
11
13
12
10
10
10
9
10
11
10
10
9
9
9
9
10
10
11
9
10
8
8
9
9
16
16
18
16
22
21
17
17
19
18
17
16
18
21
19
19
19
17
17
17
18
20
21
22
22
23
21
22
21
19
19
21
21
20
20
20
19
17
17
18
18
18
18
22
18
19
18
18
18
17
17
17
16
16
16
16
17
17
17
17
20
17
17
16
16
17
17
17
20
20
17
17
16
15
16
16
19
18
18
18
19
18
19
17
21
19
19
18
18
19
23
18
18
17
17
20
17
19
17
18
17
18
18
17
24
17
18
20
17
18
20
20
19
21
19
21
18
13
13
12
12
12
13
12
12
12
12
12
14
12
12
12
12
12
12
11
12
14
14
14
14
15
18
15
16
21
14
14
13
13
13
13
14
13
14
15
14
15
16
14
14
16
15
12
13
13
16
13
12
13
12
12
13
14
12
12
12
12
12
12
13
12
12
12
13
18
7
8
9
9
8
8
8
9
9
9
10
10
10
10
9
8
7
7
8
8
7
7
8
9
9
8
8
8
18
7
7
7
7
7
7
8
8
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
7
7
7
8
8
8
8
7
7
9
7
8
8
8
7
10
7
8
9
10
8
8
8
6
8
8
7
6
7
7
9
11
6
6
6
7
8
7
5
9
5
8
6
7
6
5
5
5
5
8
7
8
7
8
7
6
7
5
5
5
7
6
7
6
7
16
6
8
7
10
8
8
8
9
8
9
9
8
8
8
8
8
7
10
9
8
9
10
9
9
10
10
9
9
11
10
21
12
16
15
11
12
12
12
13
11
12
11
10
11
11
10
11
11
10
10
11
12
11
11
12
13
12
13
13
15
24
12
12
12
12
10
11
10
10
11
10
8
8
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
8
8
9
9
9
9
9
8
9
12
8
8
8
8
9
10
12
13
13
13
13
13
14
14
15
15
16
15
18
15
13
12
12
13
11
11
12
11
11
11
13
12
11
11
11
12
13
12
12
11
12
13
11
12
12
13
12
12
12
12
13
14
13
17
15
16
17
15
16
15
15
15
19
14
14
14
14
14
14
14
15
14
15
15
15
15
15
15
14
17
16
15
14
14
13
13
14
14
15
14
15
16
17
17
16
17
17
17
29
24
25
45
43
57
61
61
63
57
58
57
57
62
62
62
61
62
61
70
70
72
69
74
70
68
71
70
69
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
5
4
4
3
3
2
2
3
3
1
1
2
1
2
2
1
3
3
3
2
2
0
0
2
1
1
1
1
1
1
2
1
2
2
2
4
2
1
1
1
1
5
2
1
4
2
2
1
1
0
0
0
0
1
1
1
3
2
1
2
2
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
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
1
0
0
0
1
0
0
0
2
4
1
0
1
0
1
0
0
2
2
2
2
2
3
2
2
3
2
2
2
2
3
3
2
2
2
2
2
2
2
2
3
3
3
3
4
3
5
5
4
3
2
2
2
2
2
2
3
3
4
2
3
5
3
3
3
3
3
3
5
9
4
4
5
4
3
3
3
3
3
4
3
3
3
4
2
2
2
2
3
3
2
2
2
2
2
2
3
3
3
3
4
4
4
4
4
5
3
4
3
2
3
4
3
3
5
4
3
3
4
3
3
3
3
8
3
3
4
3
3
3
4
3
3
3
3
4
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
4
4
3
3
3
6
3
3
3
3
3
3
4
0
4
4
3
3
3
3
3
3
3
3
3
3
3
5
3
3
3
3
3
5
5
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
3
3
5
5
3
3
10
1
3
1
2
2
1
2
2
2
2
2
2
2
1
1
1
1
1
1
1
0
0
0
4
0
0
3
0
0
0
0
3
1
0
1
0
0
0
0
0
0
46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
3
1
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
4
1
0
0
5
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
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
2
2
5
2
1
1
1
1
1
2
1
2
1
1
1
1
3
2
2
2
2
2
2
2
3
2
2
2
3
4
3
3
3
5
4
4
3
4
4
4
4
5
4
5
4
4
4
4
4
4
4
4
4
4
3
7
6
5
4
5
4
5
7
5
6
5
5
4
4
5
5
5
5
5
5
5
5
5
4
4
3
3
6
4
3
3
4
4
2
3
2
2
31
3
3
2
3
4
3
4
5
3
3
3
3
3
4
3
3
3
3
4
4
4
4
4
5
4
4
4
4
6
4
4
4
7
4
5
5
4
4
4
4
6
4
4
4
4
4
4
4
6
10
5
5
5
6
4
4
4
5
6
5
5
5
5
6
5
5
5
5
6
6
5
4
4
4
4
4
4
5
5
4
7
6
4
2
2
5
2
2
2
2
2
3
2
2
4
2
3
2
2
1
1
2
1
2
2
1
1
2
1
1
5
13
1
1
1
1
1
2
2
2
2
1
2
1
4
2
2
2
2
2
3
2
2
2
3
2
3
3
2
2
2
1
1
1
2
2
1
1
1
1
1
1
1
1
1
1
2
2
1
2
3
3
4
3
3
4
4
3
2
2
4
3
4
3
2
3
3
3
2
5
2
2
3
3
3
3
3
2
2
2
3
3
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
3
3
2
2
2
2
3
2
2
2
2
2
5
2
2
3
3
3
3
3
4
3
2
2
1
1
3
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
6
2
2
7
2
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
10
2
3
3
2
2
15
2
3
2
2
3
3
2
2
2
2
2
3
2
5
2
2
2
2
2
2
2
2
2
5
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
3
2
2
3
2
3
2
3
2
2
3
3
3
3
3
3
3
3
3
3
3
4
6
3
3
3
2
2
2
2
3
2
2
2
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
5
4
3
3
3
3
4
3
4
3
3
3
4
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
6
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
4
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
8
4
4
17
4
4
4
4
4
4
4
4
4
5
4
4
4
4
4
4
3
3
4
3
3
3
5
3
3
3
5
3
3
4
3
3
6
4
3
4
3
3
3
3
3
3
4
2
2
3
3
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
5
3
3
3
3
3
3
3
3
3
3
4
4
4
14
4
4
4
4
4
4
4
3
4
5
4
3
3
3
3
3
3
5
2
2
2
2
8
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
0
0
0
0
0
1
1
1
1
1
1
5
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
2
2
2
2
1
1
1
1
1
1
1
2
1
1
1
1
1
1
3
2
3
2
2
2
2
2
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
1
4
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
1
0
1
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
1
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
1
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
2
2
2
2
1
1
5
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
1
1
1
1
1
5
4
1
1
1
7
1
3
0
0
0
0
0
0
0
3
1
0
1
0
0
1
0
0
0
2
0
0
0
0
1
0
0
0
1
2
1
1
1
2
2
2
1
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
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
1
3
5
4
12
12
12
12
12
12
12
13
12
10
11
10
10
10
11
10
10
10
10
10
10
10
10
10
9
9
9
10
9
9
9
11
9
9
9
9
9
9
9
9
9
9
10
13
10
11
9
9
9
10
11
10
10
10
10
9
10
12
10
10
10
10
10
9
9
9
9
10
10
9
9
9
9
9
10
9
10
10
9
9
9
10
9
9
9
9
9
9
9
9
9
9
10
10
11
10
10
10
9
9
9
9
9
9
11
9
10
10
10
10
10
10
11
10
10
11
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
10
9
9
9
9
9
10
9
9
9
10
10
10
10
10
10
10
10
10
9
10
14
9
9
10
9
9
10
11
18
10
10
10
12
11
11
23
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
10
10
10
9
10
9
9
9
9
9
13
9
9
107
0
11
0
0
0
2
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
11
0
0
0
1
0
0
0
0
0
0
0
2
0
1
1
1
1
4
1
16
1
2
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
4
7
3
2
2
3
1
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
1
1
1
1
1
1
2
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
4
4
3
3
3
3
3
10
4
4
3
3
3
3
3
4
6
3
3
2
2
2
3
4
5
6
5
6
8
9
9
8
8
8
9
7
7
7
6
7
6
6
6
6
6
6
6
6
4
4
4
4
4
4
4
4
4
4
4
4
4
3
4
4
4
4
6
4
4
4
5
5
3
3
4
4
4
5
4
3
3
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
3
3
3
3
3
2
2
2
7
3
3
3
3
3
3
3
3
3
4
4
3
3
3
3
4
3
3
3
2
2
2
3
3
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
5
2
2
2
2
2
1
1
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
1
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
1
0
0
4
1
1
1
1
2
2
3
2
2
2
4
2
3
2
2
2
2
1
1
2
1
1
1
2
2
1
0
1
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
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
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
1
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
5
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
2
0
1
0
1
1
1
1
0
0
15
0
0
0
0
0
1
0
1
0
0
0
2
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
0
0
2
0
0
0
1
3
2
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
8
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
2
0
0
6
0
0
0
0
0
1
1
0
0
0
0
0
0
2
0
0
0
0
0
1
0
1
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
2
0
0
0
0
0
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
5
1
1
1
1
2
1
1
0
0
2
0
0
2
0
1
2
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
9
0
1
0
3
0
0
0
0
0
1
0
0
0
0
0
1
0
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
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
10
0
0
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
3
1
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
0
23
0
2
0
0
1
1
1
1
1090
1
1
1
1
1
1
3
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
0
20
0
0
0
1
0
0
0
0
0
1
1
2
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
4
0
0
1
12
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
2
0
0
9
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
0
2
0
0
0
0
0
20
0
0
0
0
7
0
1
0
1
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
16
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
2
0
0
0
0
0
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
2
1
1
1
1
1
2
3
1
0
0
0
1
6
0
0
0
0
0
1
14
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
2
1
1
1
1
1
1
1
1
4
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
1
8
1
1
1
1
2
2
2
2
2
2
1
1
2
1
2
2
1
1
1
1
1
2
2
2
4
2
2
2
2
2
1
1
2
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
0
1
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
2
2
2
1
1
1
1
1
1
2
1
1
0
0
1
0
0
0
0
4
1
0
3
0
1
0
0
1
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
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
0
0
14
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
2
2
0
0
0
1
0
12
1
0
3
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
112
1
1
5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1
2
1
1
1
3
1
1
1
1
1
0
0
0
0
0
0
0
0
0
3
0
0
2
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
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
4
0
0
0
0
2
0
0
2
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
1
0
0
0
0
0
0
0
0
2
5
0
0
1
1
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
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
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
0
0
0
0
1
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
1
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
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
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
0
0
0
0
0
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
3
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
0
0
1
0
0
1
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
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
4
0
1
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
3
0
0
0
0
0
0
0
1
0
0
0
2
0
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
9
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
1
0
0
0
0
0
0
1
0
5
0
0
9
1
1
1
1
0
1
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
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
17
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
3
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
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
0
2
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
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
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
1
0
0
0
0
0
0
0
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
1
1
1
0
0
1
1
1
1
0
1
1
2
2
1
2
2
1
1
1
2
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
3
2
1
0
0
1
1
2
1
1
0
1
1
0
0
2
2
6
12
12
12
12
12
13
6
55
4
4
4
4
4
14
5
6
5
6
5
5
4
4
4
4
4
4
4
4
5
5
5
4
5
5
5
5
6
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
5
4
5
5
4
4
4
4
4
5
4
6
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
4
3
3
3
3
4
4
3
3
3
3
4
7
5
5
5
3
3
3
4
4
5
6
6
10
7
8
6
6
7
7
6
6
8
8
15
15
14
10
8
10
8
8
6
9
8
7
7
8
7
7
7
6
6
7
7
7
6
6
42
10
12
12
11
11
13
13
11
12
12
13
16
14
15
12
12
11
11
11
9
8
9
8
8
9
8
9
8
8
11
11
14
12
13
27
13
12
11
11
13
15
14
14
15
15
15
14
14
15
13
16
15
14
14
14
16
14
15
15
14
15
14
16
15
16
16
16
16
15
15
10
13
3
3
3
2
2
2
2
2
4
2
1
2
0
0
1
0
0
1
34
0
1
1
1
1
0
0
0
0
0
1
0
2
0
0
2
1
1
1
2
0
1
2
1
2
1
1
1
1
1
2
1
4
5
4
3
3
4
2
4
2
2
2
3
3
3
2
1
1
1
1
1
0
0
1
0
0
0
4
5
0
0
0
0
0
3
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
0
1
0
0
0
0
0
0
0
0
45
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
1
2
1
0
0
0
0
1
17
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
2
0
0
0
0
0
0
0
0
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
4
0
1
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
1
0
1
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
1
0
0
2
0
0
0
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
3
4403
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
1
0
2
2
2
3
2
3
2
2
2
2
2
2
2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
6
0
0
1
0
4
0
0
0
0
0
0
0
2
0
1
2
2
2
4
2
2
2
2
3
1
1
1
2
2
2
2
2
2
3
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
3
3
3
3
5
3
3
2
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
4
2
2
2
1
1
1
1
1
2
2
4
3
1
1
4
1
1
1
1
1
3
1
1
1
1
1
22
1
1
1
1
2
1
2
1
1
1
1
1
1
1
1
1
10
1
1
1
1
1
14
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
1
2
1
1
1
2
2
1
2
1
1
1
1
1
1
1
1
1
1
64
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
890
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
3
1
2
1
1
1
1
1
2
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
2
1
1
2
1
2
2
2
2
1
1
1
1
1
1
1
1
1
3
2
1
1
1
2
2
2
1
1
1
7
2
2
2
2
2
2
2
2
2
3
2
3
2
2
2
2
1
1
1
1
3
2
1
1
1
1
1
1
2
2
1
1
1
1
11
1
1
1
1
1
1
1
1
1
1
1
1
14
1
1
1
1
1
3
1
1
1
1
1
5
2
1
2
1
2
1
1
1
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
2
1
1
1
1
2
2
2
2
2
1
2
2
2
4
3
1
2
2
3
2
1
2
2
3
2
2
4
2
1
2
4
2
1
5
2
4
2
2
2
3
3
3
3
1
1
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
1
1
0
0
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
2
2
1
1
2
2
1
2
2
2
2
2
2
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
2
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
4
3
3
5
7
5
5
5
5
5
3
3
14
3
4
3
3
3
3
2
2
2
2
2
1
1
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
1
0
0
1
0
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
1
1
1
4
1
1
7
1
1
1
1
1
3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
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
6
0
0
2
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
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
4
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
31
0
0
2
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
1
0
0
0
2
0
0
0
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
1
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
1
0
0
0
0
0
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
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
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
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
18
0
0
4
0
0
0
0
0
1
0
3
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
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
3
0
1
0
0
0
0
5
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
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
1
0
0
0
0
0
0
1
0
0
0
0
0
12
2
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
0
0
0
0
0
0
12
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
2
0
0
0
0
0
2
0
0
2
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
2
0
0
0
0
0
1
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
8
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
1
1
1
1
1
1
1
2
2
3
4
4
6
6
6
6
8
6
6
6
6
6
6
10
6
6
6
6
6
7
6
6
6
6
6
6
6
6
6
6
6
6
7
9
6
10
6
6
6
6
6
6
6
6
7
6
6
6
6
7
6
6
7
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
10
7
7
7
7
7
7
7
6
7
6
6
7
7
7
7
7
7
7
7
7
7
7
6
7
6
6
7
7
7
7
7
6
7
6
7
7
7
7
7
7
9
8
7
7
7
8
8
8
7
7
8
8
8
8
8
11
7
7
7
7
8
8
10
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
8
8
8
13
7
7
7
7
7
7
7
8
9
7
8
7
10
7
7
8
8
7
7
8
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
7
8
7
7
7
7
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
7
7
7
7
7
7
7
7
7
8
7
7
8
7
7
7
7
7
7
7
7
7
7
7
9
7
7
8
7
7
7
7
7
9
7
7
7
6
6
6
6
6
2
2
2
15
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
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
0
0
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
1
0
0
0
3
1
0
0
0
2
3
1
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
0
4
0
0
1
0
1
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
3
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
0
0
0
2
0
0
2
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
2
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
1
0
0
4
10
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
2
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
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
314
0
1
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
4
0
0
0
0
0
0
2
0
1
0
0
0
1
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
4
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
2
1
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
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
2
0
0
2
0
0
0
1
1
1
0
0
0
1
1
0
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
10
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
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
16
7
7
7
7
8
7
7
7
7
7
7
7
7
7
7
7
7
7
10
7
7
7
14
14
14
14
14
14
14
14
16
14
14
15
14
14
14
15
14
14
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
16
14
13
13
13
13
13
13
13
13
13
14
13
13
13
13
13
14
13
13
13
13
13
13
21
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
15
13
14
15
13
14
13
13
14
13
13
13
13
13
13
15
13
15
13
13
15
13
13
15
13
13
14
13
13
13
13
13
15
13
38
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
15
16
14
14
14
14
14
15
14
13
13
13
15
13
13
13
13
13
13
13
13
13
13
13
13
15
678
13
13
11
10
10
9
9
9
9
9
9
9
9
9
10
9
9
9
14
9
9
9
9
9
7
7
7
7
6
6
11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
10
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
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
1
0
0
0
0
0
0
0
680
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
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
0
0
3
1
0
0
0
11
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
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
1
1
1
1
1
1
690
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
3
2
1
1
1
1
1
1
7
1
1
2
2
1
1
1
1
1
1
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
1
0
3
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
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
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
1
0
0
3
0
0
0
0
0
2
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
1
1
1
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
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
2
1
1
1
2
9
1
1
2
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
2
3
2
1
1
1
1
4
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
2
1
2
1
1
2
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
1
0
0
3
0
5
0
0
1
1
1
1
1
0
1
0
0
0
3
0
0
1
6
6
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
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
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
3
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
5
9
0
0
0
9
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
1
2
2
2
2
2
2
2
5
1
2
2
1
1
2
1
1
4
1
1
1
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
2
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
63
0
0
0
1
1
1
0
4
1
0
0
0
0
0
0
0
0
0
0
17
2
0
0
0
0
1
0
0
1
0
0
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
15
2
1
1
1
1
1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
2
4
1
1
1
1
1
2
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
156
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
2
1
1
0
1
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
0
0
0
1
1
2
2
2
2
3
2
2
2
3
2
4
2
2
3
4
2
2
2
3
3
3
3
3
3
3
5
3
89
2
2
3
2
3
2
2
2
2
2
3
3
3
1
0
0
0
0
2
2
0
0
0
0
1
0
0
0
1
0
0
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
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
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
1
1
1
1
3
4
1
1
0
0
1
0
1
1
1
1
3
1
1
2
1
4
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
0
0
0
21
0
1
0
0
1
0
0
0
0
0
1
2
1
1
1
2
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
1
1
1
1
2
2
2
3
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
5
3
2
2
2
2
4
4
4
4
6
4
2
7
8
7
7
7
8
8
8
8
8
11
13
14
21
27
106
107
212
224
227
224
227
239
240
235
236
238
238
236
239
238
243
244
235
233
240
235
233
229
229
223
226
235
230
225
229
227
227
234
242
242
238
236
254
241
231
231
233
226
227
243
236
238
231
232
232
235
238
250
234
233
247
260
251
253
262
256
258
259
259
269
266
277
277
274
281
278
283
282
274
277
276
261
282
269
268
267
267
259
272
260
269
270
263
259
261
264
268
270
271
269
269
260
256
252
269
250
269
273
265
265
272
273
287
273
272
279
266
268
281
273
274
278
280
278
275
269
275
275
275
280
276
280
278
288
283
279
267
261
263
267
262
278
266
273
273
286
281
278
283
279
278
275
284
275
275
274
282
271
268
268
280
275
281
272
273
274
273
285
255
270
261
259
258
254
254
266
260
272
266
282
280
277
279
270
285
271
269
272
267
277
275
270
287
282
273
277
273
332
276
262
264
263
254
258
256
262
260
264
255
262
273
277
272
272
280
276
273
278
277
271
273
283
299
284
282
284
290
278
284
285
288
303
293
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
213
217
211
216
214
214
218
220
179
186
178
183
185
186
192
179
181
179
180
178
183
180
182
182
181
187
175
178
177
176
180
179
178
179
172
163
166
163
166
163
164
162
162
164
159
167
162
161
165
161
161
162
162
164
164
164
170
165
162
165
161
163
164
160
165
160
158
159
158
156
158
154
151
152
148
147
152
149
153
163
157
161
162
163
155
157
152
150
150
151
151
151
153
150
153
145
145
146
147
148
150
148
150
145
145
146
186
144
145
152
155
152
150
155
151
152
153
152
152
150
147
145
143
141
138
138
138
141
143
147
150
146
153
150
151
149
147
146
145
145
148
148
144
144
143
142
141
144
141
143
144
143
142
144
145
144
141
141
139
137
138
139
137
139
137
138
139
141
144
122
123
126
125
124
124
127
124
121
124
122
124
124
121
122
121
127
127
129
128
129
124
127
124
121
123
120
118
117
117
117
117
117
119
120
116
119
119
120
122
122
125
118
121
118
117
120
117
120
117
121
118
116
124
122
124
123
124
122
119
120
121
121
118
115
116
112
115
113
112
109
114
108
110
114
111
109
110
105
106
102
100
98
98
100
100
103
103
103
104
104
104
166
107
104
106
104
106
139
138
135
149
145
148
70
71
64
62
60
59
58
56
54
51
47
51
45
46
46
44
44
44
45
46
46
46
45
44
44
46
44
44
45
47
46
44
45
48
45
44
44
44
46
46
45
46
45
46
51
45
45
44
44
44
44
43
45
44
44
43
43
44
44
43
45
46
46
47
47
47
48
48
48
48
49
50
50
52
53
52
51
52
59
60
60
62
62
63
77
79
77
80
80
82
81
81
81
81
80
80
79
80
79
78
80
78
79
80
80
78
79
81
81
83
86
85
85
86
83
84
83
84
84
83
82
83
84
82
82
81
80
80
81
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
30
30
30
30
31
30
32
32
33
32
32
31
32
34
31
32
33
34
34
33
34
34
34
35
36
34
35
36
35
35
36
37
38
36
35
36
37
36
36
35
36
36
35
36
36
35
35
37
34
35
35
35
24
23
22
23
22
26
25
17
8
7
9
7
6
6
6
6
6
5
6
6
5
5
6
5
13
10
11
8
9
9
8
7
8
7
9
7
8
8
8
8
8
8
9
8
8
9
8
7
9
9
9
9
8
8
8
7
8
8
8
7
7
7
6
6
6
6
7
7
7
6
6
6
6
6
6
5
5
5
5
5
10
5
7
4
4
3
4
3
3
3
3
3
3
3
3
5
6
4
3
4
4
4
4
4
4
57
4
9
4
6
5
4
4
4
4
4
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
5
5
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
4
6
3
3
3
3
3
3
2
2
2
2
2
2
3
3
2
4
2
2
2
2
2
3
4
3
3
3
2
2
3
2
3
4
2
2
2
2
2
2
2
2
2
2
2
2
4
2
2
2
2
2
4
2
2
2
2
6
2
2
2
2
2
3
3
2
2
2
2
2
2
3
3
5
3
3
3
3
3
2
2
2
2
3
2
2
2
3
2
3
5
2
2
2
11
2
2
2
2
2
2
2
2
2
2
3
5
2
2
34
3
2
3
4
2
2
6
2
2
2
6
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
4
3
3
4
3
3
4
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
6
0
1
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
1
2
2
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
6
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
3
2
2
2
2
2
1
2
1
1
1
1
0
0
1
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
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
4
0
0
0
0
0
0
0
0
0
0
0
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
3
1
1
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
3
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
2
1
1
1
1
1
1
1
3
2
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
1
1
1
1
1
1
1
12
1
2
1
2
2
5
5
5
15
6
7
5
5
10
6
6
6
6
6
6
8
7
6
6
9
14
14
15
14
15
14
15
10
10
10
11
11
11
12
11
11
11
11
12
11
11
11
12
12
11
11
13
15
15
14
14
14
16
14
14
13
14
14
15
15
14
26
13
13
14
14
14
15
15
15
16
16
16
16
16
16
15
16
15
15
15
15
16
14
13
13
13
13
13
13
13
13
14
13
14
13
13
13
14
21
15
15
16
16
14
14
14
14
14
14
14
14
22
14
14
15
15
15
15
14
19
16
16
16
17
17
16
15
14
14
13
13
12
12
12
12
12
13
13
15
13
12
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
13
12
11
13
13
15
11
10
10
9
9
9
9
9
9
10
6
6
8
7
7
7
7
8
7
6
6
7
7
6
6
6
6
6
6
6
6
6
6
7
7
8
6
6
6
6
5
5
5
6
7
7
5
5
5
5
6
7
9
7
8
9
9
8
5
5
5
5
6
5
5
5
4
5
6
5
5
5
5
6
5
5
5
6
6
7
6
7
7
7
7
7
7
7
7
7
7
6
6
7
7
8
9
10
10
10
10
11
14
12
14
13
14
14
13
14
15
13
13
14
14
13
12
13
12
13
13
12
12
11
12
11
9
9
10
10
11
11
19
18
19
22
22
22
22
21
25
26
62
62
62
64
59
59
58
59
57
61
57
58
61
64
60
58
60
62
62
61
63
61
60
61
61
61
63
62
62
62
62
65
63
62
62
62
63
63
62
60
62
60
59
60
61
57
59
55
56
55
52
53
53
53
53
54
54
55
53
54
52
53
52
54
52
51
51
50
50
56
53
51
50
51
50
52
51
54
54
49
53
59
59
61
59
61
61
60
59
59
62
60
60
61
57
58
56
56
58
54
55
57
53
49
48
50
51
48
48
48
51
47
47
46
44
43
45
47
45
44
43
44
45
45
46
45
89
42
40
39
41
41
41
39
38
54
40
40
41
41
40
45
36
35
34
29
31
30
29
27
27
28
28
28
33
32
30
28
29
29
27
27
28
27
27
32
26
28
28
29
29
28
28
34
28
30
30
27
32
29
28
28
28
27
27
27
30
28
30
30
26
24
26
26
27
25
23
26
24
32
24
24
25
24
24
24
23
24
24
28
23
24
22
21
24
22
20
8
7
4
4
3
3
4
4
4
4
6
4
4
4
4
4
4
4
4
4
5
4
4
4
4
5
4
4
5
5
5
7
4
4
4
4
4
3
4
3
4
18
3
3
2
10
2
2
2
2
1
1
2
1
1
4
1
1
9
1
1
3
1
1
1
2
2
2
1
1
2
3
2
1
1
1
6
3
2
3
2
2
2
2
2
3
3
5
3
6
14
13
13
13
13
13
14
13
11
3
2
5
2
1
2
1
4
2
5
1
2
1
5
1
1
1
1
0
0
0
2
0
0
3
0
0
0
1
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
0
0
0
1
0
0
1
0
4
0
0
0
2
0
0
0
0
0
0
1
0
3
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
4
3
2
2
2
1
1
1
1
1
1
1
1
1
2
0
0
0
3
2
0
0
0
0
0
2
1
1
4
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
2
2
3
3
4
4
3
3
3
4
4
4
6
8
6
6
6
6
6
6
6
6
6
8
8
7
7
7
7
7
6
6
5
5
5
14
6
8
7
6
4
7
5
5
4
4
4
4
8
8
4
4
6
7
7
5
9
5
7
7
7
5
4
5
3
3
5
4
5
5
6
4
4
4
4
5
3
3
3
2
2
5
2
2
0
0
1
1
1
1
1
2
4
8
5
5
4
2
2
2
4
6
6
7
6
6
7
7
7
7
7
7
8
8
7
7
7
7
7
6
6
6
6
5
5
5
5
5
5
5
5
5
5
4
4
4
4
5
5
4
4
4
5
4
4
4
4
4
4
7
4
4
4
4
7
4
5
7
9
9
8
7
6
7
7
11
8
8
8
8
7
8
7
9
16
16
15
17
15
15
15
20
14
14
13
13
14
12
12
13
13
13
14
12
12
13
12
14
15
15
15
17
16
15
15
16
15
16
16
15
15
16
16
14
14
14
14
15
15
16
17
18
18
16
18
18
18
17
16
13
13
12
13
12
8
7
7
8
9
8
8
9
7
8
7
7
7
6
5
7
6
9
7
7
7
7
8
7
7
8
8
8
6
7
7
8
10
8
8
9
6
7
8
10
9
10
8
8
7
6
8
7
8
7
4
9
9
3
2
3
3
3
3
3
4
5
4
3
2
2
1
1
1
2
2
1
2
1
1
2
2
1
2
1
2
1
2
1
1
2
1
1
1
1
1
2
1
2
2
2
3
4
3
4
4
5
5
4
13
4
1
2
2
1
1
1
1
1
3
1
2
2
1
1
1
1
2
1
1
2
2
2
2
2
4
2
2
2
2
2
3
2
2
3
3
3
4
3
3
3
3
4
5
6
14
7
20
25
21
18
19
26
31
29
35
44
58
48
49
55
130
236
297
337
322
322
316
316
303
306
305
299
303
294
294
312
298
293
287
294
297
300
304
301
305
302
301
311
298
295
293
295
290
286
304
303
312
300
299
297
294
310
298
303
297
318
310
315
307
317
322
323
319
322
338
326
333
324
332
333
332
345
338
331
342
352
338
335
337
340
350
353
348
360
342
342
326
326
325
324
333
332
335
338
330
292
292
294
299
290
292
291
299
299
321
319
308
318
312
316
332
335
325
326
340
368
365
364
371
353
354
351
349
347
351
353
352
353
350
346
350
348
352
354
353
352
350
347
346
347
341
341
345
344
346
348
343
353
345
347
344
346
339
335
335
328
330
336
332
389
332
320
332
335
347
348
350
351
352
347
347
341
343
340
335
338
345
333
338
343
351
349
341
352
345
350
355
339
356
347
340
343
337
358
329
70
72
67
50
49
47
46
45
44
41
37
36
35
38
36
37
36
37
35
28
30
29
30
30
28
24
23
23
25
23
23
23
20
19
19
19
18
18
18
17
16
16
16
16
17
16
17
17
16
16
18
14
14
12
13
13
13
12
14
14
13
12
14
12
12
12
13
13
16
14
13
14
14
14
14
14
14
14
14
14
14
13
20
14
13
12
11
11
12
10
10
10
11
10
11
12
12
11
10
10
12
11
11
11
12
12
12
13
14
15
15
16
15
16
17
16
17
17
17
17
17
18
18
16
17
13
15
15
15
14
14
14
13
15
15
15
15
26
13
14
14
14
11
11
14
14
14
17
15
13
15
16
15
15
16
14
15
11
11
12
13
13
15
15
14
12
11
12
12
13
13
15
13
12
10
11
10
10
10
10
11
12
12
13
14
12
12
11
11
11
11
11
11
11
12
12
11
11
12
12
12
12
12
13
13
14
13
13
12
12
12
11
13
14
13
13
13
13
13
12
12
18
17
17
17
17
17
18
16
18
18
17
17
17
16
17
16
15
17
17
16
15
13
15
14
15
15
15
14
14
15
14
16
16
15
15
15
14
15
17
17
16
16
17
17
16
17
17
18
17
17
17
17
17
17
16
16
15
26
17
17
14
5
5
6
4
4
5
4
3
3
3
4
3
3
3
3
3
3
3
3
3
4
3
2
3
1
4
1
1
2
2
1
1
1
1
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
3
1
1
9
12
9
10
10
10
11
9
9
9
8
8
9
10
11
9
10
9
15
25
29
32
30
30
32
33
34
30
32
31
30
30
32
30
31
31
31
32
31
31
33
30
29
29
33
30
34
32
32
29
30
30
28
32
36
32
30
29
29
28
26
26
25
27
25
27
25
25
25
26
27
25
26
33
25
25
26
34
35
29
27
29
25
25
25
24
26
27
24
23
23
23
24
25
24
25
24
25
26
25
25
25
25
26
26
26
35
27
26
25
36
25
26
26
25
26
27
28
30
26
25
29
28
27
26
28
26
26
28
25
27
27
45
26
28
28
26
27
25
30
27
25
26
26
25
26
25
25
27
27
27
30
29
28
29
32
30
38
30
30
33
33
33
32
34
32
32
32
31
32
34
35
40
38
37
39
35
35
32
33
32
32
34
31
33
32
32
33
33
33
34
35
36
36
41
34
35
36
36
38
36
37
34
38
37
35
37
38
53
40
42
39
38
38
37
39
36
36
39
40
41
42
42
42
42
41
52
42
38
39
40
42
42
44
45
43
46
46
48
46
46
47
50
46
44
28
26
26
30
25
24
24
13
15
16
15
14
14
14
16
17
15
15
16
16
14
55
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
1
1
2
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
1
0
0
0
0
0
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
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
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
2
1
1
2
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
3
0
0
0
0
0
0
0
1
0
4429
0
2
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
19
2
0
0
2
0
0
1
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
8
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
2
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
1
1
16
0
0
1
0
0
7
0
0
0
1
0
2
1
0
0
0
1
2
0
1
0
0
2
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
2
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
1
0
0
0
2
0
0
5
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
2
0
0
0
0
21
0
2
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
2
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
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
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
1
2
1
11
2
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
2
4
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
2
1
1
2
2
2
2
3
2
2
2
3
2
2
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
2
3
3
4
3
3
43
3
3
3
3
10
3
3
3
3
3
3
3
4
3
3
3
3
22
3
3
3
3
4
3
3
3
3
5
5
6
6
6
6
6
6
7
6
7
6
6
6
6
6
6
6
5
5
5
4
3
3
3
3
5
6
5
6
7
3
4
3
3
4
3
3
3
5
4
3
2
2
2
3
3
3
2
2
2
2
2
3
2
2
2
3
2
2
1
1
1
1
1
2
5
1
1
2
1
1
1
1
1
1
1
82
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
1
28
1
1
1
1
1
1
1
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
1
6
1
0
0
6
0
0
0
0
1
1
1
2
1
3
3
3
3
4
4
4
4
6
3
3
3
7
3
3
3
3
3
3
3
3
5
3
3
5
3
3
3
3
3
3
4
3
3
3
3
3
3
3
3
3
3
3
5
3
3
4
3
3
3
3
3
3
3
3
4
4
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
6
4
4
4
4
4
4
4
4
5
4
4
8
5
4
4
13
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
4
4
4
4
4
4
4
4
4
5
4
3
3
4
3
3
3
3
4
3
3
3
5
3
2
2
3
3
2
2
2
3
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
0
0
0
0
0
1
0
0
0
0
0
3
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
0
0
0
0
1
1
0
0
0
0
0
1
0
0
1
32
0
3
0
2
0
3
0
1
0
7
0
1
3
2
2
0
0
0
0
0
22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
3
2
3
3
3
3
2
2
1
1
2
1
1
1
1
0
2
3
3
3
3
0
0
2
4
2
2
2
2
2
2
2
3
3
2
2
2
2
2
2
3
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
4
3
4
2
2
2
2
2
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
2
2
2
2
2
2
2
1
1
3
3
5
2
2
3
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
20
1
1
1
1
1
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
82
0
0
0
0
0
1
0
0
0
0
0
0
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
2
1
1
0
3
1
0
0
0
0
0
0
0
0
1
0
2
0
0
0
2
0
0
0
1
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
1
0
0
0
0
2
5
1
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
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
1
1
0
0
2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
44
0
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
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
3
1
1
1
1
1
1
2
2
2
5
2
5
1
1
1
3
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
3
1
1
2
2
0
2
1
1
3
1
2
1
3
1
2
1
2
1
1
2
3
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
3
1
1
1
1
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
2
1
1
1
1
2
1
1
2
2
1
1
1
1
2
2
1
1
1
3
1
1
1
3
2
1
1
2
1
1
1
2
2
3
3
3
2
2
2
2
2
2
2
6
2
4
3
2
1
1
7
1
1
3
3
2
1
1
1
1
1
1
2
1
3
1
1
1
2
2
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
6
1
0
1
0
1
0
0
0
0
0
0
0
0
1
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
1
0
2
0
0
0
0
4
0
0
1
0
0
0
0
0
2
0
0
0
0
0
2
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
2
1
1
3
0
4
5
0
0
0
0
0
0
0
0
0
55
0
1
0
1
0
1
0
0
0
0
0
0
1
1
1
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
2
1
1
1
1
1
1
2
2
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
1
2
1
5
1
1
1
1
2
2
1
1
1
1
105
1
1
1
24
1
1
1
2
1
1
1
1
1
1
1
1
2
2
2
6
2
2
3
2
2
3
2
2
3
3
4
3
2
2
3
2
2
2
3
4
2
6
2
6
2
2
3
2
2
2
4
2
3
5
2
26
2
3
2
2
2
2
2
3
13
2
3
2
2
2
23
2
2
2
2
4
3
3
5
4
4
5
4
4
4
4
4
4
4
5
3
7
2
7
2
2
2
2
10
3
3
3
2
2
7
2
2
3
2
4
3
3
2
2
2
2
3
2
3
4
2
2
15
5
3
5
2
2
2
4
1
1
1
1710
1
1
1
1
1
1
1
1
17
1
1
6
1
1
1
2
2
1
1
1
2
1
1
6
10
1
1
1
2
16
2
3
2
2
3
3
2
1
1
3
1
1
4
1
1
1
1
1
1
1
2
2
1
0
1
0
0
0
0
0
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
6
5
5
5
5
5
5
6
11
5
5
9
6
5
5
5
5
5
6
5
6
5
47
5
6
8
6
5
5
5
5
6
6
6
5
5
5
5
7
5
8
59
5
9
7
6
9
7
7
8
7
7
7
7
7
8
8
9
7
7
7
7
8
11
10
10
10
11
10
10
8
8
9
10
8
8
7
8
8
7
7
8
7
7
10
7
7
7
7
7
8
8
7
9
8
8
8
7
6
6
7
7
7
6
6
7
8
7
6
7
5
5
5
5
5
6
6
6
7
9
14
8
8
8
9
10
10
10
12
10
10
9
9
9
9
12
9
11
14
9
10
9
9
10
14
8
10
9
9
9
11
13
9
10
9
9
9
8
8
8
10
9
9
12
10
9
9
9
9
9
9
10
9
10
10
12
10
9
9
9
11
11
11
10
12
11
11
11
10
11
10
10
10
10
9
9
9
13
9
9
10
10
9
10
10
10
12
11
14
10
11
10
10
10
10
12
11
10
11
11
11
10
10
10
10
9
11
11
9
11
10
12
11
11
11
11
10
10
11
10
9
9
9
10
9
9
9
9
9
9
9
9
10
9
9
9
9
13
8
9
8
6
7
7
6
6
6
6
6
17
6
6
7
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
2
2
2
1
11
1
0
1
1
1
1
1
0
1
1
27
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
2
0
0
0
102
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
1
1
2
1
1
1
1
1
5
6
1
1
1
1
1
1
1
3
0
0
1
1
3
1
3
4
2
1
1
1
1
1
1
1
1
1
2
1
2
1
1
1
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
23
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
851
0
0
0
0
0
1
1
11
0
0
0
0
0
1
1
1
1
0
0
0
0
0
4
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
2
0
1
1
1
1
1
1
1
1
2
2
0
2
1
0
0
1
1
2
1
1
1
2
2
2
11
2
3
2
2
2
2
2
2
2
3
2
2
1
1
3
3
1
1
3
1
3
14
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
6
2
2
2
2
2
3
2
2
2
3
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
1
1
2
1
1
2
1
1
1
1
2
1
0
0
0
1
3
6
2
2
2
2
2
2
4
4
2
1
1
2
1
1
1
1
1
10
1
1
1
2
2
2
7
2
2
2
2
2
2
3
2
2
2
2
2
2
9
2
2
2
2
2
2
3
3
3
3
5
4
5
5
2
2
2
2
3
2
2
2
2
3
3
3
3
3
3
3
4
5
5
4
3
3
3
3
4
4
3
4
3
4
4
4
4
4
6
5
5
7
6
6
6
5
5
6
5
5
5
5
5
5
5
5
5
7
6
4
4
4
4
3
3
4
4
4
3
3
3
3
3
3
3
3
3
5
3
3
3
3
6
3
3
3
3
3
4
2
3
2
3
2
2
2
5
2
2
3
4
4
3
4
4
5
4
6
7
3
10
2
2
6
3
4
3
3
3
3
3
3
3
3
3
3
1
2
2
2
2
4
4
3
4
5
0
3
2
2
5
4
4
4
4
5
7
4
4
4
11
3
3
3
3
3
3
3
2
2
2
7
2
2
2
2
2
1
1
1
1
0
0
1
0
1
2
0
2
96
0
2
4
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
2
1
1
1
3
1
1
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
3
2
2
2
2
2
1
1
1
0
1
0
1
1
1
1
2
1
1
1
1
1
1
1
2
1
2
1
1
11
1
1
1
1
1
1
1
1
1
1
1
1
1
2
7
1
4
2
2
2
2
2
1
1
1
3
3
3
2
2
2
2
2
2
4
2
2
2
2
1
0
0
1
1
1
2
1
1
1
1
0
2
0
0
0
5
1
1
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
1
1
0
0
0
1
1
1
8
1
1
2
1
1
1
2
1
73
12
1
3
1
1
22
1
1
1
1
1
1
1
1
1
1
1
1
1
2
19
3
3
3
3
2
3
2
2
2
2
2
1
2
1
1
1
1
2
1
1
1
1
1
1
2
1
1
1
3
0
2
0
0
1
0
0
0
0
2
0
1
1
2
2
2
7
7
7
11
7
13
6
7
3
3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
19
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
4
0
0
6
0
0
1
1
1
1
1
1
2
3
1
1
1
1
1
1
0
0
0
0
0
2
1
1
1
1
1
1
1
0
0
0
2
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
2
0
0
0
0
1
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
1
0
1
1
0
0
0
0
0
2
2
3
2
2
2
2
2
2
2
2
13
2
3
2
2
2
2
3
2
3
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
3
2
243
2
2
2
1
1
1
1
1
1
3
1
1
4
1
1
1
1
1
1
1
1
1
0
2
1
1
1
2
1
1
1
1
0
0
0
0
1
1
1
1
3
2
2
3
2
4
2
2
2
2
2
3
2
2
2
1
1
0
0
0
0
0
0
2
0
0
0
1
1
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
4
2
1
2
2
1
1
1
1
0
0
0
0
0
0
1
8
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
5
1
1
1
2
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
2
1
5
4
2
1
1
2
3
3
5
1
1
0
1
4
2
0
0
1
0
0
0
0
2
0
0
1
1
0
0
0
1
0
0
2
0
1
0
2
3
0
2
0
0
0
0
0
0
2
2
2
2
2
2
1
1
1
1
1
1
2
1
7
3
4
2
1
2
2
2
1
2
2
5
5
5
5
6
4
5
5
5
15
5
4
4
4
4
3
3
5
3
3
3
4
4
4
4
3
3
19
3
3
4
3
4
8
8
8
8
8
6
6
6
6
7
6
5
5
4
5
5
5
5
6
6
6
6
14
4
5
6
9
6
6
5
7
6
6
8
4
4
4
4
4
4
4
4
5
5
4
4
5
5
3
3
3
3
3
3
1
1
1
1
2
2
1
3
1
1
1
1
2
2
2
1
1
1
1
2
1
1
1
6
2
35
0
0
0
0
0
2
0
0
1
0
0
0
1
2
1
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
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
4
0
0
1
0
0
1
6
5
3
3
2
2
3
4
4
5
4
5
19
7
12
24
24
23
23
26
22
18
18
19
20
20
19
22
21
26
21
21
23
24
23
22
24
24
24
24
28
28
29
28
31
31
35
32
30
28
28
29
27
26
27
28
28
27
29
29
27
28
26
27
31
28
30
29
29
28
29
28
29
29
28
31
28
28
26
27
32
27
31
29
28
30
30
32
29
30
32
28
27
27
27
28
29
30
30
33
37
31
34
33
33
36
35
36
37
35
34
33
36
35
32
32
33
36
33
33
33
33
75
36
33
32
33
33
33
32
34
35
35
34
34
35
35
35
30
29
29
30
28
29
30
29
29
29
33
28
27
28
27
27
27
27
53
31
30
26
27
27
26
28
28
32
44
33
33
32
31
33
31
32
31
38
30
30
31
34
31
30
31
32
31
34
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
32
31
28
29
29
31
29
29
30
28
41
26
27
27
28
28
28
29
30
29
26
27
27
27
27
28
29
29
34
28
28
28
28
28
29
29
29
28
27
27
26
24
24
25
0
25
24
24
26
24
17
15
7
7
6
6
7
5
4
4
3
3
3
7
2
6
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
1
1
0
3
0
0
0
0
0
0
0
0
1
0
0
0
1
2
1
0
1
0
0
0
0
0
0
1
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1052
0
0
0
0
0
0
1
0
2
0
0
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
2
1
1
10
1
1
1
1
1
1
4
1
1
2
1
1
1
1
1
1
1
1
2
2
2
2
3
2
2
2
4
3
2
3
8
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
16
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
3
0
0
0
0
3
0
0
1
0
3
69
0
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
1
1
0
4
1
0
0
0
0
2
30
0
2
0
0
1
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
4
1
0
1
0
3
2
0
1
3
9
0
3
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
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
1
0
0
0
0
0
2
0
0
1
0
0
0
1
1
0
0
0
0
0
0
3
2
1
1
1
1
1
1
3
1
0
0
0
0
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
4
0
0
4
0
3
0
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
2
0
1
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
3
13
0
0
0
0
0
1
0
0
6
2
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
5
0
103
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
