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