125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
128
128
128
128
128
128
128
127
127
126
126
125
125
125
125
124
124
123
123
123
122
122
122
121
121
121
121
121
122
122
122
122
122
122
123
123
123
123
123
123
123
123
123
123
123
122
122
122
122
122
121
121
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
120
120
120
120
120
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
122
122
122
121
120
119
119
119
120
120
120
120
119
119
119
119
119
119
119
119
120
120
120
121
121
121
121
121
121
120
120
120
120
121
122
123
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
124
123
123
123
123
123
123
123
123
123
123
124
124
125
126
126
127
127
128
129
130
131
132
132
134
135
135
135
135
135
134
134
133
133
132
132
132
132
132
132
132
132
132
133
134
135
135
135
136
136
137
137
137
137
136
135
135
134
134
134
134
136
136
137
138
138
139
139
140
140
140
141
141
141
141
141
141
142
142
143
143
143
143
144
144
145
145
144
143
141
140
139
138
138
137
136
135
134
133
133
133
131
130
129
129
128
128
127
127
126
126
125
124
123
123
122
121
121
121
121
120
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
116
116
116
116
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
119
120
122
123
123
123
123
123
123
124
124
125
125
125
125
125
125
125
124
124
123
123
123
123
122
122
122
122
121
121
121
120
120
119
119
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
121
121
121
121
121
121
120
120
120
120
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
120
120
120
120
120
120
120
120
120
119
119
119
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
121
121
122
123
123
123
123
123
122
122
122
121
120
120
119
119
118
118
118
118
118
118
118
118
118
118
118
119
119
120
120
120
120
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
121
119
118
116
115
115
115
115
115
115
115
115
115
115
115
116
117
118
119
120
121
121
121
121
121
121
120
120
120
120
120
120
119
119
118
118
118
118
118
118
119
119
119
119
120
120
120
121
122
123
123
124
124
125
125
125
125
125
126
126
126
126
126
125
125
125
125
125
124
123
122
121
120
120
119
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
118
117
117
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
120
120
122
124
125
127
127
127
127
127
127
127
127
127
127
128
128
127
125
125
123
123
122
121
120
119
118
118
118
118
119
119
119
119
119
120
120
121
123
125
126
128
131
131
132
132
132
132
132
132
132
131
131
131
132
134
136
137
138
138
138
138
137
137
136
136
135
135
135
135
135
135
135
135
135
135
136
136
137
139
139
140
140
140
141
141
140
139
138
137
137
136
135
133
134
136
137
138
139
140
140
140
140
140
140
139
139
138
138
138
138
138
138
138
138
138
139
140
141
141
142
143
144
145
146
146
146
146
146
145
145
144
144
144
144
144
144
144
142
139
138
138
138
137
137
137
137
138
139
141
142
143
143
144
144
144
145
146
146
146
146
146
146
146
146
145
145
145
145
145
145
145
145
145
144
143
141
140
139
139
139
139
139
139
137
137
136
134
133
133
131
130
130
128
127
127
126
126
125
125
125
125
124
124
124
124
124
124
125
125
124
123
122
122
122
121
121
121
121
121
121
121
120
120
120
120
120
119
118
118
118
118
118
119
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
123
124
126
128
129
130
130
131
133
133
133
133
132
130
128
128
127
126
124
123
121
118
118
118
118
118
118
118
118
118
118
118
118
120
121
121
121
121
121
121
121
121
122
122
123
124
124
125
125
126
126
126
126
126
127
127
128
128
128
129
129
129
130
131
131
132
132
132
132
131
130
129
129
129
129
129
129
129
129
128
127
127
127
127
127
127
127
127
127
127
126
125
123
123
123
123
123
123
123
122
122
122
121
121
121
120
120
120
120
121
121
122
123
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
125
125
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
123
122
121
120
119
119
119
119
120
120
121
121
121
121
121
121
121
120
120
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
118
118
118
119
120
121
121
121
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
122
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
120
121
122
123
123
123
123
122
121
121
120
120
120
120
120
119
119
119
119
119
119
119
120
120
121
121
122
124
125
126
126
126
126
126
126
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
128
129
129
129
129
129
128
128
127
127
127
127
127
127
127
127
126
126
125
124
123
122
120
119
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
117
116
116
115
115
114
113
113
112
112
113
113
113
114
114
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
116
116
116
116
115
115
114
113
112
111
112
114
115
116
118
118
118
118
118
118
118
118
118
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
116
116
116
116
117
117
118
118
119
119
119
121
121
121
121
121
121
121
120
119
119
119
119
119
120
122
122
122
122
122
122
122
122
122
122
122
121
121
120
120
120
120
119
119
119
119
119
119
118
117
117
116
116
116
116
116
116
116
117
118
119
120
121
122
122
122
122
122
122
121
121
120
118
118
116
115
114
114
114
116
116
116
117
118
118
118
118
118
117
117
117
117
118
119
120
121
121
120
120
120
121
122
123
123
123
124
124
125
125
126
126
127
127
127
127
127
127
127
127
127
128
129
129
131
132
132
132
132
132
132
132
132
132
131
131
131
131
129
129
128
127
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
125
125
125
124
124
123
122
122
122
122
121
121
121
121
121
121
120
120
120
120
121
121
121
121
121
121
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
121
121
120
120
118
118
116
116
117
119
120
120
120
121
121
121
121
120
120
120
120
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
120
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
121
121
123
123
124
125
126
126
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
123
124
125
125
125
125
125
125
125
125
125
126
126
126
127
128
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
126
125
124
118
115
114
113
112
112
112
112
112
112
112
112
113
113
113
113
113
113
114
114
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
116
116
122
124
124
124
125
125
126
126
127
127
127
127
127
127
127
127
127
127
128
128
129
129
129
129
129
129
128
128
127
126
125
124
123
123
123
123
123
123
123
123
123
123
123
123
124
124
125
125
126
125
124
122
121
121
119
118
118
116
115
115
115
115
114
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
111
110
110
110
111
111
111
112
112
112
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
112
111
111
111
110
110
110
110
110
110
110
111
111
112
112
112
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
113
113
113
113
113
113
112
112
112
112
111
111
110
110
110
110
110
110
110
110
110
110
110
111
111
112
112
112
113
113
113
113
113
113
113
113
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
116
116
116
116
117
117
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
120
121
122
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
122
122
121
121
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
118
117
116
116
117
117
117
117
118
118
118
118
118
117
117
116
116
117
117
118
118
119
119
119
119
119
119
119
119
118
118
117
117
117
117
116
116
116
116
116
115
115
115
115
114
114
114
114
114
114
114
114
114
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
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
113
113
113
113
113
113
112
112
112
111
111
111
112
113
113
114
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
113
113
113
113
112
112
112
112
112
111
111
111
111
111
111
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
113
113
113
112
112
112
112
112
112
113
114
114
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
114
114
114
114
113
113
113
113
113
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
115
116
116
116
116
116
116
117
117
117
117
117
117
118
119
119
119
119
119
118
118
118
118
117
117
117
117
117
117
117
117
117
117
116
116
116
117
118
120
120
120
121
121
122
122
124
124
126
125
125
125
125
125
125
125
125
126
128
129
129
129
129
126
122
120
120
120
121
123
125
126
126
126
125
125
125
123
123
123
123
124
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
127
127
127
126
126
126
125
124
124
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
124
124
124
123
123
124
125
125
125
126
126
122
122
122
120
120
120
120
119
119
119
119
119
119
119
120
120
121
122
120
119
119
120
120
120
119
119
119
119
119
119
119
119
120
121
121
121
121
120
119
119
119
119
120
120
120
121
121
121
120
120
119
118
118
117
117
117
119
120
120
121
121
121
121
121
121
121
121
122
122
122
122
121
121
122
122
122
121
119
119
120
121
122
122
122
122
122
122
123
123
124
124
125
125
125
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
127
127
128
128
128
129
129
130
131
132
132
132
131
131
132
133
132
130
129
129
129
129
129
129
129
128
128
128
127
127
125
125
125
125
125
125
125
123
121
120
120
121
121
120
119
118
118
117
117
118
118
117
116
115
115
116
117
120
120
122
122
123
122
122
122
122
122
123
122
122
118
116
116
116
116
117
117
118
119
119
120
120
120
120
120
121
121
121
121
122
122
122
122
122
122
121
121
120
120
120
120
120
120
120
120
120
120
120
119
119
118
118
118
117
117
117
116
116
116
116
116
117
117
118
118
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
120
120
121
121
121
123
125
126
127
127
127
127
127
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
126
126
126
126
126
125
125
124
123
122
121
119
119
119
121
122
122
122
123
124
126
126
124
123
123
123
123
124
124
124
123
121
121
121
123
124
125
125
125
125
126
126
128
128
131
131
131
130
130
130
131
130
129
129
127
127
126
126
126
126
126
126
126
129
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
134
134
134
135
135
135
135
134
134
134
134
134
135
136
136
136
137
137
136
136
136
135
133
131
129
127
127
127
127
127
127
129
130
130
130
131
131
131
131
131
129
128
126
125
125
125
124
124
124
125
125
125
124
124
124
124
124
126
126
126
127
128
128
128
129
130
130
131
132
132
133
134
134
135
136
136
137
138
139
139
139
139
139
139
140
140
142
143
143
144
144
144
144
145
145
145
146
146
146
146
146
146
146
146
146
145
145
144
144
143
142
141
140
140
137
137
137
137
137
140
143
145
144
145
146
147
147
147
147
145
143
142
140
139
138
138
138
139
140
141
142
142
142
141
137
133
133
134
134
135
135
138
140
140
141
139
138
138
137
135
134
134
134
135
136
136
137
139
139
140
140
138
138
138
137
137
137
137
136
135
133
131
131
131
131
131
132
132
132
132
132
132
132
134
135
135
137
137
139
139
139
140
140
141
141
141
141
142
142
142
143
143
143
143
142
142
141
141
141
141
141
141
140
139
138
137
137
137
137
136
135
138
138
142
143
143
143
143
142
141
141
141
142
142
142
141
140
137
136
136
136
136
136
136
137
137
137
137
136
135
133
131
130
130
130
130
130
130
131
132
134
136
137
138
139
139
140
140
140
140
139
137
137
140
142
143
143
144
144
143
142
141
140
134
129
127
127
127
127
127
127
127
125
124
124
124
124
124
124
124
125
125
125
125
125
126
127
127
128
128
128
129
129
130
130
130
130
130
130
129
129
128
127
127
128
129
129
130
130
131
131
132
133
134
135
135
137
140
141
143
143
145
145
145
145
145
146
146
145
145
144
142
142
143
142
141
141
140
139
138
137
137
136
135
135
133
132
132
134
136
137
138
138
137
136
135
135
135
135
135
135
135
135
134
134
134
134
134
134
134
134
135
136
136
134
133
130
129
128
127
125
123
123
123
124
124
124
124
124
125
125
125
125
125
125
124
124
124
124
124
124
125
125
125
125
125
125
126
127
127
127
127
127
128
128
128
129
129
130
134
134
139
140
143
142
140
140
140
141
142
142
142
143
143
143
142
142
141
141
141
141
140
140
140
140
140
140
139
139
139
140
140
136
132
131
127
127
127
127
126
126
126
126
127
127
127
127
127
127
128
128
129
130
130
131
131
131
132
132
132
132
132
132
132
133
133
133
133
132
132
132
132
132
133
133
132
132
129
128
127
127
127
127
127
127
127
126
125
125
126
126
127
127
127
128
128
128
128
128
128
127
127
126
126
126
126
126
126
126
126
126
125
125
125
125
125
126
127
125
124
124
125
125
126
126