41
39
39
39
39
39
39
39
38
38
38
38
38
38
37
37
37
37
36
36
36
36
36
36
36
35
35
35
35
35
34
34
34
34
34
33
33
32
27
26
26
26
26
30
31
31
31
32
32
32
33
33
33
33
34
34
35
35
35
36
36
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
35
35
37
37
37
38
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
38
38
38
38
37
37
37
36
36
36
36
36
36
36
36
36
35
35
35
31
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
31
32
32
32
31
31
31
31
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
31
31
32
32
32
33
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
37
38
39
39
39
39
40
35
32
32
31
31
31
30
30
30
30
30
30
29
29
29
30
30
31
31
31
31
32
32
32
33
33
33
34
34
35
35
36
36
37
37
38
38
38
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
37
36
35
35
35
34
34
33
32
31
30
29
29
29
28
26
26
25
25
25
26
27
28
28
29
30
31
32
32
33
33
32
32
31
31
31
31
30
29
28
28
28
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
30
30
30
31
32
33
35
35
37
37
37
38
40
41
41
42
43
44
45
47
49
51
52
52
52
53
53
53
53
54
54
54
54
55
55
55
55
55
56
57
57
57
57
58
58
59
59
59
60
60
60
60
61
61
61
61
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
64
65
65
69
68
66
65
64
64
61
61
60
58
58
57
56
55
52
51
50
49
49
48
48
47
46
44
44
43
43
40
40
40
39
39
39
37
36
34
34
33
31
30
30
30
30
30
27
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
27
27
27
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
27
27
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
25
27
29
33
34
34
35
38
38
39
40
41
41
42
43
44
46
47
49
50
49
48
47
47
47
47
48
48
48
48
47
46
46
46
46
46
45
45
44
40
40
39
39
38
38
35
35
35
35
34
34
34
34
34
33
33
33
33
32
32
32
32
33
36
39
43
47
47
47
47
48
48
48
48
47
45
43
41
40
38
37
36
34
34
33
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
31
31
31
31
30
30
30
30
30
29
29
28
26
25
24
24
24
23
22
19
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
17
17
17
18
18
18
18
18
17
17
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
16
16
15
15
15
14
14
14
14
14
14
14
14
14
13
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
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
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
11
10
10
10
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
9
9
8
8
8
8
9
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
8
8
8
8
8
8
8
8
7
7
7
7
7
7
6
6
6
6
6
5
5
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
3
3
3
3
3
3
2
1
1
1
2
2
2
2
2
3
3
3
4
4
4
4
4
3
2
1
0
0
0
5
4
3
3
3
2
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
3
3
4
4
4
4
5
5
6
6
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
8
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
4
4
3
2
1
0
0
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
3
3
5
5
5
5
5
5
5
5
5
6
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
3
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
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
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
3
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
3
3
3
3
4
5
5
5
5
4
4
3
2
2
2
2
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
4
4
4
4
4
4
4
3
1
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
2
2
3
3
3
3
5
7
7
7
8
8
9
9
10
13
15
18
18
19
20
20
20
18
16
14
10
8
7
7
7
7
6
6
5
5
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
5
5
5
5
6
6
6
7
8
8
8
8
8
8
7
7
7
7
7
7
8
9
10
11
11
10
10
10
10
10
10
12
14
17
17
17
17
17
18
18
18
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
22
22
21
21
21
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
19
20
20
22
22
22
21
21
20
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
23
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
27
27
27
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
32
32
32
33
34
34
35
36
36
36
37
38
38
39
39
39
39
38
38
35
35
35
35
34
34
34
33
32
31
30
32
32
34
34
33
33
31
30
29
28
28
27
26
26
26
26
26
26
26
26
27
27
27
27
29
32
33
33
32
31
27
24
23
22
21
21
21
20
20
20
20
20
19
19
18
18
17
20
21
22
23
23
25
25
26
26
26
26
26
26
26
25
24
24
24
24
23
23
23
21
27
28
28
29
27
27
27
27
27
27
27
27
27
29
29
30
30
31
32
32
32
32
33
33
33
33
33
33
33
33
33
33
34
34
34
34
35
35
36
36
36
36
36
37
37
37
37
38
38
37
37
36
34
34
34
35
36
37
37
36
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
37
39
40
39
36
35
34
33
30
27
26
26
26
26
27
27
27
27
28
28
28
28
28
27
26
25
25
24
24
24
20
18
18
18
17
16
16
16
16
14
12
12
12
12
12
12
12
12
12
12
12
12
17
18
19
21
22
23
25
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
29
29
29
30
31
31
33
32
30
28
25
24
21
21
21
21
21
22
22
22
22
21
19
19
18
18
15
13
9
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
11
11
11
12
12
12
13
14
14
14
15
15
16
16
17
17
17
17
16
16
15
15
14
14
14
13
13
13
12
12
11
11
9
9
9
8
7
7
7
6
6
7
7
8
8
9
9
10
10
10
11
11
13
13
13
13
13
13
13
13
13
12
12
12
12
13
16
18
18
19
20
21
21
22
22
21
21
21
20
19
18
18
17
17
14
13
12
11
11
11
11
11
12
13
13
13
13
14
16
17
17
19
19
18
18
17
16
16
15
15
14
13
12
11
11
10
10
9
9
9
9
8
8
7
7
7
8
9
9
10
10
11
12
12
12
12
11
11
10
11
12
12
15
17
18
19
19
19
20
19
19
18
17
17
16
16
16
16
16
16
16
16
16
16
15
14
14
14
13
13
13
13
13
16
18
19
20
20
21
21
21
21
21
21
16
12
8
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
6
7
8
9
10
10
10
11
11
11
12
12
12
12
12
12
11
10
9
9
8
7
7
5
7
7
8
11
11
12
14
14
14
14
14
14
12
9
8
7
5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
3
3
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
4
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
3
3
3
3
3
3
3
4
4
4
4
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
3
3
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
2
2
3
3
3
4
4
5
5
6
6
7
7
7
8
8
8
8
9
9
9
9
10
10
10
11
11
11
12
13
13
13
14
15
15
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
15
14
14
14
13
12
11
11
10
10
9
8
7
6
5
5
4
4
3
3
3
3
2
2
3
3
3
3
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
3
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
3
3
3
2
2
2
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
5
6
6
7
9
10
10
11
11
11
11
11
11
11
10
10
10
9
8
8
8
8
7
6
4
3
2
2
2
3
4
4
4
4
4
4
4
5
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
9
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
23
25
25
25
23
23
22
22
21
21
21
21
20
19
19
19
19
18
18
17
17
16
16
16
16
16
16
16
14
13
13
13
12
12
12
12
11
11
10
10
10
10
10
10
10
11
11
11
11
12
12
12
13
15
16
18
19
20
21
21
22
25
26
27
27
27
27
27
27
27
27
26
21
20
19
19
15
13
12
12
12
12
12
14
15
15
18
19
20
20
21
21
23
23
23
23
26
28
30
31
33
34
34
34
35
36
34
34
34
34
34
34
34
35
35
36
37
37
37
38
39
39
39
40
41
42
43
44
48
48
42
42
41
41
40
40
38
37
37
37
37
32
29
29
29
28
28
28
28
28
28
28
29
29
29
30
31
32
33
35
37
38
39
42
43
43
43
44
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
49
54
55
55
56
59
59
70
67
66
67
68
68
68
67
67
66
65
65
64
63
62
61
61
61
60
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
59
59
60
60
60
60
60
60
61
61
62
60
60
59
59
59
59
58
58
58
58
57
57
56
55
55
55
55
54
54
54
53
52
45
43
41
37
36
35
34
34
32
31
31
30
28
28
28
27
27
27
26
26
26
26
25
23
23
22
20
20
20
20
20
20
19
19
19
19
19
18
18
18
17
16
16
16
16
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
16
16
17
18
18
19
19
19
19
20
21
24
25
26
29
30
31
32
32
33
34
35
35
36
43
44
44
45
46
47
47
48
49
49
49
50
51
51
51
51
51
52
52
52
52
53
54
57
57
57
59
60
60
62
62
63
64
64
65
65
65
65
65
65
66
66
67
67
68
69
70
71
71
72
72
72
72
71
71
71
71
71
68
68
66
63
63
63
60
60
57
57
56
56
56
56
55
55
55
54
54
53
53
53
53
53
53
53
57
57
58
58
58
58
58
57
57
57
57
56
56
56
55
55
52
49
48
47
46
45
44
43
42
42
42
43
44
44
45
46
46
46
45
44
43
43
43
42
42
42
44
47
47
48
48
49
49
49
49
50
51
51
52
52
53
53
53
53
53
53
53
52
52
52
52
52
51
51
51
51
50
50
50
50
50
50
49
49
49
49
49
48
48
48
48
48
48
47
47
46
46
45
45
44
44
44
45
45
46
46
46
46
47
47
47
47
48
48
48
49
49
50
50
50
50
51
51
51
51
52
52
53
54
54
54
55
55
54
53
51
51
51
51
51
51
51
51
51
52
52
52
52
52
53
54
55
57
59
60
60
62
62
62
62
61
61
61
61
61
60
60
59
54
54
55
55
55
56
58
60
60
61
61
61
60
60
60
60
59
59
59
59
59
60
60
61
61
61
62
64
64
64
65
66
66
68
69
69
70
72
74
75
76
76
76
76
77
77
77
78
78
78
79
79
80
80
80
80
80
80
80
80
80
81
81
81
81
82
82
82
82
82
82
82
82
82
82
82
84
84
84
84
84
84
83
82
82
81
80
80
80
80
81
81
82
82
82
83
83
84
84
85
85
85
86
87
88
90
91
91
92
93
103
103
103
107
107
107
107
106
105
105
104
104
104
99
98
97
95
94
89
89
89
87
87
87
86
86
85
85
80
75
73
73
72
72
71
70
68
68
68
67
67
66
66
66
66
65
65
65
65
65
64
64
63
62
62
62
62
62
61
61
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
63
63
63
64
64
65
65
65
66
66
67
67
68
69
75
76
76
77
78
78
80
80
80
80
80
80
80
79
78
78
77
73
73
73
74
74
74
74
74
73
73
72
72
72
73
77
81
84
78
74
72
65
64
64
64
64
64
67
67
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
68
68
67
67
67
66
66
66
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
65
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
68
68
69
69
69
70
72
73
74
75
75
75
76
76
76
76
77
77
77
77
77
77
77
77
78
78
78
78
79
79
79
79
79
79
79
78
78
77
77
77
76
74
73
73
72
72
71
71
70
69
68
66
65
64
64
64
65
65
65
65
65
66
66
66
70
71
72
73
81
78
77
73
71
71
71
70
70
70
70
72
73
74
74
74
71
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
71
71
71
72
72
72
72
73
73
73
74
76
84
82
83
83
84
85
86
86
86
86
87
87
86
86
85
84
84
83
80
71
66
64
62
61
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
62
62
67
67
67
69
69
69
69
69
69
69
69
70
70
70
71
71
71
71
71
71
71
71
72
72
72
73
73
72
72
72
72
68
65
64
64
64
65
65
65
65
65
66
66
66
66
66
67
67
68
69
70
70
71
72
71
69
67
67
66
66
66
65
65
65
64
64
64
64
63
63
63
63
63
63
63
63
63
63
63
63
63
65
68
69
69
69
70
71
72
73
73
73
73
73
73
73
73
73
73
72
70
69
69
68
68
67
67
67
67
66
66
66
66
66
66
67
67
67
67
67
68
68
68
68
69
69
69
69
69
70
70
70
70
70
70
70
70
69
69
69
69
69
68
67
67
67
67
66
66
66
66
66
66
66
66
66
66
66
65
64
64
64
64
64
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
67
67
67
68
69
72
77
79
75
72
67
67
67
67
67
69
69
69
70
70
70
70
70
70
69
69
69
69
67
67
65
64
66
66
66
69
70
72
72
73
74
74
74
74
75
74
74
73
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
75
77
78
78
80
78
78
76
75
74
72
72
74
75
75
76
76
76
76
77
77
78
78
79
79
80
81
82
83
84
90
92
93
93
93
99
100
101
104
106
108
109
110
106
105
94
91
90
89
87
87
88
92
96
96
89
90
96
96
86
84
83
82
79
78
77
77
76
75
74
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
75
75
75
75
75
75
75
75
74
73
72
70
65
65
65
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
66
66
66
66
66
66
66
67
67
68
68
70
73
81
81
80
78
77
76
77
78
78
79
79
79
79
79
80
80
81
81
83
88
90
90
88
87
86
86
86
86
86
86
85
83
82
80
74
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
73
73
73
73
73
74
74
74
75
78
80
85
86
86
86
86
86
86
87
87
88
87
86
86
86
84
84
85
85
87
91
91
94
100
101
101
100
97
92
90
90
86
85
81
75
73
72
69
69
68
68
67
64
63
62
61
60
59
58
57
56
54
53
50
50
47
45
43
45
45
46
47
51
51
52
52
54
56
57
58
63
66
66
67
68
69
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
70
70
70
70
70
70
69
69
68
68
68
65
65
63
62
63
63
67
72
72
67
64
64
64
61
60
60
59
55
55
53
52
49
48
47
45
45
45
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
46
47
47
47
48
48
48
49
49
49
50
50
50
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
48
47
47
47
46
45
44
44
44
44
44
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
42
42
42
42
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
43
44
44
44
44
44
44
44
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
46
45
44
44
43
43
40
38
37
37
37
37
37
37
37
37
37
37
37
37
36
36
35
35
35
34
34
34
33
31
31
30
30
30
29
29
29
30
30
30
30
30
31
31
32
33
34
35
35
35
35
36
37
38
39
39
39
39
39
39
38
38
37
37
37
36
36
36
36
36
36
36
36
36
37
41
41
41
43
50
45
39
38
36
34
29
28
28
28
27
27
27
27
27
27
28
27
27
27
27
27
27
27
27
27
26
26
26
27
27
27
27
27
27
27
26
26
26
26
26
27
27
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
30
30
31
32
32
32
33
34
34
34
34
34
30
30
30
29
29
29
28
28
28
28
28
29
29
28
28
28
28
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
30
29
29
29
29
28
28
29
29
29
30
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
32
32
34
36
36
36
37
37
37
37
37
37
38
39
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
36
36
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
35
35
34
33
33
33
32
32
32
33
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
34
34
34
34
34
34
34
33
33
33
33
33
33
33
33
33
33
34
34
35
35
35
35
35
35
35
35
35
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
34
35
35
36
36
36
36
36
36
35
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
36
36
37
37
37
37
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
36
35
35
35
34
34
34
33
33
33
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
35
35
35
35
35
35
36
36
36
36
36
36
36
36
35
34
34
34
34
33
33
32
32
32
32
31
31
31
30
30
29
29
30
31
32
33
33
33
33
33
33
33
33
33
32
31
31
31
30
30
33
33
34
34
34
34
33
33
33
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
31
31
31
31
31
33
39
42
43
45
49
50
54
56
56
56
56
56
56
56
55
54
52
52
49
49
49
44
41
38
37
35
34
34
34
34
35
35
35
37
38
39
40
44
44
45
45
45
45
46
47
47
47
47
48
49
50
50
51
51
51
52
55
57
59
57
56
55
55
54
53
53
52
50
49
48
48
49
49
50
50
51
51
51
51
50
49
48
47
45
45
43
42
41
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
37
36
36
36
35
35
35
35
35
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
33
33
33
32
31
31
31
31
30
30
30
30
30
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
30
30
31
31
32
32
33
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
36
36
36
36
36
37
37
37
37
39
39
39
40
40
41
41
42
43
43
43
43
44
44
44
44
43
42
41
41
42
43
43
44
44
45
45
45
45
45
46
46
47
47
47
47
47
47
47
45
44
44
43
42
42
41
40
39
39
38
37
37
36
35
35
34
34
34
34
34
35
35
36
36
36
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
38
38
38
39
40
40
41
41
41
41
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
45
45
46
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
44
44
44
44
44
44
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
41
39
39
39
37
37
38
39
39
42
43
43
43
43
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
42
42
41
41
41
41
41
41
41
40
40
40
40
40
40
40
40
41
42
43
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
43
43
43
43
42
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
43
43
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
46
46
46
46
46
46
45
45
44
41
39
37
37
37
37
37
37
38
38
38
39
41
41
41
41
41
42
42
42
45
43
40
37
37
37
37
36
36
36
36
36
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
41
41
41
43
49
50
48
45
43
42
41
38
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
36
36
36
37
37
38
38
38
38
37
37
37
37
37
37
37
37
37
37
36
36
36
37
37
38
38
39
39
39
39
39
39
39
38
38
38
37
37
36
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
38
38
39
40
40
40
40
40
39
39
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
38
38
38
37
37
37
37
36
36
36
35
34
34
34
35
39
39
39
41
42
43
45
45
40
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
36
36
36
36
36
37
37
37
38
38
38
38
39
39
39
40
41
41
41
41
42
42
43
43
43
39
38
38
37
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
35
36
36
38
38
39
39
39
39
40
40
40
41
41
41
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
46
46
46
46
46
46
46
45
45
45
45
45
45
45
45
44
43
41
40
37
37
35
35
35
34
34
34
34
34
34
34
34
34
37
38
39
39
39
39
39
39
39
38
38
38
38
38
38
37
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
38
38
38
38
38
39
40
40
40
40
40
44
48
48
48
49
50
52
52
52
52
52
52
52
52
52
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
53
53
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
54
53
52
52
51
49
45
45
45
45
46
46
47
48
48
47
47
46
46
46
45
45
44
44
44
44
44
43
43
42
44
45
45
45
45
46
46
46
46
47
47
47
48
48
48
48
48
48
48
48
48
47
47
47
47
47
47
46
46
46
46
46
46
46
46
46
46
46
45
45
43
43
42
43
45
48
47
47
45
45
42
42
42
43
45
46
48
49
50
51
51
52
53
54
55
58
59
69
70
70
71
72
74
75
80
82
82
82
82
82
82
82
82
82
83
83
83
83
84
85
85
87
87
87
88
89
90
90
90
91
91
91
92
92
92
93
93
93
94
95
95
97
98
98
99
105
106
106
109
110
108
108
108
106
105
103
101
101
96
95
94
93
88
85
83
82
81
80
80
80
77
76
75
74
74
72
72
72
71
71
71
71
71
71
71
71
71
71
70
70
69
68
67
66
66
66
66
66
66
65
65
65
64
63
63
63
62
62
62
62
62
62
60
59
59
56
56
53
52
51
50
50
49
48
48
47
47
47
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
47
47
47
48
48
49
49
49
49
49
50
50
50
50
50
50
50
51
51
51
51
52
52
52
53
53
53
53
53
53
53
53
53
51
51
51
51
52
52
52
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
51
51
51
51
50
50
50
50
51
51
51
51
52
52
52
53
53
54
54
55
55
55
55
55
56
56
56
57
57
58
60
61
61
63
68
68
68
68
68
68
68
67
62
61
61
59
58
57
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
59
59
60
60
61
62
66
71
69
69
69
61
63
63
63
69
71
66
69
79
79
79
79
82
83
82
75
73
71
69
69
68
66
66
65
65
65
65
65
66
66
66
67
67
67
67
67
69
70
70
70
71
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
73
72
72
72
72
72
72
72
72
72
71
71
72
74
75
77
78
78
79
80
80
79
78
77
76
75
75
75
73
73
74
76
78
85
87
88
91
94
98
98
98
97
97
114
123
126
128
121
107
103
101
99
93
95
96
99
100
101
102
103
104
108
110
111
111
114
123
126
127
127
128
132
134
134
134
134
134
134
134
134
134
135
135
135
135
135
135
135
123
123
122
122
117
116
116
116
115
115
115
115
115
115
116
121
121
121
121
122
122
122
124
124
125
125
127
128
128
128
127
127
126
126
126
125
121
121
117
116
116
115
113
113
113
113
98
98
98
98
97
97
94
93
93
93
92
90
90
89
89
89
87
87
87
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85