2
1
1
1
1
1
1
0
0
3
3
2
0
2
1
1
1
1
0
0
0
0
0
1
1
2
2
1
0
0
1
1
1
1
1
1
1
1
1
2
2
3
3
2
2
3
3
3
3
3
3
4
4
4
3
3
3
3
4
4
4
4
4
5
7
8
7
8
8
8
8
8
7
6
7
7
7
7
8
8
8
8
9
9
6
5
6
7
5
5
5
5
5
4
5
5
7
7
7
7
7
6
6
6
6
5
9
10
11
11
11
11
11
10
9
5
6
6
6
6
7
7
7
7
7
7
7
7
6
6
6
5
5
6
6
7
7
8
8
8
8
9
9
9
9
10
11
11
11
12
14
14
14
14
16
16
17
17
17
17
17
17
16
15
14
14
14
14
14
15
15
15
15
15
15
17
17
18
22
22
22
21
22
22
22
20
20
19
18
18
16
15
15
15
13
10
10
10
13
14
14
13
12
9
9
9
8
8
7
7
9
9
8
8
8
8
8
9
10
10
10
9
8
8
8
9
11
10
10
11
10
10
11
11
11
11
11
11
11
11
11
11
12
11
11
11
12
13
12
12
12
12
12
12
12
12
12
12
12
12
15
14
12
12
13
13
14
13
13
13
14
15
15
15
15
16
15
15
14
14
14
14
15
14
14
14
14
15
16
17
13
13
13
13
14
15
16
16
16
15
17
20
22
22
22
22
22
22
22
22
23
23
23
22
22
21
21
21
21
21
22
21
21
21
21
21
21
22
23
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
22
21
18
20
17
17
17
18
18
18
19
19
19
20
19
19
19
19
19
19
19
19
19
20
20
22
21
21
20
19
19
19
19
19
19
19
18
18
18
18
18
18
18
18
18
18
18
19
19
20
20
17
16
16
16
16
15
15
16
16
16
16
16
14
13
13
13
13
13
13
13
13
13
12
12
13
13
10
8
8
5
4
4
4
4
4
5
5
5
3
3
9
4
3
5
3
3
2
2
3
3
3
3
3
3
3
2
2
3
3
3
3
2
2
2
4
4
4
5
5
5
6
7
7
7
6
6
6
6
6
6
6
6
6
6
7
7
6
5
3
2
2
2
2
2
2
2
1
2
2
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
1
3
3
4
7
8
11
3
2
2
4
4
4
4
4
4
5
5
5
5
5
8
10
11
11
11
9
9
2
1
2
2
3
1
1
1
1
1
1
2
2
2
2
1
1
1
1
1
1
1
0
0
-1
-1
-1
-1
0
0
0
2
4
7
7
6
2
3
3
4
3
2
0
-1
0
0
0
0
2
4
6
7
9
5
6
7
7
7
7
6
5
5
5
5
5
5
6
6
6
7
7
6
5
6
6
6
7
8
11
13
13
15
14
13
13
13
16
16
10
11
13
9
4
3
3
3
1
0
0
1
2
10
12
12
12
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
10
9
9
9
9
9
9
9
9
10
10
9
8
8
8
8
8
8
9
9
9
9
9
8
7
9
9
10
10
10
12
12
12
13
12
12
12
11
11
9
9
11
13
13
17
17
14
14
17
16
17
17
17
12
12
12
12
11
13
18
9
9
9
11
13
15
17
17
17
16
14
12
13
13
13
13
13
13
12
12
11
6
6
6
4
4
4
4
6
7
7
7
6
6
8
8
10
8
8
7
9
9
7
6
5
2
2
1
1
1
0
1
2
3
2
3
3
4
5
5
5
5
2
6
6
8
6
3
0
0
0
0
0
3
2
2
3
6
6
6
6
6
6
6
6
7
7
7
7
7
6
5
5
5
5
5
5
6
7
7
7
8
10
10
10
10
10
10
10
10
11
10
11
11
10
10
9
9
9
9
10
31
43
44
44
44
44
48
49
54
55
61
63
65
61
69
70
70
72
80
81
80
79
77
68
68
67
67
65
64
57
54
49
46
45
44
41
39
37
34
33
33
31
30
30
29
29
26
19
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
19
18
17
17
16
15
15
15
19
22
22
21
21
20
21
21
23
22
20
19
20
20
20
21
22
21
21
21
20
16
16
14
14
14
13
13
12
12
11
11
5
4
4
4
4
5
7
7
6
6
4
5
5
4
4
5
5
8
8
8
8
8
9
9
9
10
10
10
10
11
11
9
8
10
8
9
10
10
10
10
10
8
6
8
6
10
14
14
14
14
15
15
13
15
17
18
19
27
29
30
31
33
37
37
37
37
37
38
38
38
37
37
38
45
45
47
43
42
41
41
39
37
37
37
37
37
37
36
42
43
47
47
47
47
47
47
47
47
47
47
42
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
41
41
41
43
43
43
44
45
44
44
43
42
42
40
42
41
40
41
42
43
44
41
42
43
43
43
42
42
42
36
31
29
28
28
28
28
26
24
24
26
27
26
26
26
23
13
12
11
8
9
9
9
9
8
9
10
11
11
10
10
9
9
10
8
8
8
9
9
9
9
9
9
9
9
9
9
8
8
7
7
7
7
7
7
8
8
8
8
8
7
4
10
11
11
13
8
6
6
6
8
8
9
9
10
10
10
12
12
12
11
11
11
11
11
11
16
15
14
14
12
11
13
12
12
12
6
6
6
6
6
7
8
9
10
10
7
2
2
4
5
6
7
7
8
9
9
8
8
13
13
10
9
9
9
9
9
9
12
12
11
11
11
13
14
14
15
15
15
15
15
15
15
15
15
15
15
15
16
18
18
16
15
14
14
13
13
13
13
13
10
10
10
11
11
11
11
11
10
10
10
9
9
6
9
10
9
7
9
12
17
18
18
18
20
21
21
24
24
24
26
27
29
29
30
30
30
30
31
31
31
31
31
31
28
27
27
27
25
25
22
22
22
22
21
21
21
21
21
20
20
20
20
19
18
18
17
13
16
19
19
19
24
24
26
33
35
31
30
30
28
28
28
28
28
27
27
29
30
30
33
34
34
31
22
19
18
18
18
18
19
19
19
21
20
20
20
21
21
22
22
22
22
23
24
27
34
40
42
42
42
43
45
47
46
47
49
49
51
58
60
59
58
58
55
55
55
57
58
57
57
56
55
50
50
50
51
53
49
48
45
45
44
44
44
44
47
54
57
57
57
59
65
65
63
60
57
58
60
56
56
56
56
56
56
57
60
63
66
70
70
70
73
74
76
76
78
79
80
81
82
82
78
78
78
77
77
79
82
82
83
85
86
87
86
86
86
85
85
85
85
87
95
95
113
122
126
157
162
169
170
169
168
166
163
158
146
128
127
110
107
104
92
87
88
88
84
81
76
74
65
65
57
54
50
49
47
46
54
58
52
51
52
52
51
52
52
51
45
44
43
41
35
34
29
28
33
31
29
27
24
21
17
16
15
15
14
13
13
13
14
14
14
13
13
12
12
11
11
11
9
10
12
15
13
9
13
13
12
9
13
13
13
13
13
12
12
11
12
12
14
12
8
6
5
3
3
4
4
4
4
4
5
12
13
13
13
15
17
18
18
18
18
12
12
13
13
13
12
11
8
8
8
8
8
8
8
8
8
8
8
9
8
8
8
8
8
8
8
9
10
10
10
10
10
10
9
11
12
12
12
10
10
10
9
8
12
9
8
7
8
8
7
7
7
7
8
8
9
9
9
9
8
7
7
5
5
5
6
6
5
5
5
6
7
8
8
8
9
10
11
11
11
11
11
11
12
8
7
7
7
6
6
6
9
11
11
11
11
11
11
11
11
14
15
18
17
15
16
18
19
19
19
19
20
20
24
25
26
28
30
30
31
31
31
31
31
31
31
31
30
29
29
29
29
28
24
24
25
25
26
26
27
27
22
6
6
5
4
3
3
3
3
3
3
4
4
5
5
6
9
8
8
8
8
8
8
9
17
20
25
31
31
32
32
32
33
36
37
39
39
39
39
39
40
40
40
40
40
39
38
38
41
41
41
41
41
39
35
35
35
35
36
36
35
35
37
37
39
39
38
39
40
40
44
35
32
28
26
19
17
17
16
14
14
14
15
14
10
9
7
7
7
9
12
12
12
12
12
13
13
16
18
17
23
24
34
34
33
33
34
33
32
32
31
21
21
20
20
10
10
9
10
10
10
10
11
11
11
11
11
10
10
10
10
10
16
16
16
15
14
11
11
11
11
12
12
12
16
16
16
16
19
19
19
18
16
16
17
14
13
12
11
11
9
9
8
9
8
6
5
5
8
12
11
11
11
11
12
12
12
12
12
12
13
13
13
15
14
14
14
13
13
11
11
11
11
12
13
13
14
14
10
10
10
10
10
10
10
11
10
11
12
12
12
10
9
9
9
9
13
13
12
11
10
10
8
7
5
5
6
6
6
8
9
9
7
8
8
9
8
7
8
8
6
6
7
8
5
7
7
7
8
8
8
8
8
8
8
8
9
7
6
6
6
6
7
10
10
10
11
11
11
11
12
15
27
28
29
28
27
19
18
19
19
19
21
19
19
18
18
20
23
22
20
20
20
19
19
19
19
19
19
19
20
22
25
24
24
24
24
24
24
24
25
25
25
26
26
26
26
26
26
25
25
27
27
25
24
24
23
23
23
22
22
22
21
21
21
21
21
20
19
19
21
20
18
15
14
14
15
15
13
13
13
13
11
10
11
11
11
14
15
15
14
13
13
13
13
13
12
12
12
12
12
11
10
12
13
16
16
16
17
17
17
17
17
18
28
26
23
22
18
18
18
19
19
18
20
19
19
18
21
21
22
22
22
24
25
24
22
23
23
23
23
23
23
23
23
21
16
12
12
13
13
13
13
7
5
7
7
6
10
11
11
16
17
17
17
20
23
24
25
26
26
27
28
28
28
26
26
25
24
23
19
16
17
17
17
17
17
17
16
14
14
14
14
12
19
19
20
21
25
27
28
29
32
28
18
16
16
17
17
15
15
15
15
14
14
15
17
22
29
29
28
18
21
23
35
35
42
42
42
43
44
44
44
44
44
42
40
38
36
37
37
38
42
42
44
50
53
53
51
50
50
49
44
42
41
39
38
36
34
34
33
32
32
29
26
25
24
22
21
21
21
20
19
19
17
18
27
28
30
33
38
36
12
11
11
11
11
11
11
11
11
12
12
13
14
13
13
13
13
15
16
14
13
12
12
11
11
11
11
12
12
12
12
13
14
14
15
15
15
20
24
25
24
24
24
26
29
25
14
13
11
10
10
11
11
15
22
23
23
22
22
22
21
21
21
21
21
21
21
21
21
22
22
23
24
26
26
27
28
28
30
32
32
31
31
31
31
31
29
28
24
24
22
21
20
19
17
17
17
17
16
15
14
14
12
13
14
14
14
14
15
16
16
14
17
16
16
14
14
14
14
14
14
13
15
15
14
14
13
13
14
14
15
16
15
15
15
16
15
15
16
14
15
15
15
12
11
11
12
13
13
13
14
15
14
14
13
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
18
16
15
14
14
12
14
14
15
15
15
15
16
15
14
14
14
15
15
14
13
13
13
13
15
15
14
14
14
15
14
14
14
14
15
14
15
14
14
15
16
16
16
15
14
12
12
14
15
16
16
13
15
16
17
18
19
17
15
15
14
14
14
14
15
15
16
16
16
16
19
15
17
17
17
17
18
18
18
19
19
19
19
17
17
17
18
18
18
18
18
18
17
15
13
13
13
15
15
15
15
17
19
20
21
21
16
16
16
15
14
14
15
15
16
17
18
17
13
12
12
10
9
11
12
16
15
16
17
16
17
19
19
18
15
15
15
14
15
15
15
11
12
10
9
8
8
9
9
9
10
10
10
8
6
7
8
9
10
10
11
11
13
26
26
27
27
27
28
28
28
29
29
31
26
25
25
22
20
20
19
18
16
16
17
17
19
16
16
16
17
17
16
11
3
6
6
7
7
6
6
5
5
5
6
10
10
9
8
7
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
4
4
2
2
2
2
2
2
3
5
3
3
3
3
3
3
3
3
3
3
3
4
4
4
7
8
8
9
9
10
10
10
10
10
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
15
16
18
21
24
24
23
23
23
23
23
24
24
29
32
36
40
44
43
43
41
34
29
24
23
20
19
18
17
16
15
14
14
14
13
13
15
15
16
17
17
18
19
20
23
26
28
32
31
40
42
44
45
44
33
29
27
24
23
23
23
23
23
23
25
26
26
28
28
28
32
35
36
37
37
41
46
45
44
40
38
38
39
42
44
44
43
39
33
30
26
23
22
14
14
15
16
15
14
12
10
7
7
6
4
5
5
5
5
5
8
14
15
16
10
10
11
11
12
12
9
7
7
7
7
12
10
10
10
11
10
10
10
10
5
3
4
2
3
4
3
3
3
3
3
2
2
1
3
2
2
3
3
5
5
5
6
6
7
7
13
14
16
9
8
8
7
7
8
7
8
6
7
9
7
6
6
6
6
6
7
8
8
9
10
10
14
16
17
18
19
20
20
16
16
16
17
17
17
17
17
10
12
12
12
14
14
13
12
13
10
8
8
8
8
8
8
8
8
8
13
14
17
22
34
34
33
27
18
16
12
9
7
7
8
11
14
14
14
14
14
14
14
14
14
14
16
9
9
8
8
7
7
7
7
7
7
7
7
7
7
6
6
6
5
4
3
3
4
3
11
5
3
3
3
3
6
7
9
11
12
13
14
16
13
8
6
7
7
8
7
5
6
7
7
7
7
7
7
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
3
10
5
5
5
4
2
3
4
5
5
5
7
5
3
2
1
1
0
1
1
2
2
2
2
2
1
1
1
1
2
2
1
2
3
2
4
5
6
6
6
6
5
4
11
11
19
19
18
18
19
20
21
25
28
28
28
28
28
28
28
29
27
20
22
22
19
17
13
10
6
6
5
3
6
7
8
8
8
12
10
9
8
9
10
10
12
14
14
14
11
11
11
11
9
9
5
5
5
5
3
3
3
3
4
6
8
15
27
23
23
32
32
31
31
31
30
23
21
21
20
15
13
13
11
10
4
4
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
3
4
4
4
5
5
6
6
7
7
6
5
3
2
2
3
7
7
7
16
17
17
18
19
20
37
37
35
37
39
36
35
35
35
35
35
35
36
37
38
38
39
39
38
38
38
41
42
42
40
40
39
39
32
26
25
15
5
5
5
5
6
11
23
24
31
31
32
35
36
38
40
40
39
39
38
36
35
33
25
17
16
12
4
4
10
3
4
5
5
9
9
9
8
3
5
8
0
0
0
0
0
0
1
1
1
1
1
3
5
6
6
4
7
8
11
19
21
21
20
19
16
17
17
13
9
12
13
13
13
11
12
12
13
13
13
13
13
13
10
9
10
10
11
13
15
15
14
14
15
15
16
17
21
22
20
21
22
37
30
30
29
29
28
26
24
23
22
21
20
18
17
16
15
15
15
15
15
15
16
17
18
21
22
23
24
24
24
24
23
21
20
19
19
20
28
29
26
26
27
25
24
24
23
23
24
27
26
27
27
25
25
25
24
23
30
32
33
34
34
34
34
33
33
32
29
29
29
29
25
25
25
26
28
28
26
26
26
26
25
21
19
18
14
8
5
5
5
5
4
2
2
2
4
4
5
5
5
5
5
5
5
4
4
4
4
4
4
4
9
9
10
10
11
12
14
14
15
15
13
13
14
15
18
21
22
22
22
21
22
22
22
23
26
28
28
28
26
24
24
23
23
22
21
21
21
21
21
21
22
22
23
23
25
30
37
37
37
38
40
37
35
34
36
36
36
36
36
38
39
40
49
47
45
44
43
42
43
44
35
32
32
31
29
28
27
27
26
26
26
26
26
25
25
19
14
13
9
8
11
10
10
10
11
11
11
12
11
10
10
10
11
12
12
13
15
14
14
14
9
8
3
2
2
3
3
5
5
5
5
5
5
6
6
7
7
7
7
9
10
10
14
20
28
26
29
30
26
23
23
19
22
23
21
24
25
25
24
21
20
25
25
25
25
25
28
27
22
21
17
17
16
13
14
14
14
15
14
17
9
9
14
23
25
19
16
14
14
14
14
14
14
14
14
17
6
6
6
6
6
6
7
15
15
14
14
14
15
19
19
18
17
22
30
19
13
10
8
7
5
5
5
5
6
5
8
6
4
4
4
4
4
5
5
4
5
6
5
6
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
6
11
11
15
20
21
35
36
38
41
48
60
63
65
68
68
76
78
79
79
80
83
83
79
76
75
74
67
67
67
68
60
60
59
62
63
63
60
55
55
58
60
63
63
68
68
69
69
69
69
68
67
64
63
63
57
59
60
61
62
64
66
73
79
77
76
75
74
71
69
67
65
65
72
74
58
61
66
68
65
65
65
70
71
74
73
72
59
60
61
66
66
66
69
71
74
74
74
74
75
75
76
76
76
73
63
63
63
62
55
55
56
57
55
54
54
55
55
56
56
57
56
56
54
51
51
51
51
52
52
52
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
54
54
54
55
55
55
55
55
56
65
72
75
80
78
76
72
72
72
71
67
66
67
67
70
72
72
71
76
79
80
81
82
82
80
81
82
72
74
74
74
75
75
70
72
78
75
72
68
69
72
69
77
77
77
73
68
73
73
69
68
68
79
72
67
67
67
61
66
67
63
66
72
71
63
62
62
61
59
59
59
61
69
66
67
66
65
65
65
64
66
66
64
64
61
61
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
63
61
61
64
65
65
67
66
66
63
62
64
65
65
64
64
64
64
64
64
64
67
66
64
67
69
72
78
79
80
79
76
71
70
69
67
67
71
74
74
74
74
70
71
78
67
72
69
70
70
71
70
75
76
76
76
78
78
82
77
75
74
72
71
71
70
70
70
70
68
70
70
77
79
84
83
77
81
82
85
86
88
94
95
95
95
96
94
93
93
93
93
93
93
92
91
99
101
105
107
107
107
108
116
116
114
124
128
129
124
125
128
129
128
118
119
121
124
127
125
126
128
128
125
125
125
128
130
133
132
136
137
141
138
141
141
141
140
139
138
137
137
137
137
136
136
134
130
128
128
129
129
131
125
125
125
126
126
126
126
126
124
123
124
124
127
130
130
130
129
129
129
130
131
132
139
142
147
149
152
154
154
154
154
154
156
160
152
154
154
154
151
145
139
137
130
127
126
125
125
129
135
138
138
137
134
135
139
137
137
134
136
137
139
145
149
149
152
144
144
145
160
163
166
163
162
162
162
158
156
152
152
151
146
131
128
127
126
126
121
115
112
102
94
90
86
82
82
82
82
81
78
75
65
65
64
64
63
63
63
62
62
62
64
85
85
85
85
85
85
85
87
87
87
87
87
88
90
88
86
82
83
92
91
91
101
91
92
95
91
93
94
96
97
98
102
106
109
107
103
104
109
96
95
95
102
105
99
101
104
109
107
100
97
97
98
100
104
110
114
113
112
115
118
118
115
116
120
120
120
120
120
123
124
146
148
149
145
145
161
160
157
158
158
167
174
173
169
168
166
173
165
170
164
164
167
163
162
163
164
164
163
159
158
159
164
164
160
163
172
168
167
162
175
170
166
164
161
159
156
156
154
154
154
157
160
158
158
158
158
158
160
160
161
161
161
161
162
164
173
180
181
181
182
183
172
163
162
161
159
158
157
155
155
155
157
158
157
162
158
159
163
162
159
159
160
160
160
160
160
159
159
158
157
157
159
159
160
162
159
156
159
161
162
161
159
158
161
160
160
159
158
158
158
158
158
158
163
163
165
167
165
161
161
165
164
163
163
161
161
161
173
175
178
181
184
186
188
188
185
184
184
180
179
179
171
170
171
165
161
151
148
148
148
147
147
145
138
138
138
138
138
143
143
141
140
140
138
139
141
141
143
143
142
142
141
139
139
138
135
134
134
134
134
135
135
136
137
140
141
141
143
144
143
143
141
141
141
141
138
137
138
140
140
148
148
149
149
150
152
149
148
148
148
148
148
148
148
147
144
143
142
141
139
139
138
135
133
133
133
134
135
139
138
138
138
139
139
141
141
143
146
149
151
157
157
157
157
164
164
164
163
159
158
158
160
162
162
167
169
173
173
173
177
178
180
181
180
178
177
177
178
179
201
202
199
196
198
198
196
194
194
194
194
194
193
192
194
195
195
195
195
195
204
210
212
220
230
233
235
250
255
259
259
259
259
259
255
253
253
253
253
253
253
254
254
255
255
256
256
258
263
266
272
276
276
276
274
272
267
267
268
272
264
263
262
260
258
256
260
263
266
266
269
270
271
270
269
266
259
264
266
268
269
270
270
267
264
261
260
249
246
245
245
245
245
243
242
234
234
239
241
242
243
248
249
250
250
253
253
254
267
272
285
287
289
288
288
289
276
273
262
256
253
253
249
243
243
242
242
239
239
236
230
218
215
215
213
213
219
216
215
218
222
224
225
230
232
230
215
211
209
204
202
203
208
207
204
206
205
205
207
225
218
213
211
211
211
212
203
194
195
199
203
194
196
195
192
192
192
193
193
192
192
202
207
205
204
202
195
190
187
185
183
182
181
180
182
186
187
191
194
197
195
184
182
182
178
179
180
180
177
175
171
171
171
172
171
170
168
168
168
169
170
171
173
171
170
170
172
174
172
171
165
165
165
166
166
166
166
168
169
169
170
172
173
174
175
179
180
187
187
187
189
190
191
192
193
194
193
191
189
189
190
193
192
192
192
192
189
190
188
187
187
187
187
187
182
180
178
174
174
173
170
168
167
168
169
169
169
166
166
166
168
174
180
180
180
180
192
195
195
195
194
193
193
193
193
194
196
196
196
196
196
197
207
209
211
214
212
212
210
210
208
212
211
208
208
208
209
209
209
209
209
209
209
209
209
209
209
210
212
213
215
217
233
235
240
241
242
243
246
251
253
259
260
266
266
267
268
269
271
275
277
278
279
279
279
278
272
271
271
272
272
272
272
272
275
279
281
281
281
283
293
294
294
297
298
298
300
301
302
301
301
300
299
300
301
303
308
309
308
306
311
316
318
317
316
314
310
311
309
303
303
303
303
303
304
304
296
297
297
302
313
318
319
318
314
313
313
309
309
311
327
333
339
348
348
344
341
337
338
339
344
344
344
344
345
345
341
334
328
324
316
315
313
308
305
304
300
296
294
288
287
286
285
284
283
274
271
267
265
262
263
263
264
264
264
257
256
254
253
252
250
251
251
254
256
257
261
280
286
295
314
317
333
334
334
331
332
333
333
340
343
343
343
342
337
333
332
332
337
331
328
324
323
319
319
318
319
276
276
277
277
276
272
268
261
259
215
212
212
210
209
209
209
208
206
205
208
209
209
210
210
209
209
213
209
207
202
198
203
203
208
207
205
203
202
202
200
199
200
202
205
206
202
203
203
210
212
207
207
206
203
202
202
202
202
202
201
201
202
202
203
203
203
203
204
205
206
211
211
209
207
207
207
207
207
209
212
216
216
210
207
209
211
210
210
215
211
210
211
208
208
206
206
206
208
211
214
216
217
222
231
235
240
246
250
250
253
253
257
258
255
251
251
252
253
254
250
250
246
247
251
256
258
272
264
264
264
262
262
245
241
243
241
237
234
234
231
228
227
228
228
228
229
229
234
236
236
232
232
231
231
233
232
231
227
225
225
227
227
227
227
227
226
225
225
228
230
230
232
231
228
229
230
233
236
234
234
234
236
233
229
228
229
232
232
231
228
228
227
226
226
227
227
227
227
228
230
230
231
232
232
217
214
213
203
203
203
201
200
194
193
192
190
188
187
185
183
181
179
177
175
176
174
169
169
169
167
161
161
158
156
155
150
149
144
141
140
139
137
132
125
124
120
118
118
118
115
113
111
109
101
97
97
98
104
102
102
102
102
102
101
100
98
93
92
91
91
90
89
87
87
87
87
87
87
88
88
89
90
90
92
92
92
92
94
93
92
92
92
92
92
92
92
93
93
93
93
93
93
93
94
92
95
95
95
95
100
102
102
103
104
105
105
106
106
106
112
117
119
129
129
129
129
130
131
134
138
138
143
149
152
154
155
156
158
162
164
165
169
174
177
182
188
195
207
218
227
231
236
238
239
243
246
255
260
266
260
260
260
258
266
252
249
249
250
243
233
226
219
208
199
199
197
197
198
201
203
206
207
226
229
235
236
240
234
234
234
235
247
245
248
237
237
221
218
215
215
215
217
219
218
218
218
218
218
224
229
231
232
234
237
242
244
248
252
251
251
251
250
248
242
239
236
235
232
232
231
230
230
227
224
221
220
220
220
224
226
226
235
239
239
242
243
243
243
245
246
246
248
249
260
268
272
273
274
277
280
278
274
273
275
271
268
267
270
278
283
285
282
275
267
266
272
272
270
286
287
288
288
286
284
284
284
282
282
284
284
285
287
289
293
290
290
300
302
304
305
307
308
310
311
312
318
319
324
325
328
330
330
338
338
337
337
337
337
337
337
336
336
337
340
341
343
349
350
350
351
352
352
352
352
348
344
339
332
331
330
328
328
327
327
331
332
331
337
337
331
329
328
328
332
333
333
329
327
312
316
319
316
320
321
321
321
321
323
323
324
326
326
325
325
328
329
330
336
335
333
333
332
330
330
330
329
330
331
327
324
324
324
323
320
319
318
317
317
317
318
318
318
318
319
321
320
318
320
326
325
319
318
320
328
330
334
335
337
334
341
337
339
337
336
336
336
336
336
335
335
335
335
334
334
330
329
329
329
327
326
326
326
326
326
326
326
325
324
322
323
323
323
323
323
321
321
321
320
319
321
321
323
324
326
326
324
323
323
322
315
316
315
315
315
314
312
311
313
313
311
310
309
312
312
319
322
322
322
321
319
325
324
322
317
315
314
313
311
309
309
312
312
310
309
308
304
308
309
309
309
309
309
312
314
316
318
317
316
318
315
319
332
334
334
333
337
341
325
319
318
302
302
303
299
301
303
305
304
300
294
294
294
294
295
295
294
292
291
291
291
291
290
290
289
289
289
291
291
291
289
286
285
282
282
280
280
280
279
279
279
280
278
276
274
273
272
269
268
267
267
267
267
268
270
269
267
266
265
264
261
256
254
254
250
249
245
244
239
239
236
231
230
228
228
228
228
226
225
231
225
223
222
221
221
221
225
223
223
224
224
229
232
233
246
244
247
247
246
242
241
240
240
238
233
233
234
235
236
233
231
229
231
232
232
232
232
233
232
227
227
228
229
230
230
230
227
225
225
224
223
224
224
226
228
230
231
232
233
233
232
231
230
228
228
228
229
229
229
229
229
225
225
225
225
224
224
225
225
225
225
224
224
224
225
225
225
225
225
225
225
225
225
225
225
225
223
223
226
226
236
235
230
228
227
226
227
231
232
233
240
232
231
226
225
224
223
219
220
221
222
221
219
219
219
229
231
231
231
238
219
218
216
216
240
232
219
217
216
215
219
222
225
223
218
218
209
204
201
196
196
196
195
198
197
196
194
194
195
196
201
202
201
201
201
200
199
199
197
197
197
197
197
198
198
199
200
200
198
198
198
198
198
198
199
196
195
194
194
195
195
195
196
196
196
195
195
195
200
211
210
220
206
204
204
204
204
203
199
201
207
213
219
219
218
217
215
217
215
212
207
209
212
219
213
211
210
208
210
212
209
203
203
221
222
224
225
226
224
225
227
229
229
226
224
222
222
222
222
224
225
222
220
224
225
225
226
226
246
246
246
252
251
248
248
245
244
242
239
230
231
233
228
227
226
214
213
212
213
213
214
217
217
219
217
214
215
216
217
218
218
220
223
225
228
231
233
231
230
230
230
229
228
223
218
215
215
213
213
213
216
215
215
214
221
223
223
225
227
233
233
222
220
218
218
220
223
223
224
224
218
227
223
221
220
219
218
216
220
222
217
220
221
227
229
239
231
233
250
250
248
248
251
252
255
255
261
263
263
263
252
245
244
240
221
219
213
212
215
195
195
193
186
185
174
173
171
173
172
174
175
175
176
176
176
177
175
173
173
172
166
166
166
165
177
170
168
166
166
169
168
168
166
165
168
166
166
179
177
176
176
176
176
177
177
179
186
188
190
190
188
184
185
185
184
184
185
186
189
191
189
190
191
191
191
192
195
196
203
201
203
200
199
199
198
197
186
184
183
183
184
184
184
185
185
184
182
181
181
181
181
180
178
175
172
167
167
167
164
164
166
165
164
167
170
172
171
172
172
173
177
179
181
182
180
180
179
179
178
178
177
176
175
171
171
172
172
172
172
170
166
164
168
168
171
171
171
171
170
170
169
169
169
169
168
168
168
167
167
166
166
166
167
167
167
167
168
174
175
175
175
175
175
172
169
167
167
167
166
166
178
177
173
173
173
173
173
173
173
175
175
178
180
185
178
178
181
183
178
178
180
182
185
186
176
174
172
174
174
176
175
179
177
172
171
170
168
168
167
168
169
171
171
171
170
170
167
167
166
166
166
165
164
164
165
166
165
164
167
167
167
166
163
162
162
163
167
168
168
169
170
168
170
171
171
165
165
167
164
163
163
164
166
166
166
162
162
168
169
170
176
161
159
160
158
158
161
158
158
158
158
159
161
163
167
166
165
165
166
167
167
167
166
166
166
166
166
165
164
164
165
165
164
163
161
164
162
162
162
162
162
162
164
167
169
169
170
169
173
175
178
175
172
170
170
163
164
170
167
163
160
163
161
158
156
158
160
164
161
160
161
159
159
160
161
159
158
154
155
155
152
151
150
153
155
155
154
154
147
141
144
143
144
144
143
143
147
149
151
150
149
150
150
150
150
150
150
150
151
152
154
154
154
154
152
151
152
153
151
150
150
150
150
150
150
150
151
153
153
154
159
160
160
158
155
153
153
157
159
161
160
159
159
158
158
165
168
162
164
166
165
164
162
162
163
163
164
164
164
164
164
164
163
162
161
162
162
162
160
159
159
158
158
157
157
157
156
156
159
161
163
169
170
170
169
166
159
157
154
154
154
154
153
152
152
147
147
151
153
151
150
149
146
145
144
144
145
145
146
146
147
149
150
150
150
151
151
151
151
151
151
150
150
150
151
152
146
146
145
146
144
157
156
157
157
157
156
153
153
157
158
158
157
153
150
148
148
148
147
147
147
148
151
153
153
152
150
154
154
151
149
149
149
149
149
143
143
142
142
142
143
143
144
145
147
153
153
147
147
149
149
148
147
149
148
156
154
152
150
151
147
147
148
151
152
161
158
156
153
142
149
148
145
143
141
144
149
149
149
149
148
142
141
142
142
142
143
144
144
144
146
146
145
144
143
139
137
138
137
136
136
136
136
139
138
138
139
141
142
141
142
144
145
146
147
148
160
152
152
151
136
136
136
138
145
146
146
145
145
136
136
135
133
133
133
133
122
121
119
118
118
118
119
119
122
121
116
124
122
120
130
124
122
121
115
114
114
117
117
120
121
121
122
126
132
143
140
144
144
144
146
145
142
140
140
139
139
139
143
144
146
140
139
139
139
139
139
135
134
135
135
136
139
139
139
138
136
136
136
136
138
139
139
138
138
137
136
137
138
138
139
140
142
143
142
141
141
139
140
141
141
136
137
138
138
136
128
130
128
127
125
124
121
122
122
122
123
122
123
124
131
129
128
129
125
122
107
103
101
99
98
97
96
95
95
97
102
107
114
113
111
109
109
111
123
125
126
129
134
134
136
141
140
134
134
133
133
129
129
127
130
132
134
125
124
124
123
123
124
124
125
128
128
127
115
113
108
106
104
102
102
104
95
94
92
89
89
89
89
89
91
92
93
100
102
103
103
106
111
111
108
111
111
112
110
112
114
117
118
116
116
116
117
125
125
125
124
124
123
117
107
105
105
104
110
112
114
116
118
114
114
115
118
121
123
121
120
120
118
116
116
116
116
120
120
119
119
116
115
114
113
112
109
109
109
107
106
106
108
108
107
111
110
110
103
102
102
102
91
93
97
97
97
89
85
85
84
85
101
102
101
87
86
92
86
86
86
86
91
91
91
93
95
97
90
85
92
91
91
87
87
88
88
107
111
115
118
120
118
119
117
113
107
104
103
106
106
105
103
108
115
114
114
102
101
96
96
95
94
90
88
89
92
94
98
100
98
95
96
95
100
97
95
90
101
98
95
92
94
98
98
81
88
91
89
86
86
89
90
90
90
90
89
86
87
87
87
88
101
102
103
106
108
128
127
125
122
120
114
115
113
109
93
94
94
91
91
91
91
91
93
81
77
72
47
36
38
38
34
27
25
29
32
34
35
28
17
16
15
14
12
13
13
14
14
15
15
16
16
16
17
23
23
21
20
20
18
20
16
19
14
10
10
10
16
22
15
14
15
16
18
25
24
23
23
21
21
13
13
13
14
14
23
24
22
23
23
25
28
28
27
27
28
28
24
21
20
19
19
20
18
16
13
13
14
14
13
6
6
6
6
12
14
20
18
18
18
19
20
20
13
13
13
21
14
13
11
8
8
9
6
6
6
6
7
7
7
8
7
7
10
10
15
11
8
2
2
2
3
3
3
4
6
6
5
5
4
3
3
3
3
2
2
5
4
4
4
5
6
5
3
3
3
3
3
3
3
1
1
3
3
3
4
4
5
6
5
5
4
4
3
3
3
3
3
3
6
7
7
8
10
10
5
5
5
4
4
2
1
1
1
1
2
1
0
0
0
0
0
1
0
0
3
3
3
3
3
3
3
3
3
4
3
3
4
4
5
5
5
5
5
5
5
3
3
3
3
3
3
4
4
4
4
2
1
1
1
1
1
2
6
6
6
6
5
5
4
9
9
9
6
5
4
3
3
2
2
2
2
2
1
1
1
1
0
0
0
1
1
1
1
0
0
2
0
0
0
7
7
15
14
14
12
11
9
9
10
6
5
5
5
5
5
5
5
5
5
5
4
3
2
4
4
4
5
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
4
3
3
0
0
1
2
2
6
5
3
3
3
5
7
3
9
2
2
2
3
3
3
3
3
2
0
0
0
0
0
0
0
3
1
2
0
3
1
1
1
1
2
2
2
2
2
1
1
1
1
1
1
1
2
2
1
0
0
1
3
2
2
3
5
8
8
9
9
10
16
16
18
19
21
28
33
44
48
50
54
60
74
84
84
89
89
86
85
89
91
102
101
66
61
53
44
38
47
49
56
57
54
48
37
41
43
45
45
44
46
50
43
23
23
23
23
23
26
31
33
34
38
38
40
41
41
41
41
44
48
55
55
55
55
53
53
53
54
57
56
54
52
44
41
40
40
39
39
39
39
42
42
45
45
46
46
46
46
51
49
55
58
59
60
61
61
56
36
35
41
42
42
41
41
41
42
43
43
43
41
39
35
28
26
26
26
26
26
29
31
35
36
39
39
39
40
40
40
38
37
37
38
34
30
31
32
32
22
22
21
22
25
26
28
30
33
33
32
32
18
22
25
27
28
30
32
32
33
31
28
28
28
28
29
26
26
27
28
29
33
33
33
33
34
36
38
42
44
45
46
46
48
69
72
73
73
71
75
76
76
66
65
63
64
64
63
62
60
59
59
56
54
55
54
54
53
50
44
40
35
29
18
16
15
14
11
14
18
22
22
22
22
21
21
21
22
23
24
23
21
20
21
21
21
21
21
22
23
24
26
27
26
25
29
33
34
34
35
41
43
43
37
33
30
26
25
24
23
23
26
28
28
26
17
14
11
9
4
4
3
13
13
13
16
18
16
14
15
15
15
16
17
14
10
9
11
13
14
15
15
15
15
15
15
16
16
18
18
18
19
19
19
19
20
23
24
24
25
28
28
28
30
32
32
32
32
32
32
32
32
32
32
32
33
33
35
36
36
36
33
30
23
22
22
19
15
15
15
16
18
21
22
25
27
28
28
29
38
38
38
45
46
49
51
52
51
51
51
50
50
49
48
46
42
41
37
30
29
29
29
28
29
29
27
27
28
28
28
28
29
31
32
34
29
29
29
28
28
28
28
28
29
32
31
31
26
27
30
32
33
29
29
28
26
26
27
28
27
27
26
26
26
26
28
26
26
27
27
29
32
35
36
34
34
35
35
36
36
36
35
34
34
34
34
34
34
34
35
35
35
35
36
36
36
37
37
36
36
36
42
43
45
45
45
44
41
41
39
37
32
30
39
40
40
39
38
38
37
37
37
35
34
32
31
31
29
29
28
27
26
25
24
23
23
22
21
22
23
20
19
18
18
18
17
22
22
22
21
18
18
20
19
15
14
15
16
15
13
15
19
17
16
15
14
11
10
9
9
9
9
8
8
8
8
8
8
7
7
7
5
5
5
5
5
5
6
6
5
3
4
4
5
5
3
5
6
6
7
7
5
4
4
5
6
7
5
5
5
4
3
2
2
2
3
3
3
3
3
4
3
3
1
0
3
6
7
8
8
7
7
6
7
6
6
6
6
8
8
8
7
7
6
6
6
5
5
5
4
4
5
5
5
5
5
2
3
3
3
3
3
3
3
3
5
7
4
4
4
4
4
4
8
9
9
11
11
11
11
11
11
11
8
8
6
4
4
4
5
5
5
5
5
6
6
4
3
3
2
2
2
2
4
5
6
8
7
5
5
5
5
5
4
3
3
4
4
4
3
2
4
5
5
6
7
7
8
7
5
5
4
3
4
4
5
6
6
6
6
9
8
7
7
7
9
19
6
4
4
5
6
4
2
2
2
2
2
2
1
1
1
2
1
1
7
9
9
9
9
9
9
9
9
10
13
13
14
14
12
10
9
9
10
12
12
12
14
14
11
11
13
14
15
14
13
12
11
16
16
16
17
18
20
21
22
23
22
17
17
17
15
15
17
18
20
20
17
19
21
21
21
19
14
12
10
9
9
9
11
11
10
15
15
15
14
15
16
18
16
16
16
22
26
39
40
41
41
44
45
45
45
45
44
39
38
38
38
36
31
25
25
24
24
23
23
23
23
23
24
26
24
23
25
25
27
28
32
32
32
31
29
26
25
24
23
24
24
23
27
27
26
26
26
26
26
28
28
27
27
25
26
27
27
25
25
26
26
28
28
29
29
28
26
26
26
28
28
28
27
26
34
32
30
30
30
32
32
34
35
35
31
26
27
27
26
26
26
27
26
26
26
27
27
27
26
26
25
25
25
23
22
22
23
24
23
24
24
22
22
22
22
23
23
23
23
22
22
22
20
21
25
25
20
19
16
15
14
14
14
14
13
11
10
10
10
9
9
9
9
8
8
8
8
8
8
7
6
5
5
4
4
4
4
4
4
4
1
1
1
2
3
1
2
4
5
6
7
7
8