0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
15
0
0
3
2
0
2
2
0
0
0
0
0
5
4
0
0
0
0
7
3
0
3
0
1
0
0
0
0
4
2
0
0
1
1
0
0
1
3
8
0
3
0
0
0
0
0
0
0
2
2
0
1
0
9
0
0
0
2
0
0
1
1
6
2
0
0
5
0
1
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
4
0
2
3
0
2
0
0
2
1
0
0
6
0
5
0
1
7
2
2
0
0
0
3
4
7
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
2
0
0
7
6
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
11
12
4
19
0
7
5
0
9
0
7
3
18
1
3
9
9
2
12
5
0
4
0
0
2
8
7
2
15
0
0
10
9
2
7
4
3
0
7
0
0
11
6
0
7
9
2
4
10
3
5
18
0
11
2
0
0
13
0
0
0
5
10
0
3
0
14
0
9
0
3
0
12
1
1
13
10
3
2
9
1
2
0
2
0
0
2
18
0
0
10
5
2
2
3
0
1
0
0
5
0
1
3
10
9
3
4
3
10
0
15
13
0
12
1
5
12
5
1
0
9
0
5
0
9
11
2
2
2
0
1
16
9
14
3
0
9
13
0
0
0
7
0
1
0
4
22
4
0
0
0
5
0
6
5
8
5
5
16
11
0
2
3
0
1
0
1
0
0
0
0
1
0
0
9
1
1
0
0
0
3
3
6
18
2
2
16
23
7
26
2
11
14
2
19
3
22
9
25
5
11
14
14
15
20
15
8
6
1
1
3
14
12
10
18
0
3
19
15
6
11
8
7
4
10
1
1
16
15
6
9
20
20
10
15
7
7
26
21
19
12
6
5
21
8
3
1
17
12
7
9
13
24
10
13
3
15
7
15
5
6
21
24
12
12
13
4
9
3
0
7
4
7
24
7
5
15
10
11
5
9
2
5
3
2
11
4
4
4
19
10
16
16
7
16
13
22
25
3
24
2
9
17
10
4
17
13
1
11
6
16
22
9
8
6
6
6
23
15
20
10
4
15
17
2
6
17
12
5
7
2
6
21
12
4
8
8
10
7
10
9
16
6
10
25
15
19
7
5
2
9
5
16
15
14
2
7
4
2
2
16
3
6
9
15
3
8
10
9
20
7
5
19
29
10
28
8
13
20
3
19
7
27
15
24
11
14
19
15
23
22
20
13
10
2
4
10
24
17
13
22
9
8
27
17
7
17
13
12
5
18
0
2
18
18
9
16
21
25
14
18
13
8
32
24
21
16
23
8
25
13
4
7
22
16
11
13
24
27
14
18
8
19
11
17
10
10
26
27
17
15
18
5
21
10
3
16
9
14
27
12
14
18
14
14
11
11
3
6
13
2
14
5
10
6
25
15
17
20
12
22
14
26
32
8
29
8
14
22
11
2
22
20
1
24
12
19
25
13
13
7
20
14
30
18
22
14
10
19
20
5
14
21
16
9
19
8
8
22
13
7
18
11
23
8
13
10
23
7
10
26
19
21
11
9
8
16
10
18
18
21
4
10
6
5
7
19
11
11
14
18
10
11
25
12
25
13
13
25
35
17
31
19
17
22
14
26
30
30
21
31
18
25
25
19
32
25
23
15
19
7
11
15
27
23
25
35
16
12
30
21
9
21
18
16
16
19
14
8
22
19
18
23
25
26
21
23
17
16
36
27
35
28
25
17
30
14
10
10
23
23
18
20
26
34
20
21
20
25
14
23
16
17
29
29
19
22
24
12
25
18
7
22
15
19
27
16
14
21
22
21
16
17
11
17
19
9
19
19
16
13
31
20
26
28
26
26
18
39
33
13
31
17
19
27
21
21
25
23
5
29
17
26
29
18
16
12
21
17
38
27
23
19
15
23
27
11
23
24
24
15
26
11
14
21
23
14
26
20
24
11
19
13
29
21
24
33
26
22
20
14
12
22
16
27
22
27
26
18
21
6
13
24
18
18
19
26
11
15
26
15
28
19
21
27
37
20
33
31
30
21
19
27
33
34
21
34
21
28
28
28
36
29
27
21
23
16
17
17
29
23
27
38
19
14
36
26
13
28
23
20
21
21
21
15
32
27
22
30
28
34
23
28
23
26
39
32
36
30
28
22
31
21
15
17
26
28
22
28
31
37
22
26
21
25
23
32
27
20
32
32
24
26
27
26
35
23
17
24
20
24
27
25
22
26
21
25
21
27
17
27
24
15
21
27
20
20
34
22
33
30
28
25
24
42
35
23
35
22
23
33
28
23
23
26
13
38
24
28
28
23
20
19
25
21
40
37
31
23
15
28
34
17
29
27
31
24
28
18
18
27
31
24
24
19
25
16
25
25
29
20
25
37
29
30
22
19
15
26
22
26
29
31
31
25
24
14
20
27
21
23
23
32
17
16
29
21
32
22
24
29
41
31
34
32
32
25
26
25
36
36
24
36
25
31
36
30
41
34
28
26
28
20
22
26
36
29
30
39
20
23
40
29
17
30
27
24
27
26
31
24
33
32
26
34
32
34
31
33
27
36
42
35
39
34
31
28
32
26
20
21
33
32
25
32
35
37
23
30
30
28
33
34
35
26
36
35
33
31
31
32
37
33
19
28
23
26
30
28
24
31
27
27
31
31
25
30
27
20
22
34
29
27
39
32
40
35
35
29
27
43
40
25
38
23
27
33
33
27
31
29
15
39
28
35
31
30
23
29
26
26
43
43
33
26
20
31
36
22
41
31
35
28
35
22
26
31
35
24
30
31
31
21
34
26
30
20
31
40
32
33
25
25
22
33
21
30
31
33
34
33
28
17
25
30
25
32
26
35
21
21
34
26
36
25
25
33
44
35
37
38
35
29
33
30
40
40
32
41
30
35
41
33
39
35
34
32
31
30
27
33
39
32
44
42
27
23
40
31
36
34
33
31
31
33
33
28
33
37
30
38
34
38
31
34
34
39
43
39
38
33
33
29
39
30
29
27
34
38
34
37
42
41
25
36
31
32
39
41
38
29
41
41
37
33
29
37
36
36
22
33
26
33
34
32
30
31
28
29
32
32
28
34
32
22
24
36
32
31
41
34
41
37
37
34
33
44
43
32
39
25
30
35
38
38
40
35
21
45
33
37
36
37
29
31
33
32
42
45
39
31
25
33
41
25
45
40
39
29
37
37
32
35
37
30
45
33
34
24
36
33
34
26
34
43
35
37
27
31
27
35
26
35
36
37
35
41
30
24
30
33
28
35
32
39
23
26
37
32
37
31
30
36
44
38
38
39
37
32
38
35
40
44
34
44
31
36
44
39
40
37
35
35
36
32
33
35
43
34
46
44
28
39
41
34
35
36
42
32
36
34
34
33
37
40
32
41
39
43
36
38
43
41
46
44
40
38
39
29
39
32
29
27
38
42
37
39
47
44
31
40
35
38
41
43
39
30
42
41
41
35
33
40
38
38
31
39
28
35
36
34
31
31
36
33
37
36
30
35
33
27
26
38
36
35
44
37
42
41
38
37
40
45
44
36
43
29
34
35
40
38
40
34
25
45
36
38
39
39
32
36
35
38
41
48
45
34
30
36
44
31
45
43
40
30
39
43
36
35
39
33
50
33
38
31
37
39
38
30
34
45
39
41
33
35
32
40
30
36
37
38
39
43
34
27
31
36
32
38
36
42
26
30
40
35
41
37
33
42
46
44
40
42
42
36
40
36
45
46
35
39
34
37
43
44
44
39
35
36
41
34
38
39
44
35
45
48
29
39
45
34
41
37
44
35
38
40
43
32
38
42
37
43
42
42
43
42
49
44
50
42
43
44
40
34
44
31
34
33
44
44
39
42
49
47
35
41
39
44
45
45
43
32
44
43
42
38
35
43
41
41
40
44
31
40
41
34
39
36
37
41
39
37
35
38
43
28
32
39
37
39
46
39
43
42
43
44
43
48
45
40
44
34
41
39
43
40
44
40
30
45
39
41
40
39
34
39
40
45
44
50
44
39
32
37
47
36
48
43
42
35
41
49
38
38
44
34
51
38
42
33
39
42
39
31
42
47
41
46
34
38
35
41
34
42
37
40
43
46
36
30
34
39
34
40
40
38
34
36
39
40
43
41
35
45
47
46
43
49
42
37
43
39
47
48
38
41
36
40
46
44
44
39
39
41
45
38
40
42
48
40
50
48
31
43
49
39
42
42
50
34
43
43
45
35
43
44
41
44
43
45
46
46
49
45
51
44
47
45
42
37
46
36
38
36
45
48
42
43
50
50
36
40
44
44
46
47
48
37
44
46
46
43
38
46
44
46
42
45
38
44
42
38
42
38
42
43
43
39
40
43
43
33
35
43
39
41
50
42
44
43
44
42
45
49
46
42
47
38
43
43
46
40
48
39
30
47
43
42
45
40
36
42
41
44
44
49
45
42
38
39
49
40
47
48
45
39
45
50
41
39
48
38
51
42
43
36
40
44
41
34
43
51
42
48
39
42
40
45
37
42
42
45
44
52
37
32
39
42
40
43
42
42
37
39
44
42
43
43
39
46
47
49
45
51
43
42
45
43
50
51
43
45
39
45
49
47
47
41
41
44
48
41
42
46
52
43
51
50
36
47
50
43
43
41
50
39
46
46
46
38
44
48
45
47
44
48
49
49
47
48
52
50
48
47
42
42
47
39
38
39
46
48
42
48
53
52
39
44
50
45
49
48
50
45
47
45
49
44
40
46
48
47
46
47
36
47
41
46
43
41
46
47
45
41
42
45
46
38
35
44
42
44
49
46
46
45
44
45
46
52
49
45
48
39
45
43
48
43
49
41
31
51
43
46
45
41
39
46
42
46
43
54
46
45
39
43
54
41
54
51
46
47
47
50
43
43
50
42
51
45
46
38
45
51
47
37
49
53
50
49
42
45
44
49
44
45
41
44
50
51
43
33
40
44
43
44
42
41
42
45
46
45
47
47
41
51
49
51
46
53
46
43
48
45
50
53
45
47
41
49
50
46
52
44
44
45
50
48
44
48
54
45
50
54
38
47
51
44
47
43
53
40
49
47
53
42
46
49
47
49
45
49
53
51
50
50
54
50
50
49
46
44
49
41
42
41
48
48
47
50
58
54
42
45
52
47
50
50
51
49
49
51
51
48
44
49
50
51
48
48
38
48
45
50
46
41
46
50
47
44
45
46
50
40
38
45
43
48
53
49
49
46
47
48
53
55
51
49
50
45
47
46
50
44
50
48
35
54
44
50
44
42
43
49
44
49
49
56
51
47
41
44
53
44
55
51
50
49
47
53
44
43
49
45
55
48
46
40
46
52
48
39
48
53
54
51
45
47
47
50
46
49
42
47
52
51
46
39
44
47
43
47
43
42
44
46
47
49
49
51
43
51
54
54
47
58
49
47
50
47
49
55
51
48
43
50
53
50
52
47
50
50
52
49
48
52
55
48
53
55
40
49
55
44
45
49
53
45
50
51
54
48
52
51
49
53
51
53
53
53
52
52
60
52
52
52
50
48
53
44
43
47
50
52
52
51
60
56
46
48
53
50
50
55
54
52
50
51
55
48
47
50
51
52
49
54
42
49
42
53
52
46
47
51
50
47
51
45
50
42
46
47
46
50
56
53
52
48
51
51
55
57
50
53
54
47
58
50
52
46
54
50
39
57
47
55
51
46
48
54
48
54
48
57
53
49
46
45
56
51
58
52
56
51
49
57
46
49
52
48
56
50
48
43
50
53
52
43
51
55
55
54
45
51
50
53
46
52
43
48
54
54
48
39
49
51
49
50
46
46
49
48
52
50
51
52
46
56
53
54
51
57
52
50
53
48
54
58
51
52
45
51
54
52
56
50
49
53
53
52
53
53
56
52
55
55
47
52
58
49
46
50
60
48
50
52
54
49
54
53
53
55
56
54
53
54
52
54
61
53
53
53
50
49
55
43
45
50
51
54
53
53
62
56
48
50
53
53
52
57
58
53
51
53
55
51
47
51
53
53
51
53
45
54
46
51
53
47
51
52
52
51
53
46
51
44
47
47
51
51
56
55
55
51
52
52
54
57
55
55
55
48
58
54
53
47
54
53
42
60
47
56
52
44
47
54
52
50
50
59
55
51
51
46
58
50
58
52
57
52
50
56
47
52
53
51
58
52
51
46
52
54
53
44
52
57
56
56
47
54
50
56
49
54
45
47
56
59
51
42
49
51
52
53
49
51
50
51
53
54
54
54
51
58
54
56
53
59
54
50
55
50
54
59
53
52
49
51
54
52
57
51
54
57
55
53
54
54
56
54
59
55
48
55
59
49
52
52
60
50
55
54
56
52
56
54
56
56
56
56
56
58
54
55
62
56
54
52
51
51
56
44
49
53
53
54
55
56
65
56
50
51
54
53
51
57
59
54
54
53
55
52
49
53
53
53
56
55
45
55
47
54
54
47
53
54
53
51
57
51
55
47
52
51
56
52
58
55
57
53
54
54
55
59
56
59
58
51
59
54
56
50
57
55
53
61
51
56
54
46
52
54
52
51
50
60
60
51
52
48
58
53
60
52
58
61
51
60
52
53
53
52
56
56
53
51
53
55
56
49
56
59
58
56
48
54
52
59
52
55
48
51
56
62
52
51
53
55
52
53
53
51
51
52
56
56
55
57
54
58
56
58
55
59
54
51
57
55
57
60
55
56
50
54
55
53
59
54
56
58
57
54
54
56
60
56
59
56
51
56
61
55
53
52
61
52
58
55
58
53
59
58
59
59
58
55
58
59
54
56
62
56
58
53
53
54
59
47
52
56
54
57
58
57
67
57
53
52
59
57
53
57
63
57
54
53
57
56
51
55
55
57
56
57
47
56
46
57
56
51
59
57
54
55
56
56
56
50
54
54
58
54
59
60
59
54
55
55
58
60
57
60
58
53
61
54
61
51
60
57
53
61
54
59
56
48
53
58
55
52
53
61
62
54
54
51
59
55
60
55
62
62
55
61
54
54
55
54
59
59
53
55
54
59
57
54
56
61
59
58
50
58
56
59
53
58
52
54
61
62
53
53
54
56
54
54
55
53
57
53
56
57
58
57
56
60
58
61
56
59
55
52
60
57
58
60
59
58
50
59
56
55
59
55
57
58
58
60
57
57
61
56
61
60
54
59
65
55
54
52
61
53
59
57
58
57
60
60
59
60
60
58
59
61
55
58
65
57
61
55
55
57
60
48
57
56
54
57
59
59
66
59
53
54
61
55
55
56
63
58
55
58
60
57
50
57
60
59
58
61
49
57
49
56
60
55
60
59
55
55
58
56
58
52
54
55
60
58
61
61
60
56
55
59
61
62
59
62
60
53
63
58
64
53
60
58
54
61
59
60
59
49
55
59
56
55
55
62
59
56
57
51
59
57
61
58
62
61
56
61
55
57
57
56
61
59
55
56
55
60
57
56
59
62
61
57
54
61
59
61
53
60
54
53
61
65
54
53
57
58
59
57
56
54
59
53
60
58
60
58
58
61
58
61
60
63
56
54
61
59
56
61
58
59
51
61
55
57
62
58
58
58
61
60
58
61
62
56
58
60
54
58
66
56
55
55
63
54
59
58
58
58
61
61
63
60
62
58
59
61
58
61
67
57
62
55
57
55
62
53
55
56
54
59
60
59
66
61
52
56
64
54
55
60
62
59
57
57
60
59
50
59
60
59
60
61
51
60
51
59
61
57
61
59
58
57
61
56
60
54
56
57
60
60
62
61
62
59
58
61
62
63
61
63
60
54
62
58
64
56
62
61
57
62
59
62
59
54
57
60
59
56
57
62
61
57
57
52
59
59
63
60
62
63
58
64
56
61
58
59
61
59
56
57
56
60
59
57
60
63
61
57
57
61
61
64
54
60
57
56
62
67
56
54
57
59
60
60
57
55
61
54
61
61
61
59
61
62
59
62
61
63
60
54
64
58
56
61
59
60
51
63
58
58
64
60
62
60
62
61
59
62
64
58
60
60
56
61
68
59
57
55
61
56
62
60
60
59
62
63
64
61
64
61
60
63
59
63
68
60
62
54
58
60
63
56
57
61
58
60
63
62
68
61
54
58
65
55
57
63
63
62
58
61
61
61
54
60
62
59
62
62
53
63
54
62
61
60
63
61
60
59
62
58
61
56
59
58
62
61
63
63
62
61
60
61
65
65
63
65
65
58
64
60
66
56
63
62
55
63
61
63
62
55
58
63
60
58
57
65
65
60
59
54
61
61
68
61
62
67
62
64
57
62
59
60
60
61
60
57
58
62
62
59
60
64
63
59
59
63
65
66
56
62
58
55
63
67
57
57
58
62
62
62
60
55
61
54
61
61
60
61
61
64
62
64
61
64
63
56
66
60
56
62
61
61
54
64
60
58
65
62
64
62
62
61
60
63
66
59
63
62
57
63
70
59
58
59
64
56
66
60
61
60
64
63
64
62
64
62
63
62
59
66
70
62
65
55
60
60
65
57
59
62
59
61
63
63
69
60
57
61
65
56
59
62
64
61
59
61
63
62
54
62
64
60
63
64
55
63
56
63
61
61
64
62
62
59
63
59
62
57
60
59
62
62
64
63
63
62
61
61
67
66
63
65
65
59
67
62
68
57
63
63
58
64
62
66
63
55
60
64
61
59
59
65
66
61
61
56
61
61
69
62
64
67
62
66
60
64
60
60
68
63
62
58
59
61
62
60
60
66
64
62
59
65
66
67
58
62
60
58
65
65
60
59
59
65
63
62
61
57
63
56
64
62
62
63
63
66
62
64
62
67
64
60
67
60
59
63
60
62
54
65
61
62
64
63
65
64
63
63
60
63
66
60
65
62
59
67
72
63
59
60
64
59
67
61
62
61
68
63
67
64
66
65
64
63
64
67
72
62
63
56
64
62
65
58
59
64
60
63
66
62
69
63
58
63
68
57
58
65
65
66
61
62
64
63
54
63
66
63
63
66
59
65
58
64
62
61
64
63
63
60
65
62
64
56
62
60
62
62
65
67
63
62
65
63
68
67
64
64
65
58
66
62
69
58
65
64
58
68
64
66
66
58
61
67
64
61
61
70
69
61
62
56
63
63
69
63
65
68
62
67
61
68
61
61
68
64
61
61
61
64
64
63
60
68
67
64
60
67
69
68
59
63
62
58
64
68
59
60
59
65
65
62
62
59
65
59
65
63
63
62
63
67
64
64
62
68
65
62
70
59
60
63
60
61
54
65
63
61
67
63
65
65
67
66
62
65
66
63
63
66
62
68
72
64
61
62
64
57
68
61
63
61
68
65
68
66
68
64
64
63
64
67
73
61
67
55
66
64
69
61
61
67
62
64
66
65
71
67
60
64
70
60
60
64
66
65
62
65
63
67
54
63
68
64
66
66
59
66
60
63
63
61
65
64
64
61
66
62
64
60
63
60
63
64
68
66
65
62
67
66
69
69
67
68
67
60
69
64
71
60
64
65
62
68
65
67
66
59
62
68
64
62
64
70
69
62
63
59
63
63
69
65
68
71
64
67
63
66
63
63
69
64
63
62
64
64
66
63
65
69
69
65
63
68
71
68
58
65
63
60
68
68
62
59
62
67
65
64
63
61
66
60
66
65
65
65
65
69
64
66
65
69
66
65
71
62
60
66
63
63
55
66
64
62
67
64
67
67
68
67
65
65
68
66
67
66
64
68
73
66
62
63
68
59
70
62
64
63
68
68
68
68
70
66
66
62
65
67
73
63
67
57
66
67
71
61
62
69
63
67
68
65
72
68
60
65
70
62
62
66
67
66
62
66
62
69
55
63
70
67
68
69
62
67
62
65
66
61
66
65
64
63
67
63
64
61
64
63
65
65
67
68
65
65
67
68
70
69
67
70
66
63
68
64
72
62
67
67
60
69
67
70
68
60
63
71
65
62
66
73
71
62
64
60
64
66
69
67
68
70
65
70
63
67
63
64
70
65
65
65
66
67
67
65
66
71
70
68
64
69
71
69
60
67
65
61
67
69
64
61
65
68
67
66
63
65
66
62
66
67
65
69
67
70
66
68
66
71
66
65
73
62
63
67
63
64
58
68
65
64
70
65
66
70
69
68
69
65
69
65
68
69
65
69
75
68
62
64
71
59
70
63
65
63
68
69
68
68
70
67
68
64
67
69
73
64
70
61
69
67
70
61
62
70
63
66
68
68
74
70
62
67
71
63
63
68
70
66
64
66
64
70
58
63
72
67
68
71
62
68
61
68
68
64
68
65
65
66
71
66
65
63
66
65
67
67
70
70
68
65
69
70
69
70
67
71
67
63
69
65
72
64
69
69
62
72
69
72
68
65
65
73
68
62
67
74
71
63
65
61
63
68
71
69
70
70
67
68
68
69
66
66
70
68
66
65
67
68
68
68
67
73
72
69
65
71
71
70
62
67
65
65
68
70
67
62
68
71
69
68
66
64
66
61
68
68
68
70
69
70
70
69
67
72
67
67
74
65
64
68
63
66
62
68
67
65
70
68
67
69
71
68
70
67
71
66
68
69
67
69
77
68
65
65
70
59
73
63
68
66
68
69
71
69
72
68
68
63
68
69
74
67
70
64
71
69
72
62
63
72
64
69
69
69
73
70
65
70
72
66
64
69
69
68
65
68
64
71
58
67
73
70
70
72
65
68
65
69
70
65
69
67
67
68
70
68
66
65
69
65
70
68
70
70
69
66
71
70
70
71
69
71
69
63
69
68
74
64
70
70
63
73
69
72
69
66
69
72
69
62
68
76
71
65
68
63
63
67
73
71
72
72
68
68
68
68
70
68
70
69
68
66
69
70
68
68
68
74
70
68
65
73
74
71
64
68
66
66
69
74
68
66
69
71
70
69
70
64
69
62
70
68
71
70
70
73
71
69
69
72
70
67
75
65
63
68
67
67
63
70
69
66
70
70
69
71
74
68
71
70
73
69
68
69
67
71
79
70
67
65
75
61
73
64
69
68
69
71
72
70
71
71
69
63
68
70
76
69
71
65
72
70
73
62
65
73
66
69
71
69
76
70
67
70
73
65
67
70
70
69
65
70
64
73
58
68
73
71
71
75
65
68
65
71
71
67
69
69
68
69
71
69
67
64
69
65
70
70
70
71
70
68
72
70
72
73
70
72
72
65
71
69
74
64
69
72
63
74
72
72
70
66
70
72
72
63
69
76
72
69
68
66
66
69
73
71
72
72
69
68
71
71
70
70
72
70
68
68
69
71
69
70
68
75
71
69
67
74
76
74
64
69
69
66
70
74
70
67
70
73
72
69
70
67
70
65
72
70
72
72
72
73
71
71
68
72
71
68
76
66
64
71
65
69
65
71
71
68
72
70
69
72
75
68
73
71
73
70
69
71
67
71
79
73
68
68
75
63
75
67
71
68
70
69
72
72
73
72
70
65
70
72
77
70
73
65
73
71
73
65
67
73
69
71
71
71
75
73
68
72
75
65
66
72
72
70
67
72
66
73
61
69
75
74
73
75
65
70
65
71
71
69
70
69
68
71
73
71
68
67
69
66
70
70
71
73
70
69
73
69
72
73
71
76
73
67
70
70
74
65
71
74
63
74
73
74
72
69
71
73
74
63
69
79
74
71
69
67
67
70
74
71
72
72
70
72
71
71
73
70
72
71
69
70
69
71
70
71
71
75
71
70
69
75
77
75
66
70
71
69
72
75
69
69
72
74
71
72
72
67
69
65
73
71
72
73
72
76
72
70
71
73
72
70
77
69
66
72
68
70
66
71
72
68
74
72
69
73
77
70
73
73
76
72
72
72
69
72
79
74
68
69
75
64
77
67
72
70
70
68
72
72
74
71
71
66
70
72
78
71
74
66
73
71
73
66
67
73
70
70
75
71
75
72
69
72
76
67
68
72
71
71
70
74
67
73
63
71
75
74
73
76
67
70
67
72
73
71
70
71
68
74
74
71
68
68
71
67
71
70
74
72
70
69
75
72
74
75
73
77
73
68
70
70
76
67
71
75
66
74
74
75
72
70
71
74
74
63
70
80
74
73
70
67
68
71
74
73
73
74
72
71
74
73
73
70
76
73
71
71
72
72
70
71
72
75
73
70
72
77
78
76
68
71
72
70
73
75
70
69
72
77
73
73
73
69
70
65
0
0
24
23
2
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
26
10
0
0
27
1
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
23
0
0
2
0
22
24
0
0
0
0
24
24
0
0
0
0
7
0
0
0
0
0
15
28
9
0
0
0
8
0
0
0
0
15
0
0
0
0
10
0
0
2
0
0
0
0
0
27
0
24
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
24
0
0
23
14
0
0
0
0
0
10
0
0
0
26
27
0
0
0
0
24
0
0
0
24
0
0
0
0
24
26
0
27
24
0
0
14
7
0
0
10
0
26
0
0
27
0
0
0
0
0
0
0
0
0
2
0
0
24
0
0
0
27
0
0
0
0
0
0
19
0
20
28
40
26
9
8
0
0
36
42
1
19
1
40
62
0
40
0
30
0
0
35
16
0
1
51
5
0
50
31
2
0
49
0
0
25
0
0
0
0
0
45
24
1
3
15
45
38
32
0
9
7
0
52
29
0
0
0
44
55
38
0
6
0
32
58
55
45
0
19
0
11
0
0
30
0
40
0
37
0
0
25
0
0
31
5
24
17
0
0
18
0
32
39
0
0
29
0
0
44
0
29
0
44
2
20
14
16
0
0
11
0
1
0
0
28
0
31
35
53
0
0
0
0
42
13
18
0
0
35
38
2
0
34
2
28
0
0
0
51
0
0
0
22
54
38
2
44
48
16
44
31
15
1
22
14
1
35
1
0
38
2
0
44
0
0
0
0
0
19
31
0
23
30
32
2
0
32
0
0
0
25
0
0
34
1
27
50
64
35
16
32
0
0
53
42
6
26
38
60
62
6
59
0
31
0
0
57
10
0
53
57
32
18
66
31
31
0
56
0
29
50
1
19
20
35
46
46
33
11
20
54
45
61
55
2
49
45
22
56
47
1
0
32
56
57
62
40
8
0
36
60
61
51
7
31
0
36
0
11
26
0
47
38
40
0
17
60
0
2
35
8
55
54
28
19
25
1
41
38
1
9
57
41
18
61
19
27
34
51
3
24
21
33
34
1
39
12
1
18
26
38
37
55
50
59
15
24
29
3
46
20
53
24
8
35
38
42
0
36
5
35
23
0
0
60
22
14
0
29
59
40
11
55
49
16
43
40
15
27
32
17
1
36
45
0
39
24
1
42
27
0
2
40
1
22
37
0
60
42
61
2
42
60
17
2
0
59
30
11
59
42
56
55
69
57
50
35
1
39
69
52
14
59
39
65
63
26
67
0
40
7
32
74
52
0
55
62
54
53
79
58
46
1
58
1
59
70
48
26
54
45
49
60
67
14
41
55
57
61
55
20
52
54
29
75
49
31
30
38
65
72
63
53
22
6
36
62
64
59
9
47
0
37
26
20
33
43
70
41
62
0
40
62
0
21
36
18
64
55
38
19
53
35
65
52
40
14
67
47
43
61
46
29
47
54
25
40
41
54
54
47
51
13
1
37
29
53
36
65
54
65
30
25
45
6
58
38
55
27
7
60
39
44
14
60
5
42
21
6
39
58
29
51
6
59
68
48
39
61
69
19
52
39
36
31
44
32
13
42
51
41
65
26
33
44
39
33
18
44
3
33
44
18
61
40
66
2
43
60
54
13
0
59
45
12
77
42
0
0
28
37
12
0
0
0
3
0
0
0
0
0
25
0
0
0
0
0
0
39
10
0
0
23
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
37
0
0
12
0
22
37
0
0
0
0
38
35
0
0
0
3
11
0
0
0
0
0
19
32
18
0
0
0
16
0
0
0
0
19
0
0
0
0
18
0
0
12
0
0
0
0
0
23
0
35
0
0
0
0
0
0
0
0
0
0
12
3
0
0
1
0
0
0
0
0
0
0
35
0
0
28
19
0
0
0
0
0
10
3
0
0
39
34
0
0
0
0
35
0
0
0
35
0
0
0
0
35
39
0
34
35
0
0
19
11
0
0
18
0
39
0
0
23
0
0
0
0
0
0
0
0
0
12
0
0
28
0
0
0
23
0
0
0
0
0
0
25
0
25
33
42
38
14
13
1
0
41
40
1
22
1
43
70
0
48
0
33
0
0
47
14
0
3
53
8
0
53
30
3
0
61
0
0
30
0
0
0
0
0
45
37
1
8
20
44
31
43
0
13
11
1
62
40
0
0
0
49
59
46
0
13
0
36
62
69
51
0
25
0
18
0
0
34
0
44
2
41
0
0
30
0
0
36
9
29
24
0
0
22
1
42
39
0
0
32
0
0
46
0
32
0
48
7
26
20
20
0
0
15
0
1
0
0
37
0
34
41
57
0
1
0
0
51
17
23
0
0
47
42
5
0
47
2
36
0
0
0
61
0
0
0
29
63
51
5
50
59
20
40
36
22
0
35
20
2
48
0
0
37
1
0
46
0
0
0
0
0
24
36
0
25
34
43
8
0
26
0
0
0
39
0
0
36
3
30
57
75
46
23
36
1
0
59
38
10
31
50
66
71
10
67
0
37
0
0
63
15
0
56
56
37
23
73
33
35
0
66
0
43
55
5
23
24
40
50
47
43
14
24
56
47
69
66
2
59
53
26
64
56
0
0
44
61
60
73
46
13
0
40
68
73
57
11
36
0
42
0
17
36
0
52
39
44
0
21
69
0
5
40
13
60
65
42
21
25
1
49
44
1
13
62
43
21
64
24
31
39
57
10
34
27
36
33
6
42
15
1
21
40
47
38
58
55
64
18
30
32
6
55
23
59
31
12
47
45
46
1
48
8
43
30
0
0
70
36
18
2
33
70
50
15
58
62
21
41
45
22
36
43
23
2
49
47
0
37
29
0
45
38
0
1
46
1
28
41
0
66
45
76
8
52
69
22
1
0
68
35
15
71
49
0
0
36
55
29
0
0
0
19
0
0
0
0
0
28
0
0
0
0
0
0
57
13
0
0
28
6
0
3
0
6
0
0
0
0
0
0
6
0
0
0
0
56
0
0
29
0
25
57
0
0
0
0
59
53
0
0
0
15
20
0
0
0
0
0
26
42
32
0
0
0
23
0
0
0
0
26
0
0
0
0
27
0
0
29
0
0
0
0
0
28
0
48
0
0
0
0
0
0
0
0
0
0
6
19
0
0
7
0
0
0
0
0
0
0
45
0
0
35
25
0
0
0
0
0
13
19
0
0
57
44
0
0
0
5
45
0
0
0
53
0
0
0
0
45
57
0
44
45
0
0
25
20
0
0
27
0
57
0
0
28
0
0
0
0
0
0
0
0
0
29
0
0
36
0
0
0
28
0
0
0
0
0
0
30
0
30
46
48
55
26
18
5
0
51
40
1
30
1
48
81
0
54
0
41
0
0
62
20
0
9
56
16
0
57
32
6
0
76
0
0
36
1
7
0
0
0
48
58
1
14
31
46
36
62
0
18
23
6
80
54
0
0
0
57
62
62
0
17
0
41
67
83
61
0
32
0
24
0
0
45
0
47
11
45
0
0
37
0
0
43
14
34
30
0
0
30
0
54
37
0
0
37
1
1
51
0
39
0
59
17
38
27
26
0
0
19
1
0
0
0
48
0
39
47
62
0
0
0
1
68
22
31
0
0
62
52
13
0
63
8
48
0
0
0
76
0
0
0
34
75
66
12
59
72
27
46
39
28
0
55
28
6
62
0
0
38
1
0
50
0
0
2
1
0
30
44
0
31
41
62
14
0
31
0
0
0
56
0
0
40
11
0
0
49
72
46
0
0
0
31
0
0
0
0
0
37
0
0
0
0
0
0
76
23
0
0
39
20
0
12
0
13
0
1
0
0
0
0
20
0
0
0
0
79
0
0
46
0
34
83
0
0
0
0
86
76
0
0
0
25
25
0
0
0
0
0
33
55
47
0
0
0
31
0
0
0
0
33
0
0
0
0
35
0
0
46
0
0
0
0
0
39
0
61
0
0
0
0
0
0
0
0
0
0
13
31
0
0
13
0
0
0
0
0
0
0
61
0
0
47
31
0
0
0
0
0
23
31
0
0
76
56
0
0
0
14
61
0
0
0
76
0
0
0
0
61
76
0
56
61
0
0
31
25
0
0
35
0
76
0
0
39
0
0
0
0
0
0
0
0
0
46
0
0
49
0
0
0
39
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
1
2
3
0
0
2
1
0
0
0
0
0
0
0
0
0
0
4
0
6
0
0
7
0
3
0
0
1
6
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
9
0
8
0
0
1
0
0
0
0
0
2
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
2
0
18
0
10
3
4
18
0
0
3
3
2
4
3
6
2
13
0
0
0
1
9
0
10
2
0
15
0
8
0
0
10
13
0
2
0
2
0
0
0
2
2
5
0
5
0
11
2
6
5
7
3
0
0
0
5
0
0
0
15
0
9
2
4
8
0
0
2
0
3
5
1
0
3
4
4
4
0
4
2
0
0
0
1
0
6
3
0
0
0
3
0
4
3
2
13
7
1
15
12
16
9
13
22
1
2
6
8
8
6
6
8
9
15
1
6
4
4
14
0
12
4
0
23
0
18
3
5
20
22
2
3
4
15
0
0
17
5
3
11
0
12
1
11
7
12
10
14
8
3
12
0
7
0
1
0
21
0
12
9
10
12
1
0
3
8
12
7
2
0
9
19
8
8
1
10
8
0
4
0
3
1
12
12
0
4
1
7
0
5
8
3
15
10
3
20
17
16
13
14
23
1
5
8
10
11
11
12
11
11
18
8
9
4
4
18
2
17
5
1
26
2
24
13
12
23
24
9
6
6
23
0
0
19
11
9
13
0
17
11
11
19
13
20
17
9
5
19
3
11
12
3
12
25
0
19
15
17
12
1
3
7
13
15
15
4
3
18
21
11
8
3
13
13
0
10
1
7
1
15
14
0
5
4
11
0
7
16
10
21
12
1
25
21
18
19
18
27
18
12
10
11
17
16
19
21
12
25
13
12
8
10
25
5
21
8
10
25
8
25
14
16
22
28
15
7
6
24
2
0
26
11
12
16
2
19
15
19
27
17
25
13
15
11
20
3
13
16
5
9
27
8
25
22
21
15
7
10
14
15
20
23
5
8
19
26
13
17
5
17
23
2
17
6
16
5
19
23
0
8
3
15
1
10
23
10
26
13
6
24
21
25
20
19
31
25
13
12
13
21
19
21
25
12
33
24
12
9
11
29
14
20
10
13
27
22
27
15
18
26
25
25
10
9
27
7
1
26
12
15
20
9
26
19
20
27
23
29
20
19
14
20
2
25
21
8
11
28
16
28
31
22
34
12
18
15
17
16
26
21
13
22
23
16
22
8
26
25
5
17
7
23
5
20
27
3
13
2
20
5
14
26
11
29
15
10
29
24
27
20
28
32
24
15
18
15
23
20
26
26
19
35
24
16
19
17
30
16
21
15
13
32
22
26
22
21
31
30
28
10
14
31
19
4
30
19
16
24
13
27
21
30
27
26
30
18
20
15
22
6
27
26
14
12
23
15
32
35
29
36
14
19
20
18
16
28
27
13
25
34
24
27
15
30
22
16
18
10
22
9
21
25
5
16
8
23
5
17
26
14
32
23
17
32
27
30
26
29
35
34
18
23
19
22
36
30
34
17
38
24
16
23
27
34
24
24
20
23
32
22
29
23
23
31
34
37
15
17
27
23
15
30
23
18
26
14
31
23
29
31
32
31
24
22
10
25
7
29
27
14
18
18
20
30
36
35
38
19
20
21
25
25
34
32
12
32
32
25
26
17
28
25
22
22
25
27
27
20
27
12
16
8
24
12
21
34
16
32
22
22
32
27
32
25
33
34
36
22
25
21
23
37
32
29
23
40
24
16
29
30
35
32
28
20
28
33
27
31
26
23
36
35
37
17
20
30
25
18
32
24
23
28
17
32
23
32
33
36
29
25
26
20
31
10
35
25
18
19
16
27
36
37
36
38
21
26
25
35
24
35
35
18
33
38
30
29
18
30
27
22
24
26
29
30
27
29
21
20
21
24
18
24
38
18
35
28
26
39
26
36
27
37
35
40
25
26
27
29
38
31
34
26
42
24
18
29
32
36
34
32
20
29
36
32
31
30
23
40
39
43
20
21
31
34
18
22
36
31
32
19
32
31
41
35
38
33
29
26
21
34
12
35
26
23
28
23
31
37
41
39
35
28
26
30
33
30
38
37
21
36
43
29
32
20
31
29
23
29
28
29
35
29
29
25
28
21
27
24
26
39
21
37
28
29
37
29
37
31
42
34
41
26
33
29
30
41
35
35
29
45
28
18
30
35
36
35
36
36
33
38
37
36
29
28
40
41
40
20
22
30
34
22
26
36
33
31
23
30
33
37
36
38
36
31
28
27
37
18
37
32
24
27
22
33
38
43
39
35
27
27
37
33
30
39
39
22
41
43
32
35
24
33
31
23
32
30
34
38
34
35
25
35
21
26
25
32
44
24
36
31
40
39
25
41
35
41
36
43
32
40
35
32
45
37
37
35
46
28
20
34
38
38
40
36
36
33
40
38
37
32
33
43
43
40
23
23
36
37
29
31
40
36
35
28
37
35
40
35
38
37
27
31
28
38
24
40
32
31
29
25
36
41
45
40
43
30
28
38
36
36
40
41
27
42
45
36
37
26
33
37
25
32
35
34
43
37
40
28
38
23
31
25
30
42
32
47
32
39
39
28
41
37
44
38
45
33
42
36
33
44
40
40
34
45
30
29
35
43
37
39
38
39
36
38
40
37
35
42
39
46
37
23
24
38
41
31
36
42
40
39
28
36
36
42
40
40
39
29
35
31
40
31
40
37
36
33
28
36
41
45
36
40
31
29
39
37
38
44
44
30
44
44
34
39
27
39
39
28
37
39
35
44
39
45
30
39
23
35
31
32
45
33
47
32
40
42
29
42
40
47
40
51
33
40
36
37
44
42
46
36
48
37
33
35
43
39
41
38
41
37
36
41
35
36
43
42
48
38
27
30
42
46
36
36
43
41
45
30
38
39
38
43
46
35
31
38
32
44
32
40
38
31
34
31
36
46
46
37
44
41
29
33
43
36
47
46
29
45
48
40
40
29
38
38
30
38
40
39
47
38
44
34
42
30
36
35
29
45
34
51
34
40
42
30
43
41
50
39
56
35
41
38
38
45
43
45
37
49
37
33
37
41
43
42
42
42
40
36
45
33
35
46
46
50
41
27
35
42
46
39
37
43
44
44
34
40
39
38
45
51
36
32
42
33
43
33
42
40
36
34
35
40
46
45
37
45
41
32
33
46
35
47
47
35
46
48
40
44
33
39
38
32
38
40
41
48
38
49
41
43
30
40
41
30
47
35
50
34
40
42
30
43
42
53
44
56
39
43
39
40
47
46
46
43
48
37
39
47
44
43
45
42
46
40
35
49
36
37
47
49
52
44
27
35
45
44
41
39
42
48
47
37
41
38
43
45
53
45
37
44
37
46
35
42
41
36
31
34
42
48
48
36
45
43
36
39
44
37
47
47
35
47
51
44
44
37
40
40
32
35
44
43
49
40
50
39
44
34
43
42
30
49
42
53
43
44
42
34
46
43
53
44
58
40
43
41
43
48
43
44
42
50
40
40
48
47
41
46
43
47
42
36
49
34
39
49
51
51
43
33
38
48
47
41
40
44
48
49
36
42
39
43
49
52
45
37
43
38
50
35
41
42
38
31
39
40
46
50
40
46
43
41
39
43
39
45
47
36
47
54
44
44
41
44
42
34
34
50
45
50
42
51
45
45
41
44
42
35
50
42
52
46
45
47
32
46
42
55
49
57
45
45
41
43
51
47
45
43
49
40
36
48
49
44
46
44
46
43
37
53
40
39
49
51
48
48
34
40
50
46
41
41
45
48
46
38
42
39
46
46
53
41
38
42
38
49
38
42
52
41
36
40
40
48
50
35
46
43
41
43
39
41
48
42
37
48
56
47
55
39
48
46
36
35
51
47
50
40
51
45
46
41
45
43
37
50
47
53
46
45
41
35
48
44
54
51
57
44
48
40
43
52
45
48
46
52
43
37
46
51
44
47
44
48
41
39
53
40
41
51
51
51
49
34
41
52
46
42
40
45
50
47
40
44
44
45
49
52
42
39
42
39
53
41
41
53
46
40
41
43
48
52
35
48
44
43
44
41
46
47
47
39
50
56
46
56
40
48
47
37
36
50
49
52
44
51
45
46
44
50
44
38
50
48
54
46
46
44
37
52
43
54
49
55
48
49
42
42
52
50
51
47
52
46
41
50
54
44
46
45
49
44
38
55
39
45
51
54
52
50
42
42
54
50
43
42
44
49
47
44
45
43
46
52
52
41
40
42
39
54
44
41
54
47
40
42
47
50
52
37
48
47
54
44
46
47
49
46
45
53
59
47
55
44
48
48
38
44
52
49
53
45
54
49
44
47
50
46
34
51
48
54
47
50
42
40
50
44
57
51
54
49
49
41
44
53
52
52
50
53
45
41
50
53
44
50
46
50
44
38
56
42
46
53
54
56
50
41
44
58
50
43
43
48
52
47
43
45
46
45
54
53
42
41
47
39
55
44
41
56
48
40
42
46
50
51
37
47
49
55
44
47
47
52
46
45
55
60
51
58
47
51
48
38
43
54
53
54
47
55
48
46
47
52
49
36
54
48
55
51
48
41
40
47
49
56
52
58
46
48
40
50
55
52
51
53
55
46
43
52
55
44
49
48
52
46
38
59
40
45
53
57
56
51
41
45
56
50
48
44
48
52
49
48
49
50
45
52
51
42
42
45
41
55
47
40
55
50
40
43
48
53
52
38
49
50
56
43
47
46
53
48
47
54
62
50
58
46
54
48
37
48
54
55
49
48
58
48
50
49
50
49
37
56
48
57
52
50
44
42
46
49
57
51
60
48
54
43
49
55
50
50
52
55
45
42
50
57
43
51
49
54
46
39
58
42
48
56
57
56
51
42
47
58
52
47
47
47
54
51
47
50
52
46
52
55
43
45
46
45
52
48
41
49
52
43
44
51
54
54
39
49
54
57
43
48
48
52
48
47
54
62
48
61
50
54
50
40
50
54
57
49
48
59
49
52
48
51
52
34
56
46
57
51
51
40
43
46
49
52
52
57
48
53
46
52
56
51
53
52
61
44
42
56
53
47
52
49
54
50
39
59
44
48
56
57
56
51
44
46
58
53
51
48
47
52
50
49
51
53
47
53
57
48
47
47
68
53
49
42
55
52
44
45
52
53
55
41
50
54
61
47
51
51
52
48
47
55
63
50
64
51
54
52
42
49
55
57
50
52
61
50
53
48
52
51
35
58
48
58
53
54
44
44
49
49
53
52
59
51
55
51
53
56
52
52
55
59
46
41
52
55
46
54
48
56
52
43
60
45
53
58
57
60
51
44
49
58
54
53
53
50
54
52
48
51
53
49
54
58
50
52
47
44
56
52
43
56
54
45
45
52
55
58
41
54
54
62
46
51
51
52
49
47
55
61
51
63
51
55
51
45
52
54
58
56
53
58
51
52
49
51
51
39
59
48
58
53
53
47
46
49
55
54
51
61
52
55
52
53
57
52
53
58
59
47
45
54
55
48
54
47
50
52
41
58
44
51
60
55
60
51
45
48
60
55
52
53
48
54
52
50
55
53
49
57
61
49
54
48
49
56
52
43
56
54
45
48
53
56
56
45
51
56
63
47
51
49
54
50
51
55
57
52
67
53
56
53
57
52
56
59
55
53
62
55
53
52
54
51
40
58
52
59
53
54
49
47
48
55
56
51
61
53
58
55
54
58
51
53
57
60
48
43
55
57
49
56
48
55
53
44
62
47
55
60
55
62
51
46
51
61
54
52
57
48
55
51
52
56
51
51
57
59
49
54
50
49
56
53
44
57
58
45
49
54
56
57
46
51
56
58
47
54
52
54
50
51
54
56
54
66
52
55
53
60
53
55
59
58
55
61
56
55
52
57
54
40
58
52
59
53
55
49
48
48
56
54
53
61
52
58
55
58
61
51
53
58
60
51
44
53
58
50
57
47
50
53
44
61
47
55
59
56
61
52
48
52
61
54
54
58
51
56
52
51
56
52
51
57
56
51
55
51
49
57
58
44
56
57
49
50
55
56
58
46
51
58
61
47
55
52
54
52
50
54
58
56
60
52
56
54
61
53
56
61
53
56
62
56
55
53
58
54
43
61
52
60
57
55
51
51
52
54
57
56
63
53
59
55
55
60
53
53
59
59
48
45
54
60
50
59
49
51
53
46
65
48
54
62
57
63
53
51
55
61
56
54
60
50
55
53
54
58
53
51
57
60
52
54
53
49
58
60
44
58
57
52
52
59
56
58
48
54
55
62
48
56
52
54
53
53
55
58
56
62
52
57
55
53
54
59
62
55
59
63
56
55
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
1
0
2
0
2
0
0
0
0
0
2
0
0
0
2
0
0
0
1
4
0
3
5
0
0
0
0
0
0
0
1
4
0
3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
0
5
0
3
3
3
0
3
0
3
3
0
0
0
0
3
2
0
6
5
1
0
0
3
6
2
6
10
4
0
0
0
0
12
1
3
12
0
6
0
4
1
2
0
0
0
1
0
5
4
2
1
7
4
0
1
4
0
0
3
0
2
3
3
2
1
0
0
0
6
1
1
6
0
3
1
0
0
8
2
0
3
0
0
2
11
2
2
0
11
7
10
4
7
6
6
5
9
4
13
13
2
14
4
5
15
11
9
12
11
10
10
3
6
11
10
12
25
8
2
3
8
3
20
5
9
19
4
12
9
8
18
5
10
2
10
5
7
10
11
10
4
13
9
8
8
8
5
7
9
4
6
10
11
10
9
1
9
4
11
10
12
13
6
9
10
4
6
15
12
4
16
4
4
15
18
5
8
6
16
17
16
7
11
12
11
10
22
7
14
15
7
17
9
12
18
17
14
16
17
15
17
5
21
13
17
15
29
12
9
11
15
11
21
10
21
23
10
18
11
15
24
10
15
10
20
14
15
13
16
13
11
22
21
12
12
12
16
13
13
9
17
21
17
14
17
7
14
10
17
13
15
15
8
15
14
10
12
20
18
9
21
9
8
19
24
15
11
9
25
27
24
24
21
19
24
20
31
12
22
22
14
26
17
17
23
23
21
23
24
24
26
16
30
19
23
20
33
19
17
18
22
18
30
25
25
28
19
25
17
24
29
17
25
17
27
24
19
21
17
21
17
25
27
13
19
18
22
21
21
18
25
26
25
24
24
10
20
22
25
20
20
25
21
23
23
15
19
25
26
17
24
18
17
26
27
22
18
16
29
33
30
29
28
23
26
26
36
24
32
27
25
30
19
28
28
29
26
32
30
24
32
23
33
23
27
25
38
27
23
24
25
26
30
31
29
32
25
26
24
28
35
24
30
28
31
30
27
30
23
29
22
31
36
18
23
33
28
28
28
28
29
30
29
26
28
19
24
29
34
29
30
28
26
31
29
23
24
34
31
27
28
23
21
31
35
29
22
23
33
34
32
33
32
30
30
30
38
27
36
31
33
35
25
33
37
31
32
34
35
30
33
26
38
30
31
29
40
32
25
26
32
32
35
34
34
36
31
31
29
33
40
28
36
32
36
34
34
35
28
33
28
36
38
24
32
37
35
31
33
32
33
32
35
31
34
29
30
33
38
32
34
32
34
33
34
29
30
35
36
30
34
30
26
39
40
32
30
29
36
39
37
37
36
32
35
37
44
32
42
34
37
39
29
36
42
35
37
40
37
32
36
30
39
35
38
32
45
37
33
32
33
37
38
38
38
39
35
32
35
38
46
35
38
37
39
38
40
40
34
38
33
41
45
30
39
39
39
37
37
38
39
40
39
35
43
28
34
40
41
37
40
36
39
36
39
38
37
38
39
33
37
36
31
41
43
38
36
37
41
41
39
41
40
37
38
39
45
42
42
41
43
44
34
39
43
40
42
42
41
37
40
33
42
39
41
35
46
39
38
39
39
40
43
42
41
40
38
35
39
38
45
39
43
39
42
40
42
44
37
42
37
43
45
36
42
41
42
40
41
41
41
42
42
37
44
31
39
43
46
39
42
40
42
40
41
40
39
42
43
36
40
39
36
40
45
42
39
41
42
44
39
45
42
40
43
41
50
42
50
41
45
46
41
43
50
43
44
45
45
38
44
38
45
41
44
39
48
43
40
41
43
43
47
45
45
44
41
38
42
43
50
41
47
43
48
44
45
45
40
46
37
46
48
40
47
44
44
44
42
44
44
45
45
41
49
33
42
48
49
44
48
44
46
43
44
47
41
45
48
40
46
43
39
45
49
43
43
46
46
45
44
48
47
43
46
44
51
48
52
43
47
50
44
50
50
45
50
49
48
41
47
41
48
44
49
44
51
47
45
48
49
45
50
47
46
49
47
42
46
45
50
42
49
44
51
50
48
48
41
47
40
49
50
43
51
47
50
48
47
49
48
48
46
42
51
38
45
51
52
48
49
45
50
44
49
50
46
48
51
43
49
46
43
47
51
46
47
50
48
50
47
49
50
45
48
47
55
51
54
49
49
53
45
51
55
48
52
52
49
45
49
45
54
51
52
48
52
50
46
51
49
51
51
51
49
49
50
47
49
46
53
47
51
47
54
50
51
50
45
51
43
53
54
45
54
50
54
50
51
50
51
52
50
45
52
44
50
53
54
50
52
49
51
48
52
54
49
50
52
47
52
50
47
50
54
51
51
54
51
53
52
51
54
46
51
50
56
54
55
53
51
55
52
54
57
50
56
53
54
50
54
46
56
53
55
52
57
52
49
52
51
52
55
54
55
54
53
48
53
51
55
50
54
52
56
55
53
53
49
53
46
57
57
47
57
54
57
53
52
53
52
53
53
52
55
45
54
56
56
52
56
52
54
51
53
57
53
54
54
50
52
53
51
53
58
52
55
56
54
54
55
56
57
53
54
55
60
57
58
55
56
58
56
59
61
53
59
58
56
50
52
50
58
57
56
54
60
56
53
56
54
55
58
58
57
57
57
49
57
56
57
53
56
55
56
57
57
56
52
56
51
60
59
53
57
57
57
57
55
57
57
56
55
54
58
50
56
60
58
56
60
53
57
55
58
60
55
56
55
53
57
57
55
57
62
57
57
58
57
57
58
56
61
54
57
57
61
61
61
57
57
60
57
60
63
56
61
59
58
52
55
51
61
57
61
55
62
59
56
58
56
57
59
61
61
59
60
53
60
56
59
55
58
57
58
61
60
58
53
57
52
62
62
53
58
59
61
60
57
59
58
59
57
54
58
54
60
61
58
58
61
55
60
55
59
62
57
60
59
58
59
58
58
57
65
56
61
60
59
58
60
58
62
56
58
59
62
62
61
59
61
61
58
61
64
59
63
62
61
53
57
54
63
61
62
58
64
61
58
58
57
59
62
63
60
62
61
54
61
59
60
57
61
61
60
61
61
61
56
60
55
65
63
55
61
61
63
60
58
60
60
62
61
56
63
57
64
62
61
61
63
58
63
55
61
65
60
61
60
59
61
60
60
57
66
59
62
62
60
59
61
60
65
58
60
64
64
63
64
62
63
66
63
64
69
61
67
65
63
57
60
59
64
63
65
61
67
65
59
59
60
61
65
66
61
65
62
55
65
60
64
61
64
61
63
65
64
61
59
63
59
67
65
59
62
62
63
64
59
64
62
63
64
60
63
58
67
65
64
63
65
61
64
61
63
69
64
64
62
63
63
62
62
59
68
60
63
65
62
62
61
63
69
60
61
68
66
62
67
63
66
68
64
66
70
63
67
65
65
59
61
60
66
65
68
64
69
68
61
59
63
63
66
67
63
66
65
61
66
63
66
63
68
64
65
67
67
61
61
67
60
69
68
62
65
65
68
67
59
65
64
64
63
61
64
61
68
68
66
67
68
62
67
61
65
70
65
67
65
63
63
65
65
63
69
61
65
68
63
63
62
63
69
62
64
70
70
62
68
65
68
69
64
69
71
65
68
68
68
62
63
60
68
66
70
66
69
70
61
63
65
65
68
68
65
70
67
61
69
64
67
64
69
65
67
68
68
63
62
68
62
68
70
64
66
66
68
69
63
67
65
67
65
63
65
63
71
69
68
71
69
65
69
66
67
70
68
69
68
66
64
66
67
66
70
63
65
69
66
64
63
66
71
63
65
72
72
67
72
69
68
72
69
71
72
68
71
70
71
67
65
63
72
70
72
69
71
71
62
66
66
68
70
71
69
72
69
63
71
65
70
67
73
69
70
70
71
66
65
70
65
71
73
67
69
69
71
71
64
68
68
68
68
65
68
66
72
70
70
72
72
69
71
69
70
73
68
71
69
67
65
70
68
67
70
68
68
71
68
69
63
68
72
65
66
74
73
69
73
69
68
72
70
71
72
69
73
73
71
68
70
64
72
71
73
71
72
74
65
67
68
70
71
72
69
73
70
65
72
66
73
69
74
69
70
71
71
67
65
70
66
72
74
68
70
70
74
71
66
70
69
71
69
67
71
68
74
73
71
73
72
70
73
69
72
75
69
72
71
68
67
70
70
70
70
69
71
72
70
70
64
68
75
69
68
75
76
69
75
70
70
73
72
73
74
71
74
74
73
68
71
68
74
72
75
72
73
74
68
69
69
71
73
74
71
76
73
66
74
70
74
73
76
72
74
71
74
69
66
71
68
74
77
68
71
72
74
72
68
71
69
71
71
69
72
69
76
73
75
74
74
71
74
71
73
77
71
72
72
71
69
73
71
71
72
70
72
74
72
73
68
68
76
70
70
76
77
70
76
71
73
75
75
73
75
70
75
76
73
70
73
71
77
74
77
73
77
76
70
70
70
73
75
76
71
76
74
66
76
69
76
72
77
73
74
72
77
71
69
72
71
75
77
71
71
75
76
75
70
71
73
72
72
71
72
71
77
76
76
76
75
73
77
73
76
78
72
75
74
72
69
75
74
73
73
71
76
76
72
75
69
70
78
73
73
78
77
73
77
74
75
77
77
75
77
71
77
77
75
70
73
73
77
76
77
76
78
77
71
70
73
74
77
77
74
77
75
70
78
70
76
74
77
75
74
73
77
74
71
74
72
77
77
71
73
76
76
77
71
73
73
74
73
71
72
73
79
76
76
78
78
77
78
74
78
79
72
78
74
72
72
77
76
74
73
72
78
77
74
77
70
74
81
74
75
81
79
75
77
76
76
78
78
77
79
73
79
77
77
72
76
74
79
78
77
77
79
78
74
70
75
76
78
78
75
79
76
71
80
70
77
75
78
77
77
76
78
76
73
75
73
76
79
73
75
77
78
77
75
77
76
76
75
72
73
76
80
77
78
80
79
77
78
75
79
79
75
79
76
73
75
79
77
76
73
73
78
79
76
78
72
76
83
76
77
81
80
75
80
78
78
79
80
80
81
75
81
78
79
74
76
76
80
80
80
78
79
80
74
72
77
77
78
81
77
81
77
72
81
71
79
77
78
80
77
77
79
78
74
77
76
78
81
74
77
77
79
77
77
77
77
78
78
72
74
77
82
78
80
82
79
77
80
76
80
81
76
79
78
76
76
80
77
78
76
75
81
81
78
80
75
77
84
78
78
82
82
77
81
79
80
79
83
81
80
77
81
81
80
76
77
77
80
82
82
78
81
81
77
73
78
78
80
82
79
83
79
73
82
72
80
79
80
81
79
77
79
79
76
78
78
81
82
77
78
80
80
79
78
79
78
78
79
74
77
79
84
78
81
83
82
79
83
77
83
83
77
80
78
77
77
82
79
79
77
77
84
83
79
81
75
77
85
78
80
84
82
80
82
79
81
83
85
82
82
76
83
82
81
77
78
79
81
83
84
81
83
84
78
74
80
79
82
84
81
84
81
76
84
73
81
80
81
83
80
79
79
79
77
80
80
82
84
77
79
83
83
82
80
79
80
81
81
76
77
81
86
78
85
84
83
79
83
79
84
84
78
81
80
78
80
83
79
81
80
78
84
84
81
82
74
79
85
80
82
85
84
81
83
80
83
84
86
83
84
79
84
83
83
77
79
80
84
85
85
83
82
84
81
77
82
82
82
85
82
86
81
77
86
74
83
82
82
83
82
81
82
81
79
81
80
83
84
78
81
83
84
83
81
79
83
82
82
77
79
81
86
81
85
87
84
80
84
81
86
86
79
84
81
79
82
85
81
83
80
81
85
85
82
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
25
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
26
0
0
0
0
1
0
0
0
0
0
22
31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
21
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
22
0
29
0
0
0
1
0
0
0
0
0
26
30
0
29
0
0
0
0
26
0
35
35
0
1
0
1
0
41
0
0
5
0
0
0
31
27
0
0
30
0
42
0
0
32
0
1
34
41
0
0
1
0
0
0
0
0
39
1
38
0
0
27
0
32
31
0
0
0
4
51
2
0
0
0
1
0
29
1
0
0
0
0
0
0
1
0
1
0
18
2
0
0
0
36
30
24
0
36
0
32
0
1
0
0
0
0
3
32
33
0
32
0
0
0
0
37
0
38
45
0
2
0
1
5
42
0
0
6
2
1
8
59
36
1
1
39
0
44
0
3
37
0
1
38
41
0
0
14
1
1
0
0
0
48
1
42
0
1
27
1
29
43
8
3
3
7
52
6
4
15
0
1
0
30
9
0
1
23
0
1
3
19
0
16
0
36
6
1
0
0
37
57
29
0
36
0
32
0
1
0
0
0
0
6
34
36
0
36
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
20
0
0
0
0
0
0
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
39
39
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
34
0
0
0
0
2
0
1
0
0
0
32
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
28
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
36
0
40
0
0
0
1
0
0
0
0
0
40
41
0
41
0
0
0
0
37
0
45
41
0
1
0
2
0
51
0
0
8
0
0
0
40
37
0
0
42
0
48
0
1
44
0
0
42
51
0
0
0
0
0
0
0
0
54
1
49
0
0
31
0
35
39
0
0
0
8
58
1
0
0
0
0
0
42
1
0
1
0
0
0
0
2
0
0
0
27
5
0
0
0
46
35
37
0
47
0
36
0
1
0
0
0
0
7
43
43
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
29
0
0
0
0
0
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
56
56
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
45
0
0
0
0
10
0
0
0
0
0
39
56
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
30
0
0
0
0
0
34
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
51
0
52
0
0
0
1
0
0
0
0
0
57
57
0
54
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
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
60
0
0
0
0
0
0
0
0
0
0
0
0
0
74
74
0
0
0
0
0
0
60
0
0
10
0
17
8
0
0
0
0
0
10
19
0
0
30
16
0
0
0
0
4
0
29
0
0
30
0
15
0
0
30
0
10
0
7
0
10
0
0
0
19
24
17
0
31
8
2
30
11
0
28
0
0
8
0
0
23
16
2
14
0
0
2
0
25
0
0
0
0
4
0
2
0
29
0
0
6
0
0
9
2
10
0
29
8
0
0
0
0
0
9
31
19
36
29
0
22
16
10
32
40
34
1
0
47
36
20
45
19
13
36
1
57
4
21
46
27
58
37
44
41
0
23
28
30
22
40
20
18
19
38
60
53
2
51
30
49
49
54
1
55
0
38
29
19
1
45
32
1
54
33
16
38
18
54
51
2
16
1
29
4
37
19
59
1
45
49
43
0
23
25
36
6
46
32
26
8
41
45
0
45
39
34
38
50
16
23
17
15
53
56
56
43
20
64
41
30
45
57
17
53
43
65
13
58
65
49
64
33
66
64
23
48
36
43
36
51
35
35
31
43
71
60
23
56
64
61
60
61
22
76
48
60
33
54
31
55
52
13
63
48
32
36
35
62
52
36
39
40
43
44
55
43
68
0
65
57
42
23
36
42
41
10
65
37
54
49
41
46
20
44
56
51
51
69
52
28
39
18
61
62
75
50
50
64
66
43
60
58
21
68
49
80
32
61
81
61
71
64
72
82
55
58
49
62
56
60
37
35
52
64
84
81
49
74
76
78
61
68
34
89
54
74
47
71
52
74
59
50
82
59
45
62
59
70
61
58
41
50
58
64
56
61
69
27
68
67
58
38
39
56
53
31
80
54
61
48
52
55
50
0
18
0
25
13
0
0
1
0
0
18
24
0
0
23
19
0
0
0
0
12
0
23
0
0
23
2
20
0
1
23
0
18
0
13
0
18
0
0
0
24
38
25
0
21
13
12
23
10
0
33
0
0
13
0
0
27
19
7
19
0
0
12
0
21
1
0
0
0
12
0
7
0
25
0
0
10
0
0
18
3
18
0
29
13
1
0
0
0
0
13
34
23
42
33
0
27
21
14
35
44
36
1
0
47
38
26
48
24
18
42
1
65
9
27
47
32
61
40
49
40
1
29
33
33
19
47
24
21
23
42
70
58
2
52
34
53
52
58
2
69
0
43
33
23
1
48
36
1
56
41
21
43
22
57
52
1
13
3
35
8
40
25
63
1
43
60
39
1
28
28
42
10
48
35
28
13
45
48
0
46
43
38
44
54
20
30
21
18
59
63
63
47
25
70
45
33
47
63
21
59
48
75
18
65
74
54
71
39
78
70
26
53
43
46
37
57
39
39
33
46
81
66
26
59
68
67
63
68
27
87
50
71
36
64
34
60
58
21
71
55
37
46
38
65
53
40
41
45
44
52
57
47
72
0
75
67
47
27
41
43
46
14
66
41
60
54
47
50
17
0
27
0
38
21
0
0
8
0
0
27
30
0
0
28
25
0
0
0
0
6
0
28
0
7
28
13
26
0
8
28
0
27
0
20
0
27
0
7
0
30
58
38
0
25
21
29
28
13
0
42
0
0
21
0
0
35
26
1
25
0
0
29
7
25
6
0
0
0
6
0
1
0
30
0
0
20
0
0
32
12
27
0
31
21
6
0
0
0
0
17
41
27
52
38
0
33
26
19
34
54
39
0
1
49
43
32
50
29
23
50
6
74
14
34
48
38
64
42
53
44
2
33
40
41
22
55
29
28
28
45
84
69
6
55
40
60
56
63
1
85
0
45
38
29
1
52
38
0
61
51
23
54
29
60
54
0
16
8
41
13
45
30
66
1
47
77
43
4
35
34
49
16
51
42
32
17
50
53
0
0
34
1
53
27
0
0
15
0
0
34
36
0
0
37
32
0
0
0
0
13
0
38
0
18
37
21
33
0
15
37
0
34
0
26
0
34
0
18
0
36
86
53
0
33
27
47
37
23
0
55
0
0
27
0
0
47
32
2
31
0
0
47
18
33
14
0
0
0
13
0
2
0
41
0
0
25
0
0
47
19
35
0
41
27
14
0
0
0
0