255
255
243
231
164
131
132
126
122
121
120
120
118
116
119
119
119
119
118
118
117
115
116
117
116
116
115
114
112
111
111
112
114
122
124
129
135
140
145
148
156
159
161
163
165
168
171
174
174
176
176
178
179
180
180
179
181
181
180
179
177
174
171
170
166
162
161
161
160
154
155
153
151
147
142
138
135
130
127
123
119
117
118
120
116
116
117
118
121
122
123
127
128
129
131
132
131
130
127
126
124
123
123
123
123
124
123
124
125
126
126
127
127
129
130
133
135
137
140
142
148
149
150
151
154
155
156
158
157
156
155
155
154
154
156
155
153
150
149
150
151
146
145
144
142
140
137
135
132
127
119
116
111
107
104
106
105
100
96
94
91
90
86
85
81
79
77
75
74
76
75
73
71
70
69
68
67
66
65
61
59
58
57
52
52
53
55
59
66
74
88
96
106
110
113
118
123
108
113
116
114
105
105
106
104
106
105
105
108
104
99
99
97
96
94
90
86
84
86
90
95
99
104
104
106
97
98
103
107
113
124
126
131
140
146
144
139
139
135
135
127
119
110
107
104
103
95
95
96
98
98
99
99
90
91
95
100
105
111
121
121
117
116
124
131
129
119
119
121
116
103
92
84
74
71
66
63
66
71
71
74
78
79
79
78
77
74
74
70
72
69
67
66
71
80
85
81
73
66
251
247
234
215
148
123
124
122
118
117
116
117
116
115
119
119
120
119
121
121
120
122
122
121
121
120
117
116
114
114
114
115
118
126
128
133
137
142
146
150
156
158
160
161
164
167
169
171
172
174
175
176
178
178
179
178
177
177
176
175
173
170
166
162
159
155
154
154
153
145
143
142
140
137
134
132
130
126
123
120
116
115
115
117
115
116
117
118
119
121
122
125
126
127
127
128
127
126
125
124
123
122
121
122
123
123
124
125
126
126
127
128
128
128
129
132
133
135
138
138
139
141
142
145
147
151
152
149
150
150
150
151
151
151
148
149
148
147
147
149
151
147
146
145
143
139
137
135
126
123
115
111
108
103
100
101
100
97
94
92
91
90
85
84
80
78
76
74
73
73
73
70
68
67
65
65
63
62
61
58
57
56
55
50
52
52
53
56
62
67
71
78
86
92
95
99
103
94
94
95
94
93
96
96
99
102
105
105
109
107
103
102
100
98
98
94
91
89
88
89
92
94
99
100
101
93
95
98
101
104
111
113
114
124
130
131
129
126
123
124
120
113
105
100
97
97
96
96
96
97
99
98
99
99
100
103
107
112
119
128
130
126
120
119
119
121
131
118
121
120
115
109
100
75
78
71
68
72
74
73
74
78
78
78
77
77
75
74
71
72
70
68
66
69
76
82
81
76
72
252
244
231
205
133
120
121
115
112
110
109
112
113
113
116
117
118
120
124
124
125
129
127
127
127
126
122
120
116
116
116
118
121
129
134
140
143
148
152
154
159
160
161
162
164
167
169
170
170
172
172
173
174
174
173
171
173
172
172
171
169
166
162
157
155
152
151
151
148
138
133
132
131
130
128
126
125
119
117
115
113
112
112
113
114
114
116
117
118
120
121
122
122
123
122
122
121
122
121
121
120
119
119
120
121
122
124
124
125
126
127
127
128
127
127
129
129
130
131
133
132
134
135
139
141
144
146
148
147
146
145
144
143
143
145
147
147
147
148
151
154
148
147
144
141
138
136
132
127
124
115
112
108
104
101
96
95
92
91
89
88
87
83
82
78
75
73
71
70
69
68
64
62
60
59
58
56
56
55
53
52
51
51
50
50
50
50
52
55
59
60
65
70
75
78
80
81
72
71
70
70
75
80
82
85
90
95
97
102
105
104
103
102
101
98
97
96
93
90
90
90
89
91
92
95
93
94
94
96
98
100
100
100
102
108
113
114
114
114
111
111
106
101
95
89
90
94
94
96
96
96
96
96
108
108
112
115
120
125
133
133
131
129
127
120
118
128
112
114
114
114
113
111
94
79
73
71
72
75
73
75
74
74
74
74
75
73
72
68
71
70
67
64
65
69
84
86
85
81
248
240
228
199
125
115
115
112
108
106
106
110
111
112
114
115
117
120
124
126
127
128
128
129
128
127
125
124
118
118
120
121
124
135
137
145
148
153
156
157
163
165
162
164
166
168
170
171
171
172
172
172
172
170
169
166
169
169
168
167
165
162
158
155
153
150
150
149
146
135
130
129
128
126
125
123
122
116
115
113
112
111
111
111
113
114
115
117
118
119
120
122
121
120
121
120
120
120
120
119
118
118
118
119
120
121
123
124
124
125
126
126
127
126
128
128
128
128
128
130
130
130
132
134
138
140
141
143
142
141
140
139
139
138
142
144
145
144
146
149
151
148
145
143
140
137
132
131
127
124
115
112
108
102
99
96
96
92
90
88
86
85
82
81
77
75
72
71
70
68
67
64
61
59
57
56
55
54
54
52
51
50
50
49
52
52
50
50
52
54
53
55
58
64
65
67
66
61
59
58
59
67
71
73
72
81
88
91
97
101
101
102
101
98
98
98
95
95
92
92
91
91
90
90
90
91
92
92
93
93
96
96
94
93
98
104
107
110
111
105
106
105
100
94
89
91
93
94
94
95
96
94
93
109
111
113
115
120
125
133
132
131
130
130
124
118
122
100
104
107
108
110
111
103
85
79
73
73
73
73
76
70
70
71
71
71
71
69
65
67
69
66
63
62
65
83
87
87
84
251
243
233
202
123
118
115
109
104
102
102
107
109
110
111
112
114
118
124
124
126
128
128
129
129
130
126
126
127
127
127
129
135
143
146
152
155
159
163
165
168
169
166
167
169
171
173
173
173
172
171
170
168
166
162
158
160
160
159
158
156
153
149
150
148
146
145
145
141
129
124
123
122
120
118
116
115
114
113
112
111
111
110
110
113
113
114
115
117
118
120
122
121
119
118
117
119
119
118
117
117
116
117
118
120
120
121
122
123
124
124
125
125
127
127
126
125
126
125
125
125
124
125
126
127
128
129
128
130
132
134
136
137
138
139
141
141
140
141
144
146
146
144
142
137
133
130
128
122
119
109
106
102
98
95
97
95
90
87
84
82
81
79
78
74
72
69
68
67
67
66
62
59
57
55
54
52
52
52
50
50
49
49
51
53
54
50
48
48
49
47
48
48
50
50
48
46
41
41
41
42
52
55
56
59
67
77
81
87
93
95
100
99
96
97
96
94
93
91
92
94
93
88
85
85
86
86
86
86
87
86
85
84
79
79
86
92
100
106
100
104
105
102
96
92
93
94
95
96
97
96
95
94
107
107
109
111
114
117
123
128
125
121
121
116
112
111
71
83
95
102
105
108
107
107
95
84
75
69
65
67
66
66
67
67
67
66
66
60
63
64
64
61
61
63
80
86
91
90
252
243
236
208
118
108
105
104
102
102
101
104
106
108
112
114
116
117
119
123
125
127
128
129
129
129
129
129
132
133
134
137
141
151
153
159
163
165
168
170
174
174
169
170
171
171
171
170
169
168
165
162
159
157
155
149
151
151
152
153
154
153
146
144
142
139
137
136
132
125
121
118
115
113
112
112
112
112
111
110
109
109
110
111
111
111
112
113
116
117
118
122
121
120
120
119
117
117
117
116
116
115
116
117
118
119
119
120
120
120
121
121
121
124
124
123
122
122
122
121
123
123
123
125
126
126
126
129
128
128
129
131
133
134
137
138
139
139
140
141
141
140
138
137
134
131
127
126
120
116
109
107
103
99
96
94
92
88
87
85
82
80
78
76
72
71
70
68
65
66
65
61
59
57
56
55
53
53
52
50
48
48
47
50
50
50
48
48
47
45
42
42
41
40
38
37
37
37
37
38
38
43
46
47
53
56
61
66
76
81
84
91
91
93
94
94
92
91
90
90
91
89
87
87
86
87
85
82
81
81
79
76
78
78
77
78
84
100
98
104
104
105
106
106
102
100
105
106
107
108
106
105
104
104
102
102
102
103
104
108
107
107
108
107
106
102
98
82
83
87
93
102
109
112
106
105
98
89
78
69
66
70
70
69
67
65
62
61
57
60
61
63
64
67
68
74
84
92
93
253
247
239
207
115
107
106
103
101
102
102
105
107
108
112
114
113
114
117
120
122
127
128
127
129
130
128
128
133
134
136
140
144
153
155
162
164
166
169
171
173
173
170
170
170
170
170
167
166
165
163
159
157
155
152
147
149
149
149
151
152
151
145
146
142
137
134
131
128
123
120
116
111
109
108
109
110
111
110
110
109
109
110
111
112
112
112
113
113
116
116
120
121
120
119
118
117
117
116
116
115
115
115
116
117
118
119
119
119
120
120
121
121
122
122
121
120
119
120
119
122
122
123
123
124
125
125
128
128
128
129
130
131
132
134
135
136
137
137
138
138
137
136
135
132
129
126
124
117
115
108
105
102
99
96
93
91
86
85
83
80
78
77
75
71
70
69
67
65
66
66
62
60
58
57
56
54
53
53
50
49
48
48
50
50
50
48
48
46
45
41
41
39
38
37
37
36
35
35
35
35
39
43
44
50
53
56
60
69
74
78
83
85
88
90
91
90
90
89
90
90
90
90
90
89
88
85
82
79
79
77
75
75
78
78
77
81
98
102
105
107
108
110
110
110
109
112
114
115
114
114
111
108
100
101
99
98
97
99
99
99
99
99
98
98
95
92
89
88
91
96
103
110
116
114
110
105
96
88
79
71
73
73
72
70
68
64
62
57
59
61
64
66
69
71
73
81
88
90
254
249
238
200
110
107
107
103
103
105
107
111
112
113
112
114
116
116
115
116
118
123
124
125
127
126
126
126
131
134
141
146
152
160
161
161
163
166
168
170
173
173
172
172
172
171
169
165
164
166
164
161
158
156
154
148
147
146
145
146
147
147
143
146
141
133
127
123
120
116
119
115
109
106
106
107
108
108
108
107
107
107
108
110
110
110
110
111
111
111
112
117
117
117
117
116
115
115
115
115
115
115
115
115
114
114
116
116
117
117
118
118
118
123
122
122
120
119
118
118
118
119
120
121
122
122
123
125
126
127
128
128
129
129
128
129
130
131
132
132
132
132
130
129
127
124
120
119
115
112
105
104
101
97
95
93
90
85
83
81
78
75
75
73
70
70
69
67
65
67
66
63
61
59
57
56
54
53
52
50
49
48
47
51
51
51
49
47
46
45
42
42
40
38
38
37
37
37
37
38
39
41
43
44
46
47
50
53
60
63
67
70
73
77
81
85
84
84
82
84
86
88
88
88
87
92
89
83
80
78
77
76
75
77
79
79
80
96
106
111
113
117
121
124
128
129
130
132
131
130
128
125
120
103
101
97
95
92
89
88
87
85
86
86
87
87
89
114
114
117
118
121
124
129
130
124
117
113
107
98
86
78
76
73
71
71
67
63
60
62
64
67
70
75
77
70
73
78
82
250
242
226
186
111
111
108
107
107
111
114
118
120
120
117
119
121
120
117
116
115
118
119
119
121
121
121
121
128
133
140
148
154
160
160
164
167
170
174
177
182
182
175
176
176
175
174
171
170
168
166
162
160
158
155
150
151
149
147
146
146
145
141
141
137
131
125
121
118
113
113
110
106
104
104
104
103
104
104
103
103
104
106
107
104
105
105
106
108
110
110
113
113
113
112
113
113
112
113
114
114
115
114
113
112
111
112
113
113
113
114
114
114
120
120
119
118
116
116
116
117
115
115
115
115
115
115
124
127
128
129
129
129
128
127
128
129
130
130
131
131
126
125
125
123
119
117
116
112
109
104
103
99
96
94
94
91
85
83
81
77
75
73
71
69
69
69
67
65
69
68
65
63
61
59
58
55
54
54
51
50
49
49
51
51
50
50
47
47
47
43
43
40
40
39
38
38
36
37
39
41
44
45
47
51
52
51
52
57
61
65
64
67
70
75
78
78
79
81
82
86
88
87
86
84
91
88
85
83
82
77
76
75
73
77
82
85
95
103
115
117
123
129
134
141
145
142
143
144
140
137
133
127
107
104
100
96
91
87
82
79
78
77
79
82
86
91
140
145
150
153
152
150
145
145
137
132
125
118
110
104
91
85
79
75
73
74
70
65
66
70
72
75
77
79
68
66
68
74
248
239
222
182
112
112
108
108
108
112
116
121
122
122
118
120
122
121
117
117
115
116
117
117
119
120
119
119
127
132
140
148
154
160
160
161
164
168
172
176
181
182
176
177
177
177
176
173
172
168
165
162
159
157
155
149
153
151
148
146
146
145
141
139
136
130
125
122
118
112
109
107
105
103
103
102
101
103
102
102
102
103
105
107
102
103
104
105
107
109
110
112
112
111
111
112
112
112
113
113
114
115
114
113
111
110
111
111
112
112
113
113
113
118
118
117
116
115
114
114
115
114
114
114
114
114
114
124
127
129
130
130
129
128
127
128
129
130
131
131
132
124
124
124
122
118
116
115
112
109
104
101
99
96
94
95
92
86
84
81
78
75
73
71
69
69
69
67
65
69
69
65
63
61
60
59
55
55
54
51
50
49
49
51
51
51
50
47
47
47
43
43
43
40
39
39
39
35
36
38
40
44
47
47
52
53
54
54
57
63
66
63
66
69
74
76
77
76
82
84
88
88
88
87
85
91
89
87
85
82
77
73
75
73
76
83
86
94
101
115
119
125
131
136
145
148
146
146
145
143
139
134
128
108
106
100
97
92
87
81
77
77
76
78
82
87
93
148
154
161
163
162
158
150
149
143
135
128
120
115
112
97
90
81
76
77
76
74
67
70
71
74
76
80
81
69
65
67
73
230
217
192
156
113
117
117
119
119
121
125
131
134
135
134
134
134
134
128
126
125
120
122
122
120
119
122
125
128
132
138
143
147
150
149
157
160
165
170
174
174
174
171
170
170
173
175
175
173
168
166
163
159
158
157
156
160
157
150
146
144
141
136
131
129
125
120
116
111
104
102
103
103
103
102
100
99
98
98
99
99
100
101
102
102
103
103
104
105
105
105
107
107
108
109
109
109
109
112
112
112
111
111
110
110
110
109
110
110
111
111
111
111
111
111
111
111
113
113
114
115
114
114
115
118
119
120
119
123
125
127
128
128
128
129
130
130
129
128
127
126
125
123
121
117
115
113
112
108
106
99
98
96
93
91
92
90
88
88
86
81
78
76
75
71
67
65
62
61
68
68
66
64
62
59
58
55
55
54
51
50
50
49
45
45
44
44
44
44
43
43
42
41
40
39
38
36
40
43
48
51
50
49
45
46
45
48
53
62
70
79
65
68
75
81
88
88
86
87
84
85
85
91
94
94
89
88
87
87
86
83
79
79
78
79
79
82
88
91
107
111
117
122
126
136
141
144
136
132
129
119
121
118
102
99
94
92
88
84
73
73
71
76
85
94
104
131
163
172
188
199
203
213
202
198
177
164
159
146
137
132
128
104
120
96
92
107
73
77
76
77
78
79
80
81
71
70
69
69
211
189
163
139
119
123
120
121
123
127
131
140
144
146
145
144
144
140
135
133
130
126
125
123
121
119
118
118
120
127
136
140
140
143
147
152
155
160
165
168
168
167
163
165
167
170
172
166
163
164
162
158
156
154
154
157
159
155
149
144
141
137
128
121
119
115
112
107
104
97
99
99
100
100
99
98
97
95
95
95
96
96
97
97
97
97
97
98
99
99
100
101
102
104
104
106
106
107
110
110
110
110
110
110
110
110
108
109
109
109
110
110
110
111
111
110
110
112
112
111
111
111
112
113
117
119
120
120
122
124
125
125
125
125
128
130
131
131
130
130
129
133
130
127
124
121
120
117
111
107
101
100
97
94
91
89
87
86
85
81
79
76
76
76
71
69
69
66
65
71
69
68
66
65
62
61
56
56
55
53
52
52
51
46
46
45
43
42
41
40
39
42
44
40
39
42
44
57
64
75
85
88
80
70
68
59
56
60
67
72
75
64
66
73
80
89
89
89
91
91
91
95
102
106
107
95
95
94
95
95
88
84
87
84
83
84
87
93
95
99
102
108
114
119
131
137
132
139
135
130
128
119
112
94
92
89
88
88
86
80
80
81
87
97
108
119
149
183
190
207
220
224
233
236
225
206
194
185
176
173
170
153
133
138
121
96
86
72
78
76
75
74
74
76
77
72
71
69
67
190
169
149
135
126
128
121
121
123
127
131
141
145
147
146
145
145
143
138
135
133
131
129
127
125
123
117
116
118
124
132
136
136
141
145
149
152
157
162
165
164
163
160
162
166
169
168
161
160
160
158
157
153
152
151
153
154
151
144
140
136
132
122
119
118
113
109
105
100
93
97
98
99
99
99
98
97
94
94
94
94
95
95
95
94
94
94
96
96
96
97
99
99
101
103
104
105
106
110
110
110
110
110
110
110
110
108
109
109
109
110
110
110
111
111
110
110
111
111
111
110
110
110
112
116
118
119
119
122
123
124
125
124
124
128
130
131
132
132
131
131
136
133
129
126
123
120
119
112
109
101
99
97
92
90
87
86
84
83
81
76
75
76
76
73
71
70
68
68
72
71
69
67
66
66
65
60
60
59
57
56
55
55
47
46
45
42
41
40
40
39
42
44
41
40
42
45
59
67
82
97
107
99
89
77
68
62
64
69
74
78
71
73
79
85
93
93
92
92
91
93
97
106
110
111
99
99
97
96
96
90
87
91
86
83
84
87
93
93
94
98
103
109
114
127
133
136
135
128
121
119
117
114
90
89
88
87
88
88
83
84
87
94
106
116
129
159
195
200
215
229
234
243
248
235
222
213
203
190
187
190
165
132
136
122
97
93
98
78
74
72
71
72
72
74
71
70
68
66
162
143
131
130
129
131
129
123
124
127
132
139
142
144
145
145
145
144
140
138
136
135
133
131
128
128
121
117
118
118
119
122
126
136
139
145
148
152
156
159
158
157
161
163
165
164
160
157
158
153
153
152
150
148
145
140
139
136
131
128
125
120
110
107
106
104
102
100
98
93
96
97
98
99
99
98
97
93
93
93
93
93
93
93
90
90
91
92
92
93
93
95
96
99
101
103
105
107
108
108
108
109
109
110
110
110
109
110
110
111
111
111
111
113
113
112
111
112
111
111
110
109
109
110
113
114
115
117
121
123
125
126
127
127
129
132
134
136
136
136
136
136
133
129
125
123
118
116
109
106
98
94
92
88
85
85
84
80
80
78
74
72
75
75
73
72
72
71
71
73
74
70
70
71
71
71
72
71
68
63
60
58
57
50
49
48
43
41
40
39
43
42
40
42
43
41
40
54
63
81
103
136
137
131
115
104
94
87
80
89
99
98
100
103
107
107
104
100
95
94
95
98
108
111
113
106
103
98
96
94
92
89
87
83
79
79
84
90
88
92
95
99
103
106
119
123
122
126
161
175
145
134
112
94
93
93
92
95
95
93
97
99
108
118
130
143
172
219
215
222
237
248
255
255
251
241
230
219
211
214
218
180
165
198
166
141
155
103
76
70
67
64
63
65
67
67
66
64
63
196
174
148
132
130
129
127
124
122
123
128
135
139
144
147
146
145
142
138
137
137
132
130
129
127
125
118
117
113
113
114
116
120
131
135
142
145
149
152
153
155
156
160
160
161
160
159
156
155
148
148
149
148
145
138
124
132
128
121
116
112
109
101
95
95
95
95
95
95
94
95
96
97
98
99
99
98
96
96
94
93
91
89
88
89
89
89
90
91
91
91
95
96
98
100
102
104
105
106
106
107
108
109
109
110
110
109
110
111
112
113
113
114
114
112
110
109
111
112
112
112
110
109
109
111
111
112
118
118
120
122
125
127
129
134
136
137
138
138
137
137
132
126
124
122
120
115
111
108
104
92
88
85
83
81
85
85
80
75
72
71
71
73
73
72
71
70
71
70
70
70
72
73
76
77
79
79
79
78
74
69
65
59
49
48
46
46
45
42
40
40
38
39
42
47
53
56
57
66
87
113
150
158
161
162
150
138
132
126
128
132
137
133
132
129
116
111
107
103
98
94
94
105
109
108
111
101
106
99
79
94
72
74
101
66
105
130
100
93
107
95
109
106
125
120
150
125
112
118
129
90
105
102
91
106
90
105
105
109
101
99
119
100
130
135
148
163
214
201
218
251
229
247
246
245
237
223
220
225
242
200
165
189
196
136
136
144
123
62
64
70
53
53
60
53
67
66
64
63
203
182
155
137
127
125
125
124
121
122
127
131
135
139
144
144
143
142
138
136
135
129
129
128
125
123
117
116
111
111
112
114
118
129
132
138
142
145
148
150
152
154
159
159
159
158
157
154
153
147
147
146
144
141
135
121
126
123
115
111
107
104
97
93
93
93
93
94
95
94
95
96
97
98
99
99
98
96
95
94
92
90
89
88
87
88
88
90
90
91
91
96
96
99
100
102
103
105
107
107
107
108
109
110
110
111
110
111
112
113
113
114
114
114
112
111
110
112
113
113
113
111
109
108
110
110
111
117
117
119
121
123
126
127
129
132
134
135
135
135
135
128
123
121
120
116
112
108
108
104
94
92
90
89
87
89
88
84
81
78
76
76
71
71
71
70
70
69
69
70
70
73
74
77
80
81
81
80
79
75
71
66
62
52
50
48
45
43
41
40
40
39
40
49
56
63
66
62
71
91
114
152
162
167
173
164
157
154
150
152
155
150
145
140
136
121
112
104
95
93
92
92
102
104
102
106
102
94
97
102
81
100
87
65
73
69
104
114
108
113
130
105
123
133
122
134
118
124
109
113
126
116
68
105
104
100
110
120
113
104
112
104
117
132
126
155
162
191
210
198
230
235
243
248
235
237
243
213
198
235
193
161
197
177
164
132
148
103
74
58
60
55
54
59
53
64
64
62
61
224
208
179
149
122
121
120
117
115
115
120
124
127
131
133
135
137
139
137
132
131
126
125
124
122
120
112
110
107
107
109
111
115
124
126
126
129
133
136
139
145
147
155
155
155
156
154
150
149
148
145
142
137
132
125
114
109
106
100
97
95
93
87
85
86
87
89
91
94
94
97
97
98
99
99
99
98
94
93
92
91
89
88
87
84
85
86
88
90
91
92
97
97
99
100
102
103
104
108
108
109
109
110
111
112
112
113
113
114
114
115
115
115
112
112
112
113
115
115
116
114
112
110
108
109
108
108
114
114
115
117
119
121
123
129
132
134
136
137
137
137
126
124
124
122
119
117
117
111
108
100
96
93
91
89
88
86
81
79
78
75
72
71
69
68
67
69
69
69
68
69
76
78
81
82
83
84
83
82
79
74
69
64
58
53
48
43
43
43
41
39
41
45
60
71
80
86
88
98
109
125
157
169
174
169
162
153
149
152
157
160
160
150
139
133
117
107
97
89
92
97
101
112
112
111
120
113
119
109
85
117
105
127
119
87
132
102
157
129
170
147
171
175
135
134
159
132
145
115
89
137
122
146
119
81
111
113
149
118
105
158
96
150
152
125
168
186
154
185
169
218
203
211
218
241
212
199
218
194
203
195
143
184
149
168
108
165
103
121
53
47
60
53
55
57
60
60
59
58
226
211
181
146
120
118
116
110
107
108
112
114
117
121
122
124
127
130
130
129
129
123
123
122
118
116
110
109
108
109
111
114
117
123
125
121
123
127
131
134
145
148
159
159
158
158
156
153
151
148
146
142
136
129
122
107
97
95
90
88
88
88
84
81
82
83
86
89
92
93
96
97
98
98
98
97
96
93
93
92
91
90
89
89
88
88
89
91
92
93
94
98
98
100
101
101
102
103
107
108
108
109
110
111
111
111
112
112
112
112
112
112
112
112
113
113
113
114
114
113
114
112
110
108
109
109
109
111
111
112
113
115
117
118
123
127
131
134
136
137
138
135
132
129
126
127
129
134
134
137
147
149
150
149
147
125
119
106
100
94
86
80
79
75
69
67
66
69
69
66
69
77
81
83
85
85
84
83
83
79
75
69
65
59
55
50
44
41
39
37
37
39
45
65
79
90
96
123
136
145
149
163
165
162
154
141
122
106
110
119
122
126
119
112
107
96
96
94
103
109
119
126
141
146
148
148
140
124
119
118
102
129
97
152
121
144
165
197
158
206
181
180
209
154
192
158
167
130
163
172
113
95
110
119
97
106
106
130
117
109
149
85
115
136
116
137
178
127
182
159
191
197
193
214
197
223
186
209
169
164
198
133
122
158
162
134
104
135
126
72
61
60
53
59
60
57
56
55
54
225
210
177
141
116
114
110
111
108
107
110
109
111
114
116
117
119
122
124
125
126
123
123
122
118
116
110
108
107
108
110
113
117
122
123
120
123
127
131
135
146
151
161
161
161
160
159
155
154
147
145
141
135
130
120
102
93
90
86
85
85
85
83
81
82
83
85
88
91
92
96
96
97
97
97
96
94
93
93
92
92
91
90
90
91
91
92
93
94
94
95
98
98
100
101
101
102
103
107
107
107
108
109
110
110
111
111
111
110
110
110
110
110
113
113
113
113
113
112
111
113
111
109
108
110
110
111
111
111
111
112
114
116
117
120
128
134
139
144
147
149
149
146
142
140
141
148
153
162
166
182
186
185
183
179
153
146
126
120
111
98
90
83
79
71
68
68
68
68
65
69
79
82
85
86
86
83
83
82
79
75
68
65
57
54
50
44
41
37
35
36
39
46
71
86
99
106
143
157
166
165
168
166
158
143
129
108
90
87
93
94
102
98
95
91
83
88
93
105
116
131
141
156
159
161
156
149
136
133
131
104
122
136
144
102
144
153
172
160
204
195
182
201
179
192
162
183
150
137
157
152
132
115
85
97
103
115
127
125
96
105
113
92
113
103
117
129
122
161
146
174
188
188
203
187
203
190
193
156
162
169
124
114
131
133
129
84
119
101
76
71
60
57
66
60
57
56
55
54
217
196
149
113
114
110
111
111
111
112
113
108
105
104
100
99
99
101
107
112
114
116
117
119
119
117
116
117
113
109
106
107
113
117
115
121
126
133
139
142
153
157
163
165
167
166
166
161
155
151
148
143
134
123
112
99
90
87
82
79
78
78
80
80
80
83
83
83
84
87
95
96
97
98
97
97
95
98
96
96
95
96
98
100
93
94
95
96
97
97
96
95
95
96
96
97
97
97
116
116
113
109
104
103
105
108
115
117
117
116
116
115
114
112
111
110
109
109
109
110
113
115
115
117
116
117
116
110
110
110
112
114
116
117
118
133
143
151
161
172
179
187
184
176
174
178
187
193
203
209
214
211
205
197
190
177
168
148
141
131
117
107
93
91
83
80
77
76
77
74
74
75
75
75
77
78
78
77
73
76
74
68
63
55
54
51
47
45
44
45
46
50
59
96
115
132
144
187
190
195
196
186
177
167
158
144
123
105
91
86
80
87
79
69
60
53
63
72
96
114
140
160
171
175
178
180
181
180
177
170
149
140
135
132
135
147
159
181
188
200
199
200
198
194
187
184
175
166
158
149
142
134
119
131
133
135
138
137
130
108
102
92
89
89
90
91
100
104
108
116
124
132
138
146
147
146
140
133
126
119
115
87
80
73
76
83
89
91
89
88
85
77
66
59
58
54
55
56
57
217
198
156
120
114
114
116
121
121
122
123
119
116
115
102
101
100
99
101
104
106
109
110
111
111
111
115
117
111
111
109
107
106
110
113
124
130
137
143
147
157
162
168
170
171
170
171
166
160
153
148
139
130
119
107
90
85
83
80
78
76
78
81
82
83
85
84
84
85
89
93
94
94
95
96
96
95
93
96
102
105
105
103
99
94
94
96
97
97
96
96
95
95
95
95
96
96
97
106
107
105
101
97
96
97
102
112
115
115
115
114
112
111
114
114
111
111
111
111
113
112
113
113
112
112
114
113
109
109
109
111
113
115
118
120
137
147
160
173
187
196
207
207
201
199
200
204
207
210
213
212
208
198
191
183
175
165
142
132
121
110
99
91
91
92
94
97
99
101
106
106
108
111
112
114
115
113
112
107
104
100
95
90
81
80
76
62
58
54
54
52
50
50
73
89
106
120
145
148
151
152
144
145
146
151
151
147
135
115
108
101
103
94
78
65
44
44
50
69
90
118
143
161
164
166
180
181
181
179
175
160
152
145
139
139
146
155
173
182
199
201
202
201
196
189
186
177
171
163
158
150
144
133
134
134
136
136
134
131
113
103
93
88
87
86
85
90
91
96
102
109
117
121
127
127
126
121
115
108
101
96
74
71
68
66
70
75
82
87
87
87
83
74
67
64
61
62
63
64
220
202
166
129
115
119
122
125
124
126
126
122
120
118
106
104
102
99
99
100
101
105
107
110
110
110
114
116
111
112
112
108
104
108
113
125
131
139
146
150
159
163
167
169
170
169
169
164
158
149
144
134
124
115
106
89
84
82
80
77
77
79
82
84
84
86
86
86
87
90
93
93
94
94
95
95
96
95
97
101
104
106
103
100
95
96
97
97
97
97
96
95
95
95
95
96
96
97
104
102
100
98
94
94
97
102
110
113
114
113
112
111
110
115
113
112
111
111
111
109
110
110
111
110
110
110
110
107
107
108
109
112
115
116
119
136
148
161
177
193
204
207
210
206
202
201
203
203
208
210
206
199
190
181
174
160
152
131
121
112
100
91
87
86
91
95
100
104
107
108
109
112
116
117
119
120
124
123
121
124
123
121
118
115
113
108
96
91
88
87
81
76
72
80
88
99
109
122
127
129
128
123
130
137
149
157
162
156
136
127
121
111
101
86
71
48
46
48
58
79
110
138
166
169
171
173
174
174
173
169
155
148
143
138
137
143
151
171
180
196
198
200
199
196
189
187
182
177
171
165
160
155
145
140
139
138
137
135
132
116
109
99
93
91
92
92
98
89
91
97
103
108
114
120
119
118
112
107
100
94
90
76
75
73
70
71
74
82
90
90
91
88
81
73
68
67
68
69
70
232
219
196
161
126
133
133
133
132
133
134
130
128
126
117
115
111
107
103
103
102
104
105
105
105
105
110
113
110
111
111
107
104
112
119
126
133
143
151
155
164
167
174
176
176
173
171
165
158
143
135
125
117
111
105
89
88
86
81
79
79
81
84
87
88
90
88
88
88
91
91
91
92
92
94
96
98
102
102
101
100
99
100
100
94
94
95
95
95
94
93
91
91
91
92
92
93
93
96
97
96
93
91
92
97
103
111
118
121
122
121
120
118
120
117
116
112
110
107
106
107
105
106
104
104
103
104
102
102
102
104
106
111
112
116
134
145
160
179
198
211
208
213
209
203
200
196
197
197
197
188
181
172
164
160
146
139
121
112
103
98
92
85
84
87
91
95
100
102
102
102
105
107
110
111
112
112
114
114
116
118
119
121
122
121
121
118
116
115
115
117
115
116
120
117
118
120
114
117
119
119
119
127
136
149
165
179
181
170
163
157
127
115
100
84
55
44
40
48
64
90
115
152
158
163
159
161
159
157
152
142
138
134
131
134
142
153
176
185
204
208
213
215
214
210
208
203
200
195
191
188
182
173
162
159
156
151
147
139
119
106
97
93
93
94
95
103
89
89
93
96
100
103
106
104
104
102
98
94
91
89
92
92
91
88
84
86
91
95
97
96
96
93
88
83
83
84
85
86
245
235
220
187
136
144
140
145
146
148
147
144
142
140
125
123
119
115
108
108
108
101
100
99
98
97
101
104
109
108
107
106
108
119
124
131
139
150
158
163
170
174
172
176
174
170
166
156
149
145
137
124
114
108
100
83
91
88
85
82
81
82
85
88
90
91
91
91
91
94
93
93
93
94
96
99
102
100
101
102
101
101
99
97
94
95
95
96
95
94
92
90
90
90
91
91
92
92
93
93
94
92
92
94
101
108
129
137
143
146
147
147
146
136
133
127
122
116
111
107
105
103
102
101
99
100
99
97
96
98
99
103
105
109
119
134
146
159
179
199
212
217
221
215
209
204
199
197
197
197
186
181
175
169
164
150
144
122
111
104
97
92
85
83
81
80
81
82
83
78
79
80
82
83
84
84
84
85
86
91
94
98
101
104
105
105
106
107
107
106
109
107
106
112
111
111
114
110
110
111
112
114
115
117
122
135
144
147
148
143
139
131
121
109
101
77
67
62
67
74
85
98
119
125
128
135
136
137
137
138
137
135
144
144
150
162
173
193
201
219
225
232
237
239
239
238
236
232
230
225
220
216
207
200
196
191
183
172
159
126
113
101
93
91
90
89
96
89
89
90
91
91
93
93
93
92
92
90
89
89
88
94
92
90
88
87
86
86
91
93
93
98
101
103
102
94
95
96
97
247
236
228
197
136
149
151
150
152
154
156
151
147
145
132
127
121
115
107
105
103
100
99
98
95
95
97
98
102
103
103
104
107
121
126
132
137
145
153
159
168
171
170
172
172
167
162
153
147
140
130
117
109
107
102
87
89
87
84
83
84
84
82
86
87
89
90
91
90
89
89
91
94
97
98
97
96
96
98
100
100
97
95
96
96
94
91
90
91
91
91
85
85
86
87
88
89
90
95
94
93
94
95
97
107
116
140
152
159
161
163
163
159
146
141
135
130
122
115
108
102
98
97
96
97
96
95
92
92
93
95
99
103
107
113
126
142
162
186
206
218
224
221
215
210
205
203
200
199
202
201
197
189
179
172
153
143
121
113
105
99
92
85
82
77
76
75
74
72
66
67
67
64
63
63
63
62
62
63
65
69
74
78
82
84
87
93
95
95
96
96
97
97
97
99
100
102
100
102
106
107
107
106
108
102
103
108
113
118
119
123
124
121
117
115
95
81
73
78
82
87
93
102
105
109
123
124
126
127
128
132
135
138
144
156
168
181
206
214
237
239
243
247
250
248
248
246
244
241
237
232
227
221
212
208
201
191
180
165
132
111
98
88
85
86
90
94
88
88
88
89
89
89
87
89
89
87
86
84
84
85
96
94
91
86
82
81
83
83
88
95
100
100
102
104
99
98
96
96
246
232
220
194
145
152
151
155
157
158
158
153
150
147
134
130
122
116
109
106
102
110
107
104
99
96
89
89
96
97
98
99
103
118
124
133
138
145
152
157
164
167
162
164
163
158
153
144
138
129
122
112
105
100
97
84
84
82
80
80
81
84
83
83
85
86
87
88
89
90
88
90
93
95
97
97
97
94
94
96
96
94
93
91
96
94
90
88
88
87
86
86
86
87
87
87
87
87
93
94
94
96
98
105
116
128
159
174
181
186
191
191
190
167
160
151
144
134
124
117
104
100
97
98
99
98
97
94
94
94
95
98
101
103
108
126
140
159
180
196
207
210
216
210
201
194
188
186
187
189
187
183
175
167
161
146
135
110
104
99
92
87
87
81
70
69
68
68
68
69
68
64
60
60
61
63
61
60
58
54
54
55
57
59
61
64
69
69
70
70
69
68
66
62
63
67
70
73
74
76
77
74
72
71
69
66
62
62
69
76
83
102
106
114
118
108
101
97
86
87
86
86
89
93
98
112
113
117
119
121
127
131
141
151
166
183
199
227
233
250
253
255
255
255
255
255
255
255
255
251
244
239
233
231
226
216
204
191
173
135
113
100
91
87
88
91
94
94
92
93
91
90
89
86
85
84
85
84
81
80
81
83
82
80
76
72
70
70
73
78
86
93
98
100
103
102
98
93
89
246
228
205
180
145
149
154
157
157
156
156
152
150
148
137
133
129
126
119
116
112
107
107
106
106
104
102
101
103
104
104
104
107
121
126
132
136
143
148
151
155
157
153
155
155
150
145
135
129
118
114
107
102
99
95
85
85
83
81
81
82
84
84
81
81
83
83
84
85
86
87
88
90
93
94
96
96
95
94
94
95
93
93
92
87
85
84
84
85
87
87
87
87
87
87
86
86
86
90
89
91
91
96
104
118
132
167
183
193
200
205
208
206
185
176
165
156
144
135
126
110
105
102
102
105
104
104
95
93
94
95
96
99
102
107
121
131
144
158
169
175
191
185
173
161
156
155
156
154
155
151
147
139
132
127
110
103
86
84
83
82
80
76
70
62
61
63
63
63
65
64
59
56
56
59
61
66
65
66
63
64
66
68
72
73
76
80
81
81
81
84
82
77
65
64
66
68
69
70
70
70
69
67
66
54
51
51
54
57
60
64
76
88
100
104
102
98
93
83
82
80
78
81
86
92
97
101
105
109
110
113
116
131
144
160
178
197
225
232
249
251
254
255
255
255
255
255
253
248
241
235
229
222
210
203
193
181
169
153
122
109
100
96
96
100
105
109
107
107
104
102
97
95
88
83
83
86
86
84
82
80
80
80
78
74
70
67
67
67
72
78
86
94
99
102
104
99
91
85
245
228
205
183
145
145
153
153
153
154
154
151
149
148
139
137
132
130
127
124
120
114
113
111
109
107
102
101
107
107
106
105
106
117
122
131
135
140
144
147
150
151
146
148
150
145
140
129
124
116
112
108
103
99
94
88
88
85
83
82
82
85
84
82
83
82
81
82
83
83
87
88
90
91
94
94
94
95
93
92
93
93
93
90
85
83
82
83
86
88
89
88
88
88
88
88
88
88
88
87
88
88
93
101
116
131
169
185
195
202
209
209
209
192
181
169
159
147
137
127
113
108
106
107
108
107
107
97
96
97
98
99
102
104
109
116
125
134
143
152
157
174
160
148
139
136
135
135
129
130
124
120
115
107
101
92
86
76
76
75
74
72
67
64
58
57
59
59
58
60
60
57
56
56
57
59
62
63
64
65
66
68
71
75
77
79
84
86
86
86
86
86
83
76
75
78
80
74
74
74
73
70
69
68
56
55
55
60
61
60
62
70
82
91
94
95
90
83
79
78
77
75
77
81
85
84
89
96
102
105
111
115
126
138
153
170
188
217
225
239
243
247
251
252
254
252
247
243
237
229
223
217
211
187
181
172
162
149
137
111
99
92
91
94
102
108
113
110
109
105
101
97
92
82
80
82
86
88
87
84
82
81
80
79
75
71
67
66
67
70
74
81
89
96
100
105
99
92
86
240
233
217
199
151
137
145
147
146
147
148
146
146
146
142
140
140
139
139
135
133
132
132
131
130
128
122
120
123
121
118
115
113
120
123
129
133
138
141
142
144
145
136
139
138
133
130
120
113
115
113
110
107
103
98
92
92
89
88
86
85
86
85
86
85
83
81
79
79
81
89
89
90
90
91
91
91
91
88
86
86
88
88
85
89
87
85
85
86
87
87
88
88
89
90
91
92
93
87
86
85
85
87
97
113
127
173
189
199
205
211
213
211
196
185
171
159
148
138
128
117
113
110
110
112
112
111
103
104
105
106
108
111
115
113
111
113
117
122
130
133
132
120
114
114
114
109
103
107
108
101
96
91
84
78
74
71
65
65
64
60
55
61
57
51
50
48
46
43
47
49
53
51
51
52
53
59
61
62
65
65
68
70
76
78
80
86
89
90
90
96
96
95
89
87
85
86
85
84
84
81
79
78
78
75
72
72
73
72
73
76
68
76
80
81
90
86
75
78
78
75
73
68
69
71
56
65
77
91
100
115
120
120
131
142
156
171
204
213
223
225
230
234
238
240
238
229
225
217
209
200
195
189
154
149
140
132
123
114
94
87
85
87
96
106
115
124
116
114
109
103
97
89
79
75
77
82
86
85
84
81
74
74
73
70
67
63
61
66
65
65
70
79
89
95
106
102
96
92
251
244
229
219
153
127
137
132
135
138
139
141
141
142
142
143
144
143
139
140
139
139
139
140
140
140
139
138
139
137
133
131
130
126
124
123
129
133
136
136
133
133
130
130
130
131
133
128
124
120
121
119
117
114
111
107
102
100
97
93
89
88
87
83
81
80
78
80
79
76
78
78
80
82
84
86
87
89
87
87
87
87
86
86
86
85
85
84
85
86
88
90
90
89
89
92
93
95
90
90
93
96
101
109
118
129
156
166
175
180
185
189
189
165
155
145
136
129
125
120
113
108
111
113
113
111
110
108
111
113
115
115
115
114
115
105
105
108
111
111
111
113
108
110
111
111
112
115
118
120
115
109
102
93
85
91
87
73
68
63
58
56
54
52
49
50
50
52
52
54
54
55
57
59
61
62
62
62
65
68
70
70
73
69
72
76
82
86
90
93
96
96
97
97
97
96
96
102
101
99
97
93
93
92
86
84
81
80
83
83
83
76
79
83
87
92
92
92
92
91
91
90
85
79
74
73
74
74
76
82
96
106
119
129
141
151
159
180
187
190
196
204
209
212
212
211
202
193
184
175
168
165
156
126
123
120
112
105
97
86
88
89
91
95
98
101
104
109
108
105
99
93
89
79
81
80
82
85
85
84
83
82
75
71
70
67
61
57
56
58
60
63
68
76
82
90
91
89
86
254
252
246
239
167
126
121
124
125
129
130
131
134
136
139
141
144
144
145
148
148
147
147
148
147
148
147
146
144
142
140
138
136
131
130
129
128
128
124
122
120
122
123
123
122
123
126
127
125
123
125
125
125
122
119
112
107
106
103
99
95
93
90
86
84
83
81
83
82
79
80
81
82
83
85
86
86
87
85
85
85
85
84
84
89
88
86
85
85
85
86
88
88
88
89
90
93
95
90
93
96
99
104
113
121
130
148
158
164
168
175
177
176
156
149
139
130
123
118
116
108
107
110
114
113
112
112
111
116
119
120
121
120
118
118
109
106
107
108
106
104
104
104
103
101
104
115
127
136
143
153
154
154
150
145
137
128
100
86
76
65
60
57
55
52
51
53
53
54
51
52
55
56
58
59
60
60
59
60
60
62
64
67
61
64
70
80
85
91
94
99
100
103
107
108
107
107
107
107
107
107
102
100
98
101
98
94
91
90
89
88
87
88
89
94
103
107
110
109
110
108
107
100
94
90
83
80
74
70
71
80
85
102
116
132
147
157
161
162
165
164
166
172
179
184
182
176
169
158
148
140
136
134
105
105
104
101
97
91
80
82
83
85
90
93
95
100
99
97
95
92
87
84
77
73
72
74
76
79
83
83
84
80
76
72
68
62
57
48
53
55
54
53
58
67
79
83
86
85
255
255
248
239
170
127
115
120
121
124
125
127
130
133
137
140
143
144
147
150
151
151
151
151
151
151
150
149
145
143
140
137
137
132
130
130
131
128
124
119
119
121
124
123
122
123
125
125
124
124
126
126
126
123
119
112
109
108
106
103
98
95
91
89
87
85
84
85
85
81
82
82
83
84
85
86
85
87
85
85
85
85
84
84
86
85
84
85
84
84
85
87
86
87
88
89
91
93
90
92
97
100
103
111
119
126
143
152
157
161
166
168
166
149
142
132
126
118
113
111
104
104
109
111
111
112
114
117
116
116
115
116
117
117
119
109
106
106
106
103
101
99
99
99
99
107
123
139
153
160
173
175
176
171
165
161
151
121
106
91
79
71
63
59
54
52
53
52
53
52
53
55
56
58
58
58
58
57
57
56
57
59
62
61
65
70
79
83
88
92
98
100
104
109
110
109
108
109
110
110
110
107
105
103
105
104
103
103
99
95
92
92
93
95
98
108
113
118
119
118
119
118
112
105
101
92
89
82
78
72
70
72
85
97
115
133
146
155
154
155
151
149
151
158
168
168
160
156
146
137
130
124
121
97
98
97
95
91
87
77
78
79
82
86
90
93
96
93
92
90
88
83
80
75
71
70
71
74
77
80
84
84
82
78
73
68
64
57
48
53
54
53
51
54
62
73
79
84
85
255
255
248
242
179
130
114
113
115
116
116
122
125
128
134
137
140
142
146
150
151
155
155
156
156
156
155
154
145
143
139
139
137
132
131
129
128
126
122
119
118
119
126
127
130
133
137
136
134
138
138
135
132
128
125
119
112
112
110
107
102
98
92
94
92
90
89
90
90
86
84
84
84
85
85
85
84
85
83
83
83
83
82
82
82
82
81
80
81
84
85
84
85
85
86
89
91
93
92
95
98
100
103
106
113
116
132
138
142
144
148
149
148
138
132
125
118
112
107
104
99
98
101
104
105
112
118
115
116
116
116
115
117
116
113
104
102
101
102
98
95
94
91
95
103
120
145
164
187
196
205
205
202
194
186
184
178
153
138
123
108
98
83
79
68
62
58
56
55
55
56
57
57
56
55
54
56
56
55
49
50
52
55
59
63
68
77
82
87
91
96
98
103
109
108
107
105
108
108
108
109
111
112
113
112
112
112
113
113
111
108
105
106
109
112
120
125
128
131
133
135
135
130
126
122
104
101
94
87
79
68
64
61
65
72
86
101
122
125
125
124
123
122
121
125
127
130
129
125
118
108
101
97
89
88
86
85
82
79
76
71
73
77
81
84
87
89
82
82
80
79
77
75
72
69
68
68
70
72
77
82
82
83
80
74
70
68
61
48
51
51
51
51
53
54
63
73
81
83
255
255
249
240
197
146
101
108
109
110
112
116
120
124
130
134
138
141
144
147
147
149
149
149
149
149
147
146
138
136
134
131
131
124
123
122
118
115
116
116
120
124
135
137
141
143
145
151
153
151
151
146
143
139
134
124
115
112
109
110
107
101
95
94
93
94
93
94
94
94
90
89
87
87
88
87
85
85
82
82
82
82
81
81
80
80
80
81
81
81
81
85
84
84
85
86
87
89
91
94
97
100
102
108
116
122
125
132
139
143
143
142
140
130
123
117
115
112
108
104
99
96
96
99
102
110
116
113
119
123
124
123
120
120
118
102
99
99
97
88
79
90
84
95
111
131
153
169
182
195
210
210
211
208
202
194
189
165
154
142
125
111
103
89
74
68
59
55
59
54
53
55
56
56
55
53
57
54
50
46
49
52
54
54
57
63
73
79
85
89
92
95
99
102
101
101
102
108
106
103
102
107
112
115
112
112
112
111
111
111
111
113
117
120
125
133
136
141
146
145
141
140
140
136
131
110
105
99
93
87
76
71
60
62
66
68
72
86
94
100
103
107
109
110
106
107
105
106
107
106
100
91
83
82
85
85
83
78
75
78
69
73
77
80
79
78
85
80
79
77
74
72
70
68
68
68
69
72
76
80
83
86
85
83
80
75
69
61
50
52
52
52
50
50
48
50
61
74
81
255
255
249
241
198
148
106
107
109
109
111
115
120
121
126
130
134
136
139
141
142
144
145
146
146
147
148
147
137
135
133
133
131
125
124
122
118
116
116
118
121
125
134
138
142
145
148
153
155
154
153
148
145
140
135
124
116
112
109
109
105
101
96
95
94
95
94
95
95
95
92
90
88
87
88
87
84
84
82
82
82
82
81
80
79
79
79
79
79
80
80
84
83
83
83
85
86
88
91
94
97
101
104
110
118
123
130
134
140
143
144
142
140
130
122
118
115
111
107
104
99
95
96
98
100
108
114
111
118
120
121
120
119
118
116
103
98
97
95
87
80
83
80
89
104
124
147
165
174
185
200
205
210
207
201
196
191
168
156
146
131
116
104
93
79
71
57
52
53
51
51
54
56
58
56
54
56
54
51
48
51
53
55
51
54
59
71
77
84
89
92
96
100
102
102
102
103
105
104
101
100
103
106
108
108
108
108
109
109
109
109
110
114
117
124
135
139
144
146
145
143
143
142
137
132
109
105
99
93
87
76
74
67
68
67
66
66
72
77
91
94
100
102
103
103
104
101
99
97
96
96
95
84
82
84
85
84
82
79
75
70
71
73
75
77
77
79
79
78
77
74
72
71
68
69
69
70
73
76
80
83
87
85
83
80
76
71
63
51
52
51
50
48
48
47
48
59
72
79
253
255
252
242
195
149
110
106
106
107
108
111
115
118
117
121
124
126
126
128
128
131
132
133
135
137
138
138
134
133
131
128
128
120
117
113
112
110
112
113
120
125
132
137
144
150
153
157
157
158
157
151
147
140
134
122
116
111
106
104
102
99
98
96
96
96
96
97
98
98
96
93
90
89
87
86
82
81
79
79
79
80
79
79
76
76
76
78
78
78
78
79
78
80
80
81
82
84
90
94
99
103
107
114
122
129
131
135
139
141
140
137
136
131
126
121
114
111
107
105
98
94
91
91
95
102
109
108
113
115
116
116
115
114
115
108
101
93
86
81
79
72
71
75
80
92
111
130
146
157
175
176
177
174
173
177
175
161
152
143
130
120
109
99
85
75
65
56
54
53
50
49
50
52
53
55
50
50
51
50
49
50
50
49
51
55
64
70
77
82
84
87
92
95
95
95
96
95
95
96
96
97
97
97
96
97
98
99
101
101
102
101
104
109
114
129
135
139
139
139
141
143
141
134
130
117
111
103
97
91
82
78
79
77
73
70
69
71
72
78
81
87
91
95
103
104
103
99
95
94
96
97
95
93
90
86
86
86
84
74
78
72
69
68
70
72
70
78
76
76
75
74
72
70
71
72
73
75
75
78
82
86
85
84
82
79
75
68
55
54
49
44
42
42
44
44
53
64
71
255
255
251
243
199
152
111
105
106
107
108
110
114
116
118
121
123
123
121
122
121
124
124
124
124
123
121
120
127
125
122
121
119
112
110
110
107
107
108
111
116
121
128
132
138
143
146
150
151
152
151
146
141
134
128
116
110
106
102
102
99
96
94
94
94
95
95
97
98
98
94
92
89
87
86
84
80
77
76
76
77
78
77
78
77
77
77
77
77
79
79
79
78
78
78
81
82
84
90
94
99
102
107
113
122
129
136
139
142
143
145
144
142
132
129
122
114
107
105
104
96
92
93
93
93
99
104
104
109
111
112
112
112
112
109
104
97
88
80
78
76
67
62
61
58
60
67
76
81
92
121
124
122
128
136
140
142
137
131
124
116
107
98
91
81
79
78
78
80
68
64
51
48
48
47
49
43
44
44
45
44
44
43
47
49
50
55
61
68
73
83
86
91
95
95
96
97
91
92
92
93
94
94
94
87
87
87
88
89
90
90
89
89
92
96
107
112
116
118
120
122
123
122
119
118
120
117
112
106
103
96
93
92
88
84
81
80
78
77
88
90
91
90
91
98
100
104
109
112
108
102
100
108
107
101
96
91
89
88
82
82
78
71
66
65
65
66
75
74
74
75
74
73
72
71
73
75
75
72
74
78
84
84
83
83
81
78
72
57
55
49
44
40
39
40
41
46
54
60
255
255
250
245
207
159
118
106
107
108
107
110
113
116
118
121
123
123
120
120
119
122
122
122
122
122
120
119
121
120
118
118
119
116
114
115
113
111
113
114
120
124
126
129
133
137
139
145
146
147
146
141
136
130
125
113
107
103
100
101
99
95
92
92
92
93
93
95
96
98
93
90
88
86
85
84
80
76
74
75
76
77
77
77
77
77
77
77
77
79
79
80
80
79
79
82
84
85
88
92
98
101
105
111
120
128
135
139
142
144
144
145
144
132
129
120
112
106
102
103
95
94
93
94
95
98
104
102
104
106
107
108
107
107
105
96
92
85
78
73
70
63
56
56
55
51
54
57
59
61
82
90
96
104
111
117
120
118
113
108
101
95
86
83
78
80
82
83
81
78
74
66
60
54
47
45
44
44
44
44
44
44
44
46
47
49
56
63
71
77
84
88
93
97
98
98
99
94
93
92
91
89
89
89
85
85
85
85
85
85
85
79
80
82
87
99
103
107
108
109
111
112
110
111
110
113
112
110
109
109
104
101
102
98
92
89
88
88
86
98
98
96
93
91
93
96
101
105
109
109
106
104
107
105
106
105
100
95
89
83
83
78
71
64
60
59
65
73
72
73
74
74
74
72
71
73
76
74
71
72
76
83
82
82
83
81
78
73
57
56
51
45
40
39
38
40
44
51
56
251
251
251
247
221
184
142
119
111
107
107
105
109
106
110
112
114
118
121
121
118
119
119
118
118
119
119
117
117
117
118
120
123
128
129
127
125
121
118
116
121
124
123
127
130
135
137
143
144
146
144
138
133
129
122
112
102
101
99
98
96
94
91
93
92
92
93
92
90
88
87
87
86
85
83
82
81
75
76
76
77
78
79
80
79
79
78
78
79
80
82
81
81
80
81
82
84
87
89
92
96
102
107
114
117
119
123
125
128
132
133
132
131
111
108
104
100
97
95
94
89
88
89
91
92
91
90
106
101
100
101
101
101
100
95
84
79
74
70
65
63
59
58
57
52
49
46
44
45
43
39
39
44
53
60
64
68
79
80
79
73
71
75
74
74
74
74
74
75
75
75
78
79
74
65
58
47
43
38
43
48
49
48
39
41
46
61
71
78
82
93
94
96
102
103
103
104
99
98
97
93
85
82
81
82
81
82
82
82
83
82
78
78
77
77
85
90
92
87
85
86
87
88
90
91
91
93
100
110
118
133
135
137
134
127
122
116
107
105
113
112
113
112
112
111
110
119
117
116
117
116
114
106
110
109
110
109
106
98
83
76
78
80
77
76
74
80
82
82
82
80
77
75
70
70
70
71
73
75
78
79
72
74
77
79
78
76
71
65
58
50
45
46
47
45
43
46
52
58
251
251
251
248
230
201
163
114
108
108
110
107
112
113
113
115
118
121
122
119
118
115
114
114
114
114
112
112
117
118
120
122
126
131
131
131
128
124
120
116
117
118
121
123
127
129
131
136
137
136
136
133
130
126
118
104
96
95
94
92
89
87
84
88
86
88
88
89
87
86
86
86
84
83
81
79
78
76
76
76
77
78
79
79
78
78
77
77
78
80
82
84
85
86
88
91
94
97
102
101
101
102
105
110
118
121
121
119
118
118
117
114
111
105
100
95
91
89
89
89
86
85
86
88
89
88
87
92
91
92
94
94
93
91
89
78
72
66
61
56
53
57
56
52
50
47
44
43
40
40
36
33
32
32
33
39
42
50
54
56
57
56
53
52
51
55
62
69
74
73
75
78
81
82
85
87
81
75
66
55
53
50
49
47
48
51
63
71
78
83
89
90
94
98
99
99
98
96
95
92
89
80
76
75
75
76
77
80
80
80
79
74
75
76
78
81
84
84
80
78
78
78
80
81
81
90
95
101
111
121
137
142
147
145
145
142
139
133
129
132
134
133
132
131
127
125
121
116
110
104
103
100
96
106
100
96
95
97
99
95
93
88
83
84
86
89
83
97
95
94
92
89
86
79
76
74
73
73
72
73
73
70
72
74
77
77
77
75
71
67
62
59
59
57
54
50
51
54
56
251
251
251
248
237
212
178
115
107
107
112
108
114
116
116
118
120
123
121
120
119
116
115
115
114
114
112
111
118
119
122
125
129
134
134
133
131
128
124
119
115
115
121
121
124
124
126
127
129
130
131
129
127
123
115
101
93
92
90
88
86
83
80
83
82
83
85
85
84
83
85
84
83
81
80
78
77
76
77
77
77
78
79
79
77
77
77
77
78
80
82
85
86
88
91
95
98
101
100
99
100
101
103
106
111
113
120
118
117
115
113
111
109
100
95
90
88
88
90
91
88
88
89
90
91
91
89
92
90
90
91
90
88
86
74
66
62
59
57
54
52
56
52
50
48
46
44
43
42
42
38
36
35
35
34
39
41
46
49
51
52
51
50
47
42
45
51
58
63
67
71
78
79
82
86
90
95
89
82
69
63
57
52
55
55
57
67
76
83
87
88
90
92
96
97
96
96
96
95
91
87
79
75
75
72
74
75
77
79
77
76
75
76
78
81
82
82
81
78
77
77
76
77
79
78
90
92
101
112
121
139
147
151
154
155
157
155
149
147
143
143
143
143
141
135
131
126
117
107
100
97
94
91
102
98
93
90
89
92
102
98
94
93
92
93
94
93
105
104
103
99
96
93
85
82
78
75
72
71
69
69
69
71
73
75
76
78
77
74
71
68
65
64
62
57
55
56
57
58
250
252
253
251
245
226
196
129
111
104
110
111
115
116
119
121
124
125
126
125
123
122
122
119
119
118
117
116
120
122
127
132
136
140
142
142
141
138
133
128
117
115
119
117
115
115
114
114
116
119
120
119
117
115
111
99
91
89
87
85
82
79
75
74
73
75
77
79
78
78
79
78
78
78
77
77
77
78
78
78
78
78
78
78
77
77
78
78
80
82
84
88
90
92
95
97
98
99
100
102
105
107
107
106
104
101
102
100
99
101
101
100
99
89
87
85
85
87
90
92
90
89
90
92
93
92
91
93
85
81
79
77
74
73
77
68
64
62
59
56
54
53
50
47
46
45
44
44
43
40
40
45
51
56
59
59
59
56
54
52
48
47
48
47
49
53
57
62
66
75
79
86
88
89
89
90
92
95
96
97
90
84
80
72
70
68
71
75
81
86
89
90
92
93
92
92
91
97
94
91
87
80
80
78
72
72
72
72
73
75
75
76
77
78
82
85
84
84
84
83
82
82
82
83
82
88
93
101
114
125
147
154
162
165
169
173
176
176
173
168
169
170
170
167
156
150
140
127
113
101
94
90
86
93
97
99
93
83
80
95
95
104
111
113
112
110
115
122
119
117
115
110
106
94
89
84
79
73
70
66
65
70
70
71
73
74
78
79
78
77
75
72
69
66
63
59
60
62
63
249
253
255
254
246
228
199
145
116
100
106
112
113
112
117
119
123
126
128
128
128
123
122
122
121
119
117
117
121
125
132
136
141
145
146
146
146
144
141
136
123
120
116
114
112
108
108
106
107
113
112
112
111
109
108
104
92
91
89
86
83
80
76
69
68
70
73
75
75
75
75
76
76
77
78
79
80
80
80
80
80
80
80
80
78
78
79
80
82
84
86
96
97
98
99
100
99
98
98
97
97
98
98
98
99
100
91
91
89
90
90
90
89
93
91
89
88
86
86
85
88
87
88
90
91
90
89
101
90
86
84
85
86
86
73
67
66
66
66
65
64
53
49
47
45
45
47
48
47
48
61
70
76
78
77
82
82
79
76
71
65
62
61
64
75
79
80
80
80
84
80
76
82
86
89
90
91
93
95
100
101
104
106
108
105
97
85
84
87
88
89
91
92
92
91
91
91
91
89
86
82
79
80
79
78
75
72
69
70
72
73
73
74
75
76
81
83
84
85
86
85
84
84
84
85
92
97
106
117
130
154
162
164
168
172
175
179
184
185
181
183
183
182
180
166
157
148
135
120
107
97
93
84
92
90
90
93
93
90
80
99
103
111
121
128
129
120
134
133
132
128
124
118
106
96
87
82
75
71
66
64
73
72
71
72
72
76
79
84
83
81
76
72
69
68
73
76
81
86
251
250
254
254
245
235
217
165
110
95
112
102
116
118
119
121
123
125
126
126
126
123
124
124
122
120
119
120
126
128
130
135
138
146
148
148
147
146
142
138
126
122
122
116
108
104
103
109
111
112
114
117
117
114
109
100
93
89
85
82
79
77
72
69
67
69
71
73
74
76
76
78
80
80
79
79
80
83
83
83
82
82
82
81
85
85
84
82
81
82
85
91
92
95
97
100
101
102
98
98
98
97
98
95
93
92
90
89
90
89
88
88
88
86
86
85
85
84
84
83
89
90
89
88
89
91
93
101
99
95
89
85
84
84
77
70
66
63
61
61
61
58
53
47
43
47
49
51
47
58
78
82
86
87
87
88
87
87
86
81
75
70
71
74
81
82
82
82
81
81
84
81
76
75
80
87
89
90
93
97
99
103
106
113
113
111
102
98
97
96
85
88
89
91
91
90
89
88
87
86
83
81
82
80
78
76
75
72
70
71
70
74
75
76
78
80
81
81
87
87
84
82
84
85
86
90
95
103
114
126
149
159
163
170
175
178
179
180
180
175
177
180
184
181
169
160
152
136
124
119
111
98
84
86
87
92
94
91
88
90
92
101
114
125
132
132
130
140
134
128
125
125
124
109
99
91
85
79
74
67
63
73
70
69
72
73
74
75
77
77
78
79
82
83
84
90
90
91
93
251
251
254
255
249
240
223
182
123
95
104
102
110
112
118
119
121
123
126
124
124
123
123
123
122
119
118
119
127
128
131
135
138
145
146
145
143
142
139
133
121
118
117
113
110
106
105
106
106
108
111
112
113
111
106
99
90
86
82
79
77
75
70
72
70
71
71
71
71
71
73
75
77
78
78
79
81
84
84
83
83
83
82
82
85
85
84
82
81
81
84
89
91
93
96
98
99
99
94
95
96
96
94
90
88
86
82
82
82
82
83
87
88
87
86
86
86
85
85
85
88
89
89
89
91
94
97
99
99
100
99
95
86
80
82
76
71
67
63
60
59
56
53
51
47
47
47
50
63
76
93
96
100
102
101
100
99
98
97
94
89
85
85
85
88
88
87
85
84
94
93
84
80
75
71
67
72
73
79
89
95
100
104
110
112
115
114
113
111
111
112
110
106
94
87
81
78
83
82
80
80
82
83
85
82
82
80
80
72
70
68
70
70
71
72
77
77
78
85
85
86
85
84
82
81
85
90
96
106
115
134
142
145
151
155
159
161
163
163
166
167
168
169
167
157
151
140
129
122
119
117
111
102
87
89
91
92
91
90
89
88
94
104
114
122
128
132
143
137
129
124
124
120
108
97
90
86
80
75
71
68
72
70
70
73
74
75
77
91
92
95
96
99
101
102
95
95
94
94
251
250
253
255
251
243
227
194
135
94
95
103
109
112
115
116
119
119
123
123
123
121
122
122
120
118
117
118
120
121
124
126
130
134
137
137
137
136
132
129
119
115
115
112
108
108
106
103
101
103
105
106
105
104
101
95
88
85
81
78
77
75
70
69
68
69
70
72
73
75
72
74
75
76
77
80
83
85
85
85
84
84
83
83
84
84
84
83
81
80
82
85
87
89
91
92
93
93
88
89
90
89
88
85
81
79
80
79
80
82
85
88
90
89
89
89
89
90
90
90
88
88
88
89
91
96
99
104
97
97
99
99
94
89
78
73
69
66
63
61
60
61
50
50
48
49
55
64
82
92
105
107
112
113
113
110
109
106
104
101
96
90
87
88
87
87
86
85
84
91
89
91
91
88
79
73
65
65
66
76
82
88
91
94
98
106
112
112
112
113
110
109
109
105
103
102
102
100
98
92
87
82
82
82
82
85
87
88
84
82
80
78
78
79
78
81
82
82
83
83
84
85
83
79
78
79
81
87
92
98
111
115
123
127
130
133
134
136
136
145
145
144
144
143
136
134
130
130
133
135
134
126
103
95
93
92
93
92
93
89
87
89
94
99
106
111
118
136
133
126
123
118
116
107
103
99
92
87
80
76
73
71
70
73
81
85
88
91
103
103
104
103
102
100
97
90
89
87
85
251
250
252
253
249
242
226
197
142
98
94
102
107
111
112
114
117
117
121
122
121
120
121
121
120
117
116
117
119
119
122
124
127
130
133
133
133
133
130
127
118
116
114
112
108
107
105
102
101
100
102
101
101
100
97
93
88
85
81
79
78
76
72
69
68
69
71
73
74
77
71
72
73
74
74
77
81
83
83
83
82
82
81
81
83
84
85
83
81
80
81
83
84
86
88
89
90
90
86
86
86
85
83
82
80
79
80
79
79
82
85
89
91
89
90
90
90
91
91
91
87
87
86
86
89
93
97
103
97
97
98
99
96
94
81
73
68
64
61
61
61
59
48
51
51
53
61
72
87
96
108
111
114
116
116
111
111
109
107
102
93
89
85
84
85
85
83
83
83
94
93
91
91
87
80
71
67
65
66
74
79
83
84
90
94
100
106
109
110
110
109
108
106
105
104
104
104
107
104
101
97
91
89
89
85
87
90
90
89
89
87
84
82
80
78
79
80
80
81
81
83
84
82
79
77
75
77
81
85
89
97
102
110
115
118
119
121
123
123
131
131
132
133
131
127
124
127
130
136
137
136
130
102
97
94
90
90
91
91
84
83
84
88
92
96
102
107
126
125
124
120
118
115
109
104
102
95
90
85
81
79
76
76
80
88
92
95
97
108
108
108
106
104
100
95
87
85
82
80
251
249
251
251
246
238
223
204
154
107
95
96
98
106
109
109
112
115
119
119
120
120
120
120
119
117
114
115
120
120
122
124
126
129
129
128
129
128
128
126
121
119
116
112
107
103
102
102
102
96
96
96
96
95
93
90
90
87
83
81
80
79
75
75
73
73
74
74
73
74
74
74
74
73
73
76
80
82
82
82
81
81
81
80
83
84
85
84
81
80
79
79
80
82
84
85
85
85
83
82
79
78
77
78
81
82
79
77
76
77
82
86
89
90
90
91
91
92
92
93
86
84
82
81
83
88
92
93
102
104
102
98
95
94
95
79
69
62
59
58
59
62
64
75
79
78
83
92
94
103
114
115
118
120
120
114
115
114
110
102
92
84
80
81
81
83
86
87
89
89
90
89
88
84
80
76
69
64
63
73
79
83
85
76
79
82
87
89
92
96
97
96
96
96
97
99
100
104
106
109
111
112
111
112
110
111
110
109
107
106
106
100
97
94
89
84
84
83
78
77
78
79
79
81
80
69
72
73
76
78
83
86
92
96
98
100
101
102
102
108
112
115
117
117
112
110
120
124
126
125
124
124
104
98
91
85
82
83
82
72
72
72
77
82
86
91
97
107
110
114
119
118
116
110
101
98
95
94
91
92
93
93
93
95
100
101
101
100
101
101
102
101
99
95
91
69
66
62
58
255
252
252
251
242
232
216
197
156
113
96
101
105
109
109
112
116
117
118
120
120
118
119
121
120
117
116
117
118
118
118
117
119
117
117
118
119
120
122
122
118
117
114
113
112
109
105
98
97
94
92
88
87
86
89
89
88
87
83
80
77
75
74
71
71
72
72
73
73
74
76
77
77
78
77
78
77
78
77
78
78
78
75
74
74
75
76
76
75
74
75
76
76
76
76
76
76
76
75
75
77
78
79
79
78
77
73
72
74
76
78
81
83
86
87
88
89
88
88
88
87
83
81
81
84
87
89
93
91
92
92
90
88
84
87
81
78
72
70
69
71
76
85
86
85
86
91
94
97
102
110
112
112
113
114
114
115
112
106
97
89
82
80
80
79
80
81
82
82
80
79
75
71
69
65
62
64
65
69
72
75
79
82
79
80
81
84
85
84
83
83
83
83
86
89
91
92
86
90
97
102
115
122
129
137
138
139
140
139
135
131
126
124
119
113
102
97
94
86
82
81
81
81
79
77
78
75
71
67
65
66
69
73
77
82
86
89
100
103
96
98
98
100
99
96
96
98
105
112
114
115
111
75
54
58
64
72
81
84
84
83
82
82
82
81
81
82
85
87
91
97
102
107
114
113
109
103
100
101
102
104
112
111
111
109
107
103
100
98
96
94
94
92
90
85
63
62
60
59
253
249
249
247
236
225
209
185
153
119
102
100
102
108
109
112
116
117
118
120
120
118
118
119
119
117
115
116
116
115
114
113
114
113
113
111
113
116
120
121
118
117
118
117
115
112
108
100
99
98
95
89
86
85
87
88
90
89
86
83
80
78
76
73
73
73
73
73
74
74
76
75
76
77
75
76
76
76
76
77
76
77
76
73
73
74
75
74
73
72
73
75
75
75
75
75
75
75
74
75
76
77
78
78
78
77
73
72
72
75
77
80
81
82
83
84
84
84
85
84
85
82
79
79
81
83
84
87
91
92
90
87
85
85
85
81
79
78
77
75
73
81
89
89
90
91
93
97
98
101
108
107
108
108
109
108
108
104
98
92
85
81
76
76
75
75
75
75
75
72
71
67
66
65
63
61
64
66
71
75
77
81
84
77
79
82
85
83
82
82
77
76
77
78
79
81
82
78
83
91
99
117
126
133
146
149
151
156
158
155
152
148
146
140
132
116
109
104
95
90
86
86
84
82
79
78
75
70
66
62
61
62
68
72
76
81
86
96
99
95
94
96
96
97
95
95
96
103
108
109
108
100
64
43
48
56
68
77
84
85
86
86
85
84
84
83
83
79
83
89
97
101
106
108
109
109
109
106
105
103
104
111
111
112
113
108
101
93
90
88
86
86
85
83
80
62
61
59
57
247
243
243
239
223
210
192
156
139
120
105
98
102
109
109
111
115
116
118
120
121
117
116
116
116
115
113
112
112
110
108
105
105
104
104
106
108
111
116
117
115
114
118
117
115
112
108
101
99
96
93
88
86
85
87
89
88
88
86
84
82
80
77
73
72
70
69
68
69
70
72
72
73
73
73
72
73
72
73
73
74
74
73
73
73
75
75
74
72
71
72
72
72
72
72
72
72
72
77
78
80
81
82
83
83
83
82
81
79
78
78
77
77
81
81
81
81
82
83
84
87
86
84
82
82
81
81
79
85
85
84
82
82
85
87
86
89
94
95
95
93
96
97
97
96
97
98
99
96
97
99
100
99
101
102
95
94
89
84
81
79
78
74
74
70
68
67
66
66
69
69
68
69
70
72
71
69
73
76
82
84
87
88
85
86
87
88
85
84
83
81
80
77
73
71
72
71
66
71
81
93
119
132
143
158
165
175
181
189
189
190
188
183
175
164
137
125
117
111
104
100
98
98
96
94
93
91
87
82
78
72
71
71
73
76
78
80
86
91
89
90
89
90
87
87
86
88
92
96
97
96
89
66
39
43
51
63
74
83
89
87
89
89
90
91
92
92
81
81
84
88
92
97
105
98
101
105
105
102
99
97
106
105
103
98
92
86
82
82
80
78
77
78
78
76
62
61
59
57
245
241
239
235
215
201
181
161
142
120
104
104
105
102
106
110
113
116
115
117
118
118
114
113
115
116
113
110
112
109
105
101
101
100
100
105
105
107
111
114
120
122
123
122
121
120
117
111
111
102
101
97
97
94
94
89
86
86
86
85
83
80
76
74
72
69
67
65
65
67
68
69
69
70
70
71
69
70
69
71
71
72
71
71
72
73
73
72
69
68
68
70
70
70
70
70
70
70
78
79
81
83
84
85
86
86
85
84
84
83
84
83
83
80
79
79
79
80
83
84
89
89
89
88
87
85
84
83
79
77
81
85
88
89
91
93
95
97
101
106
110
112
108
107
106
104
103
100
98
100
95
91
87
87
87
80
79
77
75
71
70
69
69
69
67
64
63
62
62
72
72
72
73
76
78
79
78
80
85
90
89
90
91
91
89
87
83
84
84
85
77
77
77
77
78
79
79
75
81
90
103
129
144
155
173
185
197
206
215
218
221
215
211
201
187
153
137
125
112
103
99
98
102
105
105
100
99
97
94
89
85
85
86
90
91
92
94
100
104
102
102
99
96
94
90
89
89
89
91
94
93
90
85
63
62
64
68
75
82
91
90
92
92
93
93
94
95
83
85
86
88
90
92
96
94
93
90
90
92
93
93
96
94
92
88
85
82
82
83
80
78
77
78
79
81
73
72
69
67
249
245
244
240
219
203
185
169
147
122
104
107
106
100
108
109
112
115
117
117
118
118
116
114
114
116
112
109
112
109
105
101
100
99
100
103
103
104
109
113
124
127
126
126
126
124
122
117
117
107
106
103
102
99
96
88
85
86
86
85
83
80
76
74
72
69
66
64
64
67
69
69
69
69
70
70
71
69
70
70
71
71
72
71
70
71
71
70
67
66
66
70
70
70
70
70
70
70
76
77
79
82
84
84
84
85
82
84
85
85
85
85
85
79
78
77
78
79
82
83
88
89
90
89
88
86
84
86
76
77
82
86
90
91
91
94
95
96
100
107
113
117
113
111
109
106
104
101
102
101
94
88
83
81
80
75
73
72
70
69
66
65
68
65
64
63
62
60
60
72
71
70
72
74
78
79
79
83
87
90
91
91
92
93
91
86
81
80
82
83
79
79
79
76
75
76
76
82
87
97
109
135
148
161
177
190
202
210
219
224
227
218
214
204
190
155
137
124
109
101
97
96
102
105
105
97
96
95
94
90
86
85
86
88
91
93
95
103
107
110
108
106
103
98
95
92
96
96
96
98
97
95
94
77
75
73
76
82
87
97
98
100
100
99
99
98
99
83
85
88
92
92
92
90
94
90
86
85
90
92
93
91
91
90
89
87
86
85
83
80
78
77
78
80
80
80
78
76
74
250
250
249
250
237
227
220
199
175
137
116
109
109
112
109
112
114
117
116
117
118
117
116
115
114
113
112
111
109
104
100
99
98
96
98
98
100
103
110
114
121
123
126
127
129
130
129
122
121
114
112
109
108
107
105
95
90
87
83
80
79
78
76
73
70
66
63
63
63
63
64
66
67
68
67
67
69
70
69
70
68
70
70
71
69
69
69
68
67
64
62
63
63
63
63
64
65
67
74
76
78
78
78
78
81
82
84
84
85
85
86
87
87
79
79
79
80
80
82
82
86
87
87
87
88
89
89
85
81
80
81
84
87
90
91
93
96
99
102
104
103
116
116
116
117
115
113
111
103
99
86
81
78
73
71
62
62
64
66
65
63
61
61
62
62
61
60
60
60
66
70
78
78
80
81
81
86
87
89
89
88
90
92
93
90
88
83
80
79
79
77
77
78
78
78
78
77
81
86
96
108
139
153
165
179
191
200
208
219
219
216
203
198
190
178
145
126
111
104
95
91
90
91
92
92
90
89
85
82
80
78
80
81
83
87
89
93
102
105
107
107
105
103
99
94
93
92
94
95
96
96
97
96
91
88
85
88
88
87
96
101
102
103
105
105
104
104
94
94
95
97
100
101
100
98
94
91
91
91
93
92
94
94
94
93
92
91
90
87
86
82
80
79
78
79
78
79
81
82
255
255
255
253
249
244
240
219
205
177
143
113
115
114
112
114
119
119
120
121
121
119
118
116
114
111
108
107
104
100
97
96
95
91
93
98
99
101
107
111
119
121
127
128
130
131
130
123
121
121
119
115
115
113
111
101
94
89
84
79
78
77
76
70
67
63
61
60
61
60
66
66
66
63
63
64
68
69
70
69
70
68
68
67
67
67
67
66
65
63
60
62
61
61
60
61
62
63
70
71
73
73
72
73
74
75
81
81
82
85
85
86
86
82
82
83
83
83
83
83
85
86
87
87
89
90
90
92
95
96
97
98
98
97
93
92
92
94
95
97
99
105
105
106
109
112
111
111
108
102
85
79
75
72
69
67
66
66
65
65
64
63
64
63
60
60
61
61
62
69
74
85
88
88
88
87
86
87
88
87
88
91
92
91
90
86
81
77
75
75
71
73
74
76
77
79
78
83
87
93
103
136
153
165
174
185
192
196
202
199
196
182
176
167
157
129
113
100
88
80
76
75
75
74
73
72
71
69
67
65
63
62
62
67
73
78
85
95
101
108
106
103
101
97
92
92
89
88
87
88
91
93
97
95
93
90
90
90
89
92
96
97
96
97
97
100
101
94
96
99
101
102
102
104
109
106
101
97
95
95
95
96
97
98
100
100
98
97
93
90
85
81
77
73
71
76
78
80
82
255
255
254
254
252
248
243
229
215
193
159
114
117
114
112
115
119
120
120
121
121
119
118
116
113
111
107
108
101
97
94
94
93
88
90
98
98
100
105
109
118
120
126
128
130
131
130
124
123
120
118
114
114
112
111
101
97
92
86
82
79
78
75
69
66
62
60
60
60
59
65
66
65
62
62
63
67
70
69
69
70
71
68
67
67
67
67
66
64
62
60
61
60
59
59
59
60
61
65
67
68
68
70
70
71
74
79
79
81
82
83
84
84
83
85
85
85
84
84
83
85
86
87
87
89
90
90
96
98
100
100
100
100
99
95
92
91
92
93
94
94
99
97
100
102
104
103
103
100
97
89
85
79
75
71
75
73
69
69
68
66
62
63
62
58
58
58
59
58
70
73
85
86
87
85
86
86
86
87
85
86
88
91
90
87
85
80
76
74
76
71
72
74
75
78
79
80
88
91
96
105
136
151
164
173
181
189
190
193
190
186
169
165
156
147
123
111
100
84
78
73
70
70
69
67
66
65
63
60
56
50
51
51
58
66
74
80
92
98
103
101
98
95
91
87
87
84
83
82
84
85
88
93
91
88
87
89
89
87
92
91
91
92
92
92
94
96
94
97
100
102
103
104
110
115
113
108
103
99
96
96
100
99
99
98
97
98
99
95
91
85
80
74
70
67
73
74
76
78
254
253
255
255
253
250
244
240
216
203
184
112
112
114
110
113
116
118
117
119
119
117
115
113
112
110
108
107
102
99
97
98
97
90
92
98
98
98
102
106
115
118
122
125
128
131
132
128
128
124
122
118
118
116
115
105
105
102
98
93
88
82
71
72
69
65
63
62
63
62
63
64
66
66
64
65
66
67
67
70
71
73
70
69
67
68
67
66
65
63
60
59
58
57
56
56
57
58
59
61
63
65
66
68
70
72
76
77
79
81
82
83
83
87
88
89
89
87
85
84
84
85
86
88
90
91
91
96
96
95
96
97
97
97
95
88
84
82
80
80
81
86
85
89
94
97
100
100
99
96
90
89
86
84
81
87
84
78
77
77
75
73
73
71
62
60
59
60
61
71
75
82
82
83
82
82
87
86
84
78
78
81
83
82
82
80
76
74
74
76
72
73
73
77
81
84
86
98
99
104
111
134
145
154
163
168
172
172
170
166
161
139
136
130
122
108
98
91
85
78
72
68
62
60
56
59
58
56
53
50
43
44
45
53
62
70
78
91
96
93
92
87
83
82
79
78
77
77
77
80
80
82
82
80
78
79
81
81
80
82
85
84
81
79
79
82
84
89
91
94
95
96
103
119
116
118
115
109
101
93
89
91
91
93
95
97
99
100
98
94
88
83
76
70
68
70
71
72
74
250
251
252
254
255
252
249
241
220
205
180
109
105
106
110
112
114
119
123
124
124
118
117
115
113
110
105
102
105
102
99
97
95
91
88
90
92
94
96
101
112
116
124
126
128
131
132
131
130
125
126
124
121
118
114
107
107
102
96
90
85
80
72
64
65
65
62
58
56
60
60
62
63
65
67
67
67
69
73
75
76
77
81
81
69
67
64
62
62
62
60
58
58
57
56
56
55
54
53
54
55
57
57
58
61
65
70
76
78
79
80
82
84
90
92
93
92
89
86
84
85
85
86
87
89
91
93
91
91
93
93
93
93
91
88
80
77
77
76
74
72
76
80
79
81
84
87
89
88
89
91
91
91
88
87
95
93
89
86
86
86
87
83
83
81
79
76
73
71
78
81
88
88
87
90
92
87
86
84
81
83
85
87
79
80
80
80
78
78
78
79
80
80
78
78
78
77
94
100
109
115
130
141
152
161
162
160
157
150
147
146
115
113
108
102
89
83
79
72
70
68
69
71
68
66
55
53
52
51
51
48
47
46
52
62
70
77
85
88
84
90
91
86
81
81
80
82
83
83
84
83
82
80
88
87
84
82
81
81
82
80
79
79
77
78
77
78
82
84
84
86
88
96
114
113
109
104
97
89
78
65
71
72
75
79
84
89
94
94
94
93
94
94
94
90
73
73
73
73
250
250
252
254
255
252
248
242
227
213
185
104
102
107
109
110
113
117
120
121
120
117
115
115
113
110
104
102
103
100
97
95
94
91
89
93
94
96
98
103
114
118
124
126
128
131
132
132
131
126
126
124
120
118
114
108
110
105
98
91
86
82
75
66
67
66
64
60
58
62
61
62
64
65
67
67
67
70
73
76
76
78
82
82
72
69
65
62
61
61
60
58
58
57
56
55
55
54
52
53
54
56
56
58
61
64
69
75
77
79
80
81
83
89
90
91
90
88
86
84
83
83
84
85
87
89
90
90
90
91
91
91
89
89
86
79
77
76
75
72
70
70
73
74
77
79
83
84
85
86
90
91
91
88
87
99
97
93
90
90
90
90
87
87
85
84
81
79
78
79
82
89
89
88
89
91
86
85
83
81
83
85
86
80
81
81
80
79
77
78
81
81
80
77
79
80
83
92
98
105
112
127
140
150
160
160
159
156
149
146
145
117
115
109
103
87
81
77
72
70
69
69
71
69
66
56
53
52
50
50
50
49
51
58
66
76
81
90
92
88
91
92
86
81
79
79
79
80
81
83
85
83
83
89
88
86
83
81
81
82
81
80
81
80
81
80
79
82
83
84
84
88
95
112
113
110
106
97
86
74
62
65
68
70
75
80
85
88
89
90
92
93
96
94
92
74
73
73
72
250
250
251
253
255
252
249
243
234
222
194
108
98
104
106
106
109
111
115
114
113
114
113
113
111
108
103
102
102
99
96
94
95
97
96
97
98
100
102
106
116
120
124
126
126
130
131
133
133
129
128
124
120
118
117
115
116
110
102
94
89
85
79
73
73
71
68
65
64
64
62
64
65
67
68
68
68
71
75
77
78
80
84
85
78
73
67
63
61
60
59
57
56
56
55
54
53
53
51
52
52
54
53
54
57
60
66
71
74
75
76
78
79
84
83
82
81
81
81
81
78
77
77
78
79
81
81
87
88
88
86
85
84
81
78
73
70
68
65
61
58
57
63
66
69
71
74
77
80
83
89
91
92
92
91
96
95
91
90
89
88
87
85
85
84
84
84
84
84
81
84
90
90
87
86
84
82
82
81
81
83
85
86
80
81
82
82
81
81
81
82
85
85
88
88
89
90
87
90
92
97
118
132
143
146
147
148
146
141
138
137
116
114
108
102
87
79
75
72
69
68
69
70
68
66
58
55
51
49
50
58
62
66
72
80
88
95
104
106
96
99
96
89
80
72
70
71
72
75
79
83
86
92
92
92
90
88
85
83
79
80
82
84
87
87
85
81
82
81
83
84
85
89
105
107
107
103
93
75
60
50
60
62
68
75
78
80
81
77
81
85
90
93
96
94
84
82
79
76
249
249
251
252
254
250
249
242
234
215
198
133
102
97
99
101
104
107
110
110
109
107
107
105
105
103
98
97
103
102
100
101
102
102
100
97
98
100
101
105
114
118
122
123
123
126
128
132
133
130
130
128
125
124
123
121
119
114
107
100
94
89
80
78
75
72
69
68
67
64
66
66
68
69
69
69
69
69
73
76
77
80
84
85
75
72
68
64
62
60
58
55
55
54
53
52
52
51
48
49
50
51
50
51
53
56
60
65
68
69
70
72
73
79
79
78
77
76
76
75
75
74
73
73
73
74
75
80
81
82
79
78
77
77
73
66
63
61
61
59
58
62
69
73
74
78
80
82
85
86
91
91
91
90
89
92
92
91
90
87
86
85
84
84
83
82
83
84
84
81
80
82
84
84
83
81
79
80
81
83
85
87
88
85
86
87
89
89
88
89
88
92
98
102
100
98
95
94
92
91
92
109
119
126
128
129
129
129
122
119
117
106
104
99
93
81
77
73
68
66
66
67
68
66
64
56
56
55
54
53
67
74
77
84
93
100
105
115
118
109
108
102
89
80
65
59
60
60
64
71
77
85
94
91
92
92
91
89
85
79
76
77
80
82
84
82
81
80
81
83
80
81
85
97
98
98
93
84
70
58
51
53
57
63
69
73
74
73
75
76
79
82
88
90
92
94
92
90
88
249
248
250
252
254
251
248
244
238
221
206
141
105
97
95
97
100
103
107
108
106
105
104
102
101
101
96
95
101
101
101
103
103
100
97
98
99
101
102
106
115
119
121
122
122
124
126
131
133
130
131
130
128
128
126
122
120
117
111
105
99
92
80
78
74
70
68
67
67
62
66
67
68
69
69
69
68
67
71
74
75
78
82
84
72
70
67
65
64
61
57
54
54
53
53
52
51
50
48
48
49
50
49
49
51
55
57
63
65
66
67
69
71
76
77
77
76
74
72
71
71
69
68
67
68
68
69
72
74
75
75
74
73
72
70
63
62
63
64
66
67
67
74
77
79
81
83
84
85
86
89
89
88
85
83
89
89
89
87
85
83
80
82
81
78
78
79
80
81
80
78
77
80
82
82
81
79
80
81
85
87
88
89
87
88
90
92
92
92
94
97
100
100
104
102
102
100
97
94
92
94
105
112
115
122
121
122
121
115
110
108
104
101
98
91
77
72
67
67
66
63
64
67
65
63
56
57
57
57
58
70
77
84
90
99
106
110
120
124
114
111
102
90
80
63
55
55
57
60
65
74
82
93
88
89
92
92
90
86
78
77
77
79
80
82
81
83
78
80
81
80
79
82
94
96
94
90
82
74
65
57
57
59
64
69
73
75
73
77
77
77
80
83
87
89
94
93
92
92
250
250
252
251
252
252
254
245
246
236
226
172
120
84
84
87
92
95
97
99
99
101
100
97
97
96
93
93
100
101
103
104
103
99
97
101
100
101
106
113
118
116
121
123
125
129
131
136
136
137
135
132
129
130
131
128
127
122
116
109
103
96
86
83
79
74
70
68
66
64
67
68
69
70
70
70
69
68
69
71
73
75
77
78
66
65
64
62
60
56
53
50
49
48
48
48
49
50
50
49
49
51
51
51
51
52
53
57
60
62
65
67
68
72
72
72
72
72
72
72
69
66
64
63
63
63
64
65
62
61
60
59
59
59
56
65
68
70
71
74
75
75
81
83
87
88
90
88
86
86
86
87
83
77
71
79
78
76
76
76
77
78
77
74
70
69
68
69
69
75
74
73
74
74
76
77
80
77
75
82
87
90
90
91
91
90
91
94
99
101
104
105
106
107
109
112
113
97
95
93
92
99
101
104
106
107
109
105
98
97
97
97
94
88
83
72
67
64
63
62
61
62
63
64
64
62
59
59
63
64
73
81
92
98
103
109
117
126
127
116
113
105
95
83
62
56
52
51
54
58
64
71
81
84
86
88
89
91
89
86
79
77
78
79
79
80
82
79
79
78
78
79
81
84
88
87
84
80
75
70
67
64
67
71
76
78
78
77
82
83
84
84
85
86
85
95
94
93
92
250
250
252
252
252
252
252
249
247
241
234
195
143
99
84
87
90
93
96
98
98
102
100
99
97
97
94
93
100
101
103
104
104
101
100
100
100
101
105
112
118
119
123
125
126
130
132
136
136
138
137
134
131
132
133
129
126
121
115
108
102
95
84
80
76
71
68
66
66
64
66
67
67
67
66
65
64
61
61
62
63
63
64
65
60
60
59
58
56
53
50
48
47
46
45
45
46
47
48
48
48
50
50
50
50
51
51
55
57
60
62
64
64
68
68
68
68
68
68
68
65
63
62
60
60
60
60
57
56
56
54
55
57
58
64
71
73
75
78
81
83
78
84
89
90
90
88
87
84
82
78
75
72
66
62
69
69
69
70
72
74
73
70
70
68
69
70
71
71
68
69
71
73
74
76
77
75
74
75
79
82
83
83
83
83
83
86
90
94
96
100
102
104
108
109
109
108
96
96
93
92
92
90
88
88
89
89
88
84
82
82
80
79
75
72
67
65
64
63
63
63
62
65
65
65
66
62
63
64
68
75
84
94
99
104
108
114
121
121
110
107
102
94
85
66
61
55
53
53
56
59
65
75
75
79
82
85
86
85
80
78
77
78
77
76
75
74
76
76
78
79
80
81
82
88
87
85
82
78
76
74
74
76
79
82
84
86
87
86
86
87
88
88
87
89
93
92
91
89
250
250
250
252
252
253
253
252
249
244
238
208
157
107
82
85
89
92
94
97
98
102
101
99
98
97
96
93
98
99
100
101
102
102
101
100
100
102
105
111
118
120
124
126
127
130
132
135
135
132
131
129
127
128
128
124
125
121
115
108
102
95
85
80
76
71
68
67
66
65
66
66
66
66
65
63
62
60
60
60
60
60
60
60
57
57
56
55
53
51
49
47
46
45
44
44
44
45
46
46
46
48
49
49
49
50
50
54
56
58
60
61
62
65
65
65
65
65
65
65
63
62
60
59
58
58
57
53
53
53
54
56
57
58
61
66
69
72
74
77
80
81
89
93
93
91
88
85
82
81
72
69
64
61
58
64
64
67
69
71
71
72
70
69
70
72
71
72
73
71
71
73
74
74
75
76
73
73
75
78
79
79
79
78
78
78
82
85
90
93
98
100
104
110
109
109
107
100
97
92
90
88
85
84
82
82
82
80
78
77
77
74
71
70
69
67
66
65
64
64
64
65
66
67
67
67
64
64
66
69
77
83
93
98
102
107
111
115
116
106
105
100
93
85
69
65
56
54
53
54
58
62
69
71
75
81
84
85
85
80
80
79
79
77
76
74
71
74
75
77
80
81
81
81
87
86
85
84
81
78
77
77
78
81
84
85
87
90
87
89
88
89
90
90
90
90
89
87
85
250
250
250
250
251
253
253
255
252
252
244
229
188
130
87
91
94
98
99
102
102
105
104
102
100
100
97
96
93
94
95
97
99
102
103
103
104
105
105
109
116
119
123
125
125
127
128
129
129
129
129
127
126
127
126
120
119
115
110
105
100
96
87
81
77
72
68
66
65
62
61
61
62
62
61
60
59
58
58
58
57
57
56
56
52
53
53
53
52
50
48
46
45
43
42
41
41
42
42
43
43
46
47
47
48
49
49
52
54
56
57
59
59
60
60
60
60
60
60
60
58
58
58
56
55
53
52
50
49
50
52
54
57
56
57
61
65
68
72
77
79
79
85
87
88
86
82
82
75
73
60
53
50
51
52
58
59
65
65
67
68
69
71
73
75
77
78
78
78
81
81
80
79
77
75
74
74
75
76
74
73
75
77
74
74
74
77
79
83
85
96
99
102
107
108
107
106
102
97
91
84
82
82
80
75
74
71
71
73
72
71
66
65
66
66
69
71
71
70
70
68
68
68
67
67
69
66
66
69
71
77
84
90
95
98
104
106
108
108
103
101
99
94
87
75
70
64
61
57
52
51
50
52
66
69
74
80
84
85
87
85
85
84
82
79
75
70
74
75
75
77
77
79
81
83
83
85
84
83
84
83
82
81
82
81
82
84
86
89
88
88
88
89
88
89
85
84
82
80
250
250
250
251
252
252
254
250
250
255
251
246
219
162
99
102
107
109
113
113
114
107
106
104
102
102
100
100
95
96
97
99
102
108
109
106
107
107
106
107
113
117
121
122
122
124
124
125
124
121
122
121
120
121
120
112
113
110
106
103
100
96
89
85
80
74
69
66
64
60
56
57
58
59
59
59
58
54
54
54
54
54
54
54
52
52
53
53
52
51
50
46
45
44
42
41
41
41
40
41
41
44
45
46
47
48
50
53
54
55
57
58
58
55
55
55
55
55
55
55
54
54
54
53
51
48
47
45
44
45
46
46
48
49
52
56
59
61
66
72
76
70
73
74
75
74
72
73
65
62
47
40
38
42
46
53
54
60
60
61
62
60
71
72
75
76
77
76
76
77
78
80
80
78
77
76
79
79
78
71
71
75
79
77
76
75
75
78
81
83
90
93
95
99
100
102
102
91
92
90
90
84
77
70
70
66
63
63
68
66
66
62
62
62
63
67
69
70
76
74
73
70
68
67
67
69
66
67
70
71
78
84
86
90
95
100
104
105
106
103
102
99
94
89
77
72
71
66
58
53
47
43
42
61
62
67
71
78
84
90
92
91
91
88
83
80
71
75
74
74
73
73
76
81
80
81
83
83
85
85
86
88
85
83
81
81
82
84
84
84
86
85
85
86
86
79
79
77
77
254
254
254
253
251
251
253
253
254
254
252
251
223
183
126
107
118
115
117
113
114
110
109
106
104
102
99
98
102
104
105
107
109
109
109
109
109
109
109
111
116
118
127
126
127
126
127
128
128
121
120
119
118
119
118
113
112
109
106
102
98
94
84
78
76
73
69
65
62
60
55
56
57
58
60
59
58
59
58
57
56
56
56
56
54
54
55
55
55
54
53
50
49
47
45
44
44
44
41
41
40
41
42
45
47
48
48
49
50
54
55
56
57
57
56
56
55
55
54
54
50
51
51
50
49
48
47
47
49
48
47
47
48
50
51
55
59
63
65
68
70
70
73
73
75
75
70
64
56
52
39
35
35
39
42
52
54
59
58
59
62
63
68
71
74
75
75
77
78
77
78
81
82
82
81
81
78
79
80
83
81
78
75
74
73
73
78
81
83
83
86
87
89
89
90
90
89
84
84
83
81
77
77
76
70
67
64
61
57
55
57
52
57
63
67
70
74
77
79
78
76
74
73
74
75
72
67
64
65
66
70
77
81
84
88
92
92
91
92
94
93
90
87
81
70
65
62
59
52
46
42
40
40
54
56
62
68
74
79
84
88
89
90
89
87
86
83
72
71
70
70
71
72
75
83
83
82
83
85
86
86
87
83
79
77
78
80
81
84
84
83
82
80
77
75
67
68
70
72
254
253
253
253
251
251
251
252
255
255
251
247
226
196
137
111
116
115
122
115
113
113
112
108
106
104
101
100
100
101
103
105
106
106
106
102
103
105
108
110
112
113
120
119
119
117
117
117
117
117
115
113
111
111
109
105
104
102
99
97
94
91
83
77
75
72
68
65
63
61
57
57
58
58
59
59
58
61
60
58
58
57
57
57
54
55
55
56
55
54
53
51
49
47
46
44
44
44
40
39
39
39
40
43
44
45
45
46
47
50
51
52
53
54
54
54
53
53
53
53
50
51
51
51
50
49
48
48
49
47
46
46
45
47
50
53
56
60
61
63
65
66
71
70
70
70
65
60
55
50
36
34
35
39
44
51
53
57
55
56
59
61
62
65
69
69
70
72
73
77
78
82
83
83
82
82
83
82
83
85
84
81
78
74
73
72
75
77
78
78
77
80
83
85
85
83
82
78
78
77
78
76
75
76
71
70
66
61
52
50
48
49
52
57
62
68
72
74
73
73
73
72
70
69
68
65
62
60
62
64
69
75
75
79
83
86
86
88
89
90
89
88
85
79
69
65
59
54
50
44
40
38
39
47
50
57
64
70
77
82
90
90
88
87
83
79
75
68
66
64
64
64
68
73
72
74
81
87
93
99
103
101
97
93
90
88
86
85
79
79
79
78
76
72
70
61
62
63
64
253
253
251
251
250
250
250
251
253
254
250
243
230
207
150
116
116
117
124
116
115
116
115
111
109
106
102
101
97
98
100
101
102
101
101
99
101
103
106
107
108
107
113
112
112
110
109
108
108
108
105
102
99
99
97
94
94
92
90
89
88
86
79
75
73
71
68
66
64
63
60
59
59
58
59
58
58
61
60
59
58
57
57
58
55
56
56
57
56
55
54
52
50
48
46
44
43
43
38
37
36
38
38
39
40
42
42
44
45
45
46
47
47
48
48
48
48
49
49
49
49
50
51
51
50
49
49
49
50
49
47
47
47
49
52
54
57
60
61
63
64
72
75
74
74
73
68
63
56
51
41
41
43
45
46
49
51
53
53
53
53
55
59
61
67
68
67
69
71
76
77
81
82
83
83
83
81
79
78
79
78
76
74
72
71
69
72
74
74
74
77
80
83
86
86
85
84
75
73
72
71
73
74
76
77
78
76
73
68
65
63
61
61
61
62
65
65
65
65
66
67
67
64
62
61
62
59
59
63
65
69
71
74
75
78
80
79
82
84
84
84
82
80
75
67
65
56
53
49
44
40
40
40
48
51
57
64
70
76
80
78
78
78
76
74
71
66
62
59
57
55
57
60
68
71
78
85
91
95
100
104
114
111
106
102
97
91
85
77
77
75
73
71
66
64
60
59
59
59
251
251
251
251
250
250
250
252
252
253
250
243
228
208
154
119
117
118
122
115
116
117
115
112
109
106
102
100
97
98
99
100
101
100
99
98
99
100
102
103
103
103
109
108
108
106
106
105
105
103
100
97
94
94
93
91
90
88
87
86
85
82
76
73
71
69
67
65
64
64
61
61
59
58
58
58
58
61
60
58
58
57
57
57
55
56
57
57
57
55
54
52
51
48
46
44
43
42
39
38
37
36
37
37
39
40
43
43
43
44
45
46
46
45
45
45
45
46
46
46
48
49
50
50
50
49
48
50
51
50
50
50
50
52
54
56
60
63
64
67
68
77
79
78
77
77
72
66
57
54
46
47
50
50
49
50
51
51
51
51
52
52
56
59
65
66
68
70
71
75
76
80
82
82
83
83
79
77
75
75
75
73
71
71
69
68
71
74
75
75
77
79
81
83
84
85
85
74
73
71
69
72
73
74
76
76
76
75
70
68
67
67
65
63
63
64
64
63
65
65
65
64
62
61
60
62
60
61
63
65
68
70
75
76
76
77
76
79
80
80
80
79
77
74
66
63
57
54
50
45
44
42
43
51
55
59
64
69
71
76
72
72
71
69
67
66
61
58
57
55
54
55
58
64
66
75
84
92
99
104
111
119
114
111
106
101
94
85
76
75
73
70
68
64
62
59
58
57
56
253
253
251
251
250
250
250
252
250
249
250
244
227
204
157
121
120
120
118
113
120
117
116
112
109
106
101
100
97
98
99
100
100
99
98
96
95
93
91
91
92
93
100
99
100
99
100
100
101
97
94
91
88
89
90
89
88
87
85
83
82
79
72
71
70
68
67
65
65
65
63
62
60
58
58
58
59
59
58
57
56
56
56
56
56
56
57
57
57
56
55
53
51
49
46
44
42
42
37
37
36
36
36
36
37
40
42
42
44
44
44
44
44
40
40
41
41
42
42
42
45
47
48
49
48
48
47
51
53
53
54
55
56
59
57
61
65
70
72
75
76
80
83
81
80
81
76
69
62
58
56
60
61
57
53
49
50
50
49
48
49
50
52
53
60
62
62
64
66
72
74
78
80
81
82
82
78
76
74
73
72
71
69
68
67
67
71
75
76
77
71
71
71
72
75
78
80
75
75
71
69
71
74
76
82
83
83
80
75
72
71
64
61
58
58
62
62
60
63
62
60
58
58
59
59
66
64
65
66
67
67
68
73
72
72
71
70
70
71
75
75
75
74
73
66
65
59
58
54
51
50
48
49
56
57
60
61
63
64
65
67
67
65
62
56
52
45
52
52
53
54
55
56
60
69
78
90
99
105
110
117
124
122
118
115
108
99
88
76
75
73
70
67
62
60
56
55
52
50
252
252
252
252
252
251
251
254
250
250
249
239
226
210
192
150
117
115
117
111
114
109
109
107
106
104
100
99
100
98
95
94
95
94
94
89
88
87
85
85
85
85
90
91
93
93
93
89
88
85
84
85
85
86
85
80
82
82
81
79
77
74
69
68
66
64
63
63
62
58
57
57
58
58
59
58
57
56
55
54
56
57
57
56
56
56
55
55
54
54
53
49
48
47
45
44
42
41
43
41
38
36
36
39
40
42
45
45
46
48
48
49
49
45
45
45
45
45
45
45
47
47
48
48
49
49
49
53
58
57
56
56
56
58
59
61
66
73
78
82
84
88
85
83
82
78
73
71
67
62
59
63
64
60
55
56
54
50
48
48
50
50
51
51
50
52
56
60
62
65
67
75
77
78
77
77
77
77
76
72
70
68
67
66
68
69
67
67
68
70
70
71
71
70
72
76
79
73
76
79
83
88
89
91
92
89
87
85
81
76
73
68
67
66
66
66
67
68
64
63
61
61
62
61
60
64
68
70
71
68
70
73
69
69
70
71
69
68
66
73
72
72
71
71
69
69
67
66
63
62
62
62
61
64
63
62
60
60
61
64
64
64
62
57
51
46
44
52
51
52
52
52
54
59
70
79
90
100
106
112
118
127
124
120
112
103
96
88
74
72
69
67
66
62
60
56
55
54
52
252
252
251
251
250
251
251
252
249
249
249
237
222
203
197
165
127
111
118
111
109
105
106
104
104
103
100
99
99
97
93
92
91
90
89
85
84
82
81
80
80
81
84
85
87
86
87
84
82
81
80
81
81
83
82
77
79
79
78
76
74
71
67
67
65
63
62
61
60
56
56
56
57
57
58
57
55
54
53
52
53
55
55
54
56
56
55
54
53
52
51
48
47
46
44
43
41
40
42
41
39
37
39
40
42
43
46
46
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
50
50
50
50
54
58
58
58
58
57
59
60
62
68
76
82
86
88
92
88
86
83
77
73
68
61
61
60
61
62
60
58
57
55
50
49
48
50
50
50
49
52
53
57
61
64
63
65
71
73
73
73
72
76
76
76
73
70
67
65
67
66
65
66
66
65
64
64
67
69
69
69
71
72
71
74
79
85
95
99
102
102
99
93
90
83
78
75
72
72
72
72
68
66
65
62
61
61
62
64
63
62
66
67
67
68
70
69
70
68
68
69
69
69
67
66
72
72
71
72
71
71
71
72
70
68
69
69
69
67
65
65
63
61
62
63
65
63
64
60
57
51
48
47
55
54
52
51
52
55
62
74
81
91
99
105
111
116
122
119
116
110
104
96
89
76
73
69
65
65
63
62
57
56
55
53
250
250
248
249
250
251
252
251
249
249
250
236
221
201
174
174
145
111
110
104
105
99
100
99
100
101
100
100
96
93
89
86
85
81
79
77
76
75
73
72
73
73
78
78
79
78
78
77
76
77
76
77
78
80
79
75
73
72
71
69
67
65
63
63
61
59
58
57
56
52
53
53
53
53
53
52
50
52
51
50
52
54
55
54
55
54
53
51
49
47
46
44
44
43
41
39
38
37
41
41
41
41
41
42
45
45
49
49
49
50
52
52
52
50
50
50
50
50
50
50
53
53
52
52
52
52
52
56
57
58
60
61
60
60
61
66
73
82
87
91
93
98
93
90
84
76
68
62
55
59
61
59
59
59
60
54
53
49
50
52
54
55
49
50
52
56
61
66
69
65
65
67
68
68
67
67
71
73
75
76
75
72
70
69
66
64
70
71
66
61
62
62
63
60
63
67
70
69
72
80
90
108
114
119
117
113
106
98
87
84
84
74
76
79
79
72
67
63
64
64
65
67
69
67
66
66
63
61
64
66
67
64
66
66
65
66
66
67
68
71
72
70
71
72
74
74
78
76
76
75
77
79
77
69
67
65
64
64
65
67
64
63
60
57
56
55
51
62
61
58
55
57
61
68
78
85
92
99
103
107
110
109
109
109
106
100
94
88
80
76
70
66
65
65
65
58
57
56
54
239
242
246
250
253
253
253
255
251
253
254
245
234
216
167
169
136
102
107
99
106
99
100
99
100
100
99
98
92
89
85
83
81
78
76
75
74
73
71
70
71
71
76
75
75
73
73
73
74
72
72
73
74
77
76
72
70
69
67
64
63
62
62
62
60
58
57
57
56
52
49
49
49
48
48
46
44
48
47
46
49
51
52
52
51
51
50
48
47
45
44
42
41
40
38
37
35
34
37
38
39
40
42
44
45
45
47
49
50
54
55
56
57
52
52
52
52
52
52
52
54
54
54
53
53
52
52
56
54
57
60
63
61
59
61
67
75
83
87
90
91
95
91
88
82
73
63
57
59
60
63
63
60
57
55
55
54
50
47
48
50
51
51
51
53
56
61
65
68
65
65
63
63
62
62
62
66
68
71
78
82
84
85
87
85
82
78
74
67
62
57
59
62
63
65
69
71
72
76
84
93
111
117
119
120
119
114
105
88
87
86
77
80
84
87
86
83
81
77
77
77
78
75
71
68
62
61
61
62
64
65
65
65
64
63
63
63
68
69
70
70
71
72
74
78
79
82
81
80
81
82
85
84
69
67
65
64
64
65
67
65
61
59
59
60
60
57
65
65
64
65
65
68
72
81
86
91
97
103
106
106
106
104
102
98
94
90
86
81
76
72
69
68
67
66
61
60
59
57
235
239
245
250
255
254
252
255
254
254
255
247
238
222
174
169
129
97
108
99
105
99
100
99
100
100
98
98
91
88
85
82
81
78
76
75
74
73
71
71
71
71
74
73
73
71
72
72
72
70
70
71
72
75
75
70
70
68
66
64
62
62
62
62
60
58
57
57
56
52
47
47
47
47
46
44
42
45
44
44
46
49
50
50
50
49
49
47
46
45
44
41
40
39
38
36
34
33
36
37
38
40
41
44
44
45
47
48
50
54
56
57
58
54
54
54
54
54
54
54
55
54
54
53
52
52
52
55
53
56
60
63
61
59
61
68
75
83
87
89
89
93
91
87
81
72
62
55
61
60
63
64
61
57
54
58
56
50
46
46
46
47
52
52
53
56
61
65
67
64
63
61
61
60
60
60
65
66
69
79
84
88
90
95
93
90
80
73
66
61
53
57
63
67
68
69
70
74
77
85
93
109
115
118
119
119
115
107
90
86
87
73
76
81
85
86
85
83
82
81
81
81
77
72
68
60
61
61
62
63
64
65
64
64
63
64
64
67
68
69
70
71
72
74
78
81
84
82
82
83
85
86
87
69
67
65
64
64
65
67
64
61
59
58
61
61
56
66
66
66
67
68
69
73
82
85
90
97
103
107
106
106
104
101
96
92
89
86
81
78
74
72
70
69
67
61
60
59
57
234
246
254
251
254
255
251
253
253
250
249
254
248
238
224
181
124
92
86
86
92
102
122
140
147
150
147
144
124
122
118
115
112
105
101
94
90
83
78
73
69
69
62
63
66
67
69
69
70
72
72
72
70
68
64
60
64
63
63
61
60
59
58
58
59
58
58
56
56
52
52
50
46
44
42
42
43
44
45
45
47
48
49
50
49
49
48
47
45
44
43
42
41
39
38
37
37
37
37
38
38
38
37
38
41
43
43
44
45
46
48
51
54
50
51
53
53
53
54
54
58
58
56
52
51
51
52
57
55
55
56
57
56
52
54
61
68
76
81
83
83
85
82
82
79
77
75
74
77
79
84
85
86
86
86
79
76
68
62
55
49
45
49
50
57
59
61
64
68
51
54
62
66
67
67
65
67
72
77
85
92
100
105
105
102
100
104
102
93
78
71
59
44
58
61
56
52
73
76
82
90
99
105
112
101
98
96
95
89
89
93
74
77
80
83
85
85
84
89
89
88
87
81
78
76
69
67
65
64
64
66
73
71
71
71
70
72
75
75
73
74
76
75
76
78
78
78
81
82
85
87
87
87
73
71
68
66
63
65
69
67
65
66
67
68
68
70
71
71
69
68
70
72
76
78
79
83
87
89
92
93
97
92
83
79
79
77
75
72
73
71
70
67
65
64
54
54
54
55
248
254
255
254
254
255
254
255
254
253
252
255
254
248
235
201
153
110
80
88
98
123
144
163
174
178
178
176
182
180
176
171
166
146
137
125
108
89
77
69
59
54
66
65
66
67
66
67
69
69
70
71
70
69
67
64
61
61
60
59
58
58
57
56
56
55
55
55
53
49
49
48
46
45
44
45
45
46
46
47
48
49
50
50
49
48
48
47
46
45
44
44
43
42
40
39
39
40
40
41
42
40
39
38
39
40
41
43
43
43
45
48
51
51
52
54
56
57
57
56
59
59
58
56
55
54
54
58
55
56
57
56
55
53
53
55
60
65
71
75
77
76
73
74
74
75
75
78
81
88
99
105
109
113
114
110
108
93
84
74
65
60
56
55
59
59
59
59
58
63
64
69
70
67
63
59
61
59
68
98
104
111
119
108
116
122
109
100
92
87
73
64
56
47
53
57
56
57
63
68
77
105
106
99
109
106
101
98
83
74
71
76
78
82
85
88
87
87
89
90
91
91
85
81
78
72
71
71
73
71
71
75
80
81
83
85
85
88
90
84
84
82
81
77
75
74
78
79
81
82
82
82
80
72
68
66
64
62
64
66
67
69
70
70
72
73
73
74
73
73
72
72
73
75
76
79
80
82
85
86
86
86
82
76
74
75
74
72
67
69
69
70
69
67
67
64
64
64
63
254
255
255
254
254
255
254
255
255
255
252
254
249
244
239
208
169
124
80
96
108
135
156
177
189
194
196
195
209
206
204
198
191
167
155
141
121
99
83
72
57
51
67
66
66
67
66
65
67
67
67
68
70
69
68
65
59
59
58
58
58
57
57
55
55
55
56
54
52
49
49
48
47
46
45
45
45
45
46
46
47
48
48
49
48
47
47
46
45
45
44
44
43
42
40
39
39
40
40
42
42
41
39
38
38
39
39
41
41
41
42
45
48
51
53
55
57
57
57
59
60
58
59
58
57
56
55
61
58
58
57
57
55
54
52
52
55
61
67
71
73
69
67
69
70
72
74
77
84
91
108
116
123
126
127
130
125
106
94
84
76
70
63
60
60
60
59
59
58
69
71
71
70
65
59
57
57
64
76
99
103
112
122
122
124
124
115
110
98
87
90
82
74
46
51
59
57
70
73
74
72
88
99
107
108
106
103
100
80
68
63
81
83
86
88
90
90
89
89
90
90
90
85
81
79
74
74
74
76
75
75
82
85
88
91
94
96
100
100
93
91
88
85
81
76
75
76
77
79
80
79
78
76
66
65
63
62
61
62
62
67
68
71
72
74
74
74
76
76
75
74
75
74
76
78
78
80
83
83
84
84
82
79
74
72
74
73
71
65
67
68
70
70
69
69
71
71
71
71
253
252
254
254
253
252
251
252
255
255
253
248
244
238
230
214
193
146
84
111
129
162
186
209
222
229
234
231
252
250
247
242
233
203
190
172
155
133
113
97
76
74
72
71
69
65
63
63
63
60
61
63
64
67
66
66
57
57
57
57
56
56
56
57
59
59
58
56
55
51
52
51
51
49
48
46
45
44
44
45
45
45
46
46
46
46
46
45
45
45
44
43
42
40
39
38
38
38
37
39
41
41
39
38
37
38
41
41
41
41
42
45
47
50
53
55
57
59
60
60
60
58
58
61
61
59
57
64
60
60
61
60
58
56
53
51
53
57
59
60
60
58
55
58
62
67
71
76
87
97
120
130
138
141
144
151
148
133
119
105
91
82
75
68
59
61
63
64
63
76
75
71
69
67
68
70
78
93
99
123
152
172
175
215
206
198
216
225
218
205
231
226
236
232
228
206
170
83
71
64
70
71
76
92
93
99
102
101
79
71
67
90
92
94
95
94
92
90
86
85
83
81
78
78
78
79
77
78
79
80
87
95
99
103
108
111
116
118
120
112
109
104
97
89
80
79
75
75
77
76
75
73
70
60
60
60
60
62
63
64
64
67
68
72
74
75
74
80
80
78
78
78
77
75
74
75
77
78
76
76
76
75
73
68
68
69
67
65
60
63
67
70
72
71
72
84
84
83
83
251
252
253
254
255
255
255
254
254
255
255
250
246
237
228
221
204
154
95
125
151
182
207
228
244
251
255
252
255
255
255
255
255
235
223
206
194
181
167
153
130
124
91
84
76
69
64
58
56
55
55
57
57
59
60
59
58
58
58
59
58
57
56
58
58
58
57
56
56
55
54
54
53
52
50
49
48
45
45
45
45
45
45
45
42
43
45
46
46
45
44
43
42
42
41
40
39
38
37
37
37
37
38
38
38
38
39
40
43
45
47
49
49
51
53
56
56
56
56
58
61
63
63
62
60
58
57
65
62
62
61
61
61
60
58
54
53
53
54
56
56
50
48
52
57
62
68
72
84
95
120
132
140
144
146
153
152
138
126
113
99
88
76
72
68
67
66
65
65
69
65
74
74
71
76
88
98
116
113
224
242
227
241
255
249
255
255
255
255
255
255
255
255
255
251
254
255
248
247
180
95
74
62
59
79
81
93
102
89
89
88
93
94
96
97
94
92
91
91
86
80
76
76
75
73
76
76
79
83
86
95
97
106
111
117
123
129
132
133
122
117
110
103
96
86
83
78
74
71
70
72
71
69
63
63
64
63
65
65
66
67
69
70
73
74
75
76
80
81
81
82
81
79
77
77
75
73
74
78
79
77
72
71
67
64
63
60
60
60
64
67
71
73
73
73
82
83
86
88
250
251
251
253
254
254
253
254
252
254
255
250
245
235
222
219
205
160
96
126
155
188
212
233
246
254
255
253
255
255
255
255
255
241
233
222
212
201
190
179
159
154
111
102
89
77
70
61
60
53
54
54
56
57
58
58
58
59
59
59
58
57
56
57
58
58
57
56
55
56
54
54
53
52
50
49
48
45
45
45
45
45
45
45
43
43
44
44
44
44
44
42
42
41
40
39
38
38
36
36
37
37
37
37
38
38
40
41
43
45
47
48
49
53
55
56
56
55
57
58
62
63
62
61
61
59
58
63
63
62
62
61
60
60
58
55
54
54
54
55
56
51
50
52
57
61
65
69
81
90
114
126
134
140
142
151
148
134
122
111
98
88
77
74
70
69
69
67
67
67
69
72
73
76
86
102
114
121
159
244
241
240
248
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
249
215
153
72
78
72
73
70
80
90
97
101
100
93
95
97
98
97
95
94
92
87
82
79
78
77
75
78
78
81
84
86
94
97
105
111
117
123
129
132
133
122
118
111
105
98
86
82
77
75
73
71
71
72
69
64
65
65
66
67
67
67
69
71
71
74
76
77
78
82
83
82
82
83
80
78
77
74
73
75
76
76
76
71
70
66
63
62
59
59
60
64
67
71
73
73
74
83
84
86
88
250
251
252
253
254
253
255
255
253
252
255
254
245
227
217
207
191
160
107
127
159
192
216
237
250
255
255
253
249
250
251
255
255
251
248
246
243
239
233
229
217
213
167
154
134
113
96
74
68
62
59
58
59
58
60
59
60
60
60
60
61
60
57
57
57
56
58
57
56
55
55
55
54
53
51
50
49
46
46
46
45
45
45
45
45
44
42
41
41
41
43
40
40
39
39
38
38
38
33
34
34
35
36
37
38
39
43
44
45
46
47
48
48
53
55
57
56
55
56
58
59
60
60
60
59
59
59
62
63
63
60
60
59
58
57
56
54
54
54
54
54
54
50
51
53
57
58
58
67
73
94
104
113
120
122
136
132
118
108
99
90
83
78
76
74
76
75
75
75
76
80
76
81
94
106
116
143
220
253
255
255
248
255
252
247
255
245
255
251
249
251
248
250
255
251
251
252
255
255
249
228
151
93
82
83
78
80
83
104
114
110
97
98
100
100
97
95
93
91
89
86
84
82
81
81
83
84
84
86
88
91
94
103
107
114
119
125
128
128
117
114
111
107
100
83
78
76
75
74
73
74
72
69
69
70
70
71
71
72
70
72
72
74
76
79
79
81
82
83
83
82
83
81
78
77
75
75
73
71
71
69
65
64
61
58
57
55
55
60
63
67
72
74
74
75
82
82
82
83
253
254
255
255
255
254
255
255
253
252
252
249
242
227
206
180
154
143
120
124
156
185
209
231
243
249
250
248
251
249
250
252
255
255
255
253
252
251
251
249
242
239
215
203
187
165
142
99
84
77
72
70
70
69
68
68
62
63
65
65
64
63
61
58
57
59
58
57
56
57
55
55
54
53
51
50
49
46
46
45
45
44
43
43
43
42
41
40
39
39
39
36
36
36
36
36
36
36
34
34
36
38
39
41
43
43
46
47
48
50
51
52
53
54
56
56
55
54
56
57
56
56
56
57
59
60
61
59
61
62
61
60
57
55
57
56
55
55
52
51
50
53
52
50
51
52
50
49
51
56
67
76
83
91
95
109
106
93
89
84
80
77
74
73
75
78
79
80
82
94
91
90
96
105
120
141
208
222
254
255
251
253
240
250
246
255
242
255
250
249
244
244
246
252
252
250
247
255
255
255
255
244
220
170
112
89
81
81
87
101
109
101
102
102
101
95
92
90
89
90
90
89
85
85
86
87
87
87
90
91
93
94
99
103
107
110
114
116
115
103
102
100
98
94
80
76
76
75
75
77
78
76
71
74
74
74
74
75
73
73
72
74
75
76
79
81
80
80
81
81
82
80
80
77
77
77
77
73
70
67
67
63
62
59
57
56
54
55
59
63
67
72
75
76
77
76
75
74
73
252
252
253
253
253
253
254
255
251
251
248
243
239
228
186
163
141
139
118
116
149
181
203
225
239
247
248
246
252
253
251
253
254
255
255
255
255
255
255
255
247
244
235
225
207
184
161
116
100
84
78
75
74
73
72
71
66
66
67
67
66
64
63
58
60
60
59
58
58
57
57
57
56
55
53
52
51
48
48
47
47
46
45
44
41
41
41
41
40
38
37
35
35
35
35
35
35
36
35
36
37
39
42
44
45
46
47
48
50
52
54
55
56
54
56
56
55
55
55
56
55
54
55
56
58
60
61
58
61
62
61
59
57
53
56
56
56
55
53
51
50
54
51
52
51
49
47
45
48
49
57
64
72
80
83
96
93
83
80
78
77
74
74
74
78
81
83
83
84
106
100
103
102
107
137
175
220
227
255
254
244
247
234
255
253
255
246
255
252
252
250
250
250
255
255
255
253
244
249
255
255
255
255
221
152
108
82
77
80
92
103
100
101
102
102
98
96
94
90
92
93
91
87
88
89
88
90
90
91
92
95
97
98
99
104
107
109
110
109
98
96
93
91
89
79
75
79
78
79
81
82
80
74
74
74
74
75
74
74
73
72
72
75
76
78
79
80
79
80
80
80
80
78
76
73
74
74
73
67
64
65
63
62
59
57
57
55
56
59
63
67
72
75
76
78
72
70
69
68
251
251
249
251
255
255
255
255
255
250
235
217
204
182
149
132
134
141
93
104
134
150
171
195
213
233
255
255
255
255
255
255
250
245
243
241
241
243
246
250
248
247
255
251
238
216
188
135
117
102
84
72
68
69
66
60
72
72
72
72
70
69
66
65
65
63
62
60
59
57
53
53
52
51
49
48
47
46
46
45
44
42
41
40
38
38
38
37
37
37
36
32
32
31
32
32
34
35
35
35
36
39
42
45
48
50
52
52
53
54
55
55
56
58
58
57
57
56
56
56
53
53
53
54
56
58
60
56
57
58
57
56
55
56
57
60
60
59
58
56
55
53
50
49
47
45
44
45
43
42
51
61
69
74
75
88
85
82
80
76
73
70
76
74
83
90
95
96
98
86
85
100
102
149
217
253
255
255
255
237
243
255
255
249
248
251
245
246
252
252
253
255
255
255
255
255
252
252
243
239
249
250
232
238
255
214
130
75
91
98
92
62
70
84
100
121
121
117
100
90
84
81
87
94
98
84
85
89
95
103
112
112
113
113
112
111
108
101
100
76
76
85
98
102
91
74
69
63
63
69
79
86
94
81
80
78
76
74
72
72
74
74
76
78
80
83
85
71
72
74
77
78
78
78
77
74
69
65
63
60
58
63
62
58
55
53
54
55
60
61
64
68
70
72
72
68
65
60
58
238
244
250
254
250
245
242
245
242
235
221
199
183
161
143
136
133
122
81
90
109
135
154
176
196
213
243
249
255
255
255
254
254
251
250
248
250
251
253
255
254
251
255
255
241
220
195
146
127
108
91
79
75
74
70
66
72
73
73
72
71
69
66
65
65
63
62
60
59
57
54
53
52
51
50
49
48
46
46
45
44
42
41
40
39
39
39
38
38
37
37
34
34
34
34
34
36
37
38
39
40
42
45
48
51
53
56
56
57
58
58
59
59
60
59
57
56
54
53
53
53
53
54
55
57
58
59
56
58
59
60
59
59
60
57
58
59
58
57
57
56
52
52
53
54
54
55
55
58
56
54
55
54
51
49
52
52
55
63
71
80
85
87
88
87
85
83
82
80
97
93
97
126
188
239
252
255
255
255
240
244
255
255
252
251
254
246
247
251
251
253
254
254
255
255
255
251
252
243
241
253
250
236
243
255
241
169
105
108
114
103
109
108
104
101
97
97
100
105
103
99
97
91
86
83
65
72
85
92
91
87
87
88
88
86
85
83
82
81
90
82
80
82
77
78
77
79
78
77
80
84
89
94
85
84
84
83
82
82
77
76
73
73
73
71
70
70
67
69
70
73
73
74
75
76
73
68
66
64
64
60
63
62
59
58
57
58
60
63
64
66
68
70
71
72
66
63
62
59
226
235
243
249
248
245
243
241
240
236
222
190
174
154
145
133
118
97
79
92
105
123
142
163
180
199
228
234
240
242
244
248
249
250
250
251
252
254
255
255
252
249
255
254
239
220
196
149
129
111
94
83
78
77
75
70
73
73
73
73
71
70
67
65
65
63
62
60
59
57
54
53
53
51
50
49
48
46
46
45
44
42
41
40
39
39
39
38
38
37
37
35
35
35
35
36
37
39
39
40
41
42
45
48
51
52
56
57
57
58
59
60
60
60
59
57
55
54
52
51
53
54
55
56
57
59
59
54
56
59
59
59
59
60
56
58
58
57
57
57
57
51
53
56
59
61
62
62
66
60
50
48
47
47
48
38
42
50
57
69
79
83
91
93
90
87
83
80
79
100
101
103
138
202
247
251
255
255
255
241
244
252
255
254
252
255
248
247
251
250
253
254
254
255
255
255
249
253
244
244
255
250
239
247
255
249
187
121
114
121
111
135
128
117
107
92
94
100
105
110
110
108
97
88
79
98
100
101
97
95
112
121
123
119
115
108
100
82
76
101
87
83
83
80
75
72
81
83
87
89
90
89
86
87
88
89
91
91
89
85
85
81
78
74
70
67
65
66
67
68
70
70
71
72
73
72
68
67
66
66
65
64
63
60
60
59
61
63
65
66
66
68
69
70
70
66
63
60
58
194
196
200
207
219
221
219
221
207
188
164
141
142
139
100
88
78
72
76
78
73
98
115
132
146
161
190
194
209
212
219
227
236
253
255
255
255
255
255
255
250
247
242
232
216
199
180
139
121
105
92
83
79
77
74
76
74
74
74
73
72
70
67
65
65
63
62
60
59
57
55
54
53
52
51
50
49
46
46
45
44
42
41
40
38
38
37
37
37
36
36
37
36
36
36
37
38
40
40
40
41
42
44
47
49
51
54
55
56
56
57
58
58
59
58
56
55
53
52
52
54
55
57
58
59
59
59
54
56
58
58
58
57
58
55
56
55
56
57
57
58
55
58
61
63
65
68
68
64
66
64
57
49
42
40
42
50
55
55
62
68
68
73
81
93
97
101
106
110
123
133
140
170
216
244
252
255
255
255
249
245
248
254
253
252
255
250
249
253
251
253
254
254
255
255
254
248
250
248
251
255
251
245
254
255
251
207
145
115
119
116
141
137
130
121
109
109
112
116
121
125
126
126
125
127
214
232
254
255
255
254
251
252
255
255
255
255
255
255
192
146
105
88
80
70
68
82
91
98
100
98
92
77
100
105
112
120
125
128
124
115
108
97
86
76
67
60
64
65
66
67
68
67
69
70
68
68
68
70
71
70
69
68
67
65
66
67
69
67
68
68
68
68
66
64
62
60
58
58
186
183
181
187
196
188
178
154
132
118
117
118
101
78
78
73
75
74
66
72
78
76
89
103
113
125
149
154
166
172
179
192
206
235
245
253
255
253
250
244
229
224
207
196
180
165
149
115
100
88
78
72
70
69
69
74
73
73
73
73
72
70
67
64
64
62
61
59
58
56
55
55
54
53
51
50
49
46
46
45
44
42
41
40
36
36
36
35
35
35
34
36
36
36
36
37
38
40
41
41
41
42
44
46
49
50
53
53
54
55
56
56
56
56
56
55
55
54
54
53
54
56
58
59
59
59
59
60
61
63
62
61
59
60
55
54
54
55
56
58
59
64
62
60
59
58
58
59
65
66
63
68
78
92
102
130
132
100
83
77
74
70
81
92
122
136
148
163
172
167
172
188
214
238
246
252
255
255
255
255
247
244
248
249
250
255
251
250
254
252
253
254
253
255
255
252
246
244
249
255
255
250
249
255
255
255
225
175
111
109
116
112
115
118
122
124
122
116
111
113
120
133
188
226
251
238
245
251
252
252
253
254
255
255
255
255
254
252
253
246
227
205
172
127
109
126
106
101
97
95
96
97
99
126
134
146
157
168
171
171
162
152
138
122
106
93
82
70
71
71
70
69
69
68
68
68
67
69
72
73
75
75
74
73
71
72
74
75
70
69
69
67
66
61
59
57
56
55
55
101
114
123
121
121
115
106
112
102
97
96
80
71
69
78
77
75
72
69
71
78
70
71
78
86
94
106
111
124
130
139
153
166
191
199
206
208
209
205
197
181
176
150
140
128
117
107
86
75
69
65
64
63
63
63
63
70
70
70
70
69
67
64
63
62
61
60
58
57
55
54
54
53
52
51
51
50
47
46
45
43
42
40
39
38
37
36
35
35
35
35
37
36
35
35
35
36
38
39
39
40
40
41
41
41
42
46
47
49
50
52
53
54
54
53
53
52
52
51
51
54
56
59
61
62
62
62
62
61
61
60
60
60
62
58
60
60
60
61
61
61
73
66
60
54
50
50
54
58
64
207
245
242
255
255
243
254
227
201
182
157
133
138
146
167
175
182
189
193
189
197
222
235
246
250
250
251
255
255
255
249
244
242
251
251
255
255
252
253
250
254
254
255
255
254
252
252
234
252
255
255
250
251
255
252
255
239
210
110
100
105
94
97
100
99
111
117
121
118
135
165
200
248
255
255
238
241
243
244
246
247
248
250
250
248
250
251
247
244
255
249
253
250
225
232
231
193
115
94
103
103
113
127
154
159
168
178
189
195
199
196
188
175
160
146
131
117
99
96
91
85
81
77
73
67
67
66
68
70
74
79
80
80
80
80
79
80
80
77
74
72
69
68
64
60
60
57
54
52
76
82
87
85
89
89
86
88
83
81
82
73
73
79
84
88
90
85
67
65
68
70
70
70
75
81
91
96
103
108
115
128
140
161
168
174
177
176
171
166
152
147
119
111
101
93
87
71
63
65
62
61
59
61
61
62
70
70
70
70
69
67
64
63
62
61
59
58
56
54
54
53
53
52
51
50
50
47
46
45
44
42
41
39
38
37
36
35
34
35
35
36
35
35
35
35
36
37
39
39
39
39
40
40
40
40
45
46
47
49
51
52
52
52
52
52
51
51
51
51
53
56
59
61
62
63
63
62
61
61
60
59
58
60
59
60
61
61
62
62
62
66
68
66
64
64
62
62
79
81
228
251
255
255
255
255
255
231
231
234
231
222
191
188
191
191
189
191
194
198
209
232
242
248
251
251
248
252
255
255
253
243
241
251
249
255
255
253
254
252
253
254
255
255
254
252
252
228
252
255
255
248
251
255
251
255
246
220
103
92
97
95
93
88
85
101
110
118
138
179
219
243
253
255
255
252
254
255
255
255
255
255
255
255
255
255
255
255
253
255
255
255
255
248
255
237
208
131
106
109
114
130
142
166
171
178
188
196
203
206
209
202
189
175
161
150
136
114
110
104
97
90
85
76
68
67
66
69
72
76
81
82
83
84
85
85
85
84
77
75
72
69
67
64
61
60
57
53
52
96
98
96
91
83
81
79
83
80
82
88
103
120
136
153
152
153
155
140
107
78
65
62
64
69
70
70
72
74
76
81
88
95
110
116
118
119
116
112
105
94
91
75
72
69
66
63
59
58
58
58
60
61
63
63
64
70
70
70
70
69
67
64
62
61
60
59
57
55
54
53
53
52
51
50
50
49
47
46
45
43
42
40
39
37
36
35
34
33
34
34
34
34
35
35
36
36
36
37
37
37
37
37
37
37
37
39
41
42
44
45
46
47
48
48
48
48
48
48
48
51
54
57
60
62
62
63
61
61
62
61
58
56
57
59
61
62
63
64
64
65
67
68
68
71
82
97
114
139
165
246
238
255
255
255
245
249
255
255
252
246
246
255
248
228
219
209
204
202
210
222
242
246
247
247
246
241
247
255
255
255
243
236
253
246
250
255
254
255
255
252
253
254
255
254
254
253
218
251
255
255
244
250
250
248
250
255
239
87
75
83
102
88
83
89
89
126
179
228
253
255
255
254
253
245
255
255
255
255
255
255
255
254
255
255
255
255
246
242
252
253
253
250
255
255
245
247
188
158
141
141
156
164
182
183
189
194
199
204
209
210
205
197
188
178
169
161
135
132
125
116
105
95
80
76
74
73
73
74
76
79
88
89
90
91
91
89
85
81
76
72
68
67
65
62
60
56
53
51
102
103
104
104
97
95
97
92
84
86
107
146
144
142
151
150
147
142
151
143
130
78
73
70
70
67
60
62
60
59
58
58
58
61
62
59
59
58
57
56
55
55
58
58
58
58
55
55
56
56
59
61
65
67
71
75
69
69
69
69
68
66
63
60
60
58
57
55
54
52
52
52
51
51
50
49
48
45
44
43
42
40
38
37
36
35
34
33
33
33
34
34
35
36
37
38
37
37
41
41
41
40
40
39
39
39
39
40
41
43
44
46
46
44
45
45
46
46
47
47
48
51
55
58
60
61
61
57
60
62
61
59
57
57
59
62
63
64
66
67
67
56
65
87
100
126
188
252
236
254
255
255
247
248
254
252
255
255
255
255
255
248
239
242
231
236
247
243
230
217
226
243
248
250
245
239
243
247
255
255
255
242
233
255
245
247
255
252
253
255
251
252
253
255
254
254
253
209
248
255
255
240
247
246
244
245
255
255
81
72
82
79
95
102
100
178
232
255
247
245
245
249
253
255
255
254
255
253
252
251
253
255
249
250
250
248
245
244
246
252
252
244
243
250
251
254
255
255
255
233
203
184
164
182
183
185
188
190
193
197
196
195
192
187
186
183
180
159
155
148
139
128
115
94
87
85
84
83
83
83
85
98
97
95
93
91
88
85
84
78
72
67
64
62
61
58
56
52
50
103
102
101
101
95
95
98
84
90
105
126
141
143
147
146
155
156
146
141
141
136
86
79
72
68
65
60
61
56
54
50
48
45
44
44
44
44
45
46
47
49
50
53
54
56
54
52
52
53
55
58
61
65
70
72
77
69
69
69
69
68
66
63
60
59
58
57
55
54
52
52
52
51
50
50
49
48
44
44
42
41
39
38
37
36
35
34
33
33
33
34
34
35
37
38
39
38
37
42
42
41
41
40
40
39
39
38
39
41
42
44
45
46
44
44
45
45
46
46
46
47
50
54
57
59
60
61
56
59
62
62
60
57
58
60
62
63
65
66
67
68
57
71
88
90
98
150
216
240
255
253
255
251
252
234
252
255
252
245
247
250
247
241
244
219
227
250
255
244
222
228
242
249
252
247
239
244
248
255
255
255
242
233
255
245
247
255
251
252
254
250
251
253
254
254
254
253
207
247
255
255
239
246
244
244
244
255
255
81
72
83
75
97
101
103
239
255
240
252
244
241
245
244
255
255
255
255
255
255
254
255
255
253
254
253
251
248
253
255
253
245
237
237
245
242
251
255
255
255
255
239
216
155
181
182
182
185
186
188
193
189
188
186
183
182
181
182
161
158
151
142
129
116
96
90
87
87
87
88
89
91
102
100
97
93
90
89
87
84
78
71
66
64
60
59
58
55
52
49
127
137
149
157
168
171
170
164
147
153
162
135
140
139
150
157
152
148
139
135
142
109
75
69
76
64
65
53
64
57
52
49
47
44
46
43
43
44
44
44
45
45
51
52
52
52
52
52
52
55
56
59
61
65
66
67
68
68
68
70
68
66
65
62
61
61
59
57
56
56
51
52
52
51
50
48
46
43
42
41
41
41
40
37
33
33
31
31
31
31
32
36
36
38
38
39
40
41
41
41
40
40
40
39
39
39
36
36
37
38
39
41
42
44
44
45
46
47
47
47
50
52
54
57
59
61
61
58
58
58
58
59
59
59
58
61
63
68
70
72
73
37
98
156
227
248
245
243
243
255
255
252
252
255
255
246
250
255
255
252
249
252
255
245
245
245
241
248
255
209
216
234
245
254
253
246
243
249
250
255
255
248
248
251
246
241
255
255
254
254
255
250
250
253
251
251
249
255
254
251
249
249
254
255
255
255
252
229
88
81
72
91
85
113
190
254
250
255
255
246
242
240
247
253
255
255
255
254
255
255
251
245
250
251
250
250
252
255
255
254
251
249
254
255
250
254
255
255
255
243
228
241
186
139
148
156
158
156
158
160
154
154
156
160
166
170
179
164
160
154
144
131
116
93
88
87
87
90
94
98
102
102
103
102
100
96
90
85
76
72
68
64
60
57
52
52
52
52
52
211
223
234
239
247
251
254
246
234
228
220
184
177
170
173
171
169
168
146
143
150
102
76
70
73
65
63
55
63
55
49
47
46
42
43
41
42
42
42
43
43
43
49
50
52
52
52
50
49
53
55
57
61
65
66
68
70
70
70
71
70
68
66
64
62
62
60
58
57
56
52
52
51
50
49
47
46
44
43
42
42
42
40
38
35
34
33
33
32
33
33
38
38
39
40
41
42
42
43
43
43
43
42
42
42
41
40
39
38
39
39
40
41
42
43
44
45
45
46
46
49
50
51
52
53
54
55
57
57
58
58
58
58
60
61
65
67
69
71
72
73
68
142
239
255
244
238
234
252
255
255
249
251
254
255
254
248
250
255
255
254
254
255
255
247
249
250
244
235
239
232
217
219
231
246
255
255
255
248
245
250
254
255
252
250
243
254
255
255
255
254
248
252
254
251
252
248
255
254
252
248
251
254
255
255
255
246
231
98
88
83
102
140
210
250
255
255
255
255
252
249
248
255
255
255
255
255
255
255
254
249
249
251
250
249
249
250
251
253
254
254
254
252
250
252
255
255
255
246
247
246
253
242
126
133
140
138
133
131
129
122
124
128
136
144
153
164
164
162
159
150
141
129
107
104
98
93
90
91
93
96
102
101
102
100
98
94
90
74
71
65
59
56
51
47
46
46
46
46
237
242
246
248
255
253
248
248
243
239
238
218
203
187
178
174
175
172
153
146
142
99
80
71
73
66
63
58
63
55
47
46
46
42
42
41
41
41
42
42
43
43
49
50
51
52
52
52
51
54
55
58
61
65
67
68
70
70
70
72
71
69
67
65
63
63
60
58
57
56
53
52
51
50
48
47
47
45
44
43
43
43
42
39
36
35
34
33
33
33
34
38
38
40
41
41
42
43
44
44
44
43
43
43
42
42
40
40
39
39
40
41
42
42
43
44
45
45
46
46
49
50
51
51
52
53
53
57
57
57
59
59
59
60
61
63
67
69
71
72
73
57
187
249
252
255
237
250
250
255
255
246
244
250
255
255
249
247
248
250
253
255
250
255
252
250
250
245
238
246
238
216
212
221
238
255
255
255
249
240
245
255
255
252
251
246
252
255
255
255
253
247
251
253
253
252
250
255
253
251
249
250
253
255
255
254
243
236
110
91
87
134
193
240
245
255
255
254
255
252
249
249
255
255
255
255
255
255
254
250
251
253
249
248
247
248
250
253
255
255
255
254
249
244
253
255
255
253
244
254
255
255
251
131
132
131
129
127
124
108
107
109
115
123
133
144
156
162
161
158
154
146
136
118
114
106
99
94
91
92
95
99
99
98
96
93
90
88
76
71
65
60
57
50
47
42
42
42
42
250
255
255
255
255
255
255
255
255
254
249
246
226
209
186
183
181
175
172
147
103
94
84
76
73
72
67
62
65
55
46
45
47
43
41
41
42
42
42
43
43
43
49
49
48
48
50
58
60
59
60
62
64
66
67
66
70
70
70
71
70
68
66
66
65
64
61
58
57
56
56
54
52
50
49
49
49
48
47
46
46
46
45
42
37
36
35
35
34
35
35
37
38
39
40
41
42
42
44
44
44
44
43
43
43
42
40
40
40
41
43
45
46
44
44
45
46
47
47
47
49
50
51
53
54
55
56
59
60
60
60
60
62
62
65
67
69
70
72
74
75
65
234
255
249
255
243
245
251
255
255
245
242
244
249
255
252
250
249
246
246
249
255
253
254
255
253
249
247
255
248
218
213
215
226
242
255
255
255
242
245
255
255
249
254
249
252
255
255
254
255
248
248
250
251
255
253
253
253
253
250
251
253
255
255
255
252
248
125
115
130
234
248
251
255
255
255
255
253
248
244
246
255
255
255
255
254
250
249
252
253
251
251
250
251
250
250
252
253
255
255
255
249
247
251
251
246
255
249
255
255
255
243
148
147
143
135
128
119
93
86
84
89
97
109
120
136
152
155
157
158
159
158
148
138
133
126
119
112
108
105
99
98
96
91
88
84
82
74
71
67
63
61
57
51
40
40
40
40
255
255
255
255
255
255
254
251
255
252
242
254
248
227
213
197
204
197
142
135
107
90
86
77
75
78
66
69
69
60
49
44
45
45
42
44
43
42
42
43
48
49
54
53
53
55
56
56
55
62
62
63
64
66
67
69
68
68
67
68
68
67
67
65
62
61
59
58
57
54
54
54
53
52
51
51
50
51
50
49
48
46
45
44
40
40
39
39
37
36
35
37
38
41
42
42
42
41
43
44
44
44
44
42
41
40
42
42
43
43
44
44
44
45
46
47
49
50
51
51
50
52
53
55
57
58
59
61
61
62
63
65
66
66
69
73
74
75
75
77
78
84
210
255
255
255
245
250
255
255
252
251
250
248
248
251
255
246
250
255
249
234
246
255
253
251
255
255
249
255
255
213
220
224
218
227
233
254
255
255
253
238
243
252
255
255
245
255
255
249
254
255
250
252
253
252
255
255
249
255
255
254
248
255
254
255
246
255
138
167
209
253
255
255
255
252
251
251
247
243
242
245
255
253
249
246
249
252
253
254
255
255
255
255
255
251
245
255
250
255
255
255
254
253
244
242
249
253
255
255
255
255
241
173
175
170
157
143
127
96
82
77
76
79
87
98
113
133
136
141
147
155
161
168
161
158
149
141
134
132
130
110
106
100
93
88
82
78
69
69
68
66
64
62
57
44
42
41
41
252
252
252
253
251
250
251
249
252
250
242
250
244
218
199
188
190
185
145
136
114
96
88
78
74
78
68
69
71
63
53
47
46
46
45
46
45
46
46
47
50
51
55
55
55
57
59
60
58
62
63
63
64
66
67
68
68
68
67
68
68
67
67
66
64
62
60
59
59
56
54
54
53
53
52
51
50
51
51
50
48
47
46
45
40
40
39
39
38
36
36
36
37
40
41
41
41
40
43
43
44
45
44
43
42
42
42
43
43
43
44
44
44
46
46
48
49
50
51
51
51
52
54
55
56
57
58
62
63
64
65
66
68
68
72
76
77
76
77
80
82
82
212
254
255
255
246
248
255
255
253
249
249
249
250
242
248
250
251
255
254
248
243
254
255
251
253
253
252
255
254
235
222
218
216
213
225
251
255
255
255
236
238
252
254
255
246
255
255
250
254
255
250
254
253
252
255
255
249
255
255
255
248
255
254
255
244
255
164
196
234
255
255
255
255
249
248
248
244
242
240
247
253
251
248
244
247
251
253
253
253
253
255
255
255
253
249
254
252
255
255
255
255
250
245
247
247
252
255
255
254
255
238
174
177
175
165
150
136
104
89
83
77
79
85
93
109
122
125
132
139
148
155
166
170
166
161
153
147
141
140
115
110
104
98
93
87
81
71
71
71
70
69
66
63
51
50
48
48
251
251
250
250
247
246
248
249
249
250
250
250
237
215
198
198
190
180
166
140
120
114
96
82
77
75
73
71
74
71
65
57
49
48
52
49
51
54
57
59
58
57
60
60
61
63
66
69
67
66
66
66
66
67
68
68
68
68
67
68
68
67
67
67
64
63
61
60
59
56
54
54
54
53
53
52
52
52
52
51
50
49
48
48
42
41
40
40
39
38
37
36
36
38
38
39
39
39
43
44
45
46
47
47
46
46
44
44
45
45
45
45
45
47
48
49
50
51
52
53
54
54
55
56
56
57
57
63
64
65
68
69
70
71
72
76
79
79
80
82
84
77
216
250
255
255
248
246
253
255
255
248
246
252
255
246
245
255
255
252
252
255
248
248
255
253
247
248
253
255
251
255
238
223
217
211
215
242
255
255
255
242
240
253
254
255
246
254
255
254
255
255
250
253
255
252
255
255
249
255
255
255
247
255
254
253
247
255
224
249
255
254
255
255
254
248
248
248
246
246
248
253
255
253
249
254
253
252
252
254
253
252
255
252
252
255
255
251
253
255
255
255
251
246
248
254
255
251
255
254
237
244
192
148
153
155
150
142
132
106
91
85
79
80
86
93
108
127
129
137
145
153
160
170
170
170
168
164
158
152
147
116
111
106
100
95
86
78
71
72
72
73
74
71
70
58
56
53
52
252
253
253
252
249
248
248
250
247
253
255
246
239
228
204
201
196
187
172
148
117
110
91
87
84
74
77
72
76
76
74
69
61
55
56
54
57
60
64
66
65
64
68
68
68
71
73
75
73
72
71
71
70
71
70
69
68
68
67
68
68
67
67
67
64
63
61
60
59
56
54
54
54
54
54
53
53
51
51
51
50
50
49
49
43
43
42
42
41
39
39
39
38
39
39
39
40
41
46
47
48
49
49
49
48
47
47
47
46
46
46
45
45
49
49
51
52
53
54
54
58
59
60
61
62
62
63
63
66
68
69
71
73
73
73
79
80
81
82
85
88
89
231
245
255
248
248
242
251
255
255
248
247
253
255
254
248
246
254
255
255
255
255
251
244
249
254
251
246
255
255
244
255
255
243
247
230
238
244
243
250
255
255
253
253
255
248
251
255
255
254
255
249
253
254
251
255
255
249
255
255
255
248
252
253
252
255
250
248
255
255
254
253
252
251
252
253
255
255
255
255
255
251
251
249
255
255
253
251
254
255
255
249
249
252
254
252
252
250
255
250
245
244
248
254
253
255
255
251
250
246
232
158
109
115
119
118
114
110
99
90
87
86
90
99
112
133
148
150
155
159
162
164
166
164
165
164
161
159
155
151
128
122
114
105
98
90
83
73
73
74
77
79
78
79
67
65
62
61
255
254
253
253
251
250
250
252
249
253
254
236
232
230
211
199
195
185
167
153
116
102
86
89
88
74
80
72
79
79
79
76
71
61
59
59
61
64
67
69
70
70
74
74
74
76
78
79
77
74
74
73
72
72
71
70
68
68
67
68
68
67
67
69
66
65
63
62
62
59
54
54
54
54
54
54
54
50
50
50
50
49
49
49
44
43
43
42
41
40
39
41
40
40
40
40
42
43
48
49
49
50
50
49
48
47
48
47
47
47
46
46
46
49
50
51
52
54
54
55
60
61
62
64
65
66
67
67
69
70
72
75
76
77
79
84
85
88
89
92
94
98
239
244
255
244
248
239
251
255
255
251
250
254
255
249
251
242
247
255
255
255
255
255
240
243
253
252
247
255
255
245
251
255
255
255
248
243
239
232
249
255
255
253
255
255
248
250
255
255
254
255
249
253
254
253
255
255
249
255
255
255
248
251
248
250
255
243
249
255
255
254
253
250
251
253
255
255
255
255
255
255
246
246
247
255
255
250
252
254
255
251
247
255
255
253
252
255
253
246
244
245
244
247
253
255
255
255
249
246
243
211
138
86
91
96
95
96
96
92
86
85
87
91
102
117
138
157
159
162
166
166
166
164
158
157
154
153
148
145
142
130
123
113
103
94
87
79
69
69
71
73
76
75
76
66
64
62
61
252
255
255
255
255
255
255
253
255
255
243
213
215
222
220
209
186
164
159
144
122
108
79
79
89
82
81
74
81
83
83
80
78
76
72
64
66
68
71
72
72
71
78
78
79
81
81
82
83
76
75
76
75
73
72
70
75
72
69
68
68
69
68
70
69
67
64
61
59
56
51
51
51
51
51
52
52
50
49
48
47
49
48
47
58
50
40
35
36
43
54
60
53
39
29
29
37
48
64
46
36
34
28
16
15
26
40
45
49
49
50
51
51
50
52
52
53
55
55
55
56
60
61
63
65
67
69
69
76
80
82
84
85
86
86
91
93
95
96
98
98
139
244
244
255
252
235
241
236
250
255
255
255
255
244
255
253
255
249
238
246
255
247
248
254
246
240
254
255
248
245
255
239
245
255
255
255
255
255
255
250
243
237
253
255
255
255
234
248
255
255
255
251
255
255
249
253
255
250
250
255
252
255
255
255
255
255
233
248
252
255
253
251
255
255
251
251
255
255
255
246
246
251
254
255
255
255
255
255
253
247
246
247
248
250
252
254
251
249
255
255
255
255
255
244
241
254
255
255
254
212
129
63
76
77
81
84
87
88
82
83
81
83
89
97
108
129
150
150
152
152
150
149
142
139
133
126
120
115
114
113
119
115
111
104
98
93
89
75
75
77
79
80
80
79
78
77
75
74
254
255
255
255
253
252
248
249
241
233
226
225
224
223
224
223
217
205
187
160
131
93
93
91
86
80
75
77
80
83
85
83
83
84
81
74
74
74
75
76
79
80
83
83
84
84
83
83
82
77
77
78
76
74
73
72
74
73
72
72
73
72
68
69
68
67
65
63
62
60
55
55
55
54
54
55
55
51
49
48
47
49
48
47
50
44
35
29
31
39
50
53
48
40
34
33
40
51
58
76
83
70
60
62
58
50
46
46
48
51
51
49
47
48
49
50
54
59
62
65
76
78
81
83
84
87
88
86
89
91
93
96
96
97
102
105
107
111
112
112
112
136
248
250
255
255
247
242
245
252
255
255
255
254
246
253
253
254
253
250
245
242
255
255
251
252
251
249
245
255
255
248
253
246
244
255
255
255
254
255
255
248
242
248
255
255
253
237
245
252
255
255
251
254
253
248
250
255
249
248
254
252
255
255
255
255
253
235
252
255
255
255
255
254
252
255
255
255
248
247
249
253
252
251
252
255
255
254
251
249
249
249
251
252
253
253
253
250
248
251
250
246
244
244
255
255
252
242
226
171
97
79
74
72
74
76
78
76
73
61
60
57
61
69
77
86
101
120
124
131
138
142
143
138
129
123
114
107
101
99
97
105
104
100
96
89
81
73
62
62
61
62
65
68
70
76
76
74
73
254
255
255
253
253
250
246
243
238
235
235
243
244
243
247
249
246
239
223
199
174
119
94
89
90
75
75
75
81
84
86
86
87
90
88
82
81
80
79
80
83
84
88
87
86
85
84
83
82
79
80
79
77
76
75
73
75
74
74
75
75
74
68
68
68
67
66
65
64
63
56
56
55
55
56
55
55
51
49
48
49
49
48
47
47
40
32
27
28
36
46
52
44
39
37
40
49
58
88
116
128
115
111
121
113
85
58
56
51
44
41
46
52
51
51
54
60
65
72
74
83
87
90
92
94
97
97
97
100
101
102
104
104
107
111
115
117
118
119
119
121
131
239
250
255
255
255
246
248
251
255
255
255
254
246
254
255
251
254
255
249
238
251
254
251
253
255
250
240
254
255
244
254
251
242
255
255
255
253
253
253
252
255
245
253
255
250
241
243
250
255
255
252
251
251
249
249
255
249
247
251
252
255
255
255
255
246
236
255
255
255
252
255
255
250
255
255
250
244
247
251
254
253
252
254
255
255
248
247
249
252
252
252
252
252
253
253
250
248
241
239
235
232
238
255
255
255
238
174
112
89
87
89
67
67
69
69
67
61
48
44
45
47
57
67
76
93
115
122
131
141
147
149
148
138
132
124
114
105
99
96
97
99
99
97
92
85
78
62
60
59
57
59
62
65
77
76
75
74
245
248
248
246
250
249
247
245
250
255
255
254
255
255
250
248
245
241
242
237
230
211
138
103
97
72
71
70
82
86
89
90
93
98
96
97
95
93
91
89
86
86
89
89
88
86
86
84
83
83
82
81
81
79
77
76
79
78
77
77
77
77
73
70
70
69
68
67
66
65
59
58
57
56
55
54
54
51
51
50
49
49
49
48
44
38
30
26
28
36
46
58
45
36
36
44
60
86
193
210
220
220
231
243
223
182
100
64
48
47
49
46
40
54
58
63
69
77
83
85
95
98
102
103
106
109
111
115
115
117
118
122
124
125
126
129
130
133
133
133
133
130
206
246
255
255
255
255
249
249
252
254
255
253
248
253
255
251
252
255
255
251
240
244
254
255
255
254
253
239
255
247
248
255
253
249
250
255
255
246
244
255
255
252
242
255
245
247
241
248
253
251
254
248
250
253
251
255
245
244
249
254
255
255
255
247
239
238
255
255
255
247
252
255
255
255
249
241
252
254
254
252
255
255
253
247
247
248
249
252
254
252
251
253
252
253
251
250
252
228
236
244
250
255
255
255
237
171
133
120
96
94
99
75
75
72
71
67
61
51
40
38
42
53
65
75
91
121
127
138
151
160
167
171
171
163
151
137
123
112
106
94
95
94
92
87
81
73
69
66
63
61
60
61
63
74
75
76
77
228
231
234
235
244
247
246
253
252
250
250
254
254
252
245
248
252
254
255
255
253
245
231
149
84
89
59
70
84
88
91
92
95
100
98
104
103
102
99
94
85
82
88
88
87
87
86
87
86
84
85
83
82
80
80
78
83
80
77
76
77
77
77
73
73
72
70
68
67
65
63
62
61
61
60
58
57
53
51
50
50
50
49
48
50
45
38
35
37
44
53
51
50
50
51
63
104
176
255
253
255
255
255
255
255
243
219
172
118
69
43
40
45
69
75
81
89
95
98
99
106
109
113
114
116
119
121
119
120
121
125
129
132
136
136
138
140
141
141
140
140
143
178
236
255
255
255
255
255
251
240
243
251
255
255
240
247
255
255
250
253
255
255
246
251
255
251
247
251
255
239
255
253
245
251
252
246
255
255
255
248
245
255
255
242
255
243
252
243
249
252
248
255
249
252
255
254
255
245
245
251
255
255
255
240
250
240
238
255
255
255
255
252
254
255
243
242
249
255
255
255
254
255
250
239
237
244
253
255
255
252
251
252
252
251
252
251
254
254
255
255
255
255
255
223
189
152
149
132
121
120
104
80
92
90
86
82
79
76
75
73
70
68
72
82
89
100
99
105
116
130
144
156
171
161
155
143
130
117
109
102
86
85
86
87
85
81
77
63
61
60
60
61
62
65
70
71
74
76
227
234
241
244
242
245
246
255
253
253
252
249
249
249
245
248
251
255
255
255
255
254
255
195
115
97
63
76
79
84
91
95
96
102
106
100
102
102
100
98
89
82
84
86
89
89
90
87
86
88
87
86
86
84
82
81
83
81
79
79
79
78
75
73
72
71
70
69
68
67
66
64
63
63
61
57
58
53
55
55
51
50
52
52
50
45
42
40
43
50
58
63
52
55
55
68
139
217
255
252
251
255
255
255
255
246
245
232
180
100
63
56
37
73
79
84
91
98
103
107
110
114
115
116
118
118
120
125
125
128
130
132
135
137
141
146
147
148
148
147
147
137
169
204
239
255
255
255
255
253
240
243
249
255
255
253
249
250
255
255
255
255
255
255
236
242
255
255
249
255
255
245
255
252
242
252
246
255
255
251
255
254
245
255
254
251
248
245
244
245
249
244
255
245
251
255
255
252
239
247
255
255
255
255
248
250
237
238
255
255
255
246
255
255
251
248
252
248
251
253
255
255
249
245
243
248
247
247
253
255
252
247
252
255
254
251
251
253
251
255
255
255
255
255
175
139
127
120
121
122
113
92
76
84
80
75
74
72
71
69
71
72
66
70
81
81
83
90
95
106
120
134
146
161
158
151
139
126
115
108
102
95
92
87
85
81
80
75
67
67
67
66
65
66
68
72
74
76
79
247
252
255
255
255
255
255
253
252
251
249
248
248
246
244
246
250
254
255
255
255
255
255
249
196
123
99
82
83
84
87
92
98
104
104
106
108
108
106
104
97
91
91
88
85
84
86
85
83
84
85
85
84
84
85
85
84
82
80
80
80
79
76
74
74
73
71
70
69
67
68
67
66
64
64
62
60
58
59
57
53
50
49
47
55
53
49
47
51
58
62
59
50
55
65
89
158
231
255
251
243
242
244
249
253
251
255
255
251
197
120
74
71
75
79
86
92
98
105
108
114
118
121
124
127
130
132
135
135
136
137
138
141
142
143
147
149
150
150
151
150
146
159
176
202
228
249
255
255
255
241
240
245
251
255
255
251
248
251
254
255
255
251
255
248
239
237
245
255
255
255
252
234
251
255
251
251
252
254
255
254
252
252
226
255
255
250
251
247
248
254
251
255
246
249
255
255
255
244
250
255
255
255
249
248
244
241
253
255
247
249
255
254
248
245
249
253
255
254
255
255
250
243
248
253
248
252
255
255
251
252
255
248
251
252
252
254
254
249
255
255
229
187
151
121
128
114
112
108
104
96
86
89
82
80
78
73
68
67
74
81
82
105
122
98
69
69
73
79
88
100
112
123
136
136
132
124
117
109
104
98
92
88
87
83
81
77
70
65
64
64
65
66
67
71
77
77
78
79
251
253
254
255
252
253
252
252
252
250
250
249
249
249
248
249
251
253
255
255
255
255
246
247
246
202
97
101
89
87
87
92
98
104
102
105
107
106
104
103
99
94
98
92
84
82
85
84
81
84
84
84
86
87
87
87
86
84
82
81
81
81
77
77
76
75
73
72
70
68
70
72
70
66
63
65
64
57
60
58
54
52
55
53
55
52
49
48
51
55
59
56
47
46
55
85
152
224
255
251
244
243
246
254
255
255
255
255
249
242
197
136
99
77
82
88
95
101
107
111
116
120
125
128
130
134
136
138
137
137
140
141
142
143
146
149
152
154
154
154
154
160
149
147
159
184
218
246
255
255
249
245
247
253
255
255
255
248
248
250
252
255
255
254
255
255
248
237
233
251
251
255
255
253
243
255
255
251
251
255
250
244
245
246
230
254
255
251
255
247
255
255
255
249
249
255
255
255
246
247
255
255
255
240
255
243
246
255
252
244
246
255
244
241
250
251
249
253
255
251
244
242
251
254
255
255
255
251
251
254
255
254
255
255
251
248
247
241
234
208
179
145
126
126
142
148
143
142
135
135
147
169
217
244
245
245
239
235
233
248
246
255
251
225
228
205
124
67
70
77
84
93
100
109
107
105
102
100
98
97
94
87
86
84
82
79
72
65
59
57
56
58
62
65
67
69
70
72
74
253
253
254
254
254
254
253
253
253
251
251
250
250
250
250
250
252
253
254
255
254
254
246
236
244
230
107
108
91
90
90
93
97
102
102
103
105
104
101
101
99
94
100
95
89
87
86
84
83
85
85
87
87
87
87
88
86
85
83
82
82
82
78
78
77
76
74
72
70
68
69
73
71
65
63
66
65
55
57
56
52
50
52
51
52
50
46
46
49
53
56
51
43
42
50
79
143
214
255
251
248
249
253
255
255
255
255
248
238
239
223
175
124
78
83
89
95
103
109
113
122
125
129
130
133
136
139
136
137
137
138
139
143
144
146
150
153
154
155
156
156
169
145
139
146
170
202
233
255
255
253
249
248
252
255
255
255
249
248
249
250
253
255
255
255
255
255
244
232
235
255
252
255
255
249
245
252
250
250
253
251
246
241
255
228
242
255
252
255
249
253
255
255
251
249
252
255
255
255
252
255
255
255
247
255
246
252
255
249
245
240
250
246
249
255
253
251
253
254
250
245
247
255
255
255
255
254
249
251
255
255
253
252
250
247
243
244
230
221
139
135
130
130
135
159
172
190
202
215
226
232
233
232
255
255
255
251
249
250
255
255
255
255
255
247
255
171
64
67
73
78
84
90
96
95
95
92
91
91
92
89
84
83
80
77
75
70
64
59
54
54
55
59
63
63
61
63
65
67
253
252
251
251
254
254
253
253
251
251
251
251
250
250
254
254
254
252
250
250
250
247
250
242
235
234
158
109
93
95
96
95
94
98
102
102
103
102
100
101
100
96
102
101
100
95
90
86
87
88
88
90
89
89
88
89
87
85
84
83
83
83
79
80
79
77
75
73
71
68
67
73
71
63
61
66
65
68
69
66
60
58
57
54
49
46
43
42
44
49
51
36
36
40
48
76
129
198
255
252
251
255
255
255
255
255
233
238
242
236
239
226
184
79
85
91
97
105
111
115
121
124
127
126
127
128
130
135
135
136
139
141
144
145
146
150
153
155
156
156
156
181
147
136
140
159
188
221
250
255
254
249
249
251
254
255
255
252
249
248
248
248
243
255
253
248
255
255
255
235
222
255
255
255
255
255
235
242
244
249
255
254
241
255
255
239
255
255
245
255
247
255
255
254
250
249
253
255
255
255
237
224
240
255
247
250
255
255
253
243
224
244
254
255
255
249
253
255
234
245
255
255
254
255
255
248
253
255
255
255
255
255
252
251
250
246
237
190
167
63
86
123
163
195
228
235
232
248
255
255
255
255
255
240
236
232
231
232
236
243
255
252
249
236
216
203
115
60
62
65
70
73
76
78
83
80
77
76
77
81
84
77
74
70
67
66
63
60
57
53
49
52
56
60
58
54
55
55
55
253
253
253
253
253
253
253
253
253
253
253
253
253
253
248
249
251
251
254
255
255
255
255
251
238
223
173
114
94
93
92
91
91
91
93
93
95
98
101
103
104
104
102
101
99
98
97
93
91
91
90
89
89
90
90
87
85
87
86
86
87
87
85
86
78
73
72
72
71
67
76
175
255
255
211
134
96
225
255
208
101
38
31
55
75
90
115
136
143
142
147
172
183
199
215
221
222
230
255
253
245
241
243
249
255
255
250
252
254
250
253
247
222
92
59
62
94
113
101
108
129
126
118
122
129
127
119
107
140
154
154
144
130
123
125
166
179
176
160
141
127
155
150
149
150
153
160
171
185
203
235
248
255
255
255
255
255
243
235
235
238
245
255
255
255
255
247
239
235
255
255
234
242
255
255
247
251
255
250
255
254
241
248
252
244
240
250
255
255
253
248
255
255
247
250
239
247
251
250
248
255
194
247
246
239
255
255
255
249
241
233
247
255
249
250
252
240
252
255
255
255
255
251
248
244
245
249
255
255
255
254
248
255
249
235
212
187
179
187
237
238
241
244
246
247
247
249
248
247
247
245
244
243
254
249
242
235
230
230
240
242
241
237
226
191
154
103
61
56
55
59
72
83
72
59
51
56
70
83
82
72
59
62
63
65
67
67
67
68
70
68
67
66
65
67
52
52
52
52
253
253
253
253
253
253
253
253
253
253
253
253
253
253
248
249
251
251
254
255
255
255
253
248
235
221
173
116
91
89
89
89
89
92
93
91
93
95
99
101
105
106
103
102
102
102
103
102
99
95
93
92
91
92
92
89
87
88
87
87
88
86
83
88
77
72
76
79
76
74
90
169
244
255
232
196
191
255
255
233
140
59
39
65
114
147
187
213
220
222
224
237
239
244
255
255
255
255
255
253
245
242
244
247
254
255
254
252
252
247
252
250
233
99
60
63
95
114
101
105
126
121
113
117
124
123
117
118
139
146
145
138
130
126
127
155
162
160
148
135
126
149
157
159
164
165
167
170
173
183
209
225
241
254
255
251
255
255
255
255
248
244
251
255
255
255
246
229
216
251
255
236
232
252
255
248
242
255
255
249
251
245
251
255
248
251
236
255
255
232
246
240
255
255
255
230
242
253
240
242
249
192
254
244
249
255
255
255
242
236
242
251
255
250
254
237
232
255
254
255
255
255
250
248
247
239
240
240
244
250
255
255
255
252
235
220
214
222
226
239
242
243
245
247
247
246
251
250
249
248
247
246
245
253
248
243
236
233
233
241
243
247
247
233
213
204
181
67
61
56
58
69
81
73
59
50
53
67
79
79
70
56
59
63
68
70
71
71
76
78
76
74
69
66
65
51
51
51
51
253
253
253
253
253
253
253
253
253
253
253
253
253
253
249
249
251
251
254
255
255
255
251
240
222
204
167
125
87
86
87
86
88
91
92
91
92
93
96
99
107
109
109
108
107
107
108
106
104
105
103
100
98
98
96
92
92
91
91
89
87
83
79
78
81
87
89
90
103
157
149
185
231
255
251
237
233
255
255
253
220
159
127
127
172
210
248
255
255
255
255
255
255
255
255
255
255
255
255
254
246
241
242
247
251
255
255
249
245
244
247
251
253
109
60
64
91
110
97
92
117
114
107
111
120
120
112
139
136
131
128
129
131
137
142
142
138
136
137
141
143
163
166
166
163
158
148
140
136
140
169
195
222
244
255
242
246
255
255
255
255
255
255
255
255
255
255
255
254
255
248
255
255
238
238
255
255
246
252
248
247
255
253
255
255
254
241
243
255
255
252
183
186
255
243
255
255
255
245
253
242
201
255
250
255
255
255
255
230
249
246
255
254
254
248
241
255
249
255
255
254
251
251
255
255
233
237
245
253
255
247
245
248
252
255
255
255
255
255
245
245
245
245
247
248
248
248
248
247
247
245
245
245
254
251
247
241
238
238
244
245
250
244
227
217
213
139
83
71
59
56
63
76
74
57
49
52
64
77
78
69
57
56
56
58
62
69
76
83
84
84
80
76
73
71
54
54
54
54
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
251
252
251
253
254
255
255
252
248
229
200
156
122
93
92
90
90
91
93
94
98
96
95
95
98
109
112
112
111
110
111
112
110
108
113
110
107
104
103
100
94
95
94
94
92
89
84
75
72
81
84
91
127
190
255
249
238
241
253
251
255
255
255
255
255
252
246
242
244
235
244
249
247
246
247
248
240
243
242
234
232
236
238
255
253
246
242
243
247
252
254
253
242
237
242
244
249
255
118
66
71
90
106
95
87
109
106
99
105
113
113
108
130
129
128
126
128
131
138
144
162
168
172
173
175
175
152
149
144
142
142
145
151
158
167
181
184
184
183
182
253
247
237
242
254
255
255
255
246
230
242
255
255
255
255
255
250
255
255
255
241
241
253
246
255
255
247
255
255
255
255
251
253
255
255
226
229
189
243
255
255
255
255
227
242
249
240
250
236
251
255
243
218
252
255
255
255
255
241
237
253
242
248
247
244
244
248
255
255
255
255
255
249
242
240
251
255
255
255
255
254
252
255
255
244
244
243
243
246
249
248
245
246
245
246
245
245
245
255
255
251
247
244
244
246
255
254
251
243
234
217
116
92
79
62
53
58
70
75
70
60
56
63
71
71
63
57
56
55
56
61
66
73
80
82
84
82
77
74
72
54
54
54
54
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
253
253
253
254
253
253
254
236
206
155
120
96
94
94
92
92
94
94
100
98
96
96
99
108
111
112
111
111
112
114
114
112
115
112
109
106
104
101
95
94
95
94
92
89
84
76
73
83
87
101
150
216
249
255
238
236
244
247
252
255
254
255
251
249
252
249
246
250
247
243
240
240
240
240
242
245
242
237
238
243
242
255
253
246
243
245
249
253
254
252
237
235
242
245
249
255
121
71
74
92
107
96
86
105
102
97
101
112
113
105
116
126
130
130
128
129
134
145
190
208
214
212
206
201
165
154
148
145
145
150
158
169
178
183
175
165
154
148
243
244
248
253
255
255
254
243
232
227
239
255
255
255
243
252
255
252
251
255
255
237
240
254
241
254
255
249
255
255
255
246
255
255
234
220
230
255
241
255
243
255
255
235
239
250
255
254
241
249
255
229
188
255
255
255
255
234
241
255
247
250
243
242
241
243
251
255
255
255
255
255
253
250
252
255
255
253
251
250
248
247
243
243
245
245
244
244
243
247
248
246
246
246
245
246
247
246
255
255
254
251
248
245
246
253
248
244
241
243
244
187
100
82
62
51
55
69
75
68
58
55
61
69
72
65
57
57
57
59
62
67
71
80
82
84
81
77
72
70
53
53
53
53
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
254
255
249
244
184
130
104
99
94
95
96
97
95
97
98
100
102
104
105
105
110
111
111
112
112
113
113
115
114
112
110
110
107
99
93
94
96
96
94
89
77
73
81
88
110
200
235
255
255
246
232
237
251
255
255
255
249
246
248
253
255
255
248
251
255
255
255
255
254
255
255
255
255
255
255
255
255
254
249
246
246
249
252
253
245
234
230
233
241
250
255
129
65
71
96
104
92
79
101
96
88
92
102
102
97
78
116
132
134
128
120
121
132
220
239
255
255
239
235
245
223
207
189
174
161
151
139
141
152
156
157
155
154
184
200
247
255
255
247
234
233
234
247
247
240
229
221
250
250
254
255
255
255
255
255
255
251
246
251
251
246
234
232
249
255
255
253
244
255
237
168
213
245
226
215
236
246
238
222
252
255
247
238
227
224
240
255
255
253
226
243
255
255
247
241
239
247
254
255
255
247
247
247
255
255
255
255
255
255
253
250
248
245
242
240
236
235
245
245
245
247
248
251
253
243
243
245
246
248
251
255
255
253
251
252
251
248
255
244
247
248
246
246
248
239
183
119
72
55
48
60
78
66
56
51
55
63
66
65
55
53
51
51
54
58
64
67
69
72
70
66
64
64
53
51
49
49
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
253
253
251
251
253
252
255
254
250
253
233
193
117
100
99
105
102
101
98
101
102
104
107
108
109
109
107
108
111
113
114
115
114
115
113
111
110
110
108
103
92
94
96
96
95
92
80
73
77
90
110
194
233
255
250
253
249
242
246
255
255
251
250
250
248
247
250
255
241
244
247
252
255
255
255
255
253
252
253
255
255
255
255
254
250
246
247
250
251
249
241
227
218
223
236
249
255
118
54
59
83
92
83
72
90
83
74
77
87
90
85
70
109
125
129
121
112
113
140
227
250
255
255
255
251
247
255
255
254
244
229
211
200
179
158
155
160
166
168
136
140
169
191
216
240
255
255
255
255
255
255
255
255
251
250
246
247
250
254
255
254
255
255
250
244
248
255
244
246
247
255
255
255
255
242
249
244
236
233
206
173
183
198
220
237
225
222
227
202
190
204
246
255
244
249
255
255
255
255
254
255
255
255
248
242
240
250
252
249
242
241
242
241
242
244
245
247
247
248
250
251
251
253
252
252
250
249
248
249
251
241
247
254
255
255
251
254
248
247
250
253
252
249
251
255
255
255
255
255
254
248
232
145
75
48
43
59
80
69
54
45
46
53
59
62
57
54
51
50
51
55
60
65
66
65
62
61
61
64
54
51
48
46
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
254
253
251
251
251
254
249
251
255
254
235
220
139
109
100
104
98
102
99
101
102
104
106
109
110
110
108
110
111
113
114
116
116
115
113
110
109
110
109
105
93
95
97
99
98
95
83
76
78
88
103
182
228
255
244
253
255
250
250
255
255
249
250
250
246
242
246
254
241
243
244
247
251
253
255
248
245
243
244
249
252
253
255
255
251
248
249
250
249
247
240
225
215
220
236
252
255
114
50
54
76
84
74
66
83
77
69
74
86
88
85
80
109
120
122
115
110
113
133
223
246
255
255
255
251
229
252
255
255
255
255
255
238
220
199
189
178
169
161
148
144
145
161
189
220
247
255
255
255
255
255
255
255
255
254
245
243
245
250
253
255
255
255
254
250
250
253
231
243
230
255
255
255
255
255
234
225
235
240
219
168
168
190
219
237
214
209
214
200
190
209
252
249
247
255
255
255
255
255
255
255
255
249
244
240
241
255
255
254
240
239
239
240
241
243
243
246
248
250
251
253
255
255
252
252
250
249
248
249
249
252
255
255
255
250
247
252
252
250
251
255
255
255
255
255
255
255
253
249
249
255
241
150
73
45
40
54
78
71
56
44
43
48
54
58
58
56
55
54
55
59
63
65
65
63
63
63
63
64
56
52
48
46
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
255
254
253
251
251
251
251
250
253
254
249
240
228
176
121
98
101
95
103
97
98
98
102
104
106
108
108
112
111
109
108
108
113
114
115
113
110
108
110
110
108
91
95
102
105
106
103
83
79
76
86
96
167
217
255
240
249
255
255
255
251
242
246
249
246
241
238
246
255
255
255
255
254
254
255
255
255
253
250
247
243
243
246
255
255
251
248
251
250
250
246
233
222
212
219
237
252
254
104
43
51
72
77
67
59
76
71
65
70
79
80
75
104
103
100
95
93
97
105
121
195
213
225
238
244
238
254
252
254
255
255
255
255
255
255
243
235
235
239
242
232
226
205
192
184
183
190
202
222
250
252
253
255
255
255
255
253
249
245
242
241
243
255
255
246
252
250
243
255
255
255
240
224
210
202
243
247
243
236
248
248
239
195
220
232
218
206
214
216
217
211
221
241
221
239
255
242
249
254
255
252
249
244
250
255
255
255
250
252
255
254
253
254
252
251
249
249
247
247
246
246
246
247
247
254
254
255
255
255
252
250
255
252
249
247
249
252
255
255
254
255
255
255
255
255
251
243
240
240
241
243
255
237
150
81
54
41
48
82
75
58
44
39
46
54
62
59
61
62
63
65
67
67
65
63
61
63
63
61
60
60
55
50
46
251
251
251
251
251
251
251
252
252
252
252
252
252
252
250
250
250
252
253
254
255
253
255
255
254
255
231
215
168
119
91
93
92
94
93
93
93
96
98
102
106
109
110
115
116
113
112
105
96
94
91
90
92
97
100
103
101
96
91
90
89
84
65
64
67
79
112
171
232
255
255
253
253
254
255
253
247
246
254
255
253
255
255
255
251
253
253
253
255
255
255
255
249
248
251
253
255
255
252
250
254
255
255
255
224
201
241
255
233
204
213
243
255
77
74
78
66
64
70
65
66
68
69
70
72
75
76
70
81
88
92
97
99
100
102
122
148
186
204
206
213
253
255
253
251
251
255
255
251
250
248
247
247
248
248
255
255
255
255
253
249
245
238
245
255
255
255
248
239
255
255
255
255
255
255
254
242
231
233
252
255
250
235
255
255
252
255
255
240
225
191
161
177
242
223
192
204
225
216
227
227
199
206
202
232
222
194
164
206
239
251
255
255
255
252
249
245
241
254
252
251
250
250
251
253
255
255
252
249
249
253
254
247
249
252
255
255
255
255
255
253
248
246
248
248
245
245
242
243
246
251
254
251
255
255
255
255
247
236
243
255
255
255
247
229
240
249
84
74
68
70
71
66
60
56
55
54
54
56
60
63
59
61
61
63
65
67
71
76
76
76
75
73
69
67
62
57
50
44
251
251
251
251
251
251
251
252
252
252
252
252
252
252
250
250
250
253
254
254
255
255
255
254
251
251
228
213
163
119
92
93
92
96
93
96
97
97
100
101
104
104
106
107
108
109
111
116
113
111
108
106
107
110
119
131
98
103
111
116
114
103
75
78
77
77
98
155
227
255
253
253
253
253
255
252
249
246
253
254
253
255
255
254
248
251
255
255
255
255
255
254
247
246
249
253
254
254
251
248
252
255
255
255
223
201
239
251
232
210
218
243
254
75
73
77
66
65
69
64
65
67
67
69
70
73
74
67
77
84
89
92
92
92
100
113
127
167
201
212
216
253
255
254
254
254
255
255
254
253
249
247
247
247
247
255
255
255
255
255
253
249
243
235
228
234
244
255
255
255
255
255
254
252
251
253
251
247
246
246
254
255
255
255
255
248
249
253
252
252
242
208
195
238
243
200
177
223
224
222
196
200
241
253
226
209
191
186
224
239
245
244
245
244
243
251
254
254
242
246
252
254
246
238
232
235
240
248
254
255
253
250
254
255
255
255
255
255
255
250
249
250
252
252
249
246
255
251
244
243
248
254
255
255
255
250
245
240
241
250
254
255
255
254
238
237
209
78
71
67
69
69
64
61
55
55
55
55
57
60
63
62
62
62
64
65
68
69
73
75
76
74
72
70
67
60
56
50
45
252
252
252
252
252
252
252
253
253
253
253
253
253
253
252
252
251
253
254
253
254
255
255
254
250
247
217
200
153
124
98
94
97
96
96
101
101
101
102
103
105
105
90
88
94
105
115
131
137
172
188
208
225
238
248
255
251
245
233
211
182
150
100
87
92
92
97
132
188
251
253
253
254
253
254
254
253
245
250
250
252
255
255
255
250
247
252
255
255
248
249
248
247
249
251
254
255
252
247
244
247
255
255
248
225
209
231
239
233
230
239
233
213
68
68
71
67
64
64
59
58
60
61
62
64
66
68
61
71
75
77
79
78
78
82
99
125
138
147
181
225
250
254
255
254
253
252
252
255
255
252
251
252
252
252
246
246
248
248
248
249
249
251
250
247
240
233
226
222
210
224
255
255
255
255
255
254
250
250
255
255
255
250
255
255
255
255
251
242
238
220
223
240
230
217
213
242
234
208
206
224
187
178
181
218
202
196
211
246
244
238
240
244
246
243
246
247
244
245
248
251
254
254
252
250
253
251
248
247
250
255
255
255
254
252
250
249
249
250
252
252
250
248
248
255
255
255
255
255
255
255
246
227
255
250
228
218
228
248
255
255
255
248
253
255
227
98
71
71
72
71
67
63
61
57
58
59
60
61
62
62
64
65
65
66
67
69
71
70
71
71
71
68
65
62
56
53
49
47
251
251
251
251
251
251
251
252
252
252
252
252
252
252
252
251
251
252
252
251
252
249
251
250
246
241
204
184
159
144
118
103
106
103
104
104
104
104
106
110
114
115
129
130
150
185
210
221
230
236
239
242
243
246
251
255
255
255
255
255
255
246
214
174
145
139
171
211
235
253
255
255
255
254
251
252
255
250
248
249
253
255
255
255
255
249
244
251
255
255
249
247
250
253
253
255
255
255
243
244
248
250
245
235
231
229
225
224
232
250
254
211
152
62
61
61
59
57
53
53
53
54
55
56
58
60
61
61
67
70
73
72
73
70
71
91
103
141
199
226
211
248
249
250
251
251
251
249
252
253
253
254
255
255
255
247
249
250
251
253
253
255
251
253
254
254
255
255
255
255
255
253
247
242
238
236
255
255
255
247
238
240
241
255
250
245
250
255
255
255
247
244
241
228
233
207
197
187
192
207
229
231
205
183
194
219
237
237
250
246
234
227
237
245
249
250
248
246
252
250
245
244
253
255
255
255
255
255
254
249
238
235
248
249
249
250
252
255
255
255
255
255
255
255
255
255
246
244
241
237
236
238
247
255
255
252
242
240
245
255
255
255
255
255
209
133
64
71
74
76
74
71
69
57
58
58
58
57
58
58
59
61
62
63
64
66
67
69
68
67
66
63
60
56
52
56
53
50
48
252
252
252
252
252
252
252
253
253
253
253
253
253
253
251
251
250
251
250
250
251
247
247
242
236
231
198
181
171
160
131
111
113
111
113
109
109
110
111
113
115
115
143
142
166
208
238
250
255
255
254
250
248
248
251
255
255
255
255
255
255
252
235
222
202
191
210
241
255
255
255
255
255
255
251
251
255
255
253
249
251
254
255
255
255
253
244
245
251
255
251
245
251
254
252
255
255
255
243
245
249
249
236
228
234
239
223
217
229
254
255
199
124
59
58
55
55
52
49
50
52
54
55
55
56
57
59
56
64
68
70
69
70
70
76
104
138
181
229
243
223
252
248
248
252
253
253
252
254
253
252
252
253
254
255
245
246
250
251
255
255
255
255
255
255
255
255
253
250
245
248
248
245
241
240
237
218
233
253
255
253
255
255
255
255
255
245
244
249
254
255
244
218
220
238
220
214
197
196
194
206
221
189
160
173
199
224
234
232
233
232
240
248
254
253
247
247
246
245
251
255
255
255
255
255
249
246
242
240
242
255
255
250
251
253
255
255
255
255
255
255
255
255
255
246
241
227
233
241
246
246
245
244
255
255
255
255
251
243
254
255
255
255
211
137
84
66
66
70
71
71
72
73
57
56
54
53
51
51
52
54
57
58
60
62
65
67
69
67
66
64
60
56
51
47
56
54
52
51
249
249
248
248
251
253
254
254
254
253
253
253
252
252
251
251
251
253
250
248
248
240
233
224
217
215
199
191
177
177
174
169
169
176
177
170
176
175
171
172
157
152
150
149
164
198
228
251
255
255
255
255
255
255
255
255
239
240
243
246
247
247
246
246
255
255
255
255
255
255
253
252
255
255
252
249
251
255
255
253
246
244
248
250
255
255
253
246
246
250
248
248
255
255
255
255
255
255
249
242
244
246
234
229
243
253
224
212
230
255
236
157
76
48
49
49
50
49
50
50
49
48
49
50
50
53
53
47
56
62
66
70
73
76
85
118
196
235
233
255
255
255
253
252
251
252
251
252
253
251
254
255
255
255
255
249
250
253
254
253
252
251
255
255
255
255
255
255
255
249
248
247
248
250
254
255
255
255
255
255
255
251
246
231
227
229
246
252
251
247
237
214
218
222
169
179
235
243
220
181
166
178
210
170
156
181
211
227
223
231
242
248
251
254
255
255
255
255
242
245
246
248
250
250
253
255
255
255
255
255
255
255
255
255
255
255
255
247
244
238
238
237
237
237
238
238
240
241
240
238
237
242
254
244
253
255
255
255
250
236
255
221
153
94
59
50
66
59
63
66
67
68
67
55
51
47
44
44
45
47
51
59
59
61
61
64
68
70
69
65
61
55
48
43
41
56
55
53
52
246
246
246
246
248
249
250
248
249
250
251
253
254
255
251
251
252
253
251
249
249
246
242
233
223
218
216
217
209
213
215
215
218
232
235
239
241
237
231
233
233
225
224
214
211
221
235
254
255
255
255
254
251
250
251
252
253
253
252
249
250
249
252
254
255
255
255
255
255
239
253
251
252
255
255
254
251
253
255
255
250
244
244
246
255
255
254
251
250
245
248
245
237
237
251
255
255
250
255
248
244
248
243
239
245
249
226
221
229
222
176
104
50
42
43
43
44
45
45
45
47
47
44
44
43
43
43
36
46
51
56
60
63
67
78
109
183
249
251
255
255
255
255
255
255
255
251
247
253
253
250
252
251
250
248
255
255
255
255
255
255
255
253
250
245
240
237
238
238
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
249
233
226
210
202
219
231
226
200
191
230
215
198
205
216
229
244
248
249
243
244
245
247
248
245
244
251
253
253
252
251
251
252
255
255
254
252
250
248
247
244
244
244
244
244
243
242
254
254
254
253
253
252
252
248
249
250
249
249
250
255
254
249
244
247
255
255
222
137
96
64
52
52
53
52
59
64
69
71
71
68
52
44
40
37
38
39
41
45
59
61
64
65
67
68
67
65
63
57
52
48
44
41
51
50
49
49
243
243
244
244
245
246
246
244
245
246
249
253
255
255
251
251
252
253
252
250
250
248
247
241
231
224
221
224
217
221
223
221
223
234
236
241
243
242
239
241
242
227
227
225
227
238
249
255
254
255
249
242
237
234
234
236
255
255
255
255
252
252
253
255
254
255
255
255
252
229
255
249
246
247
252
253
251
249
255
255
253
249
247
246
255
255
251
253
249
241
246
253
237
235
251
255
254
248
255
248
241
249
248
243
241
243
232
229
228
198
138
78
45
40
40
40
40
41
42
42
44
42
41
41
41
41
42
41
50
54
57
61
63
66
77
105
169
247
255
255
255
253
255
255
255
255
254
250
252
250
251
253
252
252
251
255
255
255
255
255
255
255
255
255
249
244
242
241
243
255
255
255
253
250
248
245
244
242
243
248
249
248
246
250
255
255
252
247
248
252
246
255
246
213
210
201
194
192
215
229
205
177
202
191
198
203
211
223
240
242
243
240
241
243
245
247
246
244
247
248
248
248
247
248
248
247
246
245
245
243
242
241
246
246
246
246
247
249
249
254
254
254
253
253
250
250
245
246
247
247
247
248
249
251
238
231
241
252
242
149
97
61
46
50
58
59
51
59
65
70
72
72
69
51
43
38
36
37
38
40
45
59
61
65
68
69
68
66
63
59
55
51
46
43
41
49
49
48
48
239
240
240
241
241
240
239
240
241
243
246
253
255
255
251
251
252
254
253
252
252
250
253
254
248
241
227
225
229
234
237
238
240
249
250
250
251
255
255
255
254
222
255
255
255
255
255
255
255
254
247
240
237
234
235
238
255
255
255
253
252
253
255
253
255
255
255
250
246
244
255
255
243
238
241
244
249
251
255
255
255
255
255
250
255
252
249
249
246
241
245
255
255
254
255
255
253
244
255
238
234
250
255
244
231
227
247
245
212
146
82
52
53
36
36
37
37
37
38
37
35
35
37
38
41
43
44
49
54
57
58
56
57
57
64
92
122
193
245
245
255
255
248
244
245
248
251
252
255
255
255
255
254
251
248
249
249
250
250
250
252
254
255
255
253
252
252
252
254
241
243
246
246
247
249
252
255
255
255
255
255
255
255
254
252
251
255
255
255
255
255
248
231
210
188
169
166
147
153
173
162
161
173
185
197
209
218
225
224
223
225
236
238
238
241
248
250
250
248
250
250
251
252
254
255
253
254
254
255
255
255
255
254
254
255
255
254
253
253
254
254
253
252
251
250
248
245
244
242
243
244
245
241
255
250
233
208
172
139
107
80
65
58
56
54
51
57
58
63
68
70
71
69
54
46
42
40
41
43
45
51
63
65
68
69
68
64
62
56
54
50
47
44
41
40
45
46
47
48
239
240
241
242
241
240
239
242
243
245
248
254
255
255
251
251
252
254
254
253
253
255
255
255
252
251
242
239
235
241
246
247
249
254
254
255
255
255
255
255
254
216
229
238
246
252
255
255
255
255
255
255
255
255
255
255
242
243
244
244
245
249
255
255
255
255
255
255
255
247
255
255
255
250
245
241
241
253
252
251
253
255
255
251
254
255
252
247
248
252
250
255
255
255
255
255
251
244
253
234
235
255
255
244
226
221
255
248
188
109
55
48
62
37
37
36
37
37
37
37
37
37
37
37
37
39
39
59
64
63
62
59
55
52
51
84
86
135
222
241
234
255
248
245
246
248
251
252
247
248
253
255
255
255
255
246
244
243
245
247
250
252
253
255
254
252
251
252
254
255
255
255
254
251
247
245
243
240
239
240
240
240
239
242
248
254
255
254
250
248
238
238
231
212
199
187
186
162
148
173
174
173
170
199
205
209
214
223
238
238
236
247
248
248
249
253
254
254
255
255
255
255
253
254
255
255
255
255
255
254
253
253
252
254
255
255
255
255
254
254
254
253
251
249
248
246
244
239
235
235
237
237
235
255
250
239
216
169
111
68
79
84
79
63
48
47
79
56
60
64
66
68
69
58
48
44
42
44
46
48
54
61
62
62
61
58
57
53
50
49
48
44
41
39
39
45
46
48
49
234
234
234
235
235
235
236
240
242
244
247
251
252
252
253
253
253
253
253
253
253
251
251
249
248
246
243
242
246
247
248
249
250
249
245
243
240
249
255
255
255
227
255
255
255
252
255
251
251
249
249
249
249
249
249
250
251
252
255
255
254
253
251
248
248
251
251
252
251
252
254
255
255
255
245
239
248
255
255
255
255
254
251
240
255
253
254
255
255
255
255
247
252
248
246
252
255
255
242
231
235
250
255
255
255
246
196
157
114
82
63
53
47
43
40
37
35
35
38
42
41
42
39
39
38
41
43
41
56
61
65
64
60
56
49
75
85
134
206
249
252
236
240
238
246
255
255
255
255
255
255
255
255
252
251
255
255
253
253
251
250
249
254
254
253
252
251
251
251
252
252
250
249
248
247
247
242
245
249
253
255
255
255
255
255
255
255
246
243
243
247
252
253
233
227
220
214
199
204
196
199
196
181
193
207
219
218
215
227
226
230
233
236
240
241
245
248
253
253
253
255
254
254
254
253
252
252
252
251
251
248
247
250
249
249
249
248
248
248
255
253
250
245
241
235
235
238
239
239
236
234
230
225
247
233
204
164
121
92
86
84
89
90
83
72
64
52
54
58
61
63
65
67
63
54
52
49
51
54
56
59
63
64
65
65
60
56
51
49
49
47
45
46
47
48
49
50
51
53
232
233
234
236
239
240
241
244
245
247
250
253
253
253
253
253
253
253
253
253
253
254
254
252
251
249
247
246
247
249
250
252
253
250
247
247
241
248
255
255
255
221
255
255
253
250
250
252
255
253
253
253
254
255
255
255
251
251
252
253
253
253
253
251
252
251
250
250
252
254
251
254
255
255
255
255
249
252
255
255
254
252
250
248
255
251
250
251
255
255
255
240
245
247
246
247
251
255
242
235
237
249
254
253
244
225
166
122
86
68
59
53
45
44
43
39
36
35
37
40
42
43
41
40
42
43
45
44
58
65
70
70
66
61
69
83
103
113
171
237
246
251
253
254
252
251
253
255
255
255
250
249
247
247
245
251
251
253
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
250
254
250
245
239
242
251
255
255
255
255
234
230
225
220
205
215
210
203
212
199
194
198
224
235
229
237
239
241
237
238
238
237
236
238
239
244
246
246
248
248
250
250
254
254
254
254
253
251
251
248
248
248
248
247
247
247
248
247
244
240
238
234
234
234
236
237
239
237
236
232
247
238
203
152
110
88
74
79
82
84
79
70
61
50
55
60
64
67
68
70
67
60
56
53
55
59
60
63
67
67
68
66
63
58
54
50
51
50
49
51
53
56
56
56
58
57
232
234
236
238
244
246
247
249
250
251
253
254
254
254
253
253
253
253
253
253
253
252
252
251
250
249
247
247
247
249
252
253
254
253
252
250
247
251
254
254
255
253
254
248
253
255
251
251
250
250
252
252
254
254
255
255
249
249
250
250
251
252
253
255
254
252
250
250
251
255
255
255
254
255
255
255
255
241
244
247
250
252
254
255
255
252
244
241
242
252
255
246
245
251
254
249
253
255
249
243
245
245
237
228
210
181
112
81
67
63
61
55
46
50
46
42
36
33
35
36
39
41
41
43
44
47
49
47
62
70
75
77
75
72
67
78
89
105
124
164
208
255
255
254
253
247
245
245
247
245
243
245
246
245
244
251
251
253
253
252
252
252
251
251
252
253
253
253
254
255
255
252
251
250
249
248
249
245
244
248
250
246
242
243
238
233
246
255
255
255
254
248
245
240
236
232
228
213
224
222
211
223
215
200
192
219
244
250
249
249
244
247
247
246
246
246
247
246
243
244
245
245
249
249
249
248
248
249
247
247
247
246
247
247
246
246
246
246
246
247
245
241
238
236
237
239
241
244
245
246
244
240
233
255
249
213
156
111
91
68
69
72
74
72
66
58
51
56
61
66
70
72
75
73
69
65
61
63
65
67
69
72
71
71
68
65
61
58
55
55
55
55
57
60
64
60
61
63
64
234
235
237
240
246
248
249
251
251
253
254
254
254
253
253
253
253
253
253
253
253
252
252
251
250
249
248
247
246
247
251
254
255
255
253
250
250
251
251
251
255
255
255
245
252
255
252
253
248
249
251
251
252
252
254
254
250
250
249
250
250
251
254
255
255
254
252
251
252
254
255
255
253
255
255
255
255
240
241
244
250
254
255
255
255
252
246
240
237
247
255
253
245
252
255
253
255
255
253
251
248
242
228
211
188
156
94
73
64
63
59
54
50
52
48
43
37
33
34
34
38
39
41
41
45
48
51
48
63
71
77
79
79
76
67
74
80
100
107
126
169
255
255
255
253
252
247
241
243
243
242
244
243
243
242
255
255
254
253
251
250
250
250
250
250
249
249
249
249
250
249
247
245
244
244
243
246
244
245
249
250
250
247
228
233
243
255
255
255
254
254
251
250
245
237
230
228
221
228
227
218
223
220
208
198
213
238
254
251
251
245
247
246
245
245
248
247
246
245
246
246
246
247
247
249
247
247
248
248
248
248
248
246
245
245
245
245
243
243
241
239
235
232
231
233
235
237
240
246
246
246
244
238
254
245
212
160
115
88
63
63
67
70
69
64
58
52
57
62
67
70
73
78
75
73
69
67
67
69
71
73
72
72
72
70
66
64
61
60
59
59
59
59
60
64
61
62
64
65
237
238
239
242
247
249
250
252
253
254
254
254
253
252
253
253
253
253
253
253
253
254
254
254
254
253
252
252
241
245
249
253
255
255
255
254
248
247
249
255
255
255
255
252
248
254
249
255
253
255
255
254
253
254
253
252
253
252
250
249
248
250
252
255
255
255
255
255
255
253
248
253
254
253
255
255
255
243
239
237
246
255
255
255
250
255
255
254
243
245
252
255
247
252
255
255
255
255
255
255
248
232
205
182
152
118
84
72
66
59
53
54
60
54
50
43
37
32
30
31
33
36
39
41
44
48
52
47
62
69
77
80
81
80
82
75
84
81
86
96
92
180
236
237
238
251
255
255
255
255
255
255
255
252
249
255
255
255
255
255
254
253
247
246
247
246
245
244
244
247
247
248
251
253
255
255
251
252
253
248
246
245
246
249
255
255
253
253
255
255
251
249
249
241
232
234
238
236
236
236
232
224
230
229
223
207
219
246
248
252
253
255
253
250
250
251
248
245
246
246
245
245
243
244
244
241
241
242
241
242
243
242
244
244
244
242
242
242
242
243
239
234
231
229
231
235
236
239
243
244
242
235
227
249
237
211
172
129
92
65
60
62
66
66
64
60
56
59
65
68
72
75
79
76
80
75
73
74
75
77
79
73
73
72
72
71
69
66
67
65
63
59
59
60
60
59
60
62
63
242
243
245
248
250
251
251
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
244
245
248
252
255
255
252
249
248
248
247
253
255
240
250
250
252
252
253
253
253
254
254
255
255
254
253
251
250
250
252
251
251
251
252
252
252
255
255
255
255
255
253
252
251
250
250
250
254
255
255
245
240
243
252
255
250
254
255
255
255
254
251
255
255
249
250
255
254
247
241
240
228
201
163
128
111
103
86
72
63
61
64
64
64
54
51
46
40
34
33
33
35
38
39
41
43
48
50
51
61
70
74
78
78
77
77
74
74
73
76
81
85
106
149
188
224
248
255
255
255
255
255
255
255
250
246
255
255
255
255
253
252
251
249
255
254
255
255
255
251
251
250
252
255
254
252
252
245
245
245
252
255
255
255
254
251
250
255
255
252
247
253
251
248
239
240
244
248
243
247
242
230
231
238
239
232
228
228
234
252
253
251
250
251
252
253
255
255
255
248
247
247
248
247
243
240
241
241
241
241
242
243
244
242
241
242
243
243
241
240
237
234
230
228
227
235
238
242
240
244
245
238
235
229
220
207
183
151
119
92
68
66
65
65
66
64
62
56
64
67
73
74
75
76
77
77
76
76
77
81
84
84
78
76
73
71
69
68
68
62
64
65
66
65
63
59
62
63
66
68
243
244
246
249
251
251
251
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
247
249
250
253
253
252
250
249
251
252
250
255
255
245
243
245
249
252
255
255
255
254
255
255
255
255
252
250
250
250
250
251
251
251
252
251
253
253
253
253
255
255
253
252
250
248
247
248
252
255
255
255
247
240
241
251
250
255
255
255
255
255
250
251
251
247
243
243
243
240
223
218
200
171
138
115
107
105
89
76
69
68
68
65
62
54
51
46
40
35
34
33
35
37
41
42
46
50
53
53
61
66
71
73
73
72
74
72
71
70
71
76
79
95
109
146
195
231
248
254
255
255
255
255
255
250
248
254
254
255
254
254
253
254
253
255
254
255
255
255
252
248
248
253
253
251
248
244
242
243
247
255
255
255
255
246
248
251
255
254
248
243
253
253
248
238
239
247
253
247
252
247
235
231
239
243
231
234
237
240
247
252
255
249
248
250
252
255
255
255
251
250
249
248
246
242
240
240
241
242
243
243
244
244
242
242
242
241
241
239
238
235
228
221
222
228
235
233
242
240
242
240
233
229
222
193
176
151
126
107
91
70
73
71
69
67
65
63
58
66
70
73
74
73
74
73
75
74
75
76
80
84
84
77
75
73
69
68
65
65
59
60
63
66
68
65
60
60
62
65
68
247
248
250
251
253
253
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
252
252
253
254
254
249
247
243
237
246
255
252
218
209
254
254
252
252
253
255
255
255
255
255
254
255
253
251
250
250
250
251
251
251
253
254
252
251
251
251
252
254
255
255
253
251
249
248
249
255
255
255
255
255
244
235
249
249
251
254
255
255
247
232
230
233
225
209
207
210
170
159
148
141
143
139
123
105
85
77
73
70
69
65
61
53
49
43
38
36
33
31
35
38
43
47
51
54
57
61
65
66
67
67
67
68
66
69
68
67
70
74
77
76
101
114
125
149
180
208
223
230
241
243
244
245
246
246
246
249
248
249
250
251
252
252
250
249
248
249
249
255
254
247
247
246
245
244
254
255
255
255
250
249
250
250
252
255
252
250
251
252
248
251
251
242
243
250
255
250
254
251
242
230
238
245
245
244
244
246
253
254
253
252
252
252
252
251
251
250
255
254
252
252
249
245
243
246
246
245
244
243
238
238
238
237
237
238
239
239
240
240
239
235
234
235
238
239
244
238
236
234
232
226
186
126
119
110
99
92
84
75
71
69
65
66
65
66
64
63
66
68
68
68
68
71
69
70
72
74
78
81
82
78
76
71
66
63
61
61
57
55
55
56
57
59
61
55
57
60
63
250
251
252
253
254
254
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
255
255
252
249
246
236
233
240
241
250
255
255
252
218
255
255
255
255
255
255
255
255
253
253
253
252
251
249
254
254
254
253
252
251
251
255
255
255
254
252
250
249
248
249
251
254
254
254
254
254
254
254
255
255
253
244
236
235
234
234
236
240
241
221
209
217
214
180
156
158
130
151
165
158
141
125
112
103
90
80
72
68
64
59
54
52
44
39
36
34
32
30
36
42
47
51
53
57
58
67
65
64
61
60
60
61
65
71
71
72
76
81
85
92
98
103
107
114
123
131
152
168
210
228
239
246
248
252
252
252
251
251
252
253
255
254
255
255
254
253
255
252
251
252
255
255
255
255
255
255
255
246
244
245
246
255
255
254
254
254
255
254
247
250
250
241
244
254
255
253
253
252
247
235
236
239
249
248
245
247
254
253
254
254
254
253
251
247
246
246
243
244
249
254
252
248
243
249
246
243
240
239
239
241
239
239
238
238
236
239
240
243
243
245
243
241
244
247
247
245
243
235
228
225
191
95
92
89
85
81
77
74
73
71
72
71
69
68
63
61
63
64
62
59
59
63
64
65
67
71
76
79
79
72
69
64
58
53
51
52
57
55
54
55
57
59
61
58
58
57
57
250
251
253
254
254
254
254
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
255
255
253
248
242
229
225
231
240
246
255
255
255
225
255
255
255
255
255
255
254
254
252
252
253
251
251
249
255
255
255
254
252
251
251
255
255
255
255
253
250
246
241
243
248
252
254
255
255
255
253
249
248
250
251
250
231
229
227
225
229
232
237
220
204
212
211
172
139
139
140
153
157
144
129
122
114
111
95
84
74
67
62
55
52
50
43
38
36
33
32
29
37
43
48
52
53
56
58
67
65
62
59
57
56
57
61
67
68
69
74
79
82
91
104
104
102
103
109
120
135
147
186
208
229
247
255
255
255
255
255
254
255
255
253
252
255
255
254
254
255
255
254
255
255
255
255
255
255
255
253
249
247
243
240
254
253
253
255
255
254
252
249
251
248
238
242
255
255
255
254
253
250
238
236
238
245
247
247
247
250
251
255
252
252
252
250
249
247
246
249
245
241
241
247
252
254
255
255
251
245
241
240
241
242
241
240
238
236
238
238
242
240
241
241
243
247
247
250
250
246
233
217
214
190
94
88
82
78
78
78
72
77
76
75
74
73
69
62
63
64
63
61
57
56
59
62
64
67
71
76
78
79
68
65
60
54
49
49
48
55
55
57
58
60
60
60
61
60
58
57
253
253
253
253
253
254
254
254
255
255
255
255
255
255
246
246
247
247
248
248
250
250
251
251
253
253
254
254
247
252
254
255
255
255
255
231
242
255
255
255
255
244
244
224
221
240
251
255
254
254
248
246
247
251
255
255
252
252
251
252
252
252
253
250
253
255
255
255
255
255
255
255
255
253
251
250
250
253
253
250
248
247
244
239
222
220
211
209
209
207
210
219
199
172
134
88
63
86
130
131
132
132
129
126
121
119
97
83
74
71
71
67
64
52
48
42
41
39
35
31
42
48
50
53
58
61
62
61
60
62
64
65
62
59
61
60
62
65
68
74
80
72
93
104
112
119
126
126
126
128
128
131
139
143
144
201
194
211
236
255
255
255
240
228
245
255
255
255
250
251
252
254
255
254
253
255
253
251
251
254
254
252
250
248
252
255
255
254
251
253
255
255
252
243
251
255
255
255
255
255
254
250
245
245
248
251
253
253
249
250
251
251
251
252
252
247
244
242
250
250
249
245
241
243
245
234
239
241
239
243
251
242
227
225
224
225
229
239
241
239
236
236
237
239
248
251
249
239
223
197
165
138
114
85
85
82
81
81
79
75
74
74
73
73
71
69
67
63
62
62
61
59
59
61
61
61
63
67
71
75
74
80
75
68
63
60
57
54
51
51
50
51
53
53
53
62
62
62
62
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
251
251
253
253
254
254
254
255
255
255
255
255
255
243
245
246
248
253
255
252
243
228
218
213
208
255
255
255
255
246
248
254
255
255
252
249
247
247
249
250
251
252
249
249
247
248
250
254
254
254
253
253
250
251
250
251
250
251
250
249
249
248
245
246
246
245
242
238
230
232
233
221
203
190
169
145
117
100
86
75
63
70
103
117
117
118
118
118
116
116
114
105
93
82
76
71
66
62
56
52
49
45
42
39
39
50
54
56
58
63
64
64
66
63
62
62
63
63
62
64
63
66
69
71
77
84
87
97
100
101
101
102
106
119
125
154
175
196
209
213
251
240
235
251
255
255
255
255
255
255
255
255
255
254
254
254
253
253
251
249
247
253
253
252
251
250
251
251
254
255
255
252
249
250
255
255
255
245
247
255
255
255
255
252
250
251
251
247
240
242
248
253
252
245
247
251
251
249
249
253
254
247
240
229
234
241
248
250
246
242
228
232
236
236
239
237
228
226
228
230
232
233
236
235
233
233
227
209
191
195
204
197
187
170
147
123
98
63
85
83
83
81
80
78
72
71
71
71
70
69
68
67
69
68
68
67
67
68
70
69
69
66
65
67
69
72
84
80
77
75
74
74
72
64
61
58
55
55
55
55
61
61
61
61
253
253
253
253
253
253
253
253
251
251
251
251
251
251
253
253
254
254
254
255
255
255
255
255
255
255
255
255
240
242
242
244
248
252
251
255
255
255
253
228
216
230
255
255
255
251
251
255
255
255
250
248
248
248
251
252
254
252
250
249
247
248
250
250
252
253
254
251
249
243
245
247
247
249
250
252
253
250
247
243
241
236
230
225
235
230
209
188
167
140
112
76
65
60
61
63
77
109
113
114
114
115
115
115
116
116
107
95
86
78
71
66
62
55
51
49
45
41
39
42
50
55
57
58
61
64
63
67
65
63
61
62
62
62
65
64
67
70
72
78
85
97
101
100
97
95
96
98
112
122
171
200
220
232
238
248
240
240
252
255
255
255
255
251
255
255
255
244
235
252
252
253
252
252
250
249
250
254
255
248
247
251
255
253
255
255
252
250
254
255
255
251
243
250
255
255
255
255
249
250
253
252
251
241
241
246
251
252
246
247
249
252
249
247
250
255
254
250
233
232
233
240
251
248
242
243
244
243
241
242
239
235
233
234
237
239
241
240
239
223
228
225
209
191
187
188
180
166
144
123
102
82
51
86
84
82
82
80
78
72
70
71
71
70
71
70
69
73
73
72
72
72
71
72
67
68
69
70
69
70
71
81
81
79
78
78
80
82
74
70
65
61
58
57
57
60
60
60
60
254
254
253
253
253
251
251
251
250
250
250
248
248
248
253
253
253
254
254
254
254
254
254
255
255
255
255
255
248
246
245
247
247
249
251
244
255
255
255
255
255
255
249
241
239
243
249
255
255
255
255
254
250
248
248
250
252
252
253
253
253
253
252
253
254
254
254
252
251
246
246
247
246
248
251
255
255
255
255
248
241
231
223
216
210
194
178
171
158
122
89
73
61
51
46
49
66
95
109
109
110
110
112
116
118
120
106
97
87
77
70
64
61
55
52
53
48
38
39
47
54
58
58
59
61
64
62
65
68
67
62
60
59
59
64
63
66
69
71
77
84
100
104
101
96
92
93
97
104
122
190
219
238
251
255
255
255
251
252
251
250
250
248
247
248
246
239
230
224
250
251
254
253
252
251
251
252
251
251
251
254
255
255
255
255
250
250
254
255
255
253
245
241
251
253
253
255
255
247
255
255
251
255
246
243
243
246
249
252
248
244
247
247
247
247
252
254
255
255
255
248
242
239
242
244
249
246
242
243
242
239
239
239
240
242
242
242
237
235
201
208
210
206
206
198
174
148
119
95
79
73
72
73
89
88
86
83
82
79
72
71
71
71
72
72
75
75
76
78
81
81
80
76
68
68
69
70
69
69
72
77
91
90
88
84
84
89
96
98
91
83
74
68
64
62
58
58
58
58
253
253
253
253
253
251
251
252
252
251
250
246
249
251
252
251
251
250
249
249
249
250
250
251
251
250
247
246
255
255
255
255
251
246
244
246
247
251
253
255
255
255
255
255
255
243
241
247
255
255
255
255
255
255
255
247
250
251
251
254
255
255
255
255
255
255
255
255
255
253
255
254
254
255
255
255
255
255
252
247
242
234
219
208
168
153
149
160
164
149
133
113
104
103
95
67
44
58
101
104
106
105
107
113
113
110
108
98
86
78
72
67
64
59
54
50
46
47
48
49
57
60
63
65
65
62
62
67
64
61
59
58
56
55
55
60
62
65
69
73
77
80
86
87
88
90
93
98
112
122
179
205
219
228
232
255
255
255
255
254
252
255
255
255
255
255
253
250
252
253
254
254
253
251
250
249
248
247
246
251
255
255
255
254
250
248
250
255
255
253
243
243
245
253
254
250
247
250
251
249
250
246
246
255
249
240
237
243
251
251
252
242
244
246
246
247
250
252
251
253
255
255
248
242
238
232
228
223
220
220
215
215
216
221
222
219
214
211
211
222
207
197
206
222
187
143
97
72
60
62
74
94
123
99
96
93
87
84
80
76
73
68
67
65
69
73
77
85
85
86
83
78
73
65
66
72
75
74
70
71
80
106
105
103
100
96
95
97
106
103
97
88
75
66
62
56
57
59
60
251
253
253
253
253
253
253
253
253
254
253
253
255
255
254
253
252
252
252
253
254
252
250
249
249
250
251
251
255
255
255
255
255
248
246
244
244
244
245
247
249
249
251
254
252
243
235
238
246
253
255
255
255
255
255
255
249
248
249
248
248
250
253
255
255
255
255
255
255
255
253
255
255
255
255
255
255
246
241
239
238
228
209
187
168
181
200
212
217
217
215
193
185
177
168
147
115
82
88
98
106
107
104
105
108
110
100
94
87
81
75
67
63
66
61
57
54
54
55
57
58
62
64
66
64
64
62
61
58
56
54
54
52
51
59
62
63
66
68
72
75
65
80
89
98
104
112
116
118
120
144
154
164
175
184
219
227
235
242
240
239
246
251
254
238
236
244
255
255
253
253
252
252
250
249
248
252
251
251
254
255
253
252
253
250
250
250
255
255
251
243
244
245
250
251
249
247
253
251
246
247
251
248
251
246
246
247
248
246
251
255
250
246
241
239
243
246
247
249
251
255
255
255
251
249
249
243
236
229
226
227
230
236
241
243
240
236
229
229
255
252
241
220
192
122
96
87
84
86
94
105
114
129
103
101
101
97
91
85
76
74
71
68
67
71
74
78
89
87
82
78
73
69
67
71
71
68
67
68
69
71
82
94
109
114
112
106
100
95
93
89
84
78
73
73
60
61
62
62
251
251
251
253
253
254
254
254
254
255
255
255
255
255
255
255
255
254
254
254
255
254
252
253
253
253
253
252
255
255
255
255
255
251
248
247
246
246
245
246
246
246
244
245
242
232
221
230
236
250
255
255
255
255
253
249
249
249
247
245
245
246
247
252
253
255
255
255
255
253
251
251
251
252
250
249
246
237
234
232
228
219
201
188
208
223
235
235
235
234
228
218
206
190
176
162
143
113
77
88
101
106
103
102
105
106
97
93
87
82
76
70
65
67
64
59
59
58
58
61
65
68
71
71
70
70
69
63
61
59
56
56
55
54
57
60
61
62
64
68
70
61
77
88
98
107
114
116
120
120
130
135
140
149
157
204
220
242
253
254
249
255
255
255
241
239
254
255
255
254
254
253
251
251
250
249
254
254
254
255
254
251
248
253
249
251
252
255
255
249
242
244
247
250
250
249
248
254
251
244
244
253
247
247
247
246
244
244
246
250
254
253
247
240
236
240
243
244
246
248
251
254
255
254
252
255
255
252
243
236
238
243
251
255
255
255
249
239
238
255
246
226
191
153
93
81
89
94
104
111
116
118
120
104
104
104
101
98
89
77
83
78
75
76
78
82
84
82
81
78
75
71
68
65
64
64
68
74
80
81
76
71
80
94
106
111
107
99
88
86
84
80
78
76
76
67
68
69
69
250
250
250
251
254
255
255
255
255
255
255
255
253
251
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
250
251
251
253
254
254
254
254
254
253
252
251
251
251
240
229
210
191
200
191
202
220
240
255
255
255
243
251
251
248
248
247
247
250
248
249
249
249
247
245
241
247
246
242
239
237
235
232
224
215
207
195
182
176
185
233
235
234
234
240
246
241
216
207
194
178
164
151
140
83
81
85
94
102
104
102
102
99
95
92
88
82
76
72
70
70
70
71
72
74
75
89
89
92
92
92
90
89
80
78
76
75
75
74
73
73
76
76
78
80
83
86
72
86
94
101
106
110
110
105
108
117
122
130
136
137
163
196
247
255
254
250
250
255
255
237
236
248
255
255
255
255
254
253
252
253
253
255
255
255
253
251
249
246
251
250
252
255
255
255
247
243
246
250
249
248
247
248
254
253
246
243
254
248
244
253
247
240
238
250
250
245
249
248
246
242
237
239
242
242
243
245
247
251
252
252
255
255
249
236
225
222
229
235
243
246
247
242
226
219
190
169
140
110
91
79
83
88
98
109
114
115
114
108
108
108
109
107
102
93
82
75
72
69
69
71
72
74
85
86
85
83
77
70
60
65
63
63
65
72
80
88
84
80
78
85
96
100
96
82
78
76
75
77
78
79
76
77
78
79
248
248
250
251
254
255
255
255
255
253
251
247
241
236
230
234
242
250
253
251
249
241
234
228
226
233
255
255
237
239
241
244
247
254
255
255
255
255
255
255
255
255
249
235
226
208
182
151
118
128
145
164
182
196
207
217
246
246
244
244
245
247
251
253
255
255
255
255
254
250
253
249
244
237
233
231
229
206
195
185
186
191
193
197
229
228
229
233
232
228
222
208
192
175
160
145
131
130
127
101
80
81
95
105
106
105
104
99
94
90
86
81
78
83
85
87
90
93
96
98
102
105
106
107
105
103
102
93
91
90
88
89
88
87
87
91
92
94
96
100
103
99
108
111
114
115
114
112
113
110
109
119
133
140
137
102
147
212
226
234
241
248
234
220
208
201
200
225
255
255
255
255
255
255
255
255
255
255
254
250
249
248
247
252
250
255
255
255
255
247
243
247
252
249
246
247
248
251
255
249
244
252
248
245
252
255
252
244
248
253
254
243
250
255
253
238
239
243
248
248
248
248
250
252
253
224
223
214
204
193
189
199
208
212
211
202
189
146
133
87
86
84
83
83
80
79
85
89
92
99
104
107
109
111
111
109
107
102
95
86
81
78
76
75
77
78
77
72
72
69
69
68
69
71
77
86
93
91
81
74
74
95
94
91
84
75
72
75
84
79
74
72
73
76
76
69
70
71
73
255
255
255
251
247
249
252
255
255
255
255
255
255
255
252
247
245
246
255
255
255
255
255
249
232
230
251
254
250
250
250
251
253
254
254
254
255
254
250
248
247
249
232
229
221
205
183
141
125
109
93
86
98
111
110
112
130
132
137
142
147
151
156
157
159
163
164
164
164
162
162
161
161
159
157
156
155
150
153
158
162
166
170
172
188
191
195
202
208
211
213
213
203
190
174
160
148
140
122
130
115
87
84
105
116
107
105
107
104
97
93
92
87
95
94
93
92
93
95
95
101
102
105
108
110
109
107
102
103
103
101
101
99
99
93
93
94
95
98
103
107
113
113
116
119
123
128
130
131
131
132
133
133
137
138
153
156
162
161
160
160
159
162
165
211
226
233
250
255
255
254
239
239
243
250
255
255
255
255
246
231
219
209
255
254
232
255
255
255
255
255
244
214
255
255
255
232
255
255
255
244
251
251
247
251
255
255
255
248
250
252
255
251
246
254
255
255
255
255
239
228
223
231
245
255
255
254
227
193
159
112
107
108
115
121
124
122
103
96
95
94
93
94
95
97
97
100
103
108
109
109
110
115
105
105
105
102
99
96
89
81
80
78
76
73
75
82
78
79
78
74
75
74
59
60
66
75
82
84
84
81
84
93
95
91
84
72
63
66
73
74
73
76
76
77
81
77
74
73
255
255
255
251
247
249
252
250
255
255
253
240
243
246
253
250
247
248
250
249
248
242
241
240
245
255
255
244
250
250
251
251
253
254
254
255
253
252
252
251
246
241
231
217
194
168
150
139
134
131
123
108
96
93
94
86
93
96
99
102
106
110
113
115
118
122
127
131
135
138
137
138
140
141
143
144
147
147
148
152
157
164
168
172
188
191
194
199
201
205
206
203
197
187
175
163
152
145
126
127
132
130
112
89
91
107
100
101
100
95
98
100
97
101
101
101
103
105
106
108
108
107
108
108
107
104
102
103
100
97
95
93
91
91
90
91
91
92
94
99
102
104
113
117
121
123
123
122
130
132
135
138
140
142
145
149
153
161
162
159
159
157
159
161
201
213
220
232
247
255
255
255
255
255
255
252
255
255
255
255
255
255
255
255
255
255
238
251
253
242
255
246
229
254
255
255
232
250
252
250
237
233
236
237
239
245
248
248
238
238
238
255
247
235
226
240
250
255
255
255
254
250
247
255
255
255
254
229
197
165
120
115
120
127
132
134
132
113
106
105
103
101
102
101
99
99
100
103
106
107
108
108
112
99
100
99
98
94
89
80
79
78
75
71
68
69
72
72
72
71
70
73
76
74
67
65
61
58
56
55
56
46
55
62
71
83
86
87
84
83
76
71
70
67
62
78
79
80
80
255
255
255
253
247
247
250
254
255
254
255
251
239
230
252
252
252
253
255
253
246
246
251
255
255
255
255
251
250
250
251
251
253
254
254
254
251
248
250
249
239
230
214
201
182
162
148
134
127
121
130
126
108
99
101
93
89
93
96
101
107
110
115
116
116
117
118
119
119
121
128
126
128
129
130
130
133
140
145
150
158
165
172
180
195
196
198
200
201
200
199
192
188
183
175
167
159
154
135
135
134
136
134
125
105
87
88
94
100
98
98
99
93
101
101
102
104
106
108
110
108
105
103
101
99
96
93
92
89
88
88
87
88
89
85
90
91
92
94
98
101
103
105
108
113
117
121
123
123
126
135
137
139
141
143
140
145
155
156
156
153
151
149
151
176
187
193
203
212
221
225
238
245
249
250
248
242
239
238
254
255
255
255
239
255
255
221
229
228
205
241
250
249
242
239
237
238
249
254
255
246
235
239
245
244
250
254
253
247
243
241
242
240
231
218
234
246
251
246
243
240
240
243
247
252
253
241
220
192
165
130
125
123
128
133
135
133
112
105
119
117
113
113
110
106
104
105
105
105
107
107
108
107
99
98
96
92
87
81
73
66
66
64
65
63
64
69
64
70
74
75
76
78
72
58
55
51
50
56
67
80
85
84
76
70
71
69
66
73
71
64
61
68
70
70
69
73
76
76
255
255
255
253
249
247
249
254
254
255
255
255
248
236
249
250
251
253
255
255
248
250
253
255
255
252
251
251
250
250
251
251
253
254
254
253
251
249
248
244
232
224
208
198
184
169
157
135
123
116
128
127
112
99
97
94
98
101
104
110
114
118
122
118
117
118
119
119
120
123
129
127
127
127
127
127
128
139
145
153
162
171
179
186
202
204
204
204
204
202
200
192
187
183
177
170
164
160
140
141
134
128
135
139
119
89
82
90
94
92
93
94
89
96
96
99
100
102
104
107
106
102
101
99
97
95
93
90
87
86
85
87
89
90
87
91
93
96
98
101
104
106
107
111
114
120
124
127
125
129
138
141
143
146
146
140
146
158
159
158
156
153
149
150
169
179
185
194
202
187
192
219
231
236
239
241
239
235
233
245
253
255
255
238
255
255
215
213
210
205
238
250
255
238
228
231
241
250
255
255
251
240
242
249
250
255
255
255
252
249
245
242
242
237
232
245
252
250
229
211
195
195
216
226
233
235
225
206
181
159
130
127
128
133
138
140
137
118
109
124
122
118
116
115
110
108
107
106
106
107
108
108
105
100
97
95
91
87
83
79
72
73
73
73
73
74
79
82
89
95
96
95
94
88
82
74
65
58
57
64
74
72
77
78
79
83
80
73
68
66
57
51
54
55
53
57
59
60
59
255
255
255
254
249
249
249
249
250
252
255
255
255
255
249
248
248
249
255
255
251
250
243
240
241
246
255
255
251
251
251
253
253
253
253
251
250
248
242
234
220
219
211
200
186
171
160
139
126
122
128
128
117
102
95
115
119
119
121
123
126
126
126
123
122
119
118
118
118
120
129
128
128
125
125
126
129
141
150
164
175
188
196
202
220
220
220
218
217
213
210
202
197
191
185
180
178
177
158
154
145
137
131
130
127
125
82
80
79
76
80
86
86
92
93
93
94
95
96
98
88
86
84
83
82
81
81
79
73
70
69
69
70
71
71
77
82
85
89
94
97
95
104
110
115
118
119
119
123
128
139
142
143
143
144
139
144
155
156
155
154
149
145
141
147
154
163
170
175
137
147
200
220
230
237
251
255
255
255
253
249
244
239
250
255
242
188
180
194
235
246
244
250
238
224
230
248
235
235
238
238
230
231
237
244
245
244
243
239
236
234
247
244
249
255
255
253
240
191
136
92
82
140
167
183
183
177
163
149
135
122
122
126
132
138
141
139
120
113
128
125
122
122
119
116
113
111
109
106
105
106
106
99
93
92
88
88
91
93
100
90
90
89
88
87
86
87
81
86
91
90
90
92
94
97
97
98
95
92
89
87
86
87
78
66
60
55
58
72
74
69
63
63
65
70
68
64
60
60
255
255
255
254
251
251
250
252
251
252
253
250
247
244
226
226
229
235
240
241
236
241
236
238
243
248
255
255
251
251
251
253
253
254
254
251
248
241
233
224
218
218
208
195
182
174
167
143
131
125
132
130
117
104
102
112
129
129
132
135
139
139
136
123
122
119
118
115
115
118
131
129
127
127
128
130
132
143
155
170
186
200
211
217
236
235
234
232
229
226
222
214
210
205
200
197
196
194
170
163
155
148
133
120
120
128
110
90
78
77
80
79
76
74
74
74
75
78
82
83
80
78
77
76
76
76
76
74
71
68
64
62
59
60
60
67
70
73
77
81
84
89
98
104
109
113
117
120
129
124
126
131
134
136
135
138
139
148
151
155
154
151
147
145
148
149
152
152
152
151
157
174
192
211
217
223
244
255
255
255
255
249
244
255
255
218
155
164
207
255
255
239
239
249
238
238
247
228
226
228
232
231
228
229
235
239
240
240
231
225
222
223
247
236
218
211
189
182
144
107
76
65
93
114
128
127
124
121
116
111
112
117
120
129
134
136
136
129
125
130
128
126
124
121
119
120
116
114
113
111
109
104
101
94
93
92
89
88
85
81
81
80
79
78
79
81
83
77
79
88
95
92
90
99
89
92
87
87
94
93
89
97
103
95
85
84
75
62
70
68
70
75
69
56
43
46
46
46
45
255
255
254
254
253
251
251
251
251
250
252
250
247
244
227
226
226
231
234
235
235
240
239
243
246
250
255
255
251
252
254
254
254
253
251
252
245
238
227
220
216
217
204
195
186
179
171
144
132
136
136
128
117
109
108
113
126
130
134
136
135
135
140
133
131
127
125
124
123
125
137
136
134
131
128
128
131
144
155
171
186
200
212
218
237
236
237
235
233
230
228
220
217
213
209
205
201
197
173
167
161
155
141
126
119
121
129
111
88
76
75
73
68
68
67
66
68
72
76
78
77
77
77
77
77
76
76
76
72
70
66
63
61
61
60
67
70
73
77
80
83
88
98
105
113
116
117
116
124
121
120
124
123
124
125
132
134
140
144
145
146
143
145
144
147
147
147
146
146
158
159
161
171
183
193
205
214
233
243
243
238
234
229
252
249
213
150
165
209
253
255
237
234
251
246
240
242
245
240
238
243
244
242
240
248
250
249
247
240
235
232
224
214
207
202
160
147
139
118
104
91
83
90
103
115
111
111
108
104
102
105
112
118
128
133
133
133
127
123
128
126
124
123
120
119
118
118
115
111
109
106
103
101
91
91
92
92
88
83
74
76
73
72
70
70
69
71
78
85
92
91
83
87
128
158
137
116
110
110
95
84
84
87
78
71
72
73
69
83
68
51
43
44
43
41
42
45
50
53
254
254
254
254
254
254
254
253
252
252
251
250
248
246
243
237
232
228
225
228
233
238
244
250
253
254
254
254
252
253
254
254
254
251
248
242
238
233
226
219
208
203
209
205
201
195
186
164
156
140
128
113
108
113
119
123
133
133
135
137
140
139
131
127
126
124
122
123
124
127
130
134
138
137
133
128
127
136
148
161
176
191
203
212
225
226
228
229
231
232
234
230
228
225
221
215
208
201
183
180
175
169
157
141
128
117
146
148
124
89
72
69
71
70
66
63
62
63
66
69
69
72
74
75
75
74
73
75
71
68
65
62
60
59
65
72
74
76
80
83
85
89
94
102
113
121
123
125
117
113
109
108
105
105
107
111
113
118
120
122
127
128
136
139
145
144
143
144
145
153
153
140
137
138
144
153
166
179
190
206
209
210
211
222
216
197
163
173
193
221
246
244
236
255
255
239
216
255
253
250
252
252
249
249
255
255
255
255
252
246
243
205
173
113
101
128
100
115
111
114
112
109
105
107
109
102
103
101
98
98
105
111
119
126
129
129
128
123
118
124
124
123
121
121
122
120
116
112
109
105
101
99
99
91
91
90
89
88
87
85
82
78
74
69
64
59
56
53
58
53
58
83
119
189
154
116
84
80
80
65
48
89
98
109
110
103
93
83
69
68
66
62
58
55
52
64
70
79
85
253
253
253
254
255
255
255
255
254
252
252
250
247
245
255
255
244
234
221
223
233
239
249
255
255
254
241
239
250
251
252
253
252
247
243
239
233
227
221
215
202
197
196
191
185
176
168
167
168
154
133
111
105
110
115
121
118
119
120
122
123
127
133
136
134
130
128
126
126
126
132
130
126
125
122
120
119
126
135
148
162
178
189
199
204
207
211
218
225
231
234
238
235
232
226
220
213
205
196
193
186
179
172
163
151
135
133
149
154
130
94
69
65
67
65
62
60
59
59
60
64
66
67
67
68
69
71
71
68
67
65
63
63
62
65
71
72
75
77
80
82
89
99
106
110
112
114
117
119
114
102
94
85
82
83
83
87
94
96
99
105
112
120
127
139
139
139
141
143
143
145
157
159
158
154
149
134
132
135
152
162
171
177
153
155
175
194
175
166
192
238
255
247
255
255
237
203
223
218
212
207
204
210
220
206
211
210
199
173
173
179
178
126
111
84
100
154
121
117
112
101
95
96
101
107
102
102
101
100
99
107
110
112
116
117
116
115
111
108
118
118
118
117
116
118
118
115
114
112
109
107
103
99
92
91
89
89
89
90
90
81
79
75
72
67
65
63
50
60
61
85
129
142
107
103
73
50
45
43
50
51
24
32
48
51
46
62
89
98
96
85
68
56
57
63
74
77
80
82
251
253
253
254
255
255
255
255
255
253
251
249
246
245
255
255
248
237
222
224
234
242
252
255
255
252
237
233
249
250
252
252
251
246
242
241
233
223
217
212
202
198
196
188
178
165
154
154
158
163
140
116
107
109
111
116
116
122
126
126
130
138
165
181
178
175
170
167
164
164
151
142
132
123
119
115
113
122
132
144
159
173
185
195
200
202
208
215
222
229
235
240
237
233
227
221
214
208
201
197
189
183
177
170
157
142
125
144
160
145
104
69
59
62
61
60
59
58
57
58
64
65
64
65
66
68
69
71
69
68
67
65
65
64
69
74
76
79
80
83
85
87
102
108
109
107
107
108
108
105
94
86
78
76
77
75
79
86
88
93
100
106
114
122
136
136
136
139
141
142
145
167
172
172
165
156
148
139
133
142
152
162
167
125
135
170
205
175
159
189
240
255
249
255
255
238
204
201
186
167
148
144
163
183
188
190
184
163
125
128
134
156
124
104
85
78
132
165
119
113
102
95
92
100
109
100
100
102
100
100
105
109
109
110
113
111
110
107
103
115
114
113
114
114
116
116
116
116
115
113
109
107
101
90
90
90
89
90
88
86
85
82
78
71
66
62
57
57
63
60
82
134
151
116
79
57
45
41
37
42
37
13
26
49
55
47
60
87
91
92
86
73
63
62
60
75
77
78
78
253
253
253
253
253
253
253
253
254
254
253
250
248
247
244
242
240
238
239
240
242
242
242
243
244
246
251
252
254
254
255
255
255
251
248
241
239
229
214
205
186
170
156
151
149
156
164
168
172
170
174
165
153
151
151
139
145
144
145
150
159
168
177
184
194
206
215
219
219
216
210
207
200
193
183
173
163
152
146
141
141
143
148
158
185
188
191
199
211
219
225
232
234
232
230
226
223
220
221
219
215
207
200
187
175
162
130
125
142
153
142
108
75
74
72
72
74
75
74
75
66
59
52
50
50
50
50
68
59
54
55
60
63
66
64
73
74
73
73
77
81
92
98
103
106
107
104
101
94
91
78
70
65
61
60
68
74
91
95
100
106
109
112
111
120
125
132
137
139
139
142
146
147
147
148
149
146
146
144
143
142
141
141
164
162
162
165
164
162
165
166
172
178
194
196
199
206
153
130
107
92
82
90
101
115
111
105
102
89
79
76
79
87
85
88
83
86
111
151
148
102
102
88
95
90
91
87
85
84
82
81
88
86
92
99
105
106
110
112
121
117
112
110
109
105
104
100
105
106
106
106
108
106
96
95
94
92
92
91
87
85
81
73
68
63
56
46
41
54
45
47
98
133
85
90
82
61
43
36
33
31
14
26
39
32
21
29
53
75
69
65
63
60
57
67
73
65
52
43
253
253
253
253
253
253
253
251
252
252
252
249
248
247
244
243
242
241
241
242
243
244
246
248
251
252
253
252
253
253
254
254
254
251
248
240
234
222
209
196
166
152
152
158
168
182
193
206
212
217
214
196
170
156
149
153
161
169
180
186
189
192
203
216
221
227
231
232
232
234
226
223
218
213
208
203
195
184
182
180
171
158
145
142
178
181
186
197
210
222
231
241
244
244
240
234
227
221
215
214
212
213
211
204
193
181
152
134
128
147
170
151
107
81
75
76
80
77
75
76
67
67
68
68
64
60
56
48
49
53
57
57
57
60
63
69
71
71
73
76
79
86
91
94
97
98
96
96
93
90
75
70
66
65
65
73
77
87
91
93
98
100
101
102
109
115
120
124
127
131
133
135
136
137
138
140
142
142
138
135
133
131
130
146
145
145
148
148
148
148
149
151
155
153
147
139
135
115
101
85
73
61
62
67
80
86
92
93
90
82
75
84
91
87
84
98
96
98
94
121
165
126
102
94
95
88
82
77
75
75
75
80
83
90
98
105
110
116
118
123
121
116
114
113
112
109
109
112
112
110
109
110
107
99
96
94
92
90
87
82
80
73
65
58
53
49
43
39
40
42
38
48
90
113
102
73
43
29
28
32
33
44
45
49
49
45
50
62
59
51
44
46
57
71
92
107
98
84
73
253
253
253
253
253
253
253
251
251
252
252
250
248
247
245
245
244
244
244
245
246
250
251
252
253
253
251
250
253
253
254
254
254
251
248
244
233
220
208
199
167
151
152
163
182
197
207
219
221
222
226
220
211
202
185
155
171
181
192
200
203
208
219
224
227
230
232
234
234
234
238
233
228
220
215
210
203
190
188
189
189
180
164
149
174
176
183
194
208
224
236
248
249
247
242
235
226
218
206
205
204
208
211
209
201
190
163
143
122
132
160
161
133
86
73
73
75
72
69
71
75
75
76
75
72
66
62
65
57
54
50
48
55
64
63
67
69
70
72
75
77
84
86
90
93
93
93
91
91
88
78
72
70
69
69
76
80
87
90
93
97
98
100
101
107
113
118
122
124
129
131
133
134
136
138
140
142
142
138
134
132
130
129
142
140
139
140
139
138
137
140
141
143
140
134
124
116
116
101
80
64
52
57
62
76
83
90
89
86
81
74
83
90
89
84
96
100
101
89
92
156
157
100
87
89
84
77
72
72
74
75
80
87
93
102
109
111
116
118
124
123
120
118
115
114
113
112
115
115
112
111
111
106
104
101
96
93
91
87
79
75
71
63
56
51
47
42
42
30
37
44
40
63
107
96
61
38
39
34
28
30
45
43
47
49
45
48
52
58
51
46
56
75
93
110
124
114
98
86
253
253
253
253
253
253
253
251
252
252
253
251
250
249
250
250
250
251
252
252
252
254
254
253
253
252
253
253
252
252
253
253
253
251
248
242
234
222
208
193
165
161
174
190
207
214
219
232
232
233
230
221
218
220
218
213
209
212
215
217
217
219
226
234
237
240
241
241
239
238
234
235
235
234
228
218
205
203
196
194
196
195
187
173
180
181
187
197
210
225
237
249
250
245
239
231
224
218
201
198
195
200
208
212
209
202
187
173
154
139
146
161
169
102
76
72
75
75
80
87
82
89
99
103
102
97
93
72
57
60
61
56
52
54
59
61
63
67
70
71
72
80
79
82
85
88
88
87
86
87
86
83
82
80
80
83
83
88
91
97
100
100
102
103
108
114
117
121
123
123
125
129
131
135
139
143
141
140
137
134
133
131
130
126
125
122
122
124
126
126
125
128
129
128
125
117
105
109
98
80
63
50
50
52
54
69
80
80
86
83
77
78
76
80
84
80
81
81
91
99
74
115
126
104
90
81
73
66
67
71
78
83
87
94
103
109
113
118
120
132
131
130
127
121
118
117
117
118
117
113
111
109
104
107
103
98
93
88
83
74
69
66
59
54
51
46
38
34
29
32
36
36
36
58
73
70
77
68
47
52
65
67
57
54
57
52
50
53
57
59
62
71
84
99
111
109
99
84
70
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
250
250
250
253
253
248
243
236
226
220
211
191
169
182
214
218
226
233
239
239
238
234
235
237
238
234
231
224
223
221
223
227
229
224
230
237
239
241
243
242
241
242
245
245
243
240
235
227
216
201
199
199
198
197
194
190
199
196
197
199
201
214
224
230
232
231
230
223
215
215
207
209
209
207
203
205
209
213
218
208
194
179
157
157
183
137
106
85
81
109
149
174
209
223
230
230
226
220
216
196
172
117
71
50
51
60
61
58
65
69
68
69
72
77
81
84
87
87
82
81
96
95
95
91
88
86
85
87
84
87
90
93
96
102
105
104
109
115
118
122
122
124
125
129
132
134
134
134
137
136
135
136
135
130
127
116
112
109
110
113
117
119
122
125
127
134
132
123
113
120
111
95
79
57
51
49
52
59
67
71
73
73
72
84
80
76
75
80
81
82
79
71
89
81
129
162
111
95
83
64
61
72
80
87
89
94
101
107
113
124
126
135
134
133
131
129
125
122
121
119
117
114
111
112
106
105
101
94
89
83
79
69
64
63
59
55
51
47
42
37
37
35
35
37
39
40
44
58
50
49
76
87
67
58
53
48
48
47
47
51
51
55
63
63
61
75
90
94
65
43
39
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
248
249
249
250
251
246
243
241
229
221
211
196
179
190
215
220
226
235
239
240
240
237
237
239
239
237
232
225
222
221
223
226
227
225
233
240
243
245
245
246
245
246
250
249
247
245
240
233
223
208
206
203
201
200
194
189
212
212
216
212
204
208
216
225
224
224
223
218
213
211
203
207
208
207
202
202
205
210
223
210
196
179
153
149
167
147
114
100
118
145
170
187
220
228
229
226
226
227
226
206
188
159
118
75
54
59
59
57
62
65
64
64
65
75
66
63
68
77
87
94
87
88
90
93
93
91
87
87
84
87
91
94
97
102
105
105
108
113
117
122
124
124
126
131
134
136
135
135
138
137
136
137
136
131
128
116
114
110
111
116
119
122
128
132
133
138
139
135
129
128
119
104
88
66
59
57
52
58
63
67
72
72
72
77
73
71
70
74
74
76
78
71
79
81
89
128
152
102
86
76
70
65
76
78
85
92
100
108
115
121
122
134
134
132
131
130
126
123
122
121
117
114
110
109
102
102
97
92
85
80
75
66
61
60
58
55
52
47
41
35
33
33
33
34
35
36
45
56
49
48
67
69
51
42
49
61
64
57
48
44
54
51
51
58
68
83
88
62
56
53
57
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
248
249
250
250
252
246
243
243
227
213
208
204
203
210
220
225
230
237
242
243
242
243
244
244
244
240
236
230
226
225
224
224
225
228
238
245
247
250
251
251
250
252
254
254
253
253
251
245
240
229
224
219
215
210
204
198
205
212
220
219
210
209
213
212
208
207
210
212
209
208
196
203
208
209
204
201
201
202
217
211
208
199
181
169
170
174
160
161
190
203
207
236
244
241
234
230
231
235
234
235
204
201
181
130
82
68
62
66
66
66
67
76
84
113
147
158
161
157
156
155
126
113
89
90
92
90
87
85
83
86
89
92
97
102
106
106
109
113
119
125
131
126
129
137
140
141
140
139
144
143
142
143
142
137
134
126
122
120
119
121
122
124
133
139
144
145
148
152
152
149
140
126
113
91
83
79
74
74
73
74
74
74
75
75
74
73
72
73
75
75
71
89
79
75
83
82
109
158
123
91
83
77
63
81
79
86
93
101
108
113
115
130
129
129
127
125
124
122
119
119
117
115
111
110
100
95
91
83
76
73
68
62
57
57
58
57
53
47
38
34
31
28
28
28
30
30
38
44
49
55
58
47
42
55
55
53
53
56
60
59
53
68
88
92
74
54
38
26
48
59
57
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
249
249
248
250
248
241
237
229
218
207
205
208
214
218
226
230
234
240
244
248
248
249
248
248
245
242
237
232
234
235
233
229
228
232
240
242
245
248
249
249
251
253
254
254
252
253
252
249
245
242
237
233
227
224
218
213
206
201
203
206
207
212
207
190
192
196
204
208
205
203
195
201
204
203
199
198
199
202
205
212
219
219
215
210
200
185
172
171
199
212
217
233
248
251
250
246
243
237
229
229
216
199
191
168
114
63
60
65
61
66
87
114
132
133
146
151
150
148
147
148
170
154
106
92
88
91
96
79
75
79
82
85
90
97
104
106
110
114
120
127
134
126
128
134
137
140
141
142
146
146
144
146
144
140
137
142
136
129
120
118
119
121
124
132
140
152
155
157
153
165
157
144
133
118
114
112
109
104
96
91
81
76
71
76
78
80
82
85
88
90
95
90
97
106
102
101
97
79
145
156
107
81
71
58
71
75
78
83
90
107
110
123
123
123
121
121
120
118
116
117
120
118
118
117
109
89
85
77
72
69
66
62
55
56
56
54
50
45
39
34
31
27
24
24
25
28
27
30
39
46
45
43
51
69
87
94
82
68
71
86
107
85
64
46
34
34
43
29
23
27
44
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
249
248
246
246
244
235
231
224
217
210
211
213
221
222
230
232
238
242
245
250
250
250
250
248
244
241
239
233
231
234
233
229
228
236
240
242
245
248
249
251
251
253
255
254
253
253
253
251
247
244
240
234
230
228
225
220
216
208
205
204
203
206
200
182
188
198
206
208
205
202
204
206
206
203
197
195
199
204
207
218
229
228
229
228
216
193
180
174
184
199
216
231
248
248
247
246
245
240
234
234
221
204
197
171
114
64
61
57
60
77
104
128
140
148
150
150
152
154
156
158
164
160
122
99
87
86
91
75
72
75
78
81
86
92
99
102
111
112
117
124
131
126
127
130
134
138
140
142
143
143
141
143
142
137
134
152
144
133
120
119
119
120
125
130
137
153
160
159
156
174
167
154
143
132
132
131
126
119
111
104
92
84
79
79
82
87
90
95
100
104
110
104
108
118
109
109
115
75
105
141
135
100
85
60
64
67
73
80
88
101
106
121
121
120
118
119
118
119
116
118
120
120
119
117
107
86
81
75
69
66
64
61
57
55
54
51
49
44
40
33
29
23
21
21
22
25
28
29
37
42
43
51
63
82
84
78
69
71
90
109
95
70
51
47
48
53
55
67
57
75
120
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
254
254
254
253
253
245
242
238
234
232
228
226
219
215
212
215
223
225
221
229
232
239
244
251
255
252
247
244
241
238
234
231
230
246
239
233
233
233
232
240
244
249
252
254
252
251
247
252
250
248
247
245
242
237
234
234
234
236
236
237
236
227
225
219
213
205
196
188
184
197
206
207
203
202
202
210
205
199
202
212
211
202
201
220
238
241
236
233
230
223
218
203
189
176
172
190
219
237
245
244
242
242
248
255
234
207
195
193
159
102
64
62
57
77
104
125
138
144
156
159
164
163
158
159
164
156
164
129
106
85
72
71
75
75
71
70
72
77
81
87
93
106
109
114
121
127
126
126
131
135
138
138
138
145
140
138
139
138
134
131
139
137
133
121
119
120
123
125
131
141
158
164
166
166
184
182
179
178
181
179
174
166
157
145
132
109
106
106
88
89
91
99
119
122
121
125
127
127
125
123
120
114
102
100
74
120
154
93
83
62
55
75
87
71
106
91
89
89
90
94
101
114
120
120
127
131
132
129
128
117
87
83
77
73
71
68
63
64
59
53
50
47
44
38
56
50
39
29
25
25
20
18
28
28
25
42
70
75
66
63
86
130
145
111
64
43
49
62
68
70
71
83
124
99
137
209
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
253
253
252
252
252
243
241
238
235
232
225
222
220
220
218
216
214
223
228
229
231
236
241
246
249
247
244
236
231
228
230
232
231
239
235
232
227
223
222
238
248
249
251
253
255
252
245
254
253
252
250
249
243
238
233
233
233
235
235
237
237
232
228
222
220
217
210
200
195
201
202
203
202
205
203
200
201
202
207
215
216
216
221
255
255
255
255
250
246
241
240
222
207
195
184
183
197
220
228
230
234
237
238
237
227
207
200
168
112
74
71
74
55
66
99
134
149
145
157
157
160
160
160
163
168
163
166
128
107
89
78
77
76
75
69
67
67
70
73
77
82
94
99
104
111
116
119
119
119
122
125
129
130
134
133
130
131
131
130
127
138
137
133
122
121
123
126
130
135
142
156
162
167
170
189
188
189
189
192
190
186
181
168
155
144
129
124
120
113
111
110
113
127
131
132
137
141
142
141
137
129
122
120
92
82
59
99
134
96
92
78
64
74
92
79
97
84
85
86
90
94
106
112
123
127
128
124
122
125
123
89
86
82
77
75
74
68
64
60
55
52
48
45
39
35
36
35
28
21
15
18
28
23
27
40
51
55
57
109
122
110
70
40
44
62
61
55
54
54
57
70
94
95
104
154
206
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
245
240
237
235
233
225
222
222
224
223
217
211
221
228
229
231
235
241
245
247
245
242
234
226
227
230
234
232
235
233
230
225
220
216
237
247
252
254
254
252
249
244
252
251
249
248
246
241
236
231
231
231
231
234
236
238
236
230
224
222
222
215
203
199
200
198
198
200
205
203
206
213
217
222
228
229
233
243
255
255
255
255
251
247
245
244
232
218
206
193
186
193
209
223
227
229
235
245
251
237
209
190
155
110
80
72
72
62
69
97
131
144
139
160
157
158
158
159
160
161
166
164
122
103
86
76
78
77
76
69
66
65
67
69
72
76
88
93
98
104
109
116
116
115
117
121
124
127
128
128
126
127
128
127
128
134
132
128
119
118
120
123
133
135
140
154
161
167
170
190
190
191
193
197
195
191
185
170
158
149
138
132
128
119
116
115
115
127
132
135
138
143
144
142
135
126
120
108
97
78
77
64
167
128
81
88
79
69
78
84
83
84
83
84
87
91
103
108
117
120
121
120
119
120
116
89
86
82
78
76
74
69
65
61
55
52
50
47
41
32
28
24
20
19
20
30
20
38
42
33
43
77
105
97
71
48
46
60
70
65
47
44
46
50
56
67
86
85
103
147
181
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
253
253
252
252
252
246
243
239
237
236
231
230
229
229
226
220
216
216
219
222
225
229
234
239
240
239
237
232
227
229
233
239
239
235
233
230
227
223
219
234
247
255
255
255
254
250
251
255
255
253
252
248
243
237
221
221
222
224
227
234
238
239
235
228
225
223
218
210
207
205
199
197
201
211
216
223
231
235
237
239
237
241
253
255
255
254
255
254
254
254
253
247
237
225
202
179
171
181
177
180
193
204
191
171
148
133
121
120
131
127
104
86
73
69
81
107
141
165
154
155
154
159
166
169
167
162
150
107
96
85
79
84
78
78
72
67
65
65
66
69
71
79
85
89
93
95
106
108
109
108
110
115
118
118
119
118
119
122
126
128
134
134
131
123
123
125
129
132
135
139
151
157
163
166
181
183
187
193
197
196
190
180
169
160
151
143
140
138
122
120
118
117
124
130
135
141
143
143
139
130
122
113
112
106
96
68
68
61
149
154
108
80
78
74
82
74
82
81
83
83
86
96
100
103
110
116
116
116
116
105
83
81
79
75
75
72
65
61
57
54
50
48
45
39
17
12
13
21
25
22
24
32
51
88
127
140
118
79
33
49
53
46
50
63
65
59
49
45
43
43
48
59
62
74
97
117
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
254
254
254
253
253
250
246
240
237
236
238
239
235
230
224
225
225
213
205
210
213
217
223
226
231
231
227
228
232
234
236
238
244
250
244
242
242
243
241
244
243
242
243
249
255
255
249
249
248
245
242
239
233
227
212
211
213
217
222
230
236
236
235
230
228
226
224
224
219
218
213
211
214
228
240
250
254
254
252
250
244
244
249
245
245
247
252
253
254
255
254
243
243
244
223
180
149
187
195
185
168
153
131
113
106
107
113
100
91
98
102
96
75
77
75
73
89
112
152
175
180
181
176
160
141
125
111
77
74
71
73
82
74
74
69
65
62
62
63
68
68
74
78
82
83
84
88
93
98
96
95
98
102
108
110
112
111
114
121
126
129
129
127
122
122
125
127
129
133
137
147
151
155
157
169
173
179
184
191
188
184
174
167
163
155
147
147
149
136
136
133
131
129
133
136
137
138
135
130
121
113
107
100
102
83
87
74
76
40
121
146
123
84
78
59
75
76
75
76
76
78
86
89
90
93
94
92
92
93
92
78
76
74
72
72
68
61
53
50
47
44
42
40
33
26
24
23
25
21
27
80
162
154
116
65
41
46
53
41
36
49
70
71
53
49
50
44
41
40
41
39
40
31
41
55
70
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
249
247
244
245
242
239
230
228
225
220
217
211
210
213
210
218
228
227
228
224
223
222
229
239
240
237
255
255
255
255
252
250
251
255
241
238
230
224
232
245
249
244
243
241
239
233
226
215
210
211
214
219
225
230
234
233
228
223
224
225
223
222
220
218
213
213
220
234
244
255
255
255
252
248
245
243
241
246
246
249
251
251
253
254
254
249
248
243
224
184
153
181
188
172
146
138
136
126
110
107
105
94
94
96
88
94
79
68
70
72
75
80
89
119
133
134
122
105
93
76
76
76
76
76
75
75
68
69
67
64
61
60
59
60
64
71
72
73
77
80
81
81
83
85
88
89
91
94
96
101
108
110
114
117
124
125
125
124
123
123
123
129
132
138
149
153
155
155
166
170
175
182
186
183
178
169
162
155
149
146
146
146
136
134
132
130
129
132
133
137
135
131
128
114
108
106
104
96
87
81
76
70
57
50
136
147
98
87
69
69
73
75
76
77
80
82
84
82
82
83
82
83
83
87
68
67
68
69
66
62
50
58
44
40
46
40
23
36
32
23
27
30
34
79
168
125
79
47
41
41
38
39
36
47
63
68
61
50
46
46
47
45
41
37
36
37
28
35
45
53
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
251
250
250
247
240
235
227
225
222
220
217
211
210
209
208
200
206
227
219
222
223
223
225
230
227
222
236
255
255
255
255
255
255
252
248
246
241
236
235
239
240
237
235
235
233
228
218
205
191
190
191
202
216
226
227
234
229
225
226
226
224
223
226
219
212
218
232
249
255
255
255
254
252
249
246
245
243
245
246
249
252
253
255
255
255
254
250
234
205
179
165
145
159
170
165
158
154
149
128
111
107
109
122
113
81
65
76
79
81
80
78
78
80
72
69
68
70
73
75
70
72
75
76
74
71
70
63
64
63
61
59
57
56
57
56
61
66
72
76
78
79
79
78
77
75
74
74
79
82
88
100
108
117
122
129
130
129
130
129
129
129
130
132
135
143
145
146
146
161
164
166
171
171
167
161
157
150
145
142
139
140
141
136
135
135
134
134
133
135
133
128
122
120
109
109
111
105
104
103
94
80
77
71
67
50
99
145
112
78
64
70
71
71
71
71
68
67
64
66
66
67
69
71
74
62
61
62
60
59
55
44
41
46
43
30
24
29
31
35
43
72
121
150
123
44
34
29
30
25
18
16
21
47
67
69
47
34
40
43
47
48
46
42
36
32
31
33
37
44
48
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
252
253
251
239
234
234
232
227
223
216
204
202
206
192
166
165
188
188
190
201
203
207
212
215
219
232
242
243
246
249
252
251
251
252
243
236
241
253
255
244
231
233
235
236
234
229
220
201
189
178
182
197
211
216
228
223
219
221
222
221
220
228
217
210
223
240
253
255
254
254
254
253
253
251
251
251
250
252
252
252
253
253
253
255
255
253
225
191
172
168
145
150
161
155
148
153
161
150
158
147
136
134
112
74
65
64
70
70
73
78
76
67
76
79
81
81
78
77
81
77
67
63
63
62
63
60
59
59
60
60
57
54
54
51
53
60
67
71
71
72
72
74
73
74
74
74
82
86
92
106
114
122
128
129
130
131
132
132
129
129
130
132
132
134
134
136
136
144
146
151
156
158
156
151
144
139
135
132
132
134
135
129
131
131
131
131
128
129
130
126
122
120
114
115
118
113
109
109
104
96
78
60
61
76
66
77
123
92
85
75
73
71
68
65
60
59
53
53
53
56
57
60
63
62
62
60
60
58
55
48
46
43
43
41
33
41
118
163
152
100
51
45
48
29
28
14
15
27
23
15
30
84
65
43
32
29
29
34
44
47
49
44
37
31
30
40
44
48
49
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
254
252
252
250
241
236
237
235
230
225
217
203
200
208
187
168
168
180
190
190
194
197
201
205
211
217
230
242
245
246
249
251
254
255
253
242
235
239
247
248
233
229
230
231
233
234
230
224
207
193
177
176
186
200
208
225
221
218
220
222
222
222
227
217
214
230
247
255
255
253
253
253
253
254
254
254
254
255
254
253
252
251
251
251
255
255
242
215
189
173
168
138
139
148
152
156
169
178
168
168
171
171
166
134
85
58
55
69
71
75
78
72
70
74
79
83
84
87
87
85
80
68
64
62
62
63
61
59
60
62
63
60
56
54
53
56
60
64
67
69
64
64
66
68
71
72
73
86
89
96
110
115
121
125
130
131
131
132
133
130
130
130
130
130
130
130
131
131
134
137
142
146
151
149
145
137
132
129
127
129
131
131
128
129
128
128
128
128
129
131
129
125
125
119
117
121
116
111
109
107
101
82
64
63
75
76
77
103
113
77
78
75
71
66
62
60
60
55
55
54
54
55
56
58
64
62
61
59
60
57
52
48
51
43
36
60
108
161
114
74
36
37
47
31
16
19
11
16
23
16
20
51
70
43
23
24
28
27
32
43
47
47
45
38
31
28
46
47
50
51
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
253
251
249
249
244
241
236
235
231
227
220
207
203
171
145
154
166
160
191
177
175
180
186
193
206
219
233
243
245
249
252
254
253
251
245
242
241
241
234
226
231
237
236
235
236
235
233
229
219
207
193
188
195
205
212
209
206
203
208
211
213
214
209
204
209
231
247
253
252
250
250
252
253
254
255
255
255
255
255
254
252
248
246
245
255
242
209
191
189
185
174
143
130
137
157
179
185
175
169
170
175
166
159
147
129
80
42
52
52
64
75
70
67
74
79
83
83
84
84
82
83
82
79
75
73
69
63
60
61
65
67
63
59
55
58
62
60
59
61
64
68
67
63
66
71
77
79
94
100
108
125
130
134
137
133
134
135
136
136
134
133
130
128
126
125
124
125
125
127
130
133
137
138
134
130
128
124
121
121
126
129
131
130
128
127
125
127
129
132
128
129
132
133
124
119
118
116
114
112
105
95
100
96
79
82
82
79
82
102
113
81
76
68
61
57
58
60
62
60
58
56
55
54
53
63
62
62
62
63
62
59
56
93
137
151
125
85
66
50
32
39
41
21
8
3
9
15
16
16
42
81
83
32
38
37
27
24
31
33
41
46
49
44
38
32
27
54
55
57
56
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
251
250
247
243
240
237
234
234
229
223
198
173
138
130
124
124
125
122
127
132
140
155
178
199
213
231
240
245
249
247
245
241
231
222
220
223
228
228
225
225
215
219
222
221
223
225
225
218
210
198
188
188
191
196
195
193
191
193
197
200
200
186
188
201
227
247
252
254
249
249
249
249
249
249
249
250
252
255
255
248
247
249
248
235
206
175
154
146
136
123
134
133
134
148
149
144
155
165
144
133
124
119
115
115
121
44
38
45
51
59
65
65
73
75
77
79
83
87
83
85
87
88
87
85
84
76
76
69
67
68
67
64
65
66
62
58
57
58
60
61
66
71
73
74
81
85
100
104
113
125
128
129
131
139
143
145
142
139
136
131
129
129
128
128
125
124
123
125
125
126
129
134
133
131
129
126
122
121
118
116
113
124
126
127
129
137
139
143
146
147
147
145
132
125
120
115
111
109
106
99
77
76
93
98
98
103
108
96
109
94
83
70
64
62
66
73
71
71
73
76
80
76
57
56
59
61
60
60
77
152
131
112
82
60
49
46
41
36
30
26
25
28
28
13
15
2
18
57
67
48
35
36
35
36
36
37
38
41
44
42
41
41
35
30
29
39
44
51
56
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
252
251
248
243
240
238
233
231
228
220
185
155
144
141
140
144
144
132
131
123
137
156
183
206
216
227
239
247
253
251
245
239
230
226
220
219
223
225
222
217
210
213
214
213
212
217
221
211
200
190
186
184
179
181
183
188
191
190
184
181
185
176
184
205
229
245
251
255
249
249
249
249
249
249
249
251
250
252
253
247
248
250
246
226
198
170
153
139
115
91
129
144
147
149
137
133
146
154
134
129
122
116
115
116
126
55
36
46
50
50
61
61
70
73
74
77
82
86
84
85
88
89
89
88
87
83
86
78
74
71
68
63
64
64
60
58
57
58
60
63
67
71
72
77
86
93
103
107
115
126
129
131
133
142
146
148
144
143
140
136
132
133
132
128
125
122
120
126
127
127
129
130
129
126
125
123
119
117
115
112
110
118
119
121
125
133
136
140
143
146
147
146
136
131
128
135
124
112
108
104
86
87
88
92
93
94
100
81
76
95
89
77
66
63
64
65
75
79
79
76
74
73
78
59
45
41
68
116
150
125
91
63
43
44
49
45
39
36
32
29
29
31
31
18
18
8
42
76
52
23
29
36
36
36
37
38
39
40
44
42
42
39
34
30
30
38
43
50
55
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
254
252
251
244
241
236
229
222
213
200
171
155
164
175
187
187
183
187
192
198
202
205
207
211
213
216
227
228
231
233
236
233
213
217
204
192
189
192
198
207
204
201
195
196
201
204
196
181
175
179
187
185
170
165
161
167
169
162
153
152
166
185
193
210
231
248
255
255
254
254
254
254
253
254
254
254
254
251
254
252
254
249
238
203
188
183
183
174
149
125
106
130
145
146
141
141
151
143
146
142
125
108
107
116
122
59
31
45
48
43
59
59
69
71
73
76
81
85
84
86
91
93
94
93
92
89
92
89
86
83
77
71
69
69
66
64
63
66
69
72
74
76
78
82
93
100
106
110
115
124
127
132
134
139
143
145
143
142
141
137
141
141
139
134
131
127
125
124
125
126
128
129
128
126
122
119
114
111
110
108
107
102
105
107
113
122
128
132
135
137
140
140
140
139
139
120
129
134
131
120
100
97
98
102
100
89
82
76
62
47
66
78
74
65
79
85
70
83
92
88
74
67
81
112
143
157
133
98
80
72
57
53
48
38
37
47
59
54
60
65
61
53
43
36
20
52
51
25
21
36
40
38
38
39
39
40
41
42
44
41
39
38
34
32
34
33
38
45
50
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
255
254
254
245
243
231
216
207
202
193
185
177
195
201
201
195
190
192
192
194
204
211
216
222
235
246
244
244
242
241
243
240
222
200
202
204
198
184
173
176
194
194
191
187
184
185
184
174
178
183
183
181
177
175
168
162
157
156
160
166
173
186
196
209
221
232
243
253
255
255
255
255
255
254
255
255
244
241
247
248
245
232
215
203
198
186
170
160
161
165
143
147
156
154
148
147
148
141
136
138
127
112
110
120
113
40
35
41
43
47
51
57
66
68
68
70
75
79
82
84
91
93
94
94
94
87
90
88
86
84
83
79
76
75
71
69
70
75
78
83
85
84
84
85
94
99
102
105
109
121
127
131
135
136
139
139
137
139
139
137
136
137
136
136
132
132
130
135
134
133
134
134
130
127
120
114
110
107
105
103
104
98
98
101
104
113
117
123
124
125
123
123
131
136
140
147
145
132
126
155
198
174
108
103
105
106
100
108
103
73
86
99
94
73
61
74
90
80
84
112
146
153
97
77
87
107
135
163
169
111
86
64
49
53
69
88
113
129
136
141
142
135
120
90
73
51
35
35
37
31
30
34
37
41
45
49
49
50
48
43
38
34
31
28
32
27
32
38
43
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
255
254
254
245
243
229
211
200
198
198
191
181
195
197
196
194
196
200
194
193
205
215
222
228
238
242
240
243
244
242
242
242
232
214
208
204
207
205
189
152
158
163
164
159
156
159
167
173
179
181
174
171
173
173
171
162
154
157
165
171
171
193
207
218
224
226
236
247
255
255
255
255
255
255
255
255
240
236
241
243
240
224
204
190
187
186
183
175
165
156
148
148
154
149
141
139
139
148
128
129
124
111
108
114
114
34
37
39
39
46
46
56
64
64
65
67
72
74
76
78
85
88
89
89
89
88
90
87
84
85
82
79
76
75
71
70
71
75
79
84
88
88
86
86
92
97
101
104
109
121
127
132
137
136
139
140
137
139
137
137
131
132
133
134
132
131
130
141
140
138
138
135
131
127
124
119
114
111
109
108
108
98
99
101
105
111
115
119
120
119
118
118
128
135
139
146
152
152
163
204
199
135
99
78
69
70
64
87
86
58
74
97
109
96
68
76
88
116
142
143
118
91
81
98
123
158
181
185
178
155
111
79
65
75
90
107
176
176
178
182
186
184
172
127
101
64
48
40
23
26
37
34
37
43
50
56
57
59
54
45
37
31
28
25
30
24
29
36
41
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
247
243
237
220
210
200
186
188
193
206
206
202
199
204
196
196
202
218
227
232
238
240
245
244
246
245
244
243
242
237
231
221
211
207
203
195
191
183
166
146
136
136
143
150
153
164
170
164
159
161
167
171
171
156
144
154
165
172
195
209
222
225
226
232
235
240
242
243
246
242
239
236
236
213
220
243
244
231
219
211
201
207
204
185
173
173
174
146
135
146
151
132
119
123
141
149
147
133
108
101
75
53
40
44
48
45
42
46
49
55
59
63
65
67
68
69
70
72
73
75
76
77
78
79
76
77
75
75
74
73
73
72
71
73
74
77
84
87
95
96
95
97
99
102
105
110
115
119
127
133
138
138
136
135
134
132
132
130
131
130
133
133
129
128
140
141
141
142
138
134
129
121
115
109
108
104
104
105
101
101
100
103
106
105
106
103
102
103
104
111
122
133
148
148
163
125
121
120
104
95
87
63
47
45
39
47
35
29
32
24
30
13
8
15
28
42
52
68
93
133
177
197
221
238
250
251
202
164
134
118
128
157
187
234
244
244
251
254
246
239
196
160
117
74
46
34
27
26
43
52
65
78
94
105
105
84
68
47
30
22
21
24
25
30
37
41
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
254
254
248
245
237
229
219
198
174
175
183
189
196
196
194
197
198
204
216
229
236
238
244
246
248
248
248
249
249
248
246
244
240
235
226
214
204
197
197
199
187
156
122
113
123
128
135
144
155
163
167
173
179
170
168
154
145
154
168
179
183
191
204
216
223
225
223
232
229
226
223
224
225
224
221
201
212
226
223
212
208
214
208
218
214
199
187
178
165
147
139
148
150
135
103
72
100
107
96
71
58
62
56
48
37
38
38
37
38
41
47
51
54
56
58
59
58
57
58
59
60
61
61
62
61
60
59
62
63
64
65
67
67
69
68
71
75
79
86
90
98
96
98
101
102
101
104
106
110
115
121
125
133
134
136
134
132
128
126
123
124
126
132
133
132
130
139
138
134
132
128
126
123
117
111
106
106
103
103
105
108
107
106
105
100
98
95
95
92
91
93
98
105
111
125
139
169
137
142
108
55
44
37
32
28
18
9
24
23
27
36
15
0
23
73
88
67
70
91
102
124
173
233
243
255
255
255
255
229
201
180
170
182
211
238
255
255
255
255
255
255
255
235
207
165
115
71
44
31
27
67
86
111
140
165
182
183
142
112
77
49
31
24
21
27
32
37
41
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
254
254
247
244
238
229
217
197
174
169
170
185
192
193
191
191
197
208
221
233
237
240
246
249
249
251
252
252
253
250
249
246
244
240
231
219
208
202
198
191
190
167
129
109
115
121
123
125
133
146
162
168
169
167
159
152
149
164
183
192
188
191
197
208
217
223
226
228
223
219
215
217
214
203
189
180
196
197
204
216
222
223
210
217
215
208
202
186
164
135
132
140
146
142
114
78
76
101
91
62
58
70
75
62
35
34
37
40
40
39
45
49
52
54
55
55
55
56
55
56
57
55
56
56
53
52
52
55
56
59
61
61
62
65
68
72
77
81
88
93
100
99
100
102
103
106
107
109
112
116
120
123
130
131
133
131
130
124
123
124
125
126
132
132
131
129
140
136
132
130
125
121
118
116
110
105
105
104
103
106
114
114
111
110
102
97
94
92
90
88
90
95
100
104
110
127
163
133
125
87
51
42
37
36
29
14
9
22
25
22
26
8
2
56
109
124
92
76
82
97
131
196
248
252
255
255
255
255
234
215
199
193
204
226
246
255
252
255
255
255
255
255
244
212
179
133
89
56
41
34
85
108
141
173
200
217
217
176
140
97
60
38
28
22
31
35
40
43
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
252
252
252
243
239
237
229
215
189
161
145
138
162
178
188
188
188
193
207
220
231
236
238
247
250
252
255
255
255
255
255
253
248
247
245
236
226
221
217
201
177
181
169
137
109
102
112
127
122
126
143
159
165
163
159
160
170
175
179
197
209
213
210
206
207
205
201
201
199
200
192
175
160
151
138
125
174
180
169
174
190
199
207
220
223
216
210
212
197
166
119
116
113
116
137
137
105
69
105
97
65
60
55
59
71
46
38
39
44
43
41
43
44
46
47
47
45
45
47
46
45
45
45
43
43
39
37
36
39
41
45
48
52
55
63
69
76
83
88
94
98
103
103
103
106
108
114
111
110
111
112
113
113
120
121
121
119
116
115
113
115
116
119
129
130
130
127
135
132
128
125
118
112
108
108
101
99
99
99
99
100
121
120
118
117
107
100
95
93
90
88
92
97
98
99
65
120
178
132
109
115
99
64
46
31
17
12
28
13
16
17
32
38
55
39
31
85
115
108
91
119
161
216
255
255
255
253
249
243
238
230
229
229
233
243
251
254
233
236
245
253
255
255
249
224
199
161
115
79
62
57
133
158
192
226
252
255
255
224
180
128
83
58
43
38
43
46
49
52
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
252
251
255
255
240
237
240
231
208
169
136
133
125
126
123
130
147
159
175
187
194
206
219
228
237
242
242
249
252
253
252
250
252
250
242
233
224
220
218
214
200
184
182
157
129
110
94
89
112
115
121
139
154
153
151
163
170
186
199
204
204
208
210
203
200
196
188
180
165
135
129
105
72
71
70
64
99
149
164
165
177
193
199
196
206
208
204
200
201
190
171
132
131
116
96
113
130
113
97
57
62
55
53
59
61
68
49
43
41
40
37
34
34
38
39
38
37
37
37
42
41
40
39
39
39
39
34
34
32
29
27
27
26
35
41
60
69
79
87
92
101
102
106
109
110
111
111
119
116
112
105
105
105
106
102
103
108
116
117
119
121
115
119
122
125
126
125
120
129
122
114
110
96
89
86
83
80
86
95
102
103
100
104
106
110
109
103
102
102
103
99
94
92
95
93
90
76
84
124
142
117
96
82
31
37
23
18
41
20
8
9
27
53
70
64
46
63
84
99
121
89
37
95
255
255
255
255
253
236
244
250
250
250
247
246
247
250
255
244
251
255
255
245
237
253
255
242
194
130
76
62
79
198
215
235
249
255
255
255
218
191
155
120
100
92
85
56
57
59
60
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
251
252
254
253
238
237
235
214
187
157
136
139
134
133
125
122
126
127
129
138
171
189
209
222
231
243
251
250
252
252
249
248
246
241
247
237
225
217
214
211
199
188
180
153
122
106
94
91
103
105
112
131
148
149
144
168
179
192
200
201
202
206
205
200
199
197
192
186
172
147
125
94
63
65
67
66
102
148
163
167
178
191
195
199
208
211
204
204
208
189
155
132
129
118
105
111
122
117
105
58
57
52
53
60
60
67
49
43
40
37
34
30
34
36
37
36
35
35
36
37
37
37
37
37
37
37
32
32
31
29
28
29
28
35
41
57
67
79
88
94
101
103
108
109
110
109
109
112
111
111
107
105
103
101
97
96
100
107
108
110
115
114
118
121
122
124
120
117
127
121
113
109
95
86
83
82
79
84
93
101
103
98
101
103
105
106
101
101
100
99
96
91
93
96
93
89
66
73
115
149
146
106
65
41
37
29
23
17
24
52
32
55
80
86
71
52
70
88
102
115
109
84
100
255
255
255
253
252
247
247
252
250
249
247
246
248
251
255
245
251
255
255
245
237
253
255
245
199
134
84
71
91
205
220
238
248
254
255
255
223
198
165
134
114
103
91
56
57
58
60
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
252
253
249
241
229
228
218
179
147
136
130
125
124
125
119
116
117
119
121
127
132
154
182
203
215
223
229
245
248
249
247
246
247
241
232
226
217
213
212
210
203
184
167
137
111
99
93
92
89
90
91
105
126
134
134
155
178
195
194
191
201
207
209
204
204
204
198
192
175
127
84
61
54
57
58
63
98
127
146
170
192
196
192
193
201
207
212
207
196
166
130
104
74
53
51
42
58
102
123
67
49
46
52
57
56
55
44
40
36
33
30
27
33
29
28
29
30
31
31
27
28
32
34
35
35
36
32
31
30
29
29
29
31
35
42
63
72
81
89
94
97
99
105
106
104
101
98
93
96
99
101
98
94
91
94
92
92
95
97
102
107
112
116
119
117
118
116
111
115
111
107
102
86
80
80
80
79
85
91
100
100
94
89
92
94
95
93
93
94
91
90
91
91
88
83
79
86
68
68
84
106
116
76
52
38
36
45
74
130
95
59
99
132
132
110
74
72
103
119
129
156
170
133
125
217
236
241
245
255
255
254
245
245
247
250
253
254
255
253
255
255
254
246
240
254
255
249
209
157
115
108
135
225
233
241
244
246
250
251
241
225
201
179
160
136
109
53
54
55
56
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
247
248
245
235
225
212
206
179
161
154
152
141
123
122
120
120
119
118
117
111
110
112
113
115
125
146
172
200
219
223
226
225
224
224
217
207
206
205
203
199
192
177
157
140
123
107
91
89
89
90
90
85
87
102
114
120
145
167
187
192
195
199
205
201
198
200
202
197
190
171
79
43
48
60
56
57
62
80
115
116
128
154
176
185
192
194
196
195
170
135
119
114
100
79
61
51
30
37
77
109
88
56
46
46
44
44
36
36
34
32
32
30
29
26
22
23
27
30
29
28
26
27
34
36
37
37
36
33
31
29
27
29
30
32
39
47
69
76
82
84
85
88
89
94
94
93
90
89
86
86
85
84
85
86
86
87
86
87
91
92
96
101
110
114
117
118
117
115
111
105
101
97
94
84
84
89
90
92
95
95
103
102
91
82
84
85
87
89
91
93
90
90
89
85
75
70
65
70
74
82
83
89
126
127
132
123
132
148
137
77
54
118
129
137
134
125
100
91
104
130
162
177
179
180
43
124
179
227
249
255
255
248
239
239
245
253
255
255
250
255
255
255
252
246
244
255
255
247
218
182
158
164
191
243
243
242
237
238
244
250
255
248
231
207
177
140
106
49
48
48
48
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
244
243
235
225
216
200
191
187
177
172
167
152
124
114
119
121
121
119
119
121
120
112
112
107
104
111
127
149
182
188
193
196
199
202
199
194
194
192
189
184
176
164
148
131
117
102
85
83
89
80
84
83
81
90
99
105
132
148
170
185
191
193
196
198
196
198
200
195
184
166
92
48
48
55
50
59
67
75
117
123
124
137
154
166
172
172
167
152
127
113
108
99
88
78
68
52
30
31
55
96
100
64
45
42
37
38
32
34
33
32
29
27
26
22
19
23
29
31
30
27
25
27
34
36
36
35
35
29
28
27
28
31
34
35
44
49
64
70
74
77
80
81
82
85
86
86
85
84
80
80
80
79
79
79
79
83
83
86
92
93
97
100
107
112
115
116
118
115
112
101
97
93
92
86
91
97
95
96
98
97
102
101
87
79
81
84
85
88
90
93
91
89
88
84
72
68
66
83
86
93
99
100
109
112
112
109
111
117
108
81
105
131
131
131
130
125
101
94
98
120
154
171
174
172
68
93
136
203
255
255
255
248
237
238
245
255
255
255
249
255
255
255
251
247
246
255
255
247
221
196
182
193
216
254
252
246
239
236
242
248
255
252
235
210
172
128
93
47
46
45
44
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
254
252
252
252
248
246
240
233
222
208
197
191
191
190
174
169
172
175
158
142
130
125
126
125
117
114
111
111
107
108
117
126
129
125
137
131
125
126
137
150
150
152
152
152
154
155
154
148
136
120
101
86
81
79
81
76
74
73
72
73
74
76
86
96
108
135
178
196
194
200
196
192
187
179
162
143
107
79
49
39
53
69
73
70
90
106
120
127
134
147
161
125
115
108
104
99
94
91
75
75
76
55
32
30
35
75
116
89
50
36
36
30
30
33
31
29
24
19
16
18
26
30
32
32
30
29
29
28
31
34
34
31
28
24
23
23
27
34
41
45
41
46
57
59
62
66
70
68
68
69
71
73
75
76
74
76
77
73
72
74
76
80
82
85
94
98
101
103
104
105
108
113
113
111
108
97
93
92
93
90
94
104
103
98
95
96
96
92
91
78
80
80
82
86
89
92
93
89
84
81
75
72
70
82
86
88
87
86
87
88
90
107
117
110
103
109
109
130
119
110
109
116
107
89
82
83
102
127
138
133
132
100
79
144
245
255
255
245
234
237
246
255
255
255
244
255
255
253
246
246
252
255
251
239
225
214
212
227
250
255
255
255
246
240
237
240
246
241
221
185
139
95
60
43
44
45
45
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
251
251
252
252
244
240
230
225
222
225
232
232
227
227
215
205
196
183
170
159
128
123
124
126
124
114
103
103
105
111
122
126
125
125
123
127
124
115
112
121
146
150
149
150
151
154
152
146
119
108
94
83
78
77
74
72
71
70
69
71
71
73
76
75
70
87
125
149
154
162
164
162
158
152
146
137
134
91
53
46
56
59
64
72
80
86
89
90
95
108
120
106
89
85
91
92
87
81
76
80
71
49
36
35
32
39
107
98
64
40
33
27
24
20
17
15
16
16
17
22
27
29
30
29
27
26
30
29
29
28
26
21
18
16
19
31
37
42
44
45
49
46
43
46
49
53
54
51
52
56
60
64
67
69
68
69
70
69
68
69
71
79
81
84
92
96
99
101
103
105
106
111
110
110
107
103
100
99
100
96
98
102
100
95
93
89
79
77
80
79
81
81
82
84
85
87
91
88
85
83
76
72
67
82
78
75
69
63
58
60
82
94
102
106
111
127
127
143
122
98
88
100
122
109
78
56
51
70
90
106
132
116
108
112
164
234
255
239
238
243
252
255
255
254
244
255
255
245
239
243
252
252
236
220
212
217
231
248
255
255
255
255
254
249
244
240
236
220
192
152
107
68
40
47
47
48
49
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
251
252
252
253
252
241
237
232
232
234
241
245
242
238
240
233
226
212
195
177
166
131
123
122
124
122
116
104
99
105
115
123
125
124
127
126
128
123
113
107
110
129
131
137
146
152
154
147
128
104
97
90
82
78
76
75
71
71
70
70
69
70
70
70
71
68
83
118
134
131
141
143
143
140
136
134
134
137
88
49
46
55
55
60
72
82
85
88
88
93
105
114
106
86
81
84
83
79
76
81
80
62
42
36
36
32
28
102
106
76
46
29
20
21
15
11
12
13
17
20
23
27
28
28
27
25
23
29
28
26
23
20
16
14
14
19
37
43
46
46
46
47
43
38
40
42
41
39
38
39
46
50
55
60
62
62
63
64
65
65
65
65
76
78
80
89
93
96
98
103
103
104
108
108
106
104
102
101
101
101
101
101
100
98
92
86
79
66
70
76
80
82
82
83
84
86
86
89
88
86
84
78
73
68
78
75
70
67
63
62
66
83
91
99
107
117
134
134
146
126
101
92
101
124
114
87
60
47
56
74
92
115
102
131
120
127
198
243
237
242
248
255
255
255
252
243
255
255
240
234
239
251
250
228
210
203
212
233
251
255
255
255
255
255
252
248
243
229
212
183
143
102
65
39
45
46
47
48
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
254
253
251
248
244
231
226
233
242
251
254
252
249
252
244
244
244
238
225
193
168
130
120
116
114
112
115
108
95
101
111
120
122
119
122
112
112
111
112
113
115
106
89
89
88
87
88
87
85
86
86
84
82
79
79
76
70
69
69
69
69
70
69
69
71
68
77
105
123
127
133
135
134
133
134
134
135
123
77
40
40
48
47
50
59
81
89
93
97
102
109
111
96
77
75
76
73
74
80
69
61
45
31
34
37
33
29
73
103
98
69
35
13
17
15
12
14
18
22
24
22
23
24
23
22
20
19
21
20
14
11
11
14
17
25
30
43
47
47
46
44
39
38
34
30
25
18
13
23
24
33
39
45
50
53
57
57
59
65
66
64
62
68
69
71
79
82
86
88
94
94
95
100
101
100
99
100
102
104
103
106
104
98
89
78
67
59
53
61
68
76
78
81
81
82
83
84
89
87
85
82
78
73
70
79
71
68
66
62
59
67
74
79
91
107
123
141
143
136
128
120
118
123
123
112
95
74
57
49
51
55
57
47
125
150
116
126
185
233
247
254
255
253
248
244
241
255
243
224
217
225
242
246
217
193
184
195
218
238
245
241
242
247
252
255
254
250
224
204
177
143
106
74
51
41
42
44
45
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
249
243
238
232
219
214
246
247
249
253
254
252
250
253
248
247
244
239
202
168
117
114
117
117
111
108
104
90
92
99
108
112
111
112
103
107
109
106
106
105
101
94
93
89
90
90
90
88
90
91
89
85
80
76
73
69
70
71
71
71
70
69
64
70
68
70
88
97
105
132
130
128
129
131
129
123
85
53
27
32
50
62
67
69
88
91
89
92
97
101
100
70
47
48
56
53
46
44
37
34
35
33
34
33
29
24
33
82
109
94
54
23
11
15
18
19
21
23
24
19
19
20
20
19
19
18
13
12
4
4
9
18
25
40
41
45
45
44
43
42
38
36
27
18
12
11
12
17
19
28
34
40
46
49
55
55
57
65
67
64
61
63
63
66
72
75
79
80
87
88
89
95
97
98
98
105
107
108
105
104
96
86
71
63
58
56
55
54
55
65
68
72
75
77
77
78
88
85
82
78
75
72
70
76
70
67
69
66
62
71
77
83
94
108
116
117
116
118
119
122
127
132
125
117
97
88
75
59
47
37
22
48
81
138
143
105
132
227
249
255
255
248
241
237
239
245
227
208
198
208
231
241
215
186
174
182
200
218
227
225
230
237
246
254
255
255
229
205
173
137
104
79
61
40
41
43
44
253
253
253
253
253
253
253
253
253
253
253
253
253
253
255
254
253
252
245
242
241
242
238
236
232
220
223
237
241
247
252
252
253
255
255
255
245
250
251
240
205
157
115
113
112
111
111
95
87
86
86
90
97
105
110
109
108
106
105
107
111
108
89
89
89
90
89
90
89
88
88
88
85
83
81
78
76
68
67
71
70
66
69
76
68
67
64
65
72
84
90
103
103
112
118
110
100
96
56
42
29
31
42
55
65
74
74
82
88
89
91
94
98
57
38
33
38
41
39
35
37
37
37
34
31
27
24
25
26
59
94
103
70
26
6
11
17
18
21
26
24
27
22
20
20
17
13
9
9
1
0
2
14
22
27
43
44
42
38
35
32
30
31
29
18
13
13
15
17
18
20
25
29
35
38
41
46
48
53
61
63
64
63
84
82
82
89
84
80
76
84
82
86
106
119
131
137
129
120
110
101
88
81
76
65
64
62
62
65
65
66
63
64
68
73
85
92
94
93
92
88
84
72
66
63
66
65
64
63
64
69
70
75
76
81
85
85
79
76
81
84
90
102
110
103
97
83
81
81
79
70
59
63
58
63
99
145
109
78
170
185
204
219
226
226
222
221
221
217
206
192
179
178
189
186
185
183
181
181
187
197
249
255
255
255
255
255
255
209
176
138
105
79
64
57
49
49
49
50
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
249
242
239
237
230
222
214
210
209
230
242
247
252
255
255
255
255
255
255
253
250
244
239
200
142
113
112
110
108
105
91
85
82
81
80
80
82
89
102
104
105
106
105
103
97
88
88
88
87
88
87
86
87
88
86
85
83
80
76
73
71
68
67
67
68
69
72
69
75
80
84
89
96
101
97
91
86
81
79
81
72
33
33
35
34
32
35
48
60
74
82
89
93
88
78
68
39
37
42
45
41
35
31
26
22
19
18
20
23
26
22
17
34
70
100
90
53
28
18
22
22
23
26
24
22
20
20
18
13
8
3
0
0
14
22
29
32
32
43
39
36
37
35
32
27
22
16
7
12
17
16
13
21
24
33
37
41
44
46
48
51
56
64
66
67
66
64
61
60
57
59
69
86
103
120
138
159
159
156
153
126
126
127
130
132
124
114
97
85
73
64
66
67
69
63
64
64
67
73
76
77
82
81
78
74
66
62
60
63
63
62
64
66
71
73
70
71
70
70
68
62
58
52
65
82
91
92
97
103
101
98
95
97
95
90
88
84
76
76
127
146
99
140
166
175
182
187
187
185
179
155
151
145
142
143
152
171
186
184
178
171
165
163
170
211
218
227
238
243
240
227
169
138
108
80
62
53
49
49
50
50
50
252
252
252
252
252
252
252
253
253
253
253
253
253
253
249
248
245
242
231
226
223
212
207
203
203
209
231
236
244
250
255
255
255
255
255
255
255
253
245
237
171
118
110
110
107
106
102
90
86
82
84
84
82
77
76
80
79
83
86
86
82
79
82
83
83
84
83
82
82
82
84
83
82
80
77
74
72
70
69
63
64
69
68
66
91
101
109
110
108
106
103
104
102
95
76
57
51
46
39
36
35
36
34
32
32
37
49
52
51
48
46
46
48
42
41
40
34
26
21
20
15
15
15
16
18
19
21
17
11
9
33
79
98
85
51
20
22
22
23
26
25
19
15
9
4
0
0
0
8
13
26
31
34
34
35
36
35
34
32
25
15
10
1
5
13
15
18
23
27
24
26
36
40
45
49
52
57
58
61
62
63
63
63
56
52
48
47
60
87
122
155
183
202
205
195
184
178
145
153
167
182
194
184
165
135
110
87
72
65
67
68
59
60
61
61
64
65
66
65
64
61
58
53
51
50
49
50
52
52
56
62
62
61
61
60
59
57
56
55
44
51
61
74
84
98
102
109
108
108
110
115
116
102
92
94
67
74
134
137
84
120
126
134
140
142
139
124
92
86
78
80
91
112
148
159
163
164
159
148
139
134
149
157
165
171
169
161
150
114
91
70
56
49
47
45
56
56
56
56
251
251
251
251
251
251
251
253
253
253
253
253
253
253
245
245
243
239
224
217
213
205
206
204
203
208
227
229
242
248
255
255
255
255
255
253
254
251
242
227
149
108
105
104
104
102
99
89
87
78
80
83
84
82
81
80
77
80
82
82
80
79
83
80
80
80
79
80
79
78
82
81
79
76
74
71
69
66
69
62
63
69
65
64
107
109
108
103
101
103
103
100
98
96
82
56
43
42
38
33
30
34
38
40
40
41
54
58
58
56
53
55
57
42
38
33
26
18
15
16
13
15
17
18
18
19
19
14
11
4
21
63
94
96
64
23
23
23
22
25
25
17
10
3
0
0
0
2
18
22
29
31
32
33
34
31
31
30
25
18
12
8
1
11
23
21
22
26
31
24
24
33
37
42
48
52
58
59
60
61
61
62
61
63
60
55
65
83
114
149
183
207
223
212
199
189
182
163
172
187
201
208
195
178
143
116
92
75
66
66
66
63
62
61
61
63
63
63
60
57
53
50
47
45
44
45
46
48
51
54
58
59
55
54
55
54
54
52
52
46
48
53
65
80
97
99
107
110
112
114
118
118
99
91
88
66
52
104
144
68
93
99
109
115
119
118
107
73
69
63
62
70
88
124
136
144
144
142
130
119
112
119
125
131
133
130
123
114
90
72
56
47
46
48
48
58
58
58
59
251
251
251
251
251
251
251
253
253
253
253
253
253
253
244
243
240
233
213
204
199
205
208
204
196
198
217
220
225
234
239
243
245
251
250
250
246
236
224
198
112
101
92
94
94
93
89
83
82
87
83
79
79
80
80
74
81
79
78
77
77
76
76
76
76
75
74
74
73
72
78
76
75
73
69
67
65
58
67
63
62
68
61
63
105
108
113
118
123
123
117
119
105
104
100
76
48
41
39
36
35
35
36
37
43
49
51
51
53
57
59
59
56
30
25
22
18
14
12
14
14
13
13
15
17
19
20
15
14
8
8
36
76
100
91
33
28
25
21
19
21
14
3
0
0
4
17
27
23
28
37
36
33
32
31
23
25
17
11
12
22
32
48
53
64
63
58
50
45
24
22
24
28
35
42
47
47
48
51
57
60
63
65
78
75
81
123
150
178
204
221
231
233
213
200
192
189
206
209
209
207
186
172
155
130
113
95
81
65
59
56
73
71
67
64
59
57
56
53
49
45
42
38
37
36
35
36
39
41
42
45
45
44
43
45
45
44
38
36
43
42
44
51
62
86
92
100
110
118
119
118
115
93
91
56
54
36
59
131
65
56
63
72
77
81
87
101
77
77
74
68
62
60
73
89
92
91
86
78
72
70
71
74
78
78
72
67
65
56
45
39
38
44
51
53
61
61
61
62
254
253
252
251
249
249
248
251
251
251
251
252
253
253
245
243
239
230
213
211
211
204
205
200
188
178
194
209
218
215
212
211
214
223
224
221
209
198
181
150
100
106
94
97
96
90
86
85
80
80
82
80
80
80
79
78
77
76
74
73
73
73
68
68
67
65
64
63
63
64
68
68
66
64
64
63
62
62
60
58
61
66
64
72
117
117
119
123
128
129
126
117
109
111
111
88
62
51
46
42
39
40
44
47
46
46
50
51
50
50
51
48
46
29
20
18
18
17
15
15
17
16
13
12
13
12
10
15
12
18
17
18
45
89
96
46
23
20
19
16
15
6
0
10
21
25
28
30
33
32
33
34
31
27
22
10
4
8
20
38
56
73
92
101
111
107
99
87
78
33
28
24
25
26
29
33
39
41
45
52
54
58
60
55
73
104
173
204
227
238
246
240
233
226
227
224
223
230
217
196
168
116
102
98
92
91
88
81
60
49
44
65
63
62
60
56
55
54
49
44
41
41
34
33
36
33
34
35
35
35
35
32
38
39
37
35
31
36
41
37
41
44
48
52
71
79
90
98
104
108
106
98
74
61
44
37
33
31
87
99
48
42
44
53
63
70
98
103
109
112
107
97
85
64
52
47
42
43
44
45
50
42
47
52
53
51
48
46
37
38
40
45
48
51
55
57
53
53
57
254
253
252
251
248
247
246
251
251
251
252
253
253
253
246
245
240
231
216
212
212
207
205
196
179
163
177
189
197
204
209
208
205
206
210
199
190
178
159
127
94
103
89
91
91
88
85
82
79
81
80
80
79
78
78
77
78
76
73
72
71
70
64
64
63
62
58
57
57
58
62
62
61
60
59
56
56
56
58
56
58
64
64
71
121
119
120
123
129
130
127
114
115
120
112
89
70
59
55
51
47
48
48
48
44
42
49
53
53
54
55
51
46
35
26
23
22
19
16
15
20
17
11
9
11
11
9
12
22
23
16
11
37
76
99
57
29
18
15
11
12
2
8
18
26
30
31
33
34
30
30
33
29
20
11
0
0
17
36
59
85
106
126
134
142
135
123
107
95
45
36
26
26
25
27
29
28
32
40
52
58
62
65
55
75
108
190
223
244
250
248
243
239
232
233
234
237
220
205
175
139
85
72
73
75
80
82
78
57
45
39
60
60
59
59
57
55
54
52
47
44
42
35
33
35
33
33
32
31
30
29
29
34
33
34
31
28
32
36
36
40
42
44
46
62
70
82
90
97
100
98
92
68
50
42
39
34
23
70
114
57
46
42
49
52
60
93
110
117
123
120
113
102
78
57
48
38
32
31
33
41
38
43
49
51
50
47
43
37
40
44
49
51
53
53
54
52
52
55
253
253
252
251
246
243
241
246
247
249
251
252
251
251
247
245
239
235
222
218
215
210
198
181
169
162
143
135
144
155
173
185
192
189
186
180
169
154
140
124
99
95
88
86
85
83
82
79
79
77
77
78
78
79
82
85
85
82
79
75
73
71
64
61
59
58
55
53
53
53
58
56
56
55
52
51
49
51
54
53
55
63
67
74
102
114
127
130
127
122
124
127
126
121
101
77
69
68
64
62
61
62
61
59
57
56
59
62
63
64
64
60
54
41
27
21
20
18
17
17
19
14
7
4
7
9
8
20
24
26
24
21
30
48
96
81
39
12
4
5
10
15
24
26
27
28
32
33
29
30
22
16
8
2
0
3
10
52
80
108
138
163
178
185
184
174
160
142
127
84
71
47
39
30
25
24
27
32
40
59
67
75
80
91
108
137
211
240
255
255
255
251
243
222
215
215
214
159
142
118
89
53
50
53
56
60
63
62
52
44
40
55
56
57
60
59
60
60
55
53
49
44
37
36
33
28
28
27
28
27
31
32
32
31
31
29
28
27
29
35
37
38
39
39
52
57
64
71
79
84
87
89
76
67
57
44
40
28
52
130
88
61
52
56
51
54
74
91
100
107
109
109
109
99
92
85
74
59
49
41
35
33
36
42
45
50
49
49
50
50
48
46
44
43
46
44
47
50
50
252
253
253
251
244
240
237
239
241
244
247
248
247
246
243
242
238
235
230
224
220
209
198
187
185
182
147
128
127
126
125
125
127
140
145
140
141
136
128
125
121
113
100
93
87
83
79
77
82
80
80
77
77
78
79
84
86
83
80
76
75
72
65
60
59
56
53
50
49
48
53
52
49
48
46
45
44
42
45
46
47
58
66
71
84
91
100
107
108
111
114
111
101
94
85
74
71
74
68
68
68
69
71
73
76
79
74
72
70
68
68
64
58
35
27
24
24
21
17
16
13
11
8
9
14
17
17
24
23
21
24
22
19
23
64
101
65
32
21
20
22
22
28
26
26
28
25
22
22
17
3
0
0
0
0
7
17
81
121
154
182
204
216
216
198
187
175
159
146
105
98
73
55
40
32
33
36
40
47
70
83
96
103
160
175
194
232
246
255
255
255
253
233
188
166
149
139
71
66
62
59
60
60
58
52
51
49
49
48
47
45
54
56
60
63
66
66
68
64
66
62
53
48
44
39
32
33
34
33
34
34
32
32
31
29
29
28
26
25
36
38
39
40
43
54
61
61
65
68
71
77
86
85
85
73
52
51
42
45
138
105
61
46
56
53
58
69
72
75
74
75
79
91
106
109
111
111
102
93
83
69
53
51
45
44
45
49
51
59
58
53
47
42
36
34
38
47
52
51
249
253
252
248
239
234
231
225
229
236
238
236
237
239
231
232
235
238
235
233
230
225
222
221
212
201
171
148
131
125
124
113
121
122
129
130
132
131
130
127
121
119
117
110
95
84
79
71
77
73
76
78
78
77
77
83
85
84
83
82
81
75
65
62
58
54
49
48
44
38
43
42
40
40
41
41
39
35
36
38
42
46
50
54
72
74
76
79
80
80
79
74
70
65
64
67
70
72
71
75
78
79
80
81
85
88
92
85
79
71
60
46
38
31
28
25
23
20
16
13
14
15
17
17
14
15
18
26
28
20
16
18
18
15
30
95
82
51
33
31
30
30
28
27
27
25
25
25
7
4
0
1
4
5
4
0
11
87
131
167
193
209
218
208
171
157
146
140
138
108
100
76
63
50
45
47
46
56
67
103
128
149
159
210
216
230
255
255
255
255
244
221
194
136
113
97
92
54
55
57
55
49
50
50
47
48
48
49
53
54
54
61
64
66
67
72
72
73
70
69
66
63
53
50
49
50
47
41
33
27
23
29
31
36
37
36
32
29
28
39
42
46
47
53
78
86
95
83
66
65
71
70
69
79
77
62
52
46
38
136
118
73
50
57
63
72
92
88
89
87
76
62
55
74
77
85
91
97
102
103
96
78
69
58
49
44
48
54
59
55
49
47
48
44
37
31
41
51
56
251
254
252
247
237
230
223
224
228
235
237
235
235
236
233
236
240
241
240
238
236
232
230
229
223
212
178
151
133
124
123
113
120
119
125
127
130
130
129
126
120
117
117
113
97
83
78
73
76
75
76
79
78
78
78
83
87
84
80
78
76
71
65
61
57
54
50
47
46
39
43
41
39
40
40
40
38
36
36
37
39
41
45
48
66
68
71
73
74
73
72
66
63
59
59
63
67
69
71
77
79
81
82
82
85
89
86
80
75
66
56
44
37
36
35
34
33
28
24
21
18
19
20
19
17
17
19
30
32
25
18
17
13
9
18
90
88
61
38
33
33
33
29
30
31
27
21
13
2
1
1
3
4
4
2
0
11
83
127
164
189
207
207
198
163
151
143
139
138
108
98
71
58
48
44
46
48
64
85
131
158
177
187
227
230
238
255
255
254
245
229
200
168
109
87
75
73
53
55
57
56
52
50
50
48
48
49
50
53
54
55
63
64
66
69
72
72
74
72
70
68
63
55
51
49
53
50
44
37
30
31
36
36
42
44
45
43
36
34
44
47
46
46
55
82
91
100
87
67
58
66
71
72
80
79
66
55
47
37
135
123
78
51
58
64
72
92
94
96
92
80
63
51
56
60
69
79
86
95
102
103
94
87
75
65
55
52
52
53
55
55
54
51
44
39
32
40
49
55
254
254
250
247
238
225
213
202
208
218
226
237
241
242
241
243
246
250
251
250
250
250
247
248
246
240
209
181
143
121
118
113
115
113
115
118
121
124
123
122
115
112
118
117
100
79
78
77
73
77
79
82
84
84
86
87
91
87
81
75
72
67
60
60
56
53
49
48
46
42
42
40
37
36
36
37
34
32
31
28
27
30
33
36
47
49
52
54
53
50
45
42
42
42
45
51
56
61
72
76
82
85
84
86
90
93
90
85
80
73
66
60
57
55
55
56
54
50
43
38
25
22
19
18
14
12
13
16
25
25
20
17
12
8
5
72
98
85
52
39
44
43
35
31
28
18
6
0
0
0
0
0
0
2
1
2
11
72
111
144
170
187
184
177
154
150
148
149
150
129
115
75
54
43
48
62
88
119
155
212
233
243
246
255
253
244
226
215
200
182
155
124
92
43
29
26
28
52
56
60
61
56
54
53
51
51
53
53
54
55
55
62
64
65
68
72
72
72
69
67
65
61
54
50
49
51
48
46
44
46
60
70
80
91
98
102
99
84
77
69
62
51
47
57
94
104
111
107
81
49
43
53
65
82
87
78
69
55
39
127
135
86
58
63
67
75
94
93
96
94
87
75
62
38
39
45
54
60
69
81
97
101
101
100
95
86
76
63
48
52
55
56
55
51
49
39
41
45
51
252
253
251
248
239
229
220
206
207
212
218
232
236
237
245
247
248
252
254
253
254
255
253
252
249
244
237
220
175
129
114
107
103
106
111
112
115
115
116
116
114
112
115
107
89
77
80
80
83
87
87
89
93
96
97
94
91
90
88
83
79
72
58
56
53
51
48
48
47
43
43
41
38
36
35
34
31
25
25
24
24
26
27
28
28
29
29
29
28
27
24
28
30
33
37
41
45
51
65
71
79
84
86
90
94
98
95
92
87
82
79
80
81
75
74
72
68
61
54
49
41
34
32
30
27
23
23
22
18
16
14
10
11
15
26
60
90
92
67
48
47
49
43
30
17
9
9
11
9
7
0
0
0
0
3
3
8
56
88
115
133
148
152
152
149
153
159
165
168
168
155
103
75
64
78
103
140
174
208
248
255
255
255
234
224
204
164
144
124
106
83
67
54
42
37
36
37
61
63
67
68
62
58
57
55
55
54
54
54
53
54
58
60
64
66
68
68
68
62
60
58
54
47
45
43
40
40
45
55
70
108
124
145
158
167
170
164
140
131
91
80
63
52
56
98
110
118
125
109
76
50
42
58
75
81
78
77
67
49
125
139
91
61
66
73
80
91
90
95
95
89
81
76
49
44
40
43
46
51
60
74
86
91
98
104
103
98
90
73
63
51
48
52
56
57
49
43
42
47
251
254
251
246
235
227
221
213
212
214
218
232
237
238
249
250
251
253
254
255
255
255
255
255
252
247
242
228
196
141
119
107
99
101
107
111
113
112
112
113
114
114
113
99
81
77
82
81
91
90
90
93
97
101
103
98
93
90
86
81
77
71
61
55
52
51
48
48
48
44
43
41
39
37
35
33
30
26
26
27
27
26
24
23
22
21
21
20
21
20
20
24
27
30
34
36
40
46
61
67
77
82
86
91
95
100
96
93
88
83
83
86
89
83
78
76
73
68
63
60
47
38
36
36
31
28
27
30
18
15
14
15
21
29
36
58
86
95
77
54
43
53
43
34
24
18
15
17
13
13
7
2
0
0
0
0
6
48
76
97
114
124
132
134
145
157
166
175
179
189
172
122
105
99
112
136
168
199
229
251
250
242
234
214
201
180
131
109
91
75
64
55
51
53
53
53
57
66
68
69
68
62
59
59
56
56
55
53
54
53
52
57
59
61
63
67
66
66
61
60
58
53
46
45
43
38
43
51
67
89
138
158
180
191
199
201
194
166
157
100
91
74
57
59
98
112
116
120
108
83
61
42
47
72
75
75
77
74
57
126
138
90
61
68
75
80
87
87
91
91
84
78
77
58
52
46
43
46
50
53
62
70
76
86
94
100
100
98
85
76
64
56
52
52
53
54
46
43
48
247
249
246
241
230
220
212
215
213
218
224
235
241
247
255
255
255
255
255
255
255
255
255
255
255
255
247
236
211
170
121
101
102
87
95
99
107
114
117
114
107
105
97
85
81
83
81
91
96
94
111
125
132
135
136
116
95
86
91
85
64
67
51
52
50
46
47
47
46
43
45
44
41
37
34
32
32
28
29
29
29
29
32
32
22
20
18
15
13
13
13
20
25
31
34
36
40
44
56
69
79
83
86
91
94
96
95
91
88
87
89
91
93
92
89
88
85
81
75
71
55
47
40
36
31
30
32
27
16
21
27
35
42
48
56
62
83
103
91
63
45
57
47
44
41
39
35
31
25
25
17
9
1
0
0
0
6
33
49
69
81
88
96
106
132
148
164
174
179
181
180
156
151
157
176
196
226
240
252
245
234
214
193
186
163
138
79
58
49
42
42
46
54
74
80
84
88
76
74
74
73
67
65
61
59
57
54
54
54
53
54
56
56
58
58
60
61
60
56
55
53
49
42
42
43
34
48
69
94
122
182
205
225
240
246
240
233
205
188
129
110
91
86
86
97
110
112
108
98
81
63
50
29
48
71
77
75
73
65
120
140
93
66
70
71
72
84
75
74
76
77
78
79
74
69
65
57
50
47
46
48
37
45
55
65
73
80
91
95
94
90
82
71
58
46
48
49
49
48
248
247
240
234
227
222
217
210
211
220
230
239
243
246
255
255
255
255
254
254
254
253
253
255
255
254
245
233
222
170
116
94
92
84
86
84
84
82
83
88
92
91
81
76
79
81
79
105
117
134
143
147
146
150
155
150
152
123
98
88
80
64
61
54
49
46
46
47
47
47
46
44
41
38
35
34
33
34
33
33
32
33
32
31
25
24
22
22
21
22
24
25
29
36
40
44
48
53
63
72
81
82
84
86
86
87
84
80
77
79
83
89
92
89
90
89
89
86
81
77
54
42
36
33
28
29
32
24
34
42
47
48
52
57
63
70
81
99
104
81
53
57
63
62
60
54
50
49
44
43
34
26
22
18
17
8
15
32
43
57
64
67
68
76
105
122
139
153
162
141
151
169
179
194
213
231
249
255
255
247
237
222
203
177
152
123
65
47
40
37
40
47
55
71
77
79
78
77
76
76
74
68
64
62
60
57
53
51
50
48
47
49
50
51
51
55
55
56
55
55
52
48
42
42
43
52
66
92
122
154
212
234
249
255
255
249
240
215
201
148
137
129
131
130
122
122
121
112
98
83
65
50
34
42
50
54
64
72
62
123
132
85
60
66
71
70
67
74
70
67
64
63
67
72
69
69
71
67
62
53
43
30
33
39
45
52
61
67
85
87
88
88
84
76
67
41
39
38
40
244
244
239
234
228
223
218
210
211
219
228
239
244
249
255
255
255
255
254
253
253
250
252
255
255
253
250
237
224
167
115
95
89
82
83
91
88
85
87
92
95
93
78
77
82
83
81
112
127
144
149
153
153
156
161
161
161
147
115
90
80
65
58
53
50
46
46
47
49
49
46
44
41
39
36
34
33
35
34
35
34
32
32
31
24
23
24
23
24
26
28
28
33
38
43
47
51
58
67
75
81
84
83
84
84
83
80
75
72
74
78
84
88
88
88
88
88
84
79
74
48
37
32
29
25
27
31
29
42
50
52
54
58
63
67
74
76
93
107
93
62
56
69
71
67
60
57
56
54
53
46
41
38
36
35
21
26
38
46
55
59
60
61
64
87
103
121
139
154
126
138
173
187
204
216
228
241
245
247
238
234
225
208
177
152
120
63
47
43
39
43
49
57
68
70
69
69
77
77
76
74
67
64
62
59
56
52
49
46
46
44
47
48
49
51
52
54
54
55
53
52
48
44
43
45
55
73
100
131
161
217
235
248
252
248
238
229
208
196
159
153
151
153
153
143
139
136
122
105
89
70
53
39
47
49
47
60
69
57
120
129
83
59
65
65
62
67
74
70
64
57
56
58
68
68
70
72
73
67
59
49
36
35
34
36
43
53
61
71
75
80
85
85
81
75
55
48
40
36
230
233
234
232
227
220
213
212
210
212
218
232
241
249
255
255
254
254
251
250
250
249
250
254
252
252
252
235
198
147
111
99
89
86
80
82
83
86
87
89
81
76
76
78
83
80
80
121
135
139
145
151
158
161
163
160
155
175
163
116
80
75
57
52
50
48
49
52
52
48
46
44
41
38
37
35
34
33
33
33
34
33
33
32
24
24
23
24
25
26
28
33
37
41
46
48
53
60
69
74
80
81
83
83
82
78
74
71
67
65
68
71
73
81
80
76
74
69
63
57
38
32
29
30
29
31
32
43
46
50
54
57
62
68
67
68
65
70
95
103
82
60
70
72
72
69
67
67
61
59
56
56
57
57
57
51
56
59
62
66
67
63
63
59
67
74
87
109
128
130
146
186
201
208
204
198
200
197
199
210
219
222
214
151
124
96
52
42
42
42
51
57
65
71
67
64
61
75
74
73
70
63
61
58
57
54
49
46
45
42
40
48
48
49
51
52
53
53
51
52
53
52
49
52
54
71
87
116
144
174
218
229
237
232
225
217
210
196
193
184
183
183
185
189
185
178
160
137
111
88
65
40
28
39
45
47
58
69
63
123
125
82
60
61
57
54
71
78
73
64
52
44
42
50
55
57
62
67
70
70
68
56
50
40
33
31
34
40
47
50
55
62
70
76
79
84
76
66
59
224
224
221
218
218
215
211
205
205
210
217
227
232
237
255
255
254
253
250
248
248
244
248
252
254
254
237
206
163
121
103
102
89
86
78
83
87
89
90
89
88
89
90
90
94
93
98
148
159
167
169
174
177
178
176
173
163
156
159
130
77
60
48
49
49
50
52
55
53
48
45
46
43
39
36
34
34
30
32
32
32
32
32
34
27
26
27
27
26
28
30
33
37
41
43
46
51
59
60
66
71
74
78
80
78
74
69
66
61
58
55
54
54
68
67
65
62
57
51
46
38
36
39
40
39
40
43
44
43
49
55
56
55
55
65
57
55
52
75
101
97
76
72
74
78
81
80
78
83
80
72
73
73
71
69
75
77
78
80
82
81
76
73
70
80
82
82
92
108
150
161
191
198
197
183
165
156
148
151
175
193
202
196
101
78
57
32
29
35
39
54
64
73
80
76
72
69
73
72
71
68
59
56
54
55
52
48
45
45
43
42
46
46
46
48
50
52
52
51
52
53
55
57
60
63
77
93
119
149
173
207
215
221
214
204
200
195
190
191
196
197
200
203
207
198
186
170
143
113
86
59
33
22
35
53
56
57
63
61
113
117
69
45
59
70
73
68
81
78
70
56
42
33
33
36
41
49
59
66
69
70
77
74
68
54
38
26
22
23
22
23
28
37
48
59
77
80
83
84
227
225
221
218
211
204
197
199
199
200
207
225
233
238
248
248
248
250
253
252
255
255
253
255
255
246
220
183
119
102
89
90
94
91
94
90
90
96
96
87
97
104
91
93
90
88
105
159
168
167
168
170
175
177
179
184
159
161
166
104
53
58
43
45
47
50
55
56
58
57
45
43
39
36
34
31
27
26
25
24
24
25
25
23
20
19
20
19
20
21
22
29
32
37
40
44
48
54
55
60
66
68
66
65
67
67
64
59
56
55
55
51
50
51
48
50
53
55
55
52
45
39
37
38
38
33
29
37
41
46
49
51
53
52
54
46
50
54
66
86
106
54
94
117
107
90
86
94
111
129
115
96
81
79
80
101
101
94
91
88
87
88
91
96
105
107
109
112
114
190
186
172
160
148
138
133
136
149
158
156
153
145
137
44
41
40
47
52
57
63
59
61
63
66
64
64
64
69
69
68
68
64
63
62
66
65
63
63
59
55
52
54
55
55
55
54
54
53
50
52
54
56
59
60
59
67
80
101
125
146
182
194
201
200
194
191
188
183
181
186
191
195
196
199
183
161
144
119
91
71
55
43
37
32
52
54
53
58
49
119
114
67
51
71
81
79
75
78
76
68
54
47
44
44
39
40
41
46
51
56
61
65
65
63
55
49
46
39
23
23
29
36
40
40
47
64
76
87
89
234
231
224
215
204
204
204
189
186
185
188
210
220
228
237
245
245
247
251
250
255
253
252
255
252
246
203
146
88
83
84
91
93
87
89
88
84
85
83
78
88
88
90
92
88
90
109
153
155
168
172
175
176
175
174
171
176
169
132
69
47
51
49
43
45
47
52
53
56
56
48
45
41
38
36
33
30
25
23
20
18
18
16
14
17
18
16
16
17
17
20
22
26
30
32
36
39
44
45
47
50
54
59
60
60
60
61
59
59
59
56
51
47
45
47
52
58
62
63
63
58
54
50
44
41
38
34
36
29
26
26
29
35
38
29
34
39
44
53
78
101
70
104
129
130
121
119
124
142
157
147
130
119
115
116
130
126
116
112
111
114
117
121
128
137
139
140
142
144
185
185
177
169
165
167
169
170
171
169
149
135
115
99
42
41
42
52
56
60
64
65
66
68
66
66
65
65
65
65
65
66
62
60
59
62
62
61
61
59
56
53
56
55
55
54
55
58
60
63
63
65
65
66
65
65
68
78
93
113
129
155
162
167
163
159
152
149
147
149
176
177
178
174
171
155
140
118
99
84
73
65
58
60
51
63
64
61
62
56
117
116
74
61
78
85
80
73
71
73
70
64
59
54
40
40
34
26
21
22
27
35
44
48
51
56
59
62
59
47
38
28
21
16
16
24
35
49
66
77
234
232
230
222
205
201
201
201
194
186
184
194
199
200
218
232
241
243
252
251
253
249
250
244
235
231
159
94
80
81
83
85
84
82
85
80
75
73
70
71
90
87
86
87
85
86
105
139
134
151
158
161
164
166
169
164
145
133
78
41
45
43
43
45
46
49
52
53
57
59
50
47
44
41
38
36
32
29
25
20
16
14
11
9
9
8
7
7
7
9
10
13
15
17
21
22
25
29
37
35
38
45
52
57
58
58
62
64
63
59
55
51
48
64
68
72
74
76
77
77
73
70
62
53
45
40
36
32
23
19
14
11
10
12
18
29
36
38
46
70
93
83
116
142
163
168
167
174
186
194
188
176
170
168
170
169
164
152
149
150
154
160
168
176
186
187
187
188
187
196
196
188
183
183
188
194
187
175
160
124
99
73
59
46
44
45
54
56
60
63
65
65
65
64
62
63
65
61
62
62
62
60
59
58
59
56
56
56
56
53
51
55
55
53
55
61
65
69
69
69
69
69
64
61
60
68
73
82
93
104
115
115
120
116
111
105
102
109
114
147
146
147
145
140
118
105
86
69
55
47
46
49
72
63
64
61
63
64
63
118
104
68
56
69
72
67
61
71
76
81
82
85
83
70
63
58
47
35
25
16
11
20
23
28
36
44
51
53
57
55
53
46
39
31
23
22
27
35
43
233
233
232
227
210
203
199
197
186
170
162
170
173
174
200
218
229
234
245
244
245
246
245
236
228
223
141
86
80
81
81
80
78
78
79
74
71
69
65
66
89
86
85
88
86
88
103
134
129
143
148
150
146
145
147
139
119
105
57
38
44
38
37
44
45
48
50
52
56
59
51
48
45
42
40
37
33
30
26
20
16
13
11
9
6
6
5
5
5
5
6
10
11
13
14
15
19
23
33
33
38
42
48
54
58
59
63
64
62
58
56
54
56
71
77
80
81
80
80
80
78
73
65
56
46
37
33
28
20
15
12
8
7
8
20
32
41
45
55
76
96
84
121
147
175
187
189
198
206
210
203
195
192
193
195
188
184
171
169
171
175
181
190
198
209
210
209
208
208
206
204
193
184
180
179
179
172
159
142
106
80
60
48
49
47
47
53
53
57
60
60
60
62
59
60
61
62
60
60
61
62
61
58
57
58
57
55
56
55
52
49
54
55
54
56
64
68
70
74
74
73
71
64
61
59
65
68
75
83
93
98
95
98
94
90
86
84
96
103
135
130
125
123
120
96
83
67
51
38
31
30
37
66
66
62
59
62
64
66
119
103
69
58
68
68
64
61
78
84
91
92
92
95
90
87
81
71
59
43
28
17
6
4
8
16
26
34
44
49
55
59
59
56
48
35
25
24
27
32
239
235
229
226
217
208
202
195
172
143
124
130
142
149
164
187
204
210
225
226
225
224
219
209
204
197
113
82
72
74
76
77
78
73
68
70
70
68
59
56
82
80
88
94
95
92
101
132
131
133
137
134
124
119
122
112
91
70
40
46
38
29
34
42
42
44
46
47
51
54
54
51
47
44
42
39
35
29
25
19
14
11
10
8
8
8
7
6
5
6
7
3
4
6
7
7
9
13
25
30
35
40
43
48
54
60
59
59
58
57
60
68
74
86
93
96
96
94
94
94
79
70
62
56
47
34
24
17
7
2
1
7
13
20
23
38
53
66
79
99
117
91
126
150
186
208
219
231
231
229
220
220
222
226
229
213
211
203
204
204
207
214
226
233
242
239
237
234
233
222
214
185
167
148
131
119
116
104
93
69
55
47
49
56
51
46
47
48
50
55
51
50
52
52
54
57
58
59
60
61
62
60
59
57
59
58
56
55
51
48
46
51
52
56
60
68
71
72
68
68
66
63
54
51
47
53
54
56
64
72
75
72
68
65
64
64
67
88
98
140
118
99
90
89
68
58
42
33
29
28
31
38
69
77
66
61
65
66
70
117
97
66
54
61
59
58
61
77
84
89
83
79
82
96
98
96
95
91
83
75
67
55
41
27
21
17
15
19
36
42
47
52
58
62
59
45
41
42
48
236
236
235
232
219
210
205
200
190
158
130
108
108
121
135
148
167
185
199
200
200
190
185
177
170
156
88
88
81
75
71
73
74
70
70
67
66
64
63
65
74
77
84
84
86
92
94
105
113
125
112
96
87
88
89
85
66
51
37
35
34
30
34
38
40
41
45
47
51
54
47
47
47
45
42
38
35
29
26
21
15
11
9
8
11
10
7
5
5
4
6
7
7
6
5
6
10
15
27
34
38
40
44
51
52
51
59
63
67
71
77
83
88
99
104
108
107
104
102
98
80
64
54
47
39
29
22
21
18
16
15
16
16
19
26
52
69
88
108
125
134
112
129
133
159
197
226
236
233
230
232
235
238
239
237
220
218
214
216
219
224
230
243
246
245
244
241
236
234
225
214
163
131
101
76
61
52
47
43
44
47
53
56
58
59
56
42
37
37
37
38
39
40
41
44
47
51
55
56
57
59
60
58
58
57
58
58
56
51
51
53
56
56
59
61
66
67
70
69
71
72
68
52
45
41
52
53
55
59
61
64
64
65
65
64
69
75
89
111
111
107
96
80
72
64
51
47
47
48
53
58
67
82
80
79
77
77
70
62
115
103
59
40
47
44
42
66
72
77
77
71
59
51
62
69
74
76
72
71
72
70
62
64
64
63
59
55
49
46
46
50
55
61
64
63
52
52
53
54
236
236
237
235
226
220
215
202
195
173
145
109
102
106
113
118
133
152
179
178
173
168
170
166
156
136
90
97
83
77
72
73
74
70
69
67
66
64
64
65
71
73
78
79
85
91
91
88
89
112
101
92
88
87
87
74
57
46
38
37
36
31
32
37
38
41
43
46
50
53
51
50
48
46
43
40
38
32
29
24
19
15
12
11
10
9
8
7
7
7
9
9
10
10
10
10
14
20
29
35
41
42
43
48
52
56
59
65
72
79
85
92
97
108
111
113
115
111
104
100
77
64
54
48
42
34
26
30
26
24
21
21
21
25
28
60
80
101
121
139
149
129
135
127
142
182
217
230
227
223
231
238
238
235
233
223
222
217
219
222
230
235
245
247
245
241
236
229
224
214
201
145
111
80
56
40
33
32
33
37
43
53
59
58
60
59
46
38
33
32
34
35
38
41
43
47
51
55
56
58
59
60
61
61
59
60
60
61
57
57
58
58
59
60
61
65
66
67
67
69
72
72
61
51
44
49
48
50
51
54
59
60
64
64
65
70
76
89
106
97
101
95
82
74
69
61
57
55
59
66
74
80
90
78
75
77
82
71
55
109
103
60
38
40
33
32
63
66
70
69
64
54
43
31
42
47
49
46
46
52
57
58
62
66
71
71
69
65
61
61
60
63
64
65
65
57
56
56
56
239
240
241
242
241
239
236
228
219
204
186
146
120
96
97
97
98
106
132
137
138
143
136
125
111
94
87
88
86
79
73
73
73
70
70
67
67
66
65
65
69
70
79
79
82
89
90
82
84
73
66
57
51
52
53
50
45
43
44
44
45
40
36
36
38
40
42
45
47
52
54
52
50
47
44
41
40
32
29
25
20
17
15
14
9
9
9
10
11
12
14
19
20
21
22
23
26
30
34
37
42
44
42
45
52
58
63
70
78
87
93
100
104
113
113
113
111
106
97
89
70
63
56
53
48
43
41
48
42
38
35
32
31
35
46
79
100
121
140
155
163
169
151
125
115
150
195
211
213
214
225
231
228
218
209
224
224
225
230
235
242
246
245
244
235
226
216
206
200
176
158
98
71
53
38
33
24
30
33
39
45
54
62
59
63
66
61
51
41
35
36
37
39
42
44
49
52
54
55
59
61
64
65
67
66
67
67
66
66
67
66
63
63
65
65
65
65
65
58
55
56
60
70
69
66
53
54
53
54
55
59
58
56
60
60
63
72
82
93
71
83
91
89
78
72
72
69
67
70
77
83
86
85
58
48
53
75
78
61
95
102
65
45
41
29
22
42
53
57
61
64
63
53
16
8
10
13
15
14
13
16
30
32
35
40
44
51
54
65
63
64
65
65
67
70
61
61
61
61
240
241
245
247
249
249
247
248
239
232
220
188
163
130
93
89
88
96
122
128
130
136
129
126
121
109
99
79
83
75
69
69
71
70
72
71
69
66
65
66
73
76
78
75
77
82
86
85
82
72
66
59
53
50
46
39
42
44
46
44
43
45
44
42
43
44
45
46
48
49
55
55
55
53
50
47
43
39
37
32
28
25
23
23
20
20
22
23
23
24
24
29
30
32
32
32
34
38
36
35
37
43
46
44
44
50
60
65
72
78
87
95
101
112
112
110
104
95
88
84
69
62
58
53
52
50
50
63
57
53
48
46
46
49
62
93
111
129
148
161
171
204
159
139
115
129
170
195
203
204
218
225
220
210
198
234
236
241
242
243
243
244
241
236
217
206
195
184
178
119
107
72
59
53
46
42
43
47
52
57
59
59
59
63
65
71
74
69
63
58
42
41
38
35
38
43
48
53
54
57
62
66
69
69
73
71
70
69
71
68
65
61
61
60
59
57
57
55
51
50
47
46
49
54
57
58
62
68
73
75
66
62
57
59
54
50
55
63
69
47
57
72
86
89
75
69
69
68
67
65
63
63
71
56
57
63
79
83
72
93
99
63
46
44
34
25
26
26
40
54
60
65
66
48
26
19
17
20
22
18
15
24
24
25
24
25
25
28
29
33
39
42
45
49
52
61
63
67
70
242
243
245
247
250
250
248
247
242
241
232
205
188
160
93
88
88
99
134
136
134
136
133
136
131
116
94
67
81
73
68
68
69
70
72
72
69
66
64
65
75
78
74
71
74
80
85
79
77
77
70
61
53
49
50
51
42
43
43
42
41
44
46
44
45
45
46
47
48
49
55
56
56
55
52
48
44
42
40
36
31
28
27
26
25
26
27
28
28
29
30
31
33
34
34
36
36
39
36
34
36
44
47
44
43
46
56
62
68
76
85
94
100
107
109
106
97
88
82
79
69
63
59
54
53
51
51
66
60
57
53
50
51
54
64
94
112
131
149
165
173
211
160
144
117
125
164
192
201
201
218
224
221
210
200
239
241
246
246
244
241
240
234
228
207
195
184
173
167
100
92
69
62
56
48
43
51
53
58
64
64
61
57
64
67
70
77
75
70
67
49
47
42
37
40
45
48
53
54
57
60
66
69
70
73
71
70
71
71
67
65
58
60
59
58
56
53
51
52
52
49
44
38
42
47
50
56
67
77
81
76
70
60
60
53
45
49
54
59
39
49
65
86
94
77
69
57
57
55
49
45
45
56
56
62
71
79
79
69
89
102
66
47
46
39
33
32
17
35
49
56
61
66
56
29
20
14
18
23
21
19
29
31
31
31
28
27
24
18
21
28
32
36
39
45
54
57
62
67
229
231
239
246
252
253
254
253
251
245
239
224
211
200
155
113
100
116
121
125
120
122
125
115
107
110
91
87
73
63
61
64
63
70
68
67
71
73
72
73
83
83
83
80
83
80
71
78
69
71
68
62
56
53
52
54
54
53
51
51
50
50
47
47
47
47
45
45
47
54
60
60
61
61
59
56
54
47
46
45
43
42
42
43
49
49
49
49
49
49
50
47
43
41
41
41
41
39
38
35
34
35
38
38
34
30
34
42
51
60
69
77
82
84
84
83
81
75
69
65
60
58
57
55
56
54
51
57
59
59
58
54
49
47
47
69
91
115
137
156
166
167
208
172
112
83
121
185
220
226
227
223
217
227
248
255
255
255
255
247
237
227
213
198
167
152
140
132
127
91
86
71
65
58
51
45
41
40
43
53
59
65
67
69
70
72
75
74
71
68
65
56
45
45
51
56
58
50
52
57
60
66
68
69
72
72
71
69
64
63
62
58
60
59
52
48
48
47
53
51
47
45
44
45
44
38
43
51
58
62
68
72
65
63
56
51
49
55
53
48
46
50
68
89
89
78
55
39
28
23
19
13
14
30
52
67
64
59
59
83
98
77
46
36
41
30
25
22
20
30
50
61
60
68
60
43
25
19
21
22
21
22
26
30
33
34
33
32
32
29
24
23
24
27
27
31
33
37
40
224
232
243
248
255
255
255
253
253
249
243
232
222
213
189
147
116
112
115
119
117
114
115
113
112
115
99
88
74
63
59
61
59
64
65
69
73
76
75
76
83
83
80
78
76
72
67
58
52
53
51
48
45
44
45
48
53
53
55
55
55
53
54
50
52
52
52
52
54
62
61
62
66
67
67
66
64
59
58
56
55
54
54
54
63
63
63
63
61
60
58
52
48
45
44
44
43
40
35
32
27
25
24
23
20
18
17
18
25
36
48
55
57
61
60
61
65
64
58
52
53
51
52
55
57
58
59
54
55
54
52
49
45
44
42
73
95
120
145
166
178
177
219
203
161
118
114
151
212
240
234
235
238
244
253
251
250
244
236
225
214
203
187
173
144
133
124
117
112
94
90
74
66
59
52
46
49
48
47
50
54
57
58
64
62
61
71
77
78
78
71
68
63
51
50
54
58
50
52
55
58
60
61
61
63
63
61
57
49
48
47
53
60
65
64
60
54
49
48
44
40
36
38
41
41
32
34
36
39
46
63
67
74
78
79
73
65
56
54
46
40
37
43
58
93
100
84
62
39
27
22
17
11
16
44
65
69
63
59
87
96
81
51
37
47
44
26
22
14
11
20
35
50
63
65
64
52
30
19
21
22
27
28
31
35
38
38
37
31
30
27
25
23
23
22
25
25
25
25
220
232
244
250
255
255
253
254
253
250
245
237
225
216
194
156
122
112
118
118
115
114
111
110
110
110
96
82
73
63
59
61
60
64
63
68
72
75
75
76
81
81
78
77
73
70
68
51
48
50
46
41
38
37
41
49
54
56
58
58
54
53
53
51
51
53
53
54
58
66
63
65
67
69
69
70
69
64
64
62
61
60
61
61
68
68
68
67
65
62
59
51
49
46
45
42
40
38
35
30
24
19
18
18
20
21
17
16
21
31
41
47
50
54
53
55
60
60
55
50
48
48
52
57
59
60
61
50
49
48
47
43
40
39
47
77
99
124
148
170
182
182
226
224
189
138
111
134
205
245
239
241
250
252
255
247
245
235
226
215
204
193
176
164
140
130
119
109
103
93
88
73
66
60
53
50
47
49
49
54
53
55
54
62
59
59
67
73
77
78
73
74
73
59
55
55
57
54
56
58
60
61
59
59
57
58
55
52
45
44
43
44
53
59
63
63
61
58
50
46
41
37
38
38
38
34
34
36
38
45
56
58
65
75
82
81
76
63
57
45
44
41
39
44
77
91
97
82
62
42
28
19
16
17
47
74
82
77
70
98
98
89
60
41
49
49
27
26
23
13
5
19
46
55
65
69
60
41
26
24
22
28
28
30
34
37
40
38
32
31
30
26
23
21
20
27
27
26
26
196
215
233
240
253
255
252
253
253
249
245
238
227
218
193
165
129
113
133
133
131
132
120
114
111
103
93
74
56
50
50
55
54
56
52
61
68
71
70
71
75
74
76
76
70
70
75
48
49
44
41
37
35
35
39
46
49
54
58
59
56
54
55
57
57
57
57
57
58
66
66
67
71
73
73
73
71
71
70
69
68
68
68
68
68
68
67
65
62
57
52
44
42
39
37
35
33
30
25
24
23
22
22
23
26
28
31
32
33
35
40
45
49
48
49
51
52
51
50
49
51
55
58
61
60
54
51
39
36
34
31
30
28
27
39
73
96
119
144
165
180
186
237
252
237
174
111
111
182
245
238
243
255
254
244
235
232
218
209
199
187
176
164
150
126
115
104
94
87
78
74
65
63
60
56
52
47
47
49
56
59
60
61
63
64
67
65
67
72
77
78
76
74
64
61
59
59
59
60
63
64
61
59
57
55
55
54
52
50
49
48
38
42
46
46
54
59
60
66
63
56
51
44
40
37
42
40
37
38
43
50
51
56
61
69
73
79
76
70
60
62
62
60
59
67
72
83
85
84
75
58
40
16
11
47
82
93
83
64
83
94
98
76
49
57
69
58
48
32
13
5
8
17
49
59
61
65
63
48
31
21
25
24
24
28
33
36
34
28
30
31
28
24
22
21
26
27
28
29
189
199
211
222
247
252
252
249
253
250
239
233
224
214
193
149
116
113
125
130
131
132
126
119
118
122
83
51
40
42
45
45
44
46
46
50
55
61
65
68
70
72
66
62
62
67
66
44
38
31
29
29
31
32
32
41
44
48
53
57
57
56
57
60
58
56
55
57
58
57
65
66
68
69
71
72
74
71
71
70
70
71
71
69
62
62
61
59
55
50
45
36
32
27
23
22
22
23
27
29
30
29
29
29
32
33
44
47
48
48
48
49
50
50
48
45
41
44
50
56
58
56
52
48
45
43
44
29
25
24
24
22
21
21
21
62
85
109
133
157
172
183
231
255
249
196
130
104
145
212
229
227
242
241
217
225
223
211
203
192
180
168
157
140
111
101
91
79
71
65
61
54
50
49
49
50
50
54
58
59
60
62
65
68
71
72
65
62
62
63
64
62
59
58
57
56
55
54
55
57
59
60
61
62
62
62
62
61
61
60
60
48
51
53
51
52
60
65
71
65
60
61
58
55
54
61
58
52
46
44
45
45
48
52
56
63
69
74
75
77
73
69
71
78
92
95
90
91
88
84
84
78
29
26
42
80
104
82
46
42
57
72
81
67
60
88
69
30
17
9
8
6
6
27
54
60
63
61
57
50
31
24
20
18
25
29
30
28
25
27
28
27
27
25
27
28
29
31
32
188
196
209
218
238
243
243
246
251
247
239
232
222
209
184
148
122
120
121
125
127
129
126
119
113
110
76
51
43
42
42
42
42
44
44
47
52
57
59
59
61
62
61
59
60
61
55
34
33
28
26
26
27
27
28
38
43
48
52
56
57
57
56
59
56
53
53
54
57
58
65
66
67
69
70
72
74
70
71
70
70
71
71
71
67
65
61
55
49
43
38
34
30
26
22
22
25
25
28
30
31
31
32
33
36
38
47
51
52
52
52
53
55
48
47
46
46
48
52
55
54
55
51
47
43
40
37
25
22
23
22
20
19
17
19
55
77
99
123
146
163
186
226
253
245
201
141
113
135
191
222
223
233
232
217
223
222
209
198
186
174
161
148
132
102
92
83
71
64
57
55
49
46
45
46
45
49
53
57
61
62
67
69
74
77
78
75
71
71
72
68
64
62
62
61
60
59
55
54
52
52
54
55
55
55
55
55
55
55
55
55
50
52
53
54
57
63
66
59
57
56
58
57
56
56
69
65
62
58
55
52
52
53
52
54
57
61
65
67
75
74
70
65
64
78
86
89
89
85
82
86
90
65
37
47
78
101
83
49
37
47
63
79
71
59
73
55
23
14
9
9
9
7
23
45
54
61
63
61
55
36
20
18
20
23
26
24
25
24
24
25
26
24
25
26
29
30
32
33
180
190
200
208
224
229
232
229
228
226
222
209
192
178
156
130
116
119
109
108
109
110
109
103
92
88
81
72
51
44
37
34
38
38
36
37
39
44
49
52
55
56
54
54
53
48
39
27
27
28
25
24
24
25
26
38
42
46
51
55
55
55
53
53
49
45
44
48
53
60
61
63
65
66
68
68
68
65
66
66
66
68
70
69
60
57
55
50
45
38
35
28
26
22
23
23
26
26
26
27
29
31
32
36
41
45
51
54
56
57
58
60
61
50
48
49
53
55
51
47
42
39
37
34
30
26
24
20
17
18
17
15
10
7
10
33
50
70
96
120
137
169
189
202
206
191
158
134
123
143
206
209
205
208
214
215
212
196
184
169
156
142
125
110
82
70
61
53
47
45
44
42
42
43
45
45
51
54
59
69
73
76
78
81
82
84
84
83
82
82
80
78
79
83
84
83
81
78
71
62
57
58
57
57
59
60
59
60
58
60
59
61
61
61
63
62
58
54
59
61
66
69
63
63
68
75
75
74
73
72
69
68
69
68
66
64
65
68
70
81
85
86
77
64
58
62
78
85
89
93
97
102
102
91
84
88
90
67
43
42
36
50
75
86
69
50
45
19
14
10
13
13
12
17
23
37
54
64
66
64
54
23
20
17
18
18
17
18
18
19
20
20
21
24
28
29
30
31
33
168
178
188
194
206
216
219
223
220
216
210
188
175
166
154
129
119
128
130
130
129
124
114
98
86
87
84
72
58
52
44
39
37
36
35
37
37
36
35
36
34
32
31
29
24
22
25
23
16
24
22
23
25
25
25
34
36
40
45
48
46
46
46
42
41
37
37
40
46
51
52
53
58
60
59
59
57
53
52
54
56
59
62
62
55
56
56
55
48
39
30
24
23
22
21
23
24
24
25
25
25
25
26
30
36
40
45
49
52
54
56
58
60
54
49
50
51
50
45
40
35
26
22
22
24
26
26
24
21
21
19
14
8
1
0
10
23
39
63
84
96
136
143
148
164
173
164
138
114
111
190
189
175
183
202
197
195
178
165
150
135
123
105
92
65
55
46
42
39
36
36
39
40
44
45
47
59
59
62
72
75
76
75
79
78
79
82
81
79
77
69
67
67
73
79
80
82
85
82
78
71
64
62
61
68
68
68
67
64
64
63
80
83
87
92
91
90
87
81
78
78
79
69
66
68
70
69
66
64
64
68
70
67
68
69
72
72
74
74
75
78
84
90
89
67
55
54
54
53
50
49
54
69
92
100
116
113
79
45
41
42
43
60
83
85
64
52
37
29
20
14
15
17
18
16
22
35
49
57
59
58
50
33
16
12
14
16
15
16
18
21
22
25
26
28
25
26
28
29
163
173
180
182
186
193
198
203
200
197
189
167
160
157
135
117
115
128
127
129
132
131
122
105
91
87
81
69
60
56
50
44
39
37
36
40
39
35
33
32
28
25
23
25
24
21
21
23
19
19
19
21
24
24
23
30
32
36
40
44
42
42
40
37
35
34
35
38
42
46
48
49
54
55
55
54
51
47
47
49
51
54
58
57
51
52
52
49
45
39
31
24
23
22
21
23
23
23
24
24
23
22
22
25
30
34
40
44
48
50
52
54
56
51
47
48
49
48
45
43
35
29
26
27
30
31
29
29
26
26
22
16
8
2
0
3
11
27
43
62
72
121
121
120
141
159
158
133
106
101
185
177
163
173
193
185
183
167
154
140
126
112
97
84
60
49
42
39
37
39
39
44
46
49
51
52
60
60
61
68
70
69
67
74
72
71
75
75
71
68
60
58
56
65
71
76
77
79
81
82
76
63
61
63
69
69
70
70
69
70
70
97
103
106
108
104
102
103
93
88
86
87
83
81
81
76
75
76
74
72
69
68
70
68
68
68
70
76
76
75
77
81
87
92
81
75
75
71
64
55
46
41
44
78
89
109
110
80
49
46
48
45
55
83
98
78
49
41
35
24
18
16
18
13
14
15
24
36
50
56
58
61
43
23
13
10
11
13
16
20
23
25
27
27
27
22
23
25
26
174
169
166
160
144
144
147
140
144
143
143
147
134
125
116
118
121
124
131
136
140
126
130
128
111
93
79
62
59
67
65
52
44
45
40
39
40
38
36
34
31
30
28
27
26
25
24
22
22
21
22
23
23
23
24
29
24
28
31
34
37
38
39
34
35
33
32
30
32
43
49
51
52
53
51
50
48
37
34
32
39
44
45
45
47
51
53
53
51
46
41
34
32
27
23
20
18
17
18
21
21
16
10
9
12
16
20
23
24
27
29
33
36
45
45
46
46
43
39
38
36
39
46
48
45
47
51
40
37
34
28
21
14
8
4
0
0
0
0
0
2
45
66
78
87
93
98
95
111
111
99
105
125
144
149
148
144
128
119
109
102
94
77
68
47
46
47
50
53
45
45
47
49
51
53
55
56
60
65
70
70
68
67
63
61
57
56
55
53
52
63
62
61
59
67
80
91
88
92
96
94
95
90
83
94
97
98
101
108
114
118
116
118
118
115
109
111
113
113
110
106
104
98
93
90
82
79
77
74
72
71
72
67
67
67
66
63
59
58
70
71
73
77
82
79
76
81
83
84
82
80
78
81
63
72
84
87
81
86
95
74
75
93
121
132
110
49
60
58
49
34
19
12
19
18
13
11
18
31
44
53
59
51
40
26
13
9
14
27
31
32
31
30
31
27
16
16
16
16
184
176
168
166
148
137
131
114
114
108
108
104
112
127
123
122
120
117
115
117
119
123
126
122
100
76
73
68
71
70
64
55
51
50
45
41
40
40
38
35
31
30
27
26
26
24
23
21
20
21
21
22
21
21
22
26
24
26
29
31
35
35
35
30
30
26
24
23
28
40
48
49
51
53
53
51
46
41
36
30
28
28
29
34
43
43
43
42
42
41
41
36
33
30
26
22
18
12
9
8
5
4
3
2
3
5
11
15
17
20
21
25
28
43
47
50
49
48
46
44
43
49
56
61
65
66
71
63
53
48
45
38
26
17
6
0
0
0
0
0
1
25
43
57
65
68
60
51
72
94
95
86
97
112
117
113
112
101
93
83
76
68
61
56
52
52
53
54
55
59
60
62
62
62
64
65
54
58
62
61
57
51
46
41
43
44
43
45
50
55
63
66
73
82
91
100
108
123
124
122
118
115
112
107
109
108
106
106
105
100
95
103
103
101
99
91
87
85
78
75
73
73
73
70
67
57
56
52
53
56
66
70
71
75
76
76
70
58
54
57
55
53
55
60
71
74
69
72
74
73
70
67
67
69
54
52
68
95
115
93
70
77
95
120
128
113
73
64
62
61
56
50
38
16
13
11
8
5
9
22
39
51
56
58
45
27
13
12
24
28
29
29
27
27
24
19
18
17
16
185
179
173
167
150
142
137
122
115
102
98
97
108
128
120
120
118
116
114
116
118
117
121
117
95
70
69
68
74
70
62
55
53
51
47
42
41
40
39
37
33
32
27
27
26
25
24
20
19
20
21
21
21
20
20
25
24
25
28
31
32
33
33
30
28
26
22
22
28
39
47
49
51
54
55
51
46
37
32
27
25
23
24
28
37
37
39
40
41
41
42
35
33
31
27
23
18
12
7
5
1
2
5
7
9
10
17
19
21
24
25
29
32
43
46
49
50
49
48
49
50
56
65
70
74
77
78
70
58
54
49
40
28
16
8
2
3
0
0
0
2
11
25
38
48
50
45
33
41
74
90
77
82
94
101
87
86
76
70
64
56
50
50
50
53
55
54
54
53
60
60
61
60
61
60
61
58
60
63
59
52
43
39
36
44
53
62
69
78
85
110
111
115
119
121
123
125
128
124
119
111
101
96
92
100
95
90
90
90
87
82
93
92
89
86
74
69
64
62
60
58
57
59
58
56
46
46
42
44
46
59
64
68
71
74
75
73
60
54
51
51
50
52
56
66
69
65
66
67
64
59
54
46
45
47
64
94
114
115
67
59
62
77
95
101
96
81
67
59
51
46
44
42
35
23
22
16
10
8
16
35
46
55
59
53
37
23
13
22
25
27
25
24
23
22
19
18
16
14
189
188
186
176
150
152
159
136
125
104
88
84
89
97
116
118
119
118
113
113
113
117
111
104
89
73
72
67
66
63
59
56
53
51
49
45
45
43
41
38
36
35
30
30
31
30
28
22
20
21
22
22
21
19
20
23
23
26
28
30
31
30
29
29
26
23
24
27
31
37
42
48
55
57
53
50
51
33
26
22
23
24
23
22
17
21
28
32
34
33
30
29
27
24
22
19
15
11
0
0
2
5
10
16
21
25
27
29
31
31
32
34
36
38
42
44
43
45
49
52
65
71
74
78
82
81
80
83
72
64
53
40
28
19
12
9
10
10
8
9
11
6
10
17
26
32
35
32
24
46
84
72
57
55
60
46
45
39
37
36
36
35
41
43
52
56
57
57
56
69
68
66
65
62
60
59
58
57
58
76
90
104
112
136
141
147
144
140
139
138
118
116
114
105
100
96
94
83
82
83
90
101
102
106
101
95
85
78
77
77
76
83
80
75
72
69
65
60
56
51
46
45
45
44
43
40
37
36
36
37
49
52
60
61
60
58
54
44
40
32
38
48
56
61
66
68
67
64
60
56
52
46
35
43
49
64
68
54
44
45
51
49
49
50
56
63
78
70
71
69
63
53
41
30
37
33
25
19
17
20
27
36
44
50
53
54
47
32
17
20
23
23
23
25
23
19
18
16
15
209
204
197
188
158
148
143
136
146
132
101
85
87
87
91
97
105
111
114
114
114
109
88
68
56
52
60
53
57
58
61
61
57
51
53
46
45
44
42
40
36
35
34
34
35
35
32
25
22
22
23
23
21
20
20
24
25
28
30
31
32
30
27
25
23
22
25
29
32
32
38
50
60
59
51
49
56
51
35
19
16
20
21
20
8
9
10
12
14
18
20
21
19
15
13
14
14
14
14
18
21
21
21
26
33
40
41
41
40
40
39
39
41
36
35
34
32
36
43
50
66
71
73
78
83
82
77
75
71
59
42
26
16
12
14
14
18
19
17
18
20
16
25
27
29
32
36
38
32
32
84
85
57
42
49
39
38
34
37
41
47
52
57
60
64
67
70
71
71
92
97
118
129
139
146
150
155
157
155
143
134
125
120
124
118
113
103
101
97
96
91
87
82
77
75
75
74
62
59
67
80
97
103
109
114
116
117
118
119
123
124
127
117
106
93
78
69
60
62
56
49
44
39
37
37
36
36
37
38
40
48
52
58
58
58
60
62
71
73
58
62
67
69
67
69
71
66
63
62
64
67
68
65
61
38
24
24
28
32
33
42
43
43
43
42
41
29
23
44
67
75
66
52
47
38
31
25
31
39
41
35
31
46
57
61
62
62
56
16
22
25
26
28
31
31
25
24
23
22
218
215
209
203
175
154
139
137
141
146
122
87
96
83
73
79
88
93
90
89
88
75
72
67
62
59
58
59
63
61
60
59
58
52
48
47
42
42
42
38
37
31
35
36
38
38
36
30
27
25
24
23
21
21
21
22
30
30
31
33
33
32
27
26
20
20
30
41
33
24
39
49
55
53
53
57
61
71
33
19
22
14
12
17
0
2
5
6
6
8
13
16
16
15
13
13
14
14
18
22
26
28
29
33
38
42
46
44
43
42
40
39
38
23
18
21
25
32
41
50
62
69
72
74
75
73
68
76
61
49
36
26
18
14
21
17
18
22
24
25
24
24
31
33
37
42
47
48
37
47
66
88
76
46
40
36
43
41
41
50
56
58
58
67
89
96
108
123
137
147
149
156
157
154
150
145
135
129
127
116
103
96
95
100
99
96
87
81
75
72
72
74
75
71
73
77
81
64
64
66
73
99
112
121
127
131
133
133
145
149
149
150
140
125
113
92
77
65
64
55
47
43
43
41
40
38
40
43
42
43
53
57
57
60
60
57
63
79
78
67
64
60
57
58
62
60
53
57
57
58
62
64
50
37
29
20
19
25
31
33
37
39
41
41
38
35
29
20
26
34
41
41
39
39
38
37
37
38
36
32
29
26
38
53
61
65
65
60
30
27
26
31
30
27
28
20
25
31
36
230
224
221
215
196
178
165
136
134
140
135
98
101
97
92
79
65
61
71
69
65
66
66
64
63
61
59
59
65
63
61
60
58
52
50
45
40
41
41
36
36
30
36
37
38
38
37
33
31
32
31
29
28
27
27
27
31
31
32
33
34
33
29
31
26
23
27
33
28
29
35
42
50
55
62
66
64
68
34
18
20
15
15
15
2
4
5
4
3
4
5
6
6
7
8
12
15
18
28
32
37
40
42
45
50
54
50
50
48
41
33
24
19
9
11
17
24
27
31
36
55
61
65
66
67
66
61
60
43
32
23
18
15
14
12
27
29
27
27
33
40
35
49
55
57
57
55
53
54
53
69
94
89
62
50
66
77
97
106
122
138
149
165
166
166
161
155
149
145
126
121
105
99
94
91
88
80
76
71
65
62
63
66
63
64
65
67
65
64
65
68
67
69
77
85
89
93
80
81
84
88
110
126
139
148
156
165
170
183
186
183
181
170
157
144
115
96
82
62
55
48
43
43
41
41
52
52
53
53
52
57
60
56
56
55
54
57
63
61
51
52
53
51
49
47
47
58
62
64
57
50
43
36
35
37
37
33
29
28
33
40
41
40
40
38
36
30
17
16
16
13
10
9
14
12
15
24
33
37
35
33
34
35
34
31
33
36
35
21
19
22
30
36
37
35
30
35
40
44
236
231
227
225
210
198
188
165
150
139
129
96
94
99
104
95
81
70
63
64
65
66
67
69
70
70
68
66
67
64
60
57
54
49
46
45
39
38
37
32
35
31
37
37
38
38
38
36
36
34
33
31
29
28
27
27
31
30
29
30
32
32
31
23
28
28
32
36
38
52
58
52
47
51
60
68
73
64
45
33
35
39
36
30
19
18
15
12
9
4
0
0
0
2
6
11
17
23
32
37
40
43
45
48
53
57
53
48
43
37
30
25
22
5
3
7
11
16
22
28
43
46
48
51
52
49
46
40
27
19
17
17
20
23
28
33
36
41
44
46
46
53
54
55
59
65
72
79
102
111
118
110
99
96
102
140
147
154
146
136
128
125
110
108
103
101
94
83
74
66
63
56
54
51
49
47
55
60
65
75
78
80
80
72
71
70
63
58
56
57
61
64
67
90
102
111
113
112
115
119
121
136
151
161
169
170
169
169
176
180
178
174
167
155
140
104
84
71
60
56
54
52
52
53
54
55
55
53
52
53
50
50
54
53
51
52
54
49
49
48
46
45
44
47
66
74
72
59
44
40
40
43
41
46
43
43
44
44
42
31
37
34
32
31
32
30
24
19
18
16
14
13
11
9
10
8
8
12
14
14
17
43
40
35
28
26
30
31
35
31
26
22
22
22
20
9
12
16
18
239
234
230
226
215
202
192
171
156
137
123
98
98
104
100
96
88
77
62
63
67
68
69
71
72
73
71
70
69
65
61
56
53
48
46
45
39
37
36
31
35
31
36
36
37
37
37
37
37
34
33
31
29
27
26
26
28
27
28
28
30
31
29
26
35
41
43
45
46
62
70
61
55
57
62
67
70
54
46
41
43
48
46
36
31
29
25
20
15
8
3
0
1
2
5
11
19
25
34
39
43
46
47
48
52
57
48
45
39
35
29
26
25
11
8
9
13
16
21
28
37
40
42
43
45
44
40
35
25
21
19
22
27
30
38
37
40
46
53
55
55
64
74
82
93
109
124
135
149
159
159
132
104
95
96
116
113
116
115
111
109
108
106
97
78
70
62
55
48
47
48
51
55
57
56
56
57
64
69
78
80
77
74
72
71
69
61
57
55
57
58
65
75
101
112
123
127
134
137
139
143
155
165
171
179
176
173
167
171
173
171
166
160
148
134
96
79
66
60
59
61
63
63
66
67
67
64
61
58
55
46
43
42
39
38
41
43
40
41
41
41
42
49
59
77
80
60
42
26
22
28
36
39
49
46
43
46
49
49
33
35
30
27
27
27
27
19
16
15
14
14
14
13
7
13
9
7
7
7
5
8
26
28
26
21
22
30
37
52
51
45
36
30
26
22
10
13
16
18
244
240
233
229
218
205
196
177
168
144
121
107
101
99
103
98
90
82
73
74
75
71
71
71
72
72
72
73
73
69
65
60
57
51
49
45
38
37
35
30
33
31
35
35
35
35
36
38
39
36
35
33
30
29
28
27
26
25
24
24
27
28
29
26
44
51
48
42
38
44
54
53
56
62
60
48
39
48
54
59
63
69
64
54
48
44
38
34
28
19
8
4
4
5
7
12
19
26
44
48
52
53
52
55
57
60
55
55
53
49
42
36
32
25
24
28
28
26
25
26
36
38
37
40
43
41
38
31
27
27
28
32
39
42
63
84
94
108
124
142
156
155
163
164
158
150
143
141
150
139
126
114
107
103
97
90
83
91
96
92
81
74
63
61
58
53
45
38
33
55
52
49
50
53
55
57
62
69
76
81
85
84
79
73
72
67
54
45
41
43
62
76
92
119
132
143
150
168
168
170
173
187
188
186
178
175
173
168
165
163
159
153
147
134
119
85
71
62
59
63
72
78
82
84
87
94
91
91
90
91
84
80
79
69
62
58
52
36
37
39
45
57
71
79
51
34
26
17
10
11
16
18
32
42
46
52
53
51
49
46
34
28
24
22
25
24
17
20
16
11
9
9
10
5
7
4
5
8
7
6
6
15
19
15
7
4
16
34
43
52
58
48
35
26
19
28
30
32
33
246
242
237
230
216
208
202
184
164
155
148
118
118
113
104
93
86
84
77
79
85
82
78
74
74
71
66
69
72
71
67
60
56
52
48
45
42
39
36
33
29
29
33
32
31
33
34
34
35
34
33
31
28
26
25
24
19
20
21
22
24
26
28
30
36
41
41
41
42
41
39
32
28
29
32
36
41
56
63
71
77
85
90
87
73
67
59
52
47
39
30
17
22
27
33
44
64
89
58
69
76
79
75
63
56
59
50
52
55
55
50
46
46
38
34
31
30
33
35
38
50
56
56
51
43
40
39
60
88
109
129
147
158
163
157
159
156
153
146
139
135
126
114
108
102
98
92
89
95
87
85
83
82
90
103
99
78
72
79
76
68
67
63
63
61
61
59
58
58
60
61
63
65
68
74
77
78
79
80
82
79
75
71
69
61
52
37
32
35
44
57
73
92
130
146
159
166
167
168
173
180
197
199
192
181
170
161
156
154
153
152
132
128
117
105
79
70
63
66
72
80
86
93
99
101
94
94
94
94
93
92
92
90
91
92
90
88
85
80
76
79
87
94
91
72
70
63
56
50
49
45
39
41
41
43
46
48
49
50
49
47
39
33
29
29
27
20
9
8
8
7
6
6
5
11
11
12
13
14
15
16
14
13
14
15
14
16
26
51
53
55
53
43
29
14
5
5
7
11
244
242
237
231
219
211
205
188
173
165
161
129
123
116
113
100
90
87
84
86
90
85
79
75
73
72
70
72
72
71
66
59
55
50
46
44
42
39
36
32
28
28
34
33
32
33
34
33
34
33
31
29
26
23
21
20
17
18
19
20
22
24
27
30
36
39
38
39
40
40
36
30
25
26
27
31
36
54
61
70
78
88
93
92
78
72
64
57
52
45
38
34
39
42
43
48
66
94
31
33
75
95
65
59
75
67
54
58
61
58
52
50
50
40
39
38
39
42
45
47
49
45
45
52
69
90
105
128
148
160
164
162
157
152
145
141
137
133
129
126
124
103
95
92
88
85
80
77
85
79
81
80
79
86
96
103
88
63
68
71
67
60
64
63
56
53
53
53
53
53
56
66
69
73
78
80
79
78
78
78
75
71
67
58
49
42
36
36
40
47
58
73
91
126
140
152
159
168
169
169
174
185
186
181
166
155
145
139
139
137
136
119
116
109
104
82
68
58
58
64
71
75
82
86
91
86
87
88
90
92
94
94
93
96
97
97
97
94
86
82
85
92
99
100
95
96
95
92
90
88
84
76
71
74
77
80
83
85
84
81
82
78
72
69
67
64
54
43
41
36
30
24
18
11
14
13
13
12
11
10
9
13
12
12
14
15
16
22
43
49
52
50
47
40
22
0
0
0
1
237
236
233
229
222
215
209
200
191
183
180
144
122
113
121
116
107
98
86
92
99
92
90
87
85
88
92
91
81
75
63
53
49
48
44
42
42
40
38
35
30
28
35
33
32
32
33
30
31
29
27
24
20
17
14
12
13
14
16
19
23
29
36
38
44
48
49
50
48
34
29
24
19
19
18
20
25
45
54
64
71
80
87
90
85
79
70
61
53
47
42
42
47
54
61
66
66
65
126
149
97
49
82
96
72
74
62
61
61
58
52
48
49
50
47
45
46
51
56
61
108
130
147
158
161
157
154
148
137
129
123
119
118
117
107
106
103
100
96
92
90
93
90
91
90
90
88
86
80
78
77
77
76
76
79
91
94
64
57
67
68
60
58
55
43
40
41
43
45
56
60
72
75
76
76
77
80
77
74
70
66
62
59
44
39
37
40
41
46
54
65
77
90
116
126
135
141
162
161
162
163
162
155
145
130
117
107
100
94
92
90
84
83
80
84
83
76
69
53
46
39
42
52
49
44
41
43
47
52
57
66
69
76
76
76
80
89
96
91
81
87
95
99
102
102
101
100
102
103
104
105
107
106
104
106
109
112
113
112
110
108
108
107
106
105
103
96
88
87
86
84
81
79
77
70
68
65
60
56
51
48
36
35
33
32
32
31
27
23
39
50
48
46
46
34
8
4
3
7
234
231
230
230
225
220
217
212
208
197
190
161
134
128
128
118
105
94
89
86
82
96
103
107
100
94
93
93
91
86
78
71
67
53
42
45
45
44
43
40
34
33
34
32
30
30
30
26
26
24
22
20
17
13
11
9
18
22
25
33
41
53
66
69
70
68
65
64
60
46
35
31
26
23
20
19
24
44
52
61
66
69
73
77
73
68
60
51
44
41
41
52
55
59
65
71
76
79
88
49
107
178
137
74
70
78
72
61
57
56
51
46
43
54
66
83
106
129
148
160
143
142
137
127
110
93
82
76
80
82
87
90
94
95
102
102
99
96
93
88
86
103
97
93
89
83
76
72
65
63
56
56
56
56
55
61
82
79
60
51
51
53
46
42
32
32
38
45
50
62
66
73
74
73
73
74
72
69
63
56
53
49
47
43
46
51
53
55
61
74
84
92
101
113
116
121
123
149
148
149
151
154
148
138
123
107
90
76
54
46
41
51
56
63
70
78
76
75
71
62
51
43
34
29
25
27
30
31
33
35
38
38
39
42
48
59
72
67
53
47
55
62
64
68
75
73
81
86
88
87
89
92
88
97
98
98
98
99
100
102
104
107
110
111
110
106
101
95
94
92
89
86
83
80
83
83
82
81
80
79
79
75
79
80
76
74
74
72
61
61
63
66
65
58
48
19
12
8
10
233
232
230
229
228
225
221
218
213
201
195
168
142
137
138
123
106
96
98
89
78
88
101
107
102
94
97
97
81
80
78
76
76
59
46
48
46
46
45
42
36
35
34
32
30
29
29
25
25
23
21
19
16
13
11
10
23
25
31
40
50
62
77
82
80
74
68
65
63
53
39
35
31
27
23
21
27
41
48
57
59
61
64
66
66
62
55
47
41
40
42
45
53
64
72
76
81
87
73
76
63
108
181
154
90
89
84
66
58
54
48
40
35
76
106
135
152
156
150
145
125
102
81
66
61
64
65
76
76
80
83
90
96
98
93
92
93
96
97
98
99
95
89
86
83
76
70
65
60
59
52
51
54
54
53
51
75
85
60
44
42
46
42
37
27
31
38
46
52
61
65
72
73
74
74
75
67
64
58
51
48
45
43
44
51
60
62
64
74
86
95
100
107
113
114
116
117
139
139
138
142
150
149
141
120
104
87
73
50
44
39
42
51
61
71
76
75
73
74
69
59
46
24
23
23
26
27
29
34
36
40
42
37
40
47
57
69
48
29
27
34
37
34
36
44
43
46
53
58
59
60
65
58
67
65
64
66
66
68
72
76
80
86
89
92
91
89
74
75
76
78
80
82
85
87
86
85
83
81
80
78
75
82
84
80
78
80
79
76
67
65
73
78
72
61
47
39
34
35
224
225
226
227
228
228
226
227
218
211
207
183
156
138
148
140
133
125
98
89
88
97
99
101
98
95
92
93
92
90
89
87
80
67
66
61
47
55
48
43
37
37
36
30
25
25
25
18
19
18
15
14
13
11
9
16
30
39
49
61
72
84
98
100
101
97
89
84
77
59
46
41
34
29
26
24
24
31
36
42
51
57
59
60
54
50
46
41
35
32
35
50
57
66
73
76
80
84
75
82
88
73
63
92
149
191
69
76
80
48
43
85
117
140
141
131
117
103
86
71
50
42
42
43
45
49
53
62
70
76
80
84
86
89
89
92
93
92
93
89
84
87
75
68
61
54
46
42
35
35
37
42
48
53
56
52
56
90
84
59
39
36
37
38
45
51
56
59
60
64
64
68
68
67
62
60
54
52
48
41
42
43
45
60
65
73
87
93
101
107
112
119
120
116
117
114
112
125
124
126
130
138
130
120
110
94
76
61
43
38
35
49
47
45
48
65
70
73
71
68
64
61
38
24
18
18
20
22
23
23
25
26
30
31
33
38
36
32
34
30
32
33
30
27
24
24
27
26
22
22
22
19
13
14
11
9
9
9
10
26
37
40
44
49
51
51
50
30
26
23
22
25
27
27
33
35
38
42
45
48
50
54
56
59
63
65
66
66
66
64
62
62
65
68
68
65
65
63
58
214
216
219
224
227
227
227
221
219
214
207
174
146
126
128
125
126
130
119
99
82
94
100
104
105
103
102
104
104
100
97
100
98
88
86
79
69
79
70
65
55
52
39
32
26
26
25
17
18
16
11
9
8
6
6
18
36
44
56
70
83
97
112
116
116
111
103
95
86
65
54
47
36
28
23
22
23
22
25
32
37
43
46
48
50
46
42
37
30
26
29
38
47
59
70
76
80
84
88
78
71
79
82
59
44
54
150
125
69
35
93
152
143
100
79
70
67
63
59
58
54
52
51
49
47
49
53
53
58
62
65
71
76
79
82
84
80
80
78
73
67
71
57
49
40
33
24
20
23
23
32
38
44
49
51
50
52
69
82
81
58
33
51
56
63
61
62
63
65
67
65
63
61
55
49
45
41
40
41
44
45
47
46
67
71
80
99
108
116
122
129
129
126
113
111
108
107
116
114
114
117
118
114
105
97
84
72
63
51
47
45
51
49
47
43
42
49
55
62
66
65
57
58
52
41
24
18
12
10
14
20
20
18
18
18
21
21
26
31
24
25
26
26
26
23
21
20
19
16
15
14
12
6
7
4
1
1
2
1
10
19
25
31
38
42
45
43
40
35
26
19
14
13
14
13
11
9
7
7
8
10
8
8
10
13
17
20
23
26
27
29
30
29
34
45
65
68
69
66
207
209
215
219
227
228
227
221
220
215
202
165
139
120
123
123
122
124
125
107
86
86
96
105
109
107
115
122
119
110
105
107
111
100
94
87
81
93
85
80
68
62
40
33
27
27
25
16
17
14
10
7
6
4
4
16
35
43
55
70
84
96
114
118
118
113
104
96
87
64
52
45
35
26
22
21
22
24
28
32
37
40
42
44
49
44
39
33
25
20
22
32
41
55
66
74
79
84
85
86
90
87
76
74
69
51
133
162
111
67
50
69
117
76
61
60
64
66
66
69
52
46
47
48
45
41
40
48
54
57
61
66
71
75
80
80
75
74
71
64
58
61
47
39
32
24
18
14
17
18
30
37
43
48
50
49
50
54
73
83
68
42
58
61
65
62
62
66
68
68
66
60
55
49
42
39
41
41
43
44
45
45
46
67
72
81
100
110
119
123
127
127
124
108
105
103
100
113
111
111
113
112
108
100
92
83
72
66
58
54
51
54
50
46
44
42
42
40
48
59
63
57
60
59
54
41
32
18
8
7
15
18
11
10
11
13
14
22
28
21
21
22
23
24
22
20
18
17
15
14
13
10
4
6
4
2
3
3
2
7
10
15
24
32
38
41
45
37
33
26
19
13
10
11
13
11
7
5
4
4
6
2
2
3
5
7
9
11
11
12
14
15
13
16
29
52
58
61
59
187
193
199
207
217
217
217
217
215
203
180
152
139
126
127
130
125
119
122
105
82
74
78
84
95
108
131
136
153
145
138
134
129
122
122
114
105
109
94
84
82
76
41
34
27
26
24
14
15
11
8
7
6
4
1
9
27
35
48
61
75
89
104
105
105
102
94
85
75
51
41
36
29
22
20
19
19
21
22
25
27
27
29
29
29
26
25
23
20
19
25
37
44
55
64
70
75
81
104
90
80
80
79
63
56
63
126
138
154
165
125
69
55
68
70
65
63
63
60
53
51
48
46
43
39
37
39
43
52
57
61
64
68
71
73
71
66
62
56
48
41
30
20
15
11
9
6
5
8
12
29
38
45
47
49
45
46
49
62
75
77
71
51
55
62
64
65
62
59
56
52
41
39
38
37
36
38
38
38
37
39
40
41
58
63
69
88
98
107
111
119
120
118
102
97
93
87
113
113
115
113
110
107
102
95
89
83
80
75
71
67
53
50
46
44
40
33
27
27
30
40
52
56
54
55
61
56
46
33
19
3
0
2
0
1
2
4
10
16
16
16
16
18
21
19
16
16
14
11
9
9
5
0
3
0
0
0
2
2
1
1
4
10
15
23
29
36
34
36
36
32
25
18
11
3
2
1
0
1
2
4
4
6
8
10
11
11
11
11
8
7
8
4
1
12
35
44
51
52
162
173
183
188
194
201
204
203
186
170
157
144
141
133
132
128
125
126
112
93
78
70
74
81
89
96
106
114
125
130
153
165
146
131
152
136
114
116
109
85
98
72
55
46
37
32
32
28
10
12
9
7
4
4
7
8
11
17
26
34
44
54
73
75
75
75
73
68
61
50
39
35
28
21
17
13
11
9
11
11
11
12
12
13
21
21
25
30
35
38
48
59
58
61
62
64
64
65
64
61
65
64
54
64
99
132
104
98
75
43
78
135
139
37
42
74
68
55
66
54
45
36
32
31
32
36
36
59
72
74
71
68
65
64
59
55
51
42
29
16
7
1
4
8
11
11
11
8
13
12
22
28
33
35
37
40
51
67
67
71
81
90
70
51
59
63
51
44
48
28
27
29
33
37
36
34
36
36
35
32
29
25
22
39
44
54
74
86
97
102
106
105
103
94
91
89
85
93
92
91
90
91
94
95
100
94
89
86
80
70
62
57
52
46
38
33
32
30
31
27
24
23
40
54
62
55
59
58
54
51
27
6
0
0
0
0
0
0
5
8
10
13
17
18
16
15
16
14
11
9
9
9
7
0
0
0
1
5
13
22
23
20
19
15
13
15
21
30
34
38
38
37
30
9
1
0
1
0
0
0
0
0
1
3
6
10
11
13
17
16
10
8
9
12
16
25
34
43
47
157
161
164
164
172
175
174
172
160
149
142
137
141
136
136
133
128
126
108
92
80
85
77
70
72
79
105
114
124
125
143
158
153
149
157
136
117
119
111
86
104
88
60
51
46
39
29
31
28
19
14
11
7
5
7
7
11
16
23
30
38
48
64
68
69
69
67
63
57
47
37
32
25
19
15
14
11
10
10
11
12
14
15
16
24
25
28
35
41
46
56
69
68
70
71
71
71
70
65
65
63
58
64
92
121
131
90
52
41
40
45
85
136
52
35
56
64
64
51
52
43
39
38
39
41
44
46
66
69
68
66
63
60
59
52
44
38
30
21
11
4
1
3
7
8
9
9
7
6
8
17
19
24
34
40
49
57
69
67
69
78
86
84
61
49
53
46
37
36
27
27
30
32
34
34
33
34
35
34
32
30
27
24
28
36
48
75
92
105
112
111
110
109
97
95
91
88
93
90
88
87
90
92
93
96
92
86
84
76
67
61
55
51
43
39
34
33
30
31
27
23
21
31
41
47
53
59
60
55
53
44
34
19
9
0
0
0
3
12
12
14
17
19
20
17
15
15
12
10
8
9
9
7
0
2
5
8
15
23
34
33
29
25
20
15
15
18
31
36
39
37
35
31
19
7
4
2
1
2
1
1
0
2
3
8
10
11
13
16
15
10
8
9
11
16
19
27
37
43
162
157
148
135
125
121
117
119
119
123
124
116
119
117
117
116
113
105
91
86
84
90
90
93
103
109
113
114
129
144
163
167
158
161
158
143
133
138
134
116
124
113
51
35
33
43
44
30
28
32
29
22
18
15
15
13
17
19
22
26
30
34
40
47
48
48
48
46
42
36
33
29
24
20
18
17
16
17
19
19
20
21
23
23
27
28
34
45
57
67
79
90
91
90
89
85
79
71
63
56
52
66
102
137
128
90
39
42
52
42
48
56
37
145
145
85
49
45
57
44
48
53
56
58
59
60
61
58
54
56
58
59
57
54
48
36
29
23
19
15
13
1
1
2
2
3
2
0
0
0
0
6
20
38
51
58
62
64
60
59
63
66
91
75
34
30
35
35
30
26
30
34
31
28
28
29
27
27
26
24
22
18
14
20
29
44
81
102
118
127
133
131
128
112
107
100
95
86
82
78
76
80
83
87
87
84
79
74
62
52
47
45
44
41
40
36
32
29
28
27
23
19
14
13
15
27
39
53
58
63
62
58
59
52
42
31
21
10
9
14
16
20
22
22
19
15
10
8
6
5
6
7
6
2
3
10
22
34
46
62
65
59
45
33
24
16
12
23
32
37
37
34
34
34
23
15
7
3
4
6
6
3
4
6
9
11
12
13
14
12
9
8
8
11
12
5
10
19
29
155
158
153
139
104
97
93
94
97
105
108
98
99
94
92
94
95
93
92
95
97
90
94
99
98
94
100
110
130
133
143
156
166
172
158
155
135
127
128
133
169
175
170
121
72
49
46
51
45
45
40
38
36
37
36
31
36
35
36
37
39
40
37
38
38
38
38
37
35
32
35
32
27
24
23
23
23
23
25
24
22
20
20
19
18
19
26
42
59
74
87
106
108
108
106
100
90
81
69
59
78
118
132
108
72
47
35
33
34
48
41
28
39
54
20
118
157
80
68
29
55
62
64
64
64
67
69
66
70
71
69
65
59
56
59
57
54
49
42
34
27
9
4
2
0
0
0
0
0
0
11
28
42
51
54
61
62
67
65
63
60
57
63
74
61
39
27
26
31
28
29
29
27
26
26
28
24
23
21
17
14
9
5
18
30
49
95
121
142
153
156
154
151
129
120
110
102
73
71
69
67
70
76
78
78
77
72
67
48
40
34
40
39
37
35
31
27
24
24
25
24
22
14
14
14
18
19
24
34
51
74
78
77
78
74
66
60
53
49
26
25
24
21
19
16
13
8
5
2
1
2
0
0
12
9
18
36
51
62
76
78
66
52
38
29
23
16
13
23
32
34
35
35
32
33
27
20
12
7
5
6
7
8
11
12
13
15
14
15
14
12
11
11
12
13
8
4
6
14
158
161
160
150
117
103
93
92
91
94
94
92
95
93
91
92
93
95
95
94
94
83
88
98
105
107
112
119
128
128
139
150
154
164
164
165
146
135
131
129
160
170
169
149
123
95
72
60
54
54
51
49
49
47
43
34
42
41
41
43
45
45
40
38
38
38
37
36
34
32
34
31
27
24
23
22
23
18
19
18
17
16
15
15
14
15
22
39
58
74
88
107
108
109
108
102
92
81
64
68
96
125
119
86
58
43
36
25
26
40
27
20
43
37
47
27
104
157
68
61
55
61
64
66
69
76
81
83
85
85
82
79
76
74
74
73
70
65
57
48
40
15
9
3
0
0
0
0
0
1
26
38
47
51
52
58
60
64
65
61
53
48
42
61
76
54
30
25
30
30
28
26
27
28
27
28
23
24
23
21
18
15
12
24
35
55
103
127
150
160
163
164
159
136
125
114
107
69
69
67
66
71
75
77
75
74
71
66
48
42
37
38
36
34
32
28
24
22
22
23
22
18
13
13
14
18
19
22
29
38
64
74
75
78
78
72
70
68
64
43
40
34
27
22
14
14
8
4
2
0
0
0
0
14
10
17
36
52
60
74
74
63
48
35
29
26
19
16
22
28
30
33
36
32
35
34
28
19
10
6
8
8
8
11
13
14
15
15
16
16
14
13
12
14
15
14
6
4
9
163
171
171
159
137
128
117
105
92
84
84
89
90
83
86
86
86
89
107
120
127
119
115
111
112
116
128
134
160
156
142
142
152
159
179
165
148
136
144
156
159
173
195
173
159
153
147
116
92
80
72
67
66
64
55
41
54
60
57
47
48
59
54
46
43
42
43
41
36
36
27
24
22
17
14
13
14
13
12
10
9
8
9
12
11
15
21
33
53
75
90
96
102
108
104
92
86
76
57
97
124
115
87
59
46
49
43
38
33
32
33
35
37
50
49
49
49
47
88
159
62
39
71
74
71
89
98
116
120
128
126
126
131
127
129
113
106
101
92
79
69
38
18
9
1
0
0
0
10
23
48
51
50
50
52
54
56
60
49
40
38
39
34
40
79
76
53
33
27
30
31
23
26
25
23
28
26
23
25
30
30
28
25
48
55
67
109
132
152
161
167
166
160
140
131
119
111
79
77
77
79
87
89
89
89
83
77
70
54
46
42
35
34
32
29
24
22
21
17
17
17
15
11
8
7
14
17
24
31
38
45
46
51
57
65
72
73
68
67
56
56
56
51
45
24
14
10
8
7
5
4
0
0
12
11
14
27
41
49
57
51
46
41
36
31
27
21
23
21
19
21
30
40
35
39
38
38
34
28
23
16
6
9
11
13
15
14
13
15
16
16
16
16
17
17
12
12
10
9
168
171
163
145
130
134
135
107
95
87
84
86
96
99
98
97
94
91
85
82
83
73
87
105
116
124
168
194
191
188
182
182
181
156
163
159
146
123
117
129
148
153
163
155
150
149
141
129
113
106
93
86
84
79
69
59
73
64
63
70
66
52
60
45
37
29
28
27
24
17
18
16
13
11
11
11
11
13
12
11
11
12
14
17
18
22
28
37
52
71
85
94
96
98
94
89
82
71
79
107
112
85
62
53
52
52
52
50
49
49
50
51
51
63
54
56
62
50
36
40
164
100
70
47
80
97
81
136
159
166
181
185
183
184
177
154
141
131
119
105
96
67
37
18
3
0
9
21
32
43
60
57
53
51
49
62
54
37
33
31
33
38
43
41
62
79
81
57
31
37
34
28
24
20
21
26
26
26
28
37
40
39
39
48
57
73
109
123
132
135
138
137
132
118
114
110
104
83
84
86
90
103
106
105
104
98
89
78
58
49
43
32
31
29
28
23
21
20
17
16
15
13
7
4
2
10
13
19
24
32
40
42
44
42
39
38
38
51
56
55
55
57
57
55
47
44
32
27
19
13
9
7
5
5
2
4
12
22
28
36
38
37
34
30
25
23
22
19
22
24
26
31
40
47
49
49
49
47
41
34
27
11
14
16
16
12
10
11
13
13
14
14
14
15
15
14
13
11
9
169
166
154
139
132
135
138
118
99
87
85
90
98
101
94
93
91
88
83
83
84
98
103
105
99
91
119
141
147
177
181
161
158
178
160
143
134
114
102
118
147
150
146
137
127
118
113
132
130
115
86
74
87
89
73
74
75
76
78
76
64
57
86
54
43
33
30
30
27
18
15
14
12
11
10
10
12
16
16
15
15
17
21
24
26
30
35
42
54
70
83
94
96
93
91
89
81
71
90
111
105
73
54
54
56
54
54
55
56
57
58
59
59
63
62
58
59
56
53
57
84
165
106
64
44
84
94
161
163
180
201
198
190
200
200
175
160
147
134
119
111
80
44
27
16
14
20
32
38
47
58
55
50
46
43
56
46
31
31
33
37
41
49
46
50
71
86
71
46
39
34
35
29
25
25
28
25
27
29
37
39
39
39
47
55
68
100
113
120
122
125
122
116
102
100
98
93
81
84
88
94
108
110
111
110
102
92
80
57
47
41
31
30
28
26
21
20
20
19
18
17
14
7
3
1
8
10
16
20
26
34
36
38
35
29
25
24
36
43
44
47
53
56
57
54
53
49
43
36
28
20
14
4
2
0
0
7
14
21
30
31
29
27
24
22
21
22
19
25
28
29
32
37
48
54
55
56
55
51
43
37
17
15
12
12
12
13
12
12
11
10
11
12
12
15
16
15
13
11
156
149
141
138
140
136
131
133
100
80
85
96
95
89
88
87
82
80
83
88
94
74
78
83
86
88
109
123
155
169
170
145
124
138
124
135
140
132
126
130
131
126
149
157
163
150
129
106
95
88
89
75
59
69
96
86
82
78
69
67
86
105
76
58
49
41
38
36
31
24
19
19
21
20
20
20
21
25
24
26
27
29
32
37
38
43
49
52
59
72
81
94
96
92
91
93
80
78
104
105
90
67
62
66
66
65
63
66
66
67
67
67
67
68
65
61
63
67
63
53
45
37
92
155
88
73
29
113
194
195
193
215
231
224
222
204
190
173
157
143
133
100
67
55
48
42
38
39
50
57
64
59
51
40
32
30
27
35
41
44
45
46
47
50
42
46
64
76
78
54
37
50
47
43
44
39
44
46
48
49
49
50
52
40
45
53
77
88
98
101
100
96
89
73
70
69
66
76
78
86
96
114
117
118
114
105
93
80
53
43
35
26
25
24
22
20
18
18
20
21
19
17
9
6
4
7
7
9
13
17
26
27
29
30
27
25
22
18
20
20
26
34
41
45
57
62
65
66
68
67
61
54
34
7
2
0
0
0
1
12
12
14
15
12
9
8
14
16
21
25
26
27
33
44
56
59
65
67
65
61
56
35
26
13
10
16
19
15
8
7
6
7
9
11
14
19
18
17
16
139
141
143
141
130
134
140
112
88
77
85
86
85
84
78
78
75
74
74
76
79
100
86
77
93
119
127
118
106
102
118
141
152
160
146
155
149
134
118
107
95
105
129
138
140
127
106
96
87
78
59
53
62
58
50
113
86
90
111
141
146
116
56
60
56
54
52
48
41
38
31
31
31
31
30
31
30
28
29
28
28
30
35
38
40
46
51
54
59
69
77
89
96
91
92
92
77
81
117
99
75
65
72
74
77
85
90
87
81
76
71
68
67
61
62
60
50
49
55
57
54
60
65
67
97
135
94
119
113
187
207
213
228
229
229
220
206
191
171
156
147
121
102
82
58
42
43
52
53
61
63
55
40
23
12
29
29
38
38
36
36
36
41
46
48
44
49
64
77
86
53
52
50
53
59
52
53
56
60
61
61
64
66
39
44
52
72
79
82
83
73
71
64
52
51
49
46
71
75
83
95
116
120
119
115
105
92
78
49
37
30
23
22
21
20
18
17
17
16
17
16
15
8
4
4
6
8
8
10
14
22
23
22
25
26
27
24
22
21
22
25
24
24
28
62
77
85
88
89
89
86
77
61
39
32
22
14
7
2
7
3
4
6
3
1
0
8
3
8
11
15
24
34
43
51
56
64
70
73
71
67
54
49
39
27
16
12
15
6
5
4
4
5
9
14
21
21
20
19
136
141
140
135
143
140
133
98
92
84
83
88
87
85
86
84
82
78
75
75
76
99
88
81
84
86
81
83
96
114
115
99
95
125
139
151
172
171
140
114
105
92
77
131
146
112
98
97
69
77
62
45
49
60
48
86
77
112
144
149
130
97
74
65
61
58
56
53
48
33
43
42
40
38
37
36
36
38
38
38
38
40
41
43
34
41
46
51
58
67
75
81
86
86
84
80
76
90
115
96
83
81
83
89
95
93
92
88
85
86
87
79
70
57
50
43
39
35
39
47
63
84
101
113
131
169
205
28
17
84
206
240
229
231
229
221
216
191
160
141
132
101
85
81
79
70
59
51
49
52
43
34
27
27
30
42
41
41
43
44
44
44
40
43
42
38
41
52
63
78
69
44
52
60
58
57
64
65
65
66
66
65
64
66
68
69
72
71
69
68
67
66
62
59
56
50
46
54
58
69
79
92
93
92
88
82
76
69
51
40
34
25
22
19
19
19
20
19
15
15
15
12
10
8
7
8
9
9
9
8
6
5
11
13
16
18
21
24
25
16
16
26
45
68
116
139
153
157
155
147
130
109
86
51
49
45
41
34
23
2
4
2
1
0
2
2
5
11
15
23
28
31
35
44
51
53
58
64
70
71
68
51
54
50
38
24
15
16
16
12
7
8
12
16
20
18
20
20
20
109
118
125
126
122
109
95
92
86
80
77
82
84
84
86
83
78
74
69
70
71
69
56
50
51
58
71
80
97
94
101
117
115
102
132
158
160
145
121
112
113
99
62
48
89
130
104
79
91
72
51
48
44
33
48
53
80
138
143
112
104
88
75
68
67
65
59
55
50
42
41
41
40
39
38
37
36
38
39
39
39
38
38
37
29
31
34
36
40
50
57
66
70
69
68
69
71
86
109
98
94
94
94
97
102
101
104
103
97
89
85
85
82
59
44
31
25
25
32
44
58
75
99
119
134
150
163
150
110
79
57
86
184
216
222
219
202
179
165
153
140
110
91
81
68
57
51
48
41
31
16
20
29
37
41
41
42
42
43
42
42
39
36
36
33
32
35
39
43
66
73
52
51
61
67
69
68
70
74
74
72
68
66
66
65
66
70
70
70
68
66
64
58
46
43
43
44
53
55
62
69
79
82
82
82
76
67
58
41
33
28
27
24
22
19
17
17
15
14
14
13
12
9
7
6
9
8
6
5
4
7
9
11
13
17
20
25
31
32
32
38
52
76
99
142
160
166
163
153
140
122
105
90
53
52
51
52
52
48
39
25
20
13
6
3
4
8
6
11
16
22
25
28
32
39
39
40
43
50
56
59
55
54
51
45
35
26
21
16
15
12
11
11
14
21
22
24
27
27
100
98
95
91
93
92
91
91
87
79
73
72
72
73
77
79
78
78
71
65
62
55
54
53
59
66
79
84
83
82
75
71
71
77
90
122
148
165
154
130
98
94
102
98
80
81
98
73
85
98
74
42
33
37
30
67
60
80
116
119
78
56
64
63
62
61
59
55
52
46
36
35
34
33
32
31
30
29
27
24
21
18
15
12
10
10
11
15
24
35
43
52
57
59
64
69
72
88
104
98
100
105
104
105
108
107
102
97
92
92
93
88
81
77
71
64
54
42
37
38
57
70
87
106
126
146
158
227
180
157
94
52
51
97
176
197
182
160
150
142
133
100
77
72
66
53
39
27
9
6
15
26
34
33
29
27
28
30
31
30
30
29
29
28
28
29
31
29
27
25
57
71
59
52
58
70
71
74
78
79
75
70
67
59
57
54
50
50
48
48
44
46
44
36
37
42
46
49
49
53
56
63
64
64
63
59
53
50
43
38
36
35
32
27
24
19
17
15
15
14
13
11
7
6
5
10
7
4
1
0
7
9
8
11
16
20
26
34
36
42
55
76
100
121
153
163
167
158
139
120
102
84
71
35
41
48
53
55
55
50
52
50
46
39
31
22
11
6
9
13
17
21
21
22
16
15
14
14
20
27
35
50
49
47
47
44
38
30
17
17
17
14
11
14
21
28
32
36
38
96
95
92
91
88
85
84
86
85
83
77
68
65
67
64
65
65
63
59
56
55
55
55
57
57
59
64
65
61
69
70
68
76
80
76
82
117
155
171
164
138
136
105
89
84
81
76
86
86
93
92
72
42
28
29
34
31
40
82
112
107
115
114
101
84
62
44
37
32
21
24
22
15
11
9
8
8
11
7
4
1
0
1
3
6
7
11
16
27
40
45
45
54
62
70
78
79
87
108
96
92
96
97
102
104
98
94
92
89
89
93
91
88
85
83
81
75
66
61
61
60
69
78
92
107
120
125
191
187
139
152
160
88
79
40
131
151
147
140
122
101
82
68
58
42
25
14
10
13
17
31
34
34
36
37
28
25
16
13
11
11
12
12
14
24
24
24
24
23
19
30
71
76
59
49
57
64
63
64
63
60
57
55
44
40
36
32
32
33
33
37
37
41
48
50
47
46
47
49
52
54
54
51
49
50
49
48
47
44
40
37
35
31
27
24
21
18
17
15
15
14
12
8
7
6
10
8
5
2
0
2
3
10
12
17
21
27
35
36
55
72
92
108
125
145
146
140
134
122
111
97
82
64
17
21
24
30
35
44
61
64
67
71
73
69
63
48
33
27
22
17
14
10
1
6
7
8
8
10
15
21
37
40
42
44
43
40
36
22
19
16
15
16
20
23
24
28
32
36
106
98
91
86
83
85
89
83
83
82
78
70
68
67
67
66
64
61
59
59
60
64
65
63
59
59
64
65
59
62
62
69
81
84
87
72
102
140
167
171
145
138
143
113
61
50
72
60
97
102
79
77
72
41
23
30
24
39
62
81
100
120
102
64
54
42
40
41
41
25
17
14
8
3
0
0
0
4
2
0
0
0
2
7
10
12
13
20
32
44
46
44
52
63
73
81
79
86
109
95
88
91
96
99
101
96
93
94
90
89
90
93
94
89
86
83
80
76
76
81
72
68
69
81
98
114
120
145
180
188
147
149
157
85
60
55
109
131
117
106
110
66
62
51
30
16
12
16
23
28
35
34
33
40
45
32
28
12
8
5
6
5
6
10
22
22
22
22
22
27
24
67
81
65
49
53
58
59
59
57
55
52
51
39
35
31
29
32
32
33
38
39
42
52
53
50
46
50
50
54
56
54
49
47
47
48
48
48
45
41
37
33
30
25
22
20
17
15
18
17
14
13
10
9
7
10
8
5
3
0
0
1
5
8
12
16
22
29
30
54
69
87
102
116
130
131
127
122
113
102
90
73
50
24
23
21
22
27
38
61
74
77
80
81
79
72
59
52
46
34
26
18
12
1
6
8
10
11
10
14
19
32
36
40
42
40
36
36
24
19
14
14
17
22
25
20
25
31
35
93
93
94
91
86
89
91
94
96
93
84
77
76
72
71
67
66
71
78
77
78
77
75
73
70
69
64
64
60
61
65
70
73
78
79
82
80
86
110
145
171
166
118
124
114
83
60
42
29
42
64
80
84
80
71
35
31
34
40
65
97
94
51
50
46
39
33
28
25
15
11
10
9
7
5
4
2
0
0
0
2
2
3
8
18
21
23
23
30
40
50
61
62
65
70
68
68
81
101
83
80
82
75
75
81
80
84
88
86
86
87
92
96
94
92
89
87
88
87
88
90
93
90
87
88
95
101
110
133
146
147
141
132
125
142
66
31
39
90
78
77
52
29
24
20
23
34
37
44
50
60
64
65
62
56
43
33
16
10
1
0
0
0
4
17
16
18
23
26
30
29
39
58
72
67
55
43
45
48
46
42
42
43
33
33
35
39
38
38
39
37
43
49
59
62
63
63
64
64
64
63
58
56
55
57
52
51
54
44
40
38
25
24
23
21
18
17
16
16
18
20
19
11
9
8
9
8
6
3
1
0
0
0
2
5
9
14
19
33
44
60
76
86
96
106
105
100
95
85
79
66
49
40
20
19
18
25
32
41
66
76
88
93
94
100
102
89
74
72
67
62
52
44
31
23
17
14
16
17
16
16
28
29
33
36
40
39
37
31
29
27
25
20
19
23
22
22
25
30
83
87
92
96
96
95
95
93
95
95
94
90
88
87
81
82
84
87
89
92
97
91
90
87
84
80
72
71
65
67
68
70
71
73
75
77
84
90
93
103
149
170
177
166
144
113
83
63
67
67
64
57
48
45
45
48
31
36
56
81
90
74
58
44
36
29
24
22
19
18
12
13
14
17
18
18
19
19
17
17
18
19
17
19
19
23
28
31
39
51
63
65
68
65
65
61
53
64
95
68
52
58
61
56
56
66
76
80
81
82
84
86
89
98
100
99
97
93
91
89
90
91
91
92
90
87
84
117
99
98
104
111
117
119
104
138
95
46
35
33
46
36
31
39
45
55
64
66
76
85
95
92
90
86
82
68
57
26
10
0
0
0
0
1
12
15
20
24
28
33
39
27
33
54
73
80
58
42
33
42
38
36
39
36
37
39
43
46
49
50
51
53
55
63
65
68
70
70
69
68
67
64
64
63
62
59
56
53
39
32
28
16
16
16
16
15
15
15
17
19
20
18
13
11
12
8
7
5
3
1
0
0
0
1
1
2
5
10
25
33
48
62
71
78
78
75
76
70
63
56
46
31
18
15
14
18
26
36
48
76
97
115
122
119
122
125
128
121
119
115
108
100
87
68
57
49
43
41
36
28
23
27
24
23
29
35
40
39
33
33
32
32
31
28
29
23
22
25
28
82
84
90
94
99
96
95
95
95
96
97
95
93
93
89
88
89
93
93
95
99
94
92
90
86
83
74
70
71
72
72
70
70
69
71
73
83
95
106
114
143
156
181
181
177
157
122
55
41
57
56
56
51
40
29
29
52
52
66
82
82
67
53
39
30
23
20
19
17
20
16
17
20
23
26
29
30
34
31
29
31
29
26
24
18
25
32
40
47
57
62
66
67
62
59
56
42
52
92
66
44
47
52
48
49
59
72
77
82
81
82
84
87
94
97
102
102
100
95
95
94
91
90
89
89
87
85
114
99
90
91
102
116
127
119
124
126
69
48
42
35
42
49
60
61
68
78
85
92
99
103
99
98
96
94
80
69
36
18
6
1
3
0
0
10
14
19
24
26
35
40
25
26
42
64
79
74
52
33
42
43
41
41
38
39
40
46
50
52
54
59
59
60
62
64
66
67
67
67
67
66
66
66
67
63
59
55
49
36
27
20
13
13
12
12
14
14
15
14
17
17
16
11
10
10
7
6
6
5
2
0
0
3
5
4
3
6
9
24
31
45
58
65
71
71
66
67
62
55
47
39
27
10
14
13
16
24
34
49
81
104
124
136
137
139
141
142
142
140
136
128
117
104
82
71
63
56
52
47
41
35
30
27
27
29
36
38
37
35
33
32
36
33
30
30
25
24
27
31
84
83
84
86
93
95
94
96
93
94
98
102
105
111
108
101
98
99
97
95
95
91
90
89
88
83
73
70
83
80
75
69
63
55
55
62
74
85
101
118
151
161
176
186
195
196
194
172
156
107
83
61
45
35
32
67
105
85
70
62
60
66
36
28
17
10
13
15
15
27
22
25
29
36
40
42
44
48
43
41
42
40
34
30
28
37
48
56
59
63
63
61
62
50
47
50
28
26
75
64
36
20
27
33
36
42
59
71
79
83
88
92
93
89
89
92
96
99
105
107
103
101
97
95
93
93
93
79
97
101
104
107
104
101
102
96
79
130
142
59
57
52
63
76
82
89
99
102
112
117
120
120
118
113
106
94
81
57
47
33
22
19
14
12
17
21
25
27
29
39
31
34
28
21
33
52
77
69
54
32
39
42
38
42
44
43
48
51
55
57
61
62
63
64
62
62
61
59
59
60
61
67
70
71
64
63
57
48
34
24
15
12
12
12
13
13
13
13
7
8
10
9
5
5
6
5
6
7
9
8
7
6
9
11
11
10
11
7
20
31
42
50
51
52
50
44
42
40
35
30
27
22
4
7
7
9
18
33
55
99
119
140
154
161
168
172
172
175
173
168
158
145
127
101
88
78
67
63
59
52
50
38
41
44
45
47
47
44
45
40
37
38
40
38
38
28
28
31
36
88
83
80
79
89
92
95
99
101
103
105
116
124
130
126
115
108
109
110
105
101
102
93
85
80
75
65
65
78
73
66
58
51
43
43
46
50
60
77
93
117
123
183
198
204
204
213
181
152
164
159
137
97
69
71
87
100
88
91
102
87
57
78
63
36
18
18
15
6
15
18
31
43
49
45
44
50
56
54
49
40
34
33
41
57
61
68
71
72
69
64
53
53
46
36
28
22
27
76
71
43
16
13
17
15
21
43
57
73
89
98
102
103
105
105
104
99
94
94
97
102
105
106
103
99
95
93
84
88
96
102
107
110
107
105
84
82
82
88
122
165
60
28
83
126
125
124
132
129
116
112
108
104
99
89
87
86
76
64
52
38
29
23
23
27
27
28
25
25
26
26
26
24
23
24
23
52
75
77
22
26
35
33
44
41
35
33
47
64
74
64
52
42
43
59
81
95
54
51
48
46
51
53
57
62
63
60
54
35
28
25
19
22
20
16
16
13
8
2
0
0
0
0
0
2
4
9
12
11
13
12
8
10
12
12
9
4
14
22
30
34
37
41
39
26
21
14
14
14
16
16
15
11
0
0
1
12
31
55
97
126
141
158
167
171
174
171
178
177
172
163
147
130
91
73
61
50
46
46
47
49
57
57
57
57
58
57
55
45
46
47
45
44
43
42
32
31
29
30
81
77
72
73
81
85
88
93
96
98
100
113
121
126
128
117
109
110
109
102
99
95
86
80
74
69
60
60
71
69
63
57
50
42
41
45
48
56
69
83
110
121
171
182
188
190
191
176
170
188
161
127
102
99
107
93
89
89
88
91
104
111
65
85
75
42
4
0
11
13
26
28
32
39
47
51
52
51
47
41
37
38
43
48
61
61
64
67
69
67
65
54
48
38
32
30
27
27
72
72
48
23
19
22
19
25
46
61
73
85
94
102
108
106
107
107
105
102
100
101
103
103
102
99
95
93
92
79
86
92
97
99
97
94
87
79
83
87
86
99
120
104
70
22
88
127
126
136
127
118
117
112
108
102
92
88
87
75
65
54
43
34
28
27
28
28
28
26
26
32
31
29
27
26
25
24
37
66
83
39
25
25
28
40
40
36
38
50
66
75
72
61
50
46
59
76
87
57
52
49
48
51
54
59
63
64
61
55
39
32
28
25
26
23
19
18
14
11
2
0
0
0
0
0
2
5
10
13
13
14
15
11
13
14
13
9
8
16
24
24
27
28
28
24
14
11
8
9
8
10
10
9
5
2
1
2
8
24
48
96
119
133
148
156
163
170
174
175
176
171
160
145
128
90
74
61
49
45
45
46
48
61
60
57
57
57
57
54
48
49
50
50
49
49
48
39
37
34
33
67
64
61
61
65
70
73
73
78
82
88
102
109
115
128
120
112
112
103
95
90
79
72
65
64
60
52
52
53
53
50
47
44
38
38
41
44
48
52
56
78
91
111
127
135
138
148
182
192
143
117
96
92
92
84
72
62
54
44
34
31
51
136
132
106
90
93
84
50
20
27
36
43
45
41
38
39
33
32
34
40
47
56
59
66
64
60
62
64
64
60
45
38
26
27
34
34
30
60
72
58
35
30
33
33
36
42
54
67
75
82
90
96
104
108
112
117
118
114
108
104
100
96
91
86
81
77
60
61
63
66
66
65
63
67
71
77
92
100
101
102
81
114
77
55
59
129
119
89
89
101
102
94
70
44
80
79
71
64
57
49
45
40
37
34
32
32
33
32
45
44
38
35
32
31
30
33
43
66
69
39
23
27
43
47
55
70
81
88
90
89
83
78
68
67
67
69
65
61
57
53
58
63
65
68
69
67
63
47
40
36
36
35
32
26
20
16
11
2
0
0
0
0
0
2
8
11
14
16
18
20
17
19
15
11
12
16
24
25
25
23
18
8
0
0
5
7
7
7
7
8
7
1
0
2
2
1
6
23
63
87
100
111
121
129
141
155
164
165
159
149
137
122
90
75
62
51
49
52
57
62
63
61
57
55
56
54
54
50
53
55
57
60
60
60
55
50
44
39
52
51
50
47
45
48
51
56
62
67
74
88
96
101
111
107
102
103
93
84
79
71
66
62
62
61
54
54
39
38
38
37
37
39
41
41
44
45
48
45
45
49
55
70
77
87
117
130
109
95
87
88
94
95
88
81
67
58
52
49
41
23
0
23
93
149
147
125
114
84
52
43
36
33
37
36
30
31
37
43
46
48
50
55
56
58
59
58
52
46
39
29
32
30
30
31
29
31
43
68
64
42
36
37
39
43
45
48
57
72
81
84
83
103
109
110
115
119
116
109
104
99
94
87
77
64
55
41
22
13
7
7
6
6
18
38
48
59
71
91
114
145
158
165
99
81
42
68
183
158
78
59
58
61
57
68
64
58
54
50
47
43
46
43
41
40
39
38
38
48
45
37
34
33
31
31
34
26
32
83
79
50
22
35
44
59
87
97
102
99
102
105
111
103
91
75
68
79
76
71
66
65
66
66
69
71
70
64
51
44
42
40
39
35
30
22
16
11
6
2
0
1
3
3
6
6
11
15
15
16
19
14
10
9
10
15
21
26
24
28
20
10
0
0
4
9
9
7
6
7
6
6
0
0
3
5
4
1
2
12
22
37
57
72
89
103
119
127
129
127
122
116
108
85
70
61
56
58
65
71
79
78
74
66
61
56
52
45
51
49
48
52
56
58
59
63
59
54
50
50
50
49
44
39
40
43
50
54
61
67
80
87
94
99
96
95
96
86
79
75
71
64
62
62
61
54
54
36
36
33
32
35
42
45
45
42
42
43
42
38
41
43
49
58
79
102
92
85
80
77
76
80
84
84
78
65
57
46
40
45
45
10
0
11
60
131
170
157
114
95
75
49
32
28
31
30
37
37
41
45
48
52
55
51
53
53
47
38
31
28
25
27
27
27
30
28
29
34
64
70
51
43
41
38
41
48
44
47
56
70
80
85
105
111
110
112
117
116
110
102
94
87
79
69
56
47
33
14
4
0
0
0
0
2
24
40
54
65
91
124
175
144
117
135
73
84
47
77
82
77
68
70
77
78
63
61
53
50
47
44
43
46
45
44
44
42
41
40
44
41
33
30
29
29
30
31
28
28
69
85
67
38
31
39
56
91
101
104
104
109
117
127
123
105
84
71
85
82
78
74
68
66
65
68
70
68
64
51
46
42
41
40
38
31
24
18
13
8
3
1
2
4
4
8
6
10
12
13
14
14
11
7
10
14
20
25
26
24
26
16
6
0
1
8
10
9
8
7
8
6
4
0
2
3
4
3
1
0
3
3
18
35
50
63
80
96
101
104
106
102
98
94
74
67
59
55
59
65
71
75
76
72
69
66
64
59
55
54
52
49
52
56
60
60
67
64
61
59
58
50
42
45
45
41
38
40
40
42
48
60
67
73
77
77
79
81
80
77
75
70
69
67
66
64
56
53
38
36
33
34
37
42
41
41
39
36
36
36
36
36
37
34
51
78
77
69
79
67
65
65
65
67
69
71
62
57
51
46
45
42
36
41
36
19
9
36
95
180
158
146
119
82
52
40
42
50
46
46
47
45
47
49
46
37
28
24
19
15
13
15
17
20
23
26
25
25
14
44
68
59
43
44
46
36
44
41
38
42
48
61
78
100
109
112
114
117
116
111
95
87
77
63
52
42
30
15
7
3
0
0
0
0
0
6
18
29
52
75
103
164
129
163
95
67
141
76
65
34
15
19
32
38
79
54
45
47
43
34
30
33
41
41
46
47
46
42
38
36
32
22
19
21
25
28
31
31
31
31
63
91
88
50
50
56
85
95
101
109
123
134
147
147
128
107
91
102
99
91
80
69
68
66
69
66
63
59
50
45
42
43
41
38
36
26
21
20
13
11
8
6
10
11
11
13
14
14
15
15
15
15
5
15
26
30
34
33
26
24
12
3
5
13
13
13
14
14
15
13
10
7
0
1
1
0
0
0
0
2
0
3
10
18
25
30
47
58
60
61
64
64
61
56
56
54
50
47
49
54
62
63
64
65
64
63
66
71
81
76
71
65
62
60
61
72
70
68
67
68
59
51
48
44
42
42
36
36
40
46
53
57
61
61
65
72
78
95
101
103
99
98
95
93
87
72
68
49
47
45
45
43
42
41
39
37
35
34
35
36
35
39
47
61
65
54
50
53
53
48
46
45
46
48
54
51
47
46
45
47
48
49
49
45
47
49
37
23
47
115
157
179
158
130
116
95
49
47
54
54
44
39
34
17
12
9
9
9
6
5
9
11
14
17
19
20
20
0
17
63
81
62
57
52
23
26
22
26
32
37
43
53
91
98
101
103
106
107
105
84
76
67
53
43
33
22
4
2
2
2
3
0
0
0
5
5
18
30
60
129
121
134
167
151
92
58
123
157
66
19
15
0
0
35
44
41
26
24
27
30
28
36
37
44
47
46
45
42
26
25
19
21
25
31
37
39
46
58
56
69
93
108
88
70
63
92
97
100
112
127
138
149
148
136
121
111
104
102
95
84
71
68
65
62
60
57
55
48
42
40
43
44
42
38
31
29
27
20
17
16
14
15
15
15
14
13
12
13
14
12
7
12
23
31
33
35
31
22
20
14
14
16
18
18
19
18
17
16
15
12
7
1
3
2
0
0
0
0
0
0
0
4
11
14
14
21
20
23
28
35
43
50
58
53
51
46
39
35
32
33
32
38
46
55
62
68
71
79
81
86
90
89
86
83
82
75
68
65
74
65
54
50
42
42
44
38
39
42
48
52
55
57
65
68
77
87
109
121
127
126
123
120
115
108
88
81
57
55
50
46
46
41
38
38
36
35
35
36
37
36
35
44
54
53
46
52
46
47
42
38
37
38
41
48
42
42
43
46
48
49
53
56
55
49
44
52
56
11
34
98
154
162
150
143
130
78
60
49
48
47
39
23
8
6
5
6
6
3
2
7
9
13
16
18
18
18
3
21
72
92
70
71
76
51
1
17
32
21
5
23
56
79
87
93
95
95
94
93
75
68
60
47
38
29
18
0
0
2
5
5
2
0
0
1
0
14
18
42
117
111
116
161
154
130
78
59
126
156
52
32
0
0
11
39
48
38
28
27
27
21
33
35
41
45
45
44
43
26
25
21
23
29
37
45
57
63
77
85
87
105
123
110
93
73
77
96
108
115
127
138
144
141
132
123
117
105
103
96
85
71
68
63
59
59
56
53
48
43
41
41
40
41
39
33
30
28
23
20
17
17
16
16
14
15
12
11
11
14
10
6
19
28
34
35
38
28
18
16
15
18
20
19
21
21
21
20
18
15
13
9
3
1
0
0
0
0
0
0
0
0
2
9
13
11
14
23
25
29
34
41
48
59
55
52
46
40
31
24
22
19
26
35
46
55
64
71
86
86
88
89
90
92
93
87
78
68
63
88
71
55
45
45
44
45
47
47
49
54
57
59
62
84
94
108
124
154
171
181
185
184
179
169
158
129
120
80
73
62
53
45
36
32
33
32
33
35
38
40
39
25
21
23
27
30
34
21
27
23
20
20
22
23
29
25
28
33
40
44
48
55
60
56
58
61
50
37
57
50
44
44
69
123
171
182
148
121
90
56
19
0
0
2
1
1
2
0
0
0
10
12
16
19
21
22
22
0
46
114
138
141
163
183
177
116
58
9
0
21
35
18
60
71
81
84
79
75
75
57
52
47
37
31
24
14
0
0
1
6
7
8
3
3
0
0
8
8
7
44
91
93
133
142
120
127
95
33
17
108
59
50
18
16
56
58
34
19
17
26
32
30
31
34
37
38
38
35
32
28
27
33
45
59
72
93
101
112
143
141
141
151
140
139
108
46
79
111
121
130
130
124
110
108
108
110
100
99
92
82
69
63
59
56
56
54
53
49
46
42
36
38
37
35
30
29
27
23
20
17
16
12
10
7
14
13
11
9
10
10
11
30
36
40
40
40
28
14
15
20
21
20
20
24
22
20
19
17
16
13
12
8
5
4
3
3
4
4
6
5
2
6
14
17
18
20
30
31
33
38
43
49
59
56
53
47
38
29
22
17
21
22
28
33
42
51
61
74
78
84
90
92
92
88
98
96
95
95
102
79
54
46
53
51
49
53
51
52
55
59
62
67
93
108
128
150
186
205
219
224
223
216
205
191
157
146
101
90
74
59
47
37
35
30
28
30
34
39
40
41
13
10
16
27
27
27
29
21
20
19
21
22
22
22
5
13
22
32
40
47
59
55
65
66
56
49
53
47
60
47
59
82
75
61
97
195
181
168
144
96
46
11
8
8
9
10
9
7
10
15
18
21
24
27
28
27
98
149
149
112
112
138
152
160
88
124
153
110
46
21
20
36
41
48
51
49
51
56
40
37
34
27
22
17
8
0
0
0
5
9
11
8
5
8
1
0
2
0
4
45
110
112
114
116
115
89
29
29
66
166
99
76
56
41
22
17
23
22
22
25
30
29
31
32
33
31
29
28
26
28
42
60
83
100
116
141
154
179
184
184
190
160
155
138
68
57
85
125
130
123
107
82
83
88
92
90
89
85
73
60
55
50
49
49
50
50
47
43
39
38
37
37
34
30
27
25
24
21
19
16
10
6
5
12
14
14
8
4
14
21
35
39
41
42
42
29
15
25
27
24
21
23
27
23
17
16
15
13
12
11
12
12
13
14
13
15
16
20
17
11
11
14
20
19
22
36
38
39
40
44
45
47
46
43
37
30
24
19
20
28
32
38
40
42
43
44
46
46
47
49
54
60
66
75
82
91
94
111
74
50
50
56
57
57
54
51
49
52
57
62
70
105
119
141
167
211
227
235
240
242
240
230
218
194
184
149
133
110
86
64
41
40
33
35
38
37
34
29
28
21
19
19
23
23
24
27
24
26
27
28
25
23
22
11
11
11
14
21
31
48
46
57
64
63
61
65
71
77
76
69
64
62
60
57
108
151
174
163
154
147
106
12
23
22
5
0
0
0
0
27
27
25
32
15
16
98
106
115
104
100
142
182
184
157
184
224
236
216
193
189
146
93
43
15
10
17
31
58
60
56
42
25
7
0
0
0
0
0
1
1
0
0
0
3
3
1
27
72
98
103
94
95
109
109
89
34
27
0
81
139
80
47
31
9
21
10
12
27
30
39
38
32
30
25
17
13
6
9
23
44
64
85
108
129
145
162
184
194
198
200
254
223
178
63
28
44
83
109
102
80
51
43
54
77
49
57
55
50
52
46
44
39
42
46
50
52
54
54
45
44
41
38
27
21
17
18
14
11
10
8
6
4
4
8
7
8
11
17
28
33
38
40
44
45
27
28
24
24
24
25
29
26
22
24
21
20
18
19
20
24
15
17
19
20
20
21
25
25
25
20
21
29
33
35
39
39
37
32
31
33
34
32
31
31
27
23
22
24
34
33
33
35
38
42
43
41
39
33
26
22
26
36
63
69
77
80
83
62
55
60
60
62
61
53
51
52
58
68
77
85
121
135
157
182
225
238
247
249
252
249
240
230
207
197
162
147
123
99
74
41
35
35
36
38
38
34
30
27
23
22
22
25
28
30
34
36
39
40
42
43
46
53
46
46
48
50
54
58
63
70
73
75
73
74
75
73
74
76
75
70
67
63
55
35
48
81
131
170
181
169
115
70
29
20
20
9
1
11
3
16
23
8
22
78
125
139
134
133
152
163
177
200
219
227
206
202
224
234
225
205
194
169
131
87
44
13
11
17
15
14
26
33
25
1
2
4
6
7
6
5
0
0
0
0
0
0
0
0
73
105
97
83
92
107
58
29
34
25
25
97
122
71
45
15
17
25
17
36
37
36
32
28
24
17
13
3
6
21
43
63
84
108
130
147
164
188
198
201
203
231
209
174
115
90
66
54
79
77
66
51
46
44
43
38
44
42
38
41
35
35
38
41
46
49
48
47
47
46
44
42
38
28
22
18
16
13
9
7
5
3
1
0
3
4
6
10
17
28
35
39
40
42
41
19
20
14
14
14
17
20
21
18
18
17
16
15
16
17
19
15
18
20
22
23
24
29
29
29
25
27
37
42
45
40
40
38
31
27
26
21
22
24
28
28
27
26
28
27
25
22
20
20
19
18
14
15
14
10
4
1
1
11
20
33
43
58
55
62
71
67
70
72
67
64
67
72
85
97
107
142
153
174
197
235
248
255
255
255
254
248
241
219
209
172
156
135
113
91
50
41
39
39
41
40
38
30
30
28
27
28
31
34
36
43
49
54
60
66
75
86
103
97
99
101
101
98
95
84
77
72
66
67
67
67
62
69
71
67
61
57
56
55
50
55
57
54
67
105
153
176
178
152
103
58
36
24
10
8
0
0
49
129
185
213
170
190
243
238
209
208
214
242
251
255
255
241
238
248
229
224
231
240
227
180
127
0
0
0
1
9
24
37
7
8
7
9
10
11
10
10
0
5
7
1
7
26
76
53
46
49
63
68
59
36
4
39
22
30
36
43
133
124
38
44
31
49
23
35
35
30
28
24
16
12
5
8
21
41
61
82
104
126
145
162
187
197
201
202
179
180
174
155
138
99
64
38
46
66
66
54
42
24
35
37
34
34
35
32
37
42
44
49
50
48
44
44
44
42
40
37
29
22
18
13
10
8
5
4
2
1
4
8
10
12
16
26
35
39
39
38
36
33
11
11
14
12
12
11
10
9
9
11
11
10
11
11
12
12
13
15
18
21
23
26
30
30
33
30
34
45
50
53
43
43
38
29
22
19
12
20
23
28
28
26
23
22
21
19
15
14
13
13
12
15
14
12
10
7
6
7
0
1
1
0
62
60
67
73
67
71
70
73
72
74
80
97
109
119
151
162
182
203
238
250
255
255
255
253
249
243
224
212
176
160
139
117
95
55
46
41
42
44
43
40
33
32
32
30
31
34
35
38
44
54
60
69
79
90
104
124
119
118
120
120
115
107
92
82
73
66
65
62
58
53
64
65
64
58
54
55
58
49
52
61
65
53
50
87
186
192
190
169
126
76
31
7
0
0
38
131
198
223
222
167
187
234
220
204
223
228
254
255
255
255
255
244
235
250
244
241
241
237
221
194
59
8
0
3
6
13
19
5
4
4
6
7
9
9
15
2
8
6
0
3
27
34
29
28
42
78
109
114
69
33
59
19
39
21
0
62
145
54
52
33
41
32
35
34
31
28
23
18
14
7
10
21
41
59
78
101
122
139
158
183
193
198
198
157
169
176
165
144
112
82
32
31
53
69
57
45
27
34
34
32
31
33
32
36
43
45
47
49
45
45
45
42
41
39
36
28
23
18
13
11
7
6
6
5
3
7
12
12
15
19
28
39
39
39
37
34
30
6
9
10
11
10
8
5
4
5
7
9
8
9
8
9
11
8
11
15
18
21
23
30
30
32
30
34
46
50
52
45
43
37
27
21
18
13
20
22
26
26
23
20
18
20
17
15
14
14
14
13
10
9
6
3
2
3
5
5
3
0
0
102
97
96
90
76
78
75
76
77
81
93
117
132
145
168
180
197
215
244
255
255
255
255
253
250
247
230
219
187
169
146
123
101
58
47
47
47
47
47
44
38
35
37
34
35
36
36
37
44
56
66
80
95
110
127
150
141
142
140
136
129
120
103
85
74
64
57
45
32
28
36
43
47
46
46
48
48
45
57
60
53
51
57
53
50
122
181
194
201
203
157
24
56
137
198
216
245
255
195
216
232
223
212
224
244
252
255
255
255
255
255
248
241
248
252
244
233
228
230
230
243
228
155
71
23
2
0
1
0
0
0
0
0
1
0
16
7
6
7
2
0
15
3
17
12
0
0
6
0
11
85
46
0
15
4
14
12
129
66
65
42
40
33
33
30
28
24
18
14
12
14
21
38
54
71
93
108
128
147
173
184
188
187
149
159
172
167
145
123
107
89
44
38
60
53
45
34
25
24
21
24
24
24
32
39
40
39
39
39
42
44
40
39
37
36
27
21
17
12
10
8
9
11
10
9
10
13
14
16
20
28
38
39
38
34
32
26
3
5
0
0
0
0
0
1
5
5
5
6
6
6
7
7
2
5
10
13
16
19
25
30
30
30
33
44
47
47
47
44
36
25
19
19
19
17
18
22
21
19
17
18
18
16
13
11
11
11
10
12
11
10
10
9
7
4
5
4
2
1
107
109
110
108
83
78
77
75
75
82
97
129
145
157
190
201
215
227
251
255
253
253
249
243
242
239
225
219
186
171
149
127
102
58
48
44
44
48
49
49
40
36
41
40
39
37
33
37
46
52
63
78
96
116
134
157
151
151
145
133
121
110
84
66
55
43
32
25
19
5
12
12
15
21
25
28
32
44
43
45
44
42
40
39
31
31
34
82
150
204
220
171
186
214
236
250
255
255
218
230
250
240
213
218
239
243
255
255
253
250
249
241
232
223
228
233
227
220
223
230
237
249
251
225
169
103
53
6
8
0
0
0
0
0
3
15
20
20
13
10
11
18
16
13
11
11
10
9
11
10
57
78
36
11
18
19
9
42
151
117
64
53
30
28
30
29
21
9
22
10
13
22
29
43
60
75
94
108
124
152
164
176
184
167
167
169
160
147
131
117
115
90
56
26
40
50
50
32
27
22
19
22
27
31
32
36
38
36
40
38
35
34
32
32
30
26
21
18
13
12
11
9
9
7
8
5
8
15
20
22
31
38
37
39
37
33
28
2
4
4
4
2
1
0
3
7
9
12
14
12
12
12
6
4
4
7
11
15
20
25
28
26
29
34
41
44
44
43
40
37
30
23
19
20
18
20
24
26
26
26
25
16
11
9
10
11
10
10
13
10
8
7
7
5
1
2
3
2
0
110
109
109
109
90
80
78
72
73
83
97
132
148
161
197
208
222
232
250
251
247
245
241
236
233
230
219
213
184
169
147
124
100
56
45
46
46
49
51
51
43
40
41
42
42
40
34
35
42
46
61
80
99
115
131
154
147
146
137
123
107
95
70
58
46
36
26
20
15
5
4
2
4
8
13
17
25
38
40
41
41
41
41
43
29
39
29
32
64
129
192
196
211
233
246
255
255
255
217
231
249
243
217
214
227
231
251
255
250
243
240
234
228
221
225
225
221
221
221
219
227
227
233
237
227
194
157
47
17
8
3
0
0
4
3
15
21
20
16
12
12
18
18
18
17
16
14
13
11
19
25
74
63
11
18
15
26
15
45
148
107
42
50
34
3
16
32
5
9
7
10
18
24
37
53
67
84
96
112
144
159
171
176
179
176
168
155
145
135
123
116
110
80
14
34
52
53
30
26
20
15
19
26
28
31
37
39
38
37
37
37
33
31
31
29
25
22
19
14
13
11
10
8
7
7
6
9
15
20
22
31
37
39
40
39
35
29
3
4
6
6
5
5
4
10
13
16
20
21
20
19
18
11
5
7
10
13
19
24
30
30
31
31
34
38
42
40
41
39
36
30
24
20
21
18
20
25
27
29
29
28
18
13
9
9
10
10
11
10
9
8
8
8
6
3
2
3
3
0
106
103
105
108
89
74
65
66
68
74
89
126
146
161
197
206
219
230
244
242
236
230
223
216
212
211
204
200
180
165
143
120
96
55
45
46
45
49
52
54
51
49
54
46
41
44
44
37
38
49
66
85
102
114
123
138
131
124
112
94
79
66
45
30
26
22
22
19
13
0
0
0
0
4
6
8
12
23
29
38
44
47
48
46
35
27
24
46
43
48
112
222
240
250
255
255
255
247
215
228
239
235
218
214
222
234
243
250
248
240
232
228
225
217
221
221
220
225
223
209
206
212
211
211
230
250
254
203
88
43
20
8
3
7
9
11
15
17
14
9
10
12
17
21
22
21
18
16
16
5
0
37
83
43
3
11
12
23
34
0
70
153
59
28
31
5
6
4
15
0
2
7
12
21
34
47
62
72
87
127
144
155
160
176
171
160
144
141
134
125
112
109
97
38
27
42
59
36
33
27
23
23
28
30
30
35
39
37
31
32
33
31
28
27
26
24
23
21
18
17
13
11
9
7
7
11
14
18
24
25
33
40
42
42
40
39
35
9
8
10
9
10
9
11
22
28
37
42
46
46
44
42
30
19
18
19
20
25
29
35
35
35
35
35
35
37
39
39
38
36
31
25
21
21
21
23
28
30
30
28
25
21
15
10
10
11
11
13
7
7
7
6
4
3
3
6
9
10
5
119
119
122
122
95
75
66
64
61
63
73
112
137
155
198
206
215
223
233
230
224
215
207
201
198
197
190
188
167
154
133
111
90
52
43
41
42
45
49
52
53
52
56
54
52
52
49
50
56
70
80
93
107
116
120
121
114
106
90
69
52
39
23
20
16
14
15
15
14
4
0
0
0
0
2
2
5
13
17
25
31
36
39
43
41
54
51
47
41
71
159
240
255
255
255
255
240
207
213
224
229
225
218
213
220
237
238
244
246
242
235
228
224
210
212
221
218
218
225
228
214
209
208
203
204
212
215
243
216
148
76
32
15
10
14
6
7
9
6
2
0
4
8
12
15
17
16
14
12
4
0
0
36
64
20
19
0
0
0
12
2
0
120
114
26
38
24
19
0
0
0
0
0
6
15
25
34
47
65
100
116
131
139
158
161
157
133
132
127
120
109
95
91
85
56
36
32
49
49
50
49
42
38
37
35
37
39
36
36
32
28
28
26
24
23
24
23
22
23
21
19
15
11
9
8
11
13
18
24
25
33
37
41
42
41
43
43
16
13
18
17
18
18
21
35
43
54
62
68
70
70
67
53
45
43
39
35
34
33
36
36
36
36
35
33
35
40
40
39
38
33
26
20
18
15
18
24
27
27
24
22
20
15
12
14
15
14
14
14
13
10
6
3
4
9
31
37
42
40
127
128
131
131
100
80
70
64
59
58
69
108
134
152
202
208
216
222
229
226
220
211
205
197
193
193
188
184
163
148
129
108
88
50
42
40
40
44
48
51
53
53
53
57
59
56
48
54
66
77
84
96
107
116
120
117
110
103
85
63
43
31
15
11
6
1
0
0
2
0
0
0
0
0
2
5
10
12
14
18
23
29
34
41
46
42
36
49
58
90
170
235
252
255
255
255
229
195
211
223
227
225
218
212
217
233
238
242
246
243
235
229
224
208
210
219
217
215
227
237
220
222
220
205
190
185
189
252
225
197
127
43
8
14
15
5
5
6
3
0
0
1
6
9
12
14
15
14
8
12
0
0
16
62
30
27
5
22
5
4
0
0
0
131
45
39
31
46
22
0
0
0
0
3
10
20
24
39
58
90
106
122
133
148
155
153
127
123
118
112
109
97
92
96
71
39
18
44
48
52
56
54
50
47
39
40
40
38
37
34
29
27
25
23
22
23
23
22
24
22
19
15
11
9
9
10
11
17
22
24
30
35
41
41
41
44
43
18
16
21
20
20
21
25
42
48
60
67
74
76
77
74
60
55
51
46
40
37
36
37
35
36
36
35
33
33
41
41
40
38
33
26
20
16
10
14
21
25
26
24
22
19
15
13
15
16
14
14
9
9
8
6
6
11
20
50
57
61
58
115
112
109
104
89
89
92
70
53
50
65
110
138
154
188
200
213
224
233
229
222
213
201
187
178
171
159
154
139
127
114
103
91
64
55
47
44
44
45
45
45
44
53
56
62
73
82
99
109
116
119
124
121
113
113
96
87
74
62
50
38
30
13
7
6
3
1
0
0
0
0
0
0
0
2
5
8
10
9
11
15
22
29
36
38
40
39
32
61
171
255
227
225
232
255
255
225
214
209
222
228
227
225
220
222
234
222
228
242
233
225
225
224
211
200
201
208
202
202
219
221
217
221
223
211
199
199
215
217
232
236
183
92
24
0
2
0
0
0
2
16
2
3
2
4
3
3
3
0
4
1
0
0
54
79
29
4
9
7
0
0
0
0
0
147
103
57
12
35
84
55
0
0
0
3
10
14
19
33
67
81
97
110
132
138
143
138
132
124
114
105
96
86
78
80
69
53
47
53
55
60
60
55
60
48
45
40
37
35
33
31
25
24
22
20
19
21
22
23
23
25
25
21
21
19
21
20
21
21
19
16
17
28
35
40
41
40
26
13
15
19
20
27
38
50
58
69
75
83
88
93
95
90
79
72
64
58
49
40
34
34
35
34
35
36
38
44
38
36
34
31
25
17
15
14
15
16
17
16
16
15
13
13
14
15
15
16
14
13
18
17
14
21
29
40
78
86
86
79
100
102
109
111
94
85
80
87
61
52
70
117
141
154
189
202
215
225
233
229
221
211
197
183
172
165
152
148
136
125
114
105
93
67
57
50
47
45
45
45
42
41
50
54
61
73
84
104
114
121
125
130
126
114
109
84
73
60
49
41
33
29
13
6
6
2
1
0
0
1
0
0
0
2
4
7
11
16
15
15
16
18
21
27
35
48
39
32
107
217
255
235
226
232
254
244
210
211
209
222
228
227
225
220
222
234
222
225
235
225
217
219
219
209
198
199
207
200
201
218
228
225
228
230
218
201
195
204
209
221
241
219
129
33
0
1
1
0
0
3
16
2
3
2
4
3
3
3
0
6
0
8
0
16
77
77
33
8
6
2
0
0
29
112
166
184
104
78
9
38
72
35
2
0
0
1
10
15
30
60
72
87
98
122
126
129
121
118
112
104
102
94
83
70
76
79
79
58
57
60
67
67
65
65
58
53
47
40
33
28
25
20
19
18
17
19
22
23
24
24
26
26
24
23
22
20
20
21
22
20
15
16
26
32
36
36
37
31
22
17
20
21
27
37
51
60
76
83
92
98
104
107
103
91
83
73
63
51
40
30
30
30
30
30
31
33
39
34
33
32
31
24
16
13
12
13
14
15
15
15
14
14
14
15
17
17
18
17
21
30
37
41
50
57
65
88
94
89
79
246
245
233
220
153
122
122
117
115
114
114
116
114
112
111
111
111
111
111
111
112
109
110
111
113
113
112
111
114
113
113
114
116
122
125
130
133
138
143
146
153
156
159
161
163
166
169
172
172
175
175
177
178
179
179
179
177
177
176
175
173
170
168
167
163
159
158
158
158
152
150
148
146
142
137
133
130
125
121
117
113
111
112
114
110
110
111
112
114
115
116
117
118
119
120
121
120
119
120
119
117
116
116
116
116
117
116
117
118
119
119
120
120
123
124
124
126
127
127
128
132
131
130
132
132
133
134
141
140
139
138
138
137
137
139
138
136
133
132
133
134
132
131
130
128
126
124
122
119
117
109
106
102
98
95
95
94
89
85
82
79
78
74
73
69
67
65
63
62
61
60
58
56
55
54
52
51
50
49
45
43
42
41
41
41
40
35
35
37
38
47
52
56
54
53
55
59
73
79
87
91
97
105
111
113
117
119
119
118
112
107
103
101
99
97
92
87
83
83
83
84
85
85
83
83
82
83
84
87
89
92
93
97
107
113
112
109
111
110
105
100
93
86
84
87
88
83
86
89
91
94
95
98
102
99
96
91
89
85
82
81
78
84
98
111
117
115
111
113
110
102
92
89
87
88
85
85
89
94
96
99
98
97
96
95
92
88
85
79
78
75
72
71
77
84
98
94
86
79
241
237
224
204
137
113
114
113
111
110
110
113
112
111
111
111
112
113
114
114
115
116
116
118
118
117
114
113
116
116
116
117
120
127
129
131
135
140
144
147
153
155
158
159
162
165
167
170
171
173
174
175
178
178
179
178
173
173
172
171
169
166
163
159
156
152
151
151
151
143
138
137
135
132
129
127
125
120
117
114
110
109
109
111
109
110
111
112
113
114
115
115
116
117
118
117
116
115
118
117
116
115
114
115
116
116
117
118
119
119
120
121
121
122
123
123
124
125
125
125
123
123
124
125
127
129
130
132
133
133
133
134
134
134
131
131
130
129
129
131
133
133
132
131
129
126
124
122
116
113
105
102
99
94
91
90
89
86
82
80
79
78
73
72
68
66
64
62
61
58
58
55
53
52
49
49
47
46
45
42
41
40
39
39
39
37
33
32
34
36
34
37
42
41
41
44
46
59
64
69
75
86
95
103
109
115
118
119
120
117
113
107
104
102
102
97
93
89
85
85
83
81
80
80
81
78
79
79
81
81
83
84
86
93
102
104
104
104
103
103
99
93
87
84
84
85
87
89
92
95
97
98
99
100
98
94
91
87
84
82
84
80
78
83
89
96
115
113
116
118
114
110
104
85
89
86
85
89
92
92
93
97
97
97
95
93
91
88
82
81
80
75
74
75
82
95
94
89
85
242
234
220
194
121
110
110
105
104
102
103
108
109
109
110
111
112
114
117
119
120
123
124
124
124
123
120
118
118
118
118
118
121
130
132
138
141
146
149
151
156
157
159
160
162
166
168
169
169
171
172
173
174
174
173
171
169
168
168
167
165
163
159
154
152
149
148
148
145
135
128
127
126
125
123
121
120
113
111
109
107
106
106
107
110
110
110
111
112
114
114
115
115
113
112
112
112
111
114
114
113
112
112
113
114
115
117
117
118
119
120
120
121
121
121
120
120
120
121
120
118
118
119
121
123
124
126
130
129
128
127
126
125
125
127
129
129
129
130
133
136
134
133
132
129
125
123
122
117
114
106
103
99
95
92
86
85
82
81
79
78
77
73
72
67
64
62
60
59
56
55
51
49
47
46
45
43
43
42
39
38
37
37
35
35
36
32
29
31
31
31
32
34
37
37
38
39
44
45
48
53
71
82
89
94
102
109
111
115
116
115
109
108
106
106
104
99
96
91
88
85
81
77
77
77
79
78
78
78
78
78
78
79
84
90
97
101
103
104
101
101
99
93
87
85
86
91
93
95
98
100
100
100
97
96
93
88
85
82
80
78
76
76
78
77
79
96
113
115
115
115
117
115
100
87
83
80
82
85
85
87
95
95
95
94
93
90
88
82
83
82
78
75
74
78
93
95
94
90
238
230
217
187
113
105
104
102
100
98
100
106
107
108
108
109
111
114
119
121
122
125
125
126
127
125
123
122
120
120
120
122
125
133
135
143
146
150
153
154
157
159
161
163
165
167
169
170
171
172
172
172
172
170
170
167
165
165
164
163
162
159
155
152
150
147
147
146
143
132
125
124
123
121
120
118
116
110
109
107
106
105
105
105
109
110
111
111
112
113
114
115
114
113
111
110
110
110
113
112
111
111
111
112
113
114
116
117
117
118
119
119
120
120
119
119
119
117
118
117
115
116
116
118
119
121
122
127
126
125
124
123
123
122
126
128
129
128
130
133
135
134
133
131
128
124
122
121
117
114
106
103
99
96
93
86
86
82
80
78
76
75
72
70
66
64
61
60
59
55
54
51
48
46
44
43
42
41
41
38
37
36
36
35
35
35
32
30
30
30
27
27
29
31
32
31
30
35
36
40
44
63
72
79
83
92
102
105
110
111
111
108
107
107
106
105
102
99
94
91
88
83
78
77
75
77
76
76
78
78
78
79
79
80
85
93
99
104
108
104
105
104
99
92
87
89
92
93
96
99
100
101
100
97
95
92
88
85
82
80
76
75
77
79
77
75
86
105
109
112
113
116
117
108
93
87
82
82
83
83
85
92
92
93
91
91
88
87
80
82
82
79
75
74
77
92
96
96
93
241
233
222
190
110
107
103
98
95
93
95
103
105
106
107
108
110
114
119
122
124
125
127
128
128
128
127
127
128
128
128
130
133
141
144
149
152
156
157
159
162
163
165
166
168
170
172
173
173
172
171
170
169
167
163
159
157
157
156
155
153
150
146
147
145
143
142
142
138
126
119
118
117
114
112
110
109
108
107
106
105
105
104
104
109
109
110
111
113
114
114
116
114
112
111
110
109
109
111
110
110
109
110
111
113
113
114
115
116
117
117
118
118
118
118
117
116
115
114
114
112
111
110
111
112
113
114
111
113
115
117
119
120
121
122
125
125
124
125
128
130
134
132
130
127
123
120
118
114
110
103
100
96
92
89
90
88
82
79
76
74
73
71
70
66
64
61
60
59
56
55
51
48
46
43
42
40
40
40
38
38
37
37
34
34
36
32
30
30
31
29
28
28
30
30
28
26
24
24
27
32
49
57
60
66
77
88
92
99
102
104
106
105
105
106
106
104
100
98
96
94
91
81
76
74
72
72
72
74
75
77
77
79
76
78
87
95
106
112
109
111
112
106
99
92
93
92
93
96
97
99
99
98
97
95
93
90
87
86
83
87
82
80
80
80
77
79
86
96
108
113
116
117
116
116
105
93
87
82
80
82
87
87
88
89
87
86
84
77
79
80
77
75
73
75
89
95
100
99
242
233
225
196
105
96
92
92
93
93
94
100
102
104
108
110
112
113
117
121
124
126
127
128
130
130
130
130
130
131
132
135
139
148
150
156
157
159
162
164
167
167
168
169
170
170
170
170
169
168
165
162
160
158
156
150
148
148
149
150
151
150
143
141
139
136
134
133
129
122
115
112
109
107
106
106
106
106
105
104
103
102
103
104
109
109
110
111
112
113
114
116
115
114
113
112
110
110
110
109
109
108
109
110
111
112
112
113
113
113
114
114
114
115
115
114
113
111
111
110
112
112
112
111
112
112
112
113
112
112
113
115
117
119
122
123
124
124
125
126
126
130
128
127
124
121
119
118
112
110
103
101
99
95
92
86
84
80
79
77
74
72
70
68
64
62
61
59
56
55
54
49
47
45
44
43
41
41
40
38
36
36
35
32
32
31
31
31
30
31
27
27
28
27
27
26
26
26
26
27
29
39
45
49
55
60
66
71
82
87
90
96
98
100
103
104
103
102
99
97
96
92
85
83
82
75
73
73
73
76
78
77
81
84
84
85
93
109
107
115
115
114
111
107
97
93
95
96
97
98
99
100
99
100
98
96
93
90
89
88
86
86
87
88
87
86
84
92
93
96
102
109
116
118
113
113
111
104
95
90
89
90
90
89
87
83
80
78
73
73
75
75
76
76
77
82
92
100
101
243
237
228
195
101
95
93
91
91
92
95
101
103
104
108
110
112
112
115
120
121
126
127
128
130
131
131
131
131
132
134
138
142
150
152
156
158
160
163
164
166
166
169
169
169
169
169
166
166
165
163
159
157
155
153
148
146
146
146
148
149
148
142
143
139
134
131
127
124
119
114
110
105
103
102
103
104
105
104
104
102
102
103
104
110
110
110
111
111
112
112
116
115
114
113
112
110
110
109
109
108
108
108
109
110
111
112
112
112
113
113
114
114
113
113
112
111
110
109
108
111
110
111
111
112
113
113
112
112
112
113
114
115
117
119
120
121
122
123
124
124
127
126
125
122
121
118
116
112
109
102
101
98
95
92
87
85
80
79
77
74
71
70
68
64
63
62
60
58
54
54
50
48
46
45
44
42
41
41
38
36
35
35
31
31
31
31
31
32
30
28
28
29
27
28
28
27
25
25
26
27
35
40
43
49
52
59
63
72
78
82
89
91
94
99
102
101
101
100
99
97
94
90
88
87
79
76
74
74
76
80
81
82
85
87
86
90
107
111
116
116
116
114
109
99
97
97
97
98
99
99
98
97
98
96
94
91
90
89
89
88
88
90
89
89
89
87
92
91
92
95
102
109
115
116
115
113
110
105
100
96
90
90
90
88
85
81
78
70
71
73
73
75
76
78
83
91
98
100
244
239
227
187
96
94
93
90
93
95
99
107
108
109
111
113
115
114
115
116
117
125
126
126
128
129
129
129
129
132
138
143
149
154
155
155
157
159
161
163
164
164
170
170
170
169
167
164
163
165
163
161
158
156
154
148
144
143
142
143
144
144
140
143
138
129
123
119
116
112
113
109
103
100
100
101
102
102
101
100
100
100
101
103
109
109
109
109
109
109
110
113
113
111
111
110
109
109
108
108
108
108
108
108
107
107
109
109
110
110
111
111
111
112
111
111
110
109
108
108
108
109
110
110
111
111
112
110
111
113
114
114
115
115
115
116
117
119
120
120
120
122
122
121
119
116
115
114
110
106
101
100
97
94
92
87
84
79
77
75
71
68
68
66
63
63
62
60
58
58
57
54
52
50
48
47
44
43
42
40
39
38
37
32
32
32
32
33
31
32
29
29
30
29
29
28
28
29
29
29
30
32
35
36
38
41
44
48
55
61
65
73
77
81
87
94
96
97
95
95
95
95
92
90
89
84
81
78
79
79
85
86
85
87
89
89
89
103
113
116
117
117
117
114
106
103
100
100
99
100
97
96
93
93
91
89
87
86
85
86
87
87
89
89
91
91
93
89
89
89
90
93
98
108
113
113
114
115
117
114
106
92
91
88
86
84
80
75
69
69
71
72
75
77
79
83
86
91
95
240
232
215
173
97
98
94
94
96
101
106
113
116
116
116
118
120
120
117
116
117
120
121
122
124
124
124
124
125
130
137
145
151
154
154
158
160
163
167
170
174
174
173
174
174
173
172
169
169
167
165
161
159
157
155
150
149
147
145
143
143
142
138
138
134
127
121
117
114
109
107
104
100
98
98
98
97
97
97
96
96
97
99
100
103
104
104
105
108
108
108
109
109
109
108
107
107
106
106
107
107
108
107
106
105
104
105
106
106
106
107
107
107
109
109
108
107
106
106
106
107
107
107
107
107
107
107
109
113
114
115
115
115
115
114
115
117
118
118
119
119
118
117
117
115
114
112
111
107
105
100
99
96
93
91
88
85
79
76
74
70
68
66
64
62
62
62
60
58
60
59
56
54
52
50
48
45
44
44
41
40
39
39
34
34
33
33
33
33
33
30
30
30
30
29
30
30
29
30
30
32
34
35
35
39
40
42
43
48
54
58
65
68
74
79
89
89
91
93
95
96
97
94
90
88
86
85
84
84
85
87
86
88
86
88
91
92
98
106
114
115
117
117
116
110
107
102
101
100
98
95
92
88
86
86
83
81
79
79
80
80
81
83
86
89
94
99
88
92
97
100
100
100
104
109
110
112
114
117
117
117
103
98
90
86
85
83
80
71
72
73
74
75
77
79
85
83
85
91
238
229
211
169
98
99
94
95
97
102
108
116
118
118
117
119
121
121
117
117
117
118
119
120
122
123
122
122
124
129
137
145
151
154
154
155
157
161
165
167
173
174
174
175
175
175
174
171
170
167
164
161
158
156
154
149
151
149
146
143
143
142
138
136
133
126
121
118
114
108
103
101
99
97
97
96
95
96
95
95
95
96
98
100
101
102
103
104
107
107
108
108
108
107
107
106
106
106
106
106
107
108
107
106
104
103
104
104
105
105
106
106
106
107
107
106
105
105
104
104
107
106
106
106
106
106
106
109
113
115
116
116
115
115
114
116
117
118
119
119
120
116
116
116
114
113
111
110
107
105
100
99
96
93
91
89
86
80
77
74
71
68
66
64
62
62
62
60
58
60
60
56
54
52
51
49
45
45
44
41
40
39
39
34
34
34
33
33
33
33
30
30
30
30
29
29
29
28
29
29
32
34
34
35
40
41
42
42
48
54
57
64
67
72
78
86
88
89
94
97
98
98
95
91
89
86
86
86
86
88
87
86
88
86
87
92
94
97
104
115
114
116
117
116
111
108
102
100
99
97
94
92
87
85
83
81
80
79
78
79
78
80
82
85
89
94
101
87
93
100
104
103
102
103
109
111
112
115
116
118
120
108
101
92
88
86
86
82
73
73
74
75
76
77
78
86
82
84
90
217
204
178
141
97
102
101
103
105
107
111
119
123
124
122
122
122
122
119
117
116
113
115
115
114
113
117
120
127
131
137
142
146
149
148
156
159
164
169
173
173
173
172
171
171
174
176
174
172
166
164
161
157
154
153
152
151
148
143
139
137
134
130
125
123
121
116
112
107
102
98
99
99
99
98
96
95
94
94
95
95
96
97
98
102
103
103
102
104
104
104
103
103
102
104
104
104
104
105
105
105
104
104
103
103
103
102
103
103
104
104
104
104
104
104
104
104
103
103
104
103
102
102
103
104
105
106
107
111
113
115
117
117
117
118
119
119
118
117
116
115
116
114
112
111
109
108
107
105
103
98
97
96
93
91
88
86
80
78
74
69
65
63
64
64
64
64
64
64
55
55
56
56
54
53
52
49
49
48
44
43
41
40
39
39
38
36
34
34
32
32
31
30
32
32
32
30
34
35
36
37
36
37
39
45
48
52
55
51
53
58
70
71
74
76
83
85
88
95
97
98
98
92
89
87
86
85
85
85
88
88
87
87
88
89
90
93
101
104
111
112
115
116
114
112
113
113
102
98
95
88
89
88
90
87
83
81
80
80
81
85
85
87
86
83
81
91
95
98
102
100
94
96
90
96
92
98
109
113
116
119
115
91
109
85
84
101
70
76
77
78
78
78
79
79
85
84
83
83
198
176
149
125
105
108
104
107
109
113
119
129
133
135
133
132
132
131
126
124
123
119
118
117
115
113
112
112
119
126
135
139
139
142
146
151
154
159
164
167
167
166
164
166
168
171
170
165
162
162
160
156
152
150
150
153
149
145
142
137
134
130
122
115
113
111
108
103
99
95
95
95
96
96
95
94
93
91
91
91
92
92
93
93
97
97
97
96
97
97
99
97
98
98
98
100
101
102
103
103
103
103
103
103
103
103
101
102
102
102
103
103
103
104
104
103
103
102
102
101
99
99
100
101
103
105
106
108
110
112
113
114
114
114
117
119
120
120
119
119
118
118
115
113
110
109
107
107
102
101
96
95
94
91
87
87
85
79
77
73
68
65
65
65
64
63
63
63
64
57
56
56
54
53
53
52
47
47
46
43
42
42
41
39
39
37
35
33
32
31
30
33
35
32
31
34
36
36
41
48
54
55
50
48
53
53
55
61
67
67
69
74
75
76
79
82
84
86
91
92
92
91
84
80
78
78
79
80
83
86
86
84
90
89
88
89
91
97
99
97
99
103
103
104
104
106
100
105
101
96
96
89
83
90
86
83
81
81
83
83
84
84
85
85
83
83
94
95
96
103
103
96
97
101
102
97
99
107
111
117
121
127
107
114
101
80
74
64
77
77
77
78
79
81
81
86
85
83
81
177
156
135
122
112
113
108
107
109
113
119
130
134
136
137
136
136
134
129
128
126
124
123
121
119
117
114
113
116
122
130
134
134
139
143
147
150
155
160
163
162
161
161
163
167
167
167
160
157
158
156
152
149
148
147
149
144
141
137
133
129
125
116
113
112
109
105
101
95
91
93
94
95
95
95
94
93
90
90
90
90
91
91
91
94
94
94
94
94
94
96
95
95
95
97
98
99
101
103
103
103
103
103
103
103
103
101
102
102
102
103
103
103
104
104
103
103
101
101
101
98
98
98
100
102
104
105
107
110
111
112
114
113
113
117
119
120
121
121
120
120
119
115
114
111
109
108
106
102
100
94
94
92
89
86
86
84
79
76
72
67
64
64
64
64
64
63
62
62
58
57
55
53
53
53
52
47
47
46
43
42
41
40
40
38
37
34
32
31
31
30
33
35
33
32
34
37
34
39
49
58
64
61
57
55
54
55
61
70
72
76
78
78
80
82
84
84
85
87
88
87
85
78
73
72
75
76
77
80
84
86
85
91
89
88
89
91
96
96
92
95
97
97
98
102
104
105
103
96
91
90
88
88
90
87
84
82
83
83
82
85
85
85
86
84
83
94
99
96
101
103
97
97
104
100
99
104
107
107
113
121
129
99
104
96
76
77
88
78
77
77
77
79
81
82
85
84
82
80
151
132
119
118
117
119
116
110
112
115
120
131
134
136
136
136
136
135
133
131
130
129
127
125
125
125
118
114
119
119
120
123
127
137
140
146
149
153
157
160
159
158
159
161
164
163
159
154
156
148
148
147
145
142
139
134
129
126
123
120
117
112
104
101
100
99
97
95
93
91
91
92
93
94
94
93
92
88
88
88
88
88
88
88
90
90
91
90
90
91
91
91
92
93
95
97
99
101
101
101
101
102
102
103
103
103
102
103
103
104
104
104
104
106
106
105
104
102
101
101
98
97
97
98
99
100
101
103
107
109
111
112
113
113
115
118
120
123
123
123
123
121
117
115
112
110
108
107
102
99
94
93
91
86
85
84
83
77
74
71
67
63
66
66
64
63
63
62
62
59
57
54
52
52
52
52
50
49
49
43
42
40
39
41
40
39
35
34
33
32
36
35
33
34
34
32
31
33
38
48
62
83
85
85
75
74
72
70
69
77
87
86
86
86
86
85
86
86
85
85
86
84
77
73
71
76
74
74
77
81
90
91
94
90
86
86
89
91
89
90
91
93
93
93
98
100
100
104
141
156
129
119
102
100
97
93
90
89
89
87
88
87
87
87
84
83
93
116
105
102
105
104
103
103
103
101
102
101
101
111
120
129
116
153
127
110
132
87
76
76
75
76
77
80
83
82
81
79
78
185
163
136
122
119
117
116
113
110
114
119
127
131
136
140
139
138
135
133
131
131
126
127
126
124
122
116
115
115
115
116
118
122
133
137
144
147
151
154
155
157
158
159
159
158
157
156
150
150
143
143
142
141
138
131
116
121
117
112
107
103
100
94
88
88
90
90
90
90
92
90
91
92
93
94
94
93
91
91
89
88
86
84
83
88
88
88
88
89
89
89
91
92
92
94
96
98
99
98
98
99
100
101
101
102
102
101
102
103
104
105
105
106
107
105
103
102
101
102
102
100
98
97
97
97
97
98
102
102
104
106
109
111
113
119
121
122
123
123
122
122
125
119
117
116
114
111
107
106
102
92
90
87
85
83
80
80
75
70
67
66
64
66
65
63
61
60
59
58
56
56
54
53
54
54
53
53
53
52
51
47
43
40
37
36
36
38
38
38
36
36
34
33
35
38
42
45
51
57
68
84
104
108
112
117
109
102
99
90
90
94
93
89
86
84
79
81
86
90
92
91
88
87
85
82
82
74
85
85
71
100
82
87
116
80
115
136
101
92
102
88
100
95
113
104
134
111
101
110
125
90
109
111
97
110
90
101
96
99
89
85
101
75
95
86
87
85
124
105
110
132
95
105
99
101
100
95
100
110
132
93
105
133
144
91
101
119
107
64
73
82
69
70
79
72
82
81
79
78
195
174
146
127
116
115
114
113
112
113
118
124
129
133
137
137
136
135
133
130
129
126
126
125
123
121
115
114
113
113
114
116
120
131
134
140
144
147
150
152
154
156
156
156
156
155
154
149
148
142
140
139
137
132
126
113
114
111
106
102
98
95
90
86
86
88
88
89
90
92
90
91
92
93
94
94
93
91
90
89
87
85
84
83
86
87
87
88
88
89
89
92
92
93
94
96
97
99
99
99
99
100
101
102
102
103
102
103
104
105
105
106
106
107
105
104
103
102
103
103
101
99
97
96
96
96
97
101
101
103
105
107
110
111
114
117
119
120
120
120
120
124
119
117
116
114
110
106
106
102
94
92
90
89
87
81
80
78
75
73
71
71
65
65
63
62
60
59
59
57
58
55
55
54
54
54
54
53
52
52
48
44
40
38
36
36
38
39
39
38
38
37
37
40
45
51
54
61
66
76
89
111
118
122
130
124
117
114
104
102
103
92
87
81
80
76
77
82
83
89
92
91
90
86
82
76
76
72
83
96
90
113
102
80
87
78
109
111
104
99
116
89
107
115
104
116
104
115
104
114
131
127
83
109
106
98
104
110
101
93
98
87
94
99
81
97
90
112
126
103
121
114
112
109
100
109
121
99
88
128
90
101
138
125
119
97
125
90
77
66
75
72
71
78
72
81
81
79
78
216
200
170
141
113
111
112
108
106
108
113
118
121
125
129
131
133
134
132
130
128
123
124
122
120
118
112
110
111
111
113
115
119
128
130
130
133
137
140
143
149
151
153
153
153
151
149
145
142
141
138
133
128
123
116
105
97
94
90
88
86
84
80
78
79
82
84
86
89
92
92
92
93
94
94
94
93
89
88
87
86
84
83
82
83
84
85
86
88
89
90
92
92
93
94
96
97
98
100
100
101
101
102
103
104
104
105
105
106
106
107
107
107
105
105
105
106
105
105
106
102
100
98
96
95
94
94
96
96
97
99
102
104
106
112
115
117
119
120
120
120
122
120
118
116
113
110
107
101
97
87
83
80
76
74
74
73
72
72
73
71
70
69
68
65
63
62
62
62
60
61
60
59
58
57
55
56
55
54
54
52
48
46
41
39
36
36
39
41
42
40
40
42
52
61
68
72
78
84
93
100
126
137
143
140
134
123
115
103
100
100
94
84
74
71
68
68
71
73
84
94
98
97
93
87
84
78
90
88
74
120
112
136
124
88
127
91
133
103
130
107
128
132
95
97
126
105
126
104
84
139
131
162
115
75
101
101
135
102
94
149
87
137
133
96
128
135
99
125
97
132
104
101
100
123
102
93
120
99
112
105
87
132
103
128
78
148
95
128
65
63
77
70
72
72
77
77
76
75
220
205
175
138
111
111
108
102
100
101
105
110
113
117
118
120
123
126
128
127
126
122
121
120
119
117
110
109
112
113
115
118
121
127
129
125
127
131
135
138
149
152
154
154
153
153
151
146
144
141
137
133
127
120
110
95
84
82
80
78
78
78
76
73
75
77
81
84
87
91
90
91
92
92
92
91
90
87
87
86
85
84
83
83
87
87
88
88
90
91
92
93
93
93
95
95
96
97
99
100
100
101
102
103
103
103
104
104
104
104
104
104
104
105
106
106
106
104
104
103
102
100
98
96
95
95
95
93
93
94
95
98
100
101
106
110
114
117
119
120
121
122
119
114
110
109
109
110
109
110
114
117
116
113
111
104
100
93
91
89
83
79
79
77
70
67
66
66
66
64
66
65
64
62
60
57
56
55
55
57
55
52
49
41
38
36
37
39
40
39
40
40
44
57
67
76
80
86
96
106
111
133
144
147
144
135
115
92
76
74
73
72
65
58
55
54
60
68
84
94
105
108
107
104
102
94
90
82
84
91
90
119
87
139
102
116
128
145
101
128
103
104
133
82
128
101
118
89
134
151
101
91
114
107
83
90
86
110
99
100
146
85
115
132
105
119
148
89
138
103
120
112
97
108
95
124
95
123
88
84
120
84
77
118
131
112
93
132
137
86
77
75
68
72
71
77
76
75
74
219
204
171
134
109
107
102
103
101
100
103
105
107
110
112
113
115
118
122
123
123
122
121
120
119
116
110
108
111
112
114
117
121
126
127
124
127
131
135
139
150
155
156
156
156
155
154
148
147
138
136
132
126
118
108
90
80
77
76
75
75
75
75
73
75
77
79
83
86
90
90
90
91
91
91
90
88
87
87
86
86
85
84
84
90
90
91
90
91
92
93
93
93
93
94
95
96
97
99
99
99
100
101
102
102
103
103
103
102
102
102
102
102
106
106
106
106
103
102
101
101
99
97
96
96
96
97
93
93
93
94
97
99
100
103
111
117
122
127
130
132
133
128
122
118
117
121
124
130
132
142
145
142
138
134
131
125
112
108
103
96
89
86
83
73
70
68
67
67
66
67
67
67
64
61
58
55
55
54
57
55
52
49
39
37
36
37
39
38
38
39
40
45
63
74
85
90
91
105
117
120
139
147
148
142
132
110
84
62
57
54
55
51
48
44
44
55
66
85
99
112
116
111
107
102
96
93
86
91
98
84
106
119
123
73
105
105
110
94
112
103
93
113
93
118
94
124
101
97
129
134
122
113
69
78
83
93
105
105
89
105
116
95
114
100
106
109
88
119
95
107
107
95
100
88
107
101
108
76
86
94
79
73
96
106
111
76
120
113
92
86
75
70
77
69
77
76
75
74
215
193
145
107
107
103
104
104
107
108
109
106
102
101
107
106
105
107
112
115
117
119
120
121
121
119
118
119
115
111
108
109
115
119
117
123
128
135
141
144
155
159
158
160
160
159
159
154
146
142
139
131
122
111
100
85
77
74
72
69
68
70
74
75
78
81
83
83
84
90
89
89
90
91
90
89
86
89
87
84
83
84
86
88
92
93
94
95
96
96
95
94
94
95
95
96
96
96
88
90
94
96
97
99
101
100
99
96
96
98
101
104
106
106
105
104
103
102
102
100
102
99
97
96
95
94
93
92
92
91
93
94
96
97
99
115
123
132
143
154
162
165
165
159
157
160
162
161
165
164
167
169
169
165
162
152
144
130
127
121
111
102
92
91
85
81
79
78
77
67
67
67
67
67
67
66
67
63
60
62
60
54
49
37
38
37
37
37
36
35
33
31
36
58
71
84
94
100
108
118
128
136
135
135
132
124
105
87
74
68
62
39
35
30
29
36
49
61
82
95
112
121
113
109
107
89
89
89
89
87
82
83
85
87
90
97
101
103
107
106
108
109
109
108
107
107
102
101
99
99
98
96
91
83
83
83
83
81
78
72
76
76
79
83
84
83
88
87
89
91
94
94
93
88
87
86
83
80
78
75
73
86
79
74
77
85
94
95
96
97
96
88
79
72
72
74
75
76
77
212
192
149
111
103
105
107
112
115
116
117
114
110
109
107
106
105
103
105
107
107
110
111
112
113
113
115
117
113
113
111
109
108
112
115
126
132
139
145
149
159
164
162
164
165
164
164
159
153
144
139
130
118
107
95
78
72
70
67
65
66
69
74
75
78
80
82
83
84
88
87
88
88
89
88
88
87
85
87
91
94
94
91
87
93
93
95
96
96
95
95
94
94
94
94
95
95
96
87
90
94
96
97
99
100
101
100
99
97
99
100
102
104
104
104
104
104
104
104
103
100
99
97
96
94
93
92
93
92
92
92
93
95
96
98
115
126
137
151
166
175
188
193
191
187
187
186
182
177
174
173
172
168
164
161
158
151
133
127
120
110
103
98
100
101
102
105
107
109
109
109
111
112
113
114
115
114
110
105
101
97
91
86
77
76
73
66
62
60
58
53
47
43
54
65
79
90
91
97
105
109
113
117
123
129
130
123
110
85
76
67
60
53
43
37
30
34
42
60
76
97
111
112
107
105
109
109
110
110
110
110
110
110
109
108
109
108
109
112
115
118
119
119
117
114
114
110
108
108
109
109
110
105
102
101
98
95
94
92
91
88
87
87
88
86
82
82
89
90
92
93
93
92
88
86
85
82
80
77
75
74
76
73
70
69
73
80
87
94
97
98
94
88
80
77
79
80
81
82
214
194
157
119
104
107
110
114
116
118
118
115
113
110
109
107
105
102
101
102
102
106
108
109
109
109
113
115
112
113
113
109
105
109
114
126
132
140
147
151
160
164
161
163
164
163
163
157
151
142
135
125
115
106
94
77
70
68
66
65
65
67
73
75
77
79
82
82
83
86
85
85
86
86
87
87
88
87
89
93
96
95
92
89
93
94
95
95
95
95
94
93
93
93
93
94
94
95
88
91
95
98
100
100
102
103
99
97
97
98
98
100
101
101
101
100
101
101
101
102
100
98
96
95
93
91
91
92
92
91
92
92
93
94
96
112
123
137
152
169
180
191
199
197
194
192
188
182
181
177
170
167
163
158
156
150
144
127
121
114
106
101
98
99
104
108
112
116
119
118
119
122
124
125
127
127
131
129
127
128
127
125
122
119
117
114
109
105
102
101
94
86
78
76
79
86
94
95
100
105
106
106
114
121
131
136
137
127
98
84
77
71
63
54
47
36
38
43
51
69
94
112
123
121
119
118
118
117
117
116
115
116
117
114
112
113
112
112
117
115
118
120
120
119
113
113
114
114
113
115
116
118
114
114
111
107
104
103
102
101
101
99
98
99
97
92
92
94
95
97
97
97
96
92
91
90
88
87
84
81
80
78
77
75
73
74
80
89
98
101
101
100
92
87
82
83
84
85
86
221
207
183
146
109
117
117
118
120
121
122
119
116
114
116
113
109
105
100
100
100
102
103
103
104
104
109
112
106
107
107
103
100
108
115
122
129
139
147
151
160
163
171
173
173
170
168
159
152
137
128
118
110
104
96
80
71
69
67
65
65
68
73
76
77
79
80
80
80
83
84
84
85
85
87
89
91
94
94
93
92
91
92
92
92
92
93
93
93
92
91
89
89
89
90
90
91
91
89
92
96
99
100
101
102
102
94
94
95
96
97
98
99
96
96
96
97
96
95
96
99
97
95
93
91
90
88
91
89
89
88
88
89
89
91
104
115
128
146
166
178
192
203
202
199
194
187
180
174
168
156
152
149
146
143
143
137
123
118
113
108
106
100
101
104
107
111
114
116
118
118
122
124
125
127
128
128
128
128
131
133
134
134
137
138
138
141
142
143
143
145
141
139
137
132
129
131
128
131
133
131
128
132
135
142
150
156
150
125
114
106
96
87
75
68
50
45
43
52
64
85
105
127
130
131
128
126
124
121
118
114
114
115
113
112
113
115
116
121
118
123
126
129
127
123
122
120
120
119
121
124
125
123
125
122
116
112
110
108
107
103
104
104
105
104
100
101
106
107
107
106
105
105
105
103
103
102
102
103
103
103
96
96
95
92
91
92
99
104
105
107
107
105
100
95
94
95
96
97
230
219
203
168
118
125
123
128
130
132
133
129
126
124
120
118
114
109
105
104
104
97
98
97
96
95
102
105
102
101
100
99
101
112
117
124
132
143
151
156
163
167
173
174
172
169
165
153
146
142
131
118
108
103
95
76
78
75
72
69
68
69
72
75
77
79
79
79
79
82
84
84
83
84
86
89
92
93
94
94
95
95
93
91
89
90
90
91
90
89
87
85
85
85
86
86
87
87
82
85
90
92
92
93
94
93
92
92
94
96
98
98
99
97
96
96
95
94
95
95
98
96
95
92
90
88
87
90
87
86
86
85
86
86
92
103
112
124
143
161
175
191
202
201
197
192
186
178
171
165
152
148
147
145
144
141
137
119
111
105
102
99
93
91
88
86
87
86
87
86
87
89
91
92
94
94
94
96
97
100
103
107
110
115
116
119
125
127
130
131
134
132
131
132
129
129
132
134
135
136
135
131
128
126
125
130
133
130
118
110
104
110
103
95
91
79
73
71
78
84
91
100
112
114
116
108
107
105
102
100
98
99
109
107
108
111
110
109
111
108
113
118
121
122
117
116
115
114
115
116
119
119
116
112
111
107
103
100
98
96
98
98
98
100
98
94
95
102
102
100
100
100
100
101
101
102
103
106
107
109
110
101
99
97
95
94
95
95
101
103
105
110
113
115
113
99
100
101
102
232
220
211
178
118
130
132
133
136
138
140
136
131
129
127
122
116
109
104
101
99
98
97
96
96
96
98
99
95
96
96
97
100
114
119
125
130
138
146
152
161
164
171
173
173
168
163
152
146
137
127
115
107
102
97
82
76
74
71
70
71
71
69
73
74
77
78
79
78
77
78
80
83
86
88
87
86
89
91
94
94
91
91
92
91
89
86
85
86
86
86
80
80
81
82
83
84
85
80
82
85
88
89
90
92
90
93
95
96
96
98
99
97
98
97
96
97
97
95
93
93
91
90
89
88
87
86
86
85
84
83
83
83
84
86
95
108
127
149
168
180
193
198
197
194
192
186
178
171
168
163
160
156
151
148
139
132
112
107
102
97
94
86
84
77
76
74
71
69
67
68
69
66
65
65
66
65
65
67
69
73
78
82
87
90
94
106
110
113
114
115
116
116
114
113
114
115
121
123
125
126
123
120
117
108
105
104
105
101
101
102
109
107
107
110
99
90
84
90
93
97
99
100
102
104
95
94
91
87
84
86
89
90
93
97
100
102
103
105
110
111
112
114
113
108
105
104
105
107
109
110
111
111
98
95
91
89
87
87
89
86
88
88
89
90
91
89
92
92
92
93
93
93
94
96
98
100
101
102
104
107
103
101
98
95
91
90
92
93
98
105
110
112
114
116
102
101
99
99
231
216
203
176
127
133
134
139
141
142
144
138
135
131
129
124
119
113
107
104
102
110
109
106
103
100
96
96
92
93
94
95
99
114
120
129
134
141
148
153
160
163
164
166
165
160
156
145
139
131
121
111
104
100
95
82
76
74
72
72
73
73
72
72
73
74
75
76
77
75
74
76
79
83
85
87
87
86
88
90
92
90
89
89
90
88
84
82
82
81
80
80
80
81
81
81
81
81
77
80
82
84
86
88
89
88
92
95
95
97
100
101
100
100
98
97
98
97
97
97
93
91
90
91
90
89
88
91
88
86
86
84
85
84
85
96
109
127
145
162
171
171
186
186
182
177
169
162
158
153
147
144
141
136
133
126
117
96
91
87
84
81
80
75
63
60
59
56
56
58
57
53
51
52
53
55
53
54
53
49
50
53
56
57
60
63
70
74
75
77
76
75
72
67
68
72
74
79
80
82
83
83
81
80
78
73
69
69
74
81
88
96
103
113
118
115
110
108
97
99
98
97
96
98
101
89
88
86
80
75
70
70
77
81
87
93
95
96
97
101
103
104
104
102
95
92
92
92
94
95
96
97
98
89
86
82
80
79
79
83
78
81
82
83
84
82
79
78
79
80
81
82
82
85
88
90
93
94
94
93
95
92
91
89
85
81
79
80
83
88
96
103
108
110
113
103
99
94
90
234
215
191
166
129
132
139
142
143
145
145
140
137
135
134
132
128
124
119
118
115
113
113
113
114
114
115
114
104
105
105
105
108
122
127
133
137
144
149
152
156
158
157
159
159
154
149
138
132
121
116
109
104
99
95
85
81
79
77
77
78
78
76
73
73
72
72
73
73
74
71
72
75
78
82
84
85
87
87
89
90
91
91
90
81
79
78
78
79
81
81
81
81
81
81
80
80
80
80
82
84
86
86
89
91
91
94
97
98
99
104
105
103
103
100
98
98
98
98
99
95
94
94
93
94
93
93
94
90
88
87
86
85
86
87
96
105
117
129
139
146
156
161
155
149
146
143
139
133
128
119
115
112
107
104
94
89
75
75
76
76
76
71
68
56
55
55
55
54
54
53
49
48
48
51
55
60
63
64
63
64
66
68
77
78
80
85
86
87
87
90
88
82
69
68
69
71
72
73
73
73
73
72
71
62
59
61
64
70
74
78
80
92
104
110
111
107
103
93
92
90
87
88
93
97
99
99
96
90
82
69
66
73
76
83
88
90
92
94
101
102
102
102
101
93
90
89
88
88
88
89
90
92
95
90
85
82
81
81
86
89
91
92
92
92
89
83
81
81
81
82
83
84
86
85
88
93
95
94
92
90
90
90
88
84
80
77
77
77
80
86
94
102
107
110
104
99
91
85
235
217
193
169
130
130
138
141
142
143
143
141
138
137
138
136
133
131
129
127
126
119
120
121
121
119
116
115
109
109
108
107
108
119
124
133
137
142
146
149
152
153
152
154
154
149
144
133
127
119
116
110
105
102
97
88
87
84
82
81
81
81
78
76
75
74
73
71
72
72
70
71
73
76
79
82
83
87
86
87
88
91
90
89
79
77
76
77
80
82
83
82
82
82
82
82
82
82
85
86
87
87
88
90
92
91
96
99
101
102
105
106
105
102
99
97
96
97
96
97
97
96
95
96
97
96
95
96
93
91
90
89
89
90
91
95
100
108
118
126
131
144
140
134
131
131
130
125
115
110
99
95
92
88
85
81
76
69
70
74
74
72
69
66
56
55
55
55
54
52
52
51
50
50
54
57
62
63
67
68
71
73
76
85
88
90
94
95
95
95
95
93
90
83
81
84
86
79
79
79
78
75
74
73
61
60
63
68
71
73
75
76
88
97
101
103
98
91
88
87
85
83
83
87
91
103
104
102
98
90
78
74
77
79
83
86
87
90
92
100
101
102
102
100
94
91
87
86
86
85
85
88
89
98
94
88
85
84
86
89
90
92
93
93
92
90
82
80
81
80
80
81
81
83
85
88
94
97
96
94
92
91
90
89
85
81
77
76
77
78
82
89
97
104
108
107
101
94
88
232
224
206
187
136
125
133
135
136
138
139
138
138
138
143
141
141
141
142
141
140
142
142
143
144
142
139
137
125
123
120
117
115
122
125
131
135
140
143
144
146
147
142
145
144
139
134
124
118
118
117
114
109
106
101
95
95
92
88
86
85
85
81
82
79
77
73
71
71
70
72
72
73
75
76
78
80
82
81
80
83
85
87
84
83
81
79
79
80
81
81
82
82
83
84
85
86
87
92
93
92
92
91
92
94
94
104
107
107
108
111
111
110
101
95
93
92
93
94
95
99
98
98
99
100
100
99
102
101
99
100
100
101
101
96
92
92
95
101
107
110
107
106
108
114
117
111
101
100
95
84
79
76
73
70
70
67
65
67
68
65
63
68
66
58
54
52
48
45
46
48
52
53
53
56
58
66
68
72
76
78
81
83
96
96
99
105
106
105
106
109
109
107
100
97
97
98
98
97
95
92
85
84
82
79
76
76
77
78
79
82
76
85
89
89
99
93
83
84
85
82
78
73
74
76
96
101
105
106
104
98
96
86
85
84
84
83
87
91
95
96
99
98
98
93
90
83
80
79
78
78
80
83
102
98
93
90
88
90
94
96
97
98
98
96
94
86
86
85
83
83
82
81
81
81
88
95
99
99
96
94
87
86
85
82
77
73
71
76
73
73
78
87
97
103
108
104
98
94
240
233
219
208
143
118
127
124
127
131
134
135
138
139
144
145
147
149
151
154
155
157
157
158
158
156
152
151
150
148
145
143
140
133
131
129
132
136
138
138
133
133
133
133
133
134
134
127
123
118
116
115
111
108
103
99
94
92
91
89
87
86
87
83
81
78
76
75
72
67
72
72
74
76
78
80
83
85
85
85
85
85
86
86
81
80
80
79
80
80
82
82
82
81
81
82
83
85
94
94
93
92
91
94
98
101
113
117
118
119
121
121
119
120
114
107
102
100
99
100
99
96
100
105
105
104
103
102
105
107
107
107
107
106
105
96
93
97
100
101
101
105
100
102
103
103
105
108
111
114
110
104
97
88
80
65
62
57
56
56
55
55
55
54
49
47
45
45
45
44
44
46
48
52
54
58
58
61
65
70
72
75
78
83
86
91
98
102
106
110
113
112
113
112
111
110
109
108
107
105
103
100
100
99
93
91
88
86
88
88
88
88
89
91
92
87
83
80
79
78
78
78
77
74
71
68
71
75
82
91
106
109
113
109
103
94
86
79
80
81
85
87
88
86
80
79
74
71
69
70
75
78
82
92
91
91
92
91
91
90
94
95
97
97
97
96
93
90
89
87
83
80
77
74
79
82
88
93
97
99
100
95
88
84
83
80
73
69
68
67
69
73
78
84
90
102
103
101
98
245
242
236
228
157
117
111
116
119
122
124
128
131
133
141
143
147
150
157
162
164
165
165
166
165
164
160
159
160
158
153
151
149
143
140
136
135
134
130
125
124
124
126
126
125
126
127
126
124
121
120
120
119
116
111
104
99
98
97
95
94
92
90
86
84
81
79
79
76
71
74
75
76
77
79
80
82
83
83
83
83
83
84
84
84
83
81
80
80
80
80
82
80
80
81
82
83
85
92
93
94
95
97
99
105
107
116
120
122
123
126
126
125
125
119
112
107
104
102
103
98
99
104
108
107
106
106
108
113
116
117
114
113
111
112
101
99
99
100
98
96
94
94
93
91
93
105
117
124
131
140
141
142
138
131
105
98
77
70
63
58
56
55
55
50
47
46
46
45
41
42
45
48
51
54
55
56
58
59
61
63
65
69
73
76
82
93
99
105
109
114
115
117
120
121
119
119
112
113
113
113
109
107
105
108
105
101
98
96
95
94
95
94
94
92
90
90
89
84
83
81
80
75
70
66
67
66
65
66
71
85
89
99
103
108
110
107
91
85
86
83
81
81
84
80
78
73
71
68
66
68
71
77
83
84
88
90
92
92
90
94
95
96
96
95
94
92
88
88
85
83
80
78
76
74
77
80
87
91
95
98
97
93
89
85
81
73
69
60
62
64
63
62
65
75
90
94
97
96
247
247
238
231
160
118
108
112
115
117
119
124
127
130
139
142
146
150
159
164
167
169
169
169
169
167
163
162
162
159
156
153
150
144
142
140
138
136
130
125
123
125
126
126
125
126
126
124
123
122
121
121
120
117
111
104
102
101
100
99
97
94
92
90
88
84
83
81
79
74
76
76
77
78
79
80
81
83
83
83
83
83
84
84
84
83
82
80
79
79
80
81
80
79
80
81
83
85
90
90
93
94
96
100
104
107
117
122
125
126
128
129
127
125
119
114
109
104
103
102
98
100
105
107
107
108
110
116
115
115
113
113
113
113
113
103
100
99
99
97
95
89
89
88
88
94
111
126
139
146
156
158
157
152
146
125
117
94
85
76
70
65
60
58
51
49
46
45
44
42
43
47
48
50
52
53
53
55
56
55
58
60
63
72
76
82
92
96
102
106
112
114
118
122
123
122
120
113
114
114
114
112
110
109
111
110
109
109
104
100
97
99
98
96
95
91
90
89
86
84
82
80
74
70
66
68
67
67
66
68
74
75
84
91
99
108
111
102
97
96
90
84
81
82
82
82
76
75
72
71
69
72
77
80
83
86
90
92
92
91
92
93
94
95
95
94
91
88
87
86
84
81
79
77
74
75
79
82
88
92
96
97
95
91
86
81
75
68
60
62
63
62
60
61
69
84
90
95
96
247
249
241
234
171
124
107
107
108
111
113
119
123
126
136
139
143
148
158
164
167
173
173
174
174
172
168
167
165
163
159
157
155
148
145
141
140
136
132
127
126
127
128
129
132
136
138
135
133
135
133
130
125
122
117
111
105
105
105
104
101
97
93
95
93
90
89
87
85
79
79
79
79
80
79
79
80
81
81
81
81
81
82
81
80
80
79
78
79
79
80
79
79
79
80
81
83
85
88
89
92
94
96
99
103
107
119
125
127
130
132
133
132
129
124
120
114
110
107
105
100
99
102
103
104
108
114
117
118
118
117
116
115
114
111
101
99
99
97
94
91
84
80
82
90
105
128
146
167
174
180
178
174
166
158
143
138
123
114
104
95
90
79
75
64
57
52
48
47
46
47
50
50
50
49
48
50
51
50
47
48
50
53
64
68
74
84
90
96
100
106
108
113
118
117
115
113
111
111
111
113
115
117
118
117
118
118
119
119
117
114
108
107
106
103
95
92
89
87
84
82
80
75
71
67
70
68
66
65
65
65
65
65
67
74
83
95
107
108
105
104
98
92
86
80
81
84
84
84
82
78
76
78
86
86
89
89
92
94
95
91
91
93
93
93
92
90
87
86
84
83
82
79
78
76
77
76
78
83
88
93
94
95
92
86
83
79
72
59
59
59
60
60
60
61
74
84
92
94
254
250
243
235
192
141
96
102
104
107
109
114
118
122
132
136
141
147
156
161
163
167
167
167
167
165
160
159
158
156
154
151
149
140
137
136
130
127
126
126
128
132
137
139
143
145
146
150
152
148
145
141
136
132
126
116
108
105
104
107
106
101
96
96
95
94
93
92
90
88
86
85
82
82
83
82
81
81
80
80
80
80
80
80
79
79
79
79
79
79
79
80
79
79
79
80
81
83
83
86
91
94
96
102
110
116
121
128
136
140
140
139
137
130
124
121
119
118
114
111
104
100
100
100
101
106
112
117
123
125
126
125
121
119
117
99
96
97
95
86
77
80
73
82
97
116
135
149
159
171
182
181
180
175
169
154
151
135
129
125
114
105
100
87
74
67
54
49
53
47
46
48
49
49
49
47
51
48
44
41
44
47
49
57
60
66
78
85
91
96
99
102
106
108
107
107
108
108
106
103
102
108
113
116
114
114
114
114
114
114
114
115
115
115
113
106
101
98
97
90
84
81
78
74
69
69
68
66
65
66
68
69
64
68
73
76
80
95
100
105
106
107
106
101
92
89
87
90
93
94
91
87
81
85
88
93
93
92
91
98
89
92
95
94
91
89
92
88
87
85
84
81
79
76
78
77
77
80
87
90
93
98
97
95
92
87
80
72
61
60
60
60
58
57
55
60
71
84
91
253
250
245
236
194
144
101
103
104
106
108
113
118
121
128
132
137
142
151
155
158
162
163
164
164
163
161
160
157
155
153
151
149
141
138
134
130
126
126
126
129
133
136
140
144
147
149
151
154
151
147
143
138
133
127
116
109
105
103
106
104
100
97
97
96
95
94
93
91
90
88
86
84
83
83
82
81
80
80
80
80
80
80
79
78
78
78
78
78
78
78
79
78
78
78
79
80
82
83
86
91
95
98
104
112
119
126
133
139
142
143
141
139
131
126
122
121
118
114
111
105
99
97
97
99
104
110
114
121
122
123
122
118
117
115
100
95
95
90
82
76
75
70
78
91
109
130
145
153
160
171
175
178
174
168
157
154
141
136
132
122
112
103
93
79
70
55
46
47
47
47
50
52
51
50
48
50
48
45
42
44
46
48
53
57
62
76
82
90
95
99
103
107
108
108
107
108
105
104
101
100
103
107
109
109
109
110
111
112
112
112
112
112
112
112
107
104
102
99
94
88
85
84
79
74
71
68
66
65
67
68
70
70
73
74
74
75
83
86
98
101
104
103
102
97
96
92
90
89
92
93
92
83
85
87
91
93
94
92
93
88
90
91
90
88
87
88
86
85
84
83
81
80
76
79
78
79
81
87
90
93
99
97
95
92
88
81
73
62
60
59
58
56
54
53
58
69
82
89
250
251
248
240
192
145
107
102
104
106
106
111
115
118
119
123
127
132
138
142
144
149
150
151
153
153
151
151
151
149
147
144
141
132
129
123
119
118
118
119
124
129
134
139
146
152
154
155
155
155
151
145
140
133
125
114
108
103
100
100
101
98
99
97
98
96
96
95
94
93
92
89
86
85
83
81
79
77
78
77
77
78
78
78
77
77
77
77
77
77
77
77
76
75
75
76
77
79
84
88
93
97
101
108
116
123
125
129
133
135
134
133
130
130
126
122
118
116
113
111
103
96
92
90
91
96
103
109
113
115
116
114
113
111
109
102
95
86
79
74
72
65
63
65
69
79
97
112
127
134
150
149
148
146
143
146
146
141
138
135
129
122
114
106
90
79
65
55
51
51
48
46
47
49
50
49
44
44
44
43
42
41
41
47
49
54
64
71
78
84
86
89
93
96
95
95
96
94
93
94
94
95
95
95
94
95
97
98
101
101
102
101
103
104
105
106
107
105
101
100
99
101
99
95
91
88
84
78
73
71
72
71
74
74
73
72
71
74
75
75
78
84
88
91
99
102
101
97
92
91
92
95
92
90
89
87
89
91
91
85
90
85
81
80
83
83
79
80
80
80
79
78
79
79
79
79
82
83
86
88
92
97
96
95
93
91
85
78
65
61
56
52
50
48
50
53
62
73
80
253
253
250
241
196
148
108
104
104
106
106
110
114
117
120
123
126
129
133
136
137
142
142
142
142
139
134
133
140
138
135
133
131
122
117
117
113
110
111
113
118
123
130
134
140
145
146
148
149
149
145
140
134
127
119
107
101
98
95
97
97
95
95
95
95
95
95
95
94
92
91
89
85
83
82
80
77
73
75
74
75
76
76
77
78
78
78
78
78
78
78
77
76
76
76
76
77
79
86
90
95
98
101
107
116
121
126
127
131
132
131
130
128
126
123
118
112
108
106
107
98
92
90
88
87
91
96
104
105
107
108
107
105
105
102
95
88
79
71
67
65
61
55
52
50
49
55
62
66
76
102
102
101
105
113
119
124
127
126
125
121
117
109
104
89
84
83
80
79
70
63
50
47
45
44
43
38
37
37
36
35
35
34
46
48
49
55
62
69
74
84
87
92
95
94
95
95
90
91
90
91
91
91
91
84
84
84
85
87
88
89
91
91
90
90
92
93
93
94
94
97
99
101
100
101
102
99
95
91
88
83
82
80
76
72
68
67
64
63
65
67
71
73
76
87
91
96
101
103
98
91
87
94
95
92
88
86
86
86
87
88
84
79
74
74
74
76
71
71
72
73
74
75
76
77
81
84
83
83
84
90
95
95
94
94
92
87
81
67
62
56
51
47
45
46
50
55
63
69
254
253
249
243
205
157
115
105
105
107
108
110
115
117
120
123
126
129
132
134
135
140
140
140
140
138
133
132
132
131
130
130
129
123
121
121
116
114
115
116
120
124
128
131
135
139
139
143
144
144
140
135
129
123
116
104
98
94
93
96
97
93
93
93
93
93
93
92
92
92
90
87
85
82
81
80
77
72
73
73
74
75
76
76
78
78
78
78
78
78
78
78
78
77
77
77
79
80
86
90
94
97
101
105
112
118
123
125
128
128
129
128
127
123
120
115
109
105
103
104
96
92
90
89
88
90
94
99
101
102
101
101
100
100
96
87
80
74
67
62
59
57
50
49
46
43
43
45
45
46
63
71
76
84
91
99
105
112
111
113
111
106
99
97
89
87
87
85
83
80
76
65
59
52
45
40
39
37
37
35
35
35
36
42
43
46
54
61
69
76
82
86
91
94
94
94
94
93
92
90
89
86
86
85
81
81
82
82
83
83
83
82
81
81
82
85
86
88
88
89
92
94
97
99
101
99
98
97
96
96
92
89
88
84
77
73
72
68
66
68
68
68
69
70
78
83
90
94
97
96
92
88
88
92
93
93
91
87
85
83
85
82
77
72
68
68
74
65
68
69
70
72
74
76
77
81
83
82
82
82
87
94
93
93
94
92
87
82
67
63
58
52
47
45
44
49
53
60
65
254
252
251
246
216
176
134
112
104
103
107
115
121
120
122
124
127
131
134
134
134
135
135
136
136
137
137
137
130
130
129
130
130
132
131
129
127
123
122
122
128
131
129
130
133
137
139
141
140
139
136
130
123
116
110
98
96
95
93
92
90
88
87
89
91
91
92
91
91
89
83
83
82
81
79
78
77
71
72
72
72
73
74
75
77
77
76
76
77
78
80
79
79
78
79
80
82
85
87
90
94
100
106
110
113
115
117
119
123
125
126
125
124
116
113
109
105
101
99
98
93
92
93
95
96
95
94
98
93
92
93
93
93
92
86
75
70
65
61
56
54
47
46
45
42
39
36
34
35
35
31
31
36
44
51
66
70
80
81
80
77
75
79
79
79
79
81
80
81
92
92
93
92
85
73
64
51
44
38
38
41
42
41
32
34
39
54
63
70
74
83
84
86
91
92
92
93
95
94
93
91
87
83
82
83
82
80
78
76
75
74
75
72
71
70
74
78
80
77
78
81
84
92
96
98
94
95
96
96
95
92
91
89
85
82
80
81
82
81
77
74
71
66
61
55
54
66
70
76
83
91
96
96
83
84
88
91
93
92
83
76
78
78
72
65
60
63
59
60
62
63
65
67
72
74
76
79
82
85
87
88
88
90
93
93
92
87
81
71
64
55
50
50
51
50
49
52
58
64
255
252
251
247
226
193
155
107
101
104
109
116
124
126
126
128
131
134
135
135
134
131
131
131
131
131
132
132
130
131
131
132
133
135
135
133
130
128
124
122
124
125
127
129
130
132
133
134
133
132
129
125
120
113
106
90
89
88
87
85
82
81
80
84
85
87
87
88
88
87
82
82
80
79
77
75
74
72
72
72
72
73
74
74
76
76
75
75
76
78
80
82
83
84
86
89
92
95
100
99
99
100
103
109
114
117
115
113
112
113
110
107
104
110
105
99
95
93
93
93
90
89
90
92
93
92
91
84
83
84
86
86
85
83
80
69
63
57
52
47
44
45
44
43
40
37
34
33
30
30
28
25
24
24
25
35
38
48
52
54
55
56
53
51
53
57
64
71
76
84
86
89
89
90
91
92
86
77
66
52
50
47
45
42
43
47
57
65
72
75
81
83
84
88
89
89
88
90
89
87
84
79
77
76
75
76
77
78
76
73
72
72
72
73
72
73
73
74
70
71
73
75
82
86
87
92
93
93
93
93
89
88
87
85
85
86
86
86
85
84
84
81
78
74
69
68
69
70
73
77
84
90
95
85
82
79
82
89
95
95
90
84
75
71
69
66
55
61
62
64
65
68
71
75
76
79
80
82
84
86
86
87
89
91
92
91
88
86
77
73
67
64
63
61
59
54
55
58
60
255
253
251
247
233
205
170
108
100
103
111
117
125
129
129
131
133
136
137
136
135
132
132
132
131
131
132
131
130
132
133
134
136
137
138
137
135
132
128
125
122
122
127
127
127
127
128
127
127
126
124
121
117
110
103
87
86
85
83
81
79
76
75
79
80
81
83
84
84
83
81
80
79
77
76
74
73
72
73
72
72
73
74
74
75
75
75
75
76
78
80
83
84
86
89
93
96
99
100
99
98
99
101
104
107
109
116
112
111
109
108
104
102
102
97
92
90
90
92
93
89
89
90
91
92
92
90
84
82
82
83
82
80
78
66
57
53
50
48
45
43
44
43
41
39
37
34
33
32
32
28
26
25
25
26
32
34
40
43
45
46
48
47
44
40
43
49
56
61
73
77
84
85
87
91
95
97
91
84
70
64
58
53
51
51
53
63
70
77
81
82
83
85
86
87
86
86
88
87
84
82
77
76
75
72
74
75
77
75
73
72
73
74
75
75
75
74
73
71
70
72
73
79
81
83
87
88
89
90
89
86
84
84
83
84
85
88
87
85
83
83
81
80
77
73
73
73
73
74
77
82
89
95
86
84
82
81
84
90
100
94
89
81
75
70
66
57
59
61
62
65
67
69
75
78
80
82
84
85
86
86
87
89
90
90
91
90
89
81
78
73
71
68
66
62
59
60
61
62
255
254
254
251
241
219
189
122
104
99
109
119
125
127
132
134
137
140
141
140
140
139
139
139
139
138
137
136
135
137
140
143
146
146
146
146
145
142
139
134
127
125
125
123
121
118
117
114
114
115
113
111
109
105
99
87
83
81
79
77
74
72
69
68
71
73
75
77
78
78
78
77
77
77
76
75
75
76
76
76
76
76
76
76
75
75
76
76
78
80
82
86
88
90
93
95
96
97
100
102
105
107
107
104
102
100
98
96
95
95
95
94
93
90
88
86
86
88
91
93
91
90
91
93
94
93
92
86
78
74
71
69
66
65
69
59
55
53
50
47
45
44
41
38
37
36
35
35
31
28
28
33
39
44
47
47
47
43
41
39
38
37
38
38
40
44
50
55
59
71
75
83
86
87
90
91
95
98
102
103
98
92
88
74
72
70
71
75
81
83
86
87
87
87
86
86
85
84
83
80
78
76
78
78
73
73
73
73
73
73
73
77
78
79
80
79
79
78
78
78
78
78
80
82
84
82
82
83
84
84
81
78
76
74
74
75
78
78
78
82
83
84
85
85
83
82
82
80
79
78
81
87
93
90
94
97
93
85
83
94
90
92
92
86
74
67
64
56
57
59
62
66
69
75
80
83
84
87
88
89
90
89
89
90
90
91
92
92
86
85
81
78
74
71
68
62
63
65
66
254
255
255
254
243
222
193
139
109
95
104
119
122
123
132
134
138
141
145
145
145
142
141
141
140
140
138
138
137
140
144
149
150
152
152
152
152
150
147
143
133
130
124
122
118
114
111
108
107
111
108
105
103
101
98
92
84
83
81
78
75
72
70
63
65
67
70
72
74
74
74
75
74
75
76
77
78
78
78
78
78
78
78
77
76
76
77
78
80
82
84
94
95
96
97
98
97
96
100
99
99
98
98
98
99
98
90
87
85
86
86
86
85
92
90
88
87
85
85
84
88
87
88
90
91
90
89
94
83
79
77
78
78
78
65
58
57
57
57
56
54
44
40
38
36
36
35
36
36
37
48
57
63
65
64
66
66
63
60
55
52
49
47
52
63
67
70
70
70
70
66
65
73
81
85
88
92
96
101
111
114
117
120
115
111
103
90
89
89
90
91
91
92
92
90
88
88
79
77
75
73
76
78
79
80
77
74
71
70
73
74
74
75
76
77
80
80
82
83
82
82
82
83
83
84
84
85
86
87
88
84
81
71
67
64
63
65
67
68
71
73
75
78
78
77
78
81
79
76
76
79
82
85
95
93
94
97
100
96
79
92
89
88
88
86
80
61
58
59
61
64
67
71
79
79
83
85
89
91
93
94
93
92
91
90
90
91
94
94
92
88
83
77
74
73
76
79
84
89
255
252
255
254
242
229
211
159
103
90
110
109
125
128
134
136
138
140
142
142
142
142
143
143
143
141
140
141
142
143
145
148
149
153
154
154
153
152
149
145
135
133
130
124
116
110
109
111
111
110
110
110
109
106
99
90
85
81
77
74
71
69
66
63
64
66
68
70
73
75
74
76
78
78
77
77
78
81
81
81
80
80
79
78
83
83
82
80
79
80
83
89
90
93
95
98
99
100
100
100
100
99
98
95
93
92
88
88
86
85
84
84
84
85
85
84
84
83
83
82
89
90
89
88
89
91
93
95
93
88
82
78
77
76
69
61
57
54
52
51
51
49
44
38
34
35
38
40
34
45
63
67
71
72
72
72
71
71
69
66
60
55
58
61
68
71
71
71
70
64
67
66
63
67
75
84
88
93
99
108
112
116
121
121
121
119
109
105
102
101
90
90
91
93
91
90
89
76
77
76
76
78
81
81
80
78
77
74
71
69
69
73
74
75
77
79
80
80
87
86
83
82
83
84
85
84
84
85
87
87
84
80
75
72
69
68
66
64
64
60
64
69
74
77
78
78
79
76
77
83
84
81
77
86
90
95
98
98
95
89
86
88
91
94
90
85
72
64
60
57
61
68
75
80
80
84
88
91
94
94
93
93
90
89
90
91
89
90
87
87
85
86
87
88
89
95
95
96
98
255
252
254
255
246
234
217
177
117
91
103
109
119
122
134
135
137
139
142
143
143
142
143
143
142
139
140
141
143
144
146
147
149
152
153
151
150
149
146
143
132
129
127
123
118
114
111
108
108
108
109
108
106
103
98
89
82
78
74
71
69
67
64
66
67
68
68
68
70
70
73
75
77
78
78
79
81
83
83
82
82
82
81
81
83
83
82
80
79
79
82
87
89
91
94
96
97
97
98
99
98
98
96
92
88
86
82
80
80
80
82
83
84
85
84
84
85
84
84
84
87
89
89
89
91
94
97
94
93
94
93
88
79
72
74
67
62
58
53
50
49
48
46
42
38
36
36
37
51
61
77
80
82
84
83
85
84
83
82
79
76
72
71
74
77
77
77
75
74
73
72
67
65
62
61
62
69
74
82
97
105
113
117
123
125
128
127
123
121
121
120
117
113
99
92
86
83
79
78
77
77
83
86
88
84
84
82
80
70
66
64
63
65
66
70
76
79
80
89
89
89
89
87
85
84
87
88
88
89
89
85
82
75
73
71
69
67
66
66
64
64
67
69
71
72
73
70
69
69
76
82
81
80
80
82
87
91
93
94
91
86
88
90
93
93
93
89
81
76
71
70
73
77
81
78
81
85
89
91
93
95
92
90
90
91
92
91
93
102
103
104
104
105
107
107
106
106
105
105
253
250
253
254
248
237
221
189
129
91
94
111
118
123
131
132
135
137
141
141
143
141
142
142
142
140
139
140
139
140
140
141
143
144
144
144
144
143
142
138
130
128
125
122
118
116
114
107
103
103
103
102
101
97
93
87
80
77
73
70
69
67
64
63
65
67
68
70
72
75
72
74
75
76
77
79
82
84
84
84
83
83
82
82
82
82
82
81
79
78
80
83
85
87
89
90
91
91
91
92
93
93
90
87
83
81
80
79
78
80
83
86
88
84
84
84
85
86
86
86
85
85
85
86
88
94
97
99
92
92
93
92
87
82
70
64
60
57
53
51
50
53
43
41
39
38
44
52
67
76
88
90
92
93
93
95
94
93
91
88
83
79
76
77
78
78
76
75
74
70
68
72
75
73
69
64
59
63
67
81
89
95
98
111
115
120
126
126
126
126
123
122
119
115
113
112
111
104
102
98
93
89
88
88
86
86
87
85
78
73
70
67
67
69
72
80
84
87
88
91
92
94
91
87
85
91
91
91
91
89
83
80
80
78
77
76
75
75
75
75
75
75
75
75
74
75
75
81
88
94
99
95
76
75
75
77
81
88
92
93
91
91
92
93
93
94
95
95
92
87
84
84
83
84
86
88
89
90
92
92
92
90
89
92
99
103
103
107
114
114
113
112
108
106
103
108
107
105
103
253
250
251
251
246
236
220
192
136
95
94
110
117
122
128
130
133
135
139
140
141
140
141
143
142
139
138
139
138
138
138
139
140
140
140
140
140
140
140
138
131
129
126
122
118
115
113
106
103
100
100
99
97
93
91
85
80
77
73
71
71
69
66
64
66
67
69
71
74
77
73
74
75
76
76
79
83
85
85
85
83
83
82
82
81
82
83
81
79
78
79
81
82
84
86
87
88
88
89
89
89
88
87
84
82
81
80
79
79
80
83
87
89
84
85
85
85
87
87
87
84
84
83
83
87
91
95
98
92
92
92
93
89
87
73
64
59
55
51
51
51
52
41
42
42
42
50
60
72
80
91
91
94
94
95
98
98
96
94
88
82
78
74
74
75
75
76
76
76
73
72
75
75
72
67
62
61
61
63
76
83
87
90
107
111
117
123
124
125
125
122
121
119
116
115
115
115
115
113
110
106
99
96
96
90
89
88
86
79
77
75
69
69
69
71
78
82
85
88
90
93
95
92
90
88
91
91
91
89
88
81
78
81
80
79
78
77
77
77
80
80
81
81
81
78
77
82
89
96
101
103
98
74
71
69
70
75
82
88
90
91
90
92
91
92
93
94
94
93
92
91
89
88
88
90
91
91
91
92
94
95
94
94
98
105
109
110
112
119
119
117
115
111
106
101
107
105
102
100
252
248
250
249
242
232
218
199
149
104
95
105
108
117
124
127
130
133
137
139
140
140
141
141
140
138
138
139
139
139
138
139
139
139
139
135
136
138
138
137
134
132
128
124
117
113
110
106
104
96
97
94
92
88
87
82
83
80
76
74
73
72
70
70
71
71
72
72
73
74
76
76
76
75
75
78
82
84
84
84
82
82
82
81
81
82
83
82
79
78
77
77
78
80
82
83
83
83
86
85
82
81
80
82
83
84
79
77
76
77
80
84
87
85
85
86
86
88
88
89
83
81
79
78
81
86
90
88
97
99
96
92
88
87
87
70
60
53
49
48
49
55
57
66
70
67
71
80
79
87
94
95
97
99
99
100
101
102
98
90
80
74
70
71
73
75
78
79
81
70
71
73
72
69
67
65
60
59
60
72
80
84
86
94
97
100
104
106
109
111
112
111
110
110
111
113
114
116
118
121
122
122
121
120
116
112
109
105
95
93
91
82
81
79
78
82
86
88
87
89
91
92
93
93
92
91
91
89
89
85
79
76
78
78
77
75
76
77
77
81
82
85
87
87
80
78
88
92
95
94
96
96
76
63
60
58
62
71
77
80
82
85
87
90
92
93
94
88
91
95
97
96
95
93
88
89
91
93
97
101
105
110
110
113
117
118
116
115
112
112
111
110
106
101
97
93
90
86
82
243
239
239
238
229
220
204
189
149
108
94
105
110
114
118
121
127
131
138
141
144
142
144
146
144
141
137
138
136
136
136
135
134
133
133
132
134
135
134
134
131
130
127
126
125
122
118
111
109
104
99
94
88
86
84
81
83
82
79
76
73
71
70
67
67
69
69
70
70
71
71
72
72
73
75
76
76
80
80
81
83
83
82
81
76
77
78
78
77
76
77
78
78
78
78
78
79
79
80
80
82
83
83
83
82
81
76
75
74
76
78
81
83
80
81
82
83
82
80
81
77
73
71
71
73
76
78
85
87
90
92
92
90
88
88
80
72
64
59
57
56
57
68
71
72
75
80
86
89
92
98
98
96
97
97
102
103
102
96
87
78
72
70
70
71
71
72
73
73
73
72
68
66
65
63
62
65
68
72
78
83
87
90
99
100
101
103
101
98
97
94
94
93
95
97
99
100
103
105
108
110
112
116
117
121
120
119
120
118
114
110
102
100
98
95
92
93
93
89
90
90
94
95
93
92
90
88
84
81
77
77
77
76
76
77
76
75
79
80
87
89
92
95
97
95
93
92
96
98
94
90
81
39
39
43
49
59
68
74
76
78
79
79
81
83
83
84
95
95
96
98
99
99
99
98
95
93
95
99
104
108
109
111
113
114
115
114
112
111
109
106
101
97
92
85
86
85
83
82
240
236
236
234
222
212
197
175
146
114
100
102
107
113
118
121
127
131
138
141
144
142
143
144
143
141
136
137
134
133
132
131
129
129
129
125
128
131
132
134
131
130
131
130
128
125
121
113
111
108
102
95
87
85
82
80
83
82
79
76
73
71
69
66
67
67
67
67
68
68
69
70
71
72
73
74
75
78
79
80
81
82
81
80
74
75
77
76
75
74
75
77
77
77
77
77
77
78
78
79
80
81
82
80
80
80
73
72
72
74
76
79
80
76
77
78
78
78
78
77
75
72
69
69
70
72
73
79
85
88
88
87
87
86
86
78
73
71
67
63
61
64
74
77
78
80
85
89
90
94
96
96
94
92
93
98
98
94
89
83
76
71
69
68
68
68
68
68
68
65
64
62
61
61
60
61
65
69
74
81
85
89
92
98
100
101
101
99
97
94
88
87
86
85
86
87
88
90
94
98
101
107
111
113
121
120
120
123
123
119
118
111
110
108
105
103
102
104
99
98
99
99
98
97
94
91
88
83
80
76
72
72
73
73
73
74
74
78
81
86
88
92
94
96
95
93
92
96
96
91
85
73
32
30
35
43
55
67
74
78
82
82
83
82
82
83
83
89
91
94
98
98
98
95
96
97
100
101
103
105
109
108
111
114
116
115
111
105
103
101
98
93
90
84
80
84
83
81
79
234
230
230
226
211
197
180
146
132
115
103
100
105
112
117
121
126
130
136
140
142
141
140
140
140
139
134
133
130
128
126
123
120
120
120
121
123
126
129
130
128
127
131
130
128
125
121
114
111
106
100
94
87
85
82
81
81
81
79
77
75
73
70
67
66
64
63
62
63
64
65
65
66
68
68
70
71
74
75
76
77
79
78
78
74
76
76
75
74
73
74
74
74
74
74
74
74
74
77
78
80
81
82
82
82
82
78
77
76
75
73
72
72
75
75
75
75
76
76
77
77
76
74
73
71
70
70
70
78
80
79
79
82
85
87
83
85
88
89
86
84
82
86
87
89
90
93
94
91
92
92
90
87
87
88
88
87
82
78
75
73
72
70
70
68
66
65
64
64
61
61
62
63
67
69
71
71
76
82
91
93
96
99
102
103
104
103
100
96
95
91
88
84
77
74
73
72
68
72
76
81
90
94
96
104
106
110
113
116
116
117
113
113
113
113
113
114
115
119
119
116
114
111
107
105
107
105
101
96
93
86
85
81
81
79
78
77
78
80
84
85
87
89
90
91
90
90
91
91
87
82
70
42
33
37
45
57
68
77
84
82
82
83
84
85
86
86
88
88
87
88
89
91
94
87
92
98
101
101
100
103
107
107
105
102
100
96
93
93
91
88
86
84
82
79
80
79
77
75
233
229
227
223
202
188
169
151
135
113
100
104
106
105
114
118
123
127
134
137
140
140
138
137
136
137
132
129
130
127
123
119
117
116
116
120
120
122
124
127
133
135
136
135
134
133
130
124
123
112
108
103
98
94
89
81
77
78
78
77
75
72
68
66
64
61
59
57
57
60
61
62
62
63
65
66
67
69
71
73
74
75
76
76
73
74
74
73
70
69
70
72
72
72
72
72
72
72
74
75
77
79
80
81
80
81
78
77
77
76
75
74
74
74
73
73
73
74
76
77
79
80
80
79
76
74
73
73
69
70
74
78
84
85
87
89
92
94
98
101
105
104
103
102
102
102
101
100
98
97
90
84
80
77
77
76
75
73
71
69
68
67
69
69
67
66
65
64
64
65
65
66
69
72
78
81
81
86
91
99
100
101
103
106
104
102
99
97
97
96
88
86
82
77
76
75
75
66
69
73
75
79
81
81
91
93
99
103
107
110
112
107
109
111
114
119
121
124
123
121
119
118
116
115
113
113
114
112
109
107
103
100
101
101
100
99
98
100
102
99
99
99
99
98
99
99
99
97
94
93
88
82
73
63
62
63
67
74
79
86
83
83
83
82
82
82
83
90
89
88
88
88
88
90
88
87
86
88
92
95
97
99
97
95
93
91
91
91
92
89
87
86
86
86
85
88
87
84
82
239
235
234
228
206
192
173
159
140
115
101
106
106
101
114
117
122
126
133
136
138
140
138
135
135
137
132
129
130
127
123
119
116
115
116
118
118
119
122
126
137
140
139
139
139
137
135
130
129
117
113
109
103
99
91
80
77
78
78
77
75
72
68
66
64
61
58
57
57
60
61
61
62
62
63
65
66
68
69
72
73
74
75
74
71
72
72
71
68
67
67
72
72
72
72
72
72
72
72
73
75
76
78
78
79
78
75
75
76
76
76
76
76
73
72
71
72
73
75
76
79
80
81
80
77
75
73
74
66
67
73
79
84
85
86
91
92
93
97
105
111
112
108
108
107
107
105
103
104
101
91
83
76
74
73
70
71
70
68
67
66
65
68
67
66
65
64
64
64
65
64
65
68
73
78
81
84
89
95
101
102
103
104
106
104
102
97
96
95
96
90
88
83
75
72
70
68
69
72
74
75
77
78
78
82
86
92
96
100
103
106
101
103
107
111
116
119
123
120
120
118
116
116
115
114
112
111
110
109
108
104
103
101
101
102
102
102
105
107
107
106
106
106
105
105
105
109
106
104
101
98
92
86
80
78
76
76
80
86
91
91
90
88
88
86
85
83
87
89
90
92
92
90
86
90
86
84
85
90
94
97
94
94
94
93
93
92
91
92
89
87
85
85
87
87
91
89
87
85
242
242
241
240
227
216
208
189
166
131
110
108
108
112
115
118
122
127
132
136
138
137
138
137
134
133
130
129
127
122
118
117
114
112
115
113
115
118
123
127
134
136
139
140
142
143
142
135
133
124
119
115
109
107
100
87
82
79
75
72
71
70
68
65
62
59
56
56
56
56
56
58
59
60
60
60
64
68
68
69
70
72
73
74
70
70
70
69
68
65
63
64
65
65
65
66
67
69
68
70
72
72
72
72
74
75
74
75
76
76
75
76
76
73
73
74
75
75
75
75
77
78
78
78
77
78
78
74
70
69
70
73
77
80
83
89
94
97
102
104
106
114
115
118
120
121
119
118
110
104
88
82
76
71
67
60
60
62
64
65
63
61
63
64
64
65
64
64
64
61
65
74
77
79
82
86
91
94
97
100
102
104
106
105
105
103
100
97
96
95
90
88
84
76
71
68
65
61
62
65
66
69
70
69
73
77
81
84
92
92
89
87
87
91
97
105
106
108
113
114
113
111
109
106
104
107
106
104
101
99
98
98
96
96
97
98
97
102
105
104
104
105
106
106
107
108
110
109
108
107
105
101
99
97
94
91
92
90
89
94
97
95
95
94
92
91
90
98
98
98
100
100
101
98
96
94
91
91
93
95
96
97
97
97
97
96
95
94
92
91
89
89
88
88
89
87
88
90
91
252
251
248
246
239
234
229
210
197
170
137
111
115
114
116
120
125
129
135
137
140
139
138
136
134
131
126
125
122
118
116
115
111
108
110
113
114
117
120
124
133
135
140
141
143
144
143
136
133
131
126
121
116
113
106
93
84
79
74
69
69
68
67
61
58
54
52
51
52
51
55
55
55
55
55
57
61
67
67
68
69
70
69
68
68
68
68
67
66
64
61
63
62
62
62
63
64
65
66
67
69
69
68
67
68
69
74
74
75
75
75
76
76
77
77
78
78
78
76
76
76
77
78
78
79
80
80
81
82
83
82
84
84
85
81
85
90
94
97
101
103
107
109
112
117
120
121
121
118
112
93
85
78
74
71
64
63
63
64
64
63
62
64
63
62
62
63
63
64
65
70
84
87
89
90
92
93
94
98
100
101
104
107
107
106
105
102
100
98
96
91
88
83
74
70
67
66
62
60
59
60
66
70
71
72
76
80
82
89
89
86
87
87
88
89
95
94
95
94
94
95
95
96
95
93
95
93
91
88
86
81
80
75
77
79
82
84
91
94
100
100
100
101
102
106
108
107
107
106
104
103
103
106
105
102
99
99
97
93
94
96
95
94
93
93
94
95
98
100
103
104
105
105
107
112
109
103
99
97
97
97
99
100
101
100
100
98
97
95
94
92
89
87
86
85
84
86
88
90
252
251
249
248
243
238
235
220
207
187
153
111
115
114
116
119
125
129
135
137
140
139
138
136
133
129
125
124
120
116
113
113
109
105
107
113
114
116
118
122
132
134
139
141
143
144
143
137
135
130
125
120
115
112
106
93
87
82
76
73
70
69
66
60
57
53
51
51
51
50
54
55
54
54
54
56
60
65
66
68
69
70
69
68
68
68
68
67
65
63
61
62
61
60
60
61
62
63
63
65
66
66
66
66
67
68
73
73
74
75
76
77
77
78
80
80
80
79
77
76
76
77
78
78
79
80
80
83
85
86
86
86
84
85
83
85
87
92
95
98
101
103
103
106
110
114
116
116
113
110
98
92
86
79
75
71
69
66
66
65
63
61
62
60
58
58
57
58
60
66
72
84
87
88
89
91
93
95
96
98
99
103
106
106
106
105
103
102
100
99
92
89
84
74
70
69
68
65
64
62
62
68
72
74
75
80
84
85
91
90
88
90
89
88
89
92
91
91
88
90
89
91
93
93
91
89
88
85
82
77
68
66
64
66
70
73
76
83
87
93
93
92
94
96
101
103
103
102
101
101
100
101
102
102
99
98
98
98
94
97
96
94
92
92
92
92
94
98
101
104
106
107
109
115
119
117
112
105
101
98
98
102
101
98
97
96
95
96
94
93
91
88
87
84
84
85
86
88
90
252
251
251
252
247
241
237
232
209
198
179
110
111
112
114
117
122
127
132
135
138
136
135
133
131
129
124
123
121
118
116
117
113
107
109
113
114
114
115
119
129
132
135
138
141
144
145
141
140
134
129
124
119
116
110
97
93
90
86
81
76
70
59
60
57
54
52
51
52
51
52
53
55
55
56
56
59
62
64
67
70
72
71
70
68
69
68
67
66
64
61
60
59
58
57
57
59
60
58
60
62
64
64
66
68
70
72
73
73
75
76
77
77
82
83
84
84
82
78
78
75
76
77
79
80
81
81
84
82
81
81
82
82
82
82
81
80
81
84
86
89
92
93
97
104
110
113
115
114
110
101
99
96
92
89
82
79
74
73
73
71
70
69
67
60
58
57
57
58
70
74
82
83
85
87
88
94
95
93
90
92
95
97
102
102
102
103
104
104
103
98
94
87
78
75
73
74
78
75
72
70
70
71
71
74
78
82
84
88
87
84
86
84
81
81
82
81
81
84
86
86
87
90
89
87
84
83
81
77
71
61
57
53
56
61
66
69
76
79
81
80
80
80
83
91
95
97
97
97
98
96
96
94
93
91
92
94
94
91
93
96
93
90
88
88
88
90
94
96
99
99
102
109
126
123
122
119
112
102
94
90
92
92
91
93
93
95
96
96
95
94
91
88
87
87
86
87
88
90
255
255
253
252
245
241
236
230
210
198
178
111
109
111
114
116
120
125
133
136
135
132
133
133
133
132
127
126
127
124
121
119
117
112
109
109
111
114
116
118
129
133
137
139
143
147
149
148
148
141
139
136
131
124
117
108
100
95
89
83
78
73
65
57
58
58
55
51
50
54
53
55
56
58
60
60
60
62
66
68
69
70
74
74
70
68
65
63
63
63
61
59
59
58
57
57
56
55
54
55
57
56
56
57
60
63
68
72
74
75
76
78
80
81
83
84
83
80
77
75
77
77
78
79
81
83
85
79
81
83
83
83
83
83
80
74
71
71
70
68
68
68
76
83
89
97
105
112
112
113
111
107
102
98
95
89
87
83
83
83
82
83
81
81
80
78
75
72
70
79
82
89
90
90
94
96
94
93
91
91
93
95
97
110
110
110
107
104
102
98
97
94
89
79
75
73
72
73
75
76
73
66
68
72
77
77
77
79
82
83
84
86
87
86
86
87
87
89
86
84
83
82
79
76
72
80
78
75
74
71
64
59
56
60
67
73
78
84
85
88
94
95
90
85
88
89
93
94
97
100
102
101
101
95
95
94
92
91
91
94
91
90
89
87
85
85
84
82
84
85
87
91
100
122
123
122
119
115
109
99
88
77
78
81
85
91
96
100
97
95
92
89
86
82
78
86
86
86
86
255
255
253
252
245
241
237
231
217
206
183
106
107
112
113
116
119
123
130
132
134
133
133
133
133
132
128
126
125
122
119
117
116
112
110
112
113
115
117
120
131
135
137
139
143
147
149
149
149
142
139
136
130
124
117
109
103
98
91
84
79
75
68
59
60
59
57
53
52
56
54
55
57
58
60
60
60
63
66
69
69
71
75
75
73
70
66
63
62
62
61
59
59
58
57
56
56
55
53
54
55
55
55
57
60
62
67
71
73
75
76
77
79
80
81
82
81
79
77
75
75
75
76
77
79
81
82
78
80
81
81
81
81
81
78
73
71
70
69
68
66
62
72
78
85
92
101
107
109
110
108
107
102
98
95
93
91
87
86
86
86
86
85
85
84
83
80
78
77
80
83
90
90
91
93
95
93
92
90
91
93
95
96
108
109
108
106
103
101
98
97
93
87
78
76
75
75
71
73
72
70
65
69
74
79
79
80
82
85
86
87
91
90
89
88
87
87
87
86
85
84
84
81
77
74
81
78
74
72
70
64
61
59
63
69
75
78
85
87
88
93
94
90
85
88
90
93
94
97
99
101
102
102
96
95
94
93
91
91
93
92
91
91
90
88
87
85
82
84
85
87
91
99
121
123
123
121
115
106
95
85
71
74
77
82
87
92
95
95
93
91
90
88
85
80
87
86
86
85
255
255
252
251
246
242
238
234
227
216
190
109
101
108
111
114
117
121
126
128
129
132
133
133
132
132
128
127
123
120
117
116
117
117
116
116
117
119
121
122
132
136
137
139
141
146
148
150
151
145
141
136
130
124
120
116
108
102
94
87
82
78
72
66
66
64
61
58
57
57
54
56
57
59
60
60
60
63
67
69
70
72
76
77
79
74
68
64
62
61
60
58
57
57
56
55
54
54
52
53
53
53
52
53
56
58
64
67
70
71
72
74
75
77
76
76
75
75
75
75
72
72
72
73
74
76
76
77
78
78
78
77
75
75
72
67
66
64
61
56
53
51
62
70
77
84
92
97
104
104
107
107
103
102
99
89
88
87
86
84
83
84
82
82
82
82
82
82
82
81
84
90
91
90
89
87
88
89
88
91
93
95
96
102
103
104
103
101
99
97
95
93
90
84
83
81
80
71
70
66
64
65
72
78
80
81
84
86
92
93
93
95
94
93
91
88
86
86
87
86
85
86
84
80
78
84
81
75
70
68
68
67
67
70
74
77
80
85
87
88
91
92
89
87
90
89
92
93
95
97
99
100
102
97
97
95
93
90
88
84
86
88
90
91
91
90
86
84
86
87
88
90
97
114
118
120
118
108
93
79
70
69
74
80
87
91
93
94
89
88
90
93
94
93
89
92
90
88
85
254
254
252
251
247
243
239
236
227
212
195
132
102
98
108
110
113
118
124
125
127
126
128
128
128
128
125
124
124
123
121
122
123
121
120
115
116
118
119
121
130
134
135
136
138
142
145
149
151
146
143
140
135
130
126
122
111
106
99
92
86
82
73
71
68
65
62
61
60
57
55
55
57
58
58
58
58
58
62
65
66
69
73
74
76
73
69
65
63
61
59
56
56
55
54
53
53
52
49
50
51
50
49
50
52
54
58
61
64
65
66
68
69
72
72
71
70
69
69
69
69
68
67
67
67
68
69
71
72
73
73
72
71
71
68
61
60
58
58
56
55
61
73
79
85
92
97
101
104
106
106
105
102
99
96
87
87
85
84
83
82
81
81
81
80
82
83
84
84
79
79
81
83
86
85
83
85
86
88
92
95
97
98
99
100
101
102
102
101
100
95
96
98
96
91
85
82
81
78
73
68
72
77
80
82
83
86
89
92
92
91
92
92
91
89
87
87
87
86
86
86
86
86
84
80
85
84
80
75
70
72
73
70
71
74
75
76
80
81
88
89
89
87
87
91
89
92
92
93
92
92
92
94
91
92
92
91
89
85
78
76
77
81
83
85
85
84
87
88
90
89
90
94
107
109
109
107
98
85
73
67
69
73
79
86
90
93
92
92
92
92
93
95
95
94
98
96
94
92
254
253
251
251
249
244
241
238
233
218
203
139
103
97
104
106
109
114
120
123
124
124
125
125
126
126
123
122
121
121
121
124
124
119
116
116
117
119
120
121
130
134
134
135
137
140
143
148
151
146
144
142
138
134
129
123
114
111
105
99
93
86
74
72
69
65
63
62
62
57
55
56
57
58
58
58
57
56
60
63
64
67
71
73
73
71
68
66
65
62
58
55
55
54
54
53
52
51
49
49
50
49
48
48
50
53
55
59
61
62
63
65
67
71
72
72
71
69
67
66
67
65
64
63
64
64
65
66
68
69
69
67
68
67
65
60
59
59
63
65
66
68
78
85
90
94
100
103
104
105
104
103
99
94
92
83
83
83
82
80
78
77
79
78
77
77
78
79
80
78
76
75
79
83
83
83
84
86
87
94
96
98
99
99
100
102
103
103
102
101
102
101
99
95
91
89
87
89
84
78
75
76
79
81
85
87
90
93
94
93
91
92
92
91
88
84
84
83
85
85
85
86
86
84
82
85
84
82
77
72
73
74
73
73
74
75
75
79
81
86
88
88
86
87
91
89
91
91
90
89
89
89
90
88
89
90
90
88
83
75
74
75
77
80
82
84
86
88
90
91
89
90
92
104
107
105
101
96
88
79
71
73
76
81
88
92
94
95
96
94
93
93
94
95
96
96
95
94
95
255
255
253
252
249
249
249
240
241
234
222
169
116
81
93
96
101
105
110
114
116
120
121
120
120
121
120
120
120
121
123
124
123
118
116
118
117
119
124
128
133
131
134
136
140
145
148
153
154
153
148
144
139
136
134
129
121
116
110
103
97
90
80
77
73
68
64
63
61
59
56
57
58
59
59
59
58
57
58
60
62
64
66
67
67
66
65
63
61
57
54
51
50
49
49
49
50
51
51
50
50
49
50
50
50
49
51
52
56
58
61
63
64
66
66
66
66
66
67
67
64
61
59
58
58
59
60
60
57
56
55
56
55
55
55
64
67
70
71
74
75
80
88
93
98
101
104
105
103
100
99
97
93
85
79
73
72
70
70
72
73
74
73
72
68
67
68
69
69
72
71
71
72
74
77
78
84
82
80
90
95
98
98
97
97
96
98
101
104
106
107
105
102
98
98
99
100
93
90
85
82
85
86
86
88
92
95
95
92
93
94
93
92
88
85
80
80
79
80
81
83
84
85
86
86
90
86
83
81
78
73
76
79
77
76
77
78
80
81
85
86
87
89
90
92
92
91
90
86
82
79
78
78
85
85
87
86
85
83
80
73
73
76
78
81
84
88
91
91
90
90
91
93
96
99
97
93
89
84
79
76
80
83
88
93
97
100
99
104
102
101
100
98
97
96
94
93
93
92
255
255
253
253
251
251
251
247
245
239
231
190
136
92
89
92
97
100
107
108
111
117
117
118
118
118
117
118
120
121
123
124
124
120
119
117
118
119
123
127
133
134
136
138
141
146
149
153
154
154
150
146
141
138
136
130
122
117
111
105
99
92
81
77
73
68
65
63
63
61
59
60
60
60
59
58
57
54
54
55
56
56
57
58
61
61
60
59
57
54
51
49
48
47
46
46
47
48
49
49
49
48
48
49
49
48
49
50
52
55
58
60
60
64
64
64
64
64
64
64
61
60
59
57
57
57
57
53
52
52
53
54
55
56
64
71
75
77
80
83
85
87
95
101
102
102
101
98
96
94
87
84
79
73
69
63
63
65
66
68
70
71
68
68
67
68
69
70
70
65
66
68
70
73
76
77
78
77
79
85
88
89
89
86
86
86
90
94
98
100
103
102
103
102
100
99
98
96
94
91
90
88
86
84
85
86
88
87
85
85
85
81
80
79
76
74
76
76
78
80
82
84
87
89
89
90
86
83
82
81
78
79
83
82
81
82
82
82
82
84
86
87
89
91
91
92
88
86
84
81
79
79
80
79
80
83
84
83
80
72
72
73
76
79
82
84
88
91
91
93
94
94
95
93
98
96
92
89
85
80
78
83
85
91
96
100
102
105
104
104
103
102
100
99
98
92
91
91
89
255
255
254
253
252
252
252
252
247
242
236
200
148
98
85
88
94
97
103
106
109
116
116
117
117
116
117
116
118
119
120
121
123
121
120
118
118
120
123
126
133
135
137
139
142
146
149
152
153
148
144
141
137
134
131
125
121
117
111
104
99
92
82
77
73
68
65
64
63
62
60
60
60
60
59
57
56
54
54
54
54
54
54
54
57
57
56
55
53
51
49
47
46
45
44
44
44
45
47
47
47
46
47
47
48
47
48
49
51
53
56
57
58
61
61
61
61
61
61
61
59
58
56
56
55
55
54
52
52
51
52
54
57
58
61
68
71
74
78
81
84
91
100
104
105
103
99
96
93
89
80
75
70
67
64
60
60
63
65
67
69
70
68
68
69
71
73
74
75
68
68
70
71
73
74
76
76
76
78
83
84
84
84
81
81
82
86
91
96
97
102
103
105
106
103
101
99
100
97
92
90
88
86
85
83
83
83
83
81
80
80
75
74
73
73
74
77
77
79
80
81
84
88
89
91
89
86
84
83
82
80
82
86
86
86
85
85
85
84
85
86
88
89
89
90
91
86
84
83
79
78
78
81
77
79
83
84
83
80
72
74
75
78
80
83
86
87
90
91
94
94
96
94
92
96
95
92
88
85
82
79
83
86
89
94
97
101
104
104
103
102
101
100
98
98
92
91
89
88
255
255
254
253
254
253
254
255
252
251
242
220
178
120
87
91
95
99
104
107
110
114
115
116
115
115
115
116
114
115
116
118
120
121
123
121
122
123
123
125
132
135
136
138
140
143
145
146
147
145
142
139
136
133
129
121
117
113
108
103
98
94
85
79
76
71
67
65
64
61
59
59
60
60
59
58
57
56
56
56
55
55
54
54
52
53
53
53
52
50
48
46
45
43
42
41
41
42
42
43
44
44
45
45
46
46
46
47
49
51
52
54
55
55
55
55
56
56
56
56
54
54
54
52
51
49
48
48
49
50
52
54
57
58
59
64
68
71
75
80
84
93
98
100
99
95
91
89
82
79
65
58
55
56
57
54
55
61
63
65
66
67
71
72
77
79
80
80
80
78
78
77
76
76
74
73
76
77
78
78
77
79
81
78
78
78
83
87
91
94
102
104
106
108
106
104
103
103
98
92
88
87
87
86
81
78
75
74
73
72
71
69
68
69
69
75
77
79
81
83
84
86
88
90
90
87
85
83
84
84
84
87
89
90
92
94
94
92
92
92
92
92
91
90
86
86
84
82
80
78
77
76
77
76
79
81
82
84
83
82
82
83
88
90
93
93
92
90
91
91
92
93
93
91
92
90
89
88
85
84
82
80
81
82
83
86
91
95
98
97
97
95
93
92
91
89
88
86
84
255
255
254
254
255
255
255
252
250
255
247
238
207
150
97
100
105
109
114
117
119
115
116
115
116
116
116
116
116
117
118
120
123
128
129
124
125
125
125
123
129
133
134
135
137
140
141
142
142
137
135
133
130
127
123
113
111
108
104
101
98
94
87
83
79
73
68
65
63
59
57
58
59
60
60
60
59
55
55
55
55
55
55
55
52
52
53
53
52
51
50
46
45
44
42
41
41
41
40
41
41
42
43
44
45
45
47
48
49
50
52
53
53
53
53
53
53
53
53
53
53
53
53
52
50
47
46
45
44
45
46
48
50
51
54
59
62
66
71
77
81
85
87
87
85
83
81
80
70
67
52
45
43
46
50
49
50
56
58
59
60
60
71
72
77
78
79
78
78
75
76
77
77
77
76
75
80
80
79
74
74
78
82
81
80
81
83
86
90
92
99
100
101
102
101
101
101
92
93
94
95
90
83
79
76
72
67
65
66
64
62
65
65
65
66
71
75
76
84
86
87
87
88
88
88
86
83
82
83
84
85
89
90
91
95
98
100
100
98
99
98
96
94
91
85
82
84
83
80
76
75
73
74
73
74
74
76
80
82
88
89
91
95
98
100
100
98
91
91
89
89
88
89
91
89
88
87
86
85
85
84
82
82
80
79
81
85
88
91
91
90
89
88
86
86
85
85
84
84
253
253
253
254
255
255
254
254
254
252
246
240
211
171
117
99
111
112
118
118
122
123
122
122
119
117
112
110
115
117
118
120
122
123
123
123
123
123
123
125
130
132
132
133
134
135
137
140
140
133
131
127
125
123
120
114
109
106
103
99
95
91
81
75
73
69
65
61
58
56
57
58
59
60
61
60
59
58
57
56
53
53
53
53
53
53
54
54
54
53
52
48
47
45
43
42
42
42
42
42
41
42
43
43
45
46
45
46
47
48
49
50
51
55
54
54
53
53
52
52
48
49
49
48
47
46
45
43
45
44
42
42
46
48
48
54
58
62
66
69
71
78
81
81
80
80
75
69
60
56
41
37
37
42
45
47
49
54
56
57
60
62
67
70
76
77
77
79
80
77
78
81
82
82
81
81
78
79
80
83
81
78
75
77
76
76
82
86
88
88
92
94
96
98
99
99
98
96
96
95
92
88
86
84
76
73
68
63
55
53
52
57
62
68
73
77
82
86
88
87
85
83
81
82
83
86
81
78
79
78
83
88
92
95
100
102
102
102
103
102
101
101
99
98
93
93
91
88
83
77
72
70
67
69
71
75
79
83
84
87
90
91
91
91
92
90
89
88
87
86
84
83
82
81
89
87
86
87
90
91
91
88
84
80
78
79
81
82
86
86
86
86
84
82
80
80
81
83
85
253
254
254
254
255
255
255
253
255
253
247
236
215
184
129
104
109
112
123
120
121
126
125
124
121
119
114
112
113
114
116
118
120
120
120
116
117
119
122
124
126
127
125
126
126
126
127
129
129
129
126
121
118
115
112
106
101
99
96
94
91
88
80
74
72
68
64
61
59
57
59
59
60
60
60
60
59
60
59
57
55
54
54
54
53
54
54
55
54
53
52
49
47
45
44
42
42
42
41
40
40
40
41
41
42
43
42
43
44
44
45
46
47
52
52
52
51
51
51
51
48
49
49
49
48
47
46
44
45
43
41
41
43
45
48
52
55
59
62
64
66
74
76
75
75
75
70
64
59
54
38
36
37
41
44
46
48
52
53
54
57
59
61
64
71
71
72
74
75
77
78
82
83
83
82
82
83
82
83
85
84
81
78
76
75
74
79
81
82
82
83
86
89
94
94
92
91
92
92
91
89
87
85
84
79
75
70
63
51
48
46
54
57
63
68
75
80
82
81
82
81
80
78
76
75
76
73
72
74
76
82
85
86
90
95
98
98
101
102
101
100
101
99
98
94
93
88
86
81
75
70
68
66
62
65
69
74
78
82
84
92
91
90
89
87
85
81
82
80
78
76
74
75
79
76
78
83
89
95
101
105
100
96
92
89
87
87
86
83
84
85
84
83
81
80
75
76
77
78
254
254
255
255
255
255
255
255
254
254
248
234
220
197
142
109
110
114
125
122
123
128
128
127
124
121
115
114
111
112
114
115
116
115
115
113
115
117
120
122
123
122
118
119
119
120
119
120
120
121
116
110
106
103
100
95
91
89
87
86
85
83
76
72
70
68
65
62
60
59
62
61
61
60
60
59
59
60
59
58
55
54
54
55
54
55
55
56
55
54
53
50
48
46
44
42
41
41
39
38
37
36
36
37
38
39
39
38
39
39
40
41
41
46
46
46
46
47
47
47
47
48
49
49
48
47
47
44
45
44
42
42
45
47
50
53
56
59
62
64
65
78
81
78
78
77
72
65
58
53
41
41
43
45
46
44
46
48
48
48
51
53
57
60
66
67
69
71
73
76
77
81
82
83
83
83
81
79
78
79
78
76
74
74
73
71
75
77
77
77
82
85
88
94
94
93
92
89
87
86
83
82
83
84
85
83
79
76
70
67
65
68
68
68
70
73
74
74
74
75
76
75
72
70
69
68
65
65
69
72
79
84
87
91
94
97
99
102
104
99
99
100
100
99
95
95
88
85
80
75
70
67
66
62
65
68
73
77
80
83
81
80
80
80
79
78
75
72
69
67
65
64
67
74
75
80
87
91
95
98
102
109
106
101
97
94
90
85
81
82
82
83
81
79
77
76
75
75
75
255
255
255
255
255
255
255
255
254
253
248
234
219
198
147
113
111
116
124
121
124
129
128
128
125
121
116
113
111
112
113
114
115
114
113
112
113
115
117
118
118
118
114
115
115
116
116
117
117
116
111
105
101
98
96
92
89
87
86
85
84
81
75
72
69
67
65
63
62
62
63
63
61
60
59
59
59
60
59
57
55
54
54
54
54
55
56
56
56
54
53
50
49
46
44
42
41
40
37
36
35
34
35
35
36
37
37
37
37
38
38
39
39
43
43
43
43
44
44
44
46
47
48
48
48
47
46
45
46
45
45
45
48
50
52
55
59
62
66
69
69
81
83
82
81
79
74
68
59
54
46
47
48
48
47
43
44
46
46
46
47
50
54
57
64
65
67
69
70
74
75
79
81
81
82
82
78
76
74
74
74
72
70
72
70
69
74
77
78
78
81
83
85
90
91
92
92
89
88
84
83
81
82
82
81
81
79
78
73
71
70
74
72
70
71
72
72
71
73
73
73
72
69
68
67
65
63
65
69
71
77
83
88
91
95
96
97
101
104
98
98
99
100
98
96
96
89
86
81
75
71
69
68
64
66
69
73
75
77
79
74
74
75
74
74
73
70
65
64
62
61
62
65
70
70
77
86
92
97
102
107
110
108
104
101
96
91
85
80
81
82
82
80
79
77
76
75
74
73
254
254
255
255
255
255
255
255
252
249
249
235
217
194
151
116
116
118
120
119
128
129
129
128
125
121
115
114
111
112
113
114
114
114
113
111
110
108
106
106
107
108
105
106
107
109
110
112
114
110
105
100
95
94
93
90
87
86
84
82
81
78
71
70
69
67
65
63
63
63
65
64
62
60
59
59
60
58
57
56
53
53
53
53
55
55
56
56
56
55
54
51
49
47
44
42
40
40
35
35
34
32
32
33
34
34
36
36
36
37
37
37
37
38
38
39
39
40
40
40
43
45
46
47
46
46
45
46
48
48
49
50
54
57
55
60
64
69
74
77
78
83
86
84
83
81
76
69
60
56
54
55
56
52
48
42
43
43
42
43
44
45
47
51
58
60
61
63
65
71
73
77
79
80
81
81
77
75
73
72
71
70
68
69
68
68
73
77
78
79
75
74
74
78
81
84
86
91
89
85
81
78
78
79
85
85
85
83
78
75
74
74
71
68
68
72
72
69
72
71
69
67
67
68
68
66
64
65
69
72
75
80
88
90
92
94
93
97
98
98
98
99
100
99
96
95
91
87
82
77
73
70
69
66
67
67
68
68
69
67
71
71
70
69
65
63
58
57
57
58
59
62
63
66
75
82
92
99
103
106
111
114
112
109
106
102
95
88
80
81
81
82
81
79
77
74
73
70
68
252
252
252
253
254
253
253
254
249
246
243
229
214
196
188
146
114
114
119
117
122
121
122
123
122
119
114
113
115
113
110
109
110
109
109
104
103
102
100
101
101
101
96
98
100
103
103
102
101
98
96
94
92
91
88
82
84
84
83
81
79
76
71
70
68
65
64
64
63
59
59
59
60
60
60
59
58
55
54
53
53
54
54
53
55
55
54
54
53
53
52
47
46
45
43
42
40
39
39
37
34
32
32
33
34
36
37
37
38
39
39
40
40
42
42
42
42
42
42
42
44
44
45
45
46
46
46
47
52
51
50
50
54
56
57
60
65
72
80
84
86
89
86
84
81
77
72
67
63
58
52
56
57
53
48
47
45
41
41
41
43
45
46
46
48
50
54
58
60
64
66
74
76
77
76
76
76
76
75
71
69
67
66
67
69
69
69
69
70
71
73
74
74
75
77
81
84
88
88
90
90
90
90
90
90
87
85
84
83
79
76
77
76
75
75
74
75
76
72
71
69
69
70
69
68
66
70
74
76
75
81
86
86
88
90
93
94
94
94
94
95
95
96
96
97
97
94
90
85
81
78
76
72
73
72
69
67
65
66
68
68
69
69
66
62
60
61
56
56
57
59
62
66
71
81
87
96
102
104
108
112
119
116
112
107
99
94
88
78
78
77
78
79
78
76
73
72
71
69
250
250
249
249
250
251
251
251
245
243
241
223
208
187
193
162
124
111
120
117
117
117
119
120
120
118
115
113
114
112
108
107
106
105
104
100
99
98
97
96
96
97
90
92
94
96
97
97
95
94
92
90
88
88
85
79
81
81
80
78
76
73
69
69
67
65
63
62
61
57
58
58
59
59
59
58
56
53
52
51
50
52
52
51
55
55
54
53
52
51
50
46
45
44
42
41
39
38
38
37
35
33
32
34
36
37
38
38
39
39
39
39
39
45
45
45
45
45
45
45
46
46
46
47
47
47
47
48
52
52
52
52
54
57
58
61
68
76
84
88
90
92
87
85
82
76
69
64
57
55
53
54
53
51
49
48
46
41
40
41
43
43
45
44
47
51
55
59
62
61
63
69
71
71
71
70
74
74
74
71
68
65
63
68
67
65
68
68
67
65
67
70
72
74
74
76
77
82
84
88
90
96
96
97
95
92
88
85
82
80
78
80
80
80
80
76
73
72
69
68
68
70
72
71
70
70
71
73
74
77
82
83
85
87
88
91
91
93
92
93
93
94
95
96
96
95
96
92
88
84
81
79
74
74
72
70
68
67
68
69
69
69
69
68
65
63
64
60
59
59
61
64
70
77
86
92
99
103
105
107
110
115
114
111
107
100
94
89
80
79
77
76
76
76
75
72
71
70
68
241
241
242
243
246
247
246
245
241
239
236
218
201
181
171
172
143
111
113
110
114
111
113
115
116
117
115
115
111
108
104
101
100
96
95
93
92
91
89
88
89
89
84
85
87
88
88
90
89
90
88
86
86
85
82
77
77
76
75
73
71
69
67
67
64
62
61
60
59
55
55
55
55
55
54
53
51
51
50
49
49
51
52
51
54
53
52
50
48
46
45
42
42
41
39
37
36
35
34
34
34
34
34
36
37
37
40
40
40
41
40
40
40
47
47
47
47
47
47
47
50
50
49
49
49
49
49
50
51
52
54
55
57
58
59
66
73
82
90
94
96
95
90
87
81
73
62
56
49
51
53
50
48
48
49
43
42
40
41
43
45
48
42
43
47
51
56
61
64
63
63
65
66
66
65
65
69
71
73
74
73
70
68
70
67
65
72
73
68
62
65
65
65
65
68
72
74
77
80
84
91
102
105
107
105
101
96
90
83
82
84
83
85
87
87
80
75
71
72
72
74
76
79
77
77
77
74
72
75
80
82
80
82
83
84
85
85
87
88
87
88
89
90
91
94
94
95
91
87
84
81
80
76
76
74
72
69
69
70
71
70
70
70
71
72
72
73
69
68
68
69
73
79
89
99
102
104
107
108
107
106
108
108
108
105
101
95
90
84
80
76
72
71
73
73
71
70
69
67
227
230
235
239
244
244
243
245
239
239
236
223
209
191
165
167
134
103
110
105
115
111
113
115
116
116
114
113
107
104
100
98
97
94
92
91
90
89
87
86
87
87
82
83
83
83
84
86
87
85
84
82
82
82
80
74
74
73
71
68
67
66
66
66
64
61
60
60
59
55
51
51
51
50
49
47
45
47
46
45
46
48
49
49
50
50
49
47
46
44
43
40
39
38
36
35
33
32
30
31
32
33
35
36
37
37
38
40
41
42
43
44
45
49
49
49
49
49
49
49
51
51
51
50
50
49
49
50
48
51
54
57
58
56
59
67
75
83
90
93
94
93
88
84
77
68
58
50
51
52
52
52
49
45
43
44
43
39
38
39
41
42
44
44
48
51
56
60
63
63
63
61
61
60
60
60
64
66
69
76
80
82
83
88
86
83
80
76
69
64
60
62
65
68
70
74
75
77
79
84
89
99
102
103
103
102
99
94
82
83
84
85
88
91
94
93
90
88
84
85
85
87
85
82
79
78
77
77
78
80
82
81
81
80
80
80
80
83
84
83
83
86
87
90
93
94
94
90
86
82
82
80
77
76
74
72
69
69
70
73
71
72
71
74
78
81
79
75
77
78
81
85
90
97
107
107
108
109
109
108
106
110
108
106
101
97
92
88
82
80
76
73
72
71
70
70
69
68
66
223
227
233
239
245
244
242
245
240
238
237
225
213
196
172
167
127
98
111
105
114
111
113
115
116
116
113
113
106
103
100
97
97
94
92
91
90
89
87
87
87
87
80
81
81
81
83
85
85
83
82
80
80
80
79
72
74
72
70
68
66
66
66
66
64
61
60
60
59
55
49
49
49
49
47
45
43
44
43
43
43
46
47
47
49
48
48
46
45
44
43
39
38
37
36
34
32
31
29
30
31
33
34
36
36
37
38
39
41
42
44
45
46
51
51
51
51
51
51
51
52
51
51
50
49
49
49
49
47
50
54
57
58
56
59
68
75
83
90
92
92
91
87
83
76
67
57
48
53
52
52
53
50
45
41
47
45
39
37
37
37
38
45
45
48
51
56
60
62
62
61
59
59
58
58
58
63
64
67
77
82
86
88
96
94
91
82
75
68
63
56
60
66
72
73
74
74
79
80
85
89
97
100
100
102
102
100
93
83
82
83
81
83
88
92
93
92
90
89
89
89
90
87
83
79
77
78
79
80
79
81
82
80
80
79
78
78
82
83
81
83
84
87
89
92
93
94
91
86
84
83
81
77
76
74
72
69
69
70
73
72
72
71
74
79
82
81
76
78
80
85
88
94
100
108
108
108
109
111
109
106
110
108
105
99
95
91
88
82
79
75
73
71
71
69
70
69
68
66
218
230
240
240
245
248
244
246
244
242
239
240
231
221
199
163
118
99
108
106
104
103
108
115
115
114
115
114
112
110
105
102
99
93
91
87
85
83
81
80
82
82
83
84
85
84
84
81
79
80
80
80
79
77
76
71
69
68
68
66
65
64
61
61
61
60
60
58
55
51
49
47
43
41
39
39
40
41
42
42
44
45
46
47
48
48
47
46
43
42
41
40
39
37
36
35
35
35
33
34
34
34
33
35
38
40
40
41
42
43
45
48
51
53
54
56
56
56
56
56
57
57
56
52
49
49
50
51
49
51
52
53
52
50
52
61
67
75
80
82
82
89
81
76
72
65
59
53
52
51
50
49
49
49
49
46
45
44
42
40
38
38
43
47
51
51
52
55
56
63
62
59
58
56
55
54
61
70
76
81
84
87
88
101
98
95
94
92
80
68
60
49
38
58
64
61
57
79
80
80
84
96
107
118
108
105
102
97
80
74
73
79
82
85
88
90
91
90
95
96
95
95
90
87
86
88
84
82
81
78
79
83
81
80
78
77
76
77
77
83
84
86
87
88
87
85
84
84
84
83
81
79
75
76
74
71
69
68
70
75
75
75
76
78
79
82
84
87
87
87
89
91
94
101
104
105
106
108
110
110
110
106
101
95
92
92
92
90
86
84
80
76
71
67
63
68
68
68
66
236
242
246
244
249
250
249
251
250
246
243
244
240
234
212
182
145
114
93
97
98
107
114
120
122
123
125
125
122
120
118
116
115
108
106
102
95
86
81
81
80
80
79
78
78
77
76
73
73
71
72
72
71
70
68
65
66
66
65
64
63
61
60
57
57
56
56
54
52
48
43
42
40
39
38
39
39
40
40
41
42
43
44
44
46
45
45
44
43
42
41
40
39
38
36
35
35
36
36
37
38
36
35
35
36
37
38
40
40
40
42
45
48
54
55
57
58
59
59
58
58
58
56
54
53
52
52
50
47
48
49
50
48
46
48
50
55
63
69
72
74
79
73
70
66
63
57
53
54
54
58
61
63
65
65
60
60
54
51
47
45
44
43
46
51
51
51
49
48
52
53
56
56
54
53
52
59
62
74
94
92
91
95
100
108
113
97
88
80
75
61
54
49
47
54
60
59
48
60
75
89
108
99
87
97
94
92
92
90
88
90
83
85
89
92
95
95
95
98
99
101
102
97
93
91
91
89
89
88
86
82
84
85
84
83
84
84
85
85
87
87
86
85
83
81
80
81
80
80
79
78
76
72
74
73
71
69
68
70
74
77
79
82
84
86
87
89
89
90
90
90
93
96
101
101
101
102
103
103
102
102
94
90
87
87
87
89
87
81
81
78
77
74
70
67
68
68
68
67
243
246
248
248
250
251
251
253
252
248
243
241
236
229
216
192
161
125
88
98
99
109
116
122
126
127
131
130
123
122
122
121
119
112
110
107
99
88
81
80
79
77
76
75
75
74
73
70
70
69
69
68
68
67
65
62
63
63
62
62
61
60
60
56
56
56
54
52
50
47
43
42
41
40
39
39
39
39
40
40
41
42
42
43
45
44
44
43
42
42
41
40
39
38
36
35
35
36
36
38
38
37
35
35
35
36
36
38
38
38
39
42
45
54
56
57
59
59
59
58
59
57
57
56
55
54
53
50
47
47
49
49
47
46
45
45
50
56
61
65
67
73
67
65
62
60
57
53
54
56
62
67
70
71
73
71
68
58
54
51
49
50
47
47
51
52
51
49
48
51
52
55
55
54
53
54
59
65
76
87
86
88
93
93
95
93
85
78
67
57
60
54
48
25
32
43
40
52
66
78
86
93
94
92
90
87
86
89
94
96
99
88
90
93
95
98
98
97
98
100
101
101
98
94
92
94
92
92
91
89
85
87
88
89
89
89
89
91
91
92
90
88
85
83
79
78
79
78
78
77
75
74
69
70
69
67
66
67
68
73
77
80
83
87
89
90
90
92
92
92
93
94
95
99
100
100
100
101
101
100
98
89
86
84
84
86
88
86
79
79
78
77
75
72
70
68
68
68
68
248
247
249
252
253
252
251
251
252
250
246
237
231
225
209
198
182
142
82
99
102
114
120
129
134
136
143
142
132
133
134
134
131
121
118
111
107
98
89
82
77
76
75
74
71
70
69
69
69
67
66
66
66
65
63
60
59
59
59
59
58
58
57
58
57
57
56
54
51
47
44
43
43
41
40
38
37
36
36
37
37
37
38
38
43
43
43
42
42
42
41
39
38
36
35
34
34
34
33
35
37
37
35
35
34
35
38
38
38
38
39
42
44
51
54
57
59
58
59
59
58
56
56
56
56
54
52
52
48
47
48
47
47
45
42
42
44
48
52
53
53
62
57
56
56
55
54
52
56
58
69
73
76
78
78
75
74
70
66
60
55
52
53
51
50
53
54
55
54
54
54
60
66
71
75
76
76
77
72
81
111
135
141
141
132
124
143
153
146
135
161
159
170
170
166
145
109
44
37
44
65
85
90
96
82
77
78
84
95
102
108
100
102
104
105
105
103
102
99
98
97
96
94
95
95
97
95
94
93
92
93
96
97
99
99
101
101
102
101
102
100
95
90
86
80
78
76
76
75
74
72
70
65
64
64
64
66
68
70
75
76
79
83
87
91
92
91
94
94
94
96
95
96
96
95
95
94
94
91
90
87
81
80
77
79
80
81
79
75
75
77
78
78
75
74
72
72
71
71
249
250
251
254
255
255
255
253
250
251
247
236
232
222
209
206
194
149
81
100
107
119
123
131
135
140
147
145
141
142
145
146
145
136
131
121
118
111
104
97
84
79
80
76
70
68
66
68
69
68
68
69
67
67
64
62
60
60
60
59
58
57
54
56
56
54
53
52
52
51
46
46
45
44
42
41
40
37
37
37
37
37
37
37
36
37
39
40
40
39
38
36
35
35
34
33
32
31
33
33
33
33
34
35
35
35
36
37
40
42
44
46
46
52
54
55
55
55
55
56
59
58
58
57
55
53
52
50
49
49
48
48
48
49
46
45
44
44
45
47
48
53
50
50
52
54
54
53
58
61
71
75
78
78
79
72
72
72
67
64
59
57
52
54
59
59
59
58
58
61
61
83
89
85
84
82
73
72
54
153
175
164
184
139
134
146
145
163
161
160
162
157
157
157
151
154
163
174
180
123
59
82
82
79
90
80
83
92
90
94
95
104
105
107
108
105
104
103
104
100
94
91
92
92
90
91
91
93
94
96
96
97
102
102
105
109
110
112
111
111
106
100
94
89
84
82
77
75
72
71
70
69
66
65
65
66
67
69
71
74
78
80
83
86
90
91
92
92
93
95
95
97
96
95
95
91
89
88
89
90
86
78
77
76
75
74
74
74
75
76
78
79
79
78
75
67
68
71
73
248
249
251
253
254
254
253
253
249
249
246
236
230
217
204
204
195
152
79
95
106
118
123
130
135
140
147
145
144
145
147
148
148
137
133
126
122
115
109
102
89
85
91
83
74
67
65
69
72
69
70
70
70
68
67
63
60
60
60
60
59
58
54
55
54
54
53
52
51
49
46
46
45
44
42
41
40
37
37
37
37
37
37
37
37
37
38
38
38
38
38
35
35
34
33
32
31
31
32
32
33
33
33
34
35
35
37
38
40
42
44
45
46
52
54
55
55
54
54
56
57
58
57
56
54
52
51
50
50
49
49
48
49
48
46
46
45
45
46
47
48
52
49
49
52
53
53
52
57
60
69
75
77
78
78
71
72
70
67
63
59
58
55
57
62
63
62
63
63
67
72
90
93
91
87
83
76
65
91
166
163
164
174
139
133
145
141
158
154
153
159
156
156
157
151
152
159
174
164
146
104
66
87
89
86
80
82
87
90
92
90
101
103
105
106
106
104
103
102
98
94
91
91
91
89
91
91
92
93
93
95
95
100
102
105
108
110
112
111
111
107
101
96
93
84
81
79
76
74
72
72
70
67
64
65
67
68
69
72
74
78
80
83
86
89
90
92
91
92
94
95
96
96
95
93
90
87
86
87
85
82
77
76
75
74
73
73
73
75
76
78
79
79
78
76
68
69
71
73
248
249
250
251
253
252
252
253
246
243
242
235
224
206
201
195
180
150
86
90
104
117
122
131
135
141
149
147
148
149
148
150
151
144
141
138
134
131
127
123
114
110
111
101
87
74
68
66
67
69
70
71
70
70
67
64
61
61
61
61
59
58
55
54
54
53
52
51
50
49
45
45
44
43
41
40
39
36
36
36
35
35
35
35
37
36
34
33
33
33
35
32
32
31
30
29
29
29
29
30
30
31
32
34
35
36
40
41
42
43
44
45
45
52
54
54
53
52
53
53
54
53
53
53
52
52
52
51
52
52
51
51
50
49
50
48
48
48
48
48
48
48
47
48
50
52
51
50
53
53
61
65
69
72
73
68
69
65
64
62
60
61
63
65
71
73
73
73
73
77
86
94
95
95
85
73
80
143
170
175
170
159
169
148
143
155
148
164
161
161
163
163
165
168
163
161
162
156
169
161
153
99
55
61
80
89
97
94
93
94
86
102
103
105
105
101
100
98
96
95
92
91
90
89
89
92
91
91
92
91
91
91
97
100
103
106
110
111
111
109
109
105
103
99
86
82
80
78
77
76
76
74
68
67
68
68
69
70
71
74
75
78
80
84
87
89
91
89
90
91
93
94
94
93
92
90
87
83
81
78
74
71
70
70
69
68
69
69
75
75
77
80
80
78
77
73
73
73
74
249
250
251
252
252
251
250
251
242
239
235
226
217
202
192
168
143
133
96
87
98
110
116
126
134
141
152
152
150
148
147
148
148
146
144
139
139
137
137
137
130
126
115
109
100
91
80
66
62
64
66
68
68
68
65
63
64
65
64
64
63
62
58
55
54
53
52
51
50
50
45
45
44
43
41
40
39
36
36
35
35
34
33
33
35
34
33
32
31
31
31
28
28
28
27
27
27
27
30
30
32
34
35
38
40
40
43
44
45
47
48
49
50
51
53
53
52
51
50
52
49
49
49
50
51
52
53
52
54
55
54
53
51
49
51
53
52
52
50
49
48
44
45
47
50
51
49
48
49
48
49
51
55
59
61
58
57
56
57
59
62
65
67
70
76
79
80
81
81
81
79
84
86
87
87
88
138
135
159
164
165
175
167
147
145
158
151
166
165
167
162
164
164
167
167
163
160
166
163
164
154
140
130
104
74
78
88
94
91
98
100
103
104
104
103
96
93
91
90
92
92
91
88
88
89
91
91
91
92
91
91
91
95
96
99
102
104
104
103
104
102
102
99
98
87
83
82
81
81
81
80
78
71
68
68
69
69
70
70
72
72
74
77
80
83
84
86
84
85
87
89
90
90
89
89
89
88
84
78
73
71
70
69
69
69
68
68
69
73
75
77
79
81
80
78
74
73
72
71
247
248
249
250
250
248
247
246
241
237
229
218
212
201
172
151
130
129
94
79
94
105
112
122
131
140
154
153
150
148
145
146
146
145
144
142
141
141
143
143
137
134
120
114
105
95
86
72
68
63
65
66
66
65
65
63
65
65
66
66
65
63
60
55
54
54
53
52
51
50
45
45
44
43
41
40
39
36
36
35
35
34
33
32
33
33
33
33
32
30
29
27
27
27
26
26
26
27
31
32
33
35
38
41
42
43
44
45
47
49
51
52
53
51
53
53
52
49
49
51
48
47
48
49
50
52
53
51
54
56
55
53
51
50
53
54
54
53
51
49
48
42
44
46
50
50
48
46
47
46
44
46
49
53
55
52
51
51
54
57
62
65
71
73
79
82
84
84
85
84
79
84
81
81
100
123
149
137
155
158
162
178
175
150
148
161
150
164
163
165
166
166
165
167
168
165
161
169
162
161
150
140
147
137
97
81
78
89
93
100
104
100
100
101
101
97
94
92
89
91
92
90
87
88
89
92
91
91
92
92
93
94
93
95
97
101
101
100
99
100
98
97
97
94
88
84
87
86
85
85
84
82
74
68
68
68
69
69
69
70
71
72
75
78
80
82
83
83
84
86
87
87
88
88
85
86
85
81
75
70
70
70
69
69
69
69
69
70
73
75
77
79
80
80
79
75
73
72
69
239
236
235
235
238
237
236
236
235
232
219
205
193
171
144
127
128
132
76
79
100
105
113
122
128
132
143
143
141
141
141
143
145
151
154
154
154
154
153
153
145
141
127
125
120
112
99
81
79
78
71
66
69
73
73
67
65
65
65
65
63
62
59
58
58
56
55
53
51
49
47
47
46
45
43
42
41
40
40
39
37
35
34
33
31
31
31
30
30
30
29
25
25
24
25
25
27
28
30
30
31
35
38
41
45
47
49
50
51
52
53
53
54
53
53
52
52
51
51
50
47
47
47
48
50
52
54
54
55
54
53
53
52
50
51
52
52
52
51
49
48
48
54
56
57
57
54
51
47
45
43
44
43
37
33
39
38
51
58
64
68
72
81
82
88
89
91
91
90
90
94
101
80
99
134
142
129
145
166
170
168
167
168
160
159
162
156
157
163
163
165
167
167
171
173
170
164
158
173
175
159
148
153
144
139
100
77
86
100
96
97
100
105
110
111
96
89
87
82
88
89
89
87
89
92
92
90
89
91
94
91
88
87
89
91
92
94
94
93
97
93
95
95
86
82
81
91
92
92
95
95
87
61
75
74
71
71
68
68
67
69
71
73
75
77
78
80
82
81
84
84
84
84
82
83
80
77
76
75
75
74
73
72
70
68
68
70
72
76
77
79
79
80
80
79
77
74
69
67
219
224
230
233
225
221
218
220
218
214
202
186
171
149
140
133
130
116
69
73
82
96
105
114
119
125
137
140
142
143
145
147
148
150
150
149
149
149
149
149
143
140
128
126
120
113
102
86
83
79
73
68
70
73
72
68
65
66
66
65
64
62
59
58
58
56
55
53
51
49
48
47
46
45
44
43
42
40
40
39
37
35
34
33
32
32
32
31
31
30
30
27
27
27
27
27
29
30
31
32
33
35
38
41
45
47
50
51
52
53
53
55
55
55
54
52
51
49
47
47
47
47
48
49
51
52
53
54
56
55
56
56
56
54
51
50
51
51
50
50
49
38
40
42
42
43
44
44
46
45
45
46
45
42
40
50
49
47
51
57
63
69
73
76
85
89
91
93
93
93
94
88
93
130
153
140
131
144
162
170
166
166
167
163
162
165
157
158
162
162
165
166
166
170
172
169
163
160
171
174
159
151
155
151
147
129
113
108
114
113
108
110
109
107
105
107
103
97
92
83
79
82
92
92
89
84
92
101
105
101
90
87
88
88
88
90
91
95
95
94
88
89
93
92
99
100
103
98
93
90
90
91
90
81
80
80
77
75
72
69
68
69
71
72
74
75
78
83
83
84
84
85
84
82
84
81
79
77
76
76
75
73
71
71
71
72
74
77
79
81
81
82
82
82
80
78
75
71
68
204
211
219
224
221
218
216
216
216
215
203
174
160
141
146
133
118
95
70
79
83
92
99
108
114
120
134
136
138
139
141
144
144
143
143
142
142
142
143
143
137
134
127
124
117
111
103
87
84
78
72
68
70
73
71
69
66
66
66
66
64
63
60
58
58
56
55
53
51
49
48
47
47
45
44
43
42
40
40
39
37
35
34
33
32
32
32
31
31
30
30
28
28
28
28
29
30
32
32
33
34
35
38
41
45
46
50
51
52
53
54
55
55
55
54
52
50
48
46
45
47
48
49
50
51
53
53
52
54
55
55
56
56
54
50
50
50
50
50
50
50
43
42
42
42
44
45
47
51
48
43
46
50
57
61
59
59
52
52
56
60
62
71
75
84
88
92
95
97
89
93
82
96
138
157
139
134
143
159
169
166
165
168
165
163
167
159
158
162
161
165
166
166
169
171
167
161
161
171
172
160
153
158
154
145
138
128
118
119
119
112
114
110
108
109
115
116
111
99
87
81
83
93
91
88
84
85
85
79
75
87
96
96
95
92
87
79
65
61
89
78
82
97
107
110
101
102
97
92
89
87
90
99
83
84
83
82
81
77
73
74
74
75
76
77
79
82
83
84
85
86
86
85
84
85
82
79
78
77
77
76
73
72
71
72
74
77
80
82
83
83
84
84
83
82
77
74
71
69
169
171
175
183
195
197
198
201
188
171
150
129
133
129
105
95
85
79
78
75
65
82
90
98
103
109
124
127
133
134
136
137
139
139
138
139
138
137
136
136
129
126
118
111
104
97
93
81
77
72
68
67
69
70
69
71
67
67
67
66
65
63
60
58
58
56
55
53
51
49
49
48
47
46
45
44
43
40
40
39
37
35
34
33
31
31
30
30
30
29
29
30
29
29
29
30
31
33
33
33
34
35
37
40
42
45
48
49
50
50
52
53
53
54
53
50
49
47
46
46
48
49
51
52
53
53
53
52
54
54
54
55
54
52
49
48
47
49
50
50
51
55
50
49
48
49
49
49
45
45
46
47
49
52
55
42
50
52
52
57
61
59
63
68
79
81
83
89
93
91
102
92
105
135
149
140
138
140
154
168
163
163
170
162
161
166
159
159
163
161
163
164
164
166
168
164
158
164
166
164
158
155
162
163
143
143
137
122
112
115
113
109
110
113
117
123
128
132
131
124
113
101
93
96
99
105
121
144
156
157
142
140
142
147
156
162
165
162
159
140
98
68
72
90
100
90
95
93
89
85
82
84
98
88
91
94
96
98
95
91
86
84
83
81
80
80
82
85
86
87
88
89
89
86
88
84
80
79
78
77
76
76
76
75
75
78
81
84
84
85
86
86
85
84
82
75
73
71
71
169
166
167
173
184
177
169
147
127
114
114
117
101
78
87
81
83
84
73
78
80
75
82
89
95
99
114
118
122
122
121
122
124
127
128
129
128
127
124
123
114
111
110
102
94
88
85
75
71
68
66
65
68
69
69
74
68
68
68
68
67
65
62
59
58
56
55
53
52
50
49
49
48
47
45
44
43
40
40
39
37
35
34
33
29
29
29
28
28
28
27
29
29
29
29
30
31
33
32
32
32
33
35
38
41
42
45
45
46
47
48
48
48
50
50
49
49
48
48
47
48
50
52
52
52
52
52
58
59
59
58
58
56
54
49
46
46
48
49
51
52
51
52
52
53
52
51
50
50
43
31
32
42
57
68
57
65
51
47
53
59
58
70
76
87
89
91
97
102
116
118
108
124
140
145
142
142
139
149
166
161
164
172
158
159
164
160
160
164
162
163
164
163
165
167
162
156
166
162
157
155
157
164
166
159
151
139
124
100
102
107
106
107
108
107
110
116
120
123
125
121
114
122
141
155
148
153
158
161
161
160
162
164
165
165
165
166
166
167
161
141
123
101
74
93
122
109
104
95
87
84
88
99
92
95
102
108
111
112
108
103
102
97
93
91
89
90
86
87
89
90
91
91
90
88
86
82
80
78
78
76
80
79
77
77
79
81
85
84
85
86
86
85
83
81
72
71
70
70
98
111
120
120
124
120
112
118
110
105
105
88
79
77
81
80
79
78
76
80
84
76
76
79
86
91
98
103
105
107
109
111
111
108
107
109
107
105
104
101
92
90
92
86
78
73
73
69
66
66
68
68
70
70
70
70
68
68
68
68
67
65
62
61
59
58
57
55
54
52
48
48
47
46
45
45
44
41
40
39
36
35
33
32
31
30
29
28
28
28
28
30
29
28
28
28
29
31
30
30
31
31
32
33
33
34
38
39
41
42
44
45
46
48
47
47
46
46
45
45
48
49
52
54
55
55
55
60
59
57
56
57
57
56
52
52
52
53
54
54
54
52
58
62
62
59
57
56
50
44
162
185
168
173
174
139
153
131
109
96
76
55
62
73
96
104
111
117
120
124
125
116
120
134
145
144
139
137
145
158
159
165
175
158
158
164
162
159
160
157
161
161
162
163
162
160
160
168
161
152
152
161
164
163
153
151
138
129
94
92
91
92
93
91
88
99
104
102
92
99
122
147
160
148
141
163
164
165
165
163
163
163
165
165
166
169
173
172
169
153
140
141
134
112
163
191
174
109
90
96
94
98
100
92
95
99
104
107
109
110
110
109
105
100
97
94
90
96
95
94
92
92
92
93
87
85
82
79
77
77
77
78
78
78
78
79
80
82
85
85
85
86
87
86
83
76
73
70
68
76
84
89
89
97
98
95
100
95
92
93
81
81
85
82
88
92
88
73
72
75
79
77
77
81
85
93
98
96
97
98
99
100
97
96
97
96
95
93
89
81
78
79
73
69
66
66
65
64
69
70
69
70
69
69
69
68
68
68
68
67
65
62
61
59
58
56
55
53
51
48
47
47
46
45
44
44
41
40
39
37
35
34
32
31
30
29
28
27
28
28
29
28
28
28
28
29
30
29
29
29
29
30
30
30
30
35
36
37
39
41
42
42
46
46
46
45
45
45
45
46
49
52
54
55
56
56
60
59
57
56
56
55
54
53
52
53
54
55
55
55
43
59
65
69
68
61
53
60
50
165
169
164
158
157
173
162
123
116
116
109
100
74
78
101
111
118
126
134
127
129
117
118
133
146
148
137
135
141
156
158
166
176
158
156
162
163
160
161
159
160
161
162
163
162
160
160
171
161
152
152
163
163
161
154
151
139
127
84
83
83
80
79
77
79
93
92
84
88
114
145
161
157
153
149
161
162
163
163
160
156
157
158
159
163
167
170
166
162
150
140
136
129
122
167
179
172
107
85
90
95
104
101
95
98
101
106
108
110
111
116
114
109
104
100
95
90
98
96
96
94
93
93
94
86
85
83
80
79
79
80
77
78
79
80
81
81
82
82
81
83
84
86
85
84
77
74
70
69
97
99
99
96
90
90
88
92
87
86
91
101
117
133
141
142
144
148
140
110
82
73
73
77
82
84
85
87
83
83
84
86
87
88
89
87
85
81
77
72
65
62
63
62
61
62
64
65
66
69
69
68
68
68
66
66
68
68
68
68
67
65
62
60
58
57
56
54
52
51
47
47
46
45
44
44
43
41
40
39
36
35
33
32
30
29
28
27
26
27
27
27
27
28
28
29
29
29
27
27
27
27
27
27
27
27
29
31
32
34
35
36
37
42
42
42
42
42
42
41
44
47
50
53
55
55
56
59
59
58
57
55
53
51
53
53
54
56
57
57
58
64
64
59
56
58
64
69
84
99
155
133
157
157
150
164
163
151
132
109
94
89
107
101
111
122
129
136
143
135
133
112
108
124
143
149
139
133
136
152
158
167
177
158
151
155
162
159
160
161
157
158
159
161
160
160
159
175
162
151
153
166
162
159
159
150
141
129
67
71
69
67
61
66
74
58
78
112
146
156
156
145
149
156
157
157
160
161
161
159
158
159
157
160
164
165
163
153
149
135
137
136
130
135
160
155
167
116
90
78
82
99
106
103
104
106
108
110
111
113
114
112
108
102
96
91
86
92
92
92
93
91
91
91
91
91
88
84
81
79
78
75
76
77
78
78
77
75
77
76
76
78
81
83
82
79
75
72
70
99
100
101
103
99
98
99
94
82
81
99
131
128
124
130
132
130
128
144
142
132
83
82
83
85
86
82
84
78
77
75
72
71
70
69
63
61
60
58
56
54
54
58
60
60
61
61
64
65
64
64
65
65
65
65
65
69
69
69
69
68
65
62
59
59
57
56
54
53
51
46
46
45
45
44
43
42
39
38
37
35
33
31
30
29
28
27
26
26
26
27
27
28
29
30
31
30
30
28
28
28
27
27
26
26
26
26
27
28
30
31
33
33
38
39
39
40
40
40
40
41
44
48
51
53
54
54
55
58
58
57
56
54
51
53
54
55
57
59
60
60
70
55
57
52
63
112
167
144
157
164
159
140
143
148
160
163
158
155
152
140
125
114
117
114
124
137
137
125
140
133
103
105
124
143
149
145
135
132
146
154
165
176
162
150
152
162
157
158
160
156
157
158
161
160
160
159
178
164
152
154
167
161
156
161
150
146
135
61
71
70
65
73
64
44
93
140
165
153
150
150
153
152
153
156
157
159
161
161
163
171
174
169
170
169
166
162
159
160
156
154
150
156
167
163
156
155
152
158
136
114
105
104
106
105
107
107
109
110
111
109
106
103
98
95
92
89
95
95
97
98
98
99
100
98
98
97
94
91
88
86
80
79
77
74
72
71
70
74
74
72
72
75
77
78
79
75
71
69
98
97
99
99
94
94
97
82
86
97
114
124
123
125
124
134
138
131
132
138
136
91
88
86
86
84
82
85
76
75
71
66
62
59
59
57
56
54
55
55
56
56
56
57
59
60
60
61
62
63
62
64
64
64
65
66
69
69
69
69
68
65
62
59
58
57
56
54
53
51
46
46
45
44
44
43
42
38
38
36
34
32
31
30
29
28
27
26
26
26
27
27
28
30
31
32
31
30
29
29
28
28
27
27
26
26
25
26
28
29
31
32
33
38
38
39
39
40
39
39
40
43
47
50
52
53
54
54
57
58
58
57
54
52
54
54
55
58
59
60
61
67
51
48
27
19
59
117
135
168
142
154
146
151
135
153
163
151
142
144
144
139
131
131
103
109
131
136
123
143
134
102
105
126
145
149
148
135
131
144
153
165
176
164
150
152
162
156
157
159
155
156
158
160
160
160
159
178
164
151
154
166
160
156
162
149
147
137
62
73
71
74
79
56
31
138
162
140
155
152
153
158
145
149
160
157
157
158
159
162
173
178
171
171
169
166
161
164
167
164
158
152
160
175
161
153
155
155
166
155
144
134
97
105
106
106
107
108
110
110
103
101
97
95
91
89
88
93
94
95
97
98
98
99
98
100
100
98
96
94
92
84
82
79
75
71
70
69
74
72
71
71
73
75
75
79
76
71
68
124
134
146
153
162
163
162
153
136
142
150
122
127
126
134
141
138
135
133
132
142
113
83
81
91
81
86
76
74
67
62
58
56
52
54
51
51
52
52
52
54
54
56
57
57
58
58
55
56
57
58
62
64
66
67
68
70
70
70
69
67
65
63
60
59
56
54
52
51
51
44
45
45
44
43
41
39
36
35
34
34
34
33
30
31
31
29
27
27
27
28
29
29
30
30
31
32
33
31
31
30
30
30
29
29
29
26
26
27
28
29
31
32
34
34
35
36
37
37
37
40
42
44
48
50
52
52
51
51
51
51
51
51
51
49
52
54
56
58
60
61
62
33
59
130
171
180
170
151
144
143
144
149
153
157
135
140
154
153
147
144
145
148
134
125
122
115
117
128
140
130
99
102
119
134
139
141
144
139
154
157
155
158
162
157
151
166
164
156
156
158
152
155
160
161
162
160
151
154
159
160
159
157
153
153
151
155
146
40
61
71
65
49
63
120
149
138
157
150
154
158
162
163
163
162
159
158
159
162
166
164
160
165
164
163
159
158
157
158
156
156
162
168
168
160
156
157
154
146
141
139
159
103
97
103
107
101
95
94
95
90
89
89
86
85
82
79
91
93
96
100
102
103
105
105
105
104
103
102
100
99
100
99
98
93
87
81
76
71
70
70
70
72
73
72
65
65
65
65
200
210
221
227
232
235
235
227
214
207
199
160
153
146
155
155
155
155
137
138
149
106
84
82
88
82
84
78
73
65
59
56
55
50
51
49
50
50
50
52
52
52
54
55
57
58
58
53
53
55
57
60
64
66
67
69
72
72
72
70
69
67
64
62
60
57
55
53
52
51
45
45
44
43
42
40
39
37
36
35
35
35
33
31
33
32
31
29
28
29
29
31
31
31
32
33
34
34
33
33
33
33
32
32
32
31
30
29
28
29
29
30
31
32
33
34
35
35
36
36
39
40
41
43
44
45
46
49
49
48
48
48
48
48
49
51
53
56
58
59
60
86
79
145
172
168
173
162
162
152
147
149
152
155
156
147
141
144
150
150
148
146
146
143
131
129
126
119
110
125
122
114
117
125
132
137
137
139
142
151
154
156
158
163
160
153
159
160
157
158
155
150
154
161
161
162
159
151
156
160
160
158
156
151
147
143
146
143
37
51
67
45
77
137
163
144
155
143
153
157
162
165
162
158
155
159
162
164
165
164
162
162
164
163
160
158
157
156
155
150
156
163
165
164
165
167
167
151
136
145
152
165
148
94
101
103
98
92
90
90
86
85
84
83
79
76
71
78
80
84
88
92
94
96
103
102
102
101
102
104
105
104
103
101
99
95
91
87
75
73
71
70
68
68
65
63
63
63
63
221
226
230
232
237
234
229
227
219
215
212
191
174
158
161
158
158
159
144
141
141
101
85
83
86
83
84
79
73
65
57
55
55
50
50
49
49
49
50
51
52
52
54
55
56
58
58
55
55
56
57
61
64
66
68
69
72
72
72
71
70
68
65
63
61
58
55
53
52
51
46
45
44
43
41
40
40
38
37
36
36
36
35
32
34
33
32
29
29
29
30
31
31
32
33
33
34
35
34
34
34
33
33
33
32
32
30
30
29
29
30
31
32
32
33
34
35
35
36
36
39
40
41
42
43
44
44
47
47
47
46
47
47
46
47
49
51
53
55
56
57
71
123
157
161
182
172
178
161
157
153
150
150
154
157
151
146
142
143
144
147
149
138
144
136
131
130
124
117
112
117
127
127
127
130
135
135
137
141
147
152
157
158
162
161
153
157
159
157
158
154
149
153
160
160
162
160
152
156
159
159
157
155
150
148
143
142
145
40
44
58
61
116
153
149
152
153
141
152
157
161
164
159
155
152
162
163
162
161
159
162
164
160
159
158
157
157
158
157
152
157
162
161
160
170
173
162
148
135
150
160
166
150
99
100
98
96
94
95
87
87
88
85
83
79
76
71
73
74
79
83
87
90
94
100
100
100
99
101
103
106
102
102
101
98
95
91
89
79
76
73
71
70
67
64
61
61
61
61
235
240
244
244
246
244
241
239
239
231
224
217
195
178
169
165
165
161
162
140
102
97
89
85
86
87
86
84
75
65
56
55
56
52
49
49
50
50
51
52
52
52
54
54
53
54
56
61
64
61
62
65
67
67
68
67
72
72
72
70
69
67
64
64
63
59
56
53
52
51
50
48
46
44
43
43
43
42
41
40
40
40
39
36
35
34
33
31
30
31
31
30
31
31
32
33
34
34
34
34
34
34
33
33
33
32
30
30
30
31
33
35
36
34
34
35
36
37
37
37
39
40
41
44
45
46
47
46
46
46
46
46
45
45
49
49
51
52
54
54
55
65
168
167
157
189
175
171
164
161
163
159
156
153
150
157
152
148
144
139
135
136
143
139
140
142
139
135
133
110
113
138
145
140
134
133
135
134
140
138
146
160
162
159
161
156
154
158
156
155
156
149
150
155
158
163
163
151
156
158
158
156
154
150
152
151
151
154
42
48
77
135
149
148
150
156
148
161
158
161
162
163
159
156
155
161
158
155
156
159
162
160
160
159
158
157
157
157
158
151
158
160
161
163
172
167
154
153
144
157
169
163
133
98
100
98
97
96
97
90
89
89
88
86
83
79
75
72
76
81
86
91
95
100
98
100
101
101
102
102
103
103
102
99
97
94
91
89
85
82
80
76
74
70
67
61
61
61
61
248
249
251
251
251
250
249
244
244
239
224
230
223
199
193
177
186
180
132
129
104
90
90
85
87
93
85
88
80
70
59
54
54
54
51
53
52
51
51
52
57
58
59
58
58
61
62
59
59
64
64
66
67
67
68
70
70
70
69
67
67
66
65
63
60
56
54
53
52
49
48
48
47
46
45
45
44
45
44
43
42
40
39
38
38
38
37
35
33
32
31
30
31
33
34
34
34
33
33
34
34
34
34
32
31
30
32
32
33
33
34
34
34
35
36
37
39
40
41
41
40
42
43
46
48
49
50
47
47
48
49
48
49
49
53
55
56
55
55
57
58
64
136
160
171
173
171
174
174
165
165
172
171
162
152
156
161
146
145
148
138
121
131
143
140
140
148
149
142
115
131
115
134
143
137
140
134
140
128
137
142
148
169
159
162
160
147
158
160
148
153
154
151
157
158
159
163
152
150
162
157
156
149
157
151
162
151
168
42
82
136
146
152
157
158
154
157
161
162
163
165
169
167
158
150
152
153
156
157
158
160
161
163
172
171
156
150
160
157
156
158
161
165
168
164
158
159
154
152
157
164
161
131
96
101
102
99
96
96
95
93
94
90
87
83
81
79
78
80
83
88
92
97
105
102
100
96
93
92
92
94
107
103
98
95
91
89
87
82
82
81
79
76
71
66
64
62
61
61
251
251
252
253
253
252
251
248
247
240
228
231
220
194
179
168
172
168
135
130
111
96
92
86
86
92
86
88
82
73
63
57
56
55
54
55
54
55
55
56
59
61
60
60
60
63
65
63
62
64
65
66
67
67
68
69
70
70
69
67
67
66
65
64
62
57
55
54
54
51
48
48
47
47
46
45
44
45
45
44
42
41
40
39
38
38
37
35
34
32
32
29
30
32
33
33
33
32
33
33
34
35
34
33
32
32
32
33
33
33
34
34
34
36
36
38
39
40
41
41
41
42
44
46
47
48
49
49
49
50
51
52
51
51
56
58
59
58
59
60
62
56
136
158
168
170
170
174
173
167
166
172
171
164
155
149
155
150
148
148
143
135
128
140
144
141
145
148
148
127
128
125
123
130
136
133
133
142
132
137
141
146
167
159
161
160
147
157
159
149
153
154
151
156
158
159
162
151
149
161
157
157
149
157
153
162
151
168
61
101
150
148
153
158
160
156
159
161
163
164
166
171
170
161
153
150
153
155
157
157
155
155
162
167
166
158
154
162
160
155
160
166
166
165
163
161
156
151
156
159
160
163
131
92
97
100
100
99
99
99
98
98
94
90
86
83
82
78
79
83
86
91
95
100
104
102
98
93
90
88
88
103
100
96
94
92
90
88
84
84
84
81
78
73
69
67
66
64
64
252
252
254
255
255
254
253
253
249
246
240
232
216
191
177
178
170
163
154
131
115
113
98
87
86
89
91
89
85
82
75
67
59
57
61
58
60
63
66
68
68
67
65
65
66
69
72
72
71
68
68
69
69
68
69
69
70
70
69
67
67
66
65
65
62
58
56
55
54
51
48
48
48
47
47
46
46
46
46
45
44
43
42
42
40
39
38
36
35
34
33
29
29
30
30
31
31
31
33
34
35
36
37
37
36
36
34
34
35
35
35
35
35
37
38
39
40
41
42
43
44
44
45
47
47
48
48
53
54
55
55
57
58
57
58
62
63
63
64
66
68
45
139
150
163
163
171
174
173
171
168
170
169
166
163
157
154
157
154
145
140
142
132
132
145
144
142
145
152
151
137
136
122
117
122
120
120
132
137
138
140
145
157
158
159
159
147
153
157
150
151
152
149
155
157
157
161
151
147
159
155
157
150
156
157
161
156
164
109
137
162
153
156
161
162
159
159
160
159
163
166
172
173
167
162
159
158
157
156
155
153
151
156
153
153
160
163
159
161
162
165
166
163
158
159
161
159
148
158
161
152
161
103
86
92
97
97
96
97
95
90
90
87
83
80
79
81
85
88
92
96
100
102
105
102
100
98
93
87
82
76
85
84
83
82
83
82
79
79
80
80
79
76
72
68
65
63
60
59
251
252
253
253
255
253
252
252
246
245
241
221
210
198
183
180
176
169
160
139
112
109
94
92
93
86
95
90
87
87
85
79
71
64
65
63
66
69
73
75
75
74
73
73
73
77
79
78
77
74
73
74
73
72
71
70
70
70
69
67
67
66
65
65
62
58
56
55
54
51
48
48
48
48
48
47
47
45
45
45
44
44
43
43
41
41
40
38
37
35
35
32
31
31
31
31
32
33
36
37
38
39
39
39
38
37
37
37
36
36
36
35
35
39
39
41
42
43
44
44
48
49
50
52
53
53
54
56
58
60
61
63
63
63
64
67
68
69
70
72
75
58
155
148
160
156
172
173
176
171
164
165
167
166
165
166
158
150
152
152
147
142
144
136
133
142
149
149
145
151
154
130
145
137
118
122
107
120
135
142
146
144
139
158
158
159
147
150
155
153
150
152
148
154
156
156
160
155
148
158
154
159
150
155
157
160
167
152
119
135
140
154
156
159
159
157
155
155
158
159
160
162
162
161
161
172
165
158
155
154
155
155
145
148
151
155
158
160
161
166
162
158
156
157
156
153
159
149
149
160
169
164
85
98
102
103
99
94
92
86
81
80
77
77
79
81
89
89
91
96
100
103
105
105
103
102
101
98
94
90
86
79
77
74
73
74
76
75
75
77
78
78
76
74
70
64
62
59
58
250
250
252
253
253
252
252
251
244
242
236
209
202
196
190
178
175
167
153
144
111
101
89
94
97
86
95
90
90
90
90
86
81
70
68
68
70
73
76
78
80
80
79
79
79
82
84
82
81
76
76
76
75
73
72
71
70
70
69
67
67
66
65
67
64
60
58
57
57
54
48
48
48
48
48
48
48
44
44
44
44
43
43
43
42
41
41
38
37
36
35
34
33
32
32
32
34
35
38
39
39
40
40
39
38
37
38
37
37
37
36
36
36
39
40
41
42
44
44
45
50
51
52
55
56
57
58
60
62
63
65
67
68
69
70
75
76
76
77
80
82
70
165
148
160
153
173
174
177
170
161
164
166
165
162
163
163
146
145
151
151
145
144
141
129
136
148
151
146
148
152
138
139
139
129
118
110
122
137
146
149
144
130
158
157
159
147
149
154
154
150
151
148
154
156
155
160
156
149
158
154
159
150
153
154
157
168
142
117
135
139
154
156
156
157
157
154
152
158
157
157
155
154
155
157
166
160
155
153
154
151
147
143
152
157
154
155
165
164
161
160
160
158
156
154
154
152
151
147
157
169
145
72
97
100
98
93
87
85
81
77
74
72
70
72
77
85
91
92
97
101
103
104
104
100
100
97
93
89
85
82
75
73
68
65
66
68
70
69
70
72
72
71
69
65
61
59
57
56
245
249
251
250
249
246
242
235
239
237
222
189
191
198
185
176
157
138
144
133
115
106
80
81
95
89
93
87
94
96
96
93
91
88
84
76
77
78
81
82
82
81
87
87
88
88
88
90
89
83
82
81
80
78
78
76
73
70
67
66
66
67
66
68
67
65
62
59
57
54
53
53
53
53
53
51
51
49
46
45
44
43
42
41
25
31
39
43
41
35
30
34
39
41
42
41
42
39
48
35
31
45
54
53
54
59
42
35
33
33
32
30
29
38
40
43
44
45
47
47
49
53
57
59
61
63
65
69
74
78
80
82
81
82
82
85
87
89
90
90
90
80
165
159
169
166
157
175
176
178
147
145
156
164
167
167
160
161
151
138
144
162
140
138
140
129
121
135
158
142
142
159
143
143
149
137
124
115
119
137
145
153
153
136
160
150
159
140
154
158
153
153
142
154
157
155
162
157
148
151
158
153
151
147
143
152
129
103
126
135
147
152
150
155
162
150
150
157
166
154
145
145
150
153
156
144
147
151
151
150
152
155
159
159
161
163
162
159
157
149
146
143
146
151
157
157
161
153
143
139
118
71
65
64
64
61
61
61
57
50
51
46
45
45
45
47
58
58
59
62
64
66
68
68
71
69
66
62
61
62
64
56
54
52
49
48
47
46
38
40
44
45
46
46
45
41
40
38
37
245
247
248
244
242
238
234
234
226
215
208
205
204
203
197
198
192
184
170
146
120
86
90
91
89
87
90
92
94
97
98
96
96
96
93
86
86
85
86
86
89
90
92
92
91
91
90
89
88
84
84
83
81
79
79
76
72
71
70
70
71
70
66
67
66
65
63
61
60
58
57
57
57
56
56
54
54
48
46
45
44
43
42
41
29
35
42
45
42
37
31
31
38
44
46
43
40
38
28
44
48
36
30
38
42
35
35
37
40
43
42
36
31
36
37
40
44
49
54
57
69
74
77
78
81
84
85
86
89
91
93
94
94
95
98
102
104
105
106
106
106
84
182
170
164
161
157
163
172
173
152
144
148
161
170
160
160
159
155
150
143
137
149
145
137
135
134
130
126
154
149
151
156
146
136
141
136
123
116
134
141
145
145
132
150
149
158
145
153
156
155
153
145
149
153
152
156
158
149
151
157
153
151
146
146
134
118
102
128
148
143
154
155
153
151
157
157
155
147
146
148
152
151
150
151
148
146
145
145
149
155
157
158
159
159
159
157
152
151
148
150
154
155
154
151
150
141
142
145
111
56
52
61
65
63
61
59
53
46
30
27
24
23
26
29
30
38
39
43
50
57
62
63
64
56
54
51
48
46
47
50
57
56
56
53
51
47
43
37
39
41
41
44
47
48
49
49
47
46
243
245
245
242
239
236
232
229
224
219
219
227
228
227
228
230
227
220
206
182
160
108
87
88
92
83
92
93
95
98
99
99
100
103
100
94
93
92
90
91
94
94
95
94
93
92
91
89
89
86
85
84
82
81
79
77
73
72
72
73
73
72
66
66
66
65
64
63
62
61
58
58
57
57
55
54
54
48
46
45
43
43
42
41
32
37
44
46
43
37
31
34
37
43
48
47
42
37
42
65
69
47
39
52
50
35
36
45
47
42
39
38
42
38
41
44
50
56
63
67
78
82
87
89
91
94
97
99
100
101
102
104
104
105
109
111
113
115
116
116
115
87
184
173
160
157
155
156
163
168
159
148
148
157
168
161
163
156
156
157
147
133
144
144
137
139
140
133
121
141
152
144
157
151
139
141
139
128
118
126
132
140
149
132
143
150
158
151
153
155
155
151
146
146
149
150
153
160
150
150
157
152
150
145
144
122
109
101
131
154
142
151
155
154
149
160
158
149
143
146
150
153
152
151
153
150
146
142
143
148
157
157
158
157
157
156
154
150
148
154
159
163
160
155
143
139
140
141
112
77
73
75
67
75
73
71
67
60
49
29
25
21
22
27
33
37
47
45
51
58
66
70
72
71
65
62
58
53
50
50
51
59
61
64
65
64
61
59
48
47
46
46
48
51
54
58
57
56
55
229
232
234
232
236
238
236
235
240
246
249
246
247
248
246
243
237
230
222
217
209
193
125
94
97
79
90
90
96
100
103
103
106
111
109
110
108
105
103
101
98
98
96
96
95
94
92
91
90
88
87
86
85
83
81
80
77
76
75
75
75
75
71
68
68
67
66
65
64
63
59
58
56
55
54
53
51
48
45
44
43
43
41
40
37
42
47
47
43
38
32
40
38
39
40
37
35
41
111
121
117
103
100
104
88
66
40
30
30
40
51
50
47
43
47
52
60
68
75
80
92
97
101
104
107
110
112
118
118
120
121
124
126
127
126
129
130
131
131
131
131
111
164
176
164
153
151
150
153
164
169
163
158
158
157
160
164
155
154
157
156
149
135
137
142
143
142
140
139
117
142
142
149
159
154
144
138
141
129
112
110
121
146
140
134
153
156
161
155
158
156
149
147
142
145
153
151
162
150
150
155
149
147
141
122
107
96
97
137
151
144
146
151
154
155
154
148
140
151
153
153
151
154
154
152
147
147
148
150
154
155
155
154
153
152
152
150
148
147
155
158
157
150
144
133
123
119
78
70
80
71
76
78
92
89
85
79
71
60
41
26
21
21
30
41
52
67
78
82
87
92
96
96
94
93
89
82
76
71
68
67
73
74
77
78
76
72
68
69
68
64
62
61
61
63
67
68
69
70
212
215
218
221
232
237
238
248
247
246
249
255
255
254
255
255
253
249
239
233
228
224
213
137
81
93
75
89
97
101
104
105
108
113
111
117
116
115
112
107
98
95
94
94
93
94
93
91
91
89
88
87
86
84
82
81
81
78
75
74
75
75
75
71
71
70
68
66
65
63
63
62
61
59
58
56
55
47
45
44
43
42
41
40
38
40
43
43
40
34
31
31
39
44
40
35
50
100
141
138
140
141
136
120
104
95
111
89
58
34
29
43
60
58
64
71
79
87
93
95
105
109
115
119
121
124
127
126
127
128
130
135
138
139
139
141
142
143
143
142
142
151
144
177
173
157
153
154
161
168
164
166
169
164
154
144
151
162
156
150
152
159
156
141
144
148
141
137
139
147
118
148
148
145
152
153
143
151
137
120
104
95
110
148
131
155
153
167
156
160
157
147
148
139
146
154
152
162
150
148
152
145
143
139
98
103
92
95
142
142
150
152
148
150
154
139
138
145
151
152
151
150
153
146
135
141
148
156
160
158
153
152
152
153
153
152
151
151
151
157
153
142
129
125
109
91
64
62
44
36
49
57
74
81
78
73
68
62
54
38
31
23
19
26
38
52
70
80
82
87
92
95
98
99
89
85
80
74
70
69
69
70
72
74
77
77
77
76
65
65
64
63
64
64
64
65
66
69
71
211
218
227
230
232
237
241
251
252
252
253
254
254
254
255
255
255
253
242
236
235
232
246
185
111
100
77
93
92
97
104
108
109
115
119
113
115
115
113
111
102
95
91
93
96
96
94
92
91
91
91
90
88
86
85
84
81
79
77
77
77
76
73
71
70
69
68
67
66
65
66
64
61
61
59
55
53
48
49
48
44
43
44
43
33
36
40
41
38
34
32
40
38
44
37
30
73
125
131
127
134
142
141
133
115
97
116
123
95
43
35
54
49
62
68
74
81
90
97
103
110
116
120
122
124
127
129
134
134
135
137
139
142
143
147
149
150
151
151
150
150
153
140
152
167
170
161
155
165
168
167
170
170
160
151
157
153
151
156
158
156
153
155
151
129
135
150
150
139
140
139
132
152
150
142
153
145
153
149
116
112
102
88
139
139
144
156
158
157
154
154
143
148
135
141
155
150
157
142
150
154
146
144
118
101
97
87
95
144
147
151
142
158
161
147
144
148
144
147
149
152
152
145
141
139
155
153
152
154
156
151
147
153
156
156
153
153
154
151
145
137
130
128
126
85
64
52
38
29
31
34
41
71
76
73
70
67
64
58
40
34
30
25
31
49
56
71
81
83
86
91
94
97
98
93
88
81
75
73
73
72
78
77
74
73
73
74
72
67
67
66
65
63
64
65
65
67
69
72
235
240
246
248
250
252
254
252
253
253
254
255
255
255
255
255
255
254
246
244
243
241
243
241
192
121
101
87
95
96
99
104
110
117
117
119
121
121
119
117
111
105
96
93
90
89
91
89
87
88
87
87
86
87
85
85
82
80
78
78
78
77
74
72
72
71
69
68
67
65
66
65
64
62
59
57
55
51
52
50
44
41
40
38
30
33
35
36
35
32
32
40
38
44
38
34
70
112
116
114
125
140
146
143
129
110
105
116
126
102
59
43
55
64
69
76
84
93
102
107
119
124
130
135
138
143
144
148
146
147
148
149
150
151
153
154
156
157
157
157
156
159
150
150
156
168
174
171
163
160
169
168
161
154
150
159
155
149
152
155
155
154
150
153
146
134
132
140
151
137
137
135
119
138
161
149
151
151
151
132
118
106
100
95
137
153
151
159
155
155
157
148
149
135
139
150
151
157
142
146
149
139
130
102
93
86
88
110
147
147
157
154
148
142
139
143
147
150
148
150
149
144
137
142
147
153
157
158
155
149
150
155
150
154
156
157
157
156
150
129
130
126
114
97
70
64
40
31
29
32
35
37
51
60
61
62
60
56
51
41
41
37
60
84
72
56
74
77
79
83
85
90
91
93
89
86
82
79
78
78
76
74
72
71
71
70
67
62
60
58
57
57
58
58
59
68
68
69
70
245
247
250
251
251
252
252
254
254
255
255
255
255
255
255
255
255
254
251
251
251
252
241
244
241
196
88
91
99
98
98
103
109
116
114
117
120
119
117
116
113
108
103
97
89
87
89
88
85
86
86
87
86
87
87
87
84
82
80
79
79
79
75
75
74
73
71
70
68
66
66
68
66
62
59
61
57
50
52
49
45
43
44
41
32
34
37
37
37
35
37
48
45
40
30
28
55
93
103
101
112
127
138
143
138
121
108
107
117
130
109
63
35
66
73
80
87
98
107
112
123
129
136
141
146
150
153
153
152
152
153
154
155
156
157
160
162
164
164
164
164
156
163
157
153
156
164
164
156
156
169
166
158
156
157
159
156
149
149
151
153
154
161
153
155
155
146
135
131
142
140
137
143
130
126
144
154
152
155
146
128
114
108
100
90
123
146
150
161
149
156
152
150
137
139
145
149
149
136
133
139
139
116
83
94
83
93
121
148
155
166
149
138
135
144
145
143
147
152
145
138
136
145
148
149
160
155
150
148
148
150
150
157
157
154
151
149
141
134
126
113
100
98
102
77
57
38
33
35
43
60
81
114
109
114
119
121
118
115
114
103
124
106
89
107
101
45
74
75
78
81
84
86
87
84
82
78
78
78
79
77
74
73
73
72
70
67
62
56
53
51
52
54
56
55
67
68
70
72
252
252
253
253
254
254
255
255
255
255
255
255
255
255
255
255
254
253
252
252
253
252
246
235
240
223
93
93
101
100
100
103
108
114
114
115
117
117
114
114
113
108
106
101
95
91
90
88
85
88
88
87
87
87
87
88
84
83
81
80
80
80
76
76
75
74
72
70
68
66
65
69
67
61
59
60
59
48
49
47
43
41
41
40
35
37
38
39
38
38
39
51
49
43
29
23
44
80
101
96
104
118
128
136
134
122
104
105
110
127
125
84
36
67
74
82
90
100
109
114
129
137
142
146
150
153
156
153
152
152
153
154
156
157
159
161
164
165
167
166
166
155
168
168
162
157
153
150
151
154
165
164
161
160
160
158
156
150
149
150
151
152
160
154
155
161
157
144
132
130
147
129
143
142
128
130
148
152
156
150
136
122
112
108
81
104
145
147
158
151
151
151
147
139
139
142
148
151
141
135
133
128
111
88
92
84
99
125
150
160
165
141
137
140
147
144
142
144
145
141
136
138
148
150
148
159
153
147
145
148
150
148
150
151
148
146
144
128
117
107
105
100
95
88
70
62
66
73
85
98
105
105
97
87
91
97
100
102
102
99
102
95
95
93
99
134
68
71
73
76
79
81
83
83
81
78
76
75
75
76
76
76
75
73
73
72
68
63
58
55
51
51
55
56
56
66
68
70
72
253
252
251
253
255
255
255
255
255
255
255
255
255
255
255
255
254
252
251
252
254
251
254
244
231
225
136
86
103
105
106
105
104
109
114
114
115
115
113
114
113
109
108
107
104
99
94
90
90
91
91
90
89
89
88
87
85
83
82
81
81
81
77
78
77
75
73
71
69
66
63
69
67
59
57
60
59
60
61
58
51
47
46
43
39
40
42
43
41
41
44
46
53
49
34
22
32
61
95
89
93
102
111
121
123
114
90
107
126
127
130
111
66
69
76
84
92
102
111
118
131
136
140
142
145
148
150
151
151
153
154
156
159
160
159
163
164
166
167
167
167
159
175
185
182
161
138
130
141
150
153
158
163
162
161
156
156
153
150
149
149
149
144
157
153
148
157
166
166
136
117
148
138
129
137
140
129
144
153
152
153
139
122
96
111
94
143
152
142
159
143
149
145
142
140
139
146
143
145
135
111
79
85
94
82
88
112
135
156
163
154
135
145
151
147
140
144
148
125
136
148
151
145
150
156
148
150
152
149
144
146
151
147
150
150
147
135
84
60
104
102
99
95
95
98
99
87
86
83
80
79
82
82
88
90
94
100
108
111
104
108
100
100
98
97
104
43
66
68
71
73
76
77
77
80
76
71
68
68
70
71
76
73
71
69
69
68
66
63
58
54
53
56
58
56
67
68
68
68
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
251
251
250
249
247
243
229
215
164
107
103
102
101
102
102
105
105
106
107
108
109
110
108
107
110
109
107
107
106
100
98
97
96
94
94
93
93
90
89
88
85
83
82
82
82
84
76
69
69
71
74
78
57
115
156
151
126
94
67
99
110
86
49
46
53
51
42
56
77
91
89
77
68
65
66
75
85
91
93
100
91
91
92
98
107
116
117
115
90
89
95
101
118
123
104
66
95
97
90
95
102
121
119
125
132
133
133
139
148
152
145
142
144
151
162
170
166
153
149
150
160
173
183
163
173
176
175
170
161
153
145
147
158
161
161
157
154
155
157
159
160
157
153
147
144
145
155
160
162
162
162
156
152
122
128
144
144
129
133
145
136
149
148
138
145
122
110
101
107
129
139
129
136
157
158
146
143
125
128
120
115
108
115
29
81
82
81
117
123
136
145
145
142
143
149
139
139
136
122
134
139
143
148
152
153
152
151
141
145
149
154
155
144
137
146
144
134
114
93
91
101
85
86
86
88
87
87
85
89
90
91
93
94
97
98
98
99
102
104
105
105
103
100
94
97
97
83
66
45
63
67
72
75
76
75
79
83
79
71
63
57
56
58
70
71
72
75
74
72
69
66
65
63
59
55
53
53
66
66
66
66
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
251
251
250
249
246
240
226
214
164
109
99
98
98
98
100
104
105
104
105
105
107
108
109
109
111
110
110
111
112
109
106
101
99
97
96
95
95
92
91
89
86
84
82
82
84
88
76
69
70
74
71
71
51
95
130
139
142
145
150
135
128
109
73
43
35
35
26
59
98
119
122
116
110
102
96
94
99
104
107
107
92
91
90
96
105
111
114
111
91
89
93
98
114
123
112
69
93
94
87
93
100
117
113
120
127
128
128
135
143
144
141
140
144
150
159
164
161
156
154
156
163
173
180
169
167
169
170
171
168
161
152
149
157
161
160
156
152
163
160
150
148
149
150
150
152
148
148
151
159
166
171
145
160
125
120
138
144
132
126
151
144
139
144
140
146
128
113
110
88
117
130
99
122
125
157
145
143
106
116
118
101
97
96
28
86
77
89
120
123
138
136
137
148
141
146
140
142
125
119
147
143
148
153
154
149
148
148
154
152
149
148
149
146
143
139
125
106
91
85
94
99
87
87
88
89
88
87
86
91
92
93
94
96
99
100
97
98
100
103
105
106
104
98
101
105
104
104
115
120
65
68
72
73
74
74
78
79
78
70
63
58
56
56
65
68
72
75
77
76
73
74
73
69
64
58
53
52
66
66
66
66
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
251
251
251
254
244
233
213
197
159
116
95
94
95
96
98
103
104
104
104
103
104
106
112
113
117
116
115
115
117
113
111
110
108
105
103
101
99
95
94
92
88
85
85
85
87
83
83
81
73
65
70
117
71
87
113
134
144
149
148
131
111
116
113
80
57
46
25
66
106
120
123
128
127
123
120
115
110
106
107
108
93
91
88
90
96
102
104
102
92
86
86
91
104
117
123
68
83
85
75
82
89
99
102
110
118
120
121
127
135
128
137
143
148
152
156
158
161
160
162
163
169
175
180
163
166
169
170
173
175
177
176
170
151
146
149
154
160
161
158
148
145
143
146
150
150
150
142
144
150
160
166
156
147
159
149
128
126
142
147
130
139
135
135
146
143
142
137
118
91
91
102
120
104
39
45
132
97
109
104
127
97
99
82
31
90
81
93
106
124
143
117
142
143
151
140
142
138
139
157
150
158
157
153
147
140
143
147
151
152
154
153
145
114
100
91
88
85
84
83
77
73
90
90
89
89
88
88
88
90
90
92
93
94
96
98
96
97
100
102
105
105
106
101
104
103
98
104
117
65
63
66
70
73
72
71
74
74
72
69
64
60
60
59
63
62
62
63
67
71
77
79
78
75
70
64
59
57
66
66
66
66
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
252
252
252
252
247
243
224
194
147
113
99
98
99
99
101
105
107
111
109
107
106
107
114
117
120
119
118
119
121
117
115
118
115
112
109
106
103
97
96
94
91
88
87
87
89
83
85
76
64
82
126
175
154
137
135
137
131
130
132
111
105
105
112
116
122
130
116
124
131
132
132
135
134
125
127
125
119
117
121
123
96
91
85
84
88
93
95
95
89
78
78
87
94
105
117
65
80
83
67
73
82
89
90
97
106
109
110
118
127
120
133
140
146
149
152
153
152
157
160
161
162
161
162
167
167
170
173
177
178
178
173
165
152
152
158
166
172
167
166
157
157
155
154
151
147
150
159
155
143
127
117
159
159
149
155
160
149
131
130
140
133
145
139
131
145
146
145
137
108
104
105
106
69
72
32
84
100
94
105
97
68
79
82
67
77
67
85
117
93
75
126
140
139
129
135
123
125
155
149
159
155
149
143
138
139
135
133
133
122
107
96
89
88
89
84
83
83
81
79
84
87
88
88
87
87
87
91
92
90
91
91
92
95
96
96
101
102
103
104
105
106
106
112
113
113
114
117
112
29
52
58
66
72
73
72
70
78
78
75
70
66
61
59
63
62
61
60
63
68
74
76
76
75
71
66
61
58
65
65
65
65
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
253
252
252
252
249
250
249
231
197
144
108
101
101
101
101
103
107
107
113
111
108
107
107
115
119
119
119
119
120
123
120
119
120
117
114
111
107
104
98
98
95
91
88
87
87
90
86
87
77
68
96
141
150
155
136
132
135
123
117
114
103
104
100
100
106
110
116
139
137
134
131
130
131
130
131
131
128
123
126
132
132
98
91
85
83
85
90
91
91
88
75
75
86
93
101
113
65
80
84
66
71
81
88
86
93
102
105
106
114
122
120
131
138
143
148
150
152
151
157
161
160
159
156
155
169
164
165
170
177
179
175
166
159
157
162
167
170
171
155
157
157
153
151
149
152
157
164
168
159
148
135
128
147
153
158
152
149
155
161
127
128
141
125
138
147
131
145
142
148
109
116
115
81
65
74
96
79
92
75
91
110
71
75
82
84
81
71
82
128
75
41
134
132
138
130
107
119
144
147
155
151
150
143
139
137
138
132
126
98
92
85
81
81
84
87
83
84
85
88
89
93
93
86
86
85
86
87
91
93
91
92
92
95
96
97
97
102
103
104
104
106
106
106
112
109
109
113
126
137
92
47
54
65
72
75
71
69
74
75
73
71
68
66
64
62
62
62
63
66
69
71
76
76
75
72
66
60
57
62
62
62
62
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
254
253
253
254
254
252
254
252
244
236
172
118
107
102
100
102
106
110
108
110
111
114
114
115
114
114
117
118
119
120
120
119
119
120
119
117
115
113
110
101
100
98
95
89
88
86
88
86
85
76
72
134
142
151
156
143
132
128
129
126
118
119
117
108
101
97
98
103
126
129
133
135
134
131
127
127
126
127
126
123
123
123
104
98
89
83
81
83
85
87
84
76
74
78
85
95
102
69
70
77
69
67
78
81
81
86
91
91
91
97
106
113
118
123
128
136
143
145
136
134
115
117
118
118
127
133
140
147
156
163
170
174
169
172
174
171
165
161
157
142
144
148
150
152
155
159
166
165
158
159
162
168
173
151
151
154
154
154
154
152
155
150
141
132
134
133
128
129
125
135
128
117
111
98
127
86
14
52
80
58
44
69
79
72
53
83
91
78
72
63
62
82
126
119
108
92
112
134
142
137
135
133
138
141
140
131
101
94
92
83
83
84
83
83
85
85
87
87
89
91
92
93
94
85
85
87
89
92
97
99
92
93
95
96
98
101
103
102
101
102
104
105
105
116
107
114
119
121
126
133
132
107
75
69
81
75
69
66
64
68
73
73
72
70
69
64
62
60
58
59
63
68
67
67
67
64
59
54
54
55
53
51
51
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
254
254
254
254
254
254
255
254
246
245
220
180
119
104
103
111
110
113
111
114
115
118
119
120
120
120
114
115
118
121
122
121
120
120
118
116
114
113
110
105
107
102
95
87
82
82
85
79
78
75
70
124
134
139
149
149
141
128
123
128
129
128
128
125
115
103
97
97
109
112
117
123
129
135
139
137
134
129
127
129
128
124
115
107
95
85
80
79
81
82
85
74
67
68
79
89
92
57
61
67
58
57
71
76
70
72
74
72
73
80
89
100
102
107
114
124
134
140
144
126
104
100
107
111
118
111
121
121
118
117
123
133
156
166
174
171
167
165
163
184
177
164
167
171
171
165
152
143
145
149
151
148
147
146
145
144
146
149
153
154
152
151
151
138
131
133
140
133
131
125
123
115
105
105
88
96
91
79
71
38
4
19
35
58
73
62
58
61
35
23
38
79
92
82
88
124
131
135
130
125
128
130
122
110
97
91
90
88
84
94
93
92
91
90
88
86
87
87
86
86
86
86
85
90
90
90
91
93
98
101
92
98
106
106
102
98
99
101
100
103
106
107
107
115
125
131
136
138
138
135
130
137
88
67
79
79
75
61
59
65
68
71
71
70
71
68
66
63
60
61
64
67
68
67
64
61
58
58
59
51
48
45
43
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
254
254
254
254
255
255
250
251
252
247
223
205
142
112
104
110
106
114
112
114
115
118
120
121
121
121
115
117
118
121
122
122
122
120
118
115
113
113
111
107
109
104
96
87
81
79
82
80
76
72
64
113
129
138
147
150
142
129
124
129
132
128
129
128
119
108
99
96
101
104
109
117
125
134
141
139
135
133
132
132
133
131
120
111
98
88
80
79
79
80
86
76
66
67
78
88
90
55
59
64
53
52
64
70
64
67
69
68
68
76
85
92
96
100
108
120
131
135
135
135
116
106
108
115
120
128
121
113
105
101
101
104
111
127
167
175
174
164
156
178
178
170
163
156
152
150
151
153
149
145
142
144
145
150
147
140
140
144
148
153
153
154
154
145
138
136
139
114
122
99
108
104
95
116
113
76
68
75
76
50
0
8
27
58
77
54
47
52
34
22
40
81
80
77
94
135
129
123
120
126
122
115
100
91
83
82
89
88
85
94
93
93
92
91
89
87
88
87
86
85
84
84
84
91
91
90
91
93
99
100
103
107
109
105
97
94
98
107
105
106
109
112
113
127
138
138
137
134
130
129
135
138
86
65
78
77
73
58
60
64
67
69
69
69
69
73
71
68
67
67
69
72
72
70
66
64
62
62
61
54
50
46
44
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
254
255
255
253
253
250
242
225
213
178
124
101
108
103
115
111
111
114
115
118
120
120
121
119
118
116
116
116
119
120
120
118
114
112
112
112
110
113
109
101
92
84
79
77
79
72
69
59
101
120
133
143
138
134
134
134
134
135
134
132
130
127
119
107
95
88
88
90
95
103
114
125
139
140
140
137
134
134
135
126
117
103
89
82
79
79
80
83
76
66
67
80
87
86
49
56
65
52
48
61
65
59
61
64
62
60
64
71
71
78
85
93
104
115
120
120
141
136
127
130
131
126
121
117
115
115
112
107
102
101
94
90
98
112
126
136
138
143
155
156
156
155
157
158
163
161
154
151
155
158
150
149
146
143
141
142
140
142
155
159
141
144
140
130
128
118
107
65
41
24
17
64
73
75
71
80
77
65
36
62
75
63
52
58
57
52
41
50
66
41
60
99
112
116
117
113
98
88
77
79
83
86
84
77
81
86
81
82
84
85
87
90
90
90
90
91
90
90
90
89
90
93
95
99
101
103
103
108
105
101
97
96
98
103
114
113
115
118
118
118
128
126
125
124
124
122
121
138
125
81
71
89
85
71
61
60
65
68
71
72
74
74
76
77
78
80
81
81
79
74
72
68
68
66
64
60
57
52
47
43
255
255
255
255
255
255
254
255
255
255
255
255
255
255
253
253
254
253
253
255
254
252
252
250
249
246
222
206
181
134
105
108
109
114
113
114
114
116
118
120
124
124
112
115
114
110
108
109
107
113
115
117
120
123
122
119
120
111
103
98
97
95
83
79
70
61
66
86
111
117
133
133
135
139
142
143
139
133
137
134
125
121
120
109
96
95
88
83
89
101
109
132
136
142
145
143
134
127
121
113
96
77
69
76
89
95
66
56
54
68
86
83
63
47
47
55
47
51
61
58
59
59
59
56
56
55
56
67
71
73
80
88
99
107
114
116
124
141
140
125
122
111
113
111
110
110
112
115
108
107
105
104
104
105
105
92
92
94
94
95
96
98
99
113
147
155
154
148
142
159
159
151
145
139
139
140
131
126
129
151
155
148
132
123
117
113
117
108
87
68
31
0
12
76
57
26
38
67
62
71
66
39
52
49
72
56
26
0
25
62
80
91
91
87
80
78
77
74
87
87
86
85
88
89
91
94
92
88
85
85
89
90
83
85
88
91
93
95
94
104
101
95
96
98
102
102
103
104
105
110
118
121
121
141
125
104
90
90
99
110
116
106
115
125
126
142
130
99
89
83
85
85
80
74
70
69
68
69
71
76
79
83
82
81
81
81
80
79
78
77
74
70
65
61
58
59
54
47
41
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
254
254
254
254
255
254
254
252
249
246
242
219
204
176
132
106
108
109
113
112
115
116
116
117
119
121
121
126
126
122
117
116
118
116
116
114
111
108
107
108
113
92
96
102
106
105
98
83
86
79
62
54
79
117
116
131
131
134
138
142
142
139
133
136
133
125
122
121
111
93
93
91
89
89
94
105
127
134
140
143
141
133
125
120
111
94
78
71
77
86
89
69
58
56
68
85
83
63
45
46
54
49
52
60
57
58
58
57
55
54
53
54
63
66
69
75
83
93
100
109
106
104
123
136
131
126
111
113
113
110
110
112
114
111
110
106
104
104
104
104
96
96
98
99
100
101
103
102
102
108
120
135
149
158
149
151
153
151
150
149
148
143
135
130
123
129
140
143
128
120
109
103
104
99
95
82
47
30
72
77
34
11
64
66
64
36
40
85
98
65
44
23
18
45
63
74
72
73
72
72
83
87
87
77
82
88
92
84
76
70
74
79
87
93
96
92
89
93
94
95
96
97
97
97
96
97
97
99
102
101
100
114
110
106
105
113
121
132
117
107
96
90
93
102
112
107
114
124
127
129
139
109
93
86
82
84
83
78
75
69
69
69
70
72
76
79
82
82
82
82
81
81
80
78
77
74
70
67
62
59
57
53
47
42
253
253
253
253
253
253
253
254
254
254
254
254
254
254
255
255
255
255
255
254
253
255
252
248
244
238
207
190
158
129
105
102
107
111
110
116
116
117
118
119
121
121
134
126
121
119
116
105
104
130
138
149
157
160
162
170
171
166
155
137
117
96
74
70
75
68
56
67
100
130
127
127
130
134
137
140
141
133
133
132
129
129
130
126
95
89
90
96
92
85
93
117
128
136
140
139
134
126
116
102
87
79
77
76
73
72
77
68
59
65
81
80
59
41
44
51
50
51
55
52
51
51
51
48
48
48
48
52
55
57
61
69
77
84
91
94
102
94
84
103
137
106
110
111
110
110
109
107
112
111
108
107
105
105
105
105
105
105
105
104
105
104
107
108
110
107
102
96
92
86
102
145
156
157
153
150
144
137
135
135
133
127
113
129
129
128
115
102
90
82
61
60
74
63
49
45
74
67
40
40
61
23
10
13
53
38
30
43
79
73
62
73
77
79
80
84
85
84
86
89
93
96
96
94
92
96
94
91
90
93
106
110
98
97
95
93
92
92
93
98
98
97
95
95
108
114
119
120
119
117
110
100
84
70
79
91
103
110
113
116
130
130
114
118
141
131
66
86
86
87
85
81
77
75
71
72
73
75
76
77
78
84
83
83
83
82
81
82
77
77
75
73
70
66
63
54
51
47
45
252
252
252
252
253
253
253
254
254
254
254
254
254
254
255
255
255
254
253
252
251
248
247
244
239
231
193
173
156
141
116
103
109
112
114
115
115
118
121
122
127
128
120
115
124
146
157
147
151
154
157
159
159
159
160
170
170
164
159
160
163
163
152
119
93
81
99
122
127
120
124
125
127
128
130
133
138
136
134
133
133
136
138
136
107
93
84
88
94
93
92
108
121
130
134
137
140
135
112
97
85
82
79
69
61
61
89
81
63
58
73
72
51
39
41
43
45
44
44
44
44
45
45
42
42
42
43
47
49
51
56
62
72
77
81
84
77
95
134
144
121
108
106
107
108
108
107
105
108
106
105
106
107
108
109
120
120
116
115
113
111
110
104
104
105
107
109
110
111
111
110
104
100
98
98
101
136
143
156
145
140
143
145
128
120
112
107
109
109
108
86
80
74
61
66
39
29
16
19
35
63
66
32
9
24
54
70
69
88
79
58
65
75
85
90
92
93
91
98
96
93
92
101
110
114
110
109
106
102
97
86
83
96
97
97
98
100
103
104
105
109
114
116
114
100
96
87
85
82
78
77
80
89
75
88
105
117
121
119
121
118
127
136
137
115
77
74
85
88
90
88
85
83
71
72
72
72
71
73
73
74
76
77
78
79
80
81
83
79
78
78
75
70
67
63
54
51
48
46
252
252
252
252
252
252
252
253
253
253
253
253
253
253
255
255
255
253
251
251
250
246
243
235
229
221
187
170
165
153
126
108
114
117
120
118
120
121
122
125
127
127
118
112
125
153
170
161
168
163
162
161
160
160
163
169
167
165
165
165
168
168
162
153
129
111
118
131
134
115
123
125
126
126
127
130
137
141
137
133
133
134
134
133
108
98
87
84
91
95
94
102
115
125
128
133
140
140
110
96
86
84
79
66
57
60
92
85
64
57
70
68
48
39
40
38
41
42
40
41
43
44
42
41
40
41
41
45
47
49
53
60
69
75
82
92
106
129
156
154
127
112
108
108
109
110
109
108
107
106
104
104
105
104
105
115
115
114
113
113
112
112
110
110
114
113
109
105
102
111
114
118
115
112
109
106
85
98
121
130
129
136
139
134
130
122
102
96
95
95
112
79
52
53
71
54
48
28
24
23
39
52
14
0
3
31
56
66
70
66
59
80
88
95
94
92
92
92
93
99
108
117
117
112
108
100
97
93
91
93
106
110
101
102
104
107
109
111
111
106
106
107
105
102
85
80
66
72
78
83
83
82
81
85
92
102
110
116
120
128
120
128
136
116
76
58
74
80
84
85
85
86
87
71
70
68
67
65
65
67
69
72
73
74
76
79
81
83
81
80
78
74
71
66
62
54
52
50
49
248
248
247
247
251
253
254
254
254
253
253
253
252
253
255
255
255
255
251
249
247
238
228
217
209
204
187
179
167
169
168
165
166
179
182
176
185
184
180
181
164
159
148
139
141
159
171
166
163
162
161
159
159
157
156
157
166
167
169
170
171
168
163
157
160
157
144
127
117
124
116
118
123
126
126
125
130
145
144
137
130
128
130
132
106
104
98
91
90
94
92
95
107
119
126
131
136
140
116
90
80
85
82
71
64
66
95
88
72
65
65
53
36
34
35
37
37
39
40
41
39
38
36
36
36
37
37
39
45
47
53
60
68
74
82
87
144
157
134
149
153
125
118
115
114
113
112
110
110
108
106
107
108
106
105
101
102
104
102
101
98
98
106
108
113
116
120
124
128
130
128
125
126
128
130
131
128
127
123
111
102
93
87
100
96
93
100
100
93
87
74
49
52
57
8
17
75
85
62
21
3
10
44
1
0
10
40
55
52
62
74
87
90
95
98
102
103
103
88
91
94
96
98
101
104
108
108
107
107
107
107
107
115
115
114
111
107
95
92
77
77
76
75
75
72
71
73
72
71
69
68
71
83
117
105
89
85
100
121
132
152
112
72
55
59
64
59
72
76
79
80
81
80
69
65
61
58
58
59
61
65
70
70
72
74
77
81
85
84
82
78
72
68
64
62
58
57
55
54
243
243
243
243
245
246
248
246
247
248
249
252
253
254
255
255
255
255
251
249
248
244
237
226
215
207
205
206
201
205
209
211
216
234
239
243
245
241
235
236
233
225
207
190
175
172
171
170
171
168
168
167
165
165
165
166
169
169
169
168
167
166
165
164
161
158
158
156
149
125
119
118
119
125
129
127
126
132
138
137
132
128
128
130
112
106
101
101
97
90
91
82
75
83
106
127
136
142
128
98
82
84
85
79
76
77
85
82
78
67
49
35
27
33
34
33
34
35
35
34
37
34
31
30
29
29
29
32
35
38
43
50
56
60
66
62
111
151
130
121
132
138
136
134
131
124
116
111
114
112
107
106
105
102
100
98
99
101
102
101
102
101
100
102
103
103
105
107
110
97
97
104
108
114
118
122
131
134
138
150
153
155
154
131
133
130
106
99
102
108
107
101
85
75
70
58
52
77
89
80
45
27
72
53
28
31
43
55
65
75
85
74
76
79
81
83
84
83
90
92
94
93
92
94
95
97
96
95
93
91
89
88
85
85
85
85
85
84
83
88
88
88
86
86
84
83
79
80
81
80
80
81
87
110
106
103
104
109
114
124
77
68
58
53
54
55
59
71
76
81
84
84
81
66
58
54
51
52
53
54
58
70
72
74
78
80
81
80
80
78
74
69
66
62
59
55
54
53
53
239
239
240
241
242
243
243
241
243
244
247
251
253
254
255
255
255
254
252
250
248
246
242
234
224
214
210
213
209
213
217
218
222
235
237
245
244
243
239
239
238
223
177
169
163
164
166
162
163
169
170
171
171
172
173
175
171
169
169
167
166
165
164
163
161
161
164
165
161
141
123
117
114
118
124
126
126
128
134
139
135
131
129
130
112
104
101
105
98
87
89
86
71
73
101
125
135
142
130
100
81
83
83
79
81
84
80
79
81
66
41
25
23
32
32
32
32
32
32
31
31
29
28
27
27
27
28
33
38
40
44
50
57
60
66
60
100
151
142
121
133
129
136
139
138
132
122
115
116
114
110
110
109
106
105
98
99
100
101
101
101
102
104
107
107
106
106
110
112
99
99
103
105
105
106
105
105
105
107
120
126
129
129
110
115
117
98
88
84
86
80
91
84
58
58
52
47
55
80
91
56
17
44
30
28
29
38
50
62
70
78
67
68
72
74
77
77
78
81
83
84
84
83
84
87
83
82
81
81
79
78
77
82
82
82
82
83
85
85
85
85
85
83
83
82
81
76
77
78
79
80
81
82
85
92
107
123
125
103
62
63
69
67
60
51
50
67
71
77
82
84
85
82
65
57
52
50
50
51
53
58
72
74
78
81
82
81
79
76
74
70
67
62
60
58
53
53
52
52
234
235
236
237
237
236
236
237
238
240
244
251
253
254
254
254
255
255
253
252
250
248
248
248
241
231
217
215
222
227
233
234
238
248
250
248
247
254
253
250
241
209
178
175
171
167
165
163
164
167
168
169
169
170
172
174
170
170
170
169
168
167
164
159
160
162
163
165
166
173
139
127
114
110
113
117
123
126
132
135
136
136
135
132
105
100
101
103
100
89
87
101
87
85
103
123
134
139
122
95
78
77
74
76
87
95
75
69
69
60
41
26
24
33
33
31
30
28
28
26
22
22
23
24
27
29
30
31
35
38
43
50
57
61
68
70
78
127
159
144
146
141
130
125
125
125
126
125
131
127
120
117
113
110
107
107
107
104
102
102
102
101
103
105
104
103
105
107
109
125
124
120
117
116
115
114
121
118
114
104
99
93
88
106
102
97
94
94
92
92
93
84
71
61
44
28
28
21
24
41
25
10
15
21
30
38
47
53
54
54
53
52
55
57
61
69
72
74
72
74
77
78
79
81
84
80
81
81
82
83
84
85
81
81
82
82
81
80
80
81
81
80
80
79
79
79
78
77
77
78
82
83
81
75
86
98
96
76
56
75
80
83
80
68
54
47
64
69
74
80
82
84
82
68
60
56
54
54
56
58
63
76
78
81
82
81
77
72
67
65
61
57
55
52
51
51
52
53
54
231
232
233
234
234
233
233
236
237
239
243
249
251
253
253
253
255
254
253
253
251
253
252
249
246
241
232
229
229
236
241
244
247
253
252
254
250
253
251
244
236
197
184
187
188
184
178
170
166
165
163
161
159
157
157
158
170
171
173
175
174
172
164
164
159
157
159
163
168
166
157
146
132
124
117
114
115
126
126
127
129
134
137
130
101
103
104
103
103
102
92
86
88
93
101
116
131
142
113
93
81
77
72
74
93
106
71
56
49
47
44
35
28
36
34
33
30
28
27
26
24
22
23
23
25
27
27
32
37
40
46
54
62
68
69
84
68
98
167
172
160
146
134
129
128
128
128
127
120
118
118
121
122
122
121
121
118
111
109
106
104
104
100
100
96
94
93
94
96
83
86
95
98
101
100
100
100
98
96
99
101
102
102
89
93
98
92
85
81
79
70
75
73
67
59
52
52
40
22
43
44
27
10
31
37
42
44
52
73
69
60
59
61
61
64
69
70
73
76
77
79
78
75
76
77
78
78
78
77
76
75
75
74
76
78
80
81
78
76
78
78
77
77
77
77
77
77
74
73
74
77
80
78
92
77
68
72
81
86
88
80
70
69
74
75
68
61
67
71
76
78
81
82
72
62
58
56
57
59
61
66
74
75
75
74
71
67
63
59
58
55
52
49
47
46
52
53
55
56
232
232
232
233
234
234
236
240
243
245
248
253
254
254
254
254
254
254
254
254
254
252
252
250
249
247
244
243
240
241
243
247
250
255
255
255
255
255
255
241
235
185
172
177
173
170
174
167
167
165
165
165
165
165
164
163
169
170
170
171
170
170
167
165
165
166
167
168
167
167
167
165
159
144
120
102
101
112
117
125
132
144
152
151
103
98
99
100
100
105
104
95
106
106
107
118
126
130
104
87
77
78
77
77
78
78
83
74
58
48
45
45
42
36
33
29
25
22
24
25
24
25
25
25
25
28
30
39
40
42
48
57
67
74
74
75
63
86
138
165
159
165
150
134
126
126
120
112
114
107
100
104
111
117
121
121
120
115
113
111
108
107
109
110
107
107
106
104
104
104
104
107
108
110
111
111
106
107
108
105
105
105
106
96
90
84
80
72
69
71
75
81
81
61
54
48
42
30
35
30
33
31
19
32
44
57
55
50
61
58
62
63
66
70
71
73
76
80
79
79
79
78
77
77
76
76
76
76
75
75
74
73
76
77
77
77
78
78
78
76
78
81
82
83
82
80
80
79
79
81
82
86
89
88
90
91
88
80
76
83
78
75
70
67
66
68
76
78
82
84
82
82
81
75
66
62
60
61
63
65
67
71
74
75
74
72
69
64
58
55
52
49
46
45
45
52
53
54
56
230
231
232
235
238
240
241
244
246
248
251
255
255
255
254
254
254
254
254
254
254
255
255
253
252
250
248
247
247
248
248
250
252
255
255
255
252
255
255
250
234
186
174
174
172
170
168
171
174
169
169
169
170
169
170
171
167
167
168
169
170
170
169
168
167
166
165
166
166
169
165
163
161
158
146
128
110
107
112
121
126
135
142
145
114
108
105
106
107
112
111
90
98
103
104
107
114
121
94
82
77
80
81
84
85
84
76
58
46
45
50
50
46
40
36
31
26
22
23
23
25
26
27
27
29
33
35
45
46
46
50
57
67
74
86
85
84
71
111
163
164
152
150
147
137
126
121
122
117
117
119
119
116
112
109
110
110
112
112
113
113
114
114
114
114
114
114
114
114
110
110
114
115
117
118
118
123
118
113
104
100
94
89
80
76
72
67
70
81
91
102
96
85
62
57
51
46
36
47
42
37
48
35
31
35
60
70
63
69
71
72
67
68
68
68
64
65
66
71
72
72
72
72
73
73
78
78
78
78
77
77
77
76
76
76
76
77
77
77
73
74
77
80
82
81
81
76
76
77
81
86
90
95
81
88
85
71
63
68
74
75
72
69
66
65
66
74
77
80
83
83
83
83
77
71
65
63
64
65
65
67
75
75
76
76
73
68
64
59
58
55
53
53
54
55
58
58
60
61
231
233
235
237
243
246
247
249
251
252
254
255
255
255
254
254
254
254
254
254
254
253
253
252
251
250
248
248
255
254
253
253
253
253
253
255
254
255
255
251
249
232
174
169
174
179
172
171
169
169
168
168
168
168
169
168
166
166
167
167
168
168
169
170
168
167
165
163
165
169
169
165
160
161
162
153
135
109
111
113
117
122
125
131
135
125
116
108
104
112
118
95
92
98
101
97
101
109
81
78
80
85
86
90
90
86
62
51
51
59
62
57
51
46
42
35
27
23
22
21
24
26
28
30
34
37
40
56
53
52
52
58
66
72
75
80
77
77
83
112
151
166
145
143
143
141
141
143
144
140
129
126
125
123
121
108
108
107
107
106
106
105
104
104
105
104
104
104
105
108
107
106
105
104
103
102
101
95
89
87
84
80
74
80
75
70
84
94
98
98
87
80
73
66
61
54
50
45
56
54
44
59
51
36
29
54
80
85
81
80
73
76
76
75
75
75
74
73
70
70
71
71
72
72
72
71
71
72
73
73
73
74
75
75
75
75
75
75
75
76
77
79
82
84
86
86
84
85
86
89
92
94
96
81
91
86
66
58
66
70
70
69
67
65
64
64
70
72
76
81
81
83
85
80
77
72
68
68
69
68
69
77
78
78
77
74
72
69
66
65
62
61
62
63
65
63
64
66
67
233
234
236
239
246
248
249
251
252
254
255
255
255
255
254
254
254
254
254
254
254
253
253
252
251
250
249
248
255
255
255
254
252
251
252
253
254
255
254
250
253
250
181
168
173
181
173
173
167
168
167
167
167
166
165
165
167
168
167
166
166
167
168
170
169
167
165
164
165
167
170
166
162
160
162
160
148
117
112
111
113
117
118
121
138
130
122
111
104
107
115
100
88
93
98
92
94
101
78
78
83
87
88
91
91
84
63
58
60
64
64
59
55
50
44
36
28
23
21
21
23
26
28
31
35
39
42
60
56
53
53
57
65
72
71
77
72
81
77
89
128
168
158
153
153
155
153
149
148
140
126
124
124
125
125
112
111
108
107
105
104
104
103
103
103
101
101
101
101
102
101
99
97
96
94
93
92
88
85
83
82
79
76
72
77
84
107
111
103
92
89
83
78
69
60
53
50
53
59
60
51
60
57
45
36
48
73
88
82
80
74
76
75
74
74
76
75
74
72
72
72
72
73
73
72
73
73
74
74
74
75
75
73
74
74
74
74
75
75
74
74
77
78
80
82
82
80
81
85
89
94
98
101
79
87
83
68
58
62
66
68
68
67
65
64
65
69
69
74
78
80
82
85
81
80
75
70
70
70
69
70
78
78
77
77
76
73
72
72
69
67
65
64
65
67
64
65
67
68
236
237
238
242
247
249
250
253
254
255
255
255
255
254
254
254
254
254
254
254
254
255
255
255
255
254
253
253
255
255
255
253
252
251
251
252
250
249
252
255
250
248
197
170
167
173
167
177
169
171
170
169
168
166
164
163
170
169
167
166
165
164
166
169
169
169
168
166
165
163
160
164
165
162
162
165
161
130
117
107
108
110
109
109
127
129
132
122
104
100
102
103
81
81
90
82
83
87
76
80
88
93
91
94
91
81
78
75
72
65
56
55
59
54
47
38
30
23
21
20
22
25
28
32
37
41
45
60
58
55
55
57
63
69
79
79
86
80
81
86
82
105
167
169
166
169
164
148
143
136
131
133
133
132
130
121
121
118
115
113
112
111
105
103
101
99
98
96
96
97
97
98
98
98
98
98
91
90
87
77
73
72
72
100
112
116
100
99
99
97
86
81
78
64
54
52
56
67
67
69
65
58
65
65
57
42
53
78
77
80
81
84
82
79
78
79
76
73
74
73
72
72
70
69
69
66
66
67
68
69
70
71
73
73
73
73
73
73
73
79
80
79
80
81
84
83
80
81
85
88
92
93
94
89
90
90
85
75
65
69
67
68
68
66
65
64
67
63
69
74
77
80
83
82
84
78
74
73
72
70
70
75
75
77
76
77
76
76
79
77
74
70
67
67
67
64
65
67
68
242
243
245
248
250
251
252
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
255
255
254
252
251
250
251
249
250
250
246
247
244
221
157
157
160
162
163
164
165
166
166
167
167
166
165
163
167
167
167
166
166
165
165
165
165
165
166
166
166
164
163
161
162
161
159
158
157
153
138
116
100
95
95
99
112
116
119
117
109
100
95
93
88
80
80
86
83
76
81
89
96
94
83
74
79
89
90
77
68
64
62
61
57
56
53
46
37
29
26
24
26
29
32
34
38
43
47
60
60
60
60
63
65
67
73
78
80
82
87
91
95
84
115
142
163
169
160
146
141
136
134
135
136
137
136
128
128
125
124
121
118
116
113
116
112
110
111
107
103
98
97
97
97
94
90
87
79
78
77
82
90
99
104
106
103
102
105
103
95
86
88
83
77
63
60
62
65
74
78
72
62
64
71
72
65
62
60
65
80
80
78
77
78
79
80
83
83
84
76
75
74
75
74
71
68
68
68
68
68
69
71
72
70
72
73
74
76
74
73
74
74
75
77
79
86
87
87
83
88
93
95
99
103
97
96
91
83
75
70
71
72
71
67
66
64
63
58
63
67
72
75
77
78
83
82
80
76
75
74
74
71
75
74
74
73
74
74
75
74
76
77
78
77
74
70
68
69
72
74
243
244
246
249
251
252
252
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
255
254
254
253
252
252
251
253
255
255
247
247
243
215
144
146
151
156
159
162
162
164
165
167
167
167
167
165
165
165
165
166
166
166
165
164
163
163
163
163
163
165
162
161
159
157
155
154
154
152
144
130
109
93
88
92
106
108
112
111
108
101
93
90
89
84
79
81
83
79
87
92
93
86
77
77
88
100
93
80
71
67
65
62
59
57
52
46
37
30
26
25
26
29
33
37
41
47
50
58
60
61
61
63
65
66
70
74
77
79
84
90
94
100
92
110
140
161
162
154
150
147
141
141
143
146
148
132
132
132
129
127
124
123
120
121
113
110
110
108
105
93
93
95
93
89
83
79
75
76
80
97
104
105
104
96
98
101
103
97
89
81
88
83
75
59
59
65
71
76
81
78
65
65
73
77
65
65
67
68
73
76
79
74
75
77
79
83
85
85
79
78
77
77
75
71
69
67
68
69
70
71
72
72
73
73
73
74
74
72
71
72
68
66
71
81
86
82
87
85
89
93
93
97
101
97
87
77
72
73
73
71
77
73
68
65
63
62
58
64
68
72
75
75
76
79
80
78
75
74
73
72
70
72
72
71
70
70
71
72
70
74
77
80
80
77
72
68
70
75
78
248
249
251
252
254
254
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
249
249
251
252
254
255
255
254
246
249
251
231
171
157
140
140
140
140
145
156
160
160
162
164
167
168
168
168
164
164
164
164
164
164
163
164
163
162
160
160
161
163
167
164
160
155
151
147
144
140
141
139
131
119
102
89
92
92
94
99
102
101
97
87
90
96
93
80
82
86
97
95
96
108
127
137
129
115
90
79
73
72
72
69
67
59
52
44
38
33
28
26
27
33
38
44
48
54
57
59
66
69
71
70
68
67
64
64
66
70
76
84
90
94
110
111
111
119
137
154
158
160
162
160
156
152
149
137
137
137
134
132
129
126
124
120
109
104
101
100
100
99
94
85
82
81
78
77
87
93
99
97
95
96
97
92
94
97
92
89
87
85
78
79
77
64
62
69
75
78
82
80
70
62
69
76
76
74
72
72
76
76
75
76
76
76
76
78
78
78
83
82
82
82
81
77
75
74
74
73
72
71
69
69
69
69
69
70
71
74
75
75
77
78
80
84
88
87
92
86
87
92
98
103
75
84
81
78
77
77
77
73
70
65
60
58
57
58
57
59
62
65
68
70
72
78
76
75
73
72
71
69
65
70
68
66
64
63
65
68
68
68
70
71
72
74
75
70
72
76
79
251
252
253
254
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
244
245
245
247
248
251
252
255
255
254
252
245
190
149
136
135
134
135
138
148
152
155
157
161
164
167
168
169
168
168
166
165
164
164
161
166
166
164
163
161
159
157
154
155
155
153
149
145
140
133
130
126
127
127
121
112
76
75
75
80
85
93
100
95
90
105
111
83
64
69
111
136
162
167
161
150
137
124
98
83
75
73
75
75
74
58
50
42
37
34
29
25
31
37
44
48
53
57
59
59
69
74
75
73
69
64
64
60
61
65
72
82
88
94
104
110
115
119
124
125
136
139
152
154
152
148
144
151
151
148
145
141
136
133
130
123
117
112
105
103
105
92
89
87
88
91
92
93
93
95
97
97
97
100
104
92
91
89
87
87
85
84
75
76
76
63
64
73
83
81
81
80
76
65
66
69
79
75
73
72
75
75
73
76
76
75
75
74
73
73
71
74
79
84
85
81
76
77
74
71
68
67
69
71
71
71
70
70
71
74
75
74
79
84
87
88
95
96
96
95
96
97
100
108
87
91
91
89
86
82
78
70
66
62
60
58
58
57
53
56
58
60
62
63
64
72
72
72
71
70
69
67
62
63
59
56
54
53
55
57
67
68
68
69
71
73
75
79
79
78
78
251
252
254
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
243
244
243
244
244
246
246
252
255
250
241
246
212
151
130
131
132
136
139
146
149
154
156
160
164
166
168
169
170
168
167
166
164
164
161
167
166
166
165
162
160
154
147
149
150
151
149
146
141
134
127
121
120
121
122
121
70
70
70
72
79
89
99
99
90
107
114
81
56
60
134
152
164
162
156
152
144
134
102
87
77
74
76
75
75
57
49
41
37
33
29
24
32
38
45
49
53
57
59
59
69
73
75
73
68
62
59
55
56
59
67
77
83
90
104
108
110
116
124
129
133
129
125
130
138
146
153
158
157
153
150
145
140
137
128
121
117
112
104
101
103
93
92
92
93
93
91
90
98
96
95
100
102
101
100
89
88
86
88
86
84
80
77
77
74
60
64
76
87
83
82
81
79
68
66
68
75
74
73
72
71
73
74
74
74
74
74
73
74
73
77
75
71
71
80
85
87
89
85
79
73
69
70
71
74
73
72
70
71
73
73
73
74
80
85
91
96
96
99
100
101
95
90
97
88
99
94
87
84
82
79
67
67
65
63
61
59
58
51
58
59
61
61
60
61
67
72
71
70
70
68
65
61
59
55
52
50
49
50
53
65
68
71
74
76
76
76
83
82
80
79
254
254
254
254
254
254
254
254
253
253
253
252
252
252
255
255
255
255
255
255
255
255
255
255
255
255
254
254
250
252
249
243
243
232
217
191
202
223
240
247
245
231
167
138
127
132
134
134
138
147
150
152
156
158
158
158
163
163
166
167
169
170
170
165
164
163
160
158
155
152
142
141
138
135
132
131
130
131
128
123
119
115
110
105
94
90
78
72
71
69
77
109
108
103
89
64
59
96
159
160
161
159
156
150
143
139
114
97
87
83
80
76
74
61
55
47
44
41
35
31
42
48
50
54
61
63
64
67
66
68
70
68
65
62
63
62
64
65
68
74
80
100
110
114
117
122
130
136
144
152
158
160
163
164
162
152
153
149
135
115
105
106
108
111
93
85
84
89
94
97
98
99
100
99
98
97
95
93
91
94
94
92
90
94
97
101
93
86
80
77
79
75
68
59
68
76
79
81
83
80
78
74
69
69
71
74
76
76
72
73
74
79
79
80
80
74
71
69
77
77
76
71
67
69
71
76
80
80
77
81
92
88
77
76
75
75
73
72
72
71
70
71
74
78
88
93
96
97
95
90
82
77
79
93
90
87
84
81
77
67
66
64
63
61
59
57
55
60
59
59
60
60
60
62
62
63
62
64
67
68
65
52
47
44
43
47
51
54
63
67
71
77
80
82
84
83
83
83
83
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
254
254
254
254
253
253
253
252
252
252
255
255
255
252
252
242
231
215
197
184
178
173
220
244
225
179
139
128
126
127
131
133
139
146
151
156
159
159
163
164
164
164
166
168
173
172
170
167
163
158
155
151
141
140
138
134
129
125
121
113
114
113
115
113
109
102
74
79
77
71
70
65
57
56
50
45
39
33
40
74
141
141
141
141
139
137
134
132
121
107
96
89
84
79
75
67
61
56
50
45
41
41
50
55
57
61
65
69
69
72
69
68
68
66
66
65
65
64
67
69
71
77
84
89
103
109
115
122
129
134
146
145
144
145
146
143
138
123
121
110
98
86
84
90
96
99
91
88
90
98
103
100
100
99
98
96
94
92
95
95
94
91
90
91
91
98
102
103
89
81
79
78
83
72
61
63
73
78
81
84
79
77
78
77
73
66
68
74
79
78
71
73
77
77
75
75
79
80
73
65
54
59
66
73
75
71
67
65
69
71
71
74
76
71
72
74
76
76
76
71
69
69
75
75
65
51
48
52
44
42
47
57
74
92
110
88
86
83
81
80
76
67
63
63
62
61
60
59
58
64
63
63
64
66
67
69
68
66
63
61
60
60
60
55
54
51
49
49
51
53
55
58
61
66
71
75
79
85
85
85
85
254
254
254
254
254
254
254
254
255
255
255
255
255
255
254
254
254
254
254
253
253
253
252
252
252
252
252
252
255
255
255
254
254
247
240
243
235
232
219
190
174
185
199
177
153
133
123
129
123
127
133
140
147
152
156
159
164
164
162
162
163
165
168
168
168
167
166
161
155
147
139
139
137
133
129
124
120
112
110
108
107
107
105
101
76
78
72
68
70
66
57
50
47
45
44
43
51
78
133
134
134
134
134
134
133
133
123
111
100
92
85
80
77
66
62
58
52
44
42
44
51
56
58
60
66
69
68
73
71
69
67
65
65
65
66
65
68
70
72
78
85
86
102
110
116
123
130
134
141
139
140
139
133
124
117
103
105
111
104
94
91
95
100
103
97
94
98
104
110
98
98
99
98
97
95
94
92
96
98
88
87
91
96
97
99
99
87
81
81
82
82
70
59
67
75
79
80
85
76
77
79
78
77
67
67
72
77
78
72
73
75
75
72
70
73
80
77
73
56
54
55
62
73
70
64
68
69
68
67
68
69
66
66
69
70
72
72
67
65
71
79
77
63
47
41
43
43
43
50
62
81
98
113
87
85
82
80
78
76
67
65
63
63
63
62
61
61
66
66
68
68
69
70
71
66
65
65
63
60
58
58
55
53
51
48
48
50
53
54
55
58
61
66
73
77
85
85
85
85
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
253
253
253
253
253
253
253
253
253
253
253
255
255
255
255
255
255
255
245
250
251
249
243
232
225
182
168
157
149
141
135
124
127
128
127
129
131
136
141
152
152
153
155
156
156
157
158
159
159
158
156
152
147
141
138
132
125
120
114
111
109
106
103
101
99
99
96
85
77
77
95
106
96
87
103
96
86
76
71
79
102
123
123
124
125
126
130
133
134
122
113
103
95
88
82
79
66
63
62
55
44
42
49
55
59
61
61
66
69
68
70
73
72
67
63
62
62
65
64
67
68
70
76
83
82
100
109
117
124
129
131
129
128
135
130
116
107
104
95
99
110
107
99
96
99
104
106
103
101
102
108
111
99
100
100
99
98
97
95
96
95
93
93
96
98
99
100
95
88
84
83
82
80
73
64
60
70
73
76
79
82
73
81
84
77
82
72
69
69
72
75
77
73
69
70
70
70
70
75
77
78
82
78
71
64
61
64
66
65
63
63
65
68
66
66
65
66
66
68
68
67
67
72
69
54
35
28
48
56
70
81
88
93
93
91
85
84
82
80
80
78
77
69
68
68
68
68
68
69
69
68
72
75
77
76
74
66
66
65
63
60
58
59
62
67
63
57
49
45
45
50
57
57
57
60
64
69
76
84
84
84
84
254
254
254
254
254
255
255
255
255
255
255
252
255
255
255
255
255
254
253
253
253
255
255
255
255
255
252
251
249
250
251
253
255
255
255
255
255
255
254
252
248
246
246
240
217
191
175
148
148
136
135
133
132
130
126
121
134
135
135
137
140
143
148
149
149
149
147
146
144
141
138
136
129
122
115
109
106
99
97
97
102
102
97
92
80
69
73
96
114
113
113
117
119
124
121
96
75
90
109
115
116
115
118
123
125
122
122
112
102
94
89
84
81
70
63
57
52
50
50
49
57
60
64
66
67
67
67
72
69
66
64
61
59
58
56
61
63
64
68
72
76
76
89
96
102
108
112
113
119
116
132
137
130
123
119
103
106
108
112
107
102
107
115
109
109
111
108
111
115
102
103
103
102
100
96
95
94
91
90
95
99
101
101
93
87
86
81
85
86
76
63
62
63
74
76
76
73
78
79
77
78
74
73
84
76
67
64
70
78
78
79
67
69
71
71
72
75
77
76
78
81
82
73
67
63
70
69
69
72
75
72
68
65
67
68
68
69
76
80
76
53
30
30
49
70
73
76
89
98
98
93
82
66
85
84
82
79
78
76
75
72
70
66
65
67
70
74
80
79
80
80
77
72
63
64
68
71
66
59
58
67
86
83
77
68
57
50
49
59
63
67
68
67
69
70
78
79
81
82
255
254
254
254
254
254
254
253
253
254
253
251
253
254
254
253
252
252
254
255
255
254
254
253
253
254
255
255
246
247
248
250
252
255
255
255
255
255
255
255
254
254
251
253
246
229
211
181
172
161
153
143
135
131
131
136
125
124
123
122
121
122
123
129
130
132
133
135
135
134
128
127
123
119
115
110
107
101
99
104
111
111
100
81
80
92
108
118
122
122
124
118
122
129
134
129
109
86
97
107
114
114
113
114
118
119
113
106
101
94
88
83
79
72
67
60
56
55
53
54
54
58
62
63
64
64
63
67
64
62
60
57
55
54
61
64
65
66
68
72
75
81
90
96
102
107
112
115
115
114
127
131
134
139
144
136
132
114
116
114
113
116
115
117
109
108
110
108
104
103
103
102
100
98
97
96
98
97
97
98
99
97
96
90
84
84
81
83
83
74
63
63
65
74
76
76
75
81
79
74
75
78
75
78
73
73
74
75
73
78
85
78
74
69
67
71
75
76
78
80
84
86
84
80
78
68
67
67
69
71
71
70
68
68
69
72
75
89
95
83
86
91
94
92
80
77
84
87
88
87
83
78
70
82
83
84
85
83
81
78
78
75
72
70
72
75
76
87
85
81
77
74
72
70
74
71
66
63
62
60
60
69
78
89
90
84
73
65
63
64
69
71
73
76
79
81
82
83
83
255
255
255
254
254
254
254
252
252
251
251
250
251
252
251
250
249
248
248
250
251
250
251
252
252
253
253
252
248
248
249
250
252
254
255
255
255
255
255
255
255
255
249
249
246
231
214
195
182
179
170
161
152
145
139
136
128
126
124
121
119
117
117
120
122
124
125
127
127
126
122
122
120
117
114
111
109
105
107
112
116
113
103
94
111
124
131
126
119
115
109
111
112
114
116
120
116
98
86
97
109
114
113
111
113
115
108
103
99
94
88
82
77
70
66
61
57
55
55
55
59
62
64
67
68
67
66
69
67
65
62
60
59
58
59
62
63
62
64
68
70
81
89
94
99
105
109
113
118
121
129
131
132
138
143
138
135
115
116
118
116
120
114
119
112
109
110
107
100
104
104
103
101
99
98
97
100
100
100
100
98
95
92
86
83
84
81
83
82
72
64
64
67
74
77
77
76
83
80
73
73
82
76
76
76
75
72
72
74
78
82
84
78
71
67
71
74
75
77
80
83
86
87
86
84
68
68
67
67
67
66
64
65
64
66
68
73
87
91
89
95
101
101
95
81
78
85
83
81
80
80
79
79
81
83
86
87
87
85
79
87
85
82
81
81
83
84
82
81
79
76
75
73
70
69
67
68
72
76
74
67
61
68
80
88
90
84
76
66
68
71
74
77
81
85
87
88
89
89
255
255
255
255
254
253
252
252
249
246
244
240
236
234
235
236
238
240
239
239
238
238
238
239
241
243
247
248
255
255
255
255
254
253
252
253
253
253
252
253
253
253
255
249
242
227
209
199
173
166
166
169
172
171
166
154
143
141
137
133
129
127
124
121
120
120
120
120
118
116
119
119
117
118
119
121
123
126
125
122
113
106
103
114
131
130
125
120
120
124
118
105
109
112
112
113
115
115
95
93
96
105
112
113
110
110
107
103
100
96
90
84
80
71
68
67
65
65
65
66
78
80
83
84
84
83
82
87
85
83
82
79
78
77
76
79
79
79
81
84
87
93
98
99
102
105
111
115
117
126
139
141
146
146
145
142
145
115
105
101
99
102
108
113
122
119
108
100
98
109
108
104
103
102
101
101
105
104
100
98
96
93
90
84
82
84
84
85
80
69
64
66
70
75
75
76
78
83
82
75
72
83
77
73
82
75
68
66
78
78
73
86
85
83
79
74
76
80
80
81
83
85
89
90
90
82
83
83
79
75
69
68
65
65
68
75
84
96
98
98
90
82
79
83
93
92
87
83
81
81
82
84
85
81
83
86
90
91
89
86
82
81
78
77
76
76
74
90
91
91
89
86
80
70
75
70
67
68
72
78
84
77
73
74
81
92
98
95
85
84
81
81
84
88
88
96
97
98
99
255
255
255
255
254
253
252
248
242
238
234
226
218
213
189
195
203
211
217
215
214
206
202
196
196
203
231
241
255
255
255
255
255
252
251
250
249
249
249
250
250
251
255
245
243
233
209
167
119
110
107
109
114
122
130
140
147
146
142
138
136
134
131
131
131
131
133
133
132
131
128
127
125
125
127
134
139
131
125
120
124
130
136
140
133
130
130
132
131
126
125
126
119
116
116
114
111
117
139
112
91
92
105
114
114
113
111
106
101
97
93
88
85
82
82
81
83
85
85
85
89
92
95
95
96
95
94
100
98
97
95
94
93
92
90
94
95
95
97
101
104
115
117
116
115
117
122
127
136
141
140
144
151
149
144
167
174
134
119
120
129
141
131
129
159
154
128
116
122
113
111
106
105
105
105
104
107
104
99
95
94
93
92
83
82
85
85
87
81
69
64
67
72
75
74
76
78
80
84
78
73
81
77
74
80
83
80
72
76
81
82
81
88
95
92
77
78
82
87
88
88
88
90
92
93
97
101
105
104
101
96
94
93
90
89
88
88
76
71
69
69
72
75
80
84
84
89
90
90
89
87
85
82
82
84
86
88
89
91
90
90
87
85
83
82
82
79
79
79
78
78
79
81
83
88
95
100
95
83
74
72
90
91
90
86
81
82
88
101
95
90
87
88
88
88
90
91
92
94
254
255
255
255
255
254
253
250
240
228
216
196
186
178
173
173
179
189
202
198
190
188
174
159
156
175
242
255
255
255
255
255
255
254
255
255
255
255
255
254
255
255
252
251
242
227
206
163
148
131
113
106
117
128
126
126
128
128
131
132
133
133
133
130
131
132
134
135
135
133
130
132
133
136
138
141
143
141
143
146
147
148
148
146
148
147
144
138
132
124
120
117
115
112
111
110
110
112
126
134
118
90
87
109
119
109
108
110
111
105
104
104
100
92
91
90
89
90
90
90
94
95
98
101
100
99
97
99
100
99
100
100
99
99
96
97
98
99
103
108
112
118
117
118
121
125
130
131
134
136
144
146
151
155
158
160
160
161
162
166
171
175
178
172
165
143
112
97
101
107
112
113
114
116
112
103
95
91
90
101
108
114
117
70
84
91
87
84
77
68
55
66
88
79
63
66
78
74
76
73
67
79
79
73
74
75
77
74
72
78
83
89
84
88
97
83
71
70
80
92
108
118
104
93
89
88
93
102
111
117
120
118
114
108
103
97
92
81
78
80
79
78
77
78
77
75
76
78
79
79
77
77
81
85
86
88
91
93
94
94
88
87
84
80
76
74
78
78
79
79
78
79
80
73
77
85
96
104
109
106
103
102
110
112
107
103
90
81
85
93
94
96
100
100
102
101
97
94
93
254
255
255
255
255
254
253
245
240
230
212
179
171
170
165
165
166
171
175
171
166
159
160
167
186
215
251
250
255
255
255
255
255
254
255
255
253
254
255
255
254
251
250
239
215
189
172
161
156
153
143
128
115
110
109
99
98
99
100
102
101
101
99
98
100
105
110
114
119
122
119
122
125
130
135
140
143
141
141
141
141
141
143
143
140
139
136
133
128
123
118
116
116
116
115
116
115
116
121
122
129
131
115
95
98
118
112
112
112
107
108
111
108
100
100
100
100
102
103
103
103
102
101
101
100
97
95
99
96
96
94
92
91
91
92
95
95
96
99
104
107
109
116
119
123
123
123
124
131
135
145
150
154
158
161
162
163
165
166
169
174
179
180
177
173
153
126
111
112
112
114
114
112
112
109
105
106
102
98
93
90
88
86
83
92
97
80
103
104
69
62
68
81
78
70
75
86
85
91
91
84
85
89
85
82
84
88
88
85
87
90
89
94
101
105
107
95
83
81
83
93
100
94
92
93
89
93
102
111
118
125
125
125
120
117
113
110
100
97
89
87
85
83
81
77
75
74
76
77
77
76
75
77
78
81
83
86
88
88
87
87
86
84
78
74
71
72
77
78
77
75
80
86
88
82
82
79
76
74
73
73
66
75
81
90
102
107
108
107
106
99
94
96
94
89
102
103
104
104
254
254
255
254
255
254
253
253
245
237
229
204
187
173
165
163
159
157
158
161
164
176
195
218
236
248
255
253
255
255
255
255
255
254
254
254
253
252
255
255
248
241
232
222
202
182
170
155
149
143
150
146
126
115
116
106
104
105
108
111
113
115
116
117
117
118
119
120
122
124
129
130
131
134
136
138
139
140
138
136
134
135
136
137
132
131
129
127
125
123
119
116
116
117
116
115
115
114
109
112
118
127
135
134
121
108
112
117
118
113
110
106
100
101
101
102
103
105
107
109
104
101
97
95
93
90
87
90
87
86
86
87
88
89
87
92
93
95
97
101
104
106
108
109
111
115
119
121
121
126
138
143
147
151
153
159
162
165
166
168
172
175
177
176
177
167
150
140
139
140
135
122
117
113
114
118
117
115
111
96
87
77
71
109
97
87
105
139
122
64
71
70
72
77
83
89
91
85
93
97
94
84
86
89
84
85
86
88
88
88
88
87
96
101
102
112
109
97
84
82
85
93
95
92
91
91
95
104
114
122
133
133
129
128
125
124
121
112
108
99
97
92
89
86
79
77
75
74
74
74
75
74
74
82
82
82
84
83
82
80
78
78
79
77
76
75
78
80
86
89
89
90
89
84
71
68
64
63
69
79
91
105
104
97
91
95
93
91
101
99
91
90
96
98
98
99
103
107
107
254
254
255
254
254
254
254
254
249
242
239
224
205
191
176
170
163
156
157
164
171
192
213
235
245
248
251
251
255
255
255
255
255
254
254
255
252
253
253
253
242
237
226
218
203
189
179
156
145
137
148
147
130
115
112
107
114
116
119
122
124
127
128
123
123
124
125
128
131
136
136
137
136
138
138
137
136
138
136
134
133
133
134
135
128
127
128
126
124
123
121
117
116
115
113
112
109
108
103
108
108
113
132
146
137
116
113
118
117
110
104
100
92
98
98
99
100
102
104
105
104
100
96
94
92
90
88
88
85
84
85
86
88
89
86
93
95
98
101
104
107
109
108
109
112
117
121
124
122
125
139
143
147
150
152
159
161
166
167
168
171
175
177
178
181
174
165
160
159
168
159
139
127
115
110
113
115
116
113
101
95
87
81
113
97
83
132
150
116
66
74
72
69
77
86
92
91
82
89
94
92
83
83
85
83
82
83
85
86
87
87
89
93
96
97
104
105
103
91
86
85
91
99
93
89
95
99
106
116
125
136
138
137
136
134
132
131
119
114
101
99
95
91
88
80
78
76
75
73
74
76
76
73
84
83
82
82
84
85
89
86
87
89
89
89
89
91
101
108
113
111
110
107
99
94
86
76
69
67
73
82
92
99
101
102
107
105
101
97
96
87
80
83
83
83
91
93
94
93
254
254
255
254
254
254
254
252
250
249
246
240
236
233
220
211
196
182
178
188
200
220
234
246
253
255
252
249
255
255
255
255
255
255
254
252
253
253
251
244
234
233
228
219
204
190
181
160
148
144
148
148
135
118
110
127
130
131
133
133
133
133
132
130
129
129
129
131
133
137
137
138
138
138
138
136
135
133
133
134
134
134
133
132
126
126
127
126
126
124
123
116
113
108
101
98
95
93
97
97
99
104
116
129
141
150
117
114
107
96
92
92
87
97
96
96
97
98
99
99
89
85
83
82
81
80
78
78
72
69
68
68
69
70
70
78
83
86
90
95
98
96
102
107
109
111
110
110
114
119
131
134
137
139
140
144
147
153
155
156
158
161
164
165
172
174
175
177
178
189
186
177
160
134
113
103
100
98
100
105
107
106
106
95
93
89
180
154
91
74
75
77
71
76
88
87
82
86
89
93
97
89
88
89
90
88
86
86
91
93
94
94
89
89
94
91
99
115
109
98
86
89
105
100
94
105
109
116
123
132
143
145
144
143
141
139
136
122
116
103
100
95
93
90
83
80
78
76
73
75
78
78
74
82
81
81
83
89
97
111
104
107
108
107
106
106
107
105
110
112
109
106
105
106
108
109
108
107
104
100
97
107
108
101
90
85
84
88
104
106
100
93
95
96
100
102
98
94
93
253
254
253
254
255
254
255
255
254
252
252
247
242
237
240
231
222
215
206
210
218
236
244
252
255
255
250
248
255
255
255
255
255
255
255
254
253
250
243
236
233
235
224
213
200
193
188
164
154
147
152
150
136
120
117
124
133
133
135
138
141
141
136
125
124
122
123
123
126
130
132
131
131
131
133
134
133
129
130
133
134
136
135
134
133
132
131
129
126
123
120
110
105
99
92
88
84
81
89
85
90
95
98
101
118
139
139
118
104
98
94
88
81
80
80
80
81
84
86
87
82
80
79
78
76
76
76
74
71
68
65
63
60
58
58
65
68
71
75
79
82
87
95
98
100
102
105
105
113
108
109
115
118
120
121
125
126
133
138
144
147
149
153
157
169
174
177
177
177
180
182
178
176
167
139
109
101
95
92
98
104
108
112
83
94
120
193
150
89
74
75
81
81
80
82
80
78
91
91
95
103
102
96
91
94
94
96
98
101
101
101
81
112
112
106
113
98
110
100
94
92
95
99
96
95
111
116
122
128
134
145
146
141
142
140
135
130
124
119
105
103
100
95
91
86
86
83
84
85
85
85
85
83
89
90
90
90
90
91
93
95
96
96
98
99
101
105
100
99
106
111
105
101
107
99
103
99
101
110
109
106
117
123
116
107
107
101
89
100
98
99
103
98
84
71
71
71
71
70
253
253
254
254
254
255
255
254
254
253
253
251
246
243
248
241
233
228
220
223
229
243
248
254
255
255
249
247
255
255
255
255
255
254
255
255
252
246
239
233
232
235
220
213
204
198
192
166
155
159
157
149
136
125
123
125
129
132
136
136
135
134
139
132
131
130
129
129
130
133
135
136
136
133
132
132
131
130
130
132
133
135
134
134
135
134
132
130
127
123
119
107
102
97
92
86
81
76
83
83
86
91
93
94
104
119
148
132
111
96
90
84
78
76
75
74
76
78
82
84
80
80
80
80
79
78
78
78
74
70
66
63
61
59
58
65
68
69
73
77
80
84
92
98
102
104
103
100
107
100
99
102
104
104
105
110
112
121
127
132
137
140
147
151
164
169
173
175
177
173
179
184
187
184
168
146
122
110
101
94
98
104
107
89
113
144
193
152
97
76
78
82
83
80
79
81
81
93
89
90
96
98
92
87
92
90
91
93
99
99
100
94
99
121
140
121
108
98
83
81
85
91
94
96
100
115
118
123
128
131
138
139
138
139
137
132
128
121
117
103
101
98
94
90
87
86
86
85
86
85
87
88
89
89
92
93
94
93
89
84
88
88
88
88
88
89
91
98
103
108
103
94
94
135
165
148
128
124
126
114
103
103
106
98
91
95
97
94
110
95
77
71
71
70
67
63
66
71
74
254
254
254
254
254
254
254
255
254
253
255
255
254
252
246
243
240
240
238
238
242
242
244
247
250
251
253
255
254
255
255
255
255
252
251
246
244
242
239
234
225
223
225
223
219
214
208
186
180
163
150
134
128
130
135
136
138
138
139
141
143
140
131
127
126
125
125
126
128
132
132
137
143
144
142
137
135
130
129
130
131
131
132
132
137
136
134
131
127
122
117
105
102
98
95
91
85
79
82
83
84
86
86
84
85
89
144
157
138
107
89
86
89
81
77
72
71
72
75
76
76
77
79
80
80
79
78
76
72
69
66
62
60
59
62
68
70
72
73
76
78
85
86
93
101
105
106
104
93
87
83
81
78
77
79
79
83
98
105
111
119
125
136
142
158
163
168
173
175
173
179
189
194
200
201
199
193
184
176
158
152
148
146
144
159
171
174
159
127
94
84
83
88
91
86
90
97
89
84
84
89
90
84
80
87
90
94
99
104
105
106
108
101
83
113
174
132
123
95
83
77
80
95
104
110
115
116
118
117
117
122
124
127
129
128
124
122
117
112
104
101
99
95
93
90
91
87
87
87
87
89
91
95
97
97
96
96
95
94
94
91
90
86
82
77
75
72
66
69
62
63
87
120
189
158
121
95
95
97
85
72
105
114
125
126
119
111
101
90
89
87
83
81
78
75
75
81
90
96
254
254
254
254
253
254
254
255
255
254
254
255
255
254
233
232
235
240
241
242
241
235
235
238
241
244
255
255
252
253
254
255
254
248
246
243
241
236
234
231
221
218
212
209
203
196
190
190
192
178
155
133
125
128
131
134
131
132
132
131
131
133
139
140
138
135
133
132
131
133
141
141
141
141
142
139
136
130
128
128
127
127
127
128
134
133
131
129
125
121
117
109
107
104
102
100
98
94
93
91
86
85
85
86
86
86
113
145
159
144
112
92
89
80
76
73
71
70
70
69
73
72
73
73
74
75
76
73
70
68
66
64
62
62
62
66
68
68
70
73
75
82
91
95
95
95
95
93
94
87
72
63
54
50
51
50
58
80
87
98
108
116
126
133
152
155
161
167
173
170
170
174
177
179
184
190
186
188
188
182
174
168
165
180
176
169
157
163
160
133
103
88
91
96
95
109
128
120
117
113
111
108
113
120
105
110
113
109
99
108
118
112
77
90
94
140
188
143
125
109
94
87
90
97
103
100
100
99
98
97
103
106
106
110
111
110
111
109
106
100
98
96
93
91
89
91
90
91
95
97
99
101
104
103
102
100
97
98
97
98
89
88
84
81
78
76
74
58
66
66
85
127
138
103
103
76
58
57
60
71
72
36
44
60
64
59
74
101
113
111
102
86
74
76
82
79
82
85
87
254
254
254
254
253
254
254
255
255
254
253
255
255
254
230
229
232
238
242
243
242
236
235
235
238
242
253
255
251
252
254
254
253
247
245
245
241
235
229
228
221
219
212
206
196
185
176
177
182
187
162
138
128
127
127
129
133
136
141
140
140
147
172
187
184
180
176
173
172
173
163
156
149
143
141
138
134
129
127
127
126
125
126
126
132
131
130
128
125
121
118
111
109
105
103
102
101
99
97
92
87
84
86
89
88
88
104
135
164
158
123
93
85
75
74
71
70
69
68
67
73
71
70
71
72
74
75
73
71
69
68
66
64
63
66
69
71
72
73
76
78
80
94
97
94
90
86
84
81
76
62
53
45
43
43
42
50
74
82
93
104
113
122
130
148
152
158
165
171
167
164
167
170
172
176
182
191
194
195
185
177
172
169
182
175
169
154
163
167
146
112
91
89
94
96
116
139
129
117
99
82
80
98
115
118
120
118
104
84
94
106
98
79
81
86
105
159
188
133
122
108
98
90
95
101
93
93
92
90
90
95
99
99
103
106
105
106
106
102
97
96
94
90
89
89
89
92
95
98
101
104
105
106
102
102
101
100
99
97
94
92
89
85
80
75
71
68
64
68
62
83
131
147
112
77
60
53
53
54
62
60
26
38
61
67
58
72
99
105
107
101
89
81
81
79
78
80
81
81
254
254
254
254
254
254
254
254
255
255
254
251
249
248
242
240
239
237
238
239
242
242
242
243
245
247
252
253
251
251
253
253
253
252
252
246
248
241
229
222
206
192
173
168
166
172
178
182
184
182
188
179
168
168
169
157
158
157
159
164
173
181
191
198
206
218
227
230
230
227
226
223
217
212
204
193
183
166
155
145
137
134
133
140
131
131
129
128
128
128
125
118
116
112
110
108
106
106
95
94
94
94
92
91
88
88
86
98
132
157
158
134
107
70
70
72
75
78
79
82
77
70
65
63
63
64
64
78
68
63
61
64
67
68
66
74
76
75
77
81
85
87
91
95
95
92
87
83
76
72
58
52
46
44
43
45
54
78
88
98
109
116
124
126
137
144
148
153
155
161
164
171
171
171
174
175
172
172
173
173
172
173
173
158
160
161
163
161
156
150
143
136
130
116
106
101
102
96
80
64
59
63
75
89
104
99
97
98
98
97
95
87
93
88
89
83
90
121
166
167
122
120
99
101
93
93
90
89
89
88
87
90
87
89
91
93
92
89
88
96
91
89
90
92
95
95
95
102
105
105
104
106
104
108
105
101
98
96
93
88
86
84
79
75
72
68
62
58
71
57
57
104
134
83
89
84
69
56
54
57
60
47
59
70
63
50
56
77
95
87
81
79
73
70
80
72
68
65
66
254
254
254
254
254
254
254
252
253
253
253
250
249
248
243
242
241
240
241
242
243
244
247
249
252
253
255
254
252
252
253
254
254
252
252
245
242
234
221
212
186
172
170
175
185
197
207
219
223
228
228
210
185
172
167
172
175
183
193
199
202
206
215
228
234
238
243
244
244
244
239
237
234
230
226
221
215
199
196
187
175
156
140
133
134
131
129
127
128
127
126
119
118
118
116
115
112
110
103
102
102
102
102
100
96
92
89
90
100
136
175
168
128
82
75
78
81
80
77
78
72
72
73
73
69
66
62
58
59
63
64
64
63
65
68
74
76
77
79
82
85
83
85
86
88
87
83
80
77
74
61
56
53
52
52
55
60
77
84
93
101
107
112
115
125
131
136
140
143
153
155
160
160
161
164
166
168
168
167
165
163
163
162
152
151
152
154
153
150
147
143
139
135
120
107
96
90
77
68
58
55
56
59
64
77
82
89
94
103
100
97
98
103
96
91
102
101
105
105
137
183
145
119
110
110
97
91
86
85
82
80
81
80
82
86
87
87
87
88
85
85
84
86
88
96
98
102
108
112
112
111
113
110
108
106
101
97
94
91
84
82
78
72
67
65
63
59
58
57
57
49
54
94
113
103
76
50
40
45
54
58
61
61
68
68
63
70
80
72
62
52
50
55
67
84
92
87
84
83
254
254
254
254
254
254
254
252
252
253
253
251
249
248
245
245
244
244
244
245
247
251
252
253
254
255
253
252
252
252
253
254
254
252
251
248
241
229
220
215
187
171
170
181
198
211
220
231
233
234
238
234
225
217
201
174
184
194
205
213
217
219
231
235
238
242
244
244
244
244
248
246
240
236
232
228
223
207
203
200
196
184
164
147
135
132
130
129
129
130
127
122
122
119
118
116
112
109
105
102
100
101
103
101
97
93
89
85
84
111
157
169
148
89
76
75
77
74
70
72
76
76
77
77
74
68
64
73
65
62
57
55
62
70
69
73
75
77
79
82
84
81
82
83
85
84
81
79
78
75
66
62
60
61
61
62
66
79
86
93
100
105
111
114
123
129
134
138
140
151
153
158
158
160
164
166
168
168
167
164
162
162
161
155
153
151
150
148
145
143
142
142
140
131
122
110
102
91
79
65
56
54
59
64
75
82
88
91
101
101
99
99
104
101
93
101
105
108
98
104
170
174
122
109
112
98
91
86
84
83
80
81
82
84
87
87
86
84
84
80
81
82
84
86
95
99
105
111
114
114
114
116
113
111
108
103
98
95
91
83
80
76
70
64
63
60
58
61
47
52
57
48
67
109
98
64
46
50
50
47
53
55
52
58
62
62
64
70
71
59
50
53
66
81
92
92
87
81
79
254
254
254
254
254
254
254
252
253
253
254
252
251
250
251
251
251
252
253
253
253
255
255
255
255
254
255
255
253
253
254
254
254
252
251
246
240
230
220
207
184
180
189
205
221
229
232
241
242
243
240
233
231
236
233
229
221
224
227
229
229
230
238
244
247
250
252
250
249
248
241
242
244
244
241
234
223
223
216
211
212
209
199
185
157
153
146
141
138
135
132
126
124
123
121
121
121
121
124
118
110
106
104
102
95
89
91
95
96
100
126
155
169
112
86
79
80
78
80
85
75
82
91
95
94
89
85
78
63
68
70
64
62
63
70
71
73
76
79
80
81
81
78
79
81
81
80
79
78
79
80
80
79
78
78
76
78
85
92
99
104
107
112
114
123
128
133
137
139
145
147
154
155
159
165
169
167
166
166
164
163
163
162
159
156
151
145
143
140
139
138
141
141
143
145
136
127
103
96
82
70
63
63
60
59
71
82
85
103
107
104
96
94
97
100
94
94
92
102
111
89
133
151
132
119
104
94
86
84
85
82
82
79
80
81
81
80
77
77
75
76
79
79
81
91
97
105
111
116
116
115
117
115
112
108
103
98
93
88
79
76
73
69
66
64
62
56
54
48
50
52
47
44
62
77
76
83
76
59
66
82
68
60
60
67
68
69
73
74
71
67
67
73
80
85
89
83
74
71
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
254
254
248
246
240
232
227
221
202
185
198
226
231
237
245
249
248
246
242
245
246
249
247
243
237
234
232
234
238
238
233
238
246
248
251
251
251
250
251
249
248
248
247
245
239
232
219
220
219
220
219
216
212
191
183
173
160
146
143
138
127
127
130
134
133
134
139
154
151
143
128
111
100
96
97
114
119
124
128
124
139
172
153
120
95
86
109
145
165
196
210
216
216
212
208
204
195
174
121
77
58
59
70
72
70
75
79
77
78
81
78
81
84
85
84
79
75
91
93
94
93
91
91
90
90
87
91
94
98
103
109
113
114
122
127
133
136
138
146
147
154
156
158
160
160
163
162
164
166
165
162
159
163
157
150
140
137
135
133
132
133
135
145
146
138
128
120
113
101
90
70
62
57
57
61
68
76
92
98
101
101
98
95
96
100
101
99
95
87
104
97
151
185
135
123
109
89
83
90
85
85
80
79
77
78
78
81
82
70
70
73
77
83
93
97
103
108
111
112
113
116
112
105
101
97
92
87
83
77
75
74
73
69
68
64
59
60
57
55
53
53
52
47
51
65
57
56
86
97
79
65
63
62
65
67
71
77
74
75
76
67
58
65
75
77
51
31
31
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
254
253
253
254
255
249
245
244
234
227
221
208
194
206
226
231
238
245
248
248
245
242
245
247
248
247
245
237
230
229
231
235
236
233
242
249
250
253
254
252
251
252
251
250
250
250
247
243
237
225
225
224
223
222
219
214
209
207
199
182
160
150
145
138
136
137
141
143
145
149
161
158
151
136
119
105
99
97
119
121
124
127
119
128
153
163
127
110
123
145
164
176
204
211
212
211
211
212
211
203
187
159
121
81
63
69
71
68
73
76
73
71
72
77
66
64
66
74
85
92
85
86
92
97
98
96
95
94
91
93
97
100
105
109
113
113
119
126
132
137
139
146
148
156
158
160
161
161
164
163
165
167
166
163
160
165
160
153
143
140
137
134
136
136
136
140
141
137
131
124
117
107
95
75
66
59
52
55
63
70
89
97
101
95
92
89
90
96
96
95
96
88
95
97
107
148
173
130
114
101
93
83
85
78
79
78
79
79
80
78
78
69
70
72
76
81
92
95
101
106
108
108
108
110
105
101
97
92
87
84
80
76
74
73
73
71
68
64
58
58
56
53
51
51
50
46
55
66
59
58
77
79
61
53
63
76
83
80
74
70
80
71
67
68
72
82
81
37
31
28
32
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
249
245
246
232
219
215
214
217
225
228
232
237
243
246
247
246
247
248
249
249
247
245
240
233
232
231
231
232
234
245
250
252
255
255
255
255
255
254
254
254
254
254
252
249
243
241
239
237
233
230
224
214
217
220
210
190
180
175
163
159
158
164
169
172
172
170
171
168
155
138
120
110
105
127
131
141
148
145
145
152
188
172
165
191
196
196
221
223
220
215
211
214
218
220
220
194
194
179
131
87
75
73
78
76
74
75
83
91
115
147
158
160
156
153
152
125
112
92
95
98
99
96
103
99
99
101
102
106
110
114
115
119
125
132
141
146
148
151
162
164
165
166
165
170
169
171
173
172
169
166
164
160
155
148
144
142
138
142
142
141
133
134
135
134
128
122
112
103
83
75
68
61
60
63
70
89
98
102
94
94
92
92
95
95
95
89
105
94
87
93
92
119
185
150
117
107
96
75
86
77
76
77
76
76
73
72
68
69
70
74
78
88
92
92
98
100
100
98
99
92
91
87
81
78
76
75
74
70
73
74
74
70
65
57
57
54
50
48
47
47
45
50
56
59
65
65
54
48
72
72
70
70
73
78
77
69
82
101
103
85
63
48
53
68
73
61
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
253
243
239
232
220
211
212
218
228
232
232
235
239
243
246
249
247
248
249
249
248
246
243
239
239
240
238
235
234
238
244
247
248
252
253
253
253
255
252
252
252
253
253
253
250
253
251
248
246
244
241
238
222
216
214
213
211
210
203
178
178
182
190
194
192
190
179
179
176
164
149
135
128
125
131
144
163
174
182
185
181
194
176
172
192
199
199
211
222
225
226
225
224
219
214
208
199
185
184
165
114
68
67
73
70
73
92
118
136
133
146
149
148
144
144
145
168
155
110
98
95
100
105
102
98
97
98
98
100
104
110
114
122
127
134
143
150
148
150
159
161
164
167
168
172
172
173
176
174
172
169
157
153
146
142
141
141
141
140
143
145
142
140
135
129
126
121
112
104
93
89
86
82
79
77
78
93
96
97
99
100
102
101
101
103
105
109
102
108
117
108
105
100
104
170
181
130
102
85
66
74
71
67
65
65
72
74
67
69
70
72
76
85
86
86
91
95
96
96
95
87
83
78
75
71
72
73
75
72
74
74
73
70
66
58
58
53
49
46
46
47
45
44
45
51
56
52
48
56
82
98
103
88
71
70
85
106
86
66
53
43
47
58
78
65
54
55
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
255
255
255
252
249
237
233
227
219
214
217
223
232
236
234
237
240
245
247
249
249
249
249
248
247
245
242
239
236
239
238
234
234
239
244
245
248
252
253
253
253
255
253
252
253
253
253
252
251
254
251
249
248
247
246
244
235
227
221
217
214
213
206
183
186
195
203
205
201
198
189
188
182
169
153
139
134
133
138
154
174
186
197
203
197
200
182
171
175
183
196
206
218
221
222
224
225
222
219
209
200
188
186
167
115
68
69
66
67
82
108
132
143
149
148
149
149
151
153
155
163
158
127
105
94
96
100
101
96
93
94
94
97
99
105
110
120
125
131
141
148
148
149
155
158
162
166
168
169
169
170
173
172
169
166
156
151
145
139
141
142
144
145
146
146
146
145
140
133
128
123
114
107
102
101
100
94
90
87
90
102
104
103
105
107
109
110
110
113
116
120
115
119
126
114
113
118
99
129
165
158
121
100
71
67
66
64
63
64
69
71
68
68
70
72
76
83
85
86
90
94
94
93
91
81
78
74
70
68
69
70
75
74
74
74
72
69
64
59
57
53
47
43
43
44
44
45
44
49
53
50
56
68
92
93
83
69
68
82
100
86
63
48
48
55
66
71
69
49
50
74
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
254
254
252
249
245
240
238
233
230
225
221
218
221
229
232
228
238
238
238
240
240
246
249
250
253
254
252
246
239
234
228
226
226
232
237
239
243
243
243
245
247
250
252
255
253
252
252
253
253
252
248
247
247
247
246
246
246
245
242
240
236
229
221
211
203
193
204
211
208
203
198
197
202
193
179
173
171
161
146
143
171
200
214
224
234
238
237
219
202
186
172
166
181
207
219
225
223
217
217
222
228
222
196
185
184
153
96
61
60
58
79
107
128
142
149
146
149
154
154
149
153
158
154
164
136
117
100
89
88
94
93
88
87
88
92
95
101
106
119
122
127
133
139
145
147
152
156
159
160
160
167
165
163
165
164
162
159
152
152
149
143
142
144
145
143
144
145
146
143
140
139
130
125
117
108
101
103
104
105
109
113
113
113
117
120
114
113
114
122
136
136
133
135
135
133
129
126
121
115
101
101
80
132
173
117
104
76
61
73
74
51
76
60
74
74
73
74
77
86
88
86
90
90
86
81
76
62
73
68
66
64
65
69
71
75
73
70
68
67
65
59
48
44
37
32
32
37
40
40
47
46
38
51
75
79
57
49
68
110
124
95
57
58
70
81
82
69
55
52
81
43
59
105
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
254
254
253
253
253
250
248
245
241
238
230
226
226
226
224
222
220
229
234
238
236
237
237
238
241
244
247
245
241
241
239
237
229
226
225
227
228
229
230
240
246
243
243
247
253
255
255
254
253
254
254
254
252
249
246
246
246
245
245
246
246
247
243
239
237
233
225
215
205
208
208
205
203
202
198
190
190
185
182
183
176
172
176
220
238
243
245
250
252
251
241
221
204
191
178
175
185
203
209
210
212
214
215
214
216
196
189
160
105
69
68
72
56
68
101
137
150
147
148
147
150
151
151
156
162
161
166
135
117
102
92
94
94
92
85
83
82
84
87
90
95
106
111
116
123
128
136
136
139
142
145
149
151
155
154
153
154
155
154
154
152
151
151
145
145
147
148
148
148
146
145
146
145
144
139
135
128
122
117
117
118
123
123
124
127
132
132
134
138
136
133
136
144
145
144
147
149
148
145
138
131
124
117
93
86
70
115
154
115
107
88
65
67
78
55
71
71
70
69
70
72
80
83
91
92
88
83
78
76
70
73
69
67
65
67
69
71
71
69
67
65
63
60
55
43
44
44
39
33
30
32
39
32
32
41
48
49
49
103
113
98
54
24
32
60
78
78
74
68
59
57
69
65
61
91
118
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
250
247
244
242
239
230
227
228
230
229
223
217
227
236
237
236
236
237
236
239
242
245
241
236
235
236
235
227
224
224
226
226
223
222
236
241
241
243
246
249
252
255
252
251
251
252
251
248
245
244
244
244
244
244
246
247
251
245
241
239
238
231
218
209
208
204
200
201
202
199
196
200
200
201
202
198
199
208
236
246
248
248
250
252
252
243
229
215
202
187
178
183
195
208
209
208
214
223
229
227
199
181
149
104
74
70
70
63
70
99
131
145
141
152
149
149
149
150
153
157
164
163
128
113
98
89
91
96
94
86
83
81
82
84
86
90
101
106
111
117
122
132
132
132
134
138
144
147
148
148
148
149
150
151
152
148
147
145
142
142
144
145
151
149
147
146
147
147
149
141
138
134
129
125
125
127
131
129
130
133
141
140
139
144
141
138
137
144
146
148
149
149
148
145
137
128
119
104
96
81
84
76
185
146
96
99
84
68
69
65
63
71
70
69
70
71
78
80
86
87
86
80
77
75
67
71
68
66
65
66
68
68
69
66
63
61
59
57
51
50
46
40
36
33
32
36
25
39
39
26
32
63
88
95
66
38
34
49
63
66
65
66
68
66
62
59
68
66
72
97
111
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
254
254
253
253
253
251
248
244
241
240
236
235
235
235
232
228
224
224
227
230
230
230
231
231
236
236
239
236
233
231
231
228
220
218
218
217
218
214
211
216
225
232
238
242
241
244
255
254
253
253
253
253
250
246
233
233
234
236
240
244
248
254
250
245
242
239
234
226
218
213
206
200
203
209
213
210
218
223
225
227
226
230
242
250
250
250
251
252
253
253
248
242
232
221
198
175
165
172
167
168
180
188
174
154
139
125
115
116
129
125
104
86
74
70
80
107
142
164
149
147
146
151
159
162
163
157
149
112
102
93
89
96
96
96
89
84
81
80
81
83
85
92
98
102
106
108
118
120
123
122
124
129
135
135
136
136
137
140
144
149
148
148
147
145
146
149
151
153
152
151
149
150
152
152
141
140
138
137
135
135
136
136
137
138
141
147
147
147
146
144
140
139
141
145
146
150
150
146
141
130
120
111
106
102
94
68
71
71
164
171
123
94
86
78
76
67
72
70
69
69
70
75
78
79
84
86
85
83
79
67
68
66
65
65
66
67
65
63
61
58
56
53
51
45
47
40
37
40
37
27
16
21
36
69
106
120
98
59
36
50
54
47
50
67
75
79
73
67
60
54
51
54
66
71
79
83
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
254
254
253
249
243
240
240
244
245
242
237
232
233
235
223
215
218
217
219
220
222
227
229
228
231
231
228
222
216
210
212
209
208
209
208
202
196
192
190
193
207
225
238
240
244
243
243
242
242
240
235
224
225
227
231
236
242
248
251
250
247
245
243
240
240
231
227
221
215
217
228
238
237
243
245
248
250
249
251
255
254
251
251
253
252
251
251
244
235
236
240
221
180
149
186
193
180
162
144
122
101
101
103
111
99
92
100
104
98
77
78
74
71
87
110
148
170
175
176
168
152
136
120
107
78
77
76
79
91
91
91
85
80
77
76
76
81
81
86
90
94
95
96
98
104
109
107
108
111
115
123
125
126
128
130
137
142
144
144
144
143
145
148
151
151
151
152
152
154
154
153
143
143
144
144
143
144
145
144
149
154
155
154
157
160
160
158
156
152
146
146
148
145
143
137
130
117
109
101
91
95
76
80
70
81
50
134
162
140
100
91
65
79
71
69
67
66
66
71
73
73
75
74
71
68
69
64
74
72
71
72
73
72
69
62
59
57
54
53
49
43
47
41
37
31
22
21
64
144
134
97
49
26
35
43
48
43
56
79
82
67
66
69
65
60
59
55
51
49
56
59
66
70
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
252
250
248
247
248
246
245
237
236
233
231
227
223
221
220
216
219
225
222
225
224
224
223
227
228
220
207
213
208
208
205
203
199
196
190
172
169
165
168
188
213
233
237
238
238
238
236
230
223
222
224
227
233
239
244
248
248
243
240
241
241
239
238
232
228
222
218
224
234
243
247
248
249
250
252
254
255
255
255
255
254
252
250
247
246
243
239
241
239
221
186
154
183
189
171
144
133
128
117
109
107
107
95
97
100
92
98
81
69
69
69
70
75
85
115
127
128
117
100
87
70
72
77
79
80
81
81
84
85
82
79
75
74
72
73
76
83
84
85
89
92
92
92
94
97
100
103
105
107
111
116
122
126
130
133
139
140
142
145
146
146
146
151
153
155
158
158
157
157
148
148
148
148
147
148
148
148
150
153
155
158
158
158
159
158
154
151
146
145
145
145
139
134
128
109
103
101
95
86
78
72
68
70
62
61
151
164
114
102
78
76
70
70
70
70
70
71
71
69
68
67
66
65
64
64
69
71
72
74
74
71
63
71
57
54
60
53
37
47
43
31
32
29
28
68
152
106
63
32
31
35
36
40
43
56
74
82
76
67
65
65
63
61
57
52
51
52
58
61
65
67
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
251
250
251
251
250
244
242
235
234
233
231
229
225
224
214
213
201
205
226
218
223
224
221
218
212
197
179
176
182
185
187
187
182
173
155
148
150
153
159
174
195
216
227
228
229
230
227
221
212
202
203
207
218
232
242
243
248
243
241
242
242
240
239
238
229
221
223
236
250
255
250
251
252
253
255
255
255
255
255
255
254
253
252
250
250
240
240
241
229
205
182
172
155
168
176
170
160
154
148
132
116
112
116
129
120
88
72
78
80
77
74
72
70
76
68
63
61
63
66
68
63
67
74
76
76
75
74
76
76
75
72
69
67
65
66
65
70
75
81
85
87
89
90
89
89
89
88
88
94
97
103
116
123
132
137
146
147
148
151
152
152
152
154
154
156
157
158
157
157
160
158
157
155
151
151
151
155
158
159
159
158
157
156
158
157
156
154
148
147
145
139
131
123
117
103
100
102
94
93
90
82
70
73
71
71
56
110
157
126
90
76
70
71
70
69
66
61
61
59
58
59
58
60
61
63
71
72
72
72
73
70
61
58
64
59
46
39
43
43
26
34
63
110
138
111
33
27
26
29
30
26
30
36
53
76
83
64
54
62
63
58
57
54
52
50
52
55
64
68
73
77
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
252
252
251
252
252
244
241
243
242
239
235
230
219
217
211
197
169
165
187
187
192
202
199
195
188
177
166
161
152
154
156
156
153
146
137
137
133
138
160
189
212
223
221
223
227
232
233
230
225
212
202
193
197
213
227
232
241
236
235
236
237
236
235
240
227
219
228
244
254
255
253
253
253
254
254
255
255
255
254
254
254
252
252
252
252
245
247
242
220
192
179
179
161
165
173
166
155
158
165
160
168
160
149
147
124
83
74
66
71
66
66
69
67
64
71
74
75
73
70
70
74
71
63
61
63
64
65
68
67
66
67
66
63
60
59
56
58
65
72
76
77
84
84
87
88
89
90
90
100
104
109
123
130
138
144
149
150
151
155
155
155
155
156
155
155
154
154
153
153
159
159
157
157
156
157
160
159
162
163
162
158
156
155
153
153
153
151
145
142
139
137
130
122
116
106
105
108
98
94
95
93
85
69
54
56
74
66
82
130
104
97
79
77
74
69
65
59
58
53
53
54
54
54
57
59
67
66
66
66
66
65
58
57
54
53
49
40
47
123
154
142
92
45
43
47
35
35
22
25
38
34
28
43
88
71
55
50
52
50
53
48
47
46
45
46
50
57
63
69
75
80
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
252
252
252
251
246
243
246
245
242
237
231
218
215
213
192
171
168
179
192
192
194
193
188
178
169
160
154
151
152
152
152
148
145
140
136
132
136
157
186
206
216
217
219
223
229
231
231
229
218
206
192
191
203
217
225
238
234
233
235
237
237
237
238
226
223
235
251
255
255
254
254
254
254
253
253
253
253
253
253
252
251
250
250
251
244
243
231
210
192
183
181
156
156
164
164
165
175
183
181
181
186
186
181
147
98
67
58
69
66
67
69
61
67
71
73
76
77
79
79
77
74
64
62
62
64
65
67
65
65
67
67
64
59
57
56
59
63
67
70
72
77
78
80
83
86
90
91
104
108
114
127
134
139
143
150
151
152
155
156
156
156
156
156
153
151
151
150
150
155
155
155
154
156
156
159
159
162
162
163
158
157
155
152
150
150
147
142
140
138
136
130
125
121
109
108
109
101
96
95
94
89
73
56
54
70
73
76
106
124
90
85
81
76
70
64
61
61
56
57
56
56
56
56
57
63
63
62
62
63
61
57
53
56
46
38
60
107
160
109
69
34
38
51
39
28
33
25
30
34
25
27
56
70
48
34
41
50
49
50
44
41
41
42
45
51
58
62
68
75
80
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
251
249
249
250
249
249
245
245
243
239
234
222
217
176
150
156
168
159
192
179
175
176
171
165
160
158
153
149
152
152
151
149
142
132
127
131
143
162
178
192
221
225
225
227
229
232
234
234
230
219
208
205
212
222
229
221
218
218
223
225
227
229
220
213
217
236
251
254
251
253
253
252
252
251
251
250
250
251
252
251
249
248
248
247
239
224
198
186
192
195
189
162
148
154
171
190
193
183
184
185
190
181
174
162
142
90
45
50
47
56
65
58
65
70
73
76
76
76
76
74
75
78
77
75
73
71
68
64
65
68
70
65
61
57
60
64
62
61
63
66
81
80
80
83
89
95
99
113
119
129
144
148
152
154
153
154
157
159
159
160
159
156
154
151
147
146
147
147
154
153
152
151
147
148
151
157
159
161
161
158
157
156
153
152
149
146
141
141
141
133
131
130
130
115
107
106
100
99
99
94
85
89
84
68
70
73
75
82
112
125
89
83
74
65
60
62
63
66
64
62
60
58
56
56
57
56
56
57
58
59
57
53
89
131
145
117
76
56
50
36
44
51
35
26
24
30
34
31
25
46
81
79
30
40
46
45
47
51
47
38
37
36
38
42
50
57
65
70
78
83
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
251
250
250
249
248
248
247
246
246
247
244
238
214
190
154
146
140
140
139
130
129
126
125
130
144
155
162
170
167
170
170
164
156
151
140
134
140
154
169
181
187
199
212
216
219
219
221
226
227
224
216
206
198
198
203
208
217
215
214
214
216
216
214
195
193
205
229
246
251
251
254
254
254
254
254
254
255
254
250
251
247
236
232
233
229
214
189
160
146
144
139
133
153
152
152
162
159
152
160
162
145
138
133
129
129
129
134
52
41
44
45
49
55
55
65
67
70
72
78
82
78
80
86
87
86
86
85
79
79
69
65
63
62
59
59
60
61
59
60
62
64
67
72
80
81
86
94
100
116
123
133
150
154
159
161
164
168
170
168
168
164
159
157
157
157
154
151
149
148
147
146
145
146
146
143
141
141
141
141
143
149
148
148
147
146
143
139
130
126
125
124
124
125
126
119
114
112
116
112
108
103
91
63
58
73
77
75
78
82
68
81
98
88
78
75
74
72
73
64
58
54
55
60
60
45
46
49
54
53
56
75
154
133
115
88
65
55
55
49
38
32
26
24
28
30
27
35
23
41
77
81
55
37
40
42
43
44
45
44
44
39
36
37
39
40
43
48
63
68
75
80
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
252
251
251
250
249
248
247
246
243
243
241
235
200
170
158
155
154
157
157
140
133
119
124
136
153
167
171
174
175
181
183
177
165
158
148
147
149
158
171
183
189
196
207
210
212
211
213
218
223
217
206
198
196
194
191
193
205
209
212
209
201
197
197
183
189
206
229
244
247
250
253
253
253
253
253
253
253
253
249
246
243
235
232
231
227
207
181
158
145
137
118
101
147
162
165
163
149
142
154
153
137
134
131
129
129
130
139
61
37
43
42
40
49
51
60
64
66
70
75
79
79
80
86
88
88
87
86
86
86
76
69
66
61
56
57
58
57
57
58
61
63
67
71
79
80
87
98
106
120
126
135
151
156
161
163
169
173
174
173
173
170
166
162
161
161
154
150
147
145
145
144
142
142
139
136
133
134
134
134
136
142
141
141
141
141
138
135
128
126
123
124
125
127
127
123
120
117
136
123
111
105
96
74
71
71
75
74
76
81
62
58
101
96
87
77
74
70
63
68
65
62
60
58
60
67
57
42
36
61
110
144
126
97
74
55
56
61
53
42
38
32
25
24
27
28
25
31
24
61
91
64
30
31
43
43
44
45
44
43
43
39
37
36
38
39
39
44
62
67
74
79
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
252
253
254
254
252
249
248
244
238
233
225
211
184
168
168
179
191
194
190
193
196
197
198
195
192
188
186
184
190
190
189
186
183
179
156
164
155
150
155
168
179
198
202
199
196
197
203
206
201
187
183
187
197
195
182
177
179
183
186
177
166
164
174
188
194
208
226
242
248
248
253
253
253
253
254
253
253
253
246
242
240
237
234
228
217
185
173
170
175
171
152
135
124
148
163
163
154
153
163
148
155
153
138
123
121
130
134
62
31
40
38
31
45
46
57
61
63
67
72
78
77
79
87
89
90
89
88
89
91
85
80
75
69
63
61
61
59
59
61
65
68
70
74
78
81
88
100
112
122
127
136
151
157
162
166
170
174
176
175
177
175
171
173
171
168
159
153
148
146
133
132
131
131
129
126
124
122
121
120
121
128
128
129
128
128
127
126
123
121
119
119
118
119
120
122
121
122
114
121
126
121
108
87
84
86
92
93
85
80
78
66
62
80
92
84
74
80
81
64
73
81
75
63
57
73
119
145
149
114
71
53
63
61
70
69
58
48
45
38
39
42
43
36
25
17
21
12
50
55
30
27
40
43
48
48
47
47
46
43
42
41
38
36
36
36
35
39
56
61
68
73
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
250
247
237
223
215
209
202
194
186
190
196
199
195
192
197
197
198
206
212
213
218
227
236
235
232
229
224
222
217
194
175
180
186
185
178
170
179
196
196
193
189
188
189
188
180
186
191
193
191
187
185
183
177
169
167
168
173
176
184
193
202
211
221
231
238
248
249
249
249
249
249
249
249
234
228
230
229
225
209
190
185
183
175
162
158
164
172
157
164
175
173
167
165
164
155
151
153
143
128
126
134
125
42
32
33
32
33
35
44
53
55
58
60
65
70
75
77
86
88
89
89
90
86
89
82
78
76
72
67
64
63
60
61
63
68
73
75
78
81
83
87
98
107
114
121
129
147
155
161
165
167
170
172
172
175
175
173
170
169
166
158
152
148
146
132
131
128
127
122
118
116
109
107
104
106
112
114
115
121
121
121
120
119
117
116
112
109
105
103
108
113
116
124
122
109
101
131
174
152
91
89
98
104
103
121
116
93
105
113
104
78
59
70
86
76
77
104
136
141
80
63
62
64
76
92
96
67
63
58
52
51
53
51
47
66
70
71
69
59
47
34
30
21
18
28
39
37
39
49
49
49
48
47
46
44
45
41
37
36
35
34
38
47
52
58
63
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
250
247
235
218
206
205
204
198
188
187
189
190
190
195
203
198
197
209
220
225
230
238
241
242
245
243
238
233
231
219
201
196
196
203
205
193
162
162
167
168
163
160
165
173
181
187
189
184
181
183
183
183
174
165
165
172
176
174
191
201
211
213
213
221
232
245
245
245
246
246
246
246
246
227
221
224
224
217
201
179
174
172
175
177
173
167
163
162
165
172
168
160
158
158
165
145
145
140
127
122
128
123
36
34
32
30
32
32
43
51
54
55
57
62
66
68
71
80
83
84
84
84
86
88
81
76
74
71
67
64
63
60
59
63
69
73
75
79
82
83
87
96
103
111
118
127
144
153
160
165
166
169
171
172
175
176
173
167
166
163
156
151
147
145
134
131
129
126
119
116
112
109
107
106
106
112
115
115
120
119
118
118
117
117
115
111
106
101
97
103
109
113
114
120
120
129
171
168
107
73
59
58
63
65
97
99
80
93
112
117
98
66
74
86
114
140
137
106
73
54
58
74
91
95
87
79
87
66
53
48
52
51
46
82
82
81
82
82
79
69
46
37
18
19
27
23
33
51
50
49
48
47
46
44
44
44
41
39
37
35
34
40
44
49
56
61
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
250
247
241
225
215
204
190
191
196
195
196
192
192
198
195
197
206
223
234
240
247
249
255
255
255
255
253
250
247
241
235
225
217
215
212
207
204
188
171
151
141
143
150
157
160
171
177
175
170
172
178
183
183
167
152
161
170
173
191
203
211
213
213
216
218
224
226
229
232
231
228
225
225
200
205
225
223
207
195
186
188
196
194
180
171
175
179
158
150
163
171
156
144
148
160
168
166
149
124
115
87
62
42
44
43
38
35
37
40
46
50
54
58
60
61
66
67
69
72
74
75
76
80
78
74
70
67
64
63
60
60
60
60
62
66
69
72
78
88
90
94
98
103
109
116
123
133
139
147
155
159
159
161
166
166
168
168
166
163
160
153
149
144
140
129
128
127
126
120
114
109
104
100
98
101
104
106
108
111
111
110
110
109
107
104
95
91
87
84
84
91
100
107
105
120
80
74
74
61
57
54
40
31
37
42
53
56
48
44
29
31
14
14
24
38
45
46
49
57
76
79
90
99
102
105
106
88
71
56
45
51
63
73
90
98
97
99
96
89
86
73
57
41
22
17
25
34
44
46
48
48
48
52
56
56
52
48
40
35
34
37
42
41
46
53
57
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
251
248
241
232
221
199
175
177
185
179
186
186
187
190
193
201
216
230
239
245
251
254
255
255
255
255
255
255
255
252
247
242
233
222
212
204
204
208
196
165
131
122
133
138
145
154
165
174
178
181
187
185
181
167
156
162
175
182
181
187
196
205
211
211
207
212
212
209
208
209
213
212
209
186
196
207
203
190
186
189
197
209
208
194
186
180
170
156
153
164
172
160
130
102
119
123
112
85
72
74
65
55
41
40
40
37
38
41
42
46
51
53
55
57
58
58
59
62
63
64
64
65
65
64
60
59
57
57
56
55
56
58
60
63
67
71
78
82
92
94
96
100
104
104
109
113
121
125
133
137
139
142
147
156
158
158
158
157
156
155
152
149
144
140
128
125
120
116
111
107
104
101
97
96
99
103
105
109
104
103
102
103
101
96
92
88
81
77
73
69
72
76
90
104
129
95
98
60
9
3
0
2
6
4
8
25
43
42
46
21
0
36
93
113
89
83
85
71
67
84
88
95
103
106
108
108
94
77
62
52
60
76
88
95
98
96
99
98
93
94
85
81
66
44
28
24
27
37
37
45
54
62
69
74
76
63
57
45
37
37
39
45
41
46
51
55
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
255
255
250
247
240
230
219
199
175
169
170
178
185
186
184
184
192
204
219
232
239
243
251
254
255
254
255
254
255
254
253
251
248
244
235
222
211
205
200
200
199
176
138
118
124
131
133
135
143
157
170
176
177
182
174
165
162
172
190
198
187
187
191
197
205
209
212
208
206
202
199
201
201
190
178
168
181
180
185
195
201
200
201
208
209
204
201
188
166
143
145
157
167
167
143
108
92
115
105
76
70
79
84
69
42
38
41
44
44
43
44
48
52
54
55
57
57
58
59
60
62
62
63
63
60
59
54
53
53
53
53
52
53
56
59
63
70
74
82
87
94
97
98
102
105
110
110
114
118
122
127
130
130
132
138
149
151
152
153
156
155
155
152
148
143
139
129
125
119
114
108
105
102
100
96
95
99
104
107
110
102
102
101
102
99
94
92
85
80
74
71
64
65
68
85
100
133
99
87
44
8
1
1
6
9
0
8
24
44
38
37
16
9
74
137
157
122
94
77
62
65
90
91
95
101
106
109
108
97
85
72
61
65
78
89
91
96
95
97
96
93
94
89
82
73
54
36
28
30
36
36
46
58
67
74
79
79
71
62
48
37
36
39
43
45
49
54
57
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
253
253
253
246
242
239
231
216
189
161
144
137
156
172
182
182
181
186
201
215
227
232
237
247
252
254
250
250
251
251
252
251
248
246
244
234
224
217
213
194
188
192
180
148
120
113
121
137
132
136
151
167
173
171
176
177
185
191
192
206
216
215
208
202
199
194
189
189
180
182
174
158
146
139
126
113
162
167
153
156
170
179
185
214
218
213
209
212
197
168
127
128
129
137
164
168
137
83
117
109
74
69
64
66
78
54
46
47
52
54
52
44
47
49
50
50
51
51
53
54
53
54
54
55
55
49
47
42
41
41
41
41
44
47
55
61
69
77
82
91
95
102
102
103
106
108
114
113
112
112
112
113
113
109
112
116
128
134
139
141
145
146
148
149
146
142
137
125
123
118
113
102
97
94
94
92
91
95
102
105
108
97
98
98
101
98
93
90
87
80
74
73
67
64
63
59
111
164
115
87
84
67
32
19
8
3
5
32
19
32
32
42
46
66
70
73
130
156
132
87
78
81
88
96
98
103
110
116
118
113
100
94
86
83
86
90
89
102
100
100
99
95
99
96
88
87
74
52
37
37
45
48
59
70
75
77
78
77
77
67
50
40
41
47
53
55
58
61
64
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
251
249
253
251
234
231
236
227
205
168
138
136
129
131
128
135
152
165
180
193
200
211
225
234
241
246
247
251
254
255
254
255
255
254
245
238
228
223
221
216
201
195
193
170
141
125
110
105
128
129
136
151
165
161
157
168
175
188
201
204
201
203
205
198
195
193
188
181
166
146
140
113
77
74
71
63
95
145
157
156
166
181
184
180
190
193
191
190
193
186
169
139
140
130
113
132
151
134
120
76
77
67
63
69
71
80
64
58
56
54
50
47
40
44
45
44
43
43
43
48
47
46
45
45
45
45
47
46
40
37
33
30
29
36
41
57
67
75
83
89
98
99
104
107
108
108
108
116
112
108
99
99
99
99
103
104
108
118
119
123
129
124
129
135
140
144
143
140
125
119
114
112
104
98
96
94
88
91
97
97
96
90
97
99
100
99
91
88
86
86
79
73
72
73
69
66
67
73
110
124
92
62
48
0
6
0
0
27
18
8
41
33
35
53
74
76
64
58
86
160
177
118
90
61
91
90
104
109
102
113
107
102
97
93
89
88
87
87
98
93
90
92
98
106
98
86
76
68
59
51
46
49
45
57
70
76
79
81
83
70
64
52
41
42
51
57
59
60
62
63
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
251
250
252
248
232
231
231
210
184
156
138
144
138
138
130
127
131
133
134
144
177
194
215
228
237
247
255
252
254
254
251
250
250
245
250
240
229
220
217
213
201
199
193
166
137
121
110
107
119
121
126
143
159
157
152
173
184
197
202
201
199
201
200
195
194
194
192
187
173
158
136
102
68
68
68
65
98
144
156
158
167
178
182
183
192
196
191
194
202
186
156
139
140
132
122
130
143
138
128
77
74
66
64
70
71
79
63
58
55
51
47
43
40
42
43
42
41
41
42
43
43
43
43
43
43
43
44
44
39
37
34
32
31
36
41
56
65
75
84
91
98
101
106
107
108
107
106
109
108
107
102
99
97
95
96
97
101
108
110
114
120
121
127
131
137
139
138
135
123
118
113
111
101
95
93
90
85
89
93
95
94
89
94
96
98
96
89
86
86
83
79
74
74
76
73
70
60
64
101
131
123
74
31
9
8
4
4
5
22
52
58
57
56
62
70
76
67
59
76
131
170
144
95
82
100
93
98
106
107
110
111
104
99
94
90
87
86
88
97
93
89
92
98
105
98
87
79
71
60
51
47
51
51
63
74
78
80
81
80
69
63
52
43
46
55
58
59
60
61
63
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
253
252
248
240
226
226
215
177
147
139
134
132
131
133
127
124
125
125
127
134
137
160
188
208
220
228
235
245
248
249
247
246
247
241
232
225
219
214
213
210
203
197
179
152
127
115
111
112
109
107
109
121
141
146
145
161
184
200
196
191
198
204
205
200
200
201
198
192
177
138
95
69
59
60
59
62
97
123
140
163
182
185
179
179
186
194
200
198
188
162
130
110
84
68
67
61
78
122
146
87
66
61
66
68
68
67
58
52
48
45
41
37
39
35
34
35
36
37
37
33
34
38
40
41
41
42
44
43
38
37
35
34
34
36
42
62
72
80
89
94
97
99
106
107
105
102
98
93
96
98
99
96
92
89
92
89
91
95
97
103
109
116
122
125
127
128
126
123
115
111
108
105
93
88
87
87
85
87
90
92
90
82
84
86
88
89
85
85
86
83
82
81
81
79
74
70
82
64
59
70
90
93
50
27
16
17
31
65
130
95
64
80
88
81
76
75
60
62
56
69
119
155
121
90
103
112
99
89
100
104
115
109
105
96
88
83
84
91
96
93
91
92
97
101
95
86
79
73
61
49
46
55
65
74
82
84
84
84
80
66
56
48
48
56
60
56
58
59
60
61
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
254
254
250
251
245
235
225
210
205
178
162
155
157
147
132
131
130
130
129
128
125
120
119
118
119
122
130
151
177
205
217
221
224
223
223
223
216
206
205
203
201
195
188
172
172
155
139
125
111
109
110
111
111
106
107
120
130
136
156
175
193
198
197
199
203
197
194
198
200
197
190
173
90
52
56
65
59
58
61
79
112
112
122
146
166
174
179
181
185
186
162
131
116
114
108
88
75
66
48
56
96
134
111
77
63
61
58
56
49
47
45
43
40
37
36
32
28
29
33
36
35
34
32
33
40
42
43
43
42
44
42
37
34
35
36
35
43
50
71
79
83
86
87
90
91
97
97
96
93
92
89
88
87
85
86
87
86
83
82
82
88
89
94
99
110
114
118
119
120
118
114
106
102
99
96
88
89
92
92
92
94
92
92
91
78
79
81
84
86
87
90
92
92
91
91
88
79
74
71
70
74
79
78
82
112
113
118
110
122
140
133
77
57
95
96
88
76
72
76
68
61
54
55
62
94
153
123
87
111
109
86
81
96
115
118
111
99
85
80
83
95
95
93
93
94
96
97
91
85
80
73
62
52
51
58
67
74
82
86
90
89
84
60
50
44
46
51
52
50
59
58
58
58
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
254
254
254
254
254
254
254
254
247
246
238
225
216
200
190
188
179
176
172
158
134
126
132
131
131
129
129
129
128
120
118
113
110
117
133
153
179
185
190
193
197
200
197
192
191
188
185
180
172
159
162
145
133
119
105
104
110
103
108
104
102
110
117
123
142
158
178
191
196
195
197
196
192
196
198
193
184
166
102
57
56
60
53
60
66
73
114
119
118
129
146
155
160
160
158
144
121
110
107
101
95
90
81
67
47
50
74
121
123
85
65
58
52
51
45
45
43
39
36
34
33
28
25
29
35
37
36
33
31
33
40
42
42
41
41
40
38
35
35
37
40
41
48
54
68
73
78
81
85
86
87
90
91
92
91
90
86
85
85
83
83
83
83
77
77
80
87
88
91
97
104
109
113
114
116
113
110
102
98
95
92
88
93
99
95
95
95
92
92
89
75
78
80
83
85
90
93
96
95
96
95
93
84
80
78
84
87
93
96
97
102
105
103
103
106
114
106
82
106
97
95
91
85
77
70
69
64
57
53
51
74
134
158
91
95
100
97
85
92
117
121
114
99
85
79
82
96
95
95
95
95
96
96
91
90
82
74
64
58
57
62
68
75
80
85
89
89
81
58
48
42
45
48
48
50
59
58
57
56
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
254
254
255
255
253
253
253
249
247
242
235
222
208
197
189
190
189
175
171
178
182
169
153
144
139
140
138
130
127
121
121
117
116
125
134
137
133
137
131
125
126
138
149
150
149
149
149
150
150
149
143
147
134
115
101
97
99
101
99
99
96
95
94
95
96
100
110
119
145
184
201
196
198
194
190
185
177
162
143
117
88
55
44
56
72
74
70
88
103
117
123
126
139
153
119
109
103
100
97
96
94
83
87
90
72
50
48
56
102
140
112
71
56
53
44
43
40
38
34
29
24
21
24
32
36
38
38
36
35
35
34
37
40
40
37
34
32
31
31
35
42
48
52
48
54
63
66
69
73
78
74
74
76
78
80
82
84
82
84
84
80
79
81
82
75
77
80
89
92
95
97
98
99
100
104
104
102
99
92
88
88
90
85
90
98
98
91
88
89
86
81
80
79
81
83
85
91
96
100
101
99
96
95
92
90
88
85
89
91
90
89
91
89
92
109
118
112
103
108
108
87
93
101
104
98
70
65
74
71
62
56
56
78
167
147
81
77
108
96
88
118
121
114
100
84
75
79
98
100
100
101
101
98
94
86
88
89
84
74
63
60
66
70
73
79
84
84
79
73
52
46
42
40
43
48
56
57
58
59
59
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
254
254
252
252
252
252
252
244
240
228
223
220
223
229
229
224
225
214
207
199
188
178
170
144
139
140
142
138
128
117
115
117
123
131
135
134
134
131
132
130
121
118
126
150
151
150
149
150
150
148
142
125
117
104
96
92
93
92
94
93
93
92
91
92
92
92
89
83
98
134
155
158
163
162
160
156
149
143
136
141
98
59
51
59
62
65
71
80
84
87
86
91
104
115
103
86
84
91
94
90
85
86
92
85
65
54
53
53
66
133
124
88
62
51
44
38
27
22
20
18
19
20
28
33
35
36
35
33
32
36
35
35
34
32
27
24
24
27
40
46
51
53
54
57
54
52
55
58
62
63
58
59
64
68
73
76
78
78
79
80
78
77
78
80
76
78
81
88
92
95
95
97
96
96
99
98
95
92
91
88
88
87
82
85
89
88
84
82
81
72
72
75
79
81
84
84
88
92
95
99
98
97
97
92
89
85
81
80
77
73
69
67
70
90
101
107
108
110
121
121
105
110
116
116
109
91
92
90
90
82
73
64
65
101
179
134
80
73
104
115
116
120
113
100
87
80
81
97
99
103
105
103
96
86
79
83
86
85
79
75
73
75
70
72
76
77
75
70
62
51
47
43
41
45
53
64
64
64
65
66
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
254
254
252
253
252
253
252
241
237
229
229
231
235
239
236
232
237
231
226
214
198
184
174
147
139
138
140
138
130
118
113
118
128
136
138
134
137
136
138
133
124
116
119
134
136
141
147
153
153
146
126
108
103
95
91
90
90
90
90
90
90
90
89
89
89
85
86
82
96
127
141
135
141
141
141
137
133
130
130
145
95
55
51
58
58
61
74
82
85
86
86
90
100
108
105
85
81
86
86
84
83
91
94
78
58
54
57
53
53
127
132
100
68
50
37
35
22
16
14
16
18
22
29
33
34
34
33
31
29
35
34
32
29
26
22
20
23
28
46
52
55
55
55
57
53
48
50
53
52
50
47
48
56
61
66
72
74
74
75
76
77
77
77
77
76
78
80
87
89
92
92
94
94
93
94
94
90
88
86
85
84
84
83
83
85
84
79
75
70
62
66
73
80
82
84
85
87
90
92
97
95
96
96
92
87
82
77
74
72
71
69
73
78
94
99
104
108
114
126
123
118
121
123
124
117
99
100
103
102
94
84
73
67
80
162
160
103
62
96
124
117
118
112
100
88
83
84
97
99
103
107
103
92
80
76
79
84
84
80
80
79
79
72
73
75
74
70
62
55
47
46
46
47
49
55
63
64
65
66
67
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
254
254
255
253
251
248
244
231
225
225
234
243
247
242
239
242
237
239
241
237
225
197
174
148
138
134
132
130
131
124
111
116
126
135
135
133
136
129
129
128
128
129
129
118
99
96
93
92
91
89
84
85
85
86
85
86
88
89
85
86
87
87
87
86
85
85
87
82
90
115
129
132
133
132
131
130
130
130
130
131
84
46
44
51
49
51
61
82
90
93
97
101
105
107
97
80
78
80
78
81
88
81
75
62
49
52
58
54
54
99
129
125
94
57
31
32
20
17
16
19
24
27
28
29
30
29
28
26
25
27
26
20
17
17
20
23
33
38
53
57
57
56
54
49
48
46
42
37
30
25
31
32
42
49
56
61
64
69
69
71
77
78
76
74
72
73
75
79
83
84
85
89
86
85
85
85
84
81
75
77
78
77
81
80
75
69
62
54
50
52
61
70
76
78
80
83
83
85
86
91
90
89
88
85
80
77
72
67
66
69
70
72
81
86
90
96
108
118
126
125
125
127
130
130
126
106
101
104
103
98
91
85
79
71
89
156
159
98
81
112
115
113
105
97
89
85
84
91
93
98
100
93
77
63
69
75
81
81
77
75
74
78
80
77
73
66
57
50
45
43
49
55
57
58
57
58
61
62
64
65
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
254
254
254
249
243
238
232
218
213
236
237
239
242
243
241
239
244
242
242
241
238
205
172
136
133
135
135
129
127
120
106
109
114
123
128
127
126
124
129
129
126
124
123
116
106
103
98
96
94
94
90
87
88
88
86
84
83
84
83
85
86
86
86
85
83
81
86
82
83
97
105
110
132
127
125
125
127
124
118
93
60
33
36
53
64
68
71
89
92
90
91
96
99
98
73
50
52
60
58
53
52
49
48
52
51
52
54
50
48
58
109
136
119
76
41
26
20
20
21
23
24
26
25
25
26
26
25
25
24
19
18
10
10
15
24
31
49
50
54
56
55
54
53
48
49
39
30
24
23
23
27
29
39
45
52
58
62
68
68
71
79
81
78
74
68
68
70
74
76
77
77
82
80
79
80
81
80
80
77
79
78
75
75
70
61
51
46
44
48
57
57
59
64
67
71
74
75
78
78
88
85
82
80
78
75
73
68
62
64
71
73
75
85
91
93
99
106
108
99
96
119
118
119
121
121
112
109
96
98
97
93
92
92
89
77
109
159
149
89
83
112
107
100
94
88
84
83
85
82
86
88
78
60
48
59
75
83
80
69
62
62
71
85
78
69
59
48
42
40
45
51
54
52
50
49
51
62
63
65
66
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
252
253
253
254
253
253
252
248
240
232
217
213
224
239
244
247
245
244
244
242
241
234
241
245
238
208
161
136
133
132
134
134
119
111
110
109
110
116
122
125
123
124
122
121
123
126
123
102
100
100
99
98
96
95
94
87
87
87
87
86
86
85
81
80
84
83
77
80
84
85
85
82
82
89
99
104
113
113
120
124
114
104
100
64
50
37
38
49
62
73
79
80
88
93
94
96
100
104
72
53
47
52
54
52
48
49
49
49
47
44
40
37
41
46
84
122
132
100
53
28
25
26
24
25
28
25
30
25
24
24
23
19
16
16
11
8
15
28
38
43
51
52
53
52
50
50
50
51
48
32
25
21
20
21
24
27
39
48
57
65
68
74
74
76
76
73
71
68
64
60
57
61
60
61
66
80
80
79
80
81
81
80
71
68
66
69
75
72
69
58
54
49
47
52
56
57
63
64
65
66
73
76
78
76
77
77
75
71
67
66
70
69
68
69
70
78
81
86
90
96
101
102
96
93
103
106
112
122
130
124
117
103
102
100
99
90
79
84
91
96
128
170
124
79
128
120
115
110
100
87
77
68
73
71
65
58
54
59
84
80
79
74
66
61
61
66
67
60
52
44
38
35
37
47
54
57
56
55
54
57
64
64
64
65
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
253
253
255
252
250
248
240
230
218
209
204
218
228
241
247
249
247
246
246
244
244
241
241
239
238
204
149
133
132
130
130
129
115
109
106
105
103
100
101
106
117
120
121
122
121
118
112
101
99
99
98
97
96
95
93
87
88
87
87
85
85
85
85
81
80
80
79
80
80
83
89
94
97
102
110
113
107
101
94
89
84
86
77
43
43
43
42
40
44
55
68
82
88
95
100
95
83
73
52
50
55
57
53
46
42
36
32
29
29
31
34
37
36
37
57
96
129
118
80
50
32
32
28
28
28
25
25
24
24
21
19
14
10
3
7
26
36
43
47
47
54
51
48
50
49
46
44
40
32
21
24
25
23
18
27
30
42
50
56
60
62
65
66
68
71
72
71
70
67
67
68
66
62
63
66
67
68
73
77
74
70
66
74
70
65
63
64
64
65
62
62
60
58
57
56
55
60
60
58
58
57
58
59
65
66
65
65
65
63
63
67
67
68
70
72
82
84
83
84
85
85
85
79
78
75
88
105
113
114
118
122
121
117
114
114
113
108
105
103
95
95
144
159
102
115
123
115
106
98
92
85
76
73
66
56
47
44
47
58
71
67
63
56
52
54
61
64
61
56
50
45
41
42
42
48
51
52
52
54
55
63
64
64
64
254
254
254
254
254
254
254
255
255
255
255
255
255
255
254
255
254
252
243
237
234
220
213
205
201
204
218
221
233
239
243
241
241
243
241
242
246
247
242
240
179
127
129
129
129
128
125
115
111
107
107
106
102
95
92
95
95
99
102
101
97
94
95
96
96
94
93
92
92
90
86
87
86
85
85
84
84
84
83
77
76
81
77
75
98
108
116
118
116
114
111
114
112
105
85
66
60
55
51
48
47
47
45
43
44
46
59
60
59
57
55
55
57
55
54
53
46
38
32
31
25
25
25
27
29
30
32
30
29
29
57
105
125
112
73
35
33
29
28
29
28
23
18
15
10
6
4
4
16
21
38
44
47
49
50
52
50
47
42
34
24
17
9
13
21
22
25
29
33
31
33
40
45
48
51
52
58
59
61
64
65
65
65
67
69
72
71
68
71
71
70
66
65
65
65
67
69
80
75
68
62
57
58
64
65
70
72
72
63
57
53
50
50
48
46
44
45
45
47
47
48
49
52
54
55
54
55
57
60
64
72
75
75
75
76
75
76
75
74
72
77
88
99
110
121
123
129
127
125
126
129
128
115
91
95
73
85
146
148
85
112
110
110
112
114
110
95
104
89
67
49
39
37
40
42
47
52
55
57
59
62
68
68
65
59
50
44
43
49
53
54
57
60
63
64
63
63
63
63
253
253
253
253
253
253
253
255
255
255
255
255
255
255
255
255
254
250
237
229
224
214
211
205
200
203
214
215
229
235
240
240
241
245
243
239
243
244
241
231
158
119
124
126
126
125
122
113
111
102
103
105
103
100
97
94
93
96
98
96
94
93
97
93
93
93
92
90
89
88
86
85
84
84
84
84
83
80
83
76
75
81
74
73
110
113
112
109
107
109
112
108
108
106
91
68
54
53
50
45
42
46
51
51
52
53
63
68
68
64
62
64
66
55
51
46
38
30
26
27
23
25
27
29
29
30
30
27
27
23
42
86
117
119
87
39
35
31
28
28
28
23
16
9
5
4
8
10
26
31
41
44
45
47
48
48
47
40
32
22
14
9
3
12
25
25
25
29
34
34
34
37
39
43
46
47
54
55
57
61
63
64
66
65
65
68
71
72
75
76
75
70
67
63
64
69
74
79
75
70
64
56
58
65
65
73
74
73
66
59
55
50
49
46
45
41
41
41
39
41
41
42
46
48
49
53
54
56
59
64
71
72
69
70
71
73
72
72
72
76
75
81
91
105
119
119
125
126
127
127
130
129
111
83
84
68
61
118
160
80
100
102
107
112
116
116
109
118
103
81
57
40
33
30
34
39
46
52
55
57
60
69
69
68
61
52
46
46
57
58
59
61
66
68
69
63
63
63
64
252
252
252
252
252
252
252
254
254
254
254
254
254
254
255
255
252
246
227
217
211
214
213
206
195
192
206
208
212
219
224
226
229
235
235
238
236
233
226
203
127
117
113
115
117
116
113
110
109
111
107
102
100
99
98
89
95
93
92
91
91
90
90
90
90
89
88
88
87
86
83
84
83
82
81
81
81
74
83
77
74
80
70
71
101
107
112
117
124
126
122
125
113
114
112
88
61
54
53
50
47
48
49
50
54
61
63
60
63
67
69
67
64
42
36
33
28
24
21
23
23
22
22
24
26
28
29
24
27
22
26
56
98
123
112
50
43
34
28
25
24
21
10
5
4
12
25
36
32
37
47
46
44
43
42
41
40
20
7
2
7
11
26
30
45
46
43
36
31
36
34
30
32
36
40
44
45
46
50
62
67
72
74
65
59
54
61
68
74
78
79
80
80
72
70
71
73
66
66
69
68
65
66
71
68
70
72
71
70
67
64
61
57
53
48
38
35
34
33
33
33
34
38
41
41
45
46
49
51
55
59
61
60
61
63
65
64
60
58
73
72
73
78
88
107
112
117
126
130
131
129
123
100
84
53
59
48
79
156
92
80
84
90
95
101
108
125
132
126
112
90
66
46
31
40
40
40
39
39
40
44
66
68
69
65
59
58
61
69
66
63
66
70
72
71
65
65
65
66
255
254
253
252
250
250
249
252
252
252
252
253
254
254
255
254
251
243
227
226
225
216
214
205
191
178
190
202
207
204
200
199
201
210
212
211
203
197
186
158
116
123
117
120
119
114
113
112
107
107
106
104
101
99
97
93
91
90
88
87
87
87
83
83
82
80
79
78
78
78
76
76
78
77
77
78
77
77
75
72
73
75
73
79
112
112
114
120
125
128
127
122
115
119
120
100
73
64
59
55
50
52
56
59
58
55
59
59
58
58
59
56
52
41
31
29
28
27
24
24
26
25
22
21
22
21
19
21
21
30
31
34
64
109
117
63
39
33
28
23
21
16
9
18
29
34
37
39
42
42
41
42
39
35
30
23
12
0
0
6
15
23
37
46
58
56
51
41
33
35
30
27
28
28
32
36
42
46
51
58
61
66
68
65
66
65
62
63
69
75
85
87
88
83
77
71
64
59
62
67
70
72
74
74
69
68
65
65
68
71
73
57
55
53
48
40
36
35
32
28
29
33
34
36
40
46
47
48
50
50
51
50
56
59
59
57
55
60
65
66
69
72
74
77
92
98
107
113
118
119
116
109
83
64
50
50
54
58
118
129
71
59
56
63
69
79
107
119
125
128
123
113
101
77
62
53
45
42
38
35
39
56
61
68
72
72
72
73
69
70
69
69
69
67
67
62
58
58
62
255
254
253
252
249
248
247
252
252
252
253
254
254
254
255
254
250
244
231
227
227
221
218
205
184
167
174
186
192
197
202
200
194
196
199
193
186
179
164
137
111
122
112
114
115
112
112
110
107
108
107
104
102
100
97
95
92
90
87
86
85
84
79
79
78
77
75
74
74
75
73
73
74
73
73
73
73
73
73
69
70
73
71
78
114
114
115
120
126
130
128
119
120
126
120
98
79
70
67
63
59
57
57
57
53
50
57
58
59
60
61
57
52
44
34
31
29
26
23
21
26
23
17
15
17
18
16
19
29
33
28
26
53
96
118
75
46
32
25
18
18
13
19
29
38
39
40
43
44
40
38
41
37
28
19
6
2
0
5
14
28
41
54
61
69
65
56
41
30
33
25
21
23
26
30
33
35
40
46
57
61
65
67
76
74
72
67
68
71
75
82
87
90
81
73
64
60
61
63
65
69
74
76
76
71
67
64
63
69
73
75
59
57
54
51
43
39
37
35
33
33
35
35
36
39
48
48
47
46
47
48
48
54
56
56
55
52
58
62
63
65
67
68
69
82
89
98
105
111
112
109
102
79
57
53
55
57
52
102
143
78
59
49
50
51
58
90
105
114
125
128
127
122
106
86
74
57
45
37
33
35
53
59
68
75
78
77
77
70
70
70
69
68
65
62
61
59
59
62
254
254
253
252
247
244
242
247
248
250
252
253
252
252
250
248
246
243
238
235
233
228
216
197
183
172
149
139
148
159
175
185
190
184
183
177
170
159
147
135
118
114
111
111
110
111
109
108
108
106
104
103
101
101
102
103
98
95
91
89
87
85
79
78
76
75
73
71
71
71
69
69
69
68
68
67
67
68
68
65
66
71
73
78
96
109
122
127
124
122
124
128
129
126
105
83
74
73
72
70
69
68
67
65
63
60
63
65
66
67
67
63
57
50
35
29
27
25
24
23
25
20
13
10
13
16
15
23
29
32
33
33
44
65
115
100
57
27
15
14
16
28
38
40
40
41
42
43
39
38
29
20
12
6
3
0
0
17
27
39
56
69
73
75
72
64
52
36
22
34
25
16
18
19
22
27
32
37
43
50
53
56
59
75
75
75
78
79
78
77
80
86
89
76
67
61
59
73
71
68
68
74
77
77
71
67
65
65
70
74
75
65
64
63
62
54
50
47
42
42
40
37
36
36
36
46
46
45
45
47
52
53
55
56
56
55
54
56
58
56
58
60
58
59
69
75
82
88
94
98
102
102
89
74
68
63
64
59
85
158
106
70
52
51
39
39
58
71
81
96
106
116
124
127
124
116
101
84
66
53
43
41
48
58
69
79
82
82
78
73
67
60
57
57
58
59
62
65
65
253
254
254
252
245
241
238
240
242
245
248
249
248
247
241
240
240
241
244
242
240
231
220
208
203
198
158
137
137
136
134
131
131
140
145
140
143
142
137
139
140
133
126
119
112
111
108
106
111
109
108
105
103
100
102
103
99
96
92
90
89
86
80
77
76
74
71
70
69
68
65
64
64
63
63
62
61
58
61
58
57
66
72
74
80
87
96
104
107
111
114
112
102
95
88
77
73
76
73
73
73
74
74
76
79
82
74
72
69
67
67
63
57
42
34
30
30
26
22
21
17
15
12
14
19
22
22
26
25
25
30
31
32
40
83
120
84
48
32
29
30
36
43
41
41
42
39
33
33
25
7
3
1
0
1
0
0
34
54
70
81
87
89
83
60
51
40
26
13
19
18
16
14
13
19
27
35
37
39
45
48
53
57
54
62
71
81
81
82
83
89
86
80
74
71
68
66
76
71
67
66
71
73
74
70
70
71
71
72
72
72
73
73
74
73
67
63
60
55
57
53
46
44
43
40
50
51
52
54
54
56
56
58
56
56
56
57
55
54
53
55
56
58
59
71
77
78
83
85
89
95
102
102
88
80
66
72
69
76
166
125
72
50
51
44
47
56
62
66
67
69
77
92
113
118
125
126
119
111
100
88
55
55
58
64
73
79
81
81
75
68
61
56
54
54
58
67
72
71
253
255
255
254
248
243
239
236
240
245
247
245
244
247
246
247
248
247
239
232
229
222
221
220
213
204
178
155
139
136
138
130
140
138
140
135
134
133
131
132
135
136
131
125
115
108
107
106
115
111
112
112
108
104
100
103
94
93
92
91
90
87
78
76
74
72
70
71
69
64
63
62
60
61
60
60
58
52
53
55
58
62
66
70
73
75
78
81
82
82
81
77
73
68
67
70
73
75
73
75
78
78
76
78
82
85
94
91
89
86
76
66
58
39
36
33
30
27
23
19
20
21
22
22
19
20
23
27
32
27
27
33
36
34
53
119
104
72
54
50
50
41
39
38
35
33
30
28
9
5
0
0
0
2
1
2
7
41
61
75
82
84
87
74
39
25
17
12
9
11
10
13
15
18
27
35
36
39
39
43
51
60
64
71
71
70
71
71
71
71
73
71
68
58
50
46
45
65
68
70
70
70
71
73
70
70
70
71
71
72
72
72
72
73
74
74
74
72
69
68
65
61
55
51
50
52
54
59
63
65
64
60
54
48
45
44
46
58
62
45
50
55
56
60
78
82
86
74
62
67
86
96
111
105
105
91
84
80
72
168
145
93
60
56
51
48
58
59
65
67
62
53
55
88
95
107
118
124
129
131
124
108
100
89
79
77
80
87
90
83
76
73
71
66
56
52
62
72
77
255
255
255
253
246
239
231
235
239
244
246
244
242
244
248
249
251
250
242
238
234
230
227
228
224
215
183
158
141
135
137
130
139
135
136
134
132
132
130
131
134
134
133
128
117
107
106
107
111
110
112
112
109
105
101
103
96
93
89
87
85
82
78
75
73
71
70
70
68
64
63
61
59
59
59
59
57
53
53
53
55
57
61
64
69
71
74
76
77
76
74
68
66
62
62
66
70
72
73
77
79
80
79
79
82
86
88
84
83
78
70
62
55
41
40
39
38
35
31
28
24
25
25
24
22
22
24
31
36
32
29
32
31
28
41
114
110
82
60
52
53
47
40
41
39
35
26
17
4
2
0
1
2
1
0
2
5
37
57
70
78
81
75
63
31
19
13
10
8
15
11
14
19
22
28
34
31
36
41
50
58
66
67
71
69
66
64
64
64
67
71
68
62
51
47
47
50
64
66
70
72
71
71
73
71
71
71
71
71
72
71
71
72
73
75
74
74
73
71
69
67
64
57
55
53
56
59
62
65
66
64
60
50
47
44
45
47
57
60
50
53
55
55
62
84
87
94
81
63
63
81
97
112
106
107
95
87
79
71
165
148
95
61
57
52
48
58
68
72
72
65
54
51
70
78
91
104
113
122
129
129
124
117
107
96
88
85
84
84
84
82
79
74
65
58
53
61
70
76
255
255
255
253
246
234
221
213
219
226
235
246
248
250
252
253
254
255
251
248
247
247
243
244
244
239
211
185
150
129
130
128
134
129
129
125
125
125
127
128
129
129
133
135
119
103
103
109
107
111
112
111
111
107
105
103
98
94
88
84
80
78
74
73
72
70
68
69
68
64
61
59
56
55
55
54
51
47
46
44
43
43
46
49
50
52
56
58
57
54
49
45
45
45
48
53
58
63
75
79
83
84
84
83
86
89
88
85
82
77
72
67
64
59
59
60
58
53
48
42
29
26
25
24
20
17
18
18
29
31
31
30
27
26
25
94
121
107
74
59
64
59
49
44
38
27
13
3
2
1
0
1
1
0
0
0
0
22
38
51
59
64
55
46
23
19
19
20
21
36
33
32
32
31
36
38
43
48
54
61
63
63
61
58
53
46
41
43
48
55
57
56
52
52
55
62
69
62
66
72
75
74
73
72
73
72
72
72
71
70
70
68
71
72
73
75
74
74
70
70
68
66
61
60
59
64
64
64
64
65
63
60
58
59
61
64
67
66
65
62
57
51
50
62
98
104
109
105
82
56
58
79
103
106
110
104
96
84
68
155
157
101
65
59
54
52
60
71
76
78
75
69
61
49
54
62
72
79
87
99
112
131
131
130
126
119
108
97
81
82
82
81
76
72
68
61
63
67
73
255
255
255
253
246
237
228
217
218
220
227
241
243
245
251
251
252
253
252
251
249
251
248
247
244
241
234
217
178
134
125
123
122
125
126
121
120
119
120
122
128
129
133
125
108
99
104
108
112
113
113
112
112
113
111
103
96
95
92
90
87
82
71
71
70
67
67
66
67
63
59
57
54
53
52
49
46
38
38
37
37
37
38
39
34
35
35
36
35
32
29
31
33
37
39
43
47
53
68
74
80
85
86
88
90
93
90
87
82
76
75
76
77
76
74
72
68
63
56
51
44
37
36
34
31
26
26
23
21
22
22
22
25
31
45
81
112
115
91
72
68
67
59
46
32
22
18
20
16
14
4
0
0
2
4
0
0
10
24
31
37
41
40
35
32
37
42
46
48
49
50
46
39
37
42
47
53
55
59
65
69
72
71
46
41
35
32
36
42
49
48
52
58
71
73
77
82
68
72
76
78
76
75
75
73
73
72
70
67
66
65
63
65
66
68
70
70
70
67
66
66
65
61
61
61
62
61
61
62
65
72
71
77
78
82
84
83
69
65
66
58
47
41
52
96
108
117
124
110
83
66
65
94
97
103
101
100
93
75
148
159
103
67
64
62
59
61
73
80
82
79
78
76
57
54
52
52
55
58
66
77
111
116
125
132
133
130
124
106
95
82
76
77
79
77
75
69
68
73
253
255
255
251
242
235
229
224
223
222
227
241
244
246
250
251
252
253
252
250
250
250
249
250
247
242
237
223
198
144
127
121
116
120
122
122
120
117
117
119
128
131
131
117
100
99
106
105
115
114
113
112
114
115
112
105
96
93
91
88
85
81
74
70
68
67
66
66
66
62
60
58
54
52
50
48
45
39
39
38
38
37
35
34
30
29
30
29
27
26
25
27
30
33
36
38
42
46
64
70
78
83
86
89
91
95
88
85
78
73
73
75
78
79
77
75
72
68
63
59
49
41
39
38
35
32
31
31
21
21
22
24
33
44
53
77
108
118
101
78
67
72
61
50
39
31
28
26
22
20
11
4
0
1
2
0
0
10
20
26
29
33
35
35
44
53
62
68
71
65
59
54
54
54
57
57
57
59
64
71
75
74
72
52
47
41
37
40
44
48
52
55
60
71
72
74
77
74
76
78
79
77
76
76
73
73
71
69
65
64
63
59
61
63
65
67
68
68
66
66
66
65
64
62
63
64
64
63
65
70
81
82
88
88
91
92
88
71
65
62
57
44
37
43
89
103
109
113
105
89
75
66
81
92
97
97
100
97
80
146
156
102
67
66
65
62
61
72
78
81
77
77
80
66
61
55
50
51
52
54
60
89
97
108
119
127
130
130
118
109
96
85
80
77
77
80
72
69
74
248
250
249
245
237
228
219
225
223
226
233
244
248
255
253
253
253
253
253
253
253
254
251
249
250
246
238
227
209
169
126
113
119
107
111
112
116
121
123
123
121
120
116
104
100
102
101
111
115
111
125
136
139
140
140
116
95
86
93
90
71
77
66
68
66
64
62
62
61
57
58
57
54
50
47
45
43
39
38
38
38
38
38
38
31
30
26
23
21
19
17
22
26
32
33
35
37
41
59
70
80
84
86
89
92
92
87
81
75
72
73
74
76
82
82
81
79
75
71
66
54
46
41
37
34
32
34
30
19
25
34
43
52
59
71
80
103
124
115
87
70
77
65
61
58
53
46
42
33
33
22
12
4
1
0
9
12
16
20
28
33
33
38
47
70
82
94
101
102
96
100
92
85
81
79
73
73
65
66
75
82
81
72
65
54
48
41
44
52
55
58
60
62
68
69
70
71
82
83
83
83
81
80
79
76
74
71
68
66
65
62
58
58
58
58
59
60
61
59
60
60
60
59
62
63
58
63
68
73
77
91
95
101
105
107
99
93
71
55
60
44
31
32
39
59
74
80
80
77
73
70
69
64
69
92
100
97
96
88
140
158
107
75
71
66
62
67
64
66
70
75
80
83
81
78
72
62
52
44
42
41
48
56
70
82
93
106
120
129
127
123
115
103
88
75
75
76
76
75
249
247
242
237
233
229
224
219
221
228
238
248
250
254
252
252
253
253
254
254
254
252
252
254
253
248
235
223
215
167
119
105
109
104
104
98
95
91
92
96
106
106
102
97
98
100
97
120
128
143
148
151
148
147
151
144
149
122
98
92
87
75
76
70
68
64
62
61
61
58
57
55
52
49
46
43
42
40
39
39
38
37
36
35
33
32
30
28
27
26
26
24
28
33
35
36
40
45
61
71
80
83
83
86
86
85
78
71
66
64
66
69
72
75
76
77
77
76
73
70
48
39
35
31
29
30
33
30
38
46
52
54
59
64
74
87
100
120
128
107
79
75
81
79
74
67
61
56
51
48
37
28
22
18
17
26
29
33
36
44
48
48
49
56
79
90
100
109
115
136
140
132
120
108
97
85
80
71
70
71
75
73
62
52
41
35
36
44
55
60
63
65
68
75
79
81
83
86
87
87
86
84
82
81
79
76
71
67
63
61
58
50
50
50
50
51
51
52
53
55
55
54
53
56
57
64
68
75
81
86
100
105
111
113
110
99
89
61
47
43
35
32
35
38
36
40
47
48
50
53
58
64
73
68
77
80
89
96
86
146
152
101
72
75
75
71
64
66
65
64
65
69
75
84
81
81
78
72
62
50
39
33
36
44
56
68
79
91
115
119
123
123
120
112
103
67
65
64
66
244
244
241
237
234
230
225
219
221
227
236
248
251
255
252
252
253
253
254
255
255
250
252
255
254
248
240
227
214
164
117
103
104
104
103
107
101
96
96
102
109
108
99
98
101
101
97
126
136
150
153
153
150
152
155
152
157
144
116
94
88
76
75
72
69
65
62
61
60
59
57
55
52
48
45
43
42
41
40
39
38
36
36
35
32
31
30
29
28
28
28
25
28
33
35
38
42
47
65
73
79
83
84
85
85
83
76
69
63
60
62
67
70
72
72
72
73
72
68
66
42
34
29
27
26
27
31
35
46
55
57
59
63
71
75
88
95
114
131
118
87
72
85
85
80
72
65
62
60
57
46
41
37
35
34
36
39
40
44
50
54
55
56
59
73
82
93
106
116
142
147
139
126
111
96
82
78
69
67
64
65
60
49
48
36
31
33
43
55
60
65
68
71
81
86
89
91
88
88
88
89
86
84
83
80
76
72
67
62
59
57
48
48
48
47
48
47
47
50
51
51
50
50
52
54
59
65
73
80
85
100
106
109
109
103
92
79
50
37
38
34
32
36
38
32
31
38
38
42
48
55
63
78
75
76
76
88
96
84
144
150
104
76
78
74
68
67
68
66
62
60
62
67
82
82
84
84
80
72
59
47
38
37
38
44
56
70
81
99
105
114
119
120
116
111
84
77
69
65
230
233
236
235
232
227
219
221
219
219
226
241
248
255
252
252
253
253
255
255
255
253
254
255
251
248
244
225
187
140
110
107
104
108
102
100
97
96
97
99
95
91
99
99
102
98
94
130
141
141
143
147
150
151
150
147
150
172
163
120
88
87
75
72
69
67
65
64
62
57
56
54
51
47
44
42
40
37
37
37
35
34
34
33
29
29
28
26
26
27
28
26
28
31
33
35
39
46
62
69
75
79
83
86
85
82
75
68
61
58
56
56
58
60
59
58
56
52
47
44
30
26
25
26
27
28
32
50
51
56
59
61
66
73
74
80
82
90
118
128
109
73
83
84
82
78
73
70
63
59
53
53
52
52
52
56
59
59
61
67
70
70
73
68
66
66
69
83
98
121
124
114
103
90
76
65
69
67
70
64
61
52
37
47
35
29
37
47
58
58
64
66
68
82
89
95
98
90
89
90
89
85
82
82
80
77
71
68
62
59
57
49
49
48
47
45
44
44
42
43
44
45
47
50
54
57
63
73
80
84
97
102
107
102
93
82
68
42
34
38
35
32
32
34
28
26
20
17
18
27
36
45
70
73
78
79
89
99
92
151
152
108
82
81
75
69
83
73
70
64
57
52
54
69
74
76
79
81
80
77
73
57
53
45
39
40
47
58
71
76
85
94
103
110
114
115
107
97
90
224
223
222
220
223
221
217
214
214
217
225
236
239
244
252
252
253
254
255
255
255
253
254
255
254
253
228
198
151
114
102
108
104
108
100
101
101
102
100
99
102
104
112
113
113
111
112
155
163
167
165
166
167
165
162
158
159
153
157
134
86
72
66
69
68
69
69
67
64
55
55
53
50
46
43
41
39
34
34
33
33
33
33
33
32
31
30
28
27
28
27
24
27
29
29
30
35
41
52
58
65
72
78
83
83
79
72
67
60
52
47
43
41
45
44
44
43
40
35
33
28
28
32
35
36
37
40
51
48
55
60
60
60
60
72
69
72
72
97
125
124
88
84
84
87
86
84
80
84
78
68
67
67
65
63
71
73
73
76
82
85
86
86
82
83
74
65
67
79
85
86
73
63
54
46
42
50
55
64
63
58
46
29
34
23
22
38
48
56
55
61
60
63
76
82
89
92
88
89
88
87
84
80
79
80
76
72
68
63
61
60
47
47
45
44
41
40
40
37
38
41
43
49
54
57
55
61
70
76
80
88
91
98
92
82
73
61
40
36
37
36
34
33
30
17
10
8
3
3
13
25
34
66
71
88
90
90
95
93
143
147
97
72
83
93
93
85
75
74
69
60
50
46
53
57
62
70
76
80
82
80
79
78
72
61
48
39
37
45
46
50
58
68
80
91
110
113
116
117
226
224
222
223
221
216
211
213
213
214
219
233
240
245
255
255
255
255
254
252
255
255
248
254
254
242
218
181
131
114
101
101
105
102
105
100
100
105
105
96
106
113
109
110
104
100
113
160
166
162
161
161
164
166
166
171
157
160
168
109
63
71
59
62
64
65
66
66
64
59
58
56
52
49
47
44
40
38
37
36
36
37
37
35
28
27
26
23
22
21
21
21
21
24
25
27
29
34
45
52
60
67
70
74
78
81
75
66
59
53
48
42
39
36
33
33
36
39
39
39
37
34
35
40
41
38
34
37
42
45
49
52
55
58
60
58
63
70
83
105
125
119
77
77
76
87
101
97
79
63
58
67
76
81
83
70
73
83
88
91
90
89
86
83
77
74
73
75
76
65
66
71
71
68
61
55
54
61
64
54
48
39
31
29
26
25
33
38
46
54
56
63
70
81
84
86
88
86
86
85
83
78
74
72
75
72
69
67
62
58
54
50
49
49
47
43
41
40
37
39
43
48
56
57
59
62
68
75
81
84
91
93
93
86
77
68
59
44
40
41
40
37
30
27
18
11
18
18
19
26
34
40
55
76
96
98
95
97
87
152
142
93
75
93
101
97
93
84
82
71
57
46
43
42
39
41
45
52
58
67
73
79
79
75
65
59
54
47
29
30
36
44
49
50
58
95
107
118
120
235
232
227
220
214
215
218
204
201
199
202
220
230
236
247
253
254
253
253
250
254
252
251
253
250
245
204
146
102
97
98
105
107
100
102
101
96
97
95
90
99
99
106
106
101
99
114
152
151
163
163
163
164
163
162
159
175
169
135
75
56
64
65
60
60
63
64
63
62
58
60
57
53
50
48
44
41
36
33
30
28
28
26
24
25
24
22
20
19
19
19
17
18
21
21
23
26
30
36
40
46
55
64
70
73
74
72
68
63
59
51
44
38
31
33
35
42
46
50
51
50
50
48
46
45
43
42
38
32
28
28
32
36
39
33
40
47
51
63
88
113
131
81
76
79
90
100
96
84
73
73
79
84
85
84
76
76
81
83
86
87
88
84
83
78
75
76
77
79
63
66
66
64
63
64
66
66
67
66
58
49
37
25
27
25
26
38
42
49
55
59
64
71
80
82
84
86
82
82
81
80
76
73
72
74
70
69
69
66
63
60
55
54
51
48
47
47
47
51
52
55
58
61
62
62
59
63
70
76
80
89
92
96
91
83
73
64
52
49
41
41
33
24
18
14
14
11
17
26
39
52
61
78
91
103
101
98
98
89
148
144
101
86
103
109
103
96
80
78
75
67
61
55
40
40
35
30
27
29
38
47
55
59
63
65
69
70
68
55
47
39
33
30
31
38
59
73
90
101
237
237
235
230
217
215
216
217
210
202
200
208
212
213
224
238
245
247
252
251
253
249
250
247
239
238
167
104
96
97
99
101
100
98
100
95
90
88
85
86
104
101
98
97
93
93
108
135
129
142
148
151
151
154
157
152
146
135
82
48
55
57
59
61
62
62
64
64
64
64
63
60
57
54
51
48
44
40
36
30
26
24
20
18
14
13
13
11
11
11
12
14
14
16
18
19
22
26
34
35
40
49
61
69
72
72
75
74
68
61
53
45
42
51
55
59
62
64
65
67
68
67
63
56
50
46
45
40
30
24
18
14
11
10
15
25
31
32
41
62
85
135
85
73
80
88
93
91
88
83
84
87
85
81
77
79
77
74
75
76
77
78
77
77
75
74
73
74
76
72
73
66
59
58
64
69
66
63
59
58
51
39
30
30
28
29
38
42
46
51
55
60
65
71
74
77
79
77
78
77
77
75
74
72
73
72
72
72
71
68
66
61
59
57
54
55
58
59
59
59
60
60
59
57
57
54
56
61
69
76
89
94
104
102
97
89
80
74
74
38
36
32
28
24
19
21
19
22
28
36
48
60
91
92
93
91
91
93
93
148
132
97
85
98
99
95
90
81
85
88
89
88
86
70
65
60
51
41
32
27
23
32
32
38
45
53
59
61
67
68
67
63
57
51
42
38
43
51
59
239
238
239
235
222
217
214
213
202
188
180
185
188
189
205
223
234
237
247
246
247
248
249
242
236
232
154
99
99
100
100
98
96
96
97
92
88
86
82
83
106
103
95
96
92
92
104
130
123
133
139
139
136
135
137
129
121
109
62
47
53
51
53
60
61
62
62
63
63
64
65
62
59
55
53
50
45
41
37
30
26
23
20
18
11
10
9
9
9
9
10
12
13
15
17
18
20
24
34
36
41
50
59
67
71
74
75
74
67
61
55
51
50
60
65
68
69
69
69
71
74
70
66
60
53
46
42
38
29
22
16
11
7
5
13
21
27
30
37
57
78
131
90
76
82
87
90
92
90
87
88
88
84
79
75
81
79
74
73
73
73
74
73
74
75
74
73
74
76
77
75
67
60
56
57
60
59
56
53
55
48
42
38
35
33
31
37
38
42
48
50
55
59
65
68
73
75
75
75
76
77
76
75
74
75
74
73
74
73
70
68
62
61
60
60
61
63
63
64
65
64
62
59
58
56
47
49
53
62
72
88
93
102
103
99
92
84
81
83
43
36
30
28
27
20
22
22
24
26
31
40
52
85
91
87
85
88
91
94
146
131
98
87
97
98
94
92
89
95
100
100
98
98
92
89
85
77
66
53
40
29
17
15
17
25
35
44
52
61
67
73
76
75
68
58
40
39
42
47
247
242
238
234
229
222
217
211
190
161
143
151
163
170
170
193
208
215
229
230
231
230
227
220
219
213
133
102
91
93
95
96
97
92
87
89
89
87
77
74
100
98
96
100
99
94
102
126
124
125
129
126
117
113
117
107
97
78
48
55
49
41
47
55
56
56
57
59
60
62
67
64
60
57
54
51
46
39
34
28
23
19
18
16
12
12
11
10
11
12
13
12
13
15
16
18
20
24
32
37
44
50
55
60
68
73
71
68
63
60
62
67
72
77
84
87
87
86
86
86
77
71
67
62
55
44
36
31
17
11
9
9
13
15
13
16
25
33
42
59
76
122
102
87
90
90
87
95
96
97
94
89
84
78
75
85
84
78
76
74
71
68
73
74
78
78
78
79
80
78
75
67
64
58
51
49
55
53
51
51
46
47
53
45
40
35
33
33
38
43
40
44
48
55
59
64
68
73
74
75
76
77
76
76
78
77
77
76
75
72
70
63
64
64
67
68
68
68
64
62
61
58
51
49
46
32
33
39
49
61
80
86
88
91
88
82
75
76
81
82
62
42
37
38
37
40
36
40
43
48
52
59
86
101
90
85
90
92
96
144
125
94
83
90
88
87
90
91
98
101
95
88
89
101
103
102
101
99
93
87
79
67
53
40
31
28
25
29
47
55
63
70
77
84
81
65
61
62
68
244
244
243
241
227
221
217
214
205
177
150
131
132
145
148
159
178
194
209
210
210
201
198
192
189
177
113
113
100
94
90
92
93
89
89
86
85
83
82
84
93
95
92
91
93
96
96
103
110
122
109
93
86
88
91
89
78
63
50
48
46
42
47
51
52
53
56
59
60
62
61
61
60
58
55
50
47
40
36
31
24
20
18
16
17
16
13
11
11
13
15
18
18
17
18
19
23
28
38
45
49
51
56
63
64
61
66
67
70
73
77
83
86
94
99
100
99
97
95
94
79
67
59
55
50
42
34
32
29
25
21
19
16
13
12
20
29
40
51
64
72
111
115
96
88
91
94
96
98
102
102
96
88
84
81
83
81
75
74
73
72
71
76
74
76
81
85
87
88
80
80
74
68
63
60
59
57
56
53
48
50
52
55
54
53
49
32
27
26
29
31
34
38
45
50
56
60
71
72
73
76
77
77
77
76
77
77
75
71
71
73
68
68
68
68
68
67
68
67
69
70
69
56
49
45
40
41
44
48
53
68
72
78
77
73
70
64
56
71
90
85
74
60
58
65
61
69
74
80
83
85
88
97
105
104
103
103
96
88
141
129
84
65
71
67
62
85
91
95
95
87
72
63
70
77
82
84
83
81
84
84
77
76
76
73
69
62
56
53
56
61
69
76
80
79
81
81
82
83
245
244
245
243
233
229
226
214
211
190
165
132
127
134
129
134
147
166
192
190
185
182
184
182
175
156
114
123
102
96
91
92
93
89
88
86
85
83
83
84
90
92
86
87
92
95
95
88
89
110
102
93
91
92
92
82
70
61
52
51
50
45
44
49
50
51
54
57
59
62
62
61
59
56
53
49
47
40
37
31
26
22
19
17
17
16
15
14
14
16
18
20
22
22
22
23
27
33
42
48
52
53
54
58
62
63
63
68
74
79
85
91
96
103
106
108
108
104
100
96
76
67
59
56
53
47
41
38
35
32
28
24
21
17
13
25
35
46
59
70
77
103
123
102
87
90
94
93
95
99
101
96
91
87
86
82
81
75
74
73
73
73
78
76
80
85
86
88
88
82
80
73
68
65
62
61
61
61
57
47
46
51
56
56
57
56
40
32
27
25
29
33
37
47
51
58
62
73
74
76
77
79
78
78
76
78
78
76
72
73
74
67
68
67
68
67
66
67
67
70
73
75
67
60
53
47
46
46
45
48
60
64
71
71
67
62
58
48
60
91
92
89
77
71
79
80
83
87
93
96
100
101
101
106
103
105
110
99
82
135
126
82
59
60
52
49
79
87
89
88
81
70
56
40
50
55
57
57
58
64
71
71
73
77
79
79
75
71
66
67
69
73
77
79
79
87
86
86
86
243
244
245
246
245
243
242
237
231
219
204
171
147
125
122
120
121
128
150
154
155
161
154
145
130
116
111
111
103
96
90
90
90
88
88
85
85
84
83
83
87
88
92
90
93
97
96
88
87
78
72
65
62
65
68
68
64
62
61
61
59
54
48
48
48
50
52
56
58
60
65
63
60
57
54
51
49
41
38
33
28
25
23
22
19
19
19
20
21
22
24
29
30
31
32
33
36
40
47
50
54
54
52
50
55
60
61
69
76
83
89
95
99
110
109
109
107
102
93
87
72
66
63
61
61
58
56
50
46
43
39
36
33
30
32
43
51
59
68
75
80
87
134
120
93
85
90
86
86
91
89
85
83
82
83
76
76
77
78
79
81
81
76
75
79
83
83
82
81
89
81
61
57
58
61
63
58
60
59
50
49
54
60
65
67
70
62
51
41
35
36
39
43
53
58
63
67
77
78
79
81
83
82
82
79
78
76
75
73
72
71
68
68
67
67
65
65
65
60
60
63
69
84
86
85
77
73
68
64
61
61
63
62
64
62
59
58
51
58
89
99
105
100
92
90
95
97
98
101
105
105
102
92
90
80
85
105
109
89
121
125
85
62
57
41
33
50
75
79
82
83
80
69
28
20
21
24
26
26
27
30
37
38
40
44
47
52
54
65
66
68
71
73
77
80
83
83
83
83
243
244
246
248
250
250
250
255
249
246
238
213
191
161
124
120
118
124
146
151
151
155
148
145
140
131
122
102
98
90
84
84
86
85
87
86
84
81
80
82
89
92
93
90
90
95
96
92
91
81
77
72
69
68
67
62
63
65
64
62
59
59
56
52
53
54
55
56
58
59
63
63
63
61
58
55
51
46
44
39
35
32
30
30
33
33
33
34
34
35
35
37
38
38
38
38
40
41
50
47
49
53
51
47
45
47
54
59
66
72
80
89
95
109
109
106
100
91
84
82
71
68
65
64
64
65
65
59
57
54
52
50
47
45
48
55
60
64
70
76
80
74
130
143
110
82
80
77
79
81
75
73
75
83
87
78
80
84
84
82
78
76
71
70
68
71
72
73
72
78
72
56
56
56
54
53
54
55
57
62
64
65
66
74
76
78
79
74
68
62
46
47
47
49
54
61
66
78
79
81
83
83
84
82
82
78
74
72
70
65
62
62
62
61
59
57
57
57
55
56
58
59
69
77
82
103
102
101
98
92
79
74
72
75
69
62
62
57
61
78
87
98
108
108
93
89
93
94
92
88
80
75
74
90
88
95
109
114
102
116
120
82
61
57
43
33
31
53
65
76
81
84
83
61
38
31
28
32
34
32
29
25
25
24
23
22
22
23
27
32
40
46
51
57
63
69
71
75
78
243
244
246
248
249
251
252
252
251
255
250
231
216
188
126
121
119
129
158
159
155
155
152
155
150
138
117
90
96
88
83
83
84
85
87
87
84
82
80
81
91
94
89
86
87
93
95
88
86
86
81
74
69
70
73
76
63
64
64
60
58
58
58
54
55
55
56
57
58
59
63
64
64
63
60
56
52
50
47
43
38
35
34
33
38
39
40
39
39
40
38
39
39
40
40
40
40
42
50
46
46
51
53
47
43
43
50
55
62
69
78
88
95
104
106
102
93
84
80
77
71
69
66
65
65
66
67
62
60
59
57
54
53
51
51
56
59
65
71
77
82
71
128
149
116
82
76
75
76
77
72
71
76
85
92
81
83
87
85
80
75
70
64
62
59
61
64
63
64
72
66
59
59
57
53
47
53
53
56
66
69
69
68
76
78
80
84
80
75
71
55
53
51
51
56
63
69
78
79
81
84
84
84
83
82
78
73
71
68
64
59
59
58
57
56
53
53
52
56
58
60
60
60
67
72
100
102
105
106
104
91
86
76
80
72
63
62
57
59
74
80
94
108
113
95
88
79
80
78
70
61
55
59
89
95
102
111
109
98
112
123
85
62
59
49
40
36
43
60
74
77
80
83
69
42
32
25
31
35
35
33
30
29
29
28
25
21
18
14
20
29
36
42
47
54
61
64
69
74
235
237
243
249
252
253
254
255
255
252
249
241
231
222
186
144
131
147
151
154
149
150
153
143
135
138
119
115
90
80
78
81
80
85
83
82
85
87
86
87
96
96
96
93
96
93
83
89
79
81
78
72
66
63
62
64
63
63
63
63
64
65
65
62
62
60
57
53
53
58
66
66
67
67
65
63
59
52
51
50
48
47
46
47
49
49
49
51
51
51
52
48
46
43
43
42
41
39
38
35
34
35
38
38
34
30
35
44
53
63
72
80
85
89
89
87
82
76
71
67
65
63
64
67
68
68
68
70
70
68
65
60
56
52
49
54
61
69
77
83
85
95
96
128
143
114
78
67
73
72
75
90
97
91
85
89
90
85
78
69
61
57
54
54
55
58
61
63
64
71
68
61
60
58
57
56
53
54
57
64
68
72
74
75
76
81
89
90
89
86
84
73
61
54
58
62
64
70
72
75
78
80
80
79
77
76
72
68
61
57
56
56
58
59
55
55
57
56
63
58
53
50
45
43
41
61
69
79
90
98
110
113
104
98
86
71
64
58
53
58
58
65
86
109
111
100
74
57
44
40
36
31
35
60
84
99
97
93
91
107
122
99
69
59
62
48
38
31
29
39
60
71
72
81
73
55
37
31
32
33
32
32
34
36
36
32
27
22
20
19
19
23
28
34
38
41
43
47
50
229
238
247
251
253
254
254
253
255
254
252
248
241
232
216
174
143
138
140
143
141
138
138
136
135
138
122
112
92
81
77
78
76
81
80
84
88
90
89
90
97
97
93
91
89
84
79
69
62
63
61
58
55
54
55
58
63
66
68
70
70
71
73
69
68
66
64
61
61
66
70
71
73
74
74
74
72
65
64
62
61
59
59
59
65
65
65
65
63
62
60
53
51
47
46
45
44
40
35
32
27
25
24
23
20
18
18
20
27
39
51
58
61
66
63
64
66
65
57
52
55
56
58
63
68
71
72
72
69
66
61
56
52
49
42
52
59
69
77
85
90
101
96
117
138
127
97
71
74
74
81
91
94
91
90
92
91
79
70
61
55
51
46
47
53
59
65
68
70
79
76
68
65
63
61
59
64
64
63
65
66
68
69
75
73
74
88
94
97
98
91
88
82
66
63
65
69
68
70
71
74
74
73
71
73
70
66
62
53
49
48
56
63
71
72
71
67
62
61
56
48
43
40
40
40
36
39
45
56
69
96
104
108
109
106
93
78
58
52
58
53
52
60
80
118
127
110
89
64
49
43
36
28
48
76
99
104
99
92
112
118
102
72
58
64
59
34
30
22
19
29
44
60
75
77
76
64
45
34
35
36
38
37
37
38
37
34
30
24
23
24
25
27
31
33
37
37
37
37
225
237
247
250
253
254
252
253
255
254
253
251
243
235
219
181
146
136
141
141
137
136
133
132
132
132
118
104
91
81
77
79
77
81
80
83
87
90
89
90
95
95
91
90
86
82
80
62
58
60
56
51
48
47
51
59
67
69
73
73
72
72
74
70
70
69
68
67
68
74
73
75
77
80
80
78
77
72
71
69
67
66
65
65
70
70
70
69
67
64
61
52
49
46
44
43
41
38
34
29
23
18
17
17
19
20
17
16
22
32
42
49
52
58
56
58
60
59
54
49
49
52
58
65
70
73
74
69
65
61
55
51
46
43
44
54
61
68
76
85
90
101
97
109
131
133
109
78
77
77
86
91
91
89
92
91
89
76
68
60
54
52
46
49
62
68
73
72
72
81
78
71
69
66
65
63
64
66
67
69
69
68
67
74
72
72
85
93
97
98
94
95
92
77
70
69
71
72
74
76
78
77
75
74
72
70
67
62
55
51
50
54
63
72
76
81
79
76
68
63
55
48
43
43
41
31
35
40
49
61
83
89
96
103
107
102
91
70
61
58
58
57
57
64
104
119
128
112
90
69
51
38
31
48
80
109
118
112
101
121
119
109
79
59
63
60
32
31
31
21
13
28
55
67
77
81
75
56
41
39
37
39
37
37
37
38
37
33
25
26
27
28
27
29
31
38
38
37
37
202
219
235
242
251
253
251
252
254
254
254
251
244
235
216
188
152
135
154
154
151
152
140
134
131
123
113
94
76
67
68
73
72
72
69
78
82
86
85
86
88
88
90
90
84
83
88
60
61
56
53
49
47
47
51
59
64
70
77
78
77
75
79
79
79
77
74
72
71
77
81
82
84
86
86
85
83
81
80
76
75
73
73
73
73
73
72
70
66
61
56
44
42
38
36
34
31
28
21
20
19
18
18
19
22
24
28
30
31
34
39
44
49
50
51
50
50
49
48
47
51
55
61
66
67
63
60
60
53
48
43
37
33
30
36
48
54
59
67
77
84
97
98
93
112
135
127
96
78
79
86
82
76
78
85
80
77
66
60
55
52
53
53
57
67
72
74
74
74
75
73
69
69
69
69
68
64
66
68
74
76
77
78
78
82
85
85
87
94
99
100
98
97
87
82
80
80
88
89
90
91
87
85
83
81
81
80
78
77
76
75
67
71
75
77
88
93
94
100
95
86
78
66
60
57
46
44
43
48
55
70
74
80
88
95
100
104
101
96
82
84
84
82
83
95
103
116
121
119
107
86
63
34
39
77
114
127
115
92
103
112
114
90
62
65
73
55
52
36
17
10
13
25
60
70
76
80
78
65
48
38
37
34
31
34
37
37
34
28
30
33
32
30
30
32
35
36
37
38
198
205
216
227
247
251
252
249
255
254
247
246
241
231
216
172
138
135
146
150
151
152
146
138
137
142
103
71
59
62
65
65
64
64
64
66
71
78
82
82
85
87
80
75
75
80
79
56
50
42
40
41
43
44
44
54
62
67
73
78
81
82
84
87
83
78
75
74
73
70
82
83
85
87
87
89
88
84
81
78
77
76
76
74
68
68
67
65
60
53
48
35
31
24
20
19
18
19
22
23
24
23
23
23
26
28
39
43
45
45
46
47
48
49
47
42
38
38
44
50
56
55
54
52
51
51
52
49
41
37
34
30
26
23
19
37
46
52
59
70
79
85
94
88
91
125
141
110
72
71
81
66
61
65
65
69
68
63
60
56
55
56
60
61
65
70
72
69
66
68
67
61
62
62
65
66
68
72
76
78
78
80
83
84
87
88
84
81
81
82
85
83
80
81
83
82
81
87
88
89
91
91
92
93
93
93
93
93
93
93
93
90
93
96
95
99
107
115
118
113
106
105
97
92
91
80
77
71
66
64
68
72
77
82
90
99
107
115
117
107
102
96
96
102
118
123
121
124
122
117
115
106
53
44
62
102
128
105
67
57
69
81
91
74
62
85
60
30
19
11
10
10
11
37
65
74
79
78
76
69
50
36
30
28
32
36
36
32
29
31
34
34
34
35
37
39
40
42
43
198
206
215
224
240
243
244
247
252
252
246
246
238
227
207
171
144
142
142
145
147
149
145
138
132
129
96
71
62
61
61
61
62
61
61
65
68
73
76
76
75
76
77
75
76
76
70
49
47
42
40
41
42
42
43
53
63
68
75
79
83
83
84
85
82
77
75
74
74
73
84
85
86
87
88
88
88
82
81
77
77
76
76
73
75
73
67
60
54
46
40
33
29
23
18
18
18
18
20
22
23
23
24
25
28
30
40
44
46
46
47
48
50
47
46
43
40
42
46
49
51
52
53
50
48
45
45
43
36
32
30
28
24
20
18
33
42
47
54
66
75
83
94
84
86
116
138
120
78
71
79
66
59
65
67
69
67
63
59
56
55
55
58
58
61
65
68
66
63
64
62
58
58
58
59
61
65
70
74
79
80
82
85
91
94
95
90
88
88
89
85
84
83
85
87
86
85
87
86
83
83
84
85
85
85
85
85
86
86
87
87
90
93
96
98
105
111
117
110
105
104
105
99
97
97
90
89
86
83
81
81
82
84
86
91
95
100
108
110
107
105
99
92
89
103
113
116
118
115
112
115
118
90
49
60
95
119
103
67
48
56
71
86
75
59
70
44
23
14
9
11
11
11
31
55
68
77
79
80
74
58
32
30
30
33
33
31
32
29
31
32
33
34
35
38
39
40
42
43
197
205
214
218
230
234
235
232
234
233
230
224
209
195
180
154
140
142
131
130
130
131
130
124
113
109
102
93
71
64
57
55
57
57
56
54
56
61
65
68
71
72
70
69
68
63
54
41
41
42
39
38
39
40
41
54
64
68
75
79
81
82
83
80
76
70
67
68
72
76
83
84
86
87
87
85
84
76
74
73
72
72
71
70
70
67
62
56
49
41
36
25
21
17
15
15
17
17
16
17
19
21
22
26
31
36
42
46
48
50
51
53
55
49
45
46
47
48
44
40
36
36
36
35
33
31
29
29
24
23
21
19
16
13
13
20
24
30
39
52
62
58
75
70
69
85
109
120
99
77
70
67
63
67
72
71
70
64
61
57
54
55
54
54
55
56
57
56
55
56
55
53
53
55
57
57
63
67
72
82
87
90
92
93
94
94
94
93
92
92
92
93
95
104
107
108
108
105
98
89
83
81
80
77
79
78
78
78
77
76
76
80
81
84
87
93
91
89
94
97
102
105
97
97
100
95
96
98
98
99
100
101
104
102
100
98
98
101
102
110
113
113
103
89
80
84
98
106
111
113
117
123
123
89
83
92
96
77
52
49
43
56
80
89
68
47
34
17
12
10
13
15
16
24
32
50
69
81
87
85
77
35
32
29
30
30
28
29
29
30
31
31
32
35
39
42
43
44
46
190
199
207
209
217
223
227
229
227
226
221
204
193
185
183
158
147
156
157
156
155
149
139
123
111
112
109
97
78
72
64
59
57
55
54
56
54
53
52
53
50
48
48
46
41
38
41
39
32
40
38
39
41
42
42
51
58
62
68
73
74
74
75
71
67
63
61
62
65
68
76
77
79
80
79
77
73
65
62
61
61
62
62
62
64
65
65
60
53
41
32
20
17
13
12
13
14
14
14
14
14
14
15
19
25
29
35
39
43
45
48
50
52
52
47
45
45
43
38
33
29
23
21
23
27
29
31
26
22
22
20
17
13
10
8
7
6
11
19
30
37
21
51
61
63
56
65
95
114
94
63
64
68
70
67
70
69
65
60
58
56
57
54
56
56
55
56
58
59
49
49
50
52
53
55
55
67
68
71
81
84
85
84
87
86
84
86
85
83
80
74
75
78
91
99
105
107
111
108
102
94
81
77
76
80
79
76
74
71
69
68
65
69
76
82
90
91
93
89
88
89
90
80
77
79
84
84
81
80
81
86
88
88
88
89
91
93
95
94
94
98
106
112
112
88
74
70
68
64
60
59
63
80
79
90
110
112
80
48
45
46
49
65
88
87
62
43
34
27
18
15
15
19
25
25
36
51
66
77
81
81
61
44
27
23
28
30
28
29
31
34
35
35
36
37
38
39
41
42
186
195
201
199
199
202
205
210
209
208
202
185
179
178
165
147
145
158
156
157
160
158
149
132
118
114
108
96
80
76
70
64
59
56
55
59
56
52
50
49
44
41
40
42
40
37
37
39
35
35
35
37
40
41
40
47
54
58
64
68
70
70
70
65
63
60
59
60
61
63
71
72
75
76
75
71
67
59
57
56
56
57
58
57
62
61
60
57
49
41
32
20
17
13
12
12
13
11
13
13
12
11
11
14
19
23
30
34
39
41
44
46
48
49
45
43
42
41
38
36
29
23
23
28
31
34
34
28
25
25
23
19
15
10
8
3
1
1
5
13
18
5
33
49
53
40
43
79
115
102
60
59
68
70
60
66
65
61
59
56
55
55
53
55
56
56
57
60
62
52
52
55
58
58
59
60
66
67
68
75
77
76
74
79
77
76
76
76
72
69
63
63
65
80
91
97
101
106
108
107
100
81
77
76
78
76
76
74
73
71
72
67
73
81
85
89
91
94
89
87
85
88
84
82
82
89
88
86
84
82
79
77
79
80
80
82
84
91
94
89
93
99
108
113
103
94
91
82
73
61
52
47
50
61
76
101
107
80
52
50
52
51
62
89
101
78
43
38
32
22
16
16
20
19
22
29
40
55
70
78
80
72
54
34
24
24
24
26
31
33
36
37
36
36
36
35
36
38
39
194
191
188
184
172
172
175
168
172
169
167
166
151
142
144
146
149
152
158
162
166
151
155
153
136
119
105
88
78
84
82
69
61
61
56
55
53
51
48
46
41
39
39
38
37
36
36
34
34
33
34
35
36
36
37
42
55
57
60
63
64
65
63
56
55
53
49
47
49
58
64
66
67
67
65
62
60
46
42
40
44
49
50
50
49
50
52
53
51
46
39
31
26
20
16
12
9
6
9
12
12
10
5
4
11
17
25
30
35
38
42
46
49
42
44
45
45
44
40
37
34
34
38
38
34
33
37
40
36
33
29
21
14
9
6
1
2
3
3
6
10
7
13
16
21
30
43
56
88
98
79
66
66
65
60
63
63
59
58
58
59
62
56
53
47
49
54
59
64
81
81
79
76
73
70
67
64
63
63
60
57
53
52
52
50
47
45
45
44
44
56
59
58
58
68
81
92
93
97
99
97
97
90
81
91
90
89
88
91
95
99
96
98
99
96
93
94
96
97
96
96
96
96
93
91
92
89
84
79
75
71
69
62
62
62
61
59
57
56
64
65
67
72
77
74
71
76
76
75
71
64
61
62
50
59
70
70
64
69
78
60
63
83
115
129
111
54
54
52
44
29
14
8
18
19
18
20
30
46
63
75
80
72
58
41
25
16
19
31
35
37
38
40
43
42
32
32
32
32
206
198
192
190
177
167
161
144
142
136
134
126
131
146
151
150
148
145
142
143
145
148
151
147
125
102
99
94
91
90
84
73
69
68
61
57
56
53
51
47
42
41
38
38
38
36
35
33
32
33
34
35
34
34
35
39
51
53
56
58
59
59
55
50
47
43
40
38
41
53
60
61
63
65
65
60
55
48
40
34
32
31
32
37
46
46
45
44
44
43
43
35
31
26
21
16
12
5
3
2
0
0
0
1
4
6
17
21
25
28
32
37
40
42
45
48
50
49
47
45
41
44
50
54
54
55
58
60
50
47
43
35
24
14
6
0
2
1
0
2
5
0
6
11
16
21
24
28
65
97
91
67
59
56
51
56
57
55
55
55
55
57
59
63
70
74
78
81
83
81
82
79
78
75
72
69
56
55
55
50
43
35
30
24
26
28
28
31
38
44
53
58
65
79
88
100
108
123
124
122
118
117
112
107
109
105
102
99
94
89
84
80
80
81
80
75
74
74
69
68
70
74
80
80
80
78
76
72
69
69
73
75
76
77
78
78
74
62
57
57
55
55
57
64
75
78
73
74
74
71
67
61
57
62
46
41
57
82
101
79
56
66
87
115
126
114
76
63
62
60
55
48
37
19
17
17
16
17
23
37
56
76
80
80
65
42
27
23
33
37
40
40
41
42
41
35
34
33
32
208
202
198
195
180
172
169
155
145
132
126
121
130
150
148
148
146
144
141
142
144
142
146
142
120
96
95
94
94
90
82
73
71
69
64
58
57
56
52
50
45
44
39
39
38
37
36
32
31
33
34
34
34
33
33
38
48
49
52
53
54
54
51
48
44
39
35
35
39
50
56
58
60
63
62
58
53
41
36
29
27
25
24
28
41
42
42
43
44
44
43
36
33
28
24
19
13
5
2
1
0
1
4
8
10
11
20
25
27
31
33
38
41
41
47
50
51
51
51
50
49
54
59
63
65
66
68
67
54
49
45
35
22
12
4
0
1
0
0
0
3
0
0
5
12
18
21
24
46
88
100
73
60
58
54
53
54
53
53
53
52
54
61
65
79
83
86
86
87
73
73
72
69
66
63
62
54
55
53
45
37
28
22
15
23
32
45
53
63
72
97
101
107
113
115
120
121
125
122
117
112
103
98
93
101
96
89
86
84
78
73
67
67
67
66
60
58
57
58
59
60
64
74
76
76
76
73
69
67
67
75
77
79
80
83
84
81
67
63
58
58
60
62
68
78
81
77
76
75
70
63
56
46
43
44
60
87
105
105
54
46
52
68
89
98
96
83
69
62
53
47
47
45
38
27
28
24
18
18
29
49
74
81
83
74
57
40
28
35
38
40
40
40
42
41
35
34
32
30
213
214
212
205
183
185
193
170
159
137
118
112
115
123
144
146
147
146
140
139
139
142
136
129
114
99
98
93
87
84
80
77
74
70
68
64
62
59
57
54
49
47
42
42
43
42
40
35
33
34
35
35
34
32
33
36
44
44
46
48
47
46
42
41
38
33
31
34
38
42
45
51
58
60
56
53
52
33
26
19
20
21
20
19
25
29
35
39
41
40
36
32
30
25
22
19
15
10
2
2
4
7
13
19
24
28
31
33
33
33
34
36
38
39
43
45
46
48
53
56
67
71
73
75
76
76
72
75
64
56
44
30
17
10
2
0
1
1
0
1
3
10
5
6
13
24
35
43
49
79
117
95
67
53
52
58
56
54
54
54
55
56
61
65
74
77
78
78
77
71
70
67
64
61
58
56
52
52
52
66
80
94
102
111
116
122
125
122
122
122
105
105
103
96
91
87
85
81
80
83
92
104
107
111
106
97
85
76
70
67
66
47
46
46
48
55
56
58
59
59
60
64
73
75
77
79
76
73
68
68
72
73
76
75
74
72
67
57
53
56
62
72
82
89
97
99
96
93
87
82
75
67
54
51
56
69
70
54
41
38
44
42
42
46
52
61
77
77
78
76
69
59
50
37
44
39
32
26
23
26
33
62
68
74
75
74
67
49
32
35
37
37
39
41
38
34
33
31
30
235
230
225
218
192
181
178
170
180
166
134
115
116
116
119
125
133
139
141
140
140
134
113
93
81
78
86
79
79
81
84
84
78
73
75
65
64
62
58
56
52
50
47
47
48
48
45
38
35
35
36
36
35
34
34
38
42
42
44
45
44
42
37
32
28
27
28
32
34
33
37
49
58
57
49
47
54
48
30
14
11
15
15
14
18
19
20
22
24
25
27
26
24
20
17
15
15
15
19
23
26
27
27
30
37
44
44
44
42
41
40
39
41
38
40
39
39
43
50
58
71
75
76
78
80
78
73
66
61
48
30
13
2
0
0
0
2
3
1
3
5
21
24
25
27
35
45
56
59
65
120
114
80
59
61
61
58
53
54
56
60
63
66
67
68
69
71
72
72
95
100
119
130
140
147
149
154
154
152
140
129
120
115
104
99
94
89
88
87
85
80
76
71
63
61
59
58
63
62
70
85
102
109
113
114
112
109
104
94
94
95
80
73
66
60
59
57
57
67
66
64
65
70
71
71
71
70
68
66
66
66
66
69
67
67
66
68
77
78
85
91
96
100
102
106
109
104
101
98
97
99
99
95
76
53
36
34
33
35
31
37
38
38
38
40
39
29
30
52
75
82
74
61
54
46
38
32
35
43
44
38
46
61
72
74
75
75
67
27
30
32
33
34
37
37
39
38
37
36
243
240
236
231
206
187
174
171
175
180
155
117
127
112
101
107
116
121
117
115
114
100
97
92
87
85
84
85
85
84
83
82
81
74
70
66
61
60
60
54
53
46
48
49
51
51
49
43
40
38
38
37
35
35
35
36
44
44
45
45
45
42
34
32
26
23
33
42
34
25
36
46
52
50
49
53
57
66
28
14
17
9
9
14
9
12
15
16
16
18
20
22
21
19
17
17
15
15
23
27
32
34
35
37
42
47
49
47
46
43
40
39
38
28
24
27
34
41
51
58
69
75
75
75
75
71
66
65
49
37
23
12
3
0
5
1
2
6
8
9
9
26
29
32
36
43
53
61
59
73
95
115
99
67
58
51
56
53
51
56
61
62
59
66
85
93
104
119
131
150
152
159
160
157
151
145
135
129
124
113
99
92
91
86
85
84
77
72
66
63
63
63
62
53
52
54
58
66
66
68
77
104
116
121
123
121
118
112
110
110
108
99
91
81
75
71
65
60
66
64
62
64
71
72
71
67
68
68
66
62
64
66
64
64
62
59
64
80
79
91
88
86
86
89
95
96
90
91
91
90
92
94
77
54
45
35
31
31
35
32
34
36
38
38
37
34
31
27
33
42
47
48
47
47
47
44
44
45
43
36
32
34
47
62
70
72
73
68
37
32
31
33
31
28
29
32
37
43
48
250
246
243
241
224
208
196
169
167
173
165
129
130
126
120
107
93
89
98
95
91
91
91
89
88
87
85
85
89
87
85
83
81
75
71
66
61
59
59
53
53
47
49
50
51
51
50
47
45
46
45
43
42
41
41
41
45
44
45
46
45
43
37
37
32
26
28
34
29
28
28
35
43
51
58
62
60
66
32
16
18
15
15
15
12
14
15
14
13
11
11
10
10
11
13
14
17
20
31
35
40
44
46
50
55
59
55
55
51
43
35
26
20
18
20
28
35
40
44
48
67
70
71
71
70
67
62
53
35
24
14
7
3
2
0
13
15
14
14
20
26
28
44
50
53
55
56
57
60
63
84
111
107
80
68
71
81
99
105
119
134
143
158
159
158
153
148
142
138
132
127
110
103
98
93
89
80
73
67
59
55
56
59
59
60
63
64
62
59
57
55
51
46
43
45
48
49
56
61
66
73
98
115
127
133
136
138
136
137
135
130
130
123
115
110
98
88
80
67
65
62
61
65
67
67
66
66
65
63
61
59
60
54
54
53
51
54
61
59
61
64
65
66
67
70
72
83
87
87
79
69
62
52
51
51
48
42
35
32
35
39
40
42
41
41
39
35
24
24
22
20
18
18
23
22
26
32
42
46
44
42
34
36
35
34
37
40
39
25
23
24
29
33
32
29
38
43
48
52
251
248
246
244
234
224
215
194
178
167
158
122
121
126
132
123
109
98
90
90
91
91
92
94
95
96
94
92
90
87
84
81
78
72
69
67
60
58
57
52
51
47
51
51
52
52
52
50
50
48
47
45
43
43
42
42
46
45
44
44
45
45
39
31
34
34
35
39
39
53
53
47
42
47
56
66
71
65
46
36
38
42
41
35
27
26
23
19
14
9
5
2
2
4
7
12
18
24
29
34
41
44
47
52
57
61
59
56
50
44
38
32
29
18
16
20
27
32
38
44
56
58
57
56
56
53
49
41
27
19
14
14
17
18
24
27
31
35
39
42
42
42
47
51
56
63
71
76
100
108
120
118
112
113
121
148
153
157
148
135
126
122
108
105
104
103
98
89
82
76
73
64
62
58
53
49
57
59
62
70
72
74
74
71
69
68
59
52
46
41
36
30
26
30
35
37
37
43
49
57
66
95
116
131
141
143
141
137
137
137
135
138
133
126
120
99
87
78
72
72
72
71
72
74
75
65
63
61
58
57
52
50
54
53
53
55
57
56
56
52
52
51
53
61
84
93
93
80
64
57
56
57
52
55
52
49
48
48
45
31
37
36
36
36
37
38
33
31
30
28
26
25
23
22
23
22
22
26
29
29
32
45
44
40
35
37
41
45
48
44
36
29
24
22
17
12
15
19
21
253
249
245
244
235
226
217
197
182
163
149
125
123
129
128
124
116
105
89
89
93
93
94
96
97
99
97
96
92
88
84
80
77
70
68
67
59
57
56
50
51
47
50
50
51
51
51
51
51
48
47
45
44
42
41
41
45
44
43
43
44
44
40
34
43
47
46
48
49
63
65
56
50
52
60
65
71
57
49
45
48
54
52
45
38
36
31
26
21
13
5
2
1
3
6
12
19
25
29
35
41
45
46
50
56
62
57
53
48
43
40
36
35
24
21
25
29
33
39
44
51
53
51
51
50
48
44
39
29
23
21
24
27
31
37
36
40
47
52
55
55
54
68
79
94
108
123
132
144
154
159
137
117
113
117
122
119
118
116
111
108
109
108
102
89
84
80
74
69
61
61
64
65
65
64
62
60
66
71
75
77
74
69
71
70
68
56
47
39
34
28
24
22
28
32
34
37
41
45
55
67
100
119
133
146
147
145
139
139
139
137
139
134
129
121
99
87
80
77
79
81
83
84
86
87
77
74
69
64
62
50
47
46
43
44
49
52
53
54
48
48
52
62
75
97
102
82
65
47
42
47
52
52
55
50
47
49
52
49
33
35
33
31
33
35
37
32
31
30
28
28
27
26
21
27
23
21
22
22
23
26
33
35
35
34
37
46
56
71
69
61
49
38
32
26
9
12
15
17
255
251
246
243
236
226
219
201
192
168
145
132
124
122
131
126
118
110
100
100
101
96
96
96
97
98
98
99
98
95
88
83
80
75
71
67
60
57
54
49
52
47
49
49
49
49
50
52
53
50
50
48
45
44
43
42
43
42
41
41
42
42
40
36
52
59
54
48
41
47
49
48
53
59
58
49
40
51
59
65
72
78
73
65
55
51
45
37
31
22
10
4
5
4
7
12
19
27
37
41
45
50
51
55
60
65
64
65
65
61
54
48
44
41
40
44
46
44
43
44
50
51
48
47
48
46
42
40
36
34
35
39
44
48
68
89
101
113
130
149
163
149
163
165
162
154
145
138
146
132
123
119
120
123
121
88
81
88
94
90
82
79
71
77
85
84
82
77
75
72
70
65
67
67
68
68
71
77
82
83
87
85
80
71
69
63
43
31
20
11
20
22
27
30
33
37
41
42
46
56
72
113
129
139
141
146
148
148
146
142
138
137
132
127
118
98
88
83
83
90
98
104
105
106
107
106
104
101
100
100
93
89
90
82
76
75
70
58
59
52
58
72
89
99
78
61
55
46
38
38
39
40
51
44
48
52
53
50
48
47
35
31
29
31
36
38
32
39
34
29
25
26
26
21
23
21
22
25
27
26
26
28
32
31
26
26
41
62
70
79
81
69
52
40
30
25
27
29
30
250
249
247
244
237
233
230
216
198
188
181
150
147
142
132
121
111
109
100
102
107
103
98
96
96
93
89
92
95
94
90
83
79
74
70
67
64
61
57
54
50
50
51
50
49
50
51
51
49
48
47
43
40
38
37
36
30
32
33
36
39
40
42
42
48
50
47
44
45
41
40
33
29
30
35
39
44
59
65
72
77
84
86
84
68
62
53
45
40
31
21
7
12
17
24
35
55
80
32
45
59
67
71
65
66
75
73
75
78
75
69
62
61
62
58
54
51
52
53
53
63
67
66
58
51
47
46
63
92
112
133
149
159
166
159
159
157
152
146
139
134
133
122
115
110
106
102
98
104
98
96
93
91
100
113
115
94
85
92
88
80
76
71
70
66
63
61
60
60
61
62
64
64
68
72
75
76
77
78
81
78
74
70
67
60
51
35
28
25
26
27
28
30
33
36
39
40
53
55
58
67
94
106
114
117
119
121
125
129
129
128
141
137
130
122
101
93
89
91
94
98
99
96
98
100
105
105
105
105
105
104
104
102
106
107
105
103
100
95
92
95
103
110
107
85
83
76
68
62
58
54
47
49
47
49
52
54
57
58
57
55
50
44
40
40
38
31
26
25
25
24
23
23
21
27
26
27
28
29
30
31
30
29
30
32
31
33
44
70
72
75
73
63
49
35
17
17
19
23
251
249
247
245
241
237
233
218
204
198
194
161
152
145
141
128
115
111
107
108
112
105
99
95
95
94
91
93
95
94
89
82
78
73
68
66
64
61
58
54
50
51
52
51
50
50
51
50
48
47
45
41
38
35
33
32
27
29
30
32
34
37
39
42
45
47
44
42
43
40
37
31
28
29
32
36
42
58
65
73
80
86
91
89
75
68
60
52
46
39
31
26
31
34
36
41
59
88
12
16
61
85
62
62
84
80
73
77
80
77
71
66
66
69
66
64
61
61
60
60
58
53
52
58
75
97
112
135
156
165
169
167
160
156
147
141
137
131
127
125
123
109
100
97
94
90
88
86
93
89
91
90
90
97
106
119
104
79
81
84
79
72
73
70
61
58
55
55
55
56
59
67
70
72
78
80
77
76
77
77
74
70
66
60
53
45
39
34
32
32
30
31
34
38
40
42
43
52
51
51
55
76
86
95
95
97
101
105
113
114
114
127
124
121
117
103
91
83
83
85
88
88
85
87
90
96
97
98
100
102
104
106
105
108
109
109
109
106
100
97
100
107
113
114
109
109
106
102
100
98
94
85
80
81
84
87
90
92
91
90
91
87
81
78
76
73
66
60
58
53
46
40
34
27
29
28
28
27
25
24
23
30
29
29
32
33
34
40
62
69
72
70
67
61
43
11
9
10
13
247
246
244
244
242
238
236
228
221
214
210
173
151
142
145
140
131
120
108
114
121
112
110
107
105
105
109
108
104
98
86
76
72
71
67
65
65
63
62
59
54
52
53
51
50
49
50
46
45
43
40
36
32
29
25
23
20
21
24
28
32
36
44
45
51
55
55
53
51
37
35
30
26
26
28
30
35
53
62
70
76
82
88
89
86
80
70
61
52
45
40
39
44
52
59
65
65
64
123
146
95
47
83
97
75
79
70
73
75
73
68
67
69
71
66
63
62
64
67
69
115
136
155
166
168
166
163
158
146
138
131
126
124
122
111
108
106
102
98
93
91
93
92
93
94
94
93
91
88
87
88
88
86
89
92
108
111
79
73
80
81
72
70
64
50
48
47
49
51
61
65
77
79
80
80
81
81
78
75
69
65
61
58
55
50
48
47
43
42
41
44
45
46
48
49
49
51
45
42
39
37
37
37
39
42
47
52
59
75
78
78
89
88
89
95
101
95
89
73
64
56
54
58
52
45
48
50
54
59
64
73
76
83
83
83
87
96
103
98
91
97
105
109
112
111
110
109
111
112
113
114
116
115
111
113
116
119
120
119
117
115
115
114
113
112
110
103
103
102
101
99
95
93
91
84
81
78
73
69
64
61
51
50
48
47
48
47
43
39
55
67
65
63
63
51
18
14
13
17
246
245
244
245
246
243
241
238
235
224
219
189
161
155
150
140
127
116
111
108
104
116
123
124
116
107
104
104
111
106
98
91
87
73
64
67
67
66
65
62
56
55
52
50
48
47
46
42
39
37
35
31
28
24
22
19
25
27
30
38
46
57
69
73
74
74
71
69
68
53
46
42
38
35
32
33
38
57
64
70
72
74
77
79
75
70
62
52
45
41
41
52
55
59
66
72
78
81
101
60
116
184
140
73
67
76
72
64
65
68
68
67
66
58
71
91
115
139
160
171
153
152
145
133
116
99
87
75
79
83
88
93
97
100
110
111
111
108
105
102
100
106
100
96
93
87
82
78
72
72
68
68
69
69
68
79
100
97
77
68
67
66
60
54
42
42
47
54
59
70
74
82
83
82
82
83
79
73
68
56
52
48
46
48
51
54
50
45
48
52
56
56
57
55
54
55
56
45
41
35
31
29
28
31
31
35
37
41
47
47
45
53
58
68
78
91
92
92
88
79
67
56
43
36
32
32
32
33
36
38
41
41
42
43
49
60
73
68
55
52
60
67
69
73
81
79
88
94
96
95
97
100
96
104
102
102
102
103
104
106
108
109
112
113
112
108
103
108
107
105
102
99
96
93
96
95
94
93
92
91
91
88
92
93
89
87
87
85
74
74
76
79
78
71
61
29
22
18
20
247
246
246
247
247
245
243
241
238
227
222
196
170
164
158
143
126
118
120
111
100
108
119
123
115
106
104
104
97
96
94
92
92
76
64
66
66
66
65
62
56
55
52
50
48
45
45
41
38
36
34
30
26
23
21
20
28
31
36
43
54
65
80
85
84
79
73
72
72
62
52
48
44
41
37
35
41
53
61
66
67
67
69
70
68
63
56
48
41
40
42
45
53
65
73
78
84
90
90
92
75
117
184
153
85
85
81
69
64
65
64
60
56
80
112
142
162
166
163
158
135
110
85
68
61
60
61
68
70
74
81
90
98
104
99
104
108
111
114
115
116
99
95
91
88
83
76
72
69
67
63
64
67
67
66
72
96
103
79
61
59
62
56
51
40
42
49
57
63
71
74
83
84
84
84
85
77
72
65
51
47
44
40
43
49
55
49
44
48
54
57
58
59
57
56
56
57
49
44
37
32
33
37
40
35
39
41
46
53
53
53
43
52
65
76
86
87
88
89
84
75
59
36
32
32
31
32
34
36
38
42
44
38
41
48
58
67
46
27
28
35
38
37
40
48
47
52
59
64
66
68
73
67
73
71
70
69
69
71
75
78
82
88
91
91
90
88
84
85
86
88
90
92
94
96
95
94
92
90
88
86
87
94
96
92
90
92
91
87
78
76
84
89
83
72
58
50
45
46
241
242
243
244
247
246
246
246
239
233
231
209
184
166
164
158
151
146
120
111
110
118
117
115
110
103
94
93
96
94
92
90
86
73
74
69
57
65
60
55
49
51
54
48
43
41
41
34
32
30
27
24
23
21
18
25
36
42
53
64
74
84
98
101
102
100
96
93
89
75
60
55
49
44
40
40
40
45
48
53
58
62
63
63
55
50
46
41
35
31
34
50
57
67
75
79
83
88
89
96
98
80
66
91
147
187
69
77
87
58
57
103
136
153
154
142
129
115
96
80
53
43
39
37
37
38
41
51
62
69
75
82
87
93
96
105
106
109
112
108
103
96
85
78
71
63
56
51
46
46
51
56
62
69
72
75
79
111
106
78
58
54
55
55
60
64
69
73
74
77
77
82
84
83
79
76
70
63
57
43
41
41
42
40
43
47
49
50
51
51
54
59
62
63
66
67
65
63
58
51
47
47
45
44
48
49
49
50
58
59
59
49
47
48
53
72
80
85
83
80
79
77
51
37
31
24
26
28
29
27
26
27
31
30
32
34
32
26
28
27
29
30
30
27
26
27
32
31
30
30
30
29
23
19
16
14
14
12
13
26
37
39
43
45
47
47
44
37
33
30
29
32
34
34
40
42
44
48
51
54
56
66
68
71
74
76
77
77
77
75
73
73
75
78
78
80
80
78
73
231
233
236
240
243
243
243
238
238
235
228
198
172
152
142
142
143
148
142
122
105
116
117
117
114
107
99
98
92
88
88
91
90
82
80
76
67
77
71
65
57
54
57
50
44
42
41
32
30
28
22
18
17
15
15
27
40
46
57
69
81
92
107
113
115
113
109
104
98
81
67
59
50
41
37
36
36
33
35
39
43
45
47
47
47
43
39
34
27
23
26
36
45
58
70
77
82
87
90
80
73
81
85
62
47
57
155
133
79
47
105
167
158
114
92
81
76
69
63
61
54
52
52
51
50
51
55
49
56
60
65
71
78
84
88
92
91
91
91
85
79
81
68
59
51
43
35
31
35
37
48
54
60
67
69
77
79
93
106
105
80
53
71
75
80
78
77
78
80
81
81
82
79
75
69
65
58
56
53
46
43
42
42
35
38
41
45
46
48
50
58
62
65
66
72
76
76
71
68
62
58
55
53
53
57
57
58
59
62
61
61
51
52
50
46
47
56
66
73
79
78
73
76
70
59
36
30
24
21
22
26
24
21
18
18
19
19
20
25
23
24
25
27
27
26
26
27
26
26
25
26
25
20
14
11
8
8
6
5
11
20
23
29
35
39
39
37
44
39
30
23
19
18
19
18
16
14
12
12
13
15
19
19
21
24
28
31
34
37
38
40
41
40
45
56
83
86
87
84
224
226
231
235
240
241
240
237
237
233
222
190
165
146
137
137
139
143
148
130
110
108
114
119
116
110
109
115
102
93
88
91
95
87
82
78
73
85
79
74
64
58
58
51
45
43
41
31
29
26
21
16
15
13
13
24
38
45
56
67
79
90
105
113
114
114
109
104
99
80
65
58
47
39
35
33
34
33
35
37
40
42
43
42
43
38
33
26
18
13
15
26
37
52
64
73
79
84
82
83
88
85
75
76
72
57
142
173
123
80
62
81
129
88
72
69
71
72
71
71
55
50
53
54
53
50
50
49
54
57
63
68
75
79
86
87
85
84
81
75
69
70
55
48
40
34
28
25
28
32
46
56
62
67
70
78
77
81
98
108
91
65
78
81
82
79
79
80
82
84
82
78
75
70
66
60
60
58
54
45
43
40
38
35
37
39
41
44
47
50
54
61
64
68
75
79
80
72
69
65
61
57
56
57
60
60
61
62
61
59
57
55
54
50
48
48
48
48
59
70
76
73
78
79
74
58
46
32
21
18
22
23
16
13
10
12
11
15
21
22
22
23
25
26
27
27
28
27
27
28
27
27
21
17
12
10
11
10
9
9
12
16
22
30
34
37
38
44
40
33
26
20
17
18
20
18
14
12
11
11
13
12
12
13
15
17
19
21
21
22
24
25
23
26
39
70
76
79
77
205
209
215
222
229
230
230
230
230
220
200
175
163
152
140
145
143
138
146
129
106
97
97
98
103
110
123
125
124
118
111
107
103
99
100
95
88
93
78
70
70
64
59
52
45
42
40
29
27
22
19
16
15
12
9
17
27
34
45
56
67
77
92
95
98
98
94
91
85
65
52
46
39
34
31
29
29
27
27
27
28
27
26
25
18
15
14
12
9
8
15
28
36
48
58
65
71
78
87
77
68
73
77
68
64
75
143
156
169
179
137
79
64
82
83
78
76
75
72
65
60
57
55
52
48
46
47
45
54
60
64
69
73
77
79
80
76
72
69
61
54
34
24
19
17
15
14
14
20
27
48
58
66
72
74
75
76
78
90
103
102
94
74
75
80
82
82
78
75
73
69
63
63
63
61
60
60
56
51
40
36
34
32
28
29
29
29
32
35
39
49
56
65
75
82
86
87
74
72
71
67
64
66
68
70
71
70
69
62
57
51
57
55
51
49
45
40
34
36
42
54
69
76
77
78
80
75
65
52
35
14
9
8
4
3
3
2
5
11
20
20
20
24
27
30
29
29
28
28
28
28
26
21
16
12
10
13
14
11
8
5
7
11
16
21
27
33
42
44
44
40
33
26
19
11
10
9
9
10
11
13
15
17
19
21
22
22
22
22
20
19
20
16
13
24
53
62
69
70
183
194
204
206
213
218
221
218
200
184
171
157
154
146
146
142
140
141
130
112
97
89
91
96
103
105
113
119
125
128
147
154
128
104
120
103
82
86
84
64
85
61
60
51
44
41
43
43
26
28
24
19
14
13
12
11
11
18
27
35
46
56
76
79
79
79
77
72
65
54
47
42
34
27
23
19
14
12
12
12
13
14
14
14
12
13
18
23
28
35
45
59
62
65
69
71
74
75
72
68
71
69
60
71
109
145
123
118
93
57
91
144
146
65
68
94
82
65
70
57
48
43
42
46
52
59
62
49
62
66
66
65
66
67
64
66
63
57
45
32
22
7
4
1
1
1
3
7
18
27
46
53
55
56
56
57
68
84
84
87
97
108
88
70
78
83
71
64
69
60
59
60
64
65
62
58
56
51
46
36
29
22
18
24
23
20
13
16
24
32
44
56
69
83
89
91
91
86
85
82
79
75
75
76
80
77
73
72
68
61
54
60
55
49
44
40
39
39
40
39
35
36
53
67
78
73
77
78
74
75
51
29
12
9
8
11
13
12
17
20
22
25
27
28
25
25
26
25
22
21
22
22
21
22
22
19
13
10
12
15
14
14
14
14
16
21
31
32
36
40
42
41
36
17
12
13
14
15
16
17
17
20
20
22
24
23
23
21
24
20
17
15
16
20
24
46
55
64
68
178
182
185
185
191
192
191
187
174
163
154
150
151
146
149
147
143
141
126
111
99
101
92
83
83
88
110
119
123
123
136
146
135
119
124
103
85
89
84
63
89
75
67
61
58
52
44
47
44
35
30
23
17
14
12
9
12
17
24
31
40
51
68
72
73
73
71
67
61
51
44
38
31
25
21
17
14
11
11
12
13
14
15
16
15
16
21
28
34
43
53
69
72
74
78
79
79
79
72
72
69
63
71
99
132
144
108
71
58
54
58
94
144
78
58
75
78
75
57
56
48
47
48
53
59
65
67
60
64
64
63
61
61
62
57
50
45
39
30
22
15
7
3
0
0
1
2
6
14
22
38
41
45
52
58
66
74
85
83
85
94
102
102
79
68
73
66
57
57
58
58
61
63
62
60
57
53
50
45
36
30
24
19
14
15
14
14
18
29
38
46
59
71
85
91
93
91
91
87
84
80
76
76
77
79
76
72
71
68
62
56
58
54
48
44
41
40
39
39
38
34
34
44
54
62
71
77
78
75
74
68
58
42
31
18
13
10
16
24
25
26
29
31
32
29
27
27
25
23
22
23
24
22
25
25
24
20
20
22
27
24
23
20
19
19
21
28
33
38
41
41
39
37
27
18
17
15
16
17
19
19
21
21
22
23
23
22
21
23
19
17
15
16
19
24
40
48
58
64
186
181
170
158
144
140
134
134
133
135
133
124
127
125
129
128
125
118
105
100
98
103
100
101
107
112
112
113
124
137
151
151
136
129
125
106
96
104
104
88
101
90
69
53
52
65
65
51
49
51
45
36
29
24
20
16
18
20
24
28
33
37
44
51
52
52
52
50
46
40
35
31
25
21
19
18
15
16
15
15
17
18
18
18
16
17
25
36
49
61
74
90
91
93
93
89
84
79
70
64
60
75
111
149
140
103
54
57
66
54
60
67
47
162
162
102
65
61
72
56
58
60
64
64
66
65
66
64
58
58
58
57
53
49
42
26
18
12
7
3
1
3
2
0
0
0
0
2
2
7
16
22
37
53
66
72
76
78
75
74
78
82
107
93
53
49
55
55
50
54
58
61
58
55
53
52
47
43
39
28
22
17
13
5
7
8
10
17
29
38
53
63
77
91
95
96
94
99
95
88
81
76
77
78
77
74
73
70
64
58
53
50
49
47
46
44
40
37
39
38
35
31
26
28
30
41
53
67
75
80
80
75
76
68
58
46
35
20
18
28
30
34
37
37
33
32
27
25
23
24
26
27
26
23
22
25
32
38
44
53
57
51
42
33
28
24
23
27
36
44
44
41
42
45
34
28
20
18
19
21
21
22
23
23
23
24
23
21
21
19
16
15
17
20
24
24
29
38
48
182
185
180
163
125
116
110
109
109
114
115
103
102
97
100
102
103
105
104
104
105
95
98
98
96
87
89
98
116
117
125
136
142
140
125
119
99
92
93
98
139
145
177
128
80
59
57
64
59
58
55
53
51
48
47
42
37
36
37
38
41
42
40
41
41
41
41
40
37
34
32
29
24
20
19
19
17
17
16
15
13
12
10
9
7
8
15
32
50
66
81
102
105
108
106
101
92
83
77
68
88
130
146
125
88
62
48
44
43
57
50
38
49
60
28
131
174
99
91
52
72
72
68
62
56
54
55
64
62
59
54
46
36
28
26
21
17
13
5
0
0
4
1
0
0
0
1
2
2
2
19
36
54
63
66
70
71
76
77
75
72
71
78
89
79
58
46
48
53
53
54
55
53
52
50
50
43
41
34
25
18
11
7
1
3
4
10
19
31
41
51
63
76
89
92
91
89
99
94
86
78
68
67
67
66
66
65
64
56
52
50
47
46
44
44
40
36
33
35
36
35
33
28
28
28
27
28
33
44
60
83
87
86
86
82
73
68
60
56
43
42
41
40
38
36
35
30
29
26
27
28
28
27
29
24
29
42
54
58
71
71
62
50
40
35
31
27
22
32
41
46
47
47
44
45
41
34
25
20
18
19
23
24
25
24
23
23
22
22
21
19
20
20
24
27
27
23
25
33
187
190
187
174
138
122
110
107
102
103
101
95
98
96
99
100
101
103
104
101
99
86
90
96
98
96
97
102
110
110
119
128
128
133
132
130
112
100
96
95
126
136
159
139
115
91
68
63
59
61
61
61
62
62
60
53
43
42
43
45
47
48
43
41
41
41
40
39
36
34
31
26
21
18
17
16
14
9
8
7
7
6
5
4
3
4
12
29
49
66
81
102
106
108
107
102
92
81
74
79
110
141
136
104
75
58
47
34
34
48
36
31
54
37
52
37
121
179
93
87
73
73
67
61
57
58
60
64
62
56
50
41
33
30
27
22
20
16
9
1
0
3
2
2
2
2
3
3
1
6
29
44
53
59
60
65
67
73
74
70
65
60
56
76
94
72
52
47
52
54
52
50
51
51
50
49
44
41
38
30
26
20
15
4
6
6
9
17
29
38
48
61
74
86
88
86
83
94
90
83
75
62
60
57
55
56
58
58
55
53
52
47
45
43
41
39
35
33
33
34
33
32
27
27
28
25
26
29
35
44
68
78
79
82
82
78
75
74
70
61
58
52
47
42
37
37
32
30
28
26
27
28
26
30
24
28
42
55
59
69
70
62
49
40
36
35
31
30
36
42
44
47
50
46
49
48
42
33
24
19
21
24
24
25
25
24
23
21
23
23
21
22
24
26
29
33
25
23
28
190
198
198
183
158
147
134
119
103
92
91
93
92
85
94
94
94
97
114
124
130
118
109
102
99
99
104
110
136
129
116
116
127
132
153
137
120
106
113
124
125
139
141
121
109
108
107
88
72
69
69
71
79
82
79
69
55
61
58
48
50
61
56
48
45
44
44
42
37
36
22
19
14
8
5
4
3
2
1
0
0
0
0
0
0
5
11
24
45
68
84
92
99
106
102
90
85
75
70
111
140
133
106
78
64
64
52
45
40
40
43
47
50
48
52
59
64
67
113
185
81
50
73
68
56
68
72
52
50
55
47
45
48
42
43
33
32
31
27
18
9
7
2
2
2
1
1
2
12
22
42
48
51
56
60
56
60
64
55
46
46
51
46
54
96
96
74
54
48
50
51
45
49
48
46
51
47
44
42
43
42
37
34
26
22
16
12
18
25
30
43
52
63
76
79
76
72
90
85
76
68
55
48
45
44
43
43
45
50
50
50
49
48
46
43
37
35
34
30
30
30
28
24
21
20
19
22
26
32
36
42
43
48
54
64
71
74
73
72
74
74
74
72
66
46
38
34
34
32
32
30
28
21
26
23
23
33
44
49
55
50
49
46
44
42
40
37
42
40
38
41
50
57
51
55
53
51
47
41
32
25
20
21
23
23
23
22
20
22
23
25
28
30
31
33
28
28
26
25
191
194
186
166
148
151
152
121
108
98
95
94
104
107
110
109
106
103
93
88
85
71
81
93
100
101
140
164
158
155
151
154
156
134
142
139
126
102
92
102
116
121
85
77
76
78
78
81
74
77
75
78
86
90
87
84
75
66
65
72
69
55
63
48
39
31
30
28
25
17
13
11
8
5
2
2
2
2
1
1
0
0
3
6
11
15
22
32
48
68
82
92
95
96
92
87
80
69
99
128
133
107
83
73
71
69
62
59
58
59
60
62
63
63
59
63
74
66
54
59
178
110
74
45
71
85
66
44
59
62
71
73
67
66
61
48
43
40
34
25
18
10
2
0
0
6
16
26
31
34
46
48
50
55
57
63
55
39
35
35
40
46
55
55
78
98
101
79
53
56
53
48
46
44
45
49
49
50
50
55
56
55
54
41
40
39
33
31
28
28
35
43
49
60
66
67
65
75
70
64
56
44
38
35
34
35
35
38
46
47
47
50
49
47
43
38
37
36
31
31
30
28
20
17
16
16
17
20
24
28
31
31
33
33
33
34
38
55
62
71
72
75
75
73
65
62
50
45
37
31
26
24
22
17
14
13
20
28
32
40
45
46
45
44
43
42
41
46
49
51
52
57
64
66
67
66
64
59
52
43
35
24
27
27
24
20
17
18
20
22
23
26
27
30
33
29
28
26
24
187
184
172
157
149
152
152
132
113
99
97
100
108
111
107
106
105
102
93
89
86
96
96
93
81
68
89
111
109
139
148
131
133
159
144
126
118
96
81
93
119
120
70
63
55
48
47
79
87
80
60
59
82
91
81
91
75
76
78
76
64
57
86
54
43
32
29
28
25
16
10
9
7
6
4
4
3
7
6
5
5
7
10
13
22
27
32
40
53
70
82
94
95
92
90
86
78
68
114
135
127
94
75
74
73
70
66
66
67
69
69
70
71
68
69
65
70
69
66
71
94
172
109
65
42
80
88
67
62
73
89
79
66
73
73
57
49
43
36
27
22
8
0
2
9
16
28
34
34
35
42
44
46
50
52
55
45
32
34
37
44
49
58
58
66
90
105
92
67
56
51
55
52
48
49
52
51
51
53
57
58
58
58
53
53
50
44
41
38
37
42
48
52
57
62
64
63
67
63
57
51
40
35
31
31
31
33
36
45
47
46
50
49
47
44
39
38
36
35
34
32
29
21
17
15
13
15
17
19
21
24
24
26
25
22
19
23
41
48
59
62
68
72
73
69
68
64
58
49
41
32
26
16
17
12
11
15
22
26
37
39
41
42
42
41
41
44
48
54
58
58
59
65
71
74
73
72
67
61
52
43
29
27
24
21
21
20
19
19
19
21
24
27
29
32
29
28
26
24
169
162
154
150
154
150
145
147
117
96
101
112
111
105
108
105
100
96
95
96
97
74
71
70
68
65
79
90
108
125
130
109
96
122
111
124
128
119
110
111
105
100
100
107
113
102
80
60
50
47
54
46
34
50
81
76
83
79
70
68
87
106
77
58
49
41
37
35
29
22
19
19
18
17
17
17
15
19
18
18
19
21
25
28
41
46
51
55
63
74
84
97
99
92
91
91
78
75
134
134
114
89
82
83
82
82
80
81
81
80
79
79
78
82
79
72
71
73
67
57
50
42
98
164
98
85
42
43
113
104
90
102
106
94
87
70
59
48
36
25
19
8
5
18
32
40
41
40
42
41
43
45
45
45
45
28
25
34
43
47
49
53
56
62
57
64
84
96
98
70
53
70
68
67
69
66
71
73
75
75
73
75
74
80
76
72
64
63
65
66
66
68
67
60
61
59
56
53
51
47
45
37
32
28
28
29
32
37
47
49
49
48
47
46
44
40
38
37
39
37
36
32
25
20
18
13
13
12
11
12
13
14
16
17
18
19
19
23
25
32
38
46
51
56
65
69
72
72
72
69
63
53
33
23
18
12
12
12
13
25
28
31
34
34
32
34
41
51
56
59
58
59
64
69
78
79
80
79
76
68
61
48
36
23
20
24
26
22
15
15
16
19
23
27
32
31
30
29
28
150
152
154
152
142
146
154
129
104
95
103
107
106
105
100
98
95
92
88
86
85
100
79
64
74
96
96
85
56
54
75
104
123
145
133
145
140
123
104
89
72
79
105
112
113
95
72
56
47
38
18
15
27
26
20
85
87
91
112
142
147
117
57
61
56
54
51
47
39
36
32
32
31
31
30
28
27
25
24
23
23
25
28
31
45
51
57
59
65
74
83
93
99
93
91
91
75
79
149
129
102
89
90
91
92
101
109
104
98
91
84
80
78
81
79
72
56
50
53
52
53
64
72
80
116
156
118
70
51
112
118
108
110
99
93
78
65
52
37
24
17
17
32
39
39
39
45
52
43
41
40
39
35
29
26
28
28
38
40
39
41
43
50
58
63
62
69
84
97
103
70
72
72
77
85
80
81
84
88
88
88
90
92
99
97
94
86
82
79
78
69
72
69
60
59
56
53
49
47
45
42
37
33
30
30
31
33
39
50
52
53
46
45
45
42
38
37
36
35
34
33
30
24
20
18
15
14
12
10
9
8
9
8
11
16
20
22
26
27
33
33
33
32
37
67
80
87
88
87
86
80
71
53
55
48
37
28
20
15
23
20
25
29
29
27
27
36
42
44
47
50
57
66
69
74
76
79
83
82
77
73
65
60
50
35
24
20
20
13
13
14
16
21
26
31
32
32
32
31
138
143
142
137
146
146
139
106
100
94
93
100
99
97
92
90
89
88
86
86
87
108
95
84
84
82
72
74
60
82
86
75
78
117
131
141
157
151
111
80
56
41
67
121
136
100
84
79
51
57
42
22
26
37
26
67
78
115
147
153
134
101
76
66
61
58
55
53
48
34
42
41
39
37
35
34
34
33
31
31
31
31
32
34
44
48
53
56
61
70
75
81
86
90
88
86
85
99
139
120
106
102
103
108
113
111
110
103
100
99
97
88
78
66
60
57
54
52
54
56
56
65
69
68
76
105
137
152
44
44
113
114
92
94
91
77
71
55
40
41
47
49
40
42
46
43
41
38
40
45
39
28
21
20
23
30
31
35
38
42
46
49
49
56
61
60
64
77
88
98
89
65
77
86
86
86
95
96
98
100
99
98
97
102
101
100
96
89
82
76
73
67
63
58
55
49
45
39
41
44
45
40
37
34
31
34
38
44
51
50
48
51
48
45
42
40
39
36
30
29
27
25
20
18
18
11
12
11
11
11
7
6
14
16
19
24
27
31
32
34
30
31
38
44
55
61
62
61
63
64
61
56
53
57
55
52
50
45
38
19
21
21
19
18
17
17
18
24
30
39
45
50
55
65
70
70
72
76
79
77
72
65
65
61
47
31
20
19
19
14
10
10
15
21
24
37
39
41
41
115
124
131
132
128
115
102
99
93
87
84
92
94
94
89
86
83
79
78
79
80
76
63
53
53
56
65
73
76
73
82
100
103
94
122
147
145
126
96
81
72
55
40
26
67
107
81
56
68
48
30
27
24
13
28
36
81
139
145
114
108
92
77
69
67
64
61
57
53
46
40
40
39
38
37
36
35
35
36
36
36
35
35
34
37
39
40
40
44
52
56
66
70
72
74
75
79
98
129
117
112
113
112
114
118
118
119
118
110
102
97
93
90
68
54
45
40
40
47
53
52
58
69
79
83
92
101
137
112
81
48
49
112
107
84
67
63
58
61
63
56
63
50
45
39
34
34
38
34
27
14
17
24
32
35
35
36
40
42
44
45
46
47
49
52
53
58
64
68
85
93
73
76
87
94
98
97
101
105
106
104
101
99
101
100
98
93
88
83
79
72
68
62
47
44
44
45
49
49
49
50
48
47
45
46
46
45
46
49
47
46
49
46
41
38
34
31
30
27
26
25
22
18
17
16
12
11
8
6
7
8
10
13
16
20
26
31
38
39
41
43
50
61
69
76
76
70
60
51
47
43
39
44
54
55
56
59
60
60
55
42
37
29
22
19
18
21
22
27
36
42
48
51
56
61
59
58
58
60
63
64
66
65
60
51
40
31
24
16
14
13
12
13
17
23
39
41
44
46
111
109
106
102
102
101
98
98
92
84
78
74
74
75
73
74
76
78
73
70
67
62
60
59
63
69
81
86
82
81
74
69
69
69
80
110
132
145
132
106
71
64
72
68
50
52
71
47
60
76
53
23
16
19
14
50
61
81
118
121
82
60
66
66
64
62
60
58
56
51
36
37
36
35
34
33
32
31
29
27
24
21
18
15
18
18
17
19
26
37
44
54
59
63
69
76
83
101
120
113
114
117
115
114
117
115
114
109
104
104
104
98
91
87
82
78
69
58
52
49
54
58
64
75
85
98
109
88
134
165
134
88
55
54
90
75
70
63
64
64
57
62
45
44
44
36
26
20
5
4
14
26
33
32
28
30
31
34
36
37
38
39
41
42
46
50
52
51
49
44
76
91
80
77
84
97
100
103
107
109
105
100
97
95
91
85
74
69
63
60
54
53
49
41
42
47
51
59
60
61
60
60
60
59
60
58
56
56
57
56
55
47
44
39
35
30
28
26
24
23
22
21
18
17
16
12
9
6
2
2
8
10
10
13
19
26
32
41
43
42
52
66
78
87
82
75
66
49
31
17
8
4
7
31
37
45
53
59
61
62
66
64
60
53
45
35
22
29
32
36
43
47
49
49
43
40
36
33
34
39
47
59
57
55
52
48
40
30
15
14
14
12
12
14
23
41
45
49
52
116
112
109
106
101
96
93
92
90
85
77
67
64
63
55
56
56
57
58
57
58
58
61
64
64
67
74
75
81
89
86
79
82
76
68
70
100
137
153
143
117
115
85
72
66
65
60
74
74
80
79
59
29
15
15
18
32
42
84
115
111
119
118
104
87
64
48
41
36
26
26
24
20
16
14
13
14
17
16
13
10
11
12
14
15
16
17
21
32
43
47
48
57
68
79
88
91
102
121
108
102
104
103
104
106
102
100
98
97
100
103
102
99
96
95
96
91
82
76
73
62
64
66
71
80
88
91
83
107
85
126
161
105
99
48
90
90
76
69
58
42
56
46
40
28
15
8
7
12
19
34
35
35
36
37
37
34
25
22
22
23
23
25
29
41
44
44
44
43
37
49
91
97
80
71
80
88
90
91
90
87
84
82
79
73
66
55
53
49
47
46
46
47
55
57
57
56
64
66
69
71
70
69
66
65
64
62
61
56
51
48
37
35
31
28
25
22
21
22
22
22
20
18
17
16
12
9
6
2
2
3
3
12
14
19
27
33
42
43
57
70
85
94
98
85
73
52
37
22
14
9
4
0
6
11
16
24
34
45
66
71
75
79
81
77
69
55
53
50
45
43
40
38
31
33
34
32
30
29
32
37
46
47
49
49
44
39
33
16
13
10
9
13
17
21
32
36
43
47
127
119
111
106
98
98
98
89
88
84
78
66
64
63
56
55
53
52
55
59
62
66
69
70
68
69
77
78
86
87
84
85
92
82
80
61
87
123
149
153
127
120
134
106
54
43
67
55
92
97
72
69
61
29
11
15
23
41
64
84
103
124
106
68
57
46
43
47
48
32
23
20
14
9
6
7
8
14
12
10
9
10
14
19
20
20
21
26
37
47
49
47
57
69
82
92
93
101
123
107
98
99
99
101
102
97
97
100
98
96
100
104
105
102
99
98
95
91
91
92
76
65
60
66
79
90
93
83
101
107
84
116
159
115
96
53
77
82
60
52
62
46
46
38
21
8
9
15
22
30
38
35
35
40
45
43
39
24
19
17
18
18
18
25
39
41
42
42
42
44
41
85
101
86
71
76
81
83
83
82
80
77
76
72
67
61
51
50
48
47
49
48
51
61
63
60
56
63
65
69
73
72
69
67
66
64
62
60
52
45
41
34
31
27
24
23
21
19
23
22
21
21
18
17
17
11
9
6
3
1
0
1
7
10
14
21
28
36
37
61
75
89
97
99
85
70
53
39
24
16
10
2
0
11
12
13
15
23
37
65
78
82
85
86
82
75
61
69
63
54
47
42
38
29
33
35
34
33
31
32
37
40
44
47
46
43
37
33
18
13
8
8
14
19
22
28
33
39
43
116
116
115
112
103
102
102
103
102
95
84
76
72
68
61
57
57
62
71
74
77
79
79
79
78
79
79
79
87
88
90
90
88
82
78
75
69
71
92
122
146
140
122
131
121
92
69
52
40
51
70
84
84
76
63
23
30
33
40
68
100
98
57
54
50
45
38
35
32
26
23
22
21
19
17
16
14
12
11
12
14
14
15
20
29
33
33
32
37
48
57
69
70
76
81
82
84
99
120
100
92
91
80
76
79
78
84
89
91
93
96
103
107
108
105
105
103
102
101
100
97
97
92
86
83
88
92
92
87
87
86
91
106
124
161
95
51
46
84
63
58
45
22
19
15
21
32
37
45
51
60
65
66
60
55
53
42
26
19
11
6
4
11
18
33
35
38
43
46
47
46
57
76
91
87
75
61
64
67
66
62
62
63
61
61
61
57
54
52
48
46
50
56
69
73
74
74
71
71
71
71
70
67
66
65
60
56
55
41
33
31
27
26
25
23
21
20
21
21
23
25
24
18
16
15
9
8
6
2
2
0
0
0
4
7
14
20
26
40
66
80
95
101
104
91
75
59
43
30
23
15
3
3
7
6
8
16
25
36
63
74
85
89
88
93
93
78
76
75
73
69
64
57
49
43
38
35
36
36
35
35
41
42
44
44
44
41
38
27
23
21
19
17
16
21
28
28
33
38
106
109
114
116
113
111
108
102
102
100
96
91
89
86
78
76
78
81
82
88
93
90
90
90
90
89
85
84
81
82
85
86
87
85
83
79
77
75
71
73
109
126
161
152
133
106
80
69
78
80
77
70
60
54
53
51
30
36
56
84
93
78
63
49
42
36
33
31
30
30
32
33
34
34
35
35
34
32
30
28
29
28
26
28
35
39
42
43
50
63
73
76
79
79
79
77
71
84
123
94
73
74
70
59
57
63
74
80
85
87
91
96
101
114
114
113
111
107
104
102
101
101
101
100
99
96
93
88
100
109
111
105
93
84
74
151
129
87
68
51
54
37
32
40
46
55
64
66
74
83
92
89
85
82
78
73
61
30
15
4
2
4
6
12
28
34
40
46
50
51
57
45
49
70
90
97
74
58
50
58
54
52
55
57
58
57
58
58
56
55
56
59
61
70
74
77
79
74
73
71
70
64
60
59
57
54
50
47
36
29
25
22
22
22
23
22
22
23
22
24
25
22
17
15
14
8
7
4
2
1
0
0
0
2
3
7
11
17
32
62
77
92
100
103
89
73
63
51
36
28
20
11
5
5
4
8
17
28
41
70
89
104
109
104
104
104
105
101
101
99
96
91
85
74
66
62
58
57
53
47
42
47
43
41
42
46
46
43
33
31
30
30
30
27
28
31
30
33
39
104
106
110
114
115
112
108
107
105
103
102
98
96
96
88
86
87
89
87
90
96
91
91
91
91
89
84
83
80
80
82
84
85
84
83
78
81
83
82
80
94
103
143
146
145
132
105
52
47
66
70
72
67
56
45
45
50
52
66
85
85
71
58
44
36
29
28
29
27
33
38
39
42
45
46
46
46
47
42
38
38
36
31
29
35
42
49
55
61
70
75
78
81
77
75
74
62
72
126
97
72
65
65
55
51
57
70
77
83
87
89
94
97
110
113
116
116
113
108
106
105
102
101
103
103
101
99
93
110
116
117
110
103
95
86
129
153
106
83
70
54
46
53
62
63
68
79
83
89
96
99
95
91
89
87
81
69
36
20
8
6
9
6
11
26
33
41
46
50
53
58
44
42
58
81
94
90
67
48
55
56
54
54
56
57
57
58
57
57
58
63
63
65
69
72
74
77
74
74
71
68
62
59
57
52
50
48
43
35
29
23
23
24
23
23
23
23
23
22
22
21
20
13
12
11
7
5
5
4
2
0
0
4
6
6
8
12
16
31
59
74
90
97
101
89
74
64
52
38
29
23
15
5
5
4
8
16
27
42
72
92
110
119
117
115
113
112
109
110
109
104
99
92
81
75
71
68
67
64
57
53
54
49
47
47
49
49
43
37
33
32
34
34
31
31
36
35
38
42
105
104
102
104
110
109
108
108
105
104
108
110
113
117
111
105
99
99
95
91
91
87
87
89
89
88
81
80
77
77
76
76
76
74
73
74
74
74
74
77
88
92
91
106
123
134
143
149
146
109
95
80
70
63
62
98
103
83
70
65
63
70
41
35
24
19
23
26
26
42
51
52
56
60
62
63
62
60
53
47
45
41
35
30
48
57
66
72
76
79
78
76
77
67
65
68
49
48
118
103
70
46
45
44
39
42
56
69
80
87
94
100
104
105
105
106
108
112
115
118
116
116
114
112
112
113
113
110
109
104
103
106
110
111
111
98
80
135
156
84
89
61
70
82
85
91
98
100
108
110
111
111
109
102
95
87
76
51
42
31
23
21
19
22
33
41
47
51
53
58
50
50
44
38
48
67
91
83
66
43
50
53
49
57
57
55
56
55
57
59
61
63
64
68
69
69
70
75
73
69
65
59
56
57
49
50
50
46
44
38
31
29
29
29
28
27
25
25
16
15
14
11
5
4
5
4
5
6
7
7
6
5
10
12
13
15
17
14
27
54
65
78
82
83
73
59
48
39
29
21
20
19
6
4
2
4
14
28
47
88
104
122
131
133
137
138
132
127
126
125
121
113
103
90
84
79
74
73
72
68
66
68
68
68
67
64
60
54
48
41
38
40
42
40
41
41
41
44
49
105
100
94
93
99
102
102
105
104
105
106
115
123
128
133
120
109
106
100
93
87
89
83
79
79
79
77
79
75
75
72
70
68
66
67
67
65
65
71
78
84
87
81
96
102
106
121
118
107
139
152
146
115
95
99
114
116
103
105
115
96
63
77
59
33
17
19
23
21
37
51
62
72
74
68
63
64
64
61
53
44
38
39
47
65
69
76
82
85
82
80
72
74
67
58
52
45
50
101
96
67
37
33
32
28
30
44
57
73
88
98
103
105
112
112
111
106
101
101
104
109
112
113
111
107
103
101
111
104
101
100
98
98
98
102
90
90
90
95
126
168
110
47
79
102
91
88
105
114
116
125
118
107
94
79
75
74
65
55
44
34
29
26
30
43
47
50
52
52
51
51
49
47
46
44
43
71
94
94
40
44
51
50
44
48
53
47
43
43
47
46
57
70
76
69
61
57
70
68
67
68
70
68
65
63
60
56
52
48
47
45
38
38
36
32
31
26
21
11
5
2
1
0
0
2
0
3
8
9
13
18
16
19
22
23
18
14
22
30
41
45
50
54
53
39
34
24
21
19
18
16
13
6
4
4
6
15
33
57
92
116
127
137
141
140
137
129
134
137
139
136
130
122
99
88
80
71
67
66
66
68
70
70
70
72
73
73
71
60
59
57
53
49
46
45
50
49
47
48
97
93
88
86
93
95
95
99
99
100
102
112
120
125
133
121
110
107
101
92
86
84
79
76
76
75
73
75
73
72
70
69
67
65
64
66
62
61
65
69
81
88
83
94
100
104
111
120
130
167
156
135
120
122
131
116
104
105
102
102
113
116
65
83
74
44
8
2
24
33
53
53
56
62
67
70
66
60
53
47
43
44
50
55
68
72
75
78
82
83
81
73
69
60
54
54
50
52
98
98
72
45
39
37
32
32
47
61
73
84
94
103
110
111
112
112
110
107
105
106
108
109
108
105
101
99
98
106
100
96
95
92
88
86
84
85
91
93
90
99
118
151
90
23
71
96
88
100
97
95
109
110
109
105
95
77
75
67
58
48
40
34
31
34
44
48
52
53
53
52
51
49
47
44
43
42
53
82
99
54
41
41
44
37
41
46
42
39
40
44
52
62
72
77
69
61
57
70
68
66
67
70
69
67
64
61
57
54
49
48
48
42
43
40
36
33
27
21
11
5
2
1
0
0
2
0
4
9
11
16
21
19
23
25
24
21
18
26
32
35
37
41
41
38
27
24
18
16
13
12
10
7
0
4
3
5
11
26
49
91
109
119
128
131
132
135
134
135
138
139
134
130
122
100
89
80
70
66
65
65
67
74
73
73
72
74
74
72
64
64
63
60
57
54
51
55
53
50
49
87
84
81
78
80
83
84
82
85
88
91
104
112
118
129
120
112
109
100
92
87
78
72
69
69
69
64
66
66
66
66
64
63
59
58
58
56
55
54
52
64
76
77
91
97
97
110
154
174
137
119
105
105
104
95
78
77
68
54
42
37
55
144
141
117
103
106
95
61
27
32
41
52
55
54
51
53
46
44
45
50
58
66
70
77
75
74
76
80
80
78
65
60
50
51
59
58
56
89
100
84
58
51
49
44
43
44
54
65
75
83
93
99
106
110
114
119
120
116
110
106
103
99
94
89
84
80
77
69
66
64
62
61
60
68
75
79
88
90
85
84
99
130
90
60
50
104
71
20
6
29
57
80
88
81
74
72
67
62
56
52
49
48
49
52
55
56
57
59
55
53
47
44
41
39
38
41
52
75
78
49
33
37
30
31
31
32
35
42
48
60
69
77
80
75
70
68
71
69
67
67
71
72
70
68
65
62
60
56
55
56
52
51
48
42
34
27
20
10
4
0
0
0
0
0
4
10
14
18
22
29
27
32
28
24
26
30
37
38
35
33
28
20
13
13
18
19
17
14
12
10
7
0
0
2
3
2
6
21
58
80
87
96
100
105
114
125
134
137
139
135
130
123
104
93
83
73
70
72
75
79
80
78
76
76
76
77
76
72
72
72
72
72
71
67
67
62
56
51
77
76
72
69
64
64
67
71
74
78
84
96
102
107
112
107
105
106
99
92
88
83
78
75
77
76
69
69
65
64
61
59
58
58
57
56
55
55
56
52
51
55
67
80
83
87
113
127
109
101
97
98
103
100
87
73
72
65
60
59
53
37
15
40
110
163
158
131
119
84
41
33
26
28
35
39
38
49
57
64
66
65
65
67
71
74
75
74
71
65
59
52
55
54
54
57
55
57
76
98
93
66
55
51
48
48
45
45
55
71
85
89
89
100
106
107
112
116
113
107
102
97
92
85
75
62
53
47
23
12
6
6
9
10
24
41
44
44
44
55
72
82
134
168
123
110
59
57
136
77
0
0
18
58
75
66
64
59
57
56
55
55
59
61
63
63
62
63
63
51
48
40
36
35
34
34
37
29
35
87
83
54
26
21
15
9
9
19
32
43
54
62
70
80
82
84
85
71
70
69
70
71
69
67
66
63
61
60
59
59
59
56
55
50
43
33
26
18
12
6
1
2
0
0
2
7
12
17
20
25
32
30
27
27
28
34
38
41
40
36
30
20
12
9
17
22
21
19
16
14
11
8
0
0
0
1
0
0
0
8
16
28
47
61
74
87
101
114
118
121
121
119
116
102
91
84
78
79
84
89
94
101
97
92
87
83
79
74
77
75
72
73
76
76
74
68
64
59
55
77
77
74
69
59
60
61
66
69
73
78
90
97
102
103
100
100
104
98
92
90
86
81
79
79
78
71
71
66
63
60
57
56
58
60
57
55
54
55
55
53
57
66
68
72
87
106
95
89
89
88
87
89
88
82
67
65
60
52
52
61
64
30
16
26
71
138
173
157
111
80
60
35
21
21
29
36
56
62
67
69
69
68
67
68
70
70
65
57
50
48
47
51
51
53
56
53
54
67
97
99
75
62
55
46
44
45
41
44
57
73
86
92
99
105
105
107
112
112
106
98
90
83
75
65
52
43
33
13
2
0
0
0
2
12
26
33
35
33
48
75
70
93
106
156
112
122
61
59
29
0
0
22
55
72
64
63
57
57
56
57
57
61
63
66
66
66
65
64
49
46
37
34
33
32
33
32
30
30
71
87
70
41
22
13
2
0
13
29
40
52
58
66
75
80
85
87
72
70
70
73
72
68
64
63
62
60
58
57
59
59
57
56
51
44
35
29
20
13
7
3
3
1
0
2
9
13
17
20
23
30
28
25
28
33
39
44
44
43
34
26
16
11
13
23
25
23
20
17
15
13
9
1
0
0
0
0
0
0
0
0
12
28
42
55
70
85
98
101
105
106
107
107
95
87
81
77
78
84
87
90
100
98
95
94
92
89
85
84
79
75
75
77
79
79
68
65
62
60
89
79
71
71
69
62
58
58
56
58
63
73
79
85
87
87
89
91
90
88
86
83
82
80
79
77
69
66
66
62
59
57
56
57
56
56
55
53
54
57
61
61
53
47
61
81
77
69
81
73
76
77
77
74
71
64
61
59
57
58
62
63
57
57
47
24
10
33
90
170
140
129
105
72
46
39
47
66
64
67
67
64
64
62
64
55
46
42
39
35
34
37
40
43
46
49
50
50
50
77
97
85
61
56
52
37
38
35
34
42
50
66
83
91
101
104
106
110
109
104
88
80
70
56
45
34
22
12
1
0
0
0
3
3
9
7
8
6
16
26
48
36
50
121
86
83
169
105
83
40
0
0
6
12
54
57
50
55
55
48
47
52
61
61
66
66
64
60
56
48
44
30
27
27
29
30
32
29
30
26
58
85
82
54
33
10
0
6
22
34
46
47
48
60
68
77
82
74
75
73
68
67
65
61
61
57
54
53
57
58
58
59
57
54
49
37
32
27
20
15
10
7
7
8
8
16
17
19
22
25
31
33
23
36
48
53
54
52
46
33
20
13
18
26
28
28
29
29
28
25
20
14
6
1
1
0
0
0
0
1
0
3
10
20
28
33
51
66
69
73
77
79
79
77
77
75
71
66
65
69
75
89
90
92
92
94
97
102
112
107
99
92
86
82
82
68
66
64
63
99
90
80
77
68
63
63
56
54
56
61
66
69
73
70
72
75
79
84
86
87
82
81
79
78
76
66
62
63
61
59
59
59
60
59
60
58
56
57
58
59
58
44
49
60
59
44
44
52
58
59
59
59
58
56
55
58
55
55
55
57
59
60
59
54
53
51
35
18
37
103
147
173
155
131
120
99
51
49
55
59
54
53
53
34
29
26
26
26
23
22
29
31
35
38
40
42
42
33
51
94
107
81
71
59
24
20
17
22
31
37
48
58
81
89
92
95
98
100
98
77
69
59
45
35
24
13
6
0
0
0
0
0
0
1
6
0
0
0
21
84
54
75
113
103
49
26
102
153
77
51
44
6
0
42
47
46
37
36
42
47
47
56
57
59
60
58
54
51
43
40
30
28
28
30
30
28
32
39
32
41
64
79
86
56
30
29
25
26
31
36
35
37
49
58
65
70
65
68
66
63
63
62
58
55
53
50
52
56
57
57
62
61
59
55
46
41
39
29
26
22
17
17
15
15
16
14
15
19
24
26
24
31
42
51
54
55
49
40
27
23
23
27
32
34
38
37
35
34
30
26
20
13
7
6
4
2
1
1
2
1
4
10
19
26
28
37
34
38
45
52
61
69
78
73
69
64
57
49
46
47
54
60
71
80
89
95
101
107
109
112
114
111
106
101
80
73
66
63
105
94
83
76
66
63
64
56
55
58
63
65
67
69
67
69
73
76
82
87
89
84
83
81
80
78
67
63
61
59
57
57
59
60
59
61
59
58
58
57
56
55
40
46
53
47
37
46
46
53
55
54
53
52
51
50
55
54
52
52
52
55
58
63
62
54
49
54
55
4
27
94
153
164
153
145
131
71
52
44
48
52
53
45
24
22
21
22
22
19
18
24
26
31
34
37
37
37
38
55
103
119
91
85
83
53
0
11
29
20
7
27
62
70
79
85
88
89
88
87
69
62
54
40
31
21
10
4
0
0
0
0
0
0
0
2
0
1
0
12
82
76
71
109
95
67
19
13
101
156
91
75
15
18
33
42
53
46
40
42
43
40
53
53
54
54
52
48
46
40
38
28
26
26
29
29
35
36
44
44
43
57
76
93
72
45
29
35
36
31
33
32
35
48
55
61
65
61
63
64
61
62
61
57
53
51
50
52
58
59
59
61
61
59
57
49
45
42
34
31
25
22
20
18
16
15
14
13
17
22
23
21
37
46
53
54
55
46
36
23
25
28
32
33
38
41
40
39
37
34
29
23
17
10
9
7
5
3
3
3
4
6
14
22
28
29
34
39
41
45
51
59
66
76
73
70
63
54
45
37
35
38
45
56
67
79
88
97
111
111
111
110
110
109
108
88
79
69
64
117
100
81
71
66
64
63
65
63
64
67
69
69
72
72
77
82
85
88
92
95
96
94
92
92
87
72
66
64
60
55
52
53
59
61
64
63
59
57
56
49
46
48
42
40
37
35
38
29
39
39
39
37
35
32
30
39
41
43
45
46
47
52
58
58
62
66
59
47
69
64
56
51
70
118
160
165
128
104
78
51
22
11
18
16
15
15
16
14
10
9
22
25
29
33
36
36
36
26
83
147
167
166
181
196
185
116
57
8
0
24
41
26
52
64
74
78
74
71
71
53
48
42
31
25
17
7
6
0
0
0
0
0
0
1
0
0
4
0
0
29
72
59
87
87
59
68
47
2
7
128
84
73
36
31
56
60
41
30
32
42
50
48
46
42
41
39
34
31
36
30
19
20
24
29
32
44
46
48
64
60
56
63
84
94
75
19
36
45
34
31
31
35
45
49
50
50
51
54
55
55
57
56
53
50
50
51
55
62
63
64
59
59
58
56
50
46
44
38
35
30
26
21
17
14
11
10
11
11
14
21
24
44
52
57
56
56
43
30
23
28
32
32
35
42
43
42
41
39
36
33
29
25
22
21
18
16
14
14
14
15
15
20
30
38
42
46
45
46
49
53
58
65
73
70
67
61
51
42
34
32
34
37
43
50
59
70
81
94
97
102
105
106
103
99
105
103
102
102
128
105
80
71
75
71
67
69
66
64
66
69
72
77
70
77
87
92
96
101
104
104
103
102
99
96
79
73
74
67
59
53
53
63
67
64
62
60
57
53
43
40
54
46
48
52
45
42
45
40
40
39
37
34
28
21
16
23
31
40
44
48
53
47
60
65
58
60
72
75
88
70
71
80
60
35
66
169
163
159
144
103
56
23
19
19
20
21
20
18
21
25
29
33
36
39
40
40
139
187
185
143
138
160
168
169
91
126
154
113
50
27
28
31
36
44
48
47
49
55
39
35
32
24
18
13
3
11
3
0
0
0
0
0
0
10
4
0
2
0
0
7
70
70
72
78
84
66
15
24
66
164
91
64
42
39
22
22
32
35
36
40
45
42
35
32
29
24
20
23
19
12
16
27
38
46
52
66
70
79
79
73
78
78
90
99
49
20
22
36
28
30
32
39
40
38
36
39
42
45
46
49
48
44
45
45
48
53
62
62
63
62
61
60
57
51
46
45
41
38
34
31
22
18
14
8
10
12
8
6
22
33
47
53
56
56
57
42
28
33
35
35
34
38
48
44
40
38
37
35
32
31
30
34
34
32
30
30
30
31
28
24
26
34
42
46
51
51
52
53
55
57
58
59
58
55
50
43
36
33
34
39
43
49
54
57
60
61
64
62
61
62
64
69
75
85
92
101
104
143
105
75
70
70
73
74
75
73
73
74
70
72
77
73
78
84
90
97
99
101
105
110
111
106
97
76
68
64
57
51
46
43
55
64
62
65
66
63
58
49
48
46
43
43
45
44
41
41
35
35
35
31
26
23
20
22
20
21
22
30
37
51
50
62
69
69
67
71
78
88
87
82
77
74
74
67
112
151
169
151
138
127
83
0
18
30
29
28
37
41
21
37
29
26
37
27
35
168
166
158
126
102
128
160
157
130
151
183
185
149
114
104
95
64
37
30
36
39
36
18
6
3
3
9
15
16
6
3
0
0
0
0
0
4
0
7
5
0
20
61
94
92
78
73
83
82
61
8
9
0
91
157
106
77
65
39
32
13
10
26
27
35
34
27
24
22
19
16
12
11
11
21
28
36
47
57
64
69
79
84
87
87
46
65
95
86
45
25
24
30
29
33
48
34
28
35
41
49
49
43
46
43
41
37
40
47
51
55
58
59
58
57
56
55
51
47
43
44
40
35
30
24
20
18
15
16
14
13
15
26
42
54
61
63
62
57
24
22
24
24
25
31
36
37
36
38
35
32
29
27
27
29
30
32
34
35
35
36
40
42
42
37
38
46
50
52
57
57
53
47
46
47
46
44
43
40
36
33
32
33
44
43
43
45
48
52
53
51
49
43
37
33
37
47
74
80
88
91
115
93
80
80
73
75
76
72
71
72
74
74
78
84
83
88
94
100
105
108
110
111
116
117
112
105
83
74
72
64
58
54
50
51
55
62
63
64
62
58
50
49
45
44
44
46
46
42
44
42
40
38
36
35
35
40
48
48
50
52
55
59
65
74
78
80
80
81
86
84
82
84
84
81
79
74
66
41
49
77
123
157
162
148
106
62
27
24
28
21
16
25
16
29
36
22
37
93
156
162
143
122
123
123
128
149
170
174
147
132
143
143
128
120
119
104
78
47
16
0
13
23
18
11
12
9
0
6
2
0
0
0
0
0
0
1
0
0
0
0
0
0
69
99
88
72
78
93
49
25
42
40
47
123
150
96
69
27
22
27
14
31
30
30
26
25
20
14
10
7
6
7
17
25
34
45
57
63
70
79
84
86
86
65
69
78
93
78
48
20
31
25
19
22
24
23
22
32
38
35
31
35
32
33
36
42
47
52
53
52
52
59
57
57
55
50
46
42
40
37
31
27
21
17
15
12
14
11
11
14
26
42
56
62
63
60
53
19
16
13
15
18
22
26
32
31
31
30
27
24
23
22
23
29
32
34
36
37
39
44
44
46
42
44
54
60
63
58
58
54
46
42
41
33
34
36
37
38
37
37
37
36
34
31
29
29
28
27
24
25
24
20
15
12
12
20
29
42
52
89
83
86
90
80
83
84
82
79
77
77
76
80
86
89
94
100
105
109
112
113
113
116
115
112
105
84
73
71
65
60
58
57
54
56
60
62
65
64
59
52
52
49
45
46
47
47
42
43
45
45
45
46
48
54
67
80
82
86
88
88
86
82
78
74
73
76
79
80
76
70
72
70
66
63
65
64
57
60
59
52
59
93
140
165
161
131
77
31
13
10
18
25
12
10
59
127
174
175
124
134
175
158
122
116
121
156
162
173
162
136
126
134
107
90
89
99
97
78
59
0
0
14
15
2
0
0
4
1
0
0
0
0
0
1
0
2
6
2
9
28
80
57
51
54
70
76
69
49
18
57
40
49
57
64
142
136
50
55
34
47
15
26
25
26
24
17
9
4
5
4
3
13
20
28
41
50
56
65
75
79
80
79
74
70
59
66
80
76
61
35
26
22
8
15
27
28
28
32
29
28
32
30
35
42
46
51
54
52
51
51
57
57
55
54
48
44
40
35
32
28
25
20
18
15
17
20
17
17
20
32
49
57
61
61
57
48
12
11
14
15
15
15
15
16
18
19
18
17
15
14
13
13
21
25
28
32
34
37
45
45
48
47
52
63
68
71
61
61
54
45
37
34
25
33
36
38
38
36
34
31
30
28
24
23
22
22
21
24
23
22
20
17
16
17
7
8
8
7
91
88
91
92
80
82
82
85
82
80
80
78
83
89
90
94
102
106
111
113
114
112
114
113
109
104
83
70
70
64
58
57
58
55
56
60
63
65
64
61
55
54
50
48
47
47
46
40
41
45
45
46
49
54
63
78
91
93
96
98
97
94
87
81
76
72
74
74
71
69
62
64
64
60
60
64
67
58
59
65
66
50
43
78
170
171
163
135
91
44
7
11
4
1
48
130
178
189
147
89
100
139
114
94
110
116
148
154
156
151
141
126
114
118
98
82
78
82
87
91
20
0
0
0
0
0
3
5
1
0
0
0
0
0
3
0
0
2
0
4
31
34
32
34
50
90
123
131
88
52
77
36
54
36
1
67
153
65
63
38
41
25
26
23
24
23
16
8
3
5
4
2
12
18
27
37
45
52
61
71
75
75
73
77
71
57
51
69
81
84
41
23
15
7
13
30
35
29
29
26
28
31
30
36
43
47
50
53
52
52
52
57
56
54
53
47
42
37
33
31
27
24
22
21
19
22
24
21
20
23
35
51
57
61
59
55
46
12
10
12
13
14
11
10
10
11
13
12
11
10
10
9
9
16
19
23
26
30
34
42
45
47
47
52
64
68
70
63
61
53
43
36
33
26
33
35
36
36
34
31
27
28
25
24
23
23
23
22
19
18
16
13
12
13
14
9
7
4
2
129
122
117
108
88
88
85
85
82
80
80
82
88
96
93
97
103
108
112
114
117
113
114
113
109
105
82
69
72
63
55
53
55
50
51
60
63
66
66
63
58
57
53
50
48
47
45
36
37
42
44
49
54
62
71
87
96
98
101
101
100
96
91
80
74
68
64
56
46
43
31
38
44
47
49
53
56
56
66
68
58
54
60
54
36
103
153
159
163
168
131
21
58
133
177
171
172
162
67
86
100
88
73
84
106
115
132
132
132
132
130
123
115
112
112
99
82
71
67
66
93
100
57
7
0
3
2
3
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
14
16
9
13
22
16
27
95
51
0
13
1
10
11
135
72
71
47
40
30
25
21
19
15
9
5
7
5
2
11
16
23
34
39
46
55
65
69
69
67
86
77
63
49
56
77
97
97
46
21
18
17
26
27
22
21
20
22
24
24
33
42
43
45
45
47
50
52
55
54
52
51
45
39
35
30
28
26
24
27
26
25
25
27
23
21
22
33
50
57
60
59
54
46
13
12
3
5
5
3
1
2
6
5
5
4
4
4
3
3
5
8
13
18
21
27
36
42
45
45
51
62
67
67
65
62
52
41
35
35
33
31
32
33
32
30
28
27
26
24
21
20
20
20
19
22
21
20
20
18
16
13
8
7
5
4
130
129
129
124
98
90
89
84
80
77
79
83
88
94
101
105
110
113
119
120
117
117
115
112
107
101
79
70
67
60
55
53
51
47
50
53
58
62
65
65
58
55
53
51
50
48
42
38
42
40
41
47
56
67
78
91
98
100
99
92
88
83
72
60
54
46
39
33
27
15
7
7
13
22
28
32
39
53
55
57
55
52
50
48
43
36
26
62
121
170
188
148
159
175
173
158
146
124
63
77
99
93
69
74
96
100
115
120
117
117
119
114
106
89
101
109
98
79
66
55
51
73
100
101
75
33
0
0
6
5
5
9
11
7
2
0
2
2
0
0
1
0
0
0
2
4
9
11
13
12
54
72
28
1
7
16
5
43
154
123
73
62
36
30
22
19
13
5
18
8
8
8
8
15
22
29
37
40
48
58
66
72
78
91
89
86
80
76
78
83
98
86
60
22
25
27
23
31
29
23
20
24
30
34
38
42
46
46
51
51
48
51
49
47
45
39
34
31
27
26
25
24
25
25
26
23
24
25
26
25
36
48
53
61
62
60
50
18
18
12
12
9
5
2
2
3
5
8
8
6
6
6
2
2
5
8
12
18
25
34
39
40
44
51
58
63
64
61
58
53
46
39
35
35
33
34
36
37
37
37
34
24
19
17
19
20
20
20
24
21
19
17
17
14
10
4
5
4
1
130
128
127
125
105
95
90
82
78
76
77
82
87
92
102
107
113
117
120
120
116
117
115
109
105
100
78
70
65
59
53
52
49
43
46
53
58
63
65
67
61
58
53
54
54
52
44
38
43
38
44
54
63
70
78
92
96
96
91
83
75
70
59
52
47
39
31
27
21
11
1
1
3
10
15
22
32
49
51
54
53
53
53
55
55
57
33
21
40
95
155
157
167
174
164
151
139
107
58
74
98
96
75
74
88
89
107
112
109
107
107
106
101
87
94
98
91
81
71
57
55
59
76
93
97
73
41
9
0
3
11
13
13
15
5
1
3
2
0
0
3
0
0
1
3
5
5
6
4
12
18
67
56
4
9
13
23
13
47
154
116
54
61
39
0
11
26
1
8
7
8
8
9
14
23
28
37
40
44
62
71
78
82
98
99
100
98
92
85
81
89
102
87
25
30
34
25
32
28
22
18
23
30
34
37
45
49
49
50
50
50
50
48
46
44
38
34
31
26
25
25
24
24
25
25
24
25
25
26
25
34
47
55
62
64
62
53
20
19
16
15
13
9
6
7
10
11
15
16
15
14
13
6
3
5
8
14
21
28
39
41
43
46
51
57
61
62
59
57
52
47
41
37
36
33
35
37
39
40
40
37
26
21
17
18
20
20
22
21
20
19
19
18
15
12
5
6
6
3
124
121
121
123
106
91
82
81
74
69
69
74
81
88
92
100
107
112
119
119
115
113
110
105
100
94
75
68
63
57
51
49
48
43
45
52
56
61
64
66
65
65
62
57
54
56
58
50
46
52
61
73
80
83
84
89
87
84
76
64
54
49
42
30
29
27
26
23
16
0
3
2
5
9
11
13
17
32
40
49
57
61
62
63
69
55
41
48
30
18
68
154
159
153
143
136
119
80
56
73
92
96
86
85
92
98
94
99
96
94
93
94
95
82
78
71
68
74
76
68
66
68
58
50
62
77
80
93
12
0
0
1
9
15
12
1
2
4
3
3
5
0
5
6
5
4
1
0
1
0
0
42
93
56
18
9
12
22
35
4
80
168
74
40
37
8
7
6
16
4
6
7
7
11
19
24
33
34
42
66
78
85
89
96
105
113
122
118
105
93
85
95
98
55
37
39
49
40
37
31
28
30
35
38
38
46
52
50
46
47
48
48
45
42
39
36
32
30
27
26
25
25
25
25
25
31
30
31
30
28
37
47
56
64
67
67
63
30
27
23
22
20
17
14
19
22
29
34
38
38
38
36
28
13
15
16
19
24
31
41
44
46
49
51
53
55
60
57
56
53
48
42
38
37
37
38
40
42
42
39
34
29
24
19
20
22
22
25
19
19
19
17
15
13
13
8
11
12
7
133
134
137
137
112
95
85
81
70
60
55
60
70
81
89
96
101
104
113
114
112
109
106
101
95
89
73
66
55
49
45
44
43
42
44
48
53
57
61
64
66
66
65
63
64
67
66
69
73
82
85
91
95
96
93
86
80
75
63
47
36
31
26
26
23
20
19
19
14
2
1
1
4
7
8
8
11
20
26
35
44
50
57
61
60
71
64
54
36
53
119
156
150
139
132
124
91
56
57
74
87
94
93
90
94
104
85
85
86
87
87
86
87
72
70
70
62
58
64
68
59
58
60
55
57
64
65
64
83
50
14
0
4
8
13
0
0
1
2
3
5
9
9
7
5
2
0
0
0
0
5
15
67
102
61
18
0
0
6
20
11
5
134
131
44
52
32
21
0
4
5
4
3
5
10
15
17
23
34
56
67
78
85
91
105
118
126
128
122
111
96
81
80
90
71
55
54
55
55
56
55
50
47
46
47
50
52
51
52
51
47
47
43
39
36
33
30
29
30
28
28
27
27
27
28
31
32
31
30
25
34
44
55
62
68
71
71
40
37
33
32
29
27
25
33
36
47
54
60
64
64
64
53
39
37
33
33
33
35
42
44
47
49
50
50
52
60
58
57
55
50
43
38
34
31
34
37
39
39
35
31
29
24
21
24
26
26
27
27
26
22
18
14
15
19
35
41
46
44
142
143
146
146
117
100
91
81
70
58
51
56
67
78
94
98
102
103
110
111
111
108
105
99
94
89
72
66
51
45
41
41
41
40
43
47
50
55
60
63
66
66
62
66
71
71
65
73
85
90
91
95
99
100
96
84
79
74
60
43
32
25
18
17
13
8
5
4
3
0
4
4
5
8
10
11
16
19
23
28
36
43
52
60
58
54
47
56
57
74
132
148
140
130
127
118
80
50
57
73
87
94
95
89
91
100
82
80
84
86
85
84
85
68
69
74
64
54
58
66
54
65
73
64
53
52
55
57
76
87
54
5
0
9
13
0
0
1
2
4
5
11
9
6
4
2
0
0
0
6
2
10
52
107
79
25
4
28
12
12
9
6
6
148
67
55
40
50
20
3
5
3
2
4
8
12
11
19
31
49
61
73
82
87
102
115
120
123
120
109
99
83
78
97
86
63
48
50
54
58
62
62
59
56
51
53
54
53
55
53
48
46
42
38
35
32
30
29
31
29
28
27
27
27
29
31
30
30
28
24
31
42
55
61
68
72
73
44
39
37
36
34
30
29
37
41
52
59
66
70
72
71
60
48
46
41
38
36
38
43
43
47
49
50
50
52
61
59
58
55
50
43
38
32
26
30
34
37
38
35
31
28
24
23
26
27
26
27
22
22
21
18
17
22
30
54
61
65
62
141
137
128
119
101
104
111
91
70
58
56
57
66
72
88
96
104
107
110
108
106
103
99
95
92
89
78
73
65
57
50
46
44
38
39
40
46
52
59
63
66
67
63
64
68
76
79
89
95
101
104
109
108
103
105
91
81
68
55
44
31
23
7
2
1
1
0
0
0
0
2
4
6
8
10
13
17
20
21
23
28
35
45
52
63
67
74
71
62
99
138
136
159
140
124
102
55
32
54
70
84
91
93
89
87
92
71
76
88
81
72
72
70
73
62
61
65
58
56
72
72
68
71
74
62
50
51
51
64
73
74
46
11
0
4
1
1
2
3
1
0
2
1
1
0
0
0
0
0
5
6
1
11
66
92
61
24
4
4
5
7
2
8
0
135
94
63
42
82
77
50
0
0
3
7
14
15
19
26
44
51
62
72
74
82
89
95
95
93
91
90
88
84
85
91
82
68
58
66
68
72
75
70
78
66
64
59
56
49
47
44
40
39
36
33
32
32
32
33
34
33
33
30
28
26
32
30
31
34
32
32
36
49
59
67
68
69
59
46
43
42
37
35
38
41
51
63
71
80
84
86
84
71
66
60
53
49
43
37
36
38
40
42
44
45
48
55
55
53
51
48
42
34
32
31
32
33
34
32
32
31
29
29
31
30
31
29
28
23
28
24
21
26
34
45
72
80
77
68
126
127
128
126
106
100
99
108
78
60
61
64
69
72
87
96
104
108
110
110
107
105
103
97
93
89
80
75
71
64
57
55
52
45
45
46
51
55
59
62
63
63
60
62
67
76
81
94
100
106
110
115
113
104
101
79
67
54
42
35
26
22
7
1
1
0
0
0
0
1
4
6
8
10
12
15
20
26
27
27
29
31
37
43
52
67
68
64
103
140
121
141
157
138
116
82
40
30
54
70
84
91
93
89
87
92
71
73
81
73
64
66
65
71
60
59
64
56
55
71
79
76
78
81
69
52
47
42
56
62
79
82
47
7
2
0
0
2
4
2
0
2
1
1
0
0
0
0
0
7
5
15
3
28
90
108
51
2
1
4
7
3
38
113
150
172
108
105
52
33
68
34
5
0
4
6
12
15
23
36
42
51
60
64
70
75
78
81
81
81
87
86
81
77
87
92
93
69
70
73
79
82
80
83
76
72
66
59
47
42
38
35
34
32
30
32
33
33
34
35
34
34
33
30
29
31
30
31
35
33
31
35
47
56
63
63
66
64
55
45
43
38
35
37
42
53
70
79
89
94
97
96
84
78
71
62
54
45
37
32
34
35
38
39
40
43
50
51
50
49
48
41
33
30
29
30
31
32
31
31
30
30
30
32
32
33
31
31
31
40
45
48
56
62
70
81
87
79
67
244
243
234
226
169
143
147
146
148
147
148
149
147
145
148
148
148
150
152
152
153
153
154
157
158
160
159
158
165
164
162
163
165
172
173
178
182
185
190
193
200
201
209
211
213
216
218
219
219
219
217
219
218
219
219
217
212
212
211
210
206
203
199
196
192
186
185
185
182
176
180
178
176
172
167
165
162
157
155
151
147
147
148
150
146
146
147
148
148
149
150
151
152
153
152
153
152
151
154
153
151
150
150
150
150
151
150
151
152
153
153
154
154
151
152
151
153
154
153
154
158
155
155
154
155
156
157
157
156
155
154
154
155
155
157
157
155
152
151
152
153
157
156
155
153
152
150
148
145
144
136
133
131
127
124
129
128
123
119
118
115
114
112
111
107
107
105
103
102
102
101
101
99
98
97
97
96
95
96
92
90
89
88
97
97
94
86
83
83
82
87
88
91
83
81
82
86
97
103
109
109
110
115
117
118
121
120
120
120
115
110
115
113
114
116
117
115
114
114
116
118
118
115
114
112
111
112
112
114
115
115
112
113
118
122
117
111
108
106
113
109
104
99
100
106
109
103
105
107
107
108
109
106
102
101
98
92
90
86
83
82
79
85
99
112
117
114
122
124
120
110
100
95
93
95
92
96
103
110
116
121
109
111
112
113
115
114
113
110
110
107
102
100
103
109
107
103
95
88
239
236
225
210
154
137
141
144
144
144
144
146
145
144
148
148
149
151
155
155
156
160
160
163
163
164
161
160
165
165
165
166
169
175
177
180
182
187
191
194
198
200
208
208
211
214
214
214
215
215
214
215
216
216
217
214
208
208
207
204
202
199
194
188
185
179
178
178
175
167
168
167
165
162
159
159
157
154
151
148
144
145
145
147
145
146
147
148
147
148
149
149
150
151
149
149
148
147
152
151
150
149
148
149
150
150
151
152
153
153
154
155
155
150
151
152
151
152
151
151
149
149
148
150
152
152
153
150
152
152
152
153
153
153
150
153
152
151
151
153
155
158
157
156
154
152
150
148
141
140
132
129
128
123
120
124
123
120
118
116
115
114
111
110
108
106
104
102
101
99
99
98
96
95
94
94
92
91
92
89
88
89
88
95
93
92
84
82
82
80
77
77
78
74
73
76
78
89
92
96
97
104
109
113
118
121
124
122
124
119
115
113
113
113
114
116
116
115
112
112
112
111
108
108
108
107
106
107
108
107
105
104
101
108
114
111
108
106
104
110
108
104
99
97
102
105
106
107
109
109
111
110
109
102
101
97
94
90
88
85
87
83
82
85
91
99
116
120
122
123
119
114
107
87
93
91
92
99
106
107
110
112
112
114
115
116
116
115
112
110
107
101
97
97
104
103
102
97
93
240
233
224
202
141
135
142
140
141
139
139
141
142
142
146
147
148
152
158
159
161
167
167
169
169
170
167
165
167
167
167
168
171
178
181
185
188
193
196
196
201
202
206
207
209
210
212
211
209
211
210
209
210
208
207
205
202
201
201
200
198
194
190
183
181
178
177
175
172
162
158
157
156
157
155
153
152
147
145
145
143
142
142
143
145
145
146
147
148
150
148
149
148
147
146
146
143
143
148
148
147
146
146
147
148
149
151
151
152
153
154
154
155
149
149
149
149
147
148
148
144
145
145
147
149
151
153
156
155
154
153
152
151
151
153
155
155
155
156
159
162
159
158
156
153
151
149
147
142
141
133
130
128
124
121
120
119
117
116
114
115
114
110
109
107
104
102
102
101
99
98
94
92
91
90
89
89
89
88
88
87
86
86
90
90
89
84
81
81
79
77
77
78
78
77
78
79
84
84
86
87
98
105
108
111
116
120
120
121
122
121
109
108
109
109
114
114
113
109
109
107
104
102
100
101
104
104
104
102
103
99
99
98
100
104
108
111
111
112
109
109
107
104
100
100
103
108
109
111
111
112
111
109
101
100
97
93
91
89
88
84
82
84
84
84
84
101
117
119
117
117
118
116
100
89
85
85
91
95
97
101
116
116
116
118
117
116
114
108
107
104
98
93
91
95
100
102
101
97
236
229
221
197
135
132
138
139
139
137
138
141
140
141
144
145
147
152
159
161
163
168
168
171
171
172
170
169
169
169
170
170
173
182
182
190
193
195
198
199
203
205
205
207
209
211
211
210
209
210
208
208
206
204
201
198
198
198
197
196
193
190
186
183
179
176
176
175
170
159
157
156
155
153
152
150
150
144
145
143
142
141
143
143
146
147
148
147
148
149
150
149
148
146
145
144
144
144
147
146
145
145
145
146
147
148
150
151
151
152
153
153
154
148
148
148
148
147
145
145
144
142
143
145
147
149
150
154
153
152
151
150
150
149
153
155
156
155
157
160
162
159
157
155
152
150
147
146
142
141
133
130
128
124
121
121
121
117
115
115
113
112
109
110
106
104
103
102
101
98
97
94
92
90
88
87
88
87
87
87
86
85
85
88
89
89
84
81
79
80
75
75
75
76
77
77
74
82
82
82
85
96
100
103
103
110
115
116
119
120
120
106
105
106
108
111
112
111
107
107
105
104
100
97
96
102
102
102
101
101
100
98
98
97
102
107
112
116
119
110
111
112
107
103
101
103
106
107
109
111
111
111
108
101
98
97
93
91
89
88
85
84
85
86
85
82
90
109
112
115
116
116
117
111
95
90
89
91
93
95
100
115
115
116
115
116
114
111
103
103
101
96
91
88
91
99
103
103
100
239
232
226
200
136
139
141
140
138
136
136
138
138
139
142
143
145
151
159
161
164
168
169
172
172
175
173
173
176
176
176
178
182
188
191
194
197
201
203
203
206
207
207
208
210
212
212
211
209
208
205
204
200
198
193
189
188
188
187
186
184
181
177
178
176
172
171
171
167
155
151
150
149
148
146
144
143
144
143
142
143
143
142
142
146
146
147
148
150
149
150
152
148
146
145
144
143
143
145
144
144
143
144
145
147
147
148
149
150
151
151
152
152
147
147
146
145
145
144
144
142
141
141
142
143
144
145
145
147
149
151
153
152
153
154
154
154
153
154
157
159
158
156
154
151
148
145
143
138
137
129
126
124
120
117
124
122
119
116
113
111
112
110
109
107
105
102
101
100
99
98
94
91
89
89
88
86
88
88
86
88
87
87
88
89
88
84
82
82
83
81
81
81
83
83
79
77
79
78
80
82
92
95
95
95
104
110
112
115
117
119
104
103
102
105
107
106
106
104
105
106
104
97
93
91
95
95
95
96
97
98
98
99
95
96
105
110
120
126
114
117
118
115
108
102
103
103
104
106
107
108
108
107
98
97
96
95
92
92
91
95
91
88
86
84
81
82
93
102
114
119
122
124
123
125
115
108
103
99
101
105
114
114
115
113
112
110
106
95
95
95
93
88
85
87
96
102
107
106
240
232
231
208
135
134
136
138
140
140
138
137
135
137
143
145
147
150
156
160
164
168
169
172
174
176
176
176
179
180
179
182
186
195
195
201
203
203
206
208
211
209
212
213
212
212
212
208
207
204
201
196
191
189
187
180
177
177
178
179
180
179
174
172
170
167
165
164
160
153
149
146
143
141
140
142
142
142
143
142
141
143
144
145
148
148
149
150
149
150
151
152
151
150
147
146
144
144
144
143
143
142
143
144
145
146
146
147
147
147
148
148
148
146
146
145
144
143
143
142
146
146
146
146
147
147
147
150
149
149
149
151
153
152
155
154
153
153
154
155
155
154
152
151
148
146
143
142
136
136
129
127
126
122
119
123
121
117
116
116
113
111
111
109
105
105
104
102
99
98
97
95
93
91
90
91
89
89
90
88
86
86
85
84
84
86
85
85
84
84
82
82
82
81
83
82
82
86
84
85
84
89
89
90
94
95
98
101
108
111
114
102
104
106
108
106
105
104
104
103
102
101
98
97
96
97
95
94
94
96
96
95
98
100
100
101
108
124
122
119
119
119
115
112
103
100
103
104
105
106
106
106
106
101
99
100
98
97
96
97
93
93
92
92
89
87
83
101
102
105
109
119
126
132
129
132
130
127
121
119
120
117
117
114
111
105
100
96
89
89
88
89
90
91
92
93
103
111
112
241
236
234
209
134
135
139
141
141
142
139
138
136
137
143
145
146
149
154
158
161
168
169
172
174
177
176
176
178
179
181
185
189
195
197
202
202
204
207
208
208
208
213
213
213
213
211
206
204
203
199
195
191
189
184
179
173
173
173
177
178
177
173
174
170
165
162
160
157
152
148
144
139
137
138
139
140
143
142
142
143
143
144
145
149
149
149
150
150
149
149
151
151
150
149
146
144
144
143
143
142
142
142
143
144
145
146
146
146
147
147
148
148
144
144
143
142
141
143
142
145
146
147
147
148
149
149
151
149
149
150
150
151
150
152
151
150
151
149
150
150
151
150
149
146
145
142
140
135
135
128
126
125
122
119
123
121
118
117
115
112
112
111
109
106
105
104
102
100
100
100
96
94
92
93
92
90
91
91
88
89
88
88
86
86
86
85
85
85
85
82
82
82
83
83
83
82
85
85
83
84
86
87
87
91
92
94
96
103
107
111
103
105
106
108
108
105
105
104
104
103
103
102
101
100
100
97
95
94
95
97
97
98
101
102
101
105
122
126
120
121
119
117
114
103
101
102
103
104
104
104
105
103
101
100
100
98
97
98
98
96
96
95
92
92
89
84
97
96
97
101
110
117
129
131
134
136
136
133
129
127
118
116
114
112
105
99
94
86
85
87
88
90
92
96
95
103
110
112
242
238
233
204
131
137
144
143
146
147
148
144
143
142
145
147
149
151
153
154
157
166
167
170
172
174
174
174
176
179
185
188
194
200
199
199
201
203
203
205
207
207
219
219
217
216
214
208
205
205
203
199
196
192
190
184
171
170
169
170
171
173
169
174
169
162
156
152
151
147
149
145
139
136
136
137
140
140
142
141
141
141
143
145
149
149
149
148
148
148
149
150
150
147
147
146
145
145
142
142
142
142
142
142
141
141
143
143
144
144
145
145
145
144
143
143
144
143
142
143
145
146
147
150
151
151
152
149
150
149
150
149
148
148
145
144
143
143
144
144
144
146
145
144
142
140
138
137
133
132
126
125
124
121
119
125
122
117
115
113
112
109
109
108
105
105
106
104
102
103
102
99
99
97
95
94
94
93
92
92
91
90
89
87
87
87
86
86
86
86
83
83
83
82
82
81
81
86
86
84
85
85
86
85
85
87
88
89
95
100
104
104
106
108
111
111
108
106
103
101
102
103
103
102
101
105
102
98
97
97
98
98
95
97
99
98
98
113
123
120
120
119
118
115
108
104
100
101
102
102
102
101
98
102
102
100
100
100
99
100
99
99
98
96
94
92
92
84
84
85
87
92
99
115
123
127
131
136
142
140
133
118
114
109
105
101
96
89
84
85
87
91
95
100
102
100
103
108
112
238
231
223
190
133
144
147
150
152
154
155
153
151
149
150
152
154
156
155
154
156
161
162
165
167
169
169
169
172
177
182
190
196
198
198
202
204
205
209
212
215
215
223
224
224
222
221
216
213
211
207
203
199
197
193
188
173
171
169
170
170
169
167
169
165
160
154
152
149
144
143
140
136
134
134
136
135
138
138
137
137
139
141
142
143
144
144
145
146
147
147
146
146
146
143
143
143
142
140
141
141
142
141
140
139
138
139
140
140
140
141
141
141
141
141
142
141
140
141
141
144
146
146
148
148
148
148
148
149
150
150
150
148
145
142
141
141
140
140
139
139
141
140
140
138
137
135
134
130
130
125
124
123
120
118
126
123
117
117
115
111
109
108
106
106
106
106
104
102
105
104
103
101
99
97
98
95
94
96
93
92
91
91
89
89
88
88
86
86
86
83
83
82
82
81
81
81
81
82
83
85
86
87
85
89
90
89
90
93
98
102
109
112
112
114
111
107
105
105
104
105
106
104
101
100
108
106
102
102
102
97
96
96
94
94
96
98
103
111
119
118
119
119
116
108
106
102
102
101
100
97
96
93
103
102
101
100
99
100
101
98
96
95
96
97
97
101
67
74
79
84
87
91
102
111
115
123
128
133
135
136
125
117
110
104
101
98
92
85
88
92
95
99
105
107
105
103
105
111
236
228
219
186
134
145
147
151
153
155
157
156
153
151
151
153
155
157
155
155
156
159
160
163
165
168
167
167
171
174
182
190
196
198
198
199
199
203
207
210
214
215
224
225
225
225
223
218
217
211
206
203
198
196
194
187
175
173
170
170
170
169
167
167
164
159
154
153
149
143
139
137
135
133
133
134
133
137
136
136
136
138
140
142
141
142
143
144
145
146
147
145
145
144
142
142
142
142
140
140
141
142
141
140
138
137
138
138
139
139
140
140
140
139
139
140
139
139
139
139
144
145
145
147
147
147
147
148
149
151
151
149
148
145
142
140
141
140
141
139
140
139
139
139
137
136
134
133
130
130
125
123
123
120
118
127
124
118
118
115
112
109
108
106
106
106
106
104
102
105
105
103
101
99
98
99
95
95
96
93
92
91
92
89
89
89
88
86
86
86
83
83
83
80
79
79
79
80
81
82
83
86
87
85
90
91
90
90
95
101
104
112
113
113
115
111
108
105
106
106
107
107
105
102
101
108
107
104
104
104
97
95
96
92
93
97
97
102
109
117
118
119
117
117
110
108
101
100
99
99
97
96
93
103
103
100
99
99
99
100
98
97
96
95
97
100
103
66
72
81
86
87
89
97
109
114
120
125
130
135
139
128
121
110
104
101
98
95
87
90
93
96
102
106
109
106
102
104
110
235
224
201
170
136
145
148
152
156
158
160
165
166
166
170
170
170
170
166
164
161
157
159
159
158
157
158
161
171
175
181
186
190
193
192
200
203
208
213
217
217
217
220
219
219
220
222
216
214
206
203
198
194
189
188
185
180
179
174
170
168
167
164
159
159
156
153
149
144
141
135
136
136
136
135
133
132
131
131
132
132
133
134
135
138
139
139
139
138
138
138
136
136
136
136
136
136
136
138
138
138
137
137
136
136
136
135
136
136
137
137
137
137
138
138
138
138
138
138
139
139
138
138
139
140
141
142
143
147
149
151
151
151
151
150
151
151
148
147
146
145
143
141
141
139
137
138
137
136
134
130
131
130
127
125
123
121
117
115
114
109
108
106
107
106
107
106
105
105
108
108
106
103
101
97
96
93
95
96
96
95
96
95
83
83
84
87
87
87
88
88
87
86
83
83
80
78
82
84
86
88
87
87
85
89
89
90
94
91
95
101
112
114
114
116
115
114
113
116
116
117
117
120
119
120
115
112
109
106
103
94
90
89
89
91
94
99
110
113
114
116
118
118
114
112
112
111
101
97
94
86
90
88
90
89
87
89
91
94
94
97
94
93
91
89
87
99
72
73
75
69
61
63
66
81
85
100
118
124
131
136
133
109
125
101
97
113
81
90
95
99
104
109
111
116
114
113
112
112
215
194
172
151
141
151
151
156
158
162
167
172
176
177
181
180
180
178
173
171
167
163
162
161
159
157
156
156
163
170
179
183
183
186
190
195
198
203
208
211
211
210
212
214
216
217
217
207
204
202
199
195
189
185
185
188
183
179
175
170
167
164
156
151
149
148
145
140
139
134
132
132
133
133
132
131
130
128
128
128
129
129
130
130
133
133
133
133
134
134
133
132
131
132
132
134
133
134
137
137
137
137
137
137
137
137
135
136
136
136
137
137
137
138
138
137
137
137
137
136
135
135
136
137
139
141
142
144
146
148
149
148
148
148
149
151
152
150
149
149
148
139
138
136
135
133
133
134
129
129
126
127
125
122
120
126
124
120
118
114
111
108
108
108
108
107
107
106
106
110
109
106
102
99
98
97
92
92
93
95
94
95
94
83
83
84
86
86
85
86
85
88
88
83
80
81
83
92
95
103
111
110
102
95
96
91
89
92
95
97
97
109
108
111
113
115
114
115
119
122
122
124
126
127
126
110
108
106
107
105
97
92
97
93
94
95
100
108
110
108
108
110
111
111
109
111
103
106
102
97
99
91
85
89
86
85
88
89
92
92
93
91
90
89
87
87
100
71
68
68
60
47
45
54
61
66
77
94
105
116
124
140
120
127
112
90
84
75
91
95
98
103
108
113
116
115
114
112
110
194
174
158
148
148
154
152
156
158
162
167
173
176
178
184
183
183
181
174
172
170
168
167
165
163
161
157
156
163
169
177
181
181
186
190
194
197
202
207
210
209
208
209
209
213
214
211
202
200
198
195
192
186
185
182
184
178
175
171
167
163
159
152
149
150
146
142
138
135
130
130
131
132
132
132
131
130
127
127
127
127
128
128
128
132
132
130
131
131
131
130
130
130
129
131
132
133
133
137
137
137
137
137
137
137
137
135
136
136
136
137
137
137
138
138
137
137
136
136
136
134
134
134
136
138
140
141
143
146
147
148
148
147
147
149
151
152
151
151
150
150
138
137
135
134
134
132
132
129
129
125
126
124
120
119
126
124
120
118
115
110
107
110
110
109
108
107
106
106
111
110
106
102
99
97
96
91
93
92
94
95
94
95
84
85
84
85
85
84
86
85
86
88
82
79
81
84
91
97
106
115
118
112
104
94
89
86
88
91
94
97
106
107
110
111
115
113
116
117
119
121
123
127
125
127
107
105
105
106
104
100
96
99
96
94
95
100
105
105
105
106
107
107
108
108
109
110
106
99
93
92
92
91
88
88
85
86
90
90
90
90
90
88
88
87
86
98
74
67
64
55
42
37
43
45
55
71
83
91
104
116
139
110
115
105
85
87
97
90
94
97
101
108
112
118
114
113
111
109
167
149
139
142
153
159
160
156
160
163
166
172
175
175
181
181
181
180
177
175
174
173
173
171
170
170
163
159
165
165
166
169
173
183
186
192
195
199
203
206
205
204
206
208
208
207
203
197
196
189
189
187
185
180
177
172
166
163
160
159
156
151
142
139
138
139
137
135
133
130
131
132
133
134
134
133
132
128
128
128
128
128
128
128
128
128
129
129
129
128
128
126
127
129
131
131
133
135
135
135
135
136
136
137
137
137
136
137
137
138
138
138
138
140
140
139
138
137
136
136
134
133
133
134
135
136
137
139
143
145
147
147
148
148
148
151
153
153
153
153
153
144
143
140
138
138
135
136
133
132
127
127
125
123
121
126
125
120
118
115
111
108
111
111
111
110
110
109
109
112
111
103
100
98
98
97
96
95
95
92
92
90
89
88
87
86
86
86
85
84
88
87
84
81
79
75
74
89
93
103
118
135
133
124
110
102
93
88
83
89
99
98
99
102
103
106
108
109
109
112
115
119
121
122
121
104
102
100
99
101
104
103
104
98
92
92
93
96
93
103
105
105
104
102
105
106
103
107
143
158
130
122
103
98
96
93
93
93
93
89
89
87
86
85
84
83
96
97
80
67
56
43
31
28
33
40
53
65
76
94
109
134
120
158
132
116
138
97
88
92
96
100
104
111
116
111
110
108
107
199
179
156
146
153
155
158
156
156
159
162
168
170
175
182
181
180
177
174
175
175
172
172
171
171
169
163
162
163
163
164
166
170
181
185
192
195
199
202
203
205
206
203
203
201
200
199
194
191
184
184
184
182
179
172
157
164
160
155
150
146
143
135
129
129
130
130
130
130
131
130
131
132
133
134
134
133
131
131
129
128
126
124
123
128
128
128
127
128
128
128
128
129
128
130
132
134
135
135
135
136
137
138
138
139
139
138
139
140
141
142
142
143
141
139
137
136
136
137
137
136
134
133
133
133
133
134
139
139
141
143
145
147
149
152
154
155
154
154
153
153
158
152
150
150
148
146
142
143
139
130
129
126
124
122
120
120
115
111
108
107
108
110
112
110
111
110
109
108
109
107
104
102
101
100
98
98
98
97
97
93
90
86
85
84
86
89
89
89
87
86
84
81
77
81
84
85
95
102
113
128
143
143
141
140
127
116
110
100
101
105
94
90
89
89
87
89
95
99
102
102
102
109
111
109
100
91
102
102
86
112
92
95
121
83
116
136
96
88
108
95
105
99
115
105
134
110
99
108
122
88
108
108
95
109
90
102
99
100
89
84
97
70
91
82
86
85
115
89
84
92
42
41
29
38
45
50
66
89
119
85
107
136
148
94
107
125
117
79
90
104
94
98
109
104
111
110
108
107
208
189
163
151
150
152
156
156
157
158
161
165
167
169
178
178
177
177
174
174
173
171
171
170
170
168
164
163
161
161
162
164
168
179
182
188
192
195
198
200
202
204
199
199
199
198
197
190
189
183
182
181
179
175
169
154
160
157
151
147
143
138
132
128
128
129
129
129
130
131
131
132
133
134
135
135
134
132
131
130
128
126
125
124
126
127
127
128
127
128
128
129
129
131
130
132
133
135
136
136
136
137
138
139
139
140
139
140
141
142
142
143
143
141
139
138
137
137
138
138
137
135
133
132
132
132
133
138
138
140
142
143
146
147
147
150
152
151
151
151
151
159
154
152
153
151
147
143
143
141
132
130
128
127
125
118
117
116
113
113
111
112
109
109
112
111
112
111
111
110
108
105
101
100
99
97
97
96
95
96
92
90
86
87
87
86
89
89
88
87
87
84
82
83
87
91
94
101
106
115
128
143
145
143
147
135
126
122
114
113
115
90
86
83
83
81
81
85
85
90
94
96
100
98
94
88
89
85
96
108
99
121
109
85
88
77
105
104
95
99
116
90
107
113
102
112
101
110
100
109
127
123
80
108
105
99
104
111
103
91
95
80
88
94
76
95
91
107
115
81
88
69
56
50
45
62
84
73
71
118
85
103
140
129
124
103
133
100
92
85
98
98
99
108
104
109
109
107
106
227
213
187
162
144
146
151
151
149
150
155
156
157
161
166
168
170
174
173
170
171
168
168
169
167
167
162
160
159
159
161
163
167
176
178
178
181
185
188
191
197
199
193
193
193
192
190
186
184
183
180
176
171
166
159
148
147
144
140
135
133
131
124
122
123
123
125
127
130
131
133
133
134
135
135
135
134
130
129
128
127
125
124
123
125
126
125
126
128
129
129
132
132
131
132
134
135
134
139
139
140
140
141
142
143
143
144
144
145
145
146
146
146
139
139
139
140
140
140
141
138
136
134
132
131
130
130
134
134
135
137
138
140
142
146
149
151
151
152
152
152
159
155
154
152
147
144
141
135
129
117
113
108
105
103
100
99
101
103
105
104
107
108
110
112
113
114
116
116
111
110
107
105
104
99
96
97
96
94
94
91
89
86
93
90
86
87
89
90
90
86
84
85
91
98
106
108
112
117
122
129
142
148
149
142
131
121
114
107
109
110
96
86
78
76
72
71
72
73
81
89
93
94
89
85
88
82
95
95
82
129
120
141
128
90
124
85
121
90
122
99
121
125
87
89
119
98
119
98
80
136
128
161
114
75
102
101
135
102
90
142
78
129
126
90
126
134
96
117
82
109
73
64
64
93
77
77
109
93
109
104
90
136
106
136
86
158
108
147
87
88
103
100
102
105
105
105
104
103
230
217
189
159
142
145
147
143
142
143
146
147
148
152
153
157
160
163
167
167
169
166
168
167
167
165
160
159
160
161
163
166
169
175
177
173
175
179
183
186
197
200
194
194
194
194
192
188
186
183
180
178
172
165
156
141
137
135
132
130
128
128
123
120
119
121
122
125
128
131
134
135
136
136
136
135
134
131
131
130
129
128
127
127
129
129
130
131
130
131
132
133
133
134
133
133
134
135
138
139
139
140
141
142
142
142
143
143
143
143
143
143
143
139
140
140
140
139
139
138
138
136
134
132
131
131
131
131
131
132
133
134
136
137
140
144
148
149
151
152
153
152
149
143
137
135
134
132
130
129
131
132
130
125
123
121
119
113
112
112
110
110
115
116
118
117
120
121
123
113
113
111
109
105
102
98
96
95
93
95
92
88
86
93
90
87
88
88
88
87
85
84
84
96
103
111
116
120
130
135
134
141
143
140
132
119
99
79
74
77
77
85
78
72
68
68
72
77
90
97
105
108
106
105
104
94
91
84
88
98
100
128
96
146
104
115
122
134
90
115
90
91
120
70
118
92
111
83
130
148
101
92
117
107
83
91
87
111
97
95
137
75
105
123
99
115
148
80
127
88
102
91
75
92
83
118
92
124
87
83
118
90
82
126
139
124
107
149
159
112
103
104
99
104
103
104
103
102
101
229
216
185
152
140
141
141
144
143
142
144
140
142
143
147
148
152
155
161
163
166
166
168
167
167
166
160
160
159
160
162
165
169
174
175
172
175
179
183
187
198
203
196
196
196
195
195
190
189
181
181
177
171
164
154
136
134
131
128
127
127
125
122
120
119
121
123
124
127
130
134
134
135
135
135
134
132
131
131
130
130
129
128
128
132
132
133
133
134
132
133
133
133
134
135
133
134
135
138
138
138
139
140
141
141
142
142
142
141
141
141
141
141
140
140
140
140
138
137
136
137
135
133
132
132
132
133
131
131
131
132
133
135
136
137
145
151
154
159
162
164
160
154
147
141
139
140
142
145
146
151
153
149
145
139
144
140
129
128
126
120
120
119
121
121
121
122
124
125
112
114
113
110
107
103
99
95
93
92
93
92
88
85
91
89
89
88
88
86
83
84
84
85
100
110
120
126
129
141
147
143
144
143
136
124
111
89
68
57
57
55
71
67
66
64
63
72
81
96
107
116
120
114
111
108
95
94
89
95
105
95
117
129
130
78
106
101
99
82
97
90
79
99
80
107
85
116
96
95
128
134
123
118
70
80
84
95
107
104
83
95
107
86
106
93
104
110
76
105
78
88
88
77
91
83
108
103
113
79
86
91
86
79
103
115
123
91
138
137
117
115
104
102
109
102
104
103
102
101
220
202
162
133
149
147
148
146
144
143
144
146
145
146
136
135
137
141
150
156
158
162
163
162
162
158
156
157
163
159
156
157
163
167
165
171
176
183
189
192
203
207
199
201
202
201
203
198
191
187
186
179
170
159
148
136
131
128
125
121
118
119
118
116
117
120
119
117
118
121
127
130
131
132
131
130
129
132
132
130
129
130
132
136
134
135
136
137
138
138
137
136
136
137
137
138
138
138
137
138
140
139
138
136
138
137
138
137
137
138
140
144
145
142
141
140
137
136
135
134
136
135
135
135
136
136
135
132
134
136
139
143
145
146
145
153
158
162
169
176
181
167
161
149
141
140
140
138
142
143
151
153
155
152
150
148
140
128
126
120
113
108
100
101
100
101
100
99
101
109
109
108
106
104
102
102
101
96
90
88
86
79
74
87
87
86
87
86
87
87
86
86
90
117
130
144
155
153
157
164
169
165
157
150
141
126
105
83
64
58
50
63
60
57
60
70
84
93
108
117
126
126
102
93
89
60
64
70
77
83
91
92
96
94
95
100
100
99
103
80
79
78
75
73
82
89
93
99
103
102
99
93
80
83
86
87
89
92
90
84
87
86
88
93
94
94
102
93
93
94
94
93
90
86
86
88
89
88
90
92
93
102
97
92
97
106
114
120
124
126
126
120
113
106
107
99
100
101
102
216
202
167
138
146
150
152
155
153
152
153
155
154
155
137
136
137
138
143
148
151
154
155
156
154
154
153
155
161
161
159
157
156
160
163
174
180
187
193
197
207
212
206
208
209
208
208
203
197
189
186
177
166
155
143
126
126
123
120
118
116
116
118
117
118
120
119
117
118
122
125
126
126
127
127
127
128
126
130
134
137
137
137
133
135
135
137
138
138
137
137
136
136
136
136
137
137
138
133
135
137
136
133
134
133
135
136
136
135
136
136
137
138
141
139
138
138
138
138
138
136
135
136
135
136
136
135
132
136
136
138
142
144
143
144
153
157
165
174
185
192
192
190
182
173
170
166
160
158
157
158
160
157
153
150
150
142
126
121
116
110
106
104
109
116
121
126
130
132
142
142
142
142
141
140
139
135
132
126
118
114
106
101
104
103
100
93
89
86
85
81
76
74
86
99
114
126
125
128
134
136
129
129
129
131
127
119
103
75
65
57
77
71
63
59
56
61
66
81
91
106
112
98
90
86
79
84
90
95
104
113
114
114
109
106
103
100
97
100
87
88
85
82
78
83
90
94
99
105
105
105
101
91
87
86
87
89
92
93
94
93
91
92
93
94
93
95
94
94
93
93
91
88
83
82
83
83
84
85
86
87
89
88
85
86
90
99
107
120
124
126
124
117
112
109
103
104
105
106
218
205
174
146
146
153
156
156
155
155
155
157
157
157
140
140
138
137
140
143
146
150
152
153
151
151
153
155
160
161
161
157
153
157
162
174
180
188
195
199
208
212
205
207
208
207
207
201
195
186
182
172
162
153
142
125
123
121
119
115
115
115
118
118
118
120
119
117
118
121
122
122
123
123
124
126
127
128
130
134
137
138
135
132
133
134
135
135
135
135
134
133
133
133
133
134
134
135
133
134
135
136
134
134
134
134
133
133
131
131
131
132
130
137
137
136
136
136
136
136
137
136
137
136
135
136
136
133
135
136
137
141
142
141
140
148
153
161
173
185
196
194
197
190
183
175
169
163
162
160
158
156
154
150
146
138
133
118
113
109
104
102
102
107
120
127
134
140
143
145
146
147
147
146
146
146
149
145
141
139
138
134
131
131
129
126
118
114
111
110
103
96
90
91
96
104
113
114
119
121
119
114
117
121
129
131
130
119
87
75
66
82
76
67
63
56
59
63
67
80
97
111
107
101
97
88
91
97
102
108
115
117
116
112
105
103
97
94
99
85
85
83
81
77
77
84
93
99
102
106
105
102
94
87
87
86
87
90
94
98
99
99
101
102
103
102
104
98
98
99
97
95
92
88
87
87
86
88
87
88
88
91
90
88
88
91
96
107
119
123
126
126
120
116
111
106
107
108
109
227
217
201
175
153
162
162
161
158
157
158
161
162
162
150
150
146
144
143
145
147
149
150
150
148
148
151
154
156
157
157
153
150
158
165
172
179
189
197
201
210
213
216
218
218
215
213
203
196
181
172
162
154
148
141
125
123
121
116
114
114
114
116
119
119
121
119
119
117
120
117
117
118
119
121
123
125
131
131
132
131
130
131
131
132
132
133
133
133
132
131
129
129
129
130
130
131
131
130
132
134
133
133
132
132
133
126
126
124
123
123
121
121
130
129
131
130
131
131
133
140
138
138
136
135
134
133
133
133
135
135
136
136
135
133
138
141
149
163
179
189
195
201
194
187
178
170
164
158
154
145
144
141
136
135
128
122
112
108
105
107
107
107
111
122
130
137
143
145
141
141
142
142
144
143
143
141
139
137
138
138
139
140
132
130
130
131
131
129
129
131
128
129
129
125
123
127
131
134
134
131
125
128
130
136
143
150
145
120
109
102
94
86
78
71
57
50
48
55
64
81
95
107
108
108
100
104
105
107
109
111
112
109
103
99
95
94
90
94
83
84
81
80
74
70
75
80
87
93
95
97
96
88
81
80
80
81
84
88
95
96
97
100
105
106
106
112
113
111
110
108
108
104
101
99
99
100
101
102
103
103
105
105
104
103
101
104
112
121
124
125
127
127
122
119
114
115
116
117
235
229
221
196
160
171
168
170
169
169
169
170
171
171
160
158
155
153
152
154
154
147
147
146
145
142
146
149
153
152
151
150
152
163
168
175
183
194
202
207
214
218
219
221
219
213
209
198
191
185
175
162
152
144
136
118
124
121
118
115
112
113
115
118
120
119
119
119
119
120
115
115
117
118
120
123
126
127
128
131
131
131
129
127
129
130
130
131
130
129
127
125
125
125
126
126
127
127
122
124
127
126
126
125
127
126
125
123
123
121
119
117
115
126
127
127
128
130
131
133
140
138
139
137
135
134
133
132
132
132
132
133
132
132
135
135
137
144
157
172
183
190
196
190
183
176
169
161
156
152
142
139
136
135
133
132
129
114
109
107
106
109
106
110
116
118
123
124
125
122
123
122
122
121
121
121
119
118
117
117
120
122
125
119
120
122
123
125
124
125
128
126
127
131
131
131
134
144
142
143
141
138
134
131
130
136
139
136
126
117
111
105
99
92
89
78
71
70
74
76
81
87
94
94
94
91
93
94
96
97
99
99
105
99
96
94
92
85
87
65
67
64
60
55
50
53
58
64
70
75
77
76
71
72
74
73
76
78
80
86
91
93
94
99
100
98
101
110
110
109
107
107
106
104
104
104
105
106
107
108
108
107
105
103
103
102
104
104
113
115
119
124
129
131
131
118
119
120
121
237
230
229
206
160
175
177
175
175
175
177
177
176
176
167
163
157
153
151
151
150
148
147
146
144
144
144
143
146
147
147
148
151
165
170
176
181
189
197
203
212
215
217
219
219
214
209
196
190
180
170
155
147
143
138
123
120
118
115
114
115
115
112
116
117
117
118
119
118
117
110
112
117
120
122
121
120
123
125
130
130
127
126
127
131
129
126
125
126
126
126
120
120
121
122
123
124
125
119
120
122
124
123
124
125
125
125
127
123
120
118
115
112
124
124
125
128
129
132
132
136
135
134
133
133
132
131
130
129
131
131
130
132
130
129
127
135
147
166
181
191
190
190
187
181
176
170
164
157
156
154
152
147
140
138
138
130
113
111
109
108
109
106
109
111
114
114
114
112
111
112
110
105
104
103
101
98
96
96
96
98
103
107
106
106
110
115
117
117
118
119
120
122
124
126
127
131
138
140
142
143
138
133
132
122
118
118
120
117
115
117
106
104
105
107
98
87
80
86
87
88
87
85
85
85
83
84
85
85
85
89
91
90
89
89
87
87
84
85
65
62
56
49
43
33
35
40
48
56
62
63
64
62
64
65
64
67
70
75
83
82
86
86
90
93
95
95
101
103
103
104
104
104
104
104
105
106
104
104
103
105
109
107
104
100
98
97
101
103
108
117
122
126
128
130
121
120
118
118
234
226
221
202
167
178
178
178
178
178
179
179
178
176
170
168
162
158
156
154
154
162
160
157
151
148
142
140
142
143
144
145
149
164
170
179
184
191
198
203
210
213
212
214
213
208
201
189
183
172
163
151
144
138
134
119
117
115
113
113
114
115
112
112
113
114
115
116
117
116
109
111
114
119
121
122
122
123
124
128
129
127
126
126
128
126
122
120
120
119
118
118
118
119
119
119
119
119
114
116
118
120
122
124
124
123
127
126
122
117
117
111
109
118
119
121
126
128
130
134
135
134
134
135
135
134
133
134
134
133
133
133
134
130
131
132
140
151
165
178
185
174
186
182
176
170
163
158
154
153
148
145
140
134
130
138
131
113
109
109
108
107
111
109
105
105
106
106
106
116
115
109
104
103
104
104
100
98
94
89
87
90
90
94
94
95
98
96
95
96
95
94
94
96
98
104
109
115
116
118
119
116
114
111
109
102
98
98
103
110
117
106
112
121
126
121
115
110
99
99
96
93
89
92
94
81
81
83
81
78
77
75
78
79
82
85
84
86
85
58
53
47
37
28
16
15
23
30
39
46
50
51
51
69
69
70
72
75
79
85
82
83
83
84
85
83
82
88
88
90
92
97
98
103
105
106
106
104
102
99
98
97
98
96
92
88
86
89
93
98
106
115
120
122
125
123
119
114
110
236
222
206
191
168
174
180
181
178
179
179
178
180
179
177
176
172
171
169
169
168
165
165
165
163
163
160
158
152
153
153
153
156
170
175
181
185
192
197
200
204
206
205
207
207
201
196
181
175
162
155
148
142
137
131
121
116
114
112
112
115
116
115
112
112
112
112
113
113
114
110
111
114
117
120
124
125
128
128
129
130
131
131
130
119
117
116
116
117
119
119
119
119
119
119
118
118
118
114
115
117
118
120
122
124
125
124
124
120
115
112
109
106
115
113
115
120
124
129
134
134
136
135
136
136
135
135
136
133
134
136
136
136
135
136
136
142
148
157
163
168
176
177
169
161
157
157
155
150
147
140
136
131
126
122
121
115
105
106
109
110
111
111
108
102
103
106
106
107
110
109
102
99
99
100
101
104
103
103
99
98
100
102
109
108
109
107
105
103
101
104
104
101
94
97
100
104
113
114
114
114
111
110
109
99
96
97
100
105
109
113
107
119
129
132
128
122
115
103
101
99
94
96
99
103
85
86
87
84
79
70
65
71
73
77
80
82
83
84
65
60
52
41
30
15
17
24
32
40
47
52
57
60
77
76
75
76
80
84
90
91
92
93
91
90
89
82
82
84
87
91
96
100
107
106
108
111
110
106
102
99
99
99
97
93
89
86
87
87
91
97
107
115
120
123
128
123
115
109
236
223
207
192
169
171
179
179
176
175
175
178
178
179
182
180
179
179
180
180
178
174
174
172
171
167
161
160
157
157
156
155
156
167
172
181
185
190
194
197
200
201
200
202
202
196
191
178
170
160
154
148
143
137
132
122
121
118
116
115
115
116
116
114
114
113
112
111
112
114
112
113
115
117
120
122
125
128
128
128
129
131
133
131
117
115
114
115
118
120
121
120
120
120
120
120
120
120
116
117
118
118
120
122
124
125
125
124
119
114
112
107
102
111
111
111
115
122
126
131
136
136
137
138
139
138
135
136
136
137
139
141
142
141
141
138
139
143
148
153
156
172
165
159
154
153
153
150
141
138
129
125
121
116
112
113
110
103
104
108
110
110
108
107
103
104
105
106
105
103
103
99
98
96
97
97
100
99
100
99
100
102
105
110
110
110
106
104
102
100
100
101
100
101
103
108
112
117
117
117
116
113
112
111
99
98
100
105
107
108
110
112
122
129
130
126
119
110
103
102
98
94
95
99
103
83
85
88
87
83
73
70
72
71
75
76
77
81
83
67
63
55
44
33
20
21
25
33
43
50
56
59
65
80
77
77
77
80
85
92
93
92
92
91
90
88
80
78
80
83
87
92
97
103
105
110
113
114
111
104
101
101
100
99
95
91
87
86
87
91
95
102
110
117
121
130
124
117
111
230
229
220
209
175
165
173
173
170
169
170
175
177
179
187
185
187
189
193
193
194
195
195
195
193
189
183
181
173
171
168
165
163
170
173
179
183
188
191
192
194
195
192
195
192
187
181
169
160
159
155
151
147
141
136
128
126
123
122
120
119
119
116
119
117
115
112
110
112
112
114
116
117
118
119
121
123
125
125
124
126
128
129
128
121
119
117
117
118
119
119
120
120
121
122
123
124
125
121
121
120
120
120
122
124
123
132
129
122
115
113
107
102
107
104
106
109
116
121
126
137
137
138
139
140
140
139
142
144
145
148
151
153
154
148
138
133
133
134
136
139
147
142
144
150
152
149
140
141
138
128
123
117
113
109
107
104
103
105
106
105
102
110
109
104
101
100
97
94
88
90
92
91
91
91
90
95
96
97
98
97
100
102
107
106
105
103
100
98
96
100
102
103
104
106
109
112
130
129
127
124
119
118
119
116
113
113
114
114
115
118
122
128
130
128
130
121
106
106
104
100
97
92
93
95
69
75
82
87
89
88
86
76
72
72
70
69
77
80
68
65
57
46
37
24
26
26
33
42
50
55
61
67
78
77
75
78
82
86
94
95
95
94
95
94
91
83
78
79
82
85
89
94
102
103
108
114
116
112
108
103
96
98
97
94
89
85
83
88
86
86
91
100
110
116
133
129
123
119
246
241
228
222
167
145
161
161
166
172
175
179
181
182
193
194
198
199
199
203
204
205
205
208
208
207
205
204
204
202
197
195
193
185
183
181
185
187
189
189
183
183
178
178
178
177
178
169
163
158
156
152
149
144
140
136
133
131
129
126
124
125
125
121
119
118
116
116
114
110
110
110
112
114
116
118
120
122
124
124
124
124
124
124
121
120
120
119
120
118
120
119
119
118
118
117
118
120
132
131
129
127
125
125
126
126
133
136
135
134
135
134
130
123
120
118
118
120
124
128
134
134
140
144
146
145
144
148
153
155
158
158
158
157
157
143
139
139
140
138
138
144
137
139
140
140
139
142
145
148
142
136
129
120
112
104
101
96
96
97
98
99
101
102
99
100
99
99
99
94
94
91
93
94
95
95
91
92
93
93
95
95
98
94
95
98
98
101
103
104
107
109
113
119
122
123
125
134
131
129
125
118
116
115
109
109
107
108
117
117
118
112
114
114
114
109
104
100
99
96
98
98
98
96
92
100
100
96
96
96
95
90
91
85
82
75
71
71
74
76
78
78
77
71
57
56
49
48
48
51
60
68
73
93
94
93
93
91
91
89
94
93
95
96
95
93
91
84
85
87
86
87
89
94
100
105
110
116
119
120
118
112
105
101
100
96
89
85
82
82
84
85
90
97
103
118
119
117
114
250
250
245
242
181
144
145
153
157
164
168
173
176
178
190
192
198
200
205
211
213
213
213
216
215
215
213
212
212
210
205
203
201
193
191
188
187
184
180
176
172
173
171
171
170
171
171
168
164
161
160
160
157
154
148
141
136
135
133
130
128
126
124
120
120
118
116
116
114
110
110
111
112
113
115
118
119
120
120
122
122
122
122
122
124
123
121
120
120
120
118
120
117
117
118
119
118
120
130
131
131
130
131
132
134
135
140
143
142
143
145
143
142
133
131
127
125
126
128
131
133
136
140
146
145
144
144
153
158
163
164
165
164
162
160
148
143
140
139
137
133
131
129
127
125
125
132
142
148
153
158
158
156
152
146
128
122
103
96
91
89
89
92
93
97
97
98
98
100
93
94
95
95
95
95
95
93
92
91
89
91
93
94
89
92
94
99
100
105
106
111
112
118
126
130
131
133
141
139
139
137
127
125
121
124
121
119
116
118
119
118
116
116
114
113
110
108
108
103
102
100
99
96
92
88
94
91
86
83
83
88
88
94
95
98
101
98
83
77
82
80
78
78
82
79
77
74
72
70
70
72
77
84
86
89
91
94
96
94
91
94
93
92
92
90
90
89
84
83
84
86
87
88
92
94
97
102
109
113
117
119
116
110
106
102
98
91
85
76
77
79
78
77
81
88
108
112
115
114
250
252
247
244
184
145
141
149
153
159
163
169
172
175
188
191
197
200
207
213
216
217
217
219
219
218
216
215
214
211
207
204
202
194
192
191
190
185
180
175
171
173
174
171
170
171
170
166
165
162
161
161
158
155
150
141
136
135
134
132
129
126
123
121
119
116
115
114
113
108
110
112
113
114
115
116
116
120
120
122
122
122
122
122
124
123
122
120
119
119
120
119
118
116
117
118
120
122
126
127
130
130
130
132
135
137
144
146
148
148
149
150
146
139
135
130
128
127
128
131
132
135
140
142
142
143
145
158
159
159
160
160
163
163
161
149
144
141
140
135
131
124
123
120
118
122
135
146
156
161
166
164
161
156
148
139
131
109
102
95
91
91
89
90
94
96
97
97
97
95
95
96
97
97
96
94
93
92
90
87
88
90
93
92
96
98
101
102
103
106
112
114
119
128
131
131
132
142
143
141
139
132
129
125
127
126
125
125
123
120
117
118
118
116
114
109
108
107
105
101
100
101
97
92
88
92
90
88
86
85
85
84
90
93
99
104
105
94
88
92
87
82
83
86
93
95
91
90
87
85
84
85
90
88
90
92
96
96
96
92
92
93
92
90
89
88
85
84
83
85
85
86
87
92
93
95
100
103
110
114
118
116
114
110
105
98
93
86
76
79
80
77
75
77
85
102
108
113
114
250
251
248
245
192
150
138
143
149
152
156
166
170
173
185
188
194
198
206
213
216
221
221
224
224
223
221
220
216
214
209
207
205
197
194
191
190
185
181
176
173
174
176
177
180
181
184
179
175
178
174
170
166
160
156
150
138
138
137
135
132
128
123
123
121
118
117
116
115
110
111
111
111
112
113
113
115
118
118
118
120
120
120
121
120
120
119
118
119
119
120
119
117
117
118
118
120
122
125
125
128
130
130
133
137
138
149
153
156
156
159
159
158
150
147
143
139
134
133
133
131
130
133
135
136
141
147
155
157
159
161
160
162
161
158
146
142
139
137
131
128
119
112
112
116
128
146
158
176
177
175
169
162
152
144
139
136
121
114
106
102
101
94
98
99
98
98
97
98
101
100
102
101
98
97
94
94
92
91
84
85
87
90
94
97
100
102
101
103
105
108
110
115
125
126
126
124
144
142
142
142
140
139
138
136
134
134
135
133
131
128
127
125
125
120
114
109
107
104
103
102
101
98
94
90
87
87
88
88
91
94
93
90
88
89
92
97
100
100
94
95
93
94
93
101
107
113
113
114
110
102
98
97
97
97
98
100
101
101
99
92
91
92
89
88
86
82
83
85
85
86
86
88
92
92
94
95
99
105
110
115
116
117
114
108
102
99
92
77
78
78
77
77
78
79
96
106
114
116
251
250
247
242
212
164
126
138
144
150
154
163
167
171
181
185
192
197
204
210
212
215
215
217
217
216
213
212
209
207
204
201
199
189
186
185
180
175
175
175
175
179
186
188
191
193
194
194
196
191
189
182
177
173
167
155
141
138
136
138
137
129
124
121
120
120
117
116
115
114
113
112
112
112
115
114
114
116
117
117
119
119
120
120
121
121
121
119
119
119
119
120
119
119
117
118
119
121
120
123
127
130
132
138
144
150
154
161
167
171
171
170
168
158
152
148
146
144
140
137
133
129
129
130
133
139
145
152
160
163
165
166
165
163
161
142
139
137
134
125
114
117
107
112
123
137
151
160
165
171
171
167
162
156
150
144
142
125
122
118
110
105
107
100
102
101
95
95
101
99
98
100
100
100
97
95
97
94
88
82
85
88
90
92
95
97
100
101
103
106
107
110
114
120
121
121
124
142
140
137
136
138
143
144
139
137
135
133
131
129
129
136
136
135
133
125
121
117
116
111
103
101
101
97
92
85
85
87
90
97
105
106
99
100
99
95
91
94
98
85
89
95
101
104
107
111
111
116
118
118
112
104
95
100
103
106
105
105
104
107
96
98
97
94
89
85
85
90
89
88
86
86
86
87
90
94
96
101
109
115
118
122
121
119
116
111
102
94
83
81
81
81
77
76
74
85
96
109
116
250
250
246
243
211
167
131
138
144
149
155
162
168
171
177
181
188
192
199
204
207
210
211
214
214
214
214
213
208
206
203
201
199
190
187
184
180
175
175
175
176
180
185
189
193
195
197
198
198
196
191
184
180
174
168
157
143
139
137
137
135
131
125
122
121
119
118
117
114
113
113
113
111
110
113
114
112
115
117
117
119
119
120
119
120
120
120
120
120
118
118
119
118
118
118
117
118
120
120
123
127
131
134
140
148
154
161
165
171
174
175
173
171
161
155
149
147
144
140
137
131
126
127
128
131
137
143
147
156
160
162
163
160
161
159
143
138
135
130
122
113
114
105
110
119
132
149
157
160
163
165
165
165
159
151
150
146
132
127
123
117
109
108
103
105
102
94
90
93
98
98
100
102
102
98
96
96
94
89
86
86
88
90
91
92
95
98
101
104
107
109
113
117
122
124
126
127
141
140
137
134
137
138
140
139
137
135
134
131
129
129
135
136
135
136
129
126
122
119
113
109
107
106
101
96
86
86
87
90
95
105
107
105
105
102
97
92
89
91
80
85
90
95
100
107
111
109
109
110
109
110
109
97
102
104
107
108
110
108
105
98
97
95
93
90
86
85
92
91
90
88
88
87
87
91
93
96
102
109
115
118
125
123
121
118
112
106
98
84
83
82
79
77
76
75
83
94
107
114
245
248
249
245
209
168
136
137
143
150
153
161
167
170
168
172
178
182
186
191
193
197
198
201
203
204
204
204
203
201
198
195
193
182
179
174
171
167
168
169
172
177
185
188
195
201
202
202
202
200
195
189
182
175
168
155
147
142
136
135
133
130
129
125
123
122
120
119
117
116
115
112
111
110
110
111
108
110
112
114
116
118
118
120
121
121
121
119
119
119
119
117
116
115
115
116
117
119
122
126
131
133
137
144
152
159
161
165
169
169
168
166
164
161
154
150
143
138
135
133
125
121
120
121
124
130
137
139
147
149
154
154
153
154
155
146
139
128
121
115
113
107
102
102
103
109
123
136
146
150
156
154
150
145
143
151
148
140
135
132
125
121
117
114
112
108
101
95
94
98
95
93
94
94
95
95
90
88
88
87
84
84
84
84
86
86
90
92
96
99
101
104
111
117
119
121
124
128
130
131
133
134
135
134
133
132
131
130
129
127
128
135
135
136
134
134
132
130
124
121
121
123
119
116
112
106
103
99
97
96
99
102
104
103
101
97
94
93
94
70
73
79
83
88
98
103
104
102
101
102
106
109
109
109
107
105
108
110
110
103
106
101
95
92
91
89
84
92
91
91
90
89
89
88
90
95
99
102
108
113
119
125
124
123
121
117
112
105
90
87
82
75
73
72
74
82
91
102
109
246
248
248
244
213
171
137
138
144
150
155
162
166
171
169
172
177
179
181
185
186
190
190
192
192
190
187
186
193
191
187
185
183
173
169
169
165
161
162
164
167
172
181
185
191
194
196
197
196
194
191
184
178
169
162
150
144
139
136
137
134
129
126
125
123
123
121
119
119
118
112
110
108
106
107
107
106
106
109
111
114
116
116
119
122
122
122
122
122
120
120
117
116
116
116
116
117
119
123
127
132
135
139
143
152
158
161
163
165
166
166
165
163
154
151
143
134
128
126
126
119
116
117
118
121
128
133
132
138
142
145
147
147
149
146
140
133
122
114
109
107
107
99
95
91
89
91
97
97
103
124
123
120
125
131
136
140
136
132
129
124
118
113
112
110
113
115
118
119
111
105
92
89
88
87
87
79
79
79
79
78
78
77
80
82
80
79
83
89
92
102
107
113
123
126
129
132
124
125
127
130
136
136
138
131
129
129
128
126
125
123
132
130
129
128
125
123
121
120
119
119
121
120
119
120
124
121
114
110
107
101
99
100
98
96
94
95
97
96
83
85
83
81
79
85
86
93
99
106
107
107
107
120
115
111
109
108
107
108
109
110
106
98
93
91
89
88
88
88
86
87
86
87
87
89
94
101
102
105
109
116
125
125
124
122
120
116
110
94
90
82
77
73
71
72
79
84
92
98
247
248
247
246
219
179
144
139
145
151
156
162
166
171
169
172
177
179
180
183
184
188
188
190
190
189
186
185
186
185
182
182
182
175
173
173
169
165
166
167
170
174
179
182
186
188
189
192
191
191
186
179
173
165
159
147
141
137
135
136
136
130
124
124
123
121
119
119
117
118
111
108
106
105
106
107
106
105
107
110
113
115
116
118
122
122
122
122
122
120
120
118
118
117
117
117
119
120
123
127
131
134
138
141
149
155
159
160
163
164
162
162
161
152
147
138
130
123
121
122
116
114
117
119
122
127
131
128
132
135
137
142
142
144
141
132
126
117
110
105
101
105
96
93
89
84
83
83
80
79
93
99
103
111
116
123
126
126
122
119
113
110
105
106
109
115
119
123
122
121
117
105
99
92
85
81
80
79
79
78
78
78
77
77
76
77
78
83
90
94
103
107
115
125
129
131
134
127
126
127
128
131
133
135
131
131
129
127
123
122
122
125
125
123
122
120
118
118
115
114
114
116
117
119
120
122
121
117
114
113
106
103
103
101
98
99
101
105
103
96
94
90
83
77
75
77
86
92
101
106
109
114
120
110
113
113
112
110
108
109
110
107
99
93
87
85
91
86
85
86
85
85
86
87
89
94
99
101
104
107
115
124
123
123
124
120
116
111
94
91
86
78
73
71
70
80
84
91
96
255
255
251
244
220
189
157
145
148
154
161
168
171
167
174
176
179
183
186
186
185
186
186
186
186
187
187
187
185
185
183
183
182
180
180
177
175
172
170
172
180
183
179
181
184
188
190
191
191
191
187
181
175
169
160
149
134
133
131
130
128
124
122
122
123
123
124
122
121
119
116
116
115
114
114
113
112
108
109
109
112
113
114
115
117
117
116
116
117
118
120
119
119
118
119
120
122
125
124
127
131
137
140
145
148
150
151
153
155
158
159
158
157
138
135
131
127
126
124
123
118
119
120
122
123
122
121
137
132
131
132
134
134
133
129
120
115
110
106
103
101
95
94
95
92
89
86
84
87
86
82
82
87
97
104
91
95
108
109
108
106
104
108
108
109
109
110
112
113
110
110
112
111
107
96
88
76
72
66
70
74
75
74
76
78
81
96
104
109
113
120
121
121
125
126
126
125
130
129
130
130
128
129
130
131
130
129
128
124
124
123
120
118
115
112
114
116
116
111
111
111
113
119
122
124
111
110
111
111
111
108
106
105
104
102
100
103
104
105
89
87
85
79
76
68
65
76
76
77
81
86
86
84
102
105
109
115
119
120
111
104
104
100
92
82
73
73
69
72
74
79
85
90
97
99
100
98
99
97
96
95
111
115
118
120
121
119
116
107
98
87
79
77
76
72
83
86
92
98
255
254
249
243
227
204
176
140
145
155
166
171
176
178
179
181
184
187
188
187
186
183
183
183
183
183
183
183
185
186
185
185
185
183
183
181
179
176
172
172
176
177
177
179
181
183
184
184
184
183
180
176
172
166
156
141
130
129
128
126
123
119
117
121
119
121
121
120
119
118
115
115
113
114
112
110
109
109
109
109
112
113
114
114
116
116
115
115
116
118
120
122
123
124
126
129
132
135
137
136
136
137
140
143
149
152
149
147
146
145
143
140
137
132
127
124
120
118
118
118
115
116
117
119
120
119
118
121
120
123
125
125
126
124
123
114
108
102
97
94
91
93
92
90
90
87
84
83
80
80
79
76
75
75
76
72
75
85
89
91
94
94
91
91
92
96
105
112
117
104
106
109
110
111
113
114
108
100
92
79
77
74
72
82
83
84
95
103
108
112
118
117
119
122
123
123
122
126
127
127
125
123
125
124
125
126
127
128
126
124
123
119
119
118
116
114
113
111
105
104
103
102
107
108
109
107
107
108
107
107
101
101
99
97
97
99
102
104
102
96
96
94
92
89
84
83
82
81
81
82
86
89
91
102
98
98
102
112
118
121
117
109
98
91
87
82
67
71
73
76
82
87
92
98
100
101
99
99
96
95
94
105
107
111
115
117
116
116
109
105
97
93
90
86
81
89
90
93
95
255
252
249
243
234
213
191
141
144
154
169
174
181
184
182
184
186
189
189
188
187
184
184
184
183
183
183
182
188
187
187
189
188
188
186
185
183
180
176
175
174
174
177
177
178
178
179
177
177
177
175
172
169
163
153
138
128
127
125
123
121
117
115
116
117
118
120
118
118
117
114
113
112
112
111
109
108
109
110
112
112
113
114
114
115
115
115
115
116
118
120
123
124
126
129
133
136
139
136
135
135
136
138
141
142
144
149
146
145
143
140
137
135
127
122
117
115
115
117
118
117
117
118
119
120
120
118
121
119
119
122
121
119
119
107
100
98
95
95
92
90
92
90
88
86
84
84
83
82
82
78
76
75
75
75
74
78
84
87
89
92
93
92
91
87
90
96
105
110
97
101
106
107
109
113
117
120
112
105
91
85
79
74
86
86
88
98
104
111
115
116
117
119
121
122
121
121
127
128
125
123
124
124
125
124
126
127
129
126
124
122
120
121
122
121
117
113
110
105
103
102
100
102
102
103
104
103
103
103
100
96
93
91
91
92
96
97
98
96
93
93
92
91
91
88
88
89
88
85
87
89
95
98
99
99
98
98
104
112
124
119
112
103
94
88
81
71
69
71
76
81
85
91
99
101
101
101
100
96
94
93
101
103
106
109
112
114
115
110
106
102
97
93
91
84
94
95
96
97
251
249
248
243
238
226
207
153
148
153
169
182
187
189
187
189
192
195
196
195
194
193
193
192
192
191
190
189
192
194
195
197
199
196
194
194
193
190
189
186
180
178
175
173
171
169
168
164
164
166
164
162
160
157
149
137
130
128
126
124
121
116
113
112
111
113
115
116
116
116
112
111
111
111
110
112
112
115
115
115
115
116
116
116
115
115
116
116
118
120
122
126
128
130
133
135
136
137
138
140
143
143
143
141
139
134
133
131
128
129
129
128
127
118
116
114
114
116
119
121
119
118
119
121
122
121
120
119
112
108
108
106
105
104
110
102
100
98
97
94
92
91
88
85
84
83
82
82
79
76
76
81
85
90
93
97
97
96
94
92
90
90
91
91
95
99
104
109
113
98
102
110
110
111
111
111
114
115
116
115
109
103
99
97
97
95
97
101
109
112
115
118
119
121
120
120
119
127
125
123
123
126
128
130
127
127
127
127
125
123
123
125
126
127
127
123
120
116
114
110
105
103
101
100
99
96
96
95
94
92
83
78
75
71
70
72
75
77
76
81
82
85
90
91
94
97
97
96
96
96
98
104
109
99
103
108
105
98
98
112
110
112
112
105
95
86
81
66
68
73
78
83
87
95
101
101
103
100
100
97
97
93
95
96
98
101
105
108
107
106
105
102
96
93
90
97
98
100
101
250
250
248
244
238
226
207
167
151
149
167
187
189
189
189
191
195
198
201
201
201
198
197
197
196
195
193
193
196
197
202
204
205
204
202
202
202
200
199
195
186
183
173
171
168
164
162
157
157
161
158
156
154
152
148
142
135
134
132
127
124
121
116
109
110
110
113
115
116
116
108
109
111
112
113
114
117
117
117
118
118
118
118
120
116
116
117
118
120
122
124
134
135
136
137
138
137
136
138
137
137
136
136
136
135
135
124
122
120
121
119
119
118
124
122
119
118
116
116
115
116
115
116
116
117
116
115
125
114
112
110
112
115
117
106
101
102
104
104
103
104
91
87
85
81
81
81
82
79
80
92
101
106
108
107
111
111
108
107
102
98
95
96
100
113
117
120
120
120
103
99
95
100
104
108
109
110
111
113
117
120
123
123
131
127
119
109
108
110
113
114
117
118
120
121
119
119
119
117
117
116
123
127
129
129
128
125
120
120
121
122
120
121
122
123
124
123
121
120
115
111
106
101
99
98
99
99
97
95
92
82
77
64
57
52
51
54
57
58
56
60
63
69
74
81
84
90
92
91
92
95
99
103
102
100
103
106
110
108
93
108
106
106
107
106
101
83
70
72
75
80
84
89
98
98
100
102
102
102
102
102
91
91
90
92
92
96
101
106
107
106
101
97
94
95
107
110
115
120
254
249
249
244
235
231
225
185
144
144
173
177
194
197
193
195
197
199
201
201
201
200
201
201
200
198
197
198
201
202
202
203
203
205
204
204
203
202
201
197
190
187
179
173
165
160
159
160
161
160
160
161
160
157
149
140
136
132
128
125
120
118
114
109
109
111
111
113
115
117
111
113
115
115
114
116
117
120
121
121
120
120
122
121
123
123
122
120
119
120
123
129
130
133
135
138
139
140
139
139
139
137
136
133
131
128
125
122
121
120
119
119
119
119
117
116
116
115
114
113
117
118
117
114
115
117
119
123
121
119
115
111
111
113
108
104
102
101
99
101
101
96
91
83
79
81
81
83
78
88
106
110
112
113
113
111
110
110
111
107
101
96
101
104
112
114
114
114
113
98
101
97
91
91
98
105
106
108
111
114
118
122
124
132
134
132
125
121
121
120
110
113
114
118
117
118
117
112
114
113
117
121
125
127
128
126
125
122
117
116
113
117
118
119
121
123
122
120
125
120
114
106
101
98
99
98
98
97
94
90
80
73
65
61
56
55
52
51
51
41
46
52
61
68
77
80
86
84
87
95
99
97
93
94
99
104
109
108
105
103
100
105
109
112
110
105
94
77
73
73
77
85
94
100
99
100
103
105
105
105
103
91
88
87
90
91
92
95
97
99
101
102
106
108
109
124
124
125
127
255
254
252
248
239
234
229
200
155
141
161
177
188
191
194
195
197
199
202
202
202
201
202
202
201
198
198
199
203
203
203
205
203
206
205
203
202
201
198
196
186
183
176
172
167
163
161
157
157
158
158
158
157
154
147
139
133
129
125
120
118
116
110
112
112
111
111
111
112
112
109
111
113
116
116
117
119
123
123
124
124
124
123
123
123
123
122
120
119
119
122
127
129
131
134
136
137
137
136
137
137
137
135
130
126
124
118
117
117
117
116
118
119
122
121
121
119
118
116
116
118
117
117
115
117
120
121
117
119
122
121
119
113
109
113
110
107
105
103
100
99
95
90
87
83
79
79
80
91
102
116
119
120
122
121
114
113
112
111
110
106
102
104
106
109
111
111
109
108
106
105
99
94
90
86
84
90
92
97
108
115
122
126
131
134
137
136
133
133
133
133
133
129
118
111
105
102
102
103
104
106
114
119
123
122
122
120
118
107
103
101
104
105
107
110
118
120
121
127
124
120
116
106
102
99
100
101
99
97
92
81
74
65
61
60
58
57
57
57
42
45
49
54
59
67
71
70
71
75
83
89
91
92
96
98
102
105
106
106
103
99
102
105
110
111
113
109
96
92
86
86
90
96
98
97
98
101
104
104
106
106
93
91
89
91
92
91
93
106
109
113
115
119
123
126
126
126
125
125
255
255
255
252
243
237
231
211
165
138
151
174
183
187
193
194
197
199
203
203
204
202
203
203
202
200
199
200
198
199
199
198
198
197
196
196
196
195
195
193
186
183
174
171
167
165
163
155
152
153
152
152
151
148
142
136
129
126
120
117
116
114
108
107
108
107
108
110
112
113
110
112
113
114
115
119
122
126
126
126
125
127
126
126
122
122
122
121
119
118
120
123
125
127
129
130
131
131
132
133
134
131
129
126
122
119
118
115
115
117
120
123
125
124
124
124
122
123
121
119
116
114
114
113
115
118
121
121
115
115
119
123
120
116
107
107
105
104
103
101
102
100
87
86
82
81
86
92
106
115
124
126
129
128
128
124
123
121
119
116
113
109
106
109
109
109
110
109
108
103
101
102
104
102
96
91
85
85
88
101
108
114
117
119
123
129
135
135
135
134
131
130
128
124
122
121
120
115
113
110
107
108
110
112
111
114
115
112
106
100
97
99
101
104
110
120
125
129
128
128
128
125
114
106
103
105
103
102
99
94
80
76
74
71
71
69
71
72
74
67
67
68
70
72
75
77
80
85
95
102
106
103
85
100
99
100
101
105
108
105
103
103
105
107
110
112
115
113
110
106
103
101
102
102
104
105
106
107
106
107
106
97
96
98
103
107
106
107
116
118
120
121
120
120
119
118
117
115
113
255
255
255
252
241
236
230
212
170
140
148
172
179
186
190
192
195
197
201
202
202
201
202
203
202
199
198
199
197
197
197
196
195
193
194
192
192
194
193
192
186
184
174
171
167
164
162
154
152
150
149
148
147
144
139
134
127
124
120
118
115
113
110
105
106
107
108
110
112
115
111
112
113
114
115
118
122
126
126
126
127
127
126
126
121
122
123
121
119
118
119
121
122
124
126
127
128
128
130
130
130
129
125
123
121
120
118
117
115
117
120
124
126
125
126
125
125
124
122
120
115
113
112
110
111
115
119
118
114
115
118
121
122
121
110
107
104
102
101
101
103
96
85
87
85
84
92
100
111
117
127
126
129
130
128
128
128
126
124
121
114
110
108
108
109
110
110
110
110
104
103
104
104
101
95
89
87
86
90
101
108
112
114
115
119
125
131
131
132
132
128
127
125
120
119
119
119
118
118
117
115
112
112
114
110
110
110
109
103
101
99
100
99
103
105
118
123
127
130
129
128
127
117
110
106
106
104
101
98
93
81
74
77
76
74
76
76
79
80
79
79
80
83
84
82
83
89
97
105
111
114
109
86
100
98
97
98
103
105
102
102
102
104
105
107
110
112
115
114
113
111
109
107
107
107
108
108
109
108
110
110
106
106
108
113
116
113
115
121
123
122
122
121
118
115
114
112
109
107
255
255
255
252
239
232
225
219
181
147
147
164
169
179
189
191
194
197
201
202
203
203
204
204
203
201
200
201
198
198
197
196
194
192
192
187
188
191
191
191
189
187
176
172
166
162
159
154
153
146
145
143
142
139
135
131
127
124
120
118
117
116
111
111
110
110
111
111
109
110
114
114
114
113
114
117
121
125
125
125
126
126
126
125
121
122
123
122
119
118
117
117
118
120
122
123
123
123
127
126
123
122
121
120
122
123
117
115
114
113
117
121
124
126
126
127
126
125
123
124
114
110
106
105
105
110
114
108
119
122
122
120
119
121
124
113
105
100
99
100
101
99
101
109
113
109
111
120
118
124
129
130
130
132
132
135
136
138
134
126
116
111
107
108
112
114
117
118
120
100
101
102
101
100
97
95
89
89
89
103
110
114
116
104
107
110
112
113
116
116
117
114
111
110
111
113
114
114
116
121
124
131
131
133
130
130
127
122
115
111
110
108
108
110
112
121
127
130
128
129
126
126
119
115
114
105
105
102
98
91
78
75
75
76
76
78
79
83
83
90
92
95
97
97
93
91
101
105
110
109
110
110
90
96
92
89
89
95
97
93
94
94
97
103
106
108
111
108
111
115
118
117
114
111
106
106
108
109
113
118
121
126
126
127
127
126
121
118
114
114
116
117
116
113
111
95
92
88
84
250
246
246
245
239
234
224
213
182
148
143
166
174
182
183
186
191
194
201
204
206
204
208
210
208
205
204
205
202
202
202
199
199
195
193
193
193
194
192
192
186
185
182
181
180
175
171
164
161
157
153
146
142
140
140
138
137
136
130
127
124
122
120
117
117
116
116
117
117
116
111
112
112
113
114
116
116
119
121
122
123
123
124
123
117
118
119
119
118
117
116
117
116
116
116
116
114
114
118
118
120
121
121
120
119
118
111
110
110
110
112
115
117
118
119
118
119
118
117
115
112
107
105
105
107
110
112
109
110
112
116
117
115
115
118
112
108
101
99
97
97
103
113
114
115
117
120
125
126
129
134
133
132
133
133
124
127
127
121
114
108
106
105
107
112
114
115
118
118
106
105
99
96
92
87
86
86
87
91
92
96
100
103
97
98
99
99
100
98
98
98
100
103
112
118
122
123
123
124
126
123
119
120
119
121
120
120
121
123
119
117
115
116
117
119
126
130
133
130
129
129
128
122
119
115
112
107
101
94
89
81
80
81
81
84
85
88
96
98
88
90
94
99
100
103
104
106
115
121
121
120
115
77
72
76
82
89
98
101
100
100
98
96
97
96
96
96
94
97
99
103
106
110
118
119
118
117
118
123
127
133
140
139
136
133
126
118
110
101
99
96
94
93
91
87
78
77
75
74
247
243
245
243
235
229
217
200
179
155
149
163
173
181
183
186
191
194
199
204
206
204
207
208
207
205
203
204
200
199
198
195
194
191
189
186
187
188
190
189
186
185
186
185
183
178
174
166
163
161
156
147
141
139
138
137
135
134
131
128
125
123
120
117
115
115
115
115
114
114
110
110
111
112
112
114
115
117
120
121
121
122
123
122
118
119
118
117
116
115
114
116
116
115
115
115
115
113
116
117
117
118
119
118
118
115
109
106
106
108
110
113
112
114
113
114
114
114
112
111
110
106
103
103
104
104
105
103
111
113
112
113
112
114
114
109
107
105
102
101
99
108
115
117
118
120
122
126
127
128
132
130
129
128
129
123
123
121
118
112
107
105
103
105
109
110
110
110
112
99
98
94
91
88
87
85
86
88
91
95
96
100
103
93
95
97
98
96
94
94
90
93
95
103
105
109
110
112
114
116
116
115
114
112
117
116
115
118
121
119
117
119
120
123
124
131
135
138
136
134
133
131
124
120
115
110
105
99
93
85
76
74
77
78
80
82
86
94
97
89
90
93
97
101
103
106
107
114
118
117
114
106
69
58
63
69
81
91
98
96
97
97
96
93
93
91
91
90
93
98
103
107
111
113
116
117
121
123
125
126
131
137
137
135
131
125
113
101
93
91
88
86
86
86
82
72
71
69
67
244
240
240
236
225
215
202
173
166
156
152
161
172
181
180
183
188
193
198
201
205
203
202
204
204
203
199
198
196
194
190
187
185
180
180
180
182
183
184
185
181
180
186
185
183
178
174
167
163
159
154
146
141
139
138
138
133
133
131
129
127
124
121
115
114
112
111
108
109
110
106
106
107
108
108
110
111
113
116
117
118
119
120
120
118
120
120
119
115
114
115
113
113
113
112
112
112
112
113
114
116
117
116
116
116
116
111
110
107
106
105
104
104
111
111
111
111
110
110
111
111
110
108
104
103
102
102
101
109
110
109
108
108
111
113
110
112
116
117
115
113
117
120
121
122
123
125
126
123
124
126
125
123
123
124
121
120
115
112
109
109
108
107
107
107
105
105
104
104
100
100
98
97
98
96
95
92
93
96
100
100
103
103
96
97
98
96
93
92
91
90
91
90
89
89
91
92
93
93
96
95
94
93
90
92
90
92
94
97
97
98
110
113
114
118
127
131
136
140
142
139
137
130
125
123
120
118
112
105
100
89
88
83
84
84
86
86
91
96
90
91
92
95
97
100
101
103
107
111
111
108
98
74
47
51
59
69
80
87
91
88
89
87
88
87
88
86
94
94
94
98
100
103
110
104
109
116
118
119
118
119
125
122
118
111
103
95
87
85
83
80
83
84
85
84
68
67
65
63
245
241
239
235
219
206
191
178
169
155
150
166
171
172
177
181
185
189
193
198
200
200
200
199
199
200
198
195
194
191
187
181
179
176
175
179
177
177
179
180
186
188
191
190
189
186
183
177
175
165
162
155
152
148
145
138
130
129
129
128
126
123
117
115
111
108
106
104
104
104
102
103
103
104
105
107
107
109
112
114
115
116
118
118
119
118
118
117
114
113
111
113
111
111
111
111
111
110
109
110
112
112
113
114
114
113
111
108
108
107
106
105
105
110
107
107
107
108
110
110
113
111
111
110
108
106
103
108
103
103
105
109
111
112
112
112
113
113
117
121
125
127
126
125
125
126
125
126
124
126
122
117
113
112
112
113
112
110
108
106
105
106
107
107
105
104
103
102
102
107
107
104
104
105
106
104
100
102
103
104
102
103
103
99
97
95
89
88
88
88
82
83
85
85
89
90
90
93
93
92
90
80
76
68
70
68
70
70
69
72
73
94
95
100
105
117
122
129
129
131
130
129
129
127
126
121
121
117
114
111
105
103
104
105
105
107
107
112
115
108
108
107
108
107
108
109
109
110
111
111
110
105
97
73
70
71
75
82
86
92
90
88
88
88
86
86
87
100
100
100
100
101
102
104
102
101
100
101
104
108
109
108
104
100
96
91
88
86
87
84
84
85
89
92
94
83
82
79
77
250
246
245
240
223
209
195
186
173
156
148
166
170
166
176
179
183
188
193
195
199
200
198
198
198
200
195
192
194
191
185
181
178
175
175
175
175
174
177
179
190
192
194
194
194
190
188
183
181
170
167
161
157
153
147
137
128
129
129
128
126
121
117
113
111
108
105
101
101
104
102
102
103
103
104
106
107
108
111
113
114
115
118
117
117
118
118
115
112
111
111
113
113
111
111
111
111
111
105
106
108
110
112
112
111
111
106
106
107
107
105
105
105
107
106
105
106
107
108
109
110
111
112
111
107
105
103
110
101
101
104
110
112
111
109
110
111
110
114
119
125
132
128
127
128
127
126
126
127
127
120
113
109
107
106
110
110
109
107
106
104
103
106
105
104
103
102
101
101
109
106
105
103
105
106
104
103
103
106
105
104
103
104
99
97
92
87
86
86
87
84
85
84
81
83
82
83
95
95
94
91
76
70
64
60
59
59
59
58
60
63
83
86
91
98
109
115
121
122
124
123
123
125
124
123
115
114
113
112
110
106
105
104
107
108
109
112
117
119
118
117
116
115
115
114
114
118
118
117
116
116
111
107
89
87
85
86
91
94
101
99
99
98
96
95
94
93
98
100
102
104
104
103
100
104
100
97
97
102
106
108
99
99
97
96
93
90
89
89
86
86
87
91
95
95
95
93
91
89
253
253
252
251
238
232
228
213
197
167
154
165
168
174
177
180
184
188
192
195
197
196
198
197
195
196
194
193
189
184
180
179
174
171
171
170
170
173
176
180
186
188
194
195
197
196
195
188
185
177
173
167
163
161
156
144
133
130
124
121
120
119
115
112
109
103
100
100
100
98
97
99
100
101
101
102
105
108
110
111
111
113
116
117
116
116
116
115
114
111
107
108
106
106
106
107
106
108
104
106
108
106
106
106
108
108
108
106
107
107
107
108
108
107
107
106
107
107
108
106
108
107
107
107
107
108
108
108
104
101
102
103
104
105
106
106
108
110
114
114
115
128
129
131
135
135
135
134
128
123
109
103
100
95
92
97
97
99
101
101
99
99
101
102
102
102
101
101
101
102
106
111
111
111
110
108
110
110
108
104
103
105
106
101
100
96
90
87
86
85
81
82
82
81
79
79
77
86
84
83
80
69
62
55
51
50
47
48
49
49
44
64
67
72
80
95
97
103
110
112
111
112
109
106
104
101
100
100
97
97
99
102
101
104
106
107
108
114
117
115
115
115
115
114
113
113
114
114
114
113
112
110
108
111
108
105
104
103
102
108
112
111
110
110
109
108
107
107
107
107
109
110
111
109
107
104
101
101
105
107
107
102
102
102
100
99
98
97
96
95
95
96
95
97
98
104
105
107
108
255
255
255
253
247
245
243
229
221
201
175
160
167
168
177
180
185
190
194
196
199
198
197
195
195
192
188
187
184
180
175
174
171
164
166
168
169
169
172
176
182
184
195
196
198
197
196
189
185
184
180
173
170
167
162
150
134
129
124
119
116
115
114
106
103
99
95
94
95
94
97
97
97
96
96
99
103
107
110
110
111
111
113
112
116
116
116
115
112
110
107
107
106
106
103
104
105
106
103
104
106
106
103
103
104
105
108
108
108
109
109
110
110
109
109
110
110
108
107
107
105
106
107
105
106
107
107
111
112
111
111
110
109
109
103
101
104
106
109
110
112
120
121
124
128
131
131
131
128
122
106
99
93
89
86
95
94
94
96
96
97
96
100
99
100
100
102
102
103
102
107
118
119
119
115
114
112
110
110
108
107
110
110
104
103
101
93
90
88
87
82
81
80
79
78
79
78
81
79
75
70
68
66
61
57
55
56
55
57
54
51
67
69
71
76
86
88
92
92
94
93
93
89
86
84
79
80
79
79
81
83
84
83
87
91
94
98
106
110
113
112
111
109
108
107
108
107
105
104
103
101
102
105
114
111
108
108
107
104
106
108
108
107
107
107
108
109
101
103
106
109
110
110
114
121
118
115
111
110
110
110
108
109
110
112
112
110
109
107
105
102
100
97
95
94
103
105
107
109
255
255
253
252
248
246
246
237
230
215
187
158
165
166
177
180
185
188
194
196
198
198
197
195
194
191
187
186
179
175
172
172
168
161
163
168
166
168
170
174
181
183
194
196
198
197
196
190
187
183
179
172
169
166
162
150
137
132
126
120
117
116
111
105
102
98
94
94
94
93
96
97
96
95
95
98
102
106
109
110
111
112
113
112
116
116
116
115
113
109
107
106
105
104
104
102
103
104
102
104
105
105
103
103
104
104
109
109
108
109
110
111
111
110
112
112
110
109
108
107
105
106
105
105
106
107
107
111
113
112
112
111
110
108
103
101
102
104
107
109
111
115
115
118
121
124
125
124
121
118
107
102
96
90
86
98
96
95
95
96
94
93
96
97
96
96
97
98
99
101
106
116
117
116
114
113
112
112
111
107
107
110
113
105
104
103
95
93
89
89
83
83
83
80
81
80
82
83
81
76
72
69
68
66
62
62
63
63
66
64
61
73
73
75
78
89
90
92
89
90
88
86
83
80
77
71
72
72
70
70
70
71
72
77
82
87
91
100
104
104
104
102
102
100
101
102
99
98
95
95
95
94
97
106
103
102
103
103
100
103
102
101
100
100
100
103
105
99
102
105
107
110
113
121
128
128
123
118
114
113
113
115
114
112
111
112
112
113
110
108
105
99
96
93
92
99
100
102
104
253
252
252
251
249
246
244
245
225
221
209
150
155
159
175
178
182
186
189
194
196
194
194
192
190
188
186
185
180
177
175
175
172
163
163
168
166
165
167
171
178
181
190
193
196
197
198
194
192
187
183
176
173
170
166
154
143
140
134
129
124
118
105
106
103
97
95
94
95
93
94
95
97
97
97
99
101
103
107
110
112
114
115
114
116
117
116
115
114
112
107
106
103
102
101
101
100
101
98
100
102
104
104
105
107
109
109
110
111
111
112
113
113
114
115
114
114
112
109
106
104
103
104
106
107
108
108
108
107
104
104
105
105
103
102
99
95
95
96
98
100
106
106
108
114
118
121
120
119
113
103
101
98
95
91
102
101
97
96
98
98
101
102
102
99
98
97
100
101
101
105
110
111
110
109
110
113
112
110
102
103
106
108
103
103
100
98
96
96
94
89
89
87
83
85
87
88
90
88
83
78
71
70
67
68
69
71
72
74
72
68
72
71
74
77
85
87
89
90
89
86
83
76
71
69
62
62
62
63
62
63
63
64
71
77
83
88
95
98
91
90
88
87
87
89
89
88
88
86
86
85
83
82
84
82
83
85
85
83
87
90
88
85
83
85
86
88
88
90
95
98
100
109
132
131
133
131
127
120
112
110
112
112
112
114
116
118
119
117
115
110
104
100
95
94
86
87
88
90
252
252
255
255
254
249
243
238
219
214
202
160
170
177
175
177
180
187
194
196
197
193
193
195
194
192
187
186
185
182
179
176
174
169
164
165
167
167
169
172
183
187
192
194
198
199
201
200
198
192
191
186
182
176
170
162
144
139
133
127
122
117
107
99
99
99
96
92
88
92
97
99
100
102
104
104
104
106
110
112
113
114
118
118
114
112
109
107
107
107
105
103
103
102
101
101
100
99
98
99
98
98
98
97
100
102
105
107
109
108
109
111
113
110
112
113
110
107
104
102
101
101
101
102
104
106
108
101
105
107
107
107
108
107
104
100
97
97
96
96
95
107
109
112
112
114
117
118
116
115
110
107
104
100
98
101
99
95
94
94
96
97
94
95
94
92
91
88
86
99
102
107
105
105
106
107
102
99
97
92
94
94
96
95
98
100
102
103
106
105
107
107
104
97
94
93
92
104
104
103
95
80
77
75
75
72
69
69
69
71
71
90
90
88
87
88
88
90
87
87
88
90
90
87
86
74
72
69
68
69
63
59
57
63
71
78
83
90
92
99
105
106
99
94
94
94
95
96
97
99
98
97
96
101
98
96
94
92
92
90
85
84
81
78
77
74
74
84
86
89
92
98
109
133
133
130
124
117
107
94
80
93
94
97
101
107
112
116
114
113
110
109
107
104
100
95
95
94
92
252
251
255
255
254
249
243
239
226
222
207
155
165
176
176
178
181
185
191
194
195
193
195
195
194
192
190
188
183
180
177
175
174
169
167
168
169
171
173
174
185
189
192
194
198
199
201
201
199
193
191
186
181
176
170
163
147
142
135
128
123
119
110
101
101
100
98
94
90
94
96
97
99
100
102
102
102
105
108
111
111
113
117
117
117
114
110
107
106
106
105
103
103
102
101
100
100
99
97
98
99
97
97
97
100
101
104
106
108
108
109
110
112
109
110
111
110
106
104
102
99
99
100
100
102
104
105
102
104
105
105
105
105
105
102
99
97
96
97
95
93
101
104
107
108
109
113
113
113
112
108
107
104
100
98
105
103
101
100
100
100
101
99
99
100
99
96
94
93
101
103
110
108
106
105
106
101
100
96
92
94
94
95
96
97
99
103
105
105
107
110
107
105
98
97
95
96
102
102
99
94
78
77
78
78
75
73
73
75
75
75
94
94
91
91
87
87
88
87
88
89
91
91
90
87
77
74
71
69
68
64
61
61
66
74
81
85
92
94
100
105
106
101
94
93
94
94
95
96
98
100
98
98
102
101
97
95
92
92
89
88
85
83
82
80
79
75
82
86
89
92
98
108
130
132
131
126
117
105
90
79
87
90
93
98
103
108
111
111
110
109
109
109
106
102
96
95
94
91
249
251
254
255
255
250
244
239
235
230
213
155
156
169
175
177
180
183
190
191
191
196
196
196
195
196
192
191
186
183
180
176
177
178
175
175
176
177
179
181
191
195
192
194
196
198
200
202
201
196
193
186
181
176
173
170
155
149
141
131
126
122
114
108
108
105
102
99
98
98
95
97
98
100
101
101
101
104
108
110
111
113
117
118
123
118
112
108
106
105
104
102
101
101
100
99
98
98
96
97
97
95
94
95
96
97
101
104
105
106
105
107
108
108
107
104
103
103
103
101
98
95
95
96
97
99
99
101
103
103
102
101
102
101
98
95
93
91
88
86
83
87
93
97
98
100
102
104
106
105
107
107
105
104
102
107
106
104
103
104
103
103
101
103
103
104
104
104
104
109
110
114
112
109
106
102
100
99
94
93
94
94
95
99
100
102
108
108
111
112
112
112
110
107
106
105
104
98
97
91
85
81
84
86
84
83
84
85
88
90
90
104
103
100
99
93
92
90
92
93
93
96
97
94
92
83
80
75
71
70
70
70
71
75
78
83
87
91
93
103
106
106
101
97
94
93
93
94
94
97
99
100
103
103
103
101
99
94
92
87
86
88
88
90
90
86
82
81
82
86
89
93
100
121
124
126
123
111
93
77
68
86
90
96
103
107
109
110
105
106
109
112
114
114
111
103
101
97
92
248
250
254
255
255
251
247
240
234
223
214
172
152
152
173
177
180
184
189
192
193
192
195
195
195
194
192
191
191
190
188
189
188
187
183
179
180
182
181
183
192
196
190
191
193
194
197
201
201
197
195
190
186
182
179
176
158
153
146
139
133
126
117
113
110
107
104
102
101
98
95
95
97
98
98
98
98
98
102
105
106
109
113
114
122
119
115
111
109
107
105
102
102
101
100
99
99
98
95
96
95
94
93
92
92
94
97
98
99
100
101
101
102
105
105
102
101
100
100
97
97
94
93
93
93
94
95
98
99
100
101
100
99
99
98
91
91
89
89
87
86
93
100
103
103
105
107
107
108
107
109
108
106
104
102
110
110
111
110
108
107
108
108
108
109
110
111
112
112
116
113
113
114
111
108
104
101
98
98
97
97
98
99
108
109
112
118
119
120
122
121
123
126
124
118
113
110
107
103
97
90
89
91
93
93
93
95
98
100
101
100
107
106
106
103
99
97
98
96
97
97
100
100
98
96
91
88
85
80
77
78
79
77
78
80
81
81
86
88
107
108
106
100
97
92
89
91
91
91
93
95
98
102
101
102
102
101
97
93
86
84
85
86
88
90
90
89
79
81
83
84
87
93
109
113
113
110
101
88
76
67
85
89
95
102
106
108
107
108
108
109
111
114
115
115
110
108
105
101
248
249
253
255
255
252
248
242
239
227
220
176
150
147
171
173
176
180
188
190
190
192
192
192
193
193
190
189
190
190
190
191
191
187
182
182
183
183
184
186
195
199
189
190
192
192
195
200
201
197
196
192
189
186
182
177
162
157
151
145
139
132
118
116
110
106
104
103
103
97
95
96
97
98
98
98
97
96
100
103
104
107
111
113
119
117
114
112
111
108
104
101
101
100
100
99
98
97
95
95
96
93
92
90
92
93
94
96
98
97
98
100
102
103
104
104
103
99
97
96
94
92
91
88
89
89
90
94
96
97
97
98
98
97
97
91
90
92
95
97
98
99
105
108
108
110
110
110
108
109
107
106
103
101
99
111
111
111
112
110
108
106
110
109
109
109
110
111
112
117
115
112
111
113
111
106
103
102
99
101
101
100
101
113
114
118
123
125
127
129
131
131
130
126
121
119
115
113
108
101
97
94
96
97
102
101
105
107
109
109
107
112
111
109
105
100
98
96
99
99
98
99
101
99
97
93
93
89
84
81
80
81
81
79
80
81
81
85
88
108
108
105
100
95
92
88
89
90
90
89
92
95
99
98
99
101
101
99
94
86
85
86
88
90
92
93
95
79
82
83
84
86
91
105
109
109
105
99
91
82
74
89
92
97
103
107
109
109
111
110
109
110
112
114
115
109
108
106
104
249
251
255
255
255
255
255
244
245
239
236
198
153
124
160
163
170
174
178
181
185
188
188
188
188
188
187
189
191
192
194
193
192
187
184
187
186
185
190
195
200
198
189
191
195
197
200
205
204
204
200
194
190
188
187
183
169
164
158
151
145
136
126
121
117
112
108
104
102
100
96
97
98
99
99
99
98
97
98
100
102
104
106
107
115
114
113
111
109
105
102
99
98
97
97
97
98
99
99
96
96
96
94
94
92
92
90
92
93
95
98
98
99
100
100
100
100
100
99
99
94
91
89
88
88
86
87
92
89
88
87
87
88
88
87
98
101
104
107
110
111
110
116
118
118
118
117
115
111
109
107
107
103
96
90
107
106
104
104
107
108
109
108
109
105
106
106
107
107
117
116
111
111
110
108
108
111
104
100
103
106
109
109
121
123
122
127
130
136
138
140
139
135
129
128
129
128
116
113
108
106
108
107
108
110
115
118
119
118
118
121
118
116
112
108
101
99
98
96
96
97
98
99
100
100
101
97
95
93
87
83
83
86
84
81
82
83
83
84
103
103
101
99
96
90
88
86
85
83
82
82
84
87
90
93
95
95
95
95
92
87
87
90
92
94
96
102
87
87
86
88
89
91
96
101
99
98
96
91
86
85
96
99
104
109
112
114
113
118
117
117
116
115
115
114
108
107
105
102
248
251
255
255
255
255
255
250
246
242
238
213
167
126
155
160
165
168
173
177
179
184
186
186
185
185
185
185
189
190
192
193
193
188
187
186
184
185
189
194
198
199
191
193
196
198
201
205
204
205
202
196
192
190
189
184
172
167
161
152
146
139
126
122
118
111
108
106
106
104
101
102
102
102
101
100
99
96
96
97
98
98
99
100
109
109
108
107
105
102
99
97
96
95
94
94
95
96
97
97
97
95
95
93
93
91
89
90
92
95
95
97
97
101
101
99
99
99
99
97
94
91
90
88
88
88
88
86
87
87
87
88
92
93
100
109
113
115
118
122
124
120
125
127
126
124
120
116
112
110
104
101
97
92
88
99
99
102
103
105
107
110
107
107
107
108
109
110
110
112
111
111
113
113
114
113
111
108
108
109
112
111
111
117
119
119
125
129
133
135
138
136
135
130
127
126
123
120
118
115
114
113
113
111
114
115
119
118
116
118
118
111
110
108
103
100
98
98
97
98
97
98
100
101
101
102
98
94
92
90
87
86
89
88
87
85
85
85
83
95
95
94
93
91
87
86
81
79
79
78
78
80
84
80
82
87
89
90
87
85
86
88
90
94
98
99
101
98
98
98
99
97
98
95
100
101
98
97
95
91
90
98
100
105
109
113
115
117
116
116
116
115
114
113
113
106
105
103
99
248
249
253
255
255
255
255
254
248
243
241
221
175
129
152
155
160
163
170
173
175
181
183
183
183
184
184
183
187
188
189
190
190
189
186
184
184
186
187
191
198
200
192
194
197
198
201
204
203
199
196
191
188
186
184
179
171
167
161
154
146
139
129
122
118
113
108
107
106
105
104
104
104
104
103
101
100
98
98
98
98
98
98
98
107
107
106
105
103
101
99
97
96
95
94
94
94
95
95
95
95
95
94
94
92
92
88
90
91
93
93
94
95
98
98
98
98
96
96
96
92
91
89
87
86
86
85
86
86
88
89
91
93
96
99
107
110
113
116
119
122
126
132
134
131
127
121
116
111
108
101
97
92
91
88
95
97
100
102
104
108
109
107
108
109
111
112
115
116
113
113
113
114
113
114
114
111
109
111
113
113
113
113
114
114
117
121
127
132
132
137
136
135
133
129
125
122
126
123
118
116
116
114
115
113
114
114
116
116
115
115
106
105
104
102
100
99
99
98
96
97
98
99
100
101
100
97
95
93
91
87
88
93
90
89
88
88
85
85
90
90
90
88
88
83
82
78
76
75
75
76
77
81
75
78
82
86
88
86
83
86
89
92
95
99
100
102
103
104
104
103
103
100
96
101
100
98
97
96
93
92
97
99
102
106
109
112
115
114
114
113
113
112
111
111
105
104
101
97
248
249
253
255
255
255
255
255
250
249
245
237
202
145
151
155
159
163
168
171
175
179
179
179
180
180
179
179
181
182
183
183
185
187
186
185
186
185
185
187
194
197
191
193
195
195
197
198
197
196
194
189
187
185
182
175
166
162
157
152
147
143
132
126
120
115
111
109
106
103
106
106
107
107
106
105
104
103
103
103
102
102
101
101
102
103
103
103
102
100
98
96
95
93
92
91
91
92
92
93
92
93
94
92
93
91
89
88
90
91
92
94
92
95
95
95
93
93
93
93
89
89
87
85
84
82
81
85
87
88
90
92
95
97
98
105
109
112
116
121
126
130
133
134
131
126
120
117
108
105
94
87
85
86
87
89
92
98
100
102
105
106
109
112
116
118
119
121
121
121
121
120
119
118
116
115
115
116
117
116
115
117
119
113
113
115
119
123
127
127
134
134
133
129
127
123
120
131
126
120
117
117
119
118
115
113
110
109
109
108
107
102
101
100
100
101
101
100
101
100
99
98
97
96
96
97
92
91
91
92
90
92
94
94
94
95
94
92
92
88
87
86
84
83
78
76
73
73
70
69
68
67
71
67
70
74
79
84
86
89
91
94
100
103
106
105
105
115
116
114
111
109
106
100
99
98
98
97
97
96
96
93
93
94
95
97
101
104
107
106
106
105
104
103
103
101
100
97
93
248
249
253
255
255
255
255
251
248
253
248
253
227
174
160
163
168
173
178
180
183
178
178
179
179
179
178
178
181
182
183
185
186
191
192
186
187
187
184
183
189
193
189
190
192
192
193
194
192
188
187
183
181
179
176
167
161
157
153
150
147
143
134
130
123
117
112
109
107
101
105
106
107
108
108
108
107
103
103
103
103
103
103
103
102
102
103
103
102
101
100
96
95
94
92
91
91
91
90
91
91
91
92
91
92
90
90
89
90
90
92
93
93
92
92
92
92
92
90
90
87
87
87
86
82
79
78
83
82
83
84
87
89
90
95
100
103
108
113
119
123
124
124
122
120
116
112
109
100
97
82
77
75
81
85
84
85
93
95
96
97
98
109
110
116
117
118
117
117
115
116
120
120
119
118
117
124
124
123
117
117
123
127
116
117
117
119
122
123
125
130
128
127
121
119
117
115
120
123
123
125
122
117
112
112
108
104
103
103
101
99
98
98
98
97
98
99
98
103
102
100
97
95
93
93
94
90
89
91
90
91
93
93
93
95
99
99
97
96
88
87
87
84
80
74
73
74
73
68
66
63
61
63
61
62
66
69
75
83
93
98
101
106
108
110
111
109
124
121
118
114
109
106
101
98
96
96
95
97
97
98
94
93
91
90
91
94
97
99
99
99
98
97
96
96
97
97
94
92
255
255
255
255
255
255
255
255
255
255
250
244
215
175
160
146
163
169
182
182
184
178
175
174
174
176
182
182
183
185
186
188
190
188
188
188
186
186
186
186
191
193
188
188
189
190
190
190
190
181
177
174
171
170
168
160
152
149
148
144
140
136
128
122
120
119
115
111
108
107
105
106
107
108
109
106
105
102
101
100
98
96
96
96
95
95
96
96
98
97
96
95
94
92
92
91
91
91
90
90
89
90
91
90
92
93
90
91
92
92
93
94
95
94
93
93
92
92
91
91
87
88
88
87
86
85
84
80
82
81
82
82
85
88
91
98
102
106
112
115
117
117
120
118
118
118
113
107
97
93
79
75
75
77
80
88
90
95
96
97
100
102
107
110
115
116
116
118
119
113
114
117
118
118
117
117
114
115
116
119
117
114
111
112
111
111
117
118
120
120
124
123
125
127
128
128
127
120
122
121
120
118
119
120
112
109
105
101
94
92
92
89
92
97
97
93
95
95
95
94
92
90
92
93
94
99
94
91
90
90
91
94
96
97
100
103
101
98
99
91
90
87
85
82
73
71
71
70
67
62
60
60
60
62
64
68
75
82
87
96
103
106
111
112
114
115
113
113
112
111
110
109
107
107
113
112
111
112
112
113
113
119
115
111
109
110
112
112
111
107
103
98
93
88
84
86
87
89
91
255
255
255
255
255
255
255
255
255
255
248
240
219
188
170
148
160
167
187
184
183
181
178
176
176
178
184
184
181
182
184
186
185
185
183
179
180
182
183
185
187
188
181
181
181
181
180
179
177
177
172
168
164
162
157
152
144
142
139
139
136
133
127
121
119
118
114
111
109
107
107
107
108
108
108
106
105
104
103
101
100
97
97
97
95
96
96
97
98
97
96
96
94
92
93
91
91
91
89
88
88
88
89
88
89
90
87
88
89
88
89
90
91
91
91
91
90
90
90
90
87
88
88
88
87
86
85
81
82
80
81
81
83
85
88
94
99
103
106
110
112
111
114
113
113
113
108
101
96
91
76
74
75
79
82
87
89
93
93
94
97
99
101
104
110
110
111
113
114
115
116
120
121
121
120
120
121
120
121
123
122
119
116
114
113
112
116
118
117
117
117
120
123
127
125
123
122
119
121
120
119
119
120
120
116
113
108
102
91
88
86
84
86
89
92
93
93
93
92
91
92
91
91
92
91
94
91
88
90
90
91
94
90
92
95
96
94
94
95
85
84
84
82
78
72
71
66
65
65
60
58
60
61
57
60
67
75
81
88
97
107
109
111
112
112
111
107
108
106
104
102
101
101
105
101
103
108
114
118
124
128
132
128
124
121
119
117
116
108
104
101
98
93
86
82
84
85
86
87
255
255
255
255
255
255
255
255
255
254
249
237
221
198
179
150
156
167
189
184
185
186
181
179
179
178
183
184
176
177
179
180
181
178
178
174
176
178
181
181
182
181
174
174
174
173
172
170
168
166
162
156
152
148
145
141
134
132
130
129
128
128
121
119
117
115
112
112
110
109
110
109
109
108
108
105
105
104
103
102
100
97
97
98
96
97
97
98
99
98
97
97
95
93
93
91
90
90
87
86
85
85
85
84
85
86
84
84
85
83
84
85
85
85
85
85
85
86
86
86
86
87
88
88
87
86
86
84
85
84
82
82
85
87
90
95
98
103
106
108
109
114
117
115
115
114
109
103
96
91
79
79
81
83
84
85
87
89
89
89
91
93
97
100
106
107
108
110
112
114
115
119
120
121
121
121
119
117
116
117
116
114
112
115
114
112
116
118
118
118
122
125
128
133
133
132
131
126
124
123
121
121
122
123
124
123
120
117
111
108
106
96
94
94
93
92
91
91
91
92
93
94
93
93
92
94
91
89
93
91
91
93
93
91
93
91
90
91
92
78
78
78
75
73
70
71
65
64
64
60
60
60
63
63
66
72
80
87
92
100
100
103
105
107
108
106
104
99
96
94
92
92
93
100
100
105
112
117
119
122
126
139
136
133
129
125
121
113
106
104
100
95
91
87
83
91
90
90
90
255
255
255
255
255
255
255
255
253
253
249
235
220
199
180
149
155
166
185
183
186
187
181
180
177
178
181
183
176
177
176
177
178
175
174
173
174
174
176
177
175
175
170
170
169
169
169
165
165
161
157
151
145
143
141
136
131
129
128
127
126
123
119
116
116
114
112
110
111
111
111
111
109
108
107
105
105
104
103
101
100
97
97
97
96
97
98
98
100
98
97
97
96
93
93
91
90
89
86
85
84
83
84
82
83
84
83
83
83
82
82
83
83
83
83
83
83
84
84
84
86
87
88
88
88
87
86
85
86
85
85
86
88
90
92
97
101
104
107
110
113
116
118
119
118
117
112
106
97
92
84
85
87
87
86
85
86
87
87
87
88
90
94
97
104
105
107
109
110
114
115
119
121
121
122
122
118
116
114
114
114
112
110
116
114
113
117
120
121
123
126
128
130
134
135
136
136
130
129
126
122
122
121
121
121
121
120
119
116
114
113
100
98
96
94
93
93
92
94
94
94
95
95
96
95
96
94
94
95
95
92
92
94
94
93
90
88
88
90
74
74
74
74
72
68
69
66
65
65
63
62
64
65
70
72
78
82
87
91
98
97
99
102
103
103
102
101
93
92
90
89
90
91
96
95
102
111
118
121
126
132
139
136
135
131
126
120
113
105
103
99
96
92
86
82
94
93
92
91
255
255
255
255
255
255
254
255
251
247
247
236
218
195
177
146
153
165
179
181
190
187
184
180
177
176
178
179
172
173
174
175
175
173
172
170
167
165
163
163
162
163
160
160
161
160
161
160
159
155
150
143
139
136
136
134
127
126
124
122
123
120
113
114
113
111
112
110
110
110
113
112
110
108
107
105
106
102
101
100
98
96
96
96
97
97
98
98
100
99
98
98
96
94
93
91
89
89
84
84
83
82
82
80
81
82
82
82
83
81
81
81
81
78
78
79
79
80
80
80
83
85
86
87
86
86
85
87
89
89
90
91
94
97
95
100
104
109
113
118
119
116
119
117
116
117
112
105
97
95
93
95
96
92
88
84
85
85
84
84
85
86
88
91
98
100
101
103
105
113
115
119
121
122
123
123
119
117
115
114
113
112
110
117
116
116
121
126
127
128
123
125
125
128
131
136
138
142
138
134
129
124
123
122
126
126
126
124
121
118
117
101
98
95
95
99
99
98
101
100
100
98
100
101
101
104
100
99
100
101
94
94
95
92
90
86
83
82
81
72
72
73
73
72
70
71
68
69
67
66
67
67
70
78
79
83
84
87
89
92
98
98
99
98
96
93
90
86
86
87
88
90
89
92
99
107
117
125
127
131
137
139
139
136
133
130
122
116
105
103
100
98
94
89
85
98
97
94
92
254
254
254
255
253
252
252
252
247
245
243
228
214
196
205
169
145
154
176
177
184
179
177
175
174
174
175
176
174
172
169
168
169
166
166
159
158
157
155
153
153
153
148
150
152
154
152
147
146
142
138
137
134
133
129
123
122
122
122
120
118
115
112
111
109
109
108
108
107
105
107
107
108
108
108
105
104
99
98
97
98
97
97
96
97
97
96
96
97
97
96
94
93
92
92
91
89
88
89
87
84
82
82
81
82
84
84
84
85
84
84
85
85
85
85
85
85
85
85
85
87
87
88
88
89
89
89
91
96
95
94
94
94
96
97
100
105
112
119
122
124
119
116
115
113
109
106
102
100
95
93
97
99
95
90
90
88
84
83
83
85
86
87
87
88
90
94
98
100
108
110
118
120
121
120
120
120
120
119
115
113
111
110
115
117
119
118
120
121
125
126
127
129
131
133
137
140
145
146
146
144
138
134
132
130
127
125
124
124
122
119
108
107
108
108
110
112
113
109
108
106
106
107
105
104
104
108
109
108
104
101
102
96
94
91
90
88
83
80
75
75
75
74
74
75
75
75
76
73
75
75
77
76
90
89
87
86
85
88
95
95
98
98
95
92
89
91
85
85
86
87
89
90
95
103
110
120
127
128
133
138
140
137
135
130
124
118
114
103
102
98
98
96
93
89
101
100
99
97
253
253
252
250
250
251
249
249
244
243
239
223
208
188
208
181
153
149
177
177
179
175
174
172
172
173
174
174
173
171
165
164
163
160
159
155
154
150
149
148
147
148
142
144
146
145
146
142
139
138
134
133
130
130
126
120
119
119
118
116
115
112
108
110
108
106
107
106
105
101
106
106
107
107
107
104
102
97
96
95
95
95
95
94
97
97
96
95
96
95
94
93
92
91
91
90
88
87
88
87
85
83
83
82
84
85
85
85
86
84
84
84
84
88
88
88
88
88
88
88
89
89
89
90
90
90
90
94
96
96
96
96
97
97
98
101
106
114
122
126
128
120
118
116
113
108
102
99
94
93
94
95
96
94
92
91
89
84
83
83
85
85
86
85
88
91
95
99
102
108
110
116
118
118
118
117
121
121
121
118
115
112
110
116
115
115
117
119
118
119
120
125
127
130
132
134
135
144
145
145
145
144
141
138
136
133
128
125
122
121
119
116
116
117
117
115
115
114
111
110
110
109
109
108
106
107
108
107
106
106
101
99
95
94
92
89
88
84
83
78
78
78
79
77
77
79
80
79
79
79
79
81
80
91
91
89
87
89
90
96
95
98
98
96
94
92
92
89
88
87
88
90
93
100
108
114
122
128
129
132
136
133
134
131
128
123
118
115
105
103
100
96
96
93
91
103
102
101
99
244
244
244
245
247
246
246
245
239
238
236
218
202
182
180
186
165
145
168
170
173
169
168
167
168
169
172
174
168
165
159
156
155
151
147
145
144
142
140
139
140
138
136
137
136
137
137
134
133
132
130
127
125
125
123
116
114
113
112
110
108
106
105
105
105
103
102
101
102
98
103
103
103
103
102
99
97
95
94
93
94
94
95
94
96
95
94
92
92
90
89
89
89
88
88
86
85
84
85
85
85
85
85
84
86
86
87
87
87
86
86
86
86
90
90
90
90
90
90
90
93
93
92
92
92
92
92
96
97
98
100
99
100
98
99
104
111
120
125
129
131
122
117
116
110
104
96
90
85
90
94
93
91
91
92
86
85
83
84
86
88
90
84
85
88
92
97
102
105
112
112
114
115
115
114
114
118
120
122
123
122
119
117
116
113
113
121
122
119
116
118
120
122
123
126
130
135
142
143
145
148
150
148
147
143
137
131
127
120
121
122
126
128
133
133
127
124
120
119
118
117
117
115
112
109
109
104
102
103
106
101
96
97
93
91
91
89
86
87
86
87
85
86
85
85
83
87
84
83
81
82
84
82
95
93
91
89
91
92
96
96
96
97
97
97
98
97
97
96
95
95
98
101
110
118
122
126
130
130
131
131
122
122
124
123
121
116
113
111
107
102
96
95
94
94
103
102
101
99
231
234
239
243
245
245
244
244
239
239
236
225
212
194
170
178
155
134
163
163
174
169
168
167
167
168
171
170
162
159
155
153
149
146
144
142
141
140
136
135
136
136
132
132
132
132
130
130
131
127
124
123
121
122
118
113
109
108
106
105
104
103
104
104
102
102
101
101
100
96
99
99
99
98
97
93
91
91
90
89
91
91
92
92
92
92
91
89
90
88
87
87
86
85
85
84
82
81
81
82
83
84
86
85
86
86
85
87
88
88
89
90
91
94
94
94
94
94
94
94
96
96
96
95
95
94
94
98
96
97
100
101
101
99
99
105
113
119
125
128
129
117
115
111
107
100
90
84
88
91
94
95
92
91
89
87
86
82
81
82
84
85
86
86
89
92
97
101
104
112
112
110
110
109
109
109
113
115
118
125
129
131
132
132
130
129
128
124
118
115
113
117
120
126
128
132
136
145
146
148
148
147
145
142
139
136
132
128
118
118
121
134
137
143
146
147
144
142
136
134
131
128
120
114
109
104
103
103
103
103
100
97
96
93
90
90
88
90
91
92
91
93
92
90
90
91
90
87
84
84
84
86
85
94
93
91
89
89
92
95
95
94
95
97
100
102
102
102
103
104
106
109
111
117
124
126
128
131
131
131
130
121
119
118
116
114
113
111
110
107
103
100
99
96
95
103
102
101
99
227
231
237
243
246
245
243
245
240
239
237
227
216
199
177
178
148
129
164
163
173
169
168
167
167
168
170
170
161
158
155
152
149
146
143
142
141
140
136
136
136
136
130
130
130
130
129
129
127
125
122
121
119
120
117
111
109
107
105
105
103
103
104
104
102
102
101
101
100
96
97
97
97
97
95
91
89
88
87
87
88
89
90
90
91
90
90
88
89
88
87
86
85
84
85
83
81
80
80
81
82
84
85
85
85
86
85
86
88
88
90
91
92
96
96
96
96
96
96
96
97
96
96
95
94
94
94
97
95
96
100
103
101
99
99
106
113
119
125
127
127
115
114
110
106
97
89
82
90
91
94
96
93
91
87
90
88
82
80
80
80
81
87
87
89
92
97
101
103
112
111
109
109
108
108
108
113
114
117
127
132
136
138
140
138
135
130
123
117
114
109
115
121
130
131
132
135
147
147
149
148
145
143
138
138
136
133
126
117
117
118
130
135
140
146
148
147
144
141
138
135
131
122
115
109
103
104
103
104
102
99
100
96
95
92
89
87
89
90
93
92
93
94
92
92
91
93
88
87
86
86
87
85
94
92
91
89
89
90
95
95
94
93
97
101
103
101
103
104
106
109
112
114
119
125
126
128
131
132
132
130
119
119
117
114
112
112
111
110
107
103
101
99
96
94
103
102
101
99
219
231
240
238
240
242
236
238
235
231
229
229
221
211
194
163
132
128
165
167
164
159
157
157
154
150
152
152
152
150
148
146
145
143
143
139
139
137
136
134
134
135
128
129
128
127
125
121
118
119
119
119
120
118
118
116
109
108
108
106
105
104
102
102
102
101
101
99
97
93
96
94
90
88
86
86
87
88
89
89
91
92
93
94
92
92
91
90
90
89
88
89
88
86
86
85
85
85
83
84
84
84
83
82
85
87
85
86
87
86
88
91
94
96
97
97
97
97
97
95
97
97
94
90
88
88
89
87
85
88
89
90
89
89
91
99
107
115
120
122
122
116
112
110
106
101
96
92
92
91
87
85
83
82
80
77
77
78
79
79
78
80
87
92
97
98
99
102
104
101
101
102
109
114
119
120
121
120
118
114
121
130
133
126
121
118
119
117
106
95
90
83
72
96
105
103
99
103
118
143
158
151
145
144
134
133
128
118
101
103
108
134
137
140
143
145
143
140
143
140
137
132
121
116
113
95
92
90
89
87
88
93
90
89
88
87
87
89
89
93
94
98
99
102
104
101
100
99
97
96
93
90
85
93
91
88
88
87
90
99
98
100
103
106
107
111
113
112
112
109
110
112
115
121
121
122
124
127
129
130
128
121
118
111
109
109
111
111
112
112
111
110
108
105
103
95
95
95
94
238
244
247
245
246
246
245
245
241
238
234
235
231
225
206
184
158
143
145
152
150
152
150
148
145
142
145
144
147
145
143
145
146
145
147
146
141
133
129
131
133
131
132
131
130
130
127
121
121
119
120
118
117
116
114
111
108
108
107
106
105
104
103
101
101
100
100
98
96
92
91
90
88
87
86
87
87
88
88
89
90
91
92
92
91
90
90
89
90
89
88
90
89
88
87
86
86
87
86
87
88
86
85
82
83
84
83
85
85
83
85
88
91
97
98
98
99
100
100
97
98
98
95
93
92
91
91
87
86
87
88
88
89
87
88
91
96
103
109
115
117
110
107
105
103
99
95
92
89
89
88
88
89
89
87
85
84
81
82
80
80
83
86
89
98
100
100
99
98
92
95
110
118
126
126
119
109
93
90
119
140
163
181
149
157
160
143
134
126
121
109
104
100
99
108
115
114
177
151
117
103
153
167
151
137
108
95
104
119
114
107
137
139
143
146
147
144
142
141
138
136
132
121
115
110
95
93
93
93
91
86
89
91
91
91
90
90
92
92
94
96
95
96
95
95
96
98
98
96
96
93
90
85
95
93
91
91
90
92
97
102
104
106
110
112
113
115
110
110
110
110
112
114
118
121
122
123
124
125
125
125
115
111
107
106
109
110
110
107
107
107
106
106
103
101
95
95
95
94
247
249
251
250
249
248
246
248
246
242
236
233
228
222
210
193
174
153
135
147
144
148
143
141
137
136
137
138
134
135
136
137
139
141
143
142
138
131
128
129
129
128
133
132
132
129
128
125
123
120
118
118
117
116
112
109
108
108
107
107
106
105
105
102
102
102
101
99
97
94
91
90
89
88
87
87
87
87
88
88
89
90
90
91
90
89
89
88
89
89
88
90
89
88
87
86
86
87
86
88
88
87
85
82
82
83
81
83
83
81
82
85
88
97
99
98
100
100
100
98
99
97
96
95
94
93
92
90
87
87
88
88
88
87
86
87
91
97
105
109
111
108
103
100
99
96
93
89
88
88
88
89
90
90
89
89
87
82
80
80
82
87
86
90
98
101
102
101
100
93
98
117
122
122
115
107
98
96
102
123
131
146
157
160
161
160
147
141
127
117
122
115
111
90
98
108
108
186
161
123
97
135
158
157
132
106
96
105
123
117
111
140
142
145
147
147
145
143
139
136
133
129
117
111
108
95
94
94
94
92
87
91
93
93
94
95
96
96
96
97
96
96
95
95
94
95
96
96
96
94
92
89
85
95
94
92
91
91
92
95
102
104
107
110
112
113
115
108
108
110
110
111
112
117
121
121
124
125
125
125
125
115
112
109
108
110
111
109
105
105
105
105
104
103
101
95
95
95
95
254
251
253
255
253
250
249
247
247
246
240
233
225
219
204
199
196
167
122
139
135
138
132
128
124
121
125
124
115
116
120
122
126
125
129
129
131
128
125
123
125
125
130
129
128
126
127
127
127
122
121
119
117
114
110
106
107
107
107
107
106
106
105
106
106
106
105
103
101
97
93
92
92
90
89
87
86
85
85
86
86
86
87
87
88
88
88
87
89
89
88
89
88
86
86
85
85
85
83
85
87
87
85
82
81
82
83
83
83
81
82
85
87
95
98
98
100
100
101
99
98
96
95
96
96
94
92
92
88
90
91
90
89
88
85
87
89
93
96
97
97
100
96
95
94
93
90
84
87
85
88
88
89
87
88
87
87
87
86
83
83
86
91
93
97
102
107
108
107
101
111
128
123
109
94
90
100
124
139
129
115
93
70
70
59
51
66
71
64
50
75
72
84
85
81
62
26
63
70
93
123
122
117
125
122
126
128
128
120
123
130
151
153
153
154
151
148
142
134
130
123
117
107
105
103
97
95
94
93
92
93
98
98
100
100
102
104
103
103
103
101
98
97
93
92
94
94
94
96
95
93
89
85
91
91
91
92
94
96
97
98
101
104
108
109
110
109
107
107
109
110
111
111
115
116
119
120
120
120
119
119
113
109
106
107
108
108
105
98
99
102
101
102
100
99
96
96
95
95
254
255
255
255
255
255
253
249
247
247
244
233
229
219
205
209
205
171
116
132
132
130
121
115
112
110
111
111
99
102
106
110
115
117
118
116
122
122
123
124
120
118
120
117
114
112
115
121
122
121
121
121
116
114
109
103
109
109
109
109
108
107
104
106
106
105
104
103
103
102
95
95
94
93
91
90
89
86
86
86
86
86
86
86
82
83
85
86
88
87
86
87
86
86
86
85
84
83
83
83
83
83
84
82
82
82
81
82
85
85
87
89
89
96
98
97
97
97
97
96
99
99
98
97
95
93
92
93
92
92
91
92
92
92
92
90
89
91
92
94
95
96
91
90
92
93
90
85
87
86
90
90
91
88
88
81
83
86
87
86
86
89
88
94
106
110
111
110
112
112
112
126
122
111
107
110
113
121
98
125
88
23
9
0
0
2
0
10
5
1
3
0
0
0
0
0
5
51
102
112
97
121
107
106
135
140
146
144
121
136
147
150
151
153
154
150
144
141
138
129
120
112
105
100
98
94
94
96
96
98
100
99
103
103
107
109
112
113
113
109
104
99
97
96
95
96
93
93
92
91
91
90
87
90
90
91
92
94
95
95
98
98
100
103
105
106
107
106
107
108
111
112
112
115
117
116
115
117
119
122
119
112
111
109
105
104
101
101
98
100
100
100
101
100
96
90
91
94
96
253
252
253
255
254
252
251
249
244
245
241
233
225
213
202
207
206
175
113
126
128
128
117
111
107
104
106
106
98
99
102
105
109
108
110
110
114
116
116
118
115
113
119
113
107
104
106
116
122
120
121
119
117
113
110
103
108
108
108
108
107
106
103
104
104
104
103
102
101
100
95
95
94
93
91
90
89
86
86
86
86
86
86
86
83
83
84
84
86
86
86
86
86
85
85
84
83
83
82
82
83
83
83
81
82
82
82
83
85
85
87
88
89
96
98
97
97
96
97
96
98
99
97
96
95
93
92
93
93
92
93
92
92
94
92
91
92
92
93
94
95
96
93
92
93
92
91
86
89
88
90
92
92
91
92
84
85
87
88
87
88
92
93
99
109
111
114
114
114
117
115
114
118
124
133
138
125
92
82
68
27
1
0
16
8
19
9
23
16
12
16
12
12
13
7
10
17
19
45
77
87
100
128
135
138
133
131
130
134
145
151
147
149
151
152
149
145
142
137
128
120
113
107
102
100
97
97
98
100
99
100
100
104
105
109
111
112
114
113
107
105
100
99
97
95
95
94
94
94
92
92
91
88
88
89
88
89
90
92
93
95
97
99
102
105
106
105
106
107
110
111
113
112
115
116
115
114
114
117
116
116
111
110
108
104
103
100
100
98
100
100
100
101
100
97
91
92
94
96
249
250
251
252
251
248
247
248
240
238
236
229
219
201
201
199
194
174
119
121
125
124
114
109
104
104
107
105
104
105
103
105
106
100
99
100
101
103
105
107
105
103
114
107
97
92
91
103
109
115
116
116
116
112
109
102
107
107
107
107
106
105
102
101
101
100
100
99
98
97
95
95
94
93
91
90
89
86
86
86
85
85
85
85
84
83
81
80
82
82
84
83
83
82
83
82
82
82
79
80
80
81
82
81
82
83
85
86
87
86
87
88
88
96
98
97
96
95
96
94
95
95
94
94
93
93
93
94
95
95
94
96
95
94
94
95
94
94
96
96
96
94
92
91
93
93
92
89
89
88
90
92
94
96
95
89
90
91
91
93
94
99
102
107
116
120
122
122
122
123
120
108
124
151
160
142
107
99
48
0
0
3
39
17
10
19
7
19
13
11
13
12
14
19
14
15
16
9
7
0
8
88
102
126
133
117
115
122
153
155
144
144
145
147
147
146
142
138
134
131
126
120
113
110
110
109
107
107
106
106
103
102
107
108
111
115
117
117
117
106
106
105
104
104
95
93
92
93
92
93
91
89
84
81
82
82
83
84
85
86
90
92
94
97
100
101
103
108
109
112
113
114
113
114
115
113
113
110
108
106
104
103
102
101
97
96
96
95
98
99
102
103
104
103
100
94
94
94
95
248
247
248
249
247
244
244
243
236
231
227
220
210
195
191
172
157
157
130
118
120
117
109
107
105
105
113
114
122
118
114
111
106
95
91
85
83
83
85
87
84
82
99
97
93
92
91
95
100
107
112
115
115
112
108
103
105
106
106
106
105
104
101
98
97
97
96
95
94
94
95
95
94
93
91
90
89
86
86
85
85
84
83
83
82
81
80
79
80
80
80
79
79
79
80
80
80
80
80
80
82
84
85
85
87
87
88
89
90
90
91
92
93
96
98
96
95
94
94
93
91
91
90
91
92
93
94
94
96
97
98
97
95
93
97
98
99
99
97
96
95
89
89
92
94
95
93
90
89
89
87
90
93
96
96
89
89
90
94
98
102
105
109
113
120
123
124
125
125
124
125
144
146
135
108
70
69
19
3
0
0
27
29
16
13
23
10
22
20
19
14
15
18
24
25
24
21
14
0
0
0
43
80
92
89
112
134
147
138
129
121
142
143
145
144
140
137
135
134
133
131
129
121
119
120
118
118
116
117
115
112
110
112
112
114
115
115
114
113
99
100
101
101
101
95
93
94
93
93
93
93
90
83
72
72
75
75
77
77
80
82
86
89
92
95
99
100
111
112
113
115
115
115
113
111
111
110
106
101
97
96
98
97
96
95
94
94
95
99
99
102
105
107
107
106
95
94
93
92
244
245
246
245
243
242
239
239
232
228
222
211
205
194
171
155
144
153
128
110
115
115
107
105
103
108
118
119
128
126
119
114
108
95
88
82
79
78
79
80
78
75
99
95
93
91
93
99
105
104
111
113
115
112
109
104
107
107
108
108
107
105
103
98
98
98
97
96
95
94
95
95
94
93
91
90
89
86
86
85
85
84
83
82
80
80
80
80
81
79
78
78
78
78
79
79
79
80
81
82
83
85
88
88
89
90
89
90
92
92
94
95
96
96
98
96
95
93
93
92
90
89
89
90
91
93
94
93
96
100
99
97
95
95
98
101
101
100
98
96
95
88
88
92
94
94
94
90
91
89
87
88
91
94
95
87
87
88
93
98
103
108
114
117
123
126
128
128
129
123
136
173
156
118
81
47
31
0
11
20
18
25
13
8
5
16
1
11
7
8
8
8
10
18
19
18
14
2
3
10
4
4
38
73
92
126
152
163
127
113
108
138
140
141
143
141
141
139
133
135
134
130
123
124
123
121
121
121
120
118
115
115
113
112
113
115
114
111
110
97
95
96
97
98
95
93
98
97
97
96
96
94
84
70
70
70
71
73
75
77
79
82
87
91
93
97
98
112
113
112
113
113
113
112
107
108
107
104
98
94
92
98
97
96
95
95
95
96
99
101
104
107
109
109
109
94
92
91
89
243
241
235
235
232
230
227
229
230
230
222
215
207
187
166
150
154
161
108
109
127
128
128
129
125
120
117
115
119
117
111
105
98
87
84
77
75
74
75
76
70
67
65
67
74
77
81
94
104
114
114
112
117
120
117
109
106
106
106
106
104
104
101
100
102
100
99
97
98
96
91
91
90
89
89
88
87
88
88
87
88
86
85
84
83
83
83
82
82
82
81
77
77
76
77
77
79
80
84
84
85
86
89
91
92
92
92
90
90
91
90
90
91
93
94
93
93
92
92
94
91
93
93
94
96
98
102
103
104
104
103
100
99
98
97
99
99
96
95
93
92
71
53
48
56
71
89
101
95
80
54
62
82
104
115
69
70
85
94
102
108
111
119
119
120
120
118
114
114
137
133
155
116
66
30
11
8
19
3
0
17
27
22
6
5
8
2
1
7
7
6
8
8
11
13
10
4
0
13
15
3
48
52
20
17
50
131
192
131
118
137
209
173
125
95
126
156
173
164
154
145
138
111
86
70
94
94
97
105
113
122
122
124
125
124
122
119
112
109
142
111
94
106
131
129
100
105
124
134
120
94
81
114
77
78
78
78
80
82
87
91
92
94
96
98
98
100
110
110
111
112
110
110
107
107
104
100
98
99
98
97
83
84
84
85
91
96
102
109
110
110
107
107
103
98
94
91
86
84
221
225
229
230
218
211
208
213
214
213
204
196
185
163
167
162
161
150
105
109
117
127
127
129
125
123
121
120
126
123
120
115
109
94
88
82
79
77
76
77
72
69
70
74
77
81
84
96
106
110
111
110
111
113
111
106
106
107
107
106
105
104
101
100
102
100
99
97
98
96
92
91
90
89
90
89
88
88
88
87
88
86
85
84
84
84
84
83
83
82
82
79
79
79
79
79
81
82
85
86
87
87
90
92
93
95
94
92
93
93
93
92
92
96
95
93
92
90
91
91
93
93
94
95
99
100
101
103
105
105
106
103
103
102
97
97
98
95
94
94
93
133
124
121
116
112
112
110
108
103
98
99
98
97
97
97
96
96
101
108
115
118
122
122
125
126
127
125
125
130
124
135
122
92
44
6
8
18
3
0
16
26
20
9
8
11
3
2
6
6
6
7
7
10
12
9
3
0
7
7
0
34
37
8
8
57
138
187
138
129
140
128
140
150
150
119
115
128
148
154
142
123
113
128
139
150
153
160
160
152
131
125
124
124
126
128
130
139
140
97
88
84
87
87
92
94
103
107
108
100
90
78
63
82
81
81
81
82
80
80
81
83
85
88
91
94
97
109
110
111
112
111
111
108
107
104
101
99
98
98
96
85
86
87
90
95
100
107
112
111
110
108
106
102
99
94
91
88
85
206
211
217
220
214
209
209
211
212
214
207
185
175
158
177
167
152
134
113
122
122
126
127
131
126
125
126
125
126
124
122
119
112
97
89
83
79
78
77
75
70
67
75
75
76
82
86
98
105
107
108
107
109
110
106
101
107
107
107
107
105
105
102
100
102
100
99
97
98
96
92
91
91
89
90
89
88
88
88
87
88
86
85
84
84
84
84
83
83
82
82
80
80
80
80
81
82
84
86
87
88
87
90
92
93
94
94
95
93
94
94
95
95
96
95
93
91
92
90
89
93
94
95
96
99
101
101
101
103
105
105
103
103
102
96
97
97
94
94
94
94
118
121
119
110
98
87
80
84
88
97
96
91
84
78
116
115
109
110
112
116
118
124
125
130
132
133
134
135
121
117
123
118
94
43
1
8
17
3
0
18
24
18
11
9
13
5
2
6
5
6
7
7
9
11
7
1
0
6
2
0
23
25
0
0
48
130
175
138
132
140
97
122
153
166
129
113
113
127
139
137
125
126
142
153
145
142
132
117
100
90
91
87
85
86
86
84
81
80
67
73
90
100
92
90
96
105
100
96
101
104
92
43
84
85
83
83
82
79
77
80
82
86
89
93
95
100
111
112
113
112
112
111
108
109
107
101
100
99
99
98
88
89
89
94
97
103
108
112
111
109
109
105
100
98
95
92
89
87
173
174
178
183
193
195
197
202
192
179
163
149
154
153
145
137
129
125
129
128
116
129
132
135
131
131
136
136
133
132
132
128
123
113
107
101
97
92
89
86
76
73
84
80
80
82
86
96
100
101
102
103
104
104
101
101
108
108
108
107
106
105
102
100
102
100
99
97
98
96
93
92
91
90
91
90
89
88
88
87
88
86
85
84
83
83
82
82
82
81
81
82
81
81
81
82
83
85
87
87
86
87
89
91
93
93
94
95
94
94
93
94
94
95
94
94
93
91
90
92
94
97
99
100
101
101
101
101
103
104
104
102
101
100
95
95
94
93
94
94
95
83
97
99
91
78
68
68
77
104
145
134
109
79
60
92
100
105
105
111
113
112
116
121
128
128
131
134
138
106
108
118
113
79
23
0
9
17
3
0
17
20
12
9
8
13
6
3
7
5
5
6
6
7
9
5
0
3
4
0
0
6
4
0
0
17
88
132
129
130
134
114
115
121
134
150
142
123
110
113
133
156
146
118
95
64
75
85
80
62
14
0
0
0
13
27
39
53
54
67
75
99
119
115
102
101
104
90
90
116
144
141
67
90
91
92
92
91
86
82
78
80
83
87
91
96
103
112
113
114
115
116
113
112
112
107
104
101
99
99
98
95
97
96
100
104
108
113
112
111
108
106
101
98
94
94
92
90
90
185
182
182
188
198
193
186
165
147
137
141
151
137
116
130
127
130
135
128
136
137
132
134
138
137
138
144
146
135
134
133
130
128
124
119
117
111
105
101
96
85
81
104
100
95
96
99
102
102
105
104
106
107
107
105
108
108
108
108
108
107
106
103
100
102
100
99
97
98
96
93
93
92
91
91
90
89
88
88
87
88
86
85
84
81
81
81
80
80
80
79
81
81
81
81
82
83
85
85
85
85
86
88
89
92
93
94
94
93
94
95
95
95
94
94
93
93
94
94
93
96
98
100
103
103
103
103
107
108
109
108
105
103
102
95
93
93
92
93
95
96
107
104
101
99
98
102
107
119
121
94
68
44
29
22
38
49
54
59
75
90
96
113
121
127
125
123
125
128
113
108
119
116
67
5
0
10
17
7
4
16
15
8
5
6
11
7
4
8
6
5
6
5
6
8
3
0
14
7
0
0
0
0
0
0
7
52
95
130
133
134
142
131
119
114
125
130
129
123
123
123
118
90
76
68
25
28
27
21
12
0
0
0
0
0
0
0
3
6
18
42
85
107
92
68
77
54
59
80
108
130
133
99
93
96
99
101
100
98
91
87
91
91
95
98
103
111
109
110
113
114
115
115
114
112
110
105
102
100
98
96
102
101
102
101
105
109
112
110
108
106
103
100
96
92
95
94
93
93
129
142
151
152
155
152
146
154
147
144
146
134
126
126
122
121
124
126
130
135
142
134
131
133
136
136
137
142
133
135
133
135
132
124
120
120
115
112
108
103
94
91
117
112
107
106
108
111
109
111
113
115
116
114
114
112
107
107
107
107
106
105
102
101
102
101
100
98
99
97
92
92
91
90
91
91
90
89
88
87
87
86
84
83
83
82
81
80
80
80
80
82
81
80
80
80
81
83
83
83
84
84
85
84
84
85
89
90
92
91
93
94
95
92
93
93
92
92
91
93
96
100
103
105
106
106
107
109
108
107
106
104
104
104
98
99
99
97
98
98
98
121
95
83
81
88
101
105
91
55
81
65
21
12
8
16
39
57
60
73
75
71
88
102
112
110
105
102
101
106
101
116
101
50
0
0
5
21
10
2
13
10
0
5
5
11
9
4
5
2
4
4
5
4
3
1
1
22
12
3
7
5
0
0
0
2
22
73
141
141
127
116
128
136
128
109
113
124
121
109
80
41
1
11
24
0
0
0
0
5
15
18
22
20
18
17
15
5
0
0
0
0
25
32
42
42
43
35
79
112
99
79
73
93
93
94
95
95
94
92
93
96
97
99
101
102
105
113
113
111
111
112
113
117
111
107
105
101
96
96
98
100
100
102
102
103
106
107
108
107
104
104
102
100
97
102
99
96
94
114
122
127
127
134
137
134
140
137
137
139
130
130
137
119
124
131
131
123
124
129
134
131
129
131
132
134
139
130
131
130
129
127
121
118
117
115
112
109
107
99
96
116
112
108
107
109
111
110
117
117
116
116
115
115
113
107
107
107
107
106
105
102
101
102
101
99
98
98
96
92
91
91
90
91
90
90
89
88
87
88
86
85
83
83
82
81
80
79
80
80
81
80
80
80
80
81
82
82
82
82
82
83
83
82
82
87
88
89
91
93
94
94
92
92
92
91
91
93
93
97
100
103
105
107
108
108
109
108
107
106
103
102
102
99
99
100
98
99
99
99
121
104
97
101
115
121
118
106
56
72
41
18
8
8
10
9
15
36
66
86
97
83
91
101
100
96
94
97
105
102
112
94
42
0
0
3
21
11
4
14
8
0
5
3
9
10
5
6
4
3
4
5
4
3
1
1
20
10
4
10
8
1
1
0
2
11
57
139
140
119
111
114
117
115
117
116
108
97
84
56
13
0
0
15
0
0
0
0
0
12
19
21
22
22
20
16
0
0
13
0
0
0
1
15
9
34
45
92
118
99
77
69
91
92
93
95
96
93
93
99
100
100
98
99
100
100
111
111
111
111
110
112
116
108
107
103
100
98
98
98
99
100
101
103
104
104
106
104
103
103
103
103
102
100
105
102
98
97
141
143
142
138
134
133
131
135
131
131
136
148
164
180
165
167
173
181
178
153
129
120
119
122
127
129
126
128
126
125
125
125
124
124
124
121
122
121
119
115
113
110
113
112
112
112
112
113
113
115
114
114
112
110
109
107
107
107
107
107
106
105
102
100
101
100
99
97
97
96
91
91
90
89
90
90
89
89
88
87
87
86
84
83
82
81
80
79
78
79
79
79
79
80
80
81
81
81
79
79
79
79
80
80
80
80
82
84
85
87
88
89
90
88
88
90
90
90
90
92
95
98
102
105
107
107
108
108
108
108
107
102
100
99
99
100
101
100
101
101
102
81
79
76
77
82
85
74
63
41
38
5
29
37
35
0
0
7
7
5
10
22
53
57
76
87
92
99
103
106
101
99
79
28
0
0
3
21
13
5
13
4
0
6
0
3
10
5
6
7
1
2
3
3
2
2
1
8
0
0
9
8
2
8
17
0
0
34
128
132
102
123
96
76
79
90
102
93
62
15
0
0
0
0
0
0
0
5
8
13
19
23
24
27
30
31
27
13
9
30
16
0
0
0
5
7
54
57
81
89
88
90
95
90
89
92
93
94
94
97
98
97
94
89
85
81
80
99
100
101
103
104
106
109
110
111
109
104
100
98
96
93
94
97
98
98
99
99
100
100
101
103
107
107
107
109
105
102
100
142
143
144
145
140
139
140
133
122
121
138
170
165
162
145
148
149
151
175
176
170
123
123
125
126
126
121
123
126
123
121
117
113
111
111
108
109
111
114
116
122
122
112
111
111
112
109
107
106
103
102
102
101
102
101
100
107
107
107
107
106
105
102
99
101
99
98
96
97
95
90
90
89
89
90
89
88
87
86
85
86
84
82
81
81
80
79
78
78
78
79
79
80
81
82
83
82
82
81
81
81
80
80
80
80
80
80
83
84
86
87
89
89
84
87
87
88
88
91
91
92
96
100
103
105
108
108
104
107
108
107
103
101
99
99
101
102
101
103
104
104
83
105
121
112
94
98
102
33
18
11
11
0
2
10
25
24
11
6
1
0
0
0
7
47
78
112
124
121
110
99
90
71
24
0
0
10
27
14
3
9
0
0
10
0
0
10
3
4
6
0
1
2
3
2
2
1
0
0
0
0
3
0
8
23
0
0
20
120
128
92
100
111
103
73
52
53
41
5
0
0
6
10
9
11
24
23
18
12
4
0
0
0
0
2
5
8
17
21
0
1
14
17
13
14
23
24
9
18
29
56
90
104
82
82
84
86
88
92
94
92
90
85
80
76
71
68
96
97
102
104
108
110
116
116
117
116
114
110
107
106
96
95
93
93
91
90
91
99
99
100
101
103
108
108
110
107
103
101
139
138
139
139
134
134
137
121
123
136
152
160
160
161
137
149
154
150
161
169
172
129
127
125
126
124
121
123
126
122
118
112
106
102
102
102
106
109
114
118
128
130
109
110
110
108
107
102
101
100
99
99
98
98
99
100
107
107
107
107
106
105
102
99
100
99
98
96
97
95
90
90
89
88
90
89
88
86
86
84
85
83
82
81
81
80
79
78
78
78
79
79
80
82
83
84
83
82
82
82
81
81
80
81
80
80
81
82
84
85
87
88
89
86
86
87
87
88
90
90
92
95
99
102
104
107
108
103
106
108
108
104
101
100
100
101
102
102
103
104
105
120
150
162
132
84
66
60
26
30
1
20
18
21
5
34
39
7
0
0
0
0
0
3
28
63
109
132
130
113
100
89
71
26
0
0
12
29
13
1
8
0
0
12
0
0
10
2
3
5
0
0
2
2
2
2
1
0
0
0
0
1
0
7
24
0
0
16
118
129
91
92
117
113
77
66
31
0
0
9
19
19
0
11
32
23
20
12
2
0
0
0
0
0
0
0
0
12
19
0
0
9
18
15
10
20
10
0
0
1
60
110
95
79
80
82
85
86
90
94
88
84
79
75
70
66
62
94
95
98
102
106
110
116
117
119
119
118
115
113
112
98
98
95
91
90
90
91
98
98
99
100
104
106
108
110
107
103
100
145
155
165
170
176
176
175
167
152
159
170
148
155
154
145
154
153
153
159
163
176
150
122
123
134
124
129
118
125
118
115
113
113
114
117
114
114
115
114
114
113
111
111
112
112
110
110
106
104
105
106
107
109
110
111
112
109
109
109
109
107
105
103
100
99
97
95
93
92
92
95
96
96
95
94
92
90
87
86
85
85
85
84
81
80
80
78
77
77
77
78
80
80
81
81
82
83
84
84
84
83
83
83
82
82
82
79
79
80
81
82
84
85
87
87
88
89
89
89
89
90
92
94
95
97
99
99
102
102
102
102
100
100
100
96
99
101
102
104
106
107
102
117
102
85
43
16
13
8
10
31
45
30
0
0
17
19
18
9
0
0
0
0
0
13
26
31
45
63
124
129
106
72
37
8
0
4
16
6
0
0
2
18
6
1
0
12
10
3
3
5
0
1
5
5
6
4
16
4
0
8
0
0
0
0
0
0
28
92
112
87
139
93
52
51
8
0
11
7
9
7
2
2
5
8
6
5
5
7
10
7
5
10
9
8
6
8
8
9
31
12
0
0
1
0
0
21
48
41
5
0
0
27
73
82
90
90
92
94
99
91
87
81
73
68
62
55
84
85
94
101
107
113
121
123
125
122
120
115
112
110
114
114
113
109
104
100
95
93
92
93
94
96
98
97
97
97
97
97
208
219
228
231
235
236
237
229
216
212
206
173
167
160
167
166
170
173
164
168
183
143
123
122
129
125
127
120
124
116
112
111
112
112
113
112
113
112
112
111
109
109
109
110
112
110
110
104
101
103
105
105
109
110
111
113
111
111
111
110
109
107
104
102
100
98
96
94
93
92
96
96
95
94
93
91
90
88
87
86
86
86
84
82
82
81
80
79
78
79
79
82
82
82
83
84
85
85
86
86
86
86
85
85
85
84
83
82
81
82
82
83
84
85
86
87
88
87
88
88
89
90
91
90
91
92
93
100
100
100
100
98
98
98
97
100
102
102
104
105
106
106
100
119
69
7
0
0
16
10
21
35
32
2
0
19
11
6
7
4
0
0
3
7
12
19
26
26
20
71
87
115
105
77
43
13
0
0
7
17
8
0
0
7
4
0
5
7
4
5
2
0
1
6
5
6
3
7
0
0
1
1
0
1
8
0
0
46
107
118
96
64
68
82
60
0
0
0
2
5
5
0
0
0
2
6
8
10
10
8
7
7
9
8
6
5
4
4
4
19
7
0
0
0
0
4
29
40
23
0
0
0
61
69
78
85
86
86
88
93
88
86
83
79
75
70
64
79
82
88
91
96
100
104
111
111
109
107
108
110
110
117
116
117
115
112
108
106
95
94
93
90
90
88
87
93
93
93
93
222
227
230
232
233
230
223
222
217
213
213
196
179
163
171
169
174
177
171
171
175
139
125
123
128
126
127
122
124
116
110
110
112
112
112
112
111
111
112
110
109
109
109
110
111
110
110
106
103
104
105
106
109
110
112
113
111
111
111
111
110
108
105
103
101
99
96
94
93
92
97
96
95
94
92
91
91
89
88
87
87
87
86
83
83
82
81
79
79
79
80
82
82
83
84
84
85
86
87
87
87
86
86
86
85
85
83
83
82
82
83
84
85
85
86
87
88
87
88
88
89
90
91
89
90
91
91
99
99
99
99
97
97
97
96
98
100
100
102
103
104
84
111
92
28
5
0
18
17
13
16
27
26
8
0
16
9
1
0
0
3
8
0
10
13
15
18
17
12
39
62
119
120
101
65
28
0
0
7
26
13
0
0
6
5
0
3
6
4
5
1
0
0
5
5
6
4
3
0
0
0
2
0
7
16
2
0
54
113
112
88
46
74
73
26
0
0
0
1
3
1
0
0
0
0
11
11
10
8
6
8
10
6
5
4
4
4
6
6
16
5
0
0
0
4
11
23
33
18
0
0
0
58
74
77
79
81
85
91
86
88
87
85
83
79
77
74
79
80
84
87
89
92
94
100
102
102
102
103
105
110
117
117
116
113
110
109
107
98
96
92
91
89
85
82
91
91
91
91
230
235
237
237
238
234
231
229
230
223
217
213
192
175
179
177
178
178
187
171
134
132
127
126
128
128
128
125
124
114
107
108
111
111
111
111
112
112
110
111
107
107
109
109
108
106
108
112
112
109
110
110
112
111
112
111
111
111
111
110
109
107
104
104
103
100
97
94
93
92
98
96
94
92
91
91
91
90
89
88
88
88
87
84
84
83
82
81
80
81
81
81
82
82
83
84
85
85
87
87
87
87
86
86
86
85
83
83
83
84
86
88
89
87
87
88
89
89
89
89
89
90
91
91
92
93
94
99
99
99
99
97
97
97
98
99
101
100
102
103
104
93
108
44
0
1
2
20
23
13
4
12
17
13
7
8
6
4
3
1
1
4
11
7
8
9
6
0
0
13
21
89
126
135
111
68
22
0
0
23
17
1
0
3
6
1
1
5
3
2
3
0
0
1
3
8
7
4
0
0
0
2
0
9
24
13
7
54
88
83
71
52
47
17
0
0
0
4
6
6
1
0
2
12
18
12
9
3
3
6
9
7
7
6
3
2
2
3
4
7
0
0
0
5
9
6
11
29
16
0
0
0
36
71
74
75
78
81
84
81
82
83
84
84
84
83
83
81
82
85
87
88
90
90
88
91
96
97
101
106
108
115
114
114
111
110
109
107
103
100
97
92
90
86
82
88
88
88
88
245
246
247
247
247
244
243
238
238
233
220
226
219
195
202
188
198
196
156
157
135
126
127
124
127
134
125
128
126
119
110
105
109
111
110
112
111
110
110
109
112
113
114
113
113
113
114
110
107
112
112
111
112
111
112
114
109
109
108
107
107
106
105
103
100
97
95
94
93
90
94
94
93
92
91
91
90
91
90
89
88
86
85
84
87
87
86
85
83
82
81
81
82
84
85
85
85
84
86
87
87
87
87
85
84
83
85
85
86
86
87
87
87
88
89
90
92
92
93
93
90
92
93
93
95
96
97
100
100
101
102
100
101
101
102
105
106
104
104
106
107
133
61
16
0
4
22
37
35
14
0
9
16
15
13
0
7
0
4
13
5
0
2
11
2
0
0
0
0
9
15
16
75
126
133
110
53
15
0
2
8
0
8
4
7
6
0
5
8
0
1
2
0
3
4
4
8
15
0
0
4
5
0
13
14
8
0
34
30
51
59
18
11
0
0
0
0
13
19
14
7
5
21
28
31
4
6
7
8
9
8
9
11
18
17
2
0
4
0
4
0
0
0
13
3
0
11
24
17
0
0
0
46
70
76
79
77
76
76
77
76
76
75
74
74
74
78
83
83
82
84
85
87
90
88
89
90
91
94
100
106
118
114
111
108
106
105
104
99
99
98
95
92
86
81
91
89
88
88
249
249
250
251
250
249
249
244
244
238
225
227
218
190
188
179
184
184
159
158
142
130
129
125
126
131
126
128
128
122
112
108
109
112
113
114
113
114
112
113
114
114
115
115
115
115
117
114
110
112
113
111
112
111
112
113
109
109
108
107
107
106
105
104
102
98
96
95
95
92
94
94
93
93
92
91
90
91
91
90
88
87
86
85
87
87
86
85
84
82
82
80
81
83
84
84
84
83
86
86
87
88
87
86
85
85
85
86
86
86
87
87
87
89
89
91
92
92
93
93
91
92
94
93
94
95
96
102
102
103
104
103
103
103
105
108
109
106
107
109
111
143
60
11
0
13
32
39
30
13
0
6
9
11
9
0
0
4
7
13
10
5
0
8
3
0
0
0
0
17
5
4
40
94
125
108
66
25
0
0
0
6
23
4
6
6
0
4
7
0
1
2
0
3
4
4
7
18
0
0
6
6
0
11
11
1
0
13
20
35
36
8
2
0
0
0
5
19
20
16
7
8
30
39
45
2
5
8
10
8
4
4
11
14
13
2
0
3
1
3
0
0
2
12
2
0
5
17
19
0
0
0
59
68
74
77
78
78
80
79
77
77
75
73
72
73
75
79
79
79
80
82
84
88
92
93
93
93
96
98
101
113
109
107
108
106
107
106
103
103
103
99
95
89
85
93
92
90
90
254
254
255
255
255
255
255
254
251
245
239
230
213
187
184
187
182
179
178
158
147
147
136
125
125
128
131
129
131
128
124
118
112
114
118
115
117
120
123
123
121
120
120
120
121
121
124
123
119
116
116
114
114
112
113
113
109
109
108
107
107
106
105
105
102
99
97
96
95
92
92
92
92
91
91
90
90
90
90
89
88
87
86
86
89
88
87
86
85
84
83
80
80
81
81
82
82
82
86
87
88
89
90
90
89
89
87
87
88
88
88
88
88
90
91
92
93
93
94
95
94
94
95
94
94
95
95
105
106
107
108
107
108
108
107
111
112
110
111
113
115
142
51
0
8
28
43
30
12
5
16
10
5
3
5
3
1
11
10
5
4
7
0
0
3
0
0
0
0
27
4
0
3
33
68
75
56
34
0
0
0
12
37
4
5
6
0
1
6
0
0
1
0
2
4
3
7
23
0
1
5
7
0
10
14
0
0
0
29
25
0
3
0
0
0
5
17
24
18
9
2
3
37
54
65
13
12
11
9
9
5
1
4
0
0
4
5
0
0
9
1
0
1
8
0
0
4
11
18
0
0
7
61
65
71
77
79
80
78
77
70
70
66
64
64
66
72
86
86
89
92
96
98
101
99
100
100
99
95
93
90
91
91
91
94
97
99
99
102
103
103
103
99
93
89
94
92
89
88
249
250
253
255
255
255
253
251
244
243
238
216
204
190
190
189
187
183
182
166
142
141
129
130
132
124
133
128
132
133
131
128
122
119
122
120
123
126
128
130
128
125
128
128
128
129
131
129
125
122
121
119
118
116
115
114
109
109
108
107
107
106
105
105
102
99
97
96
95
92
92
92
92
92
92
91
91
89
89
89
88
88
87
87
90
90
89
88
87
85
85
83
82
82
82
82
83
84
89
90
91
92
92
92
91
90
90
90
89
89
89
88
88
92
92
94
95
95
96
96
98
99
100
99
100
100
101
107
109
111
112
112
113
113
111
115
116
115
116
118
121
134
43
0
3
23
37
8
0
0
31
25
10
1
0
16
9
3
7
8
5
1
3
0
0
0
6
5
1
3
13
0
10
9
8
30
27
30
16
0
0
12
27
4
4
6
0
0
4
2
0
1
0
1
3
2
6
19
0
0
0
9
0
14
21
0
0
0
35
15
0
4
0
0
0
11
18
18
12
0
0
0
20
47
64
27
21
12
9
8
8
6
0
0
0
0
0
0
0
14
0
0
0
8
0
0
0
9
12
4
5
31
76
80
85
87
85
83
82
77
72
70
68
69
72
78
90
93
95
100
104
109
111
113
111
110
109
106
100
96
92
83
82
82
84
88
93
96
100
104
107
106
105
101
97
95
93
90
89
247
247
250
251
252
251
251
249
241
238
232
200
192
186
197
187
186
181
176
171
141
133
124
132
136
124
134
128
135
135
136
135
132
125
125
125
127
130
131
133
131
131
134
134
134
134
136
133
129
124
124
121
120
117
116
115
109
109
108
107
107
106
105
107
104
101
99
98
98
95
92
92
92
92
92
92
92
88
88
88
88
87
87
87
91
90
90
88
87
86
85
85
84
83
83
83
85
86
91
92
92
93
93
92
91
90
91
90
90
90
89
89
89
92
93
94
95
96
96
97
100
101
102
102
103
104
105
111
113
114
116
116
117
118
117
122
123
122
123
126
128
131
40
0
0
20
32
0
0
0
35
31
15
1
0
16
14
0
0
5
7
2
1
0
0
0
7
11
6
0
7
10
3
0
0
6
21
33
26
0
0
11
18
4
4
6
0
0
3
3
0
0
0
1
3
2
6
16
0
0
0
9
0
16
22
2
0
0
35
17
0
4
0
0
0
11
17
14
8
0
0
0
9
40
60
21
16
9
8
8
4
0
0
1
3
0
0
4
2
10
0
0
0
7
0
0
0
10
10
5
10
22
73
80
83
85
81
78
79
77
72
70
67
67
72
78
91
95
99
103
109
112
115
116
112
109
106
101
93
87
84
78
76
75
76
80
87
91
97
100
102
103
101
97
95
93
91
89
88
239
243
245
245
245
243
239
233
237
236
221
189
191
198
191
183
162
147
165
165
156
156
136
140
153
141
131
121
136
138
138
137
135
136
134
128
133
137
140
143
144
143
144
144
145
143
142
139
137
129
126
123
120
116
114
112
112
109
106
105
105
106
105
107
106
104
101
98
96
93
92
92
92
94
94
93
93
93
91
92
91
91
90
89
114
97
73
62
70
84
92
73
62
62
77
93
100
94
93
104
131
153
141
106
85
90
103
95
80
72
84
109
130
86
88
90
91
95
96
96
100
104
107
110
112
114
116
119
124
128
130
132
131
132
132
133
135
137
136
137
137
74
62
0
0
1
33
27
0
0
32
44
26
13
13
12
5
9
0
0
0
19
0
0
7
0
0
5
28
6
5
20
5
7
16
8
0
0
0
1
2
5
3
0
21
9
13
0
6
12
8
9
0
10
11
7
13
13
1
0
1
0
0
3
10
27
10
0
0
3
11
0
0
3
10
0
0
5
14
2
0
0
0
1
4
24
23
18
6
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
2
6
8
0
0
12
28
25
86
76
74
70
67
64
62
61
66
66
66
68
67
65
72
63
66
71
76
81
85
91
94
93
91
86
84
84
83
85
85
82
78
77
76
74
69
72
75
78
81
81
80
74
73
71
70
240
242
243
240
238
235
231
231
223
213
206
204
203
202
202
202
196
189
186
169
152
127
137
143
142
139
133
133
133
136
140
138
140
144
143
138
138
139
142
145
150
151
149
149
146
146
144
139
136
130
128
125
121
117
115
113
111
110
109
109
110
109
105
106
105
104
102
100
99
97
96
96
96
95
97
96
96
93
91
90
91
91
90
89
104
88
70
61
70
87
97
78
73
79
94
105
104
94
54
85
104
97
82
74
71
74
103
104
97
90
87
89
93
86
87
90
94
101
105
108
121
125
128
132
134
137
138
138
141
141
143
144
144
144
148
149
151
153
154
154
154
132
36
0
0
16
35
36
18
0
0
31
46
22
0
5
5
7
6
2
0
0
9
6
4
3
3
0
0
17
11
10
17
8
1
9
7
0
0
2
6
6
2
0
9
7
12
0
6
10
9
9
1
5
7
5
8
11
0
0
0
0
0
5
17
12
1
0
2
16
8
2
3
1
0
5
5
3
0
0
0
0
0
0
0
15
11
2
0
0
0
0
1
6
9
9
8
0
0
0
0
7
11
8
0
0
0
20
53
49
24
45
78
72
71
68
65
59
55
45
46
45
44
46
45
43
47
46
50
57
66
73
76
79
73
72
70
68
67
69
70
83
82
81
80
76
72
69
66
68
69
72
77
80
84
80
80
78
77
241
243
243
240
238
235
231
228
223
219
219
227
228
227
230
232
229
222
216
200
185
140
128
132
140
132
138
139
134
137
141
141
144
148
148
144
145
144
144
147
150
153
150
149
148
146
143
137
135
130
127
124
120
119
116
114
112
111
111
112
112
111
105
105
105
104
103
102
101
100
97
97
96
96
95
96
96
93
91
90
89
91
90
89
97
82
68
61
74
91
100
86
79
88
104
115
109
93
53
80
89
68
59
73
77
73
101
111
106
92
79
75
77
91
93
96
102
109
116
119
132
136
140
144
146
149
151
150
152
153
154
154
154
155
158
161
163
162
163
163
163
166
23
0
0
22
39
44
44
14
0
26
53
24
0
6
10
4
7
9
2
0
2
5
2
6
8
2
0
3
13
4
16
11
0
8
9
1
0
0
1
6
14
0
4
9
13
3
5
9
11
8
2
2
4
4
6
10
0
0
0
0
2
6
17
4
0
0
7
23
7
1
5
4
0
10
8
0
0
0
0
3
2
1
3
8
1
0
0
0
1
5
8
11
13
13
11
4
2
0
8
19
22
17
0
0
12
46
55
55
74
89
80
88
85
84
81
78
71
57
55
53
52
55
57
56
60
53
59
65
73
78
80
81
76
73
72
69
69
71
72
82
84
86
88
86
83
81
73
73
74
76
80
83
88
88
87
86
85
229
232
233
231
235
236
234
233
238
244
246
243
244
245
243
240
234
228
223
219
216
205
143
121
133
123
146
149
135
139
142
145
148
155
153
155
153
153
151
151
148
148
148
148
147
143
142
137
134
130
129
126
123
120
118
115
116
115
114
114
114
114
110
107
107
106
105
104
103
102
97
96
96
95
94
93
94
91
89
90
89
89
88
89
88
79
67
68
82
99
107
100
89
92
104
105
90
72
87
79
58
36
48
81
94
85
68
67
78
92
92
75
57
99
103
108
115
125
132
136
149
154
158
161
164
167
169
171
171
173
174
175
177
178
176
179
180
180
180
180
180
201
44
0
0
11
44
55
43
21
1
22
33
16
0
7
11
6
5
11
10
5
0
0
6
7
9
7
6
0
3
0
4
13
11
3
2
10
2
0
0
0
25
6
0
16
12
16
8
12
13
5
5
0
1
7
5
6
0
0
0
0
6
12
4
0
0
0
14
20
9
0
1
4
5
4
0
0
1
3
3
1
4
4
2
0
0
0
0
3
10
12
13
13
12
10
8
4
4
0
0
2
4
5
19
30
55
44
61
91
93
100
97
100
100
101
100
98
92
78
62
57
52
58
63
70
80
87
89
92
94
96
92
88
89
88
85
84
84
85
88
88
89
93
95
93
91
88
93
93
92
92
92
95
99
98
99
100
101
213
216
219
221
232
236
236
245
244
243
245
250
250
249
247
248
247
245
233
227
221
219
213
147
102
130
137
157
139
143
146
147
150
157
155
161
160
159
156
151
142
139
142
142
141
140
139
136
133
129
129
125
123
121
120
116
120
117
114
113
114
114
114
110
110
109
107
105
104
102
101
100
99
98
97
96
95
91
89
88
87
89
88
87
88
80
75
79
91
103
106
80
81
92
96
84
73
84
86
55
21
13
30
54
67
67
65
59
60
67
80
94
103
116
124
131
139
146
151
154
163
169
174
177
179
182
187
180
181
182
185
187
190
192
192
192
193
192
192
191
191
200
132
75
5
0
17
21
2
0
27
8
0
12
40
0
2
15
10
4
8
15
12
0
4
11
4
0
3
9
0
6
4
0
7
8
2
14
7
0
0
0
1
19
0
22
13
24
14
16
15
5
8
0
2
10
7
6
0
0
0
3
13
20
0
0
0
0
18
7
9
5
1
3
7
0
0
0
4
5
4
3
6
0
0
0
0
0
11
13
10
7
4
0
0
0
0
0
0
0
0
0
0
12
73
88
78
79
56
41
53
67
100
63
64
65
68
70
67
55
45
33
23
26
35
46
62
86
88
89
89
88
86
84
75
75
73
75
76
80
86
80
82
84
88
92
92
94
88
92
93
96
99
102
104
95
96
99
101
212
219
227
230
231
235
238
248
248
248
248
248
248
248
249
250
250
248
235
228
222
219
238
186
126
131
138
163
136
141
148
152
153
159
163
157
159
159
155
153
144
137
137
139
142
140
139
134
131
132
129
128
126
124
120
119
120
118
116
116
116
115
112
110
109
108
107
106
105
104
104
102
100
100
98
94
94
89
93
92
88
87
91
90
87
81
80
85
96
105
103
82
73
86
85
69
77
84
66
34
3
0
19
46
58
41
33
54
66
60
86
120
121
122
128
134
141
149
157
162
170
175
178
180
184
186
188
189
189
190
191
193
196
195
199
202
201
202
202
201
201
187
170
104
33
1
0
0
0
0
29
5
0
11
50
10
6
5
10
13
12
9
11
10
0
0
10
11
0
4
2
0
9
5
0
8
1
15
16
0
0
0
0
13
12
14
19
17
16
13
12
3
8
0
0
11
6
1
0
0
2
9
19
4
0
1
0
0
17
8
7
0
11
14
0
0
1
0
0
2
5
5
0
0
0
0
0
0
9
16
9
0
0
0
0
0
0
0
0
0
0
0
20
54
94
97
95
74
50
38
37
46
93
63
65
67
74
79
76
60
51
42
31
34
52
59
75
86
85
85
85
84
82
80
75
73
70
72
75
80
84
86
84
83
83
86
88
89
91
95
98
99
102
104
108
96
98
100
103
235
240
245
247
247
249
251
248
248
248
248
248
248
248
245
248
252
254
246
237
230
222
226
230
193
143
160
155
145
146
149
154
158
162
162
163
165
163
161
159
150
144
138
135
132
129
131
127
125
126
125
125
124
122
121
121
121
119
117
117
117
116
113
111
111
110
108
107
106
104
103
102
101
99
99
97
95
93
94
92
89
86
85
83
88
86
86
92
100
103
92
62
60
78
83
66
60
46
46
20
0
0
11
33
39
20
0
0
42
74
92
123
162
122
129
136
143
151
159
165
175
182
187
191
194
198
202
203
202
203
202
203
205
206
206
208
208
209
209
209
208
204
203
185
130
48
0
0
0
16
0
0
10
23
28
13
9
4
7
10
11
10
6
9
2
0
0
0
8
5
3
0
0
0
15
2
5
7
12
8
0
0
0
0
17
30
21
24
18
16
18
11
11
0
0
9
7
7
0
0
6
13
16
0
0
0
0
5
9
0
0
10
4
0
0
0
3
6
4
6
5
0
0
0
3
0
5
13
17
13
5
0
0
0
0
0
0
7
7
13
34
67
97
120
129
125
93
74
61
56
50
43
48
49
55
62
67
68
64
48
42
34
55
83
75
66
96
76
77
79
78
77
76
74
71
70
68
70
73
77
78
74
73
74
75
78
78
77
83
86
90
94
99
101
105
99
99
100
101
245
247
249
250
249
250
250
251
251
251
251
251
251
251
241
246
254
255
255
253
243
233
219
225
235
208
141
154
158
154
154
159
163
168
164
165
165
163
161
158
152
147
141
135
127
125
127
125
122
124
124
122
122
123
123
123
123
121
119
118
118
118
114
114
113
112
110
109
107
105
101
103
103
99
96
98
98
91
93
92
88
86
87
87
84
84
87
93
99
96
84
61
66
84
95
81
64
41
41
24
11
6
12
27
39
39
11
0
8
54
89
108
121
122
128
137
144
153
161
168
177
184
190
194
198
202
205
210
209
209
208
209
210
211
211
214
215
217
217
217
217
232
200
206
189
132
66
39
43
36
0
3
28
25
4
16
13
6
4
6
8
10
17
9
11
11
2
0
0
13
9
7
9
0
0
0
7
6
9
13
3
0
0
0
0
9
21
20
28
14
19
15
12
0
0
4
7
10
0
0
7
24
13
0
6
0
0
13
1
0
0
5
0
0
0
1
0
3
8
1
0
0
1
4
5
5
5
6
11
13
6
0
0
0
0
0
12
45
48
76
79
95
120
138
107
74
45
36
37
44
53
61
73
28
36
45
51
49
43
29
11
28
13
5
38
48
12
67
68
70
72
75
75
74
70
68
66
65
67
69
67
66
65
67
70
71
71
69
75
76
81
86
93
99
101
91
92
94
96
250
250
251
251
252
252
252
252
252
252
252
252
252
252
241
246
253
255
255
255
248
237
222
214
229
231
142
152
162
161
159
162
164
166
166
165
165
162
158
156
152
147
142
137
131
128
127
125
123
123
123
123
123
123
123
124
123
122
120
119
119
119
115
115
114
113
111
109
107
105
100
104
102
98
96
98
97
89
90
90
86
84
84
83
80
81
85
93
98
95
81
61
73
97
106
94
72
45
43
29
18
10
8
20
39
50
36
9
0
29
76
101
97
123
129
136
144
153
163
168
183
189
194
197
202
205
208
209
209
209
210
211
211
212
214
215
218
219
219
219
219
240
202
200
196
177
139
98
65
31
0
11
22
17
3
15
13
7
6
7
6
8
16
10
11
15
11
0
0
2
20
0
12
7
0
0
0
3
8
13
7
0
0
4
0
0
23
20
28
18
17
16
13
1
0
1
6
15
6
3
7
17
11
0
7
0
5
14
0
0
0
0
0
0
4
1
0
1
2
0
0
0
5
7
5
3
1
2
9
14
6
0
0
0
0
7
30
62
64
94
95
98
101
94
64
47
42
44
53
63
64
58
39
0
0
5
9
9
6
0
0
0
0
0
11
66
25
63
63
67
71
72
73
74
70
68
63
62
62
61
60
63
64
63
64
67
69
68
74
76
78
84
92
97
98
86
88
90
92
251
250
249
250
253
253
252
252
252
252
252
252
252
252
240
247
255
255
255
255
253
236
231
222
219
230
182
142
165
167
168
166
163
165
166
164
163
160
157
158
155
151
144
143
141
136
131
125
125
126
126
126
125
125
124
124
124
122
121
120
120
120
116
117
116
114
112
110
108
105
98
104
102
94
94
98
97
101
102
99
94
90
89
86
76
78
82
91
96
92
78
56
83
116
131
116
83
51
44
34
22
10
0
8
35
64
60
39
17
8
47
90
90
122
129
136
146
155
163
169
182
186
192
193
195
198
200
210
210
209
211
213
216
215
214
216
218
220
221
221
221
244
215
189
194
235
249
191
85
8
19
18
0
0
6
13
13
10
7
6
4
4
0
13
7
2
11
20
20
9
0
22
8
0
0
0
0
0
4
11
18
10
0
0
7
0
23
27
13
28
10
14
11
4
0
0
4
12
15
8
0
0
0
9
0
3
16
20
0
0
0
0
2
8
4
0
1
5
0
0
5
8
2
7
13
0
0
5
9
10
5
1
0
0
10
30
50
60
52
136
117
87
56
36
36
39
24
13
0
0
0
0
5
13
17
22
30
34
29
3
0
0
0
10
31
62
31
54
56
61
64
69
71
72
73
67
59
55
51
52
52
56
55
55
56
60
62
66
75
77
76
83
90
97
96
83
84
84
84
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
246
242
240
232
226
191
138
170
169
168
168
166
166
163
161
159
157
155
152
145
142
147
146
143
140
137
128
126
123
122
123
123
124
124
123
114
119
125
128
123
114
99
108
116
128
138
137
127
98
85
107
104
87
89
95
89
74
71
75
87
121
126
88
71
80
90
94
87
75
73
91
95
99
93
75
53
38
34
27
22
19
19
25
29
36
28
34
40
43
54
53
32
103
131
151
166
171
159
165
172
185
195
199
194
187
182
193
203
206
205
203
200
198
194
206
211
211
210
211
208
244
217
205
205
216
228
229
207
160
42
4
0
0
9
0
0
8
7
7
10
10
13
10
0
0
9
22
34
22
18
0
0
12
12
0
1
10
1
11
10
0
6
2
0
0
15
34
32
5
0
0
0
0
5
1
12
2
7
13
35
0
19
11
0
11
2
0
0
0
0
0
5
0
0
1
0
0
4
3
6
4
0
0
0
0
0
1
4
3
0
0
17
26
30
27
21
41
54
1
2
3
5
5
3
2
3
3
4
5
3
4
5
0
2
7
14
15
13
0
0
0
0
16
21
28
34
78
85
92
90
77
62
71
87
90
76
53
40
41
55
64
66
67
67
67
66
66
69
71
70
72
72
73
76
79
79
79
79
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
246
240
237
227
222
191
140
164
163
163
163
164
164
163
159
157
154
153
150
146
144
148
147
146
144
143
137
134
127
125
126
125
126
126
125
116
120
126
131
126
115
102
114
116
124
134
132
112
78
108
112
96
76
80
98
106
42
36
55
82
105
112
99
50
71
92
91
75
58
48
54
56
57
59
56
46
34
37
29
23
19
20
23
29
33
32
34
38
40
51
54
39
103
128
148
162
168
158
159
167
180
192
194
191
185
180
181
202
210
212
208
203
200
198
221
231
233
228
222
218
230
236
222
202
185
188
206
219
209
99
38
8
3
9
0
0
0
3
11
15
14
9
0
0
3
18
35
44
9
24
0
0
5
9
0
0
16
9
0
4
0
5
2
0
2
0
28
35
0
6
0
21
10
13
0
0
3
0
4
18
0
24
7
3
17
4
5
0
0
0
0
5
0
4
0
0
9
2
6
8
6
0
0
0
3
2
0
0
0
6
11
19
18
12
10
19
47
56
3
4
5
6
6
3
2
5
5
6
6
5
6
7
0
1
6
12
16
13
0
0
0
5
20
39
71
102
79
87
95
92
78
64
72
86
90
77
54
41
42
55
60
63
67
68
70
70
70
75
77
77
75
74
71
72
73
73
73
73
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
250
238
227
214
204
182
143
158
157
158
158
160
163
162
157
156
152
150
148
150
150
156
153
152
151
150
142
139
139
137
134
133
132
132
128
119
123
131
135
132
123
110
112
121
129
120
97
77
81
87
76
63
53
48
49
39
0
0
22
69
83
85
78
33
58
70
51
22
1
0
0
0
5
13
20
27
30
44
36
27
21
19
23
27
32
35
31
31
33
38
46
48
100
115
138
148
156
146
141
157
171
184
189
186
181
176
170
201
217
221
220
213
211
217
242
252
252
246
239
233
235
216
210
212
216
218
222
228
240
225
175
98
16
0
28
25
26
30
27
18
2
0
0
6
7
0
0
0
14
5
18
9
0
0
4
9
0
1
0
0
8
4
7
7
0
0
7
30
55
42
0
0
40
0
0
0
24
1
13
8
0
29
12
12
10
15
20
0
2
2
22
8
8
0
0
7
0
5
4
1
0
0
3
9
5
9
13
16
14
0
0
0
0
7
14
20
26
25
7
7
6
4
4
4
2
3
3
2
3
3
4
5
0
1
5
11
14
10
0
0
0
0
4
24
56
26
74
86
100
101
89
75
72
82
88
79
62
50
50
58
61
58
58
59
61
66
72
78
80
80
79
76
74
74
62
62
62
62
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
247
241
237
221
198
166
134
157
156
156
158
160
163
162
164
161
155
152
150
154
157
159
158
155
155
154
146
144
147
144
142
139
139
136
132
124
128
136
139
136
128
116
113
122
117
95
89
99
93
46
29
26
34
36
45
55
43
38
40
50
54
59
60
74
74
67
51
35
25
20
18
26
30
28
28
30
30
51
42
30
23
21
23
28
30
36
27
23
30
31
35
43
95
109
133
139
144
136
130
145
160
176
182
179
174
170
183
194
200
205
212
217
218
217
213
207
201
196
194
192
222
249
255
255
235
211
195
194
212
245
228
185
136
103
0
0
34
32
9
0
0
11
27
19
13
20
42
59
13
13
5
11
17
7
0
0
0
0
8
2
0
8
15
14
8
0
1
22
42
24
37
0
28
27
4
7
13
0
4
14
7
17
2
11
33
0
0
3
10
8
12
14
0
0
4
0
0
0
0
0
0
15
17
18
15
7
0
0
0
0
3
2
4
6
4
2
4
7
3
3
2
2
3
4
5
0
1
1
2
1
2
2
4
6
7
10
10
7
0
0
0
2
10
22
29
0
53
75
101
112
106
87
74
89
98
90
78
63
59
60
63
62
59
59
60
65
69
75
76
78
77
74
71
71
59
59
59
59
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
255
255
255
255
255
253
246
243
243
227
200
160
128
157
156
156
158
159
162
162
166
163
158
153
153
157
158
161
158
156
157
156
152
148
150
147
144
141
140
139
133
125
131
136
139
137
130
119
118
124
114
95
94
101
48
21
10
17
32
33
36
45
50
54
45
34
29
25
28
57
52
43
36
32
30
32
41
45
42
34
28
25
19
52
44
31
25
23
25
27
32
37
26
23
29
30
31
40
94
109
133
137
141
136
127
141
156
170
178
176
171
166
194
187
185
188
201
213
218
213
184
169
158
153
155
157
181
253
255
255
226
193
183
195
215
230
218
208
203
203
21
15
8
13
23
28
24
12
1
4
18
34
50
57
0
7
12
6
5
12
19
0
0
3
0
1
11
0
23
17
18
0
0
15
3
9
34
64
33
32
0
9
35
0
4
17
26
21
9
14
50
0
0
19
12
15
16
0
0
12
0
0
0
0
0
0
2
22
23
21
0
0
0
0
0
5
9
5
5
5
2
0
0
0
2
2
1
0
0
4
3
1
2
2
1
2
3
3
5
7
9
8
8
5
0
0
0
0
4
23
43
10
41
66
98
117
112
92
73
86
95
93
83
73
66
69
66
65
65
64
65
68
69
75
76
78
77
74
70
67
61
61
61
61
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
254
255
255
255
255
255
248
246
243
238
234
184
132
158
153
152
154
159
163
161
162
163
163
162
161
157
157
159
160
158
157
156
151
151
150
149
149
147
148
145
139
129
135
139
140
136
129
118
120
123
114
93
122
85
25
45
38
38
43
44
40
35
54
55
45
31
22
24
35
1
4
10
14
18
20
20
25
25
22
15
5
0
0
56
49
37
28
23
25
30
35
38
29
25
24
26
31
35
97
99
125
138
136
129
119
132
147
158
161
159
153
149
203
167
154
154
173
197
205
183
109
55
37
38
47
65
69
108
146
185
219
239
242
231
226
232
240
240
239
234
255
241
54
0
0
0
5
13
9
4
0
0
0
0
5
5
8
10
10
10
11
14
12
4
0
2
1
0
20
11
11
0
0
0
0
39
17
0
10
35
9
0
14
24
14
0
26
34
23
14
2
0
8
30
16
1
0
0
14
17
0
0
0
0
3
10
11
0
0
2
0
0
0
0
4
8
10
8
6
4
0
0
0
0
0
0
0
2
5
7
9
1
0
1
2
3
6
9
4
2
2
4
2
0
3
0
0
2
5
14
24
26
83
72
98
130
122
100
70
75
90
97
95
87
79
80
73
71
67
64
63
66
69
67
68
71
68
66
62
63
67
65
63
63
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
252
255
255
255
255
255
251
248
244
237
242
227
189
167
151
151
159
159
165
163
166
167
167
169
168
166
165
158
157
160
160
159
155
152
152
150
148
149
148
148
144
140
141
139
134
126
119
115
115
122
118
96
114
77
8
45
50
50
42
43
52
55
60
61
58
46
33
29
31
27
29
29
29
26
24
22
11
8
8
14
22
30
34
62
53
39
30
25
25
30
37
44
33
24
20
26
31
34
88
90
116
126
125
121
111
119
128
136
138
135
132
127
172
153
149
153
167
181
183
173
96
44
15
10
11
17
33
15
20
44
84
123
149
169
173
200
222
237
245
247
233
248
218
139
44
0
0
0
30
35
12
0
7
17
3
2
0
4
7
13
17
15
16
19
10
3
6
13
25
22
14
11
5
0
5
0
16
21
26
25
0
0
0
0
12
22
7
5
13
0
0
0
26
17
0
0
11
16
19
12
5
8
10
5
0
0
0
2
3
2
6
5
5
4
6
5
2
3
3
1
0
0
0
0
5
5
4
2
3
7
7
0
4
10
11
8
4
6
0
0
0
0
0
0
3
14
18
22
23
20
15
7
89
68
88
126
129
108
65
68
85
99
101
95
88
86
86
82
77
72
71
71
73
73
71
69
66
65
65
66
68
65
62
60
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
252
255
255
255
255
255
253
242
241
243
241
227
212
187
157
151
158
155
164
164
166
167
167
169
169
167
167
159
161
160
160
159
156
154
152
150
147
148
148
149
146
143
143
140
135
125
115
113
117
123
117
93
106
74
10
40
45
43
36
40
55
64
59
58
55
48
37
29
23
48
49
45
42
38
34
28
12
10
12
22
36
49
58
63
54
41
30
25
27
30
36
48
36
24
23
30
35
35
87
90
113
121
119
114
105
110
120
129
132
130
124
123
142
152
159
167
175
178
172
158
123
82
49
30
18
14
48
41
24
5
0
13
44
78
110
152
172
199
230
250
202
215
237
220
175
105
33
0
0
21
36
28
7
0
9
5
0
1
4
11
16
17
20
23
18
12
12
15
0
9
0
18
20
14
37
35
2
0
17
25
7
0
0
0
16
29
2
0
6
0
0
1
37
13
0
11
17
14
8
5
15
14
10
0
0
0
0
5
7
4
9
8
7
6
4
1
0
0
0
0
0
1
2
2
3
3
2
2
3
5
6
9
11
13
10
3
0
2
2
0
0
0
0
1
16
28
26
24
18
12
7
8
79
58
80
123
129
106
60
68
85
99
102
98
90
87
94
90
85
83
81
79
81
78
74
71
69
68
70
70
68
64
60
58
255
255
255
255
255
255
255
255
255
255
255
255
255
255
249
252
255
255
255
255
255
252
244
243
239
234
228
218
219
167
144
152
150
165
160
163
165
167
167
169
168
166
163
162
158
155
153
153
154
152
150
149
147
150
150
149
150
148
145
136
123
111
105
117
122
121
93
102
75
14
62
48
35
32
36
41
41
24
18
27
41
51
50
37
48
45
42
39
34
32
27
20
18
19
24
31
43
54
62
54
41
31
27
27
33
38
48
39
29
26
35
39
37
81
88
114
121
115
109
97
103
113
121
122
116
109
104
82
146
178
190
183
163
143
134
177
172
142
104
61
26
30
25
20
15
10
10
13
23
20
14
20
42
66
84
128
129
164
200
231
239
210
157
103
35
19
7
0
0
12
13
8
7
6
5
6
10
25
31
16
20
19
10
0
0
10
18
10
0
0
24
22
12
5
18
23
15
15
35
40
19
2
10
17
20
15
24
35
0
0
27
0
0
3
5
2
0
0
1
7
10
8
0
1
6
12
10
9
6
2
0
0
0
0
0
3
7
13
15
3
5
7
10
11
9
8
12
9
5
2
0
2
8
8
5
5
4
4
3
18
16
15
13
11
4
0
7
49
40
79
131
134
103
60
65
84
102
109
105
99
96
102
102
101
100
97
94
91
83
79
76
74
75
73
70
66
61
56
52
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
250
250
247
247
247
246
247
225
209
213
167
140
149
153
165
166
169
169
169
168
166
164
163
150
153
154
155
159
172
173
179
177
170
160
148
133
109
178
166
153
145
146
149
159
160
147
121
95
81
66
22
47
46
45
48
48
46
41
37
42
43
38
39
41
32
50
48
40
31
30
33
32
34
30
32
33
32
29
25
39
35
31
29
33
41
44
47
45
43
32
28
41
47
38
101
100
109
102
105
114
112
111
112
111
107
105
106
107
110
131
140
142
141
137
135
140
150
150
148
115
70
49
25
27
25
22
22
23
26
16
15
11
8
8
9
9
5
7
12
17
21
26
31
34
51
93
102
101
96
91
0
0
0
19
32
41
43
26
11
6
21
27
24
11
0
0
0
16
18
9
1
0
0
0
36
19
0
0
0
0
0
38
17
0
0
40
42
0
0
18
20
0
31
29
23
14
6
2
0
6
5
4
3
5
6
8
7
5
1
0
0
2
3
0
0
1
4
6
8
7
6
2
0
0
1
3
0
1
0
0
0
0
2
0
31
18
6
5
19
31
7
0
0
12
42
47
41
0
118
110
104
108
111
107
103
99
96
94
90
90
91
92
87
87
88
91
94
96
98
101
98
96
92
88
82
79
70
65
58
52
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
250
250
249
249
246
243
243
222
209
210
167
143
151
155
167
168
173
174
172
169
167
165
164
159
159
157
156
158
169
171
171
166
153
139
124
112
101
128
129
131
133
136
138
148
161
153
121
87
79
80
33
45
45
44
47
48
45
42
37
41
42
36
37
40
33
47
46
43
36
30
28
28
30
28
30
33
31
28
23
38
33
29
31
34
41
42
41
44
41
32
30
42
49
37
99
99
108
103
106
113
111
110
111
109
106
103
104
105
100
122
134
137
138
137
137
148
158
150
150
134
101
76
25
27
25
23
23
23
25
19
18
12
8
8
8
8
5
5
12
17
20
26
30
33
37
47
60
78
93
101
44
40
20
10
3
2
5
8
9
9
4
9
17
18
0
0
0
2
14
21
26
22
0
0
32
39
0
0
0
0
0
4
16
34
44
36
25
0
0
22
14
0
10
11
8
3
8
9
8
0
0
3
7
0
0
0
0
0
0
3
6
2
0
3
4
5
6
7
7
7
0
0
1
3
5
3
1
12
5
0
0
0
3
13
11
7
8
10
13
17
5
0
3
19
24
26
32
0
112
107
105
107
109
105
104
98
96
95
91
91
92
94
89
89
91
94
96
98
98
100
100
96
93
89
85
80
68
64
58
53
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
250
249
249
251
249
248
246
243
216
199
198
171
151
151
160
170
173
181
181
179
178
178
173
173
171
162
151
145
136
118
111
134
139
143
144
137
129
127
134
127
116
102
89
84
101
114
127
116
88
75
80
73
42
42
42
44
44
44
43
35
37
36
36
41
45
42
47
41
41
42
34
20
19
26
28
32
33
32
29
23
36
28
25
31
37
38
34
30
43
40
32
37
52
49
31
94
96
104
104
105
108
106
103
104
103
99
97
98
99
79
102
115
123
129
134
142
158
186
193
169
129
119
135
19
21
22
21
18
17
16
19
18
12
11
10
9
9
0
0
1
3
7
9
13
20
22
29
28
24
18
16
74
81
92
80
59
34
15
0
0
0
0
6
6
0
2
4
8
11
10
7
8
0
3
24
21
10
8
37
31
14
14
20
0
7
12
33
1
0
0
0
3
12
5
7
8
5
3
2
0
0
0
2
5
5
3
1
1
0
0
0
0
11
15
3
2
0
0
0
0
0
0
0
1
1
1
14
20
25
24
23
18
9
0
0
0
1
11
10
0
0
0
15
9
0
0
15
54
89
109
109
110
111
108
106
104
100
99
99
98
97
96
94
95
95
97
99
101
103
104
103
103
100
96
93
87
84
68
65
61
59
254
254
254
254
252
252
252
253
253
253
253
253
253
253
253
252
252
249
248
247
247
246
248
248
246
240
207
189
199
184
163
153
162
169
175
177
177
179
180
180
182
181
185
172
169
173
165
120
110
104
97
93
87
80
79
83
94
86
82
85
96
111
137
122
105
93
102
106
91
55
42
43
43
41
39
39
42
37
35
34
36
42
45
45
55
42
32
33
35
29
23
25
30
34
34
33
36
31
34
28
28
35
37
31
26
25
41
37
34
43
62
53
23
91
92
95
98
98
97
99
97
98
97
93
91
92
93
82
99
107
111
112
116
121
132
152
138
131
132
106
59
13
12
13
14
14
11
9
12
11
9
10
11
12
13
3
3
3
3
2
3
3
0
1
3
4
6
10
11
0
0
12
31
48
62
69
97
92
86
37
17
10
6
1
0
0
2
13
21
29
16
17
19
16
24
0
0
0
21
33
21
36
52
34
9
9
26
20
0
0
21
0
0
7
8
3
1
0
2
0
0
0
2
10
17
9
8
5
1
0
0
0
0
0
0
0
0
2
3
7
13
21
23
24
16
12
5
3
0
0
0
0
2
20
12
1
0
3
9
0
0
0
0
37
77
88
127
111
115
117
115
114
112
100
101
99
98
97
96
94
95
97
98
99
102
106
108
110
107
106
104
101
95
89
83
75
72
69
67
254
254
254
254
252
252
252
253
253
253
253
251
251
251
250
250
249
248
245
246
246
244
244
242
237
232
204
187
203
194
167
151
160
169
174
173
174
175
176
177
177
177
186
172
169
176
169
119
109
93
85
79
73
71
73
75
90
88
85
87
96
106
130
137
120
100
97
94
79
33
45
46
44
42
39
37
41
42
36
34
35
37
40
39
54
44
32
29
33
33
27
23
29
33
32
32
36
34
33
28
31
38
36
28
24
27
40
36
34
48
68
58
25
90
90
90
94
95
93
96
96
97
95
92
89
90
91
88
101
105
105
103
101
104
114
128
129
118
103
60
6
15
11
11
13
14
12
11
11
10
8
8
7
7
8
1
1
2
2
3
3
3
2
3
4
3
0
0
0
0
0
0
0
8
29
50
50
76
96
66
41
24
13
11
8
4
0
0
5
14
39
15
0
8
29
14
10
9
22
16
3
29
29
4
0
0
17
19
0
0
16
2
10
14
10
0
0
0
0
0
7
15
15
12
8
0
0
0
0
0
4
8
0
0
2
5
7
9
9
11
11
14
14
13
4
0
0
0
1
6
6
3
2
13
5
0
0
11
16
0
0
0
11
58
81
97
121
109
113
114
114
115
116
100
99
95
94
91
91
90
92
95
96
100
103
106
110
112
110
109
105
100
94
89
83
76
74
72
71
253
253
252
252
253
255
255
254
254
251
251
251
250
248
252
250
250
250
246
244
245
239
232
224
220
218
207
199
192
193
194
192
195
210
214
208
216
215
211
212
193
188
188
173
157
154
144
101
87
79
76
77
81
84
88
92
98
98
96
95
96
99
109
113
118
115
94
65
39
30
44
45
48
48
42
37
39
47
45
36
29
27
32
34
48
47
41
34
33
35
31
27
33
40
38
36
34
33
41
25
27
41
41
34
32
33
38
36
45
67
81
62
34
83
84
87
90
92
93
96
92
91
89
87
85
86
86
96
105
104
99
94
88
87
93
92
123
93
17
0
0
20
13
11
10
10
9
8
8
6
6
7
10
9
8
3
4
4
3
0
0
0
1
0
2
4
5
9
12
2
5
14
17
19
16
11
3
0
0
16
26
32
32
0
0
0
0
1
2
3
0
0
0
11
0
0
39
48
23
0
0
1
22
0
0
0
14
19
9
5
0
9
12
14
14
11
10
7
0
0
0
0
0
1
4
7
7
6
6
6
6
6
14
14
13
10
6
0
0
0
0
0
0
0
0
0
3
3
4
2
1
2
14
0
0
13
20
16
4
0
53
56
51
56
71
90
111
106
110
113
112
113
112
98
94
88
85
85
86
88
92
100
100
102
106
111
115
118
117
112
106
98
92
85
81
83
82
80
79
254
254
252
252
252
253
253
251
250
249
250
250
251
252
255
254
255
254
249
247
246
245
241
233
226
221
222
223
214
218
223
225
229
246
250
254
254
250
244
243
241
233
213
188
161
142
127
100
98
92
96
100
104
110
114
119
97
96
91
87
87
88
98
104
107
106
105
98
84
52
56
53
52
53
52
46
42
39
42
41
34
29
29
31
50
43
41
42
40
34
36
25
13
13
25
36
34
33
54
35
33
46
50
47
43
39
32
39
59
75
76
66
56
80
81
83
86
88
88
90
90
88
84
81
78
78
78
83
91
92
89
87
89
94
106
106
131
126
49
0
0
25
23
24
21
15
8
3
9
7
3
5
4
2
0
10
11
13
11
10
9
8
4
4
1
0
0
0
0
0
0
3
8
14
19
24
30
29
21
4
0
0
0
30
30
28
7
4
12
23
29
30
22
28
30
21
19
29
25
29
41
28
27
4
11
30
26
28
60
32
0
5
5
5
5
1
0
0
0
1
0
0
0
1
2
5
4
3
1
0
0
0
0
0
0
0
0
0
0
2
2
4
5
8
13
14
12
15
16
15
15
16
20
11
10
11
8
8
18
87
77
91
84
71
66
70
101
109
114
119
119
118
113
95
87
83
80
81
82
86
90
102
104
109
112
115
116
115
113
109
102
95
90
84
79
80
79
78
78
253
253
254
252
251
252
250
248
248
247
250
252
254
255
255
255
255
255
252
250
249
247
246
241
232
225
226
229
222
226
229
229
230
240
242
248
248
245
241
240
239
222
170
156
138
127
116
95
92
98
101
107
111
115
118
121
96
92
89
85
83
85
94
100
104
107
112
111
104
78
64
55
50
50
51
49
44
39
41
43
39
35
31
31
48
39
40
45
41
33
38
34
13
8
24
37
35
32
55
36
31
45
53
51
47
42
31
42
65
77
72
67
70
79
79
81
83
85
85
87
85
83
81
78
76
76
77
80
88
91
90
90
95
106
124
129
145
153
86
9
0
13
20
23
25
20
11
7
8
6
5
6
5
3
2
10
11
12
10
10
10
10
10
11
7
5
4
6
8
0
0
0
0
0
0
8
20
25
21
0
0
0
0
13
19
21
2
0
0
2
2
20
22
12
19
19
14
11
22
44
52
19
5
0
13
28
21
20
50
24
0
1
2
3
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
2
2
4
5
8
11
14
9
12
13
14
12
13
14
27
9
0
0
20
44
78
88
90
88
85
82
81
90
113
117
120
122
120
114
94
86
81
79
82
83
87
92
104
106
112
115
117
116
114
110
105
99
92
85
80
76
78
78
77
77
254
255
253
254
252
250
247
246
247
247
249
254
255
255
255
255
255
255
255
254
251
249
252
252
248
240
228
226
240
245
248
248
249
253
252
249
244
250
250
245
235
203
135
128
119
109
100
95
96
100
102
105
106
106
105
103
110
107
105
99
95
90
89
87
91
96
100
101
105
111
87
72
57
49
48
46
47
42
44
45
43
43
42
36
37
33
37
43
43
39
40
55
36
26
32
38
34
30
47
27
27
43
53
50
50
46
37
46
63
71
75
87
104
78
78
79
81
81
81
82
76
76
76
75
76
78
79
73
80
83
84
86
95
109
131
145
131
131
100
28
0
18
7
5
5
6
10
10
19
16
12
10
8
5
2
5
5
3
4
4
5
7
9
11
10
9
12
14
16
0
0
18
25
25
18
7
3
0
0
6
21
33
39
20
17
11
4
5
7
9
15
13
9
18
7
0
0
0
5
26
9
3
14
20
22
20
21
15
0
0
0
0
0
0
0
2
2
1
0
0
0
1
2
4
6
4
5
5
6
7
8
9
5
5
6
6
5
4
4
4
4
4
6
7
10
12
10
9
9
10
10
11
7
23
15
8
10
25
50
112
108
103
104
108
106
97
80
114
119
122
120
119
116
97
89
85
83
86
90
93
101
108
110
115
116
115
111
107
99
95
89
82
77
72
69
73
74
75
76
254
255
255
255
252
249
247
248
249
249
250
255
255
255
255
255
255
255
255
255
254
254
253
253
250
249
241
238
255
255
255
255
255
255
255
255
247
250
247
238
232
191
103
106
106
101
96
95
97
100
103
103
101
97
93
88
132
131
127
120
112
104
87
86
81
79
80
85
89
87
106
95
77
65
54
47
41
45
41
39
39
44
44
37
33
36
40
42
46
51
45
44
40
37
33
31
34
32
36
24
29
47
53
51
52
51
40
43
46
58
78
104
123
80
79
80
81
81
80
82
78
77
76
74
73
75
75
77
82
82
82
84
90
102
117
136
92
71
74
17
0
20
10
6
5
8
9
11
5
6
10
13
15
17
16
5
5
0
1
1
1
4
4
7
5
5
4
5
7
36
30
5
0
0
0
0
4
12
18
17
10
4
0
9
13
15
7
0
0
0
0
6
12
23
23
22
25
35
36
53
18
12
44
67
34
8
9
8
0
0
19
11
10
8
8
7
6
4
7
6
7
6
3
4
5
8
8
8
7
6
5
5
4
6
8
10
11
8
6
2
3
2
4
5
8
10
9
6
1
2
3
3
1
0
0
51
95
103
82
77
101
123
130
120
104
95
113
113
116
118
118
116
116
101
91
87
85
89
93
96
104
106
107
107
108
105
102
98
90
87
83
75
70
66
64
71
72
74
75
254
254
253
254
250
248
248
248
248
249
250
252
251
251
255
255
255
255
255
255
255
254
254
252
251
249
246
245
252
251
249
248
248
253
255
255
252
255
247
230
213
161
118
121
117
112
114
103
103
101
101
103
103
105
107
109
113
112
113
111
106
104
95
89
85
83
81
80
77
76
96
95
94
84
64
48
49
49
47
41
36
33
32
21
33
31
32
34
36
41
40
28
33
30
26
31
35
35
76
53
38
32
27
29
36
49
85
90
87
83
83
86
83
87
84
80
77
75
77
79
78
79
78
78
78
81
83
79
113
123
118
101
86
84
96
147
128
110
91
43
0
0
2
3
3
0
0
0
0
8
34
36
24
9
0
7
6
4
2
0
0
0
0
0
0
0
0
0
0
8
8
5
3
3
1
1
0
0
3
9
11
15
19
46
37
27
13
1
0
0
1
11
17
11
11
10
6
7
12
6
11
9
0
4
13
19
12
2
1
0
0
4
7
11
10
9
10
12
10
8
6
3
0
0
0
3
3
3
2
2
1
0
3
3
3
3
3
3
3
0
0
0
5
9
14
16
19
19
19
17
15
15
13
20
30
49
65
76
89
110
104
100
95
93
94
103
120
104
110
116
122
126
126
117
104
97
92
96
102
108
116
108
110
111
113
110
104
99
91
87
81
76
70
67
66
87
88
89
91
251
252
253
253
252
252
251
252
251
252
253
254
252
252
255
255
255
255
255
255
255
255
255
255
254
252
250
249
255
254
253
251
250
254
255
255
254
255
251
241
213
164
119
119
116
111
108
108
109
105
105
107
108
110
113
114
107
107
106
105
104
102
96
92
87
85
82
80
79
79
92
92
93
94
86
70
53
44
42
40
35
32
31
27
44
40
38
41
43
51
50
27
31
33
30
30
33
36
66
51
41
39
38
43
53
64
86
84
81
89
95
97
94
90
87
82
78
75
76
77
79
80
80
80
82
85
87
73
110
125
122
110
97
93
116
162
163
117
101
92
54
23
9
5
8
20
36
49
37
16
0
0
0
22
35
4
4
6
8
9
9
10
11
11
10
10
10
10
8
14
14
12
13
12
13
13
18
16
14
14
13
10
8
20
15
6
0
0
3
13
27
26
21
12
14
14
11
7
20
15
11
21
7
0
0
22
25
13
7
6
5
5
6
6
3
0
0
0
2
1
0
0
0
0
0
5
5
5
5
4
4
4
2
2
2
2
2
2
2
0
0
0
4
8
13
14
13
14
15
16
17
17
17
7
25
37
44
57
77
98
100
96
90
86
88
95
108
98
105
113
119
122
125
113
103
94
90
93
99
103
112
111
111
112
111
108
103
99
90
87
84
78
76
74
73
83
83
85
86
249
251
253
253
255
255
255
255
255
255
255
255
255
253
255
255
255
255
255
255
255
255
255
254
253
252
250
250
255
255
255
253
251
255
255
255
255
255
255
246
233
213
121
113
118
122
113
108
104
104
104
104
107
107
110
112
98
98
99
97
98
96
96
95
91
87
84
83
82
86
90
87
86
89
94
88
72
44
42
40
38
36
34
36
64
54
45
41
41
50
58
38
35
40
41
34
36
44
52
46
48
53
55
64
74
82
87
87
98
110
118
114
107
97
93
87
80
76
76
76
79
81
82
84
87
90
93
63
108
128
132
124
113
106
112
157
163
152
125
116
131
6
14
25
28
19
6
0
0
0
0
0
0
0
0
6
6
6
8
7
7
9
8
9
12
12
12
12
13
12
9
7
6
5
4
3
5
1
0
6
6
4
1
5
0
0
1
9
13
13
8
7
7
15
18
16
14
6
19
17
8
24
14
0
0
9
29
29
16
11
3
7
7
6
6
5
5
4
1
0
0
0
2
2
2
1
1
2
2
2
2
2
3
3
3
3
3
3
3
4
6
6
8
11
17
18
17
19
20
20
19
19
16
2
20
31
31
42
69
91
91
90
85
81
78
80
87
87
95
104
109
115
120
109
100
91
86
88
94
98
103
107
107
107
106
105
102
99
94
92
88
83
82
82
83
78
79
81
82
251
250
252
255
255
255
255
255
255
255
255
255
255
254
255
255
255
255
255
255
255
255
255
254
253
252
251
250
255
255
255
254
251
255
255
255
255
255
255
248
239
234
127
114
117
124
114
110
102
103
103
103
103
105
107
107
97
95
94
94
94
94
93
95
92
90
86
85
86
87
87
86
83
84
90
90
80
50
46
42
41
39
39
39
62
55
50
43
37
45
55
43
33
38
44
37
39
46
47
46
53
57
63
74
84
88
94
99
110
118
120
117
113
100
95
88
81
76
75
75
78
80
82
84
88
92
95
60
107
129
137
130
118
109
108
148
155
162
137
123
144
23
30
25
16
0
0
0
0
0
15
14
0
0
0
11
10
7
6
4
5
5
7
8
10
11
13
13
13
4
3
1
0
0
0
0
2
1
1
5
9
7
6
0
0
0
18
20
15
7
7
8
12
19
16
12
14
8
16
16
9
19
16
2
0
0
19
28
13
10
2
4
3
2
2
4
3
2
3
3
3
3
4
4
4
4
4
5
5
5
6
6
4
4
4
4
4
4
4
4
6
6
6
7
11
12
11
13
17
18
21
21
21
0
14
26
29
39
61
83
88
88
84
79
74
75
77
81
88
98
105
111
114
105
99
91
85
85
90
93
99
104
104
106
105
103
102
100
98
94
90
87
84
84
84
79
80
82
83
250
251
252
254
255
255
255
255
255
255
255
255
254
253
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
251
251
255
255
255
255
255
255
255
239
233
147
120
114
118
111
114
105
107
106
105
104
103
104
103
94
93
91
88
87
87
89
92
92
92
91
90
89
87
73
80
83
81
85
89
89
64
54
45
46
50
49
51
47
52
55
48
35
35
41
49
31
35
44
39
42
46
44
49
62
72
80
92
98
98
114
118
120
117
111
111
116
106
100
92
84
78
76
76
78
81
84
87
91
95
99
66
109
130
140
135
123
109
110
126
145
146
147
146
135
126
89
26
0
0
0
0
23
37
33
26
19
12
10
10
10
5
3
1
2
3
0
0
2
4
5
6
6
0
0
3
5
6
9
11
7
9
9
5
4
3
3
6
16
21
4
3
6
9
4
6
9
12
6
12
17
12
12
16
13
8
17
14
5
0
0
15
5
6
5
6
4
1
2
5
2
1
2
4
3
4
2
4
4
0
0
0
0
1
2
2
4
4
4
4
4
4
4
16
15
12
11
9
7
8
6
7
12
14
16
17
15
13
21
33
42
49
56
81
83
84
81
76
70
67
63
72
80
88
97
102
108
98
95
85
79
79
83
86
91
96
96
99
101
101
102
101
105
101
96
92
88
86
85
84
85
87
88
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
255
254
250
250
254
255
255
255
255
254
249
234
207
113
113
113
112
110
106
102
103
102
103
103
102
102
100
87
87
87
86
86
88
88
88
88
89
90
90
90
89
77
78
78
79
80
81
86
88
77
61
49
47
50
56
37
41
47
46
41
38
36
45
44
41
45
54
55
50
55
68
81
88
86
87
100
115
125
115
108
107
109
108
108
107
104
98
90
83
80
79
81
84
86
88
92
97
100
89
117
131
137
132
119
104
98
103
112
121
132
140
144
184
152
129
100
66
30
8
12
22
41
35
23
7
0
5
5
1
0
0
0
0
0
0
2
5
8
7
5
4
3
5
8
8
7
7
1
0
2
7
15
24
29
8
5
4
9
7
2
0
6
8
7
6
9
15
21
9
13
10
0
9
16
17
10
2
0
0
8
4
1
0
0
0
3
7
7
10
4
3
5
7
6
5
2
2
2
2
2
3
5
6
4
5
6
7
8
6
5
15
14
9
8
5
6
6
7
4
11
18
19
23
27
38
40
42
46
50
57
78
84
85
82
78
72
67
57
71
77
88
95
98
99
95
88
83
78
78
81
85
88
94
95
94
94
96
98
101
100
102
103
102
101
96
92
100
101
104
106
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
255
255
253
250
254
255
255
255
255
254
248
233
204
103
104
106
108
109
105
101
102
102
103
103
103
102
101
85
85
85
86
86
86
86
85
85
85
85
85
86
88
79
78
78
78
78
80
83
89
86
77
62
49
46
53
36
41
45
48
48
44
40
46
50
51
51
58
61
61
71
80
87
91
92
100
116
132
130
117
110
107
108
107
106
110
106
100
92
86
83
82
83
86
90
93
97
102
105
98
118
127
130
126
116
104
97
95
103
110
119
129
135
181
160
154
143
110
59
14
0
0
20
18
5
0
0
9
7
3
1
0
0
0
0
0
0
1
3
5
2
0
1
6
7
6
3
0
0
0
2
18
24
25
24
0
1
4
7
4
0
0
6
8
6
1
6
17
24
7
12
11
3
5
15
19
7
6
5
2
2
1
3
0
0
0
2
7
9
11
5
6
5
7
6
2
0
1
2
3
4
5
6
6
6
6
6
6
6
4
3
13
8
0
0
4
4
0
5
5
11
16
18
23
28
49
43
38
38
48
59
75
88
88
84
79
76
70
60
75
81
88
95
96
97
91
86
81
75
75
80
84
87
92
91
92
91
93
95
98
98
101
104
106
106
103
96
104
106
110
113
253
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
255
254
253
252
255
255
255
251
254
254
228
161
144
104
104
102
100
99
102
103
100
100
99
100
101
103
102
89
87
87
87
87
87
85
86
83
82
81
81
80
82
88
86
83
79
78
77
78
81
86
90
86
77
64
52
47
47
49
55
61
63
62
60
67
80
81
74
80
86
106
109
118
139
166
184
179
164
132
118
111
111
115
116
115
111
105
98
92
88
84
82
84
89
94
99
103
108
111
122
122
120
118
115
112
109
104
104
103
105
112
119
125
158
153
140
126
121
120
108
76
38
0
0
0
0
8
20
18
12
9
3
0
0
0
0
0
0
0
0
0
10
6
0
0
1
0
0
8
13
16
8
3
2
1
1
3
6
4
1
2
4
1
7
8
4
5
14
22
4
10
10
4
0
10
17
17
13
10
9
6
4
1
0
0
0
0
2
2
2
9
8
7
7
8
4
2
10
10
9
8
7
4
4
4
4
4
5
6
8
9
17
15
11
8
5
3
1
6
3
7
16
25
33
6
62
58
55
54
58
61
74
78
80
80
81
80
79
73
74
79
86
92
95
97
94
86
79
75
75
78
81
83
91
89
88
86
89
92
97
100
100
101
102
103
105
104
103
105
109
112
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
254
252
248
245
246
248
255
255
253
250
240
179
134
106
103
100
98
95
97
97
95
96
96
98
100
100
100
95
95
92
91
90
87
83
86
86
83
80
78
76
72
80
81
81
81
81
80
77
78
78
77
82
85
82
74
52
51
53
56
64
73
82
83
84
104
115
92
77
87
143
175
209
222
224
217
204
187
147
126
116
115
121
126
125
110
102
95
91
88
84
81
87
93
99
103
107
111
113
132
117
110
104
105
108
115
124
126
121
119
122
126
131
145
156
165
177
185
191
187
183
167
132
115
99
87
81
45
43
33
27
20
15
11
9
5
9
9
5
8
12
6
4
5
9
12
14
14
13
10
9
0
0
0
0
7
6
7
6
8
7
7
1
5
7
1
5
16
26
5
7
8
7
3
5
10
20
17
11
9
8
5
2
2
2
1
0
0
0
0
0
0
2
7
7
3
0
15
12
9
6
5
7
9
8
8
7
7
7
10
11
15
16
16
12
8
5
7
7
10
18
22
29
41
24
88
86
79
72
66
64
67
73
79
84
86
88
87
80
76
80
85
90
92
93
89
83
78
74
75
77
81
81
84
83
80
79
79
84
89
102
103
103
104
106
108
110
106
106
105
105
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
255
251
245
241
238
241
247
252
249
238
241
200
138
101
102
100
99
97
95
94
94
95
95
98
99
100
100
97
96
95
92
90
87
83
87
85
85
82
79
74
69
73
75
77
81
81
81
79
80
76
74
75
79
82
82
52
51
51
54
62
73
86
91
89
111
123
96
74
81
172
196
216
224
225
224
214
201
154
132
120
118
123
126
129
109
101
94
91
87
84
80
88
94
100
104
107
111
113
134
117
105
100
99
106
117
125
127
122
119
119
126
129
124
176
199
209
212
209
206
208
205
192
170
143
116
100
55
53
42
35
28
21
17
8
5
11
11
7
8
13
8
7
10
14
14
14
11
16
11
4
0
0
0
0
7
6
5
9
8
7
4
3
6
5
0
4
17
30
7
8
9
10
6
5
9
16
16
13
9
4
3
3
2
2
2
1
0
0
0
1
0
0
0
2
7
9
27
23
17
11
7
8
9
11
10
9
7
7
9
9
14
12
12
10
8
7
5
10
15
22
20
21
30
24
102
92
81
72
67
65
64
75
81
87
91
92
90
81
78
82
85
89
91
90
86
82
79
75
76
79
82
83
80
79
76
75
77
80
85
100
103
106
110
112
110
110
107
106
104
103
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
250
248
233
216
189
200
217
235
240
236
222
151
121
102
103
99
95
101
111
113
114
109
99
89
73
105
103
102
102
99
96
90
84
82
80
79
78
77
75
81
80
77
74
74
75
77
82
84
82
80
77
75
70
81
77
69
64
68
67
80
120
123
121
110
88
84
123
203
204
205
206
203
198
192
189
160
142
131
125
121
115
110
116
109
102
97
92
85
81
92
100
104
110
116
120
121
117
116
118
120
119
116
113
114
113
115
117
120
126
132
139
162
175
183
191
194
195
194
198
208
218
233
245
248
197
183
124
79
36
7
0
0
8
9
6
9
14
17
7
8
9
10
9
8
8
6
4
3
6
6
4
2
4
5
8
0
0
0
4
16
21
16
5
8
11
13
6
8
5
3
1
0
0
1
4
6
6
4
5
6
5
5
8
8
5
2
1
9
11
10
8
4
8
10
11
14
12
5
9
24
24
16
18
17
16
12
4
3
26
22
15
9
0
0
0
2
13
30
48
64
82
112
95
94
93
93
93
91
88
87
88
87
83
81
77
75
81
80
80
78
78
78
80
80
78
78
81
84
86
84
90
85
80
78
77
79
80
87
92
98
104
109
112
115
112
112
112
112
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
250
239
226
211
194
182
176
171
218
244
243
192
145
127
115
102
102
101
104
104
101
95
88
74
103
100
99
96
93
92
91
88
84
80
77
73
71
68
80
79
78
77
76
74
76
74
76
80
83
82
80
73
47
53
51
50
53
54
53
71
75
79
83
87
102
141
179
179
182
183
182
182
182
180
170
154
141
133
128
121
117
123
116
110
105
98
92
92
102
109
113
116
122
127
127
124
121
120
120
119
119
118
119
118
121
123
125
131
138
128
151
164
176
189
200
207
215
206
181
169
157
145
135
48
41
26
20
16
19
25
27
23
3
0
0
0
0
10
10
9
8
6
4
2
6
6
5
3
2
3
3
11
12
12
0
0
0
8
22
18
9
9
13
13
11
8
3
1
2
4
0
0
0
3
8
9
2
4
8
6
4
4
8
11
4
0
0
0
1
8
12
8
4
8
10
13
13
16
21
18
20
24
26
27
23
15
11
18
27
34
30
24
40
49
46
45
49
56
67
80
92
93
91
91
91
92
90
87
84
84
83
82
79
78
75
84
83
83
83
82
83
85
84
83
80
78
78
79
80
86
83
80
78
78
79
81
84
87
92
96
104
108
113
113
113
113
113
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
252
243
234
236
231
228
217
189
176
188
217
190
159
131
112
107
98
100
100
102
103
101
98
90
102
101
98
93
90
89
84
82
80
80
77
73
68
63
77
77
78
76
76
77
77
76
78
78
78
78
77
75
54
57
53
51
54
55
52
61
69
76
86
94
112
145
168
169
171
174
176
177
179
179
172
160
147
139
130
125
120
122
116
113
106
97
95
95
105
110
114
117
122
127
126
125
123
121
119
118
118
118
120
119
122
124
126
132
139
129
148
161
174
188
202
210
217
208
172
146
116
86
70
24
23
28
30
33
36
38
35
31
23
16
11
6
2
8
8
9
8
7
5
4
3
7
9
0
0
3
8
10
12
8
0
0
2
12
21
15
7
10
14
13
10
9
0
1
6
5
4
0
0
1
8
9
3
4
6
5
2
0
5
12
9
6
0
0
0
0
11
8
2
5
6
5
4
7
10
9
11
15
17
17
15
7
4
24
37
47
48
46
64
72
73
71
68
70
80
87
92
92
90
90
91
91
90
87
85
84
84
81
81
78
76
84
84
85
85
86
86
87
82
82
82
81
79
78
76
80
78
76
74
74
76
81
82
86
91
95
102
107
112
115
115
115
115
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
250
239
244
248
246
242
236
229
166
151
136
124
115
108
99
105
106
108
110
113
116
120
93
93
93
90
87
85
77
76
75
75
72
70
67
64
73
73
69
66
68
68
71
78
77
76
76
74
73
71
93
85
83
99
110
99
90
105
100
92
86
84
95
118
149
150
153
156
161
169
174
179
171
162
154
145
136
130
127
122
119
117
109
96
95
100
109
113
116
118
124
127
128
125
128
127
122
118
117
117
121
120
123
125
127
133
140
140
150
155
162
175
191
203
209
204
167
126
75
34
13
29
23
20
24
26
24
16
7
1
24
38
47
45
43
10
11
12
11
10
9
8
9
8
6
6
9
11
12
18
11
3
0
1
5
12
12
9
7
13
12
8
9
9
0
8
11
6
11
1
0
0
3
6
10
6
2
2
2
2
2
8
10
11
15
11
4
0
0
0
2
0
0
0
3
8
8
8
5
5
6
5
5
5
5
30
38
39
41
50
85
90
94
96
95
96
100
105
107
91
92
90
91
92
91
86
85
85
85
83
82
83
81
83
86
89
91
90
87
79
80
80
79
77
75
77
81
81
80
75
69
66
70
78
89
90
94
96
101
107
113
121
121
121
121
255
255
255
255
255
255
255
255
255
255
255
252
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
255
255
255
255
255
254
254
252
252
250
248
248
245
245
219
212
191
167
151
125
125
113
114
114
113
112
112
109
87
86
84
84
83
82
81
79
78
76
74
73
70
67
68
66
63
61
62
62
65
69
69
72
77
79
73
67
94
84
86
110
126
127
125
126
124
125
118
91
67
79
130
135
141
142
148
158
163
164
169
161
153
145
141
136
133
124
118
111
104
101
101
101
109
112
118
122
124
123
125
127
124
121
119
116
114
113
112
117
119
121
125
129
133
152
144
139
137
144
155
170
187
188
178
152
114
78
59
27
17
2
21
37
39
31
15
0
16
31
25
10
0
13
14
14
13
11
8
7
6
4
3
8
12
14
14
15
8
3
0
5
10
8
4
7
13
16
12
7
0
4
5
5
6
2
4
15
7
0
0
2
10
12
13
0
2
4
4
5
8
10
9
11
14
15
6
0
0
8
11
15
24
31
32
25
18
17
14
13
16
28
34
16
3
0
17
53
86
83
75
81
87
94
99
104
111
98
96
96
92
92
91
91
88
83
80
77
78
79
81
87
89
90
89
85
80
74
75
82
85
81
76
76
85
95
95
90
83
75
71
73
91
97
101
105
104
104
107
125
126
128
129
255
255
255
255
255
255
255
255
255
255
255
254
255
255
254
253
252
252
253
254
255
253
253
252
252
253
255
255
255
255
255
255
255
255
255
255
255
254
251
251
247
247
255
255
255
242
224
187
169
148
129
110
94
85
83
87
89
88
85
81
78
75
71
72
72
74
75
76
76
75
64
64
64
65
67
67
69
74
75
84
92
93
80
65
60
74
93
108
118
126
133
138
143
153
159
155
135
111
114
124
135
140
142
147
154
160
158
156
150
146
140
134
130
124
119
111
105
103
102
101
104
108
112
116
118
118
119
117
114
112
110
108
106
105
112
115
116
118
120
124
127
158
149
142
139
140
150
159
170
174
182
175
162
153
152
130
100
31
40
53
55
41
15
3
28
43
39
12
0
16
16
15
14
12
11
10
12
11
11
13
14
12
11
15
8
6
0
6
10
7
4
10
14
15
11
7
1
9
7
2
3
9
6
9
5
5
6
9
7
12
19
12
8
3
1
5
6
7
9
11
14
16
14
10
8
0
0
0
7
17
20
12
5
0
0
0
3
27
34
0
10
32
56
76
92
96
103
104
100
94
86
80
72
97
97
100
99
98
96
91
90
86
81
77
77
80
79
90
88
86
82
78
77
77
81
81
77
77
76
77
77
79
89
101
104
99
92
85
87
92
97
101
105
109
113
124
125
126
126
255
255
255
255
255
255
255
255
255
255
255
254
255
255
251
250
249
248
248
249
250
249
249
250
250
251
251
250
254
255
255
255
255
255
255
255
255
255
253
251
248
247
255
255
255
255
245
217
195
177
154
131
111
95
85
78
97
95
91
85
79
77
68
71
70
72
71
72
72
73
65
67
68
70
72
74
77
82
88
96
102
100
92
84
78
93
104
105
104
109
111
129
136
144
150
158
157
139
103
114
128
137
140
142
150
156
154
152
149
144
138
132
127
121
115
110
106
102
102
101
107
110
115
118
118
120
119
117
115
113
110
108
107
106
108
111
112
112
114
118
120
150
147
144
143
145
150
158
168
177
186
182
179
178
179
174
138
38
35
42
39
21
0
0
31
51
47
17
0
17
17
16
14
13
12
11
14
14
14
15
13
10
7
15
9
6
3
6
9
5
4
11
16
15
11
5
2
11
8
1
3
12
6
7
7
6
6
6
8
12
16
19
13
6
0
4
7
6
8
9
12
15
14
13
11
0
0
0
0
2
4
0
0
0
0
0
0
12
21
11
26
47
66
81
101
107
118
115
107
95
84
72
61
97
100
102
104
103
100
92
99
95
90
87
86
87
86
82
81
81
78
78
76
74
75
76
78
85
90
90
84
72
80
93
102
105
100
94
87
92
97
102
108
111
116
120
121
122
122
255
255
255
255
255
255
255
255
254
252
251
248
244
242
238
239
241
243
242
241
240
239
239
240
241
243
247
248
254
254
255
255
255
255
255
255
255
255
255
255
250
248
255
255
255
255
249
243
213
194
182
173
168
159
150
136
117
116
110
104
99
93
86
80
78
78
78
75
75
72
84
84
85
87
93
97
103
115
117
119
115
110
110
122
108
108
102
96
96
101
100
96
106
116
124
132
141
145
111
109
116
127
139
144
146
149
153
150
147
143
137
131
127
119
115
112
109
109
108
109
121
125
128
131
133
134
133
131
129
127
126
124
123
122
121
124
124
125
127
130
133
136
148
154
159
163
168
170
167
174
189
197
208
215
217
217
178
50
34
41
42
30
14
13
75
86
57
6
0
23
22
19
18
17
17
17
21
20
17
15
13
10
7
14
11
9
6
9
10
5
6
13
19
15
9
4
1
13
12
5
2
14
8
4
13
9
2
0
14
14
9
19
18
16
12
5
7
8
8
8
10
10
14
15
15
9
16
25
34
40
35
26
14
5
4
9
23
47
55
87
83
81
85
98
122
125
119
112
104
98
91
86
79
100
102
104
108
107
104
98
92
88
83
80
79
77
74
86
87
87
87
83
79
71
77
76
76
77
84
91
99
93
89
89
96
106
111
109
100
100
101
103
110
115
117
107
108
109
110
255
255
255
255
255
255
255
253
249
245
242
235
228
223
195
200
208
216
221
219
218
210
205
199
198
205
233
243
252
254
255
255
255
255
255
255
255
255
255
255
250
248
221
220
233
240
236
218
173
162
154
149
151
155
164
176
124
123
117
112
107
104
96
94
93
93
92
92
91
89
106
104
105
105
111
118
128
128
127
126
135
145
153
159
137
131
125
120
111
101
92
89
84
86
91
96
100
109
155
130
111
114
132
145
150
152
155
152
147
143
139
134
131
126
127
125
125
126
127
128
132
135
138
141
143
142
143
142
140
139
137
136
135
134
133
137
138
139
141
145
148
140
160
172
182
191
194
192
190
187
184
198
215
224
224
251
221
111
111
146
179
187
160
146
191
174
103
25
0
27
25
21
20
20
20
20
23
20
16
12
11
10
9
14
11
13
9
11
11
5
6
14
21
15
8
4
1
10
14
8
3
12
8
5
14
17
14
6
12
17
18
16
23
27
24
7
8
10
15
14
14
12
14
14
15
78
88
102
114
122
117
109
98
85
78
77
80
84
84
121
121
122
124
125
113
103
100
95
95
97
103
108
115
102
103
104
107
106
106
101
99
94
90
86
85
81
76
72
72
73
73
75
77
83
90
100
106
104
95
86
86
110
110
108
101
95
92
97
111
108
105
106
109
112
114
85
86
87
89
253
253
255
255
255
255
255
254
244
231
218
194
182
175
160
160
163
172
189
189
190
194
184
171
166
180
233
244
255
255
255
255
254
252
250
250
251
253
251
252
255
255
255
255
255
251
240
212
202
189
174
165
175
184
178
175
177
178
179
182
182
183
179
175
172
173
170
166
165
161
177
180
181
182
183
182
183
172
170
170
166
164
160
157
148
146
143
139
136
132
128
128
127
125
122
122
123
124
138
146
133
105
106
134
152
150
159
161
157
144
134
126
117
123
122
121
120
121
122
122
127
128
131
134
134
133
131
130
131
132
132
132
133
133
131
134
135
137
141
146
150
160
162
166
170
174
181
185
187
191
196
198
201
205
208
206
205
201
206
214
225
234
238
226
178
127
67
29
18
21
26
28
32
37
39
35
30
24
19
8
2
0
0
25
22
19
32
19
0
0
0
28
37
0
0
29
66
9
13
15
13
31
31
22
22
20
20
20
23
32
40
34
14
1
2
23
34
41
37
12
0
0
0
26
48
1
21
58
100
139
183
184
174
159
143
132
126
120
120
109
108
109
109
112
114
111
110
110
109
105
101
98
98
87
90
94
99
105
108
113
106
103
98
91
83
79
79
102
105
107
107
108
104
76
67
63
65
66
69
67
64
90
100
104
104
101
92
85
89
94
92
88
87
84
83
100
96
93
91
251
253
255
255
255
255
255
251
245
233
216
178
172
170
161
160
162
165
172
171
172
167
169
176
192
216
242
240
255
255
255
255
254
252
250
251
251
251
255
255
255
253
255
253
236
218
209
211
213
213
204
189
174
166
164
151
153
152
154
156
155
156
152
150
148
150
154
156
158
159
157
159
164
170
174
177
180
177
174
171
168
167
165
163
152
151
148
145
139
135
130
125
125
124
123
122
122
121
141
142
148
149
134
117
126
150
154
157
154
147
143
141
136
131
131
131
131
133
134
135
135
134
134
134
133
130
128
132
129
128
128
126
127
127
130
132
133
134
137
144
147
151
161
167
171
173
175
175
185
188
196
200
203
207
210
214
212
210
213
220
231
239
243
236
198
153
101
66
54
20
21
12
6
1
0
0
0
0
0
13
17
19
19
9
7
11
45
75
61
11
7
22
33
5
0
10
29
0
3
9
4
11
12
9
3
3
4
4
9
14
18
15
16
14
14
30
29
25
21
16
13
13
14
23
33
2
21
57
98
136
183
187
183
171
160
152
148
144
144
118
116
114
115
116
113
111
109
109
107
103
100
96
97
83
87
93
98
102
104
106
106
105
101
94
86
83
80
97
100
101
104
109
113
101
85
76
67
62
60
61
63
57
66
75
84
98
102
103
101
98
89
84
83
79
72
89
90
90
90
251
251
253
255
255
255
255
255
253
243
236
210
191
179
171
169
169
168
173
176
178
187
204
224
237
247
251
248
255
255
255
255
254
252
252
252
252
253
255
255
253
247
252
243
229
215
209
208
207
203
213
209
188
174
173
159
163
165
168
170
173
173
173
174
173
174
173
174
175
175
157
159
162
166
170
174
175
176
172
169
166
163
162
164
153
153
148
144
138
133
128
120
119
119
118
117
116
115
138
140
144
148
155
151
137
127
138
148
154
152
152
150
146
135
135
136
137
139
141
143
139
136
133
131
129
126
123
127
124
123
123
125
126
127
126
131
134
136
138
142
145
151
153
155
158
164
168
170
170
176
189
193
196
200
202
217
216
214
215
220
228
237
242
240
221
194
159
133
124
111
101
65
46
25
12
4
0
1
8
35
47
56
59
0
0
0
105
164
134
36
12
11
30
31
9
0
0
0
5
13
11
5
6
6
0
0
0
0
4
6
8
0
9
23
27
26
15
7
9
30
57
77
59
35
19
16
35
65
104
141
188
195
187
180
172
167
167
164
163
127
125
123
121
120
114
110
109
106
105
101
99
98
95
92
93
95
99
100
102
106
102
104
102
99
95
93
95
95
102
110
116
119
121
110
90
84
80
79
88
103
121
103
102
92
82
82
77
72
79
77
72
72
81
84
86
71
75
76
76
251
251
253
255
255
255
255
255
255
251
246
231
212
198
183
181
177
173
178
182
187
204
221
238
244
247
251
251
255
255
255
255
254
252
254
254
254
255
255
255
251
245
250
243
233
224
220
211
203
200
211
210
192
175
171
162
173
175
178
182
183
186
186
181
181
182
183
185
187
191
164
164
165
168
170
172
172
170
167
164
161
158
155
154
145
145
141
139
133
128
124
114
114
114
113
111
112
112
136
139
137
136
151
162
151
127
131
142
148
148
150
152
147
136
136
137
138
140
142
144
143
139
136
134
132
130
128
127
124
123
123
126
128
129
126
134
136
139
142
147
150
154
154
156
159
164
168
171
169
175
187
192
195
198
202
217
216
215
216
219
226
235
240
243
233
214
190
174
166
190
176
130
100
68
42
26
19
16
18
38
50
57
60
0
0
2
148
193
142
45
11
8
30
35
12
0
0
7
15
22
24
16
15
13
5
3
2
3
12
15
16
0
9
24
31
22
12
10
18
42
72
98
82
50
28
36
51
80
114
149
194
200
196
191
184
179
177
173
170
130
128
124
123
121
114
112
108
106
102
101
100
99
94
95
96
99
99
103
108
116
113
114
115
114
114
112
113
116
125
135
140
143
141
129
118
108
96
91
94
106
121
93
97
95
92
91
84
76
67
68
61
58
65
69
73
58
60
61
60
251
253
253
254
255
255
255
255
255
255
255
250
245
243
225
219
209
200
202
209
217
230
239
246
251
255
255
255
255
255
255
254
254
254
255
254
255
255
255
254
247
246
255
251
240
230
226
215
206
204
211
211
197
178
169
185
184
183
185
186
185
185
182
182
181
182
183
186
188
193
173
174
174
173
173
171
167
156
151
146
138
132
126
122
114
114
112
111
108
106
104
101
102
100
99
102
103
106
130
129
128
131
137
145
150
154
121
124
128
131
140
152
154
139
139
139
140
141
142
143
133
129
127
126
125
124
123
122
116
113
112
112
113
114
114
122
127
130
134
139
142
142
149
152
153
155
153
153
157
162
178
181
185
189
190
199
200
200
199
202
206
213
220
225
229
227
223
221
219
255
255
231
196
148
105
73
50
32
19
7
7
5
3
2
24
57
217
201
112
45
6
9
30
29
14
8
8
28
32
38
44
36
32
29
26
19
15
17
27
33
35
24
22
27
34
21
25
48
61
79
98
118
129
109
90
93
106
126
152
177
208
212
206
199
192
188
183
171
167
133
130
126
124
120
114
111
107
105
100
101
103
101
96
99
98
99
105
111
122
139
133
137
138
137
136
133
134
129
136
141
142
140
139
130
126
123
120
119
120
122
124
110
109
95
77
64
54
54
65
69
68
67
74
81
92
69
65
61
62
252
252
254
255
255
255
255
255
255
255
255
254
249
245
241
235
230
227
223
226
230
243
247
253
255
255
255
255
254
254
254
254
254
255
255
255
255
255
255
252
252
255
255
249
238
235
233
217
208
205
211
209
195
179
176
182
178
178
178
179
180
179
174
163
163
163
165
169
172
180
180
179
178
176
175
171
164
146
136
127
120
111
103
94
90
89
88
86
83
82
82
83
86
86
89
93
96
99
108
107
114
121
122
121
131
145
135
121
117
125
139
147
147
128
128
128
129
132
134
135
131
129
128
127
126
126
126
124
121
118
113
111
108
107
107
114
115
118
122
126
129
136
140
142
143
144
145
144
152
147
153
160
165
169
170
171
172
176
181
187
191
196
203
209
226
230
233
233
233
246
246
225
212
192
152
109
87
66
45
11
0
0
0
53
89
145
240
176
79
24
4
20
36
15
8
32
59
21
23
28
37
34
24
16
14
11
10
14
25
29
32
45
67
58
40
42
41
72
89
111
128
147
159
154
152
147
155
170
186
201
216
216
204
197
190
179
174
165
163
134
132
129
123
119
113
113
110
110
110
110
109
107
107
109
111
111
111
113
115
119
122
122
122
125
126
128
129
134
134
144
147
140
131
118
100
95
85
86
97
99
100
118
122
109
94
87
74
56
62
62
68
78
78
69
59
49
49
49
49
254
254
254
255
255
255
255
255
255
255
255
255
252
249
253
248
241
239
235
237
241
250
253
255
255
255
255
255
254
255
255
255
255
255
255
255
255
255
253
250
255
255
254
249
242
240
235
216
207
213
214
206
194
184
180
183
170
173
175
174
169
166
170
164
165
165
166
169
174
179
185
186
184
181
177
170
165
147
134
125
115
107
98
90
86
85
84
82
79
77
78
77
81
82
85
88
90
91
93
96
106
117
119
118
123
130
146
133
119
120
131
138
140
125
124
123
125
128
132
134
131
131
131
131
130
129
129
129
125
122
118
113
111
109
108
114
117
119
123
124
127
134
138
142
144
144
139
137
143
139
142
148
150
153
154
156
158
166
171
176
182
187
196
203
218
226
230
233
234
230
232
225
221
212
190
164
133
113
91
51
37
29
24
94
135
188
238
172
77
22
12
26
40
8
8
39
71
18
16
18
26
25
16
7
7
2
2
5
20
25
28
70
68
74
79
52
53
66
79
107
133
154
167
166
169
163
170
180
190
199
207
206
199
193
185
174
168
159
155
132
130
125
122
116
111
110
110
109
108
109
109
111
111
111
113
114
115
115
113
109
112
111
113
112
112
113
115
133
139
144
141
126
122
141
158
131
104
98
100
92
84
101
102
89
79
77
73
65
79
64
50
46
52
55
54
44
49
54
57
255
255
255
255
255
255
254
254
253
255
255
255
254
252
255
255
253
252
247
248
251
253
254
255
255
255
255
255
251
252
253
253
255
254
255
255
255
255
255
255
251
250
255
255
255
254
249
233
228
213
200
187
181
184
187
189
180
178
177
176
174
170
157
153
152
155
156
161
166
174
173
180
185
188
185
178
172
156
148
138
128
120
112
107
101
99
96
94
90
85
82
77
77
79
80
81
78
74
70
77
91
106
116
119
115
111
147
156
141
121
117
129
139
135
131
127
126
127
130
131
131
133
135
136
136
135
134
132
128
125
122
116
114
111
115
119
121
123
124
127
129
135
133
136
141
142
140
137
127
122
122
124
123
126
128
128
133
151
160
167
176
180
190
195
211
219
225
233
237
234
238
245
247
251
254
251
248
239
229
206
197
189
186
204
210
218
219
182
113
53
35
41
48
19
13
32
55
28
25
26
30
28
20
13
15
16
22
28
44
49
52
92
89
73
99
135
83
76
69
89
119
147
166
159
154
167
169
172
173
175
178
177
176
174
170
164
160
153
148
131
127
125
120
116
113
111
107
108
108
109
111
114
118
119
119
118
115
114
113
111
108
106
102
98
93
90
87
98
101
95
93
114
140
187
144
98
65
62
65
58
48
95
104
115
115
108
97
87
73
72
70
66
63
60
57
59
65
74
80
255
255
255
255
254
252
252
253
250
249
249
252
251
249
255
255
255
255
250
249
252
249
250
254
254
253
255
255
249
250
251
252
253
252
251
252
254
253
253
255
251
249
246
245
239
233
229
232
236
224
202
182
175
178
182
186
176
177
174
170
167
165
165
165
165
164
165
166
169
175
170
171
174
177
179
181
179
168
162
156
151
144
138
136
124
122
120
115
110
104
97
87
82
79
76
75
71
67
62
69
84
103
119
128
128
118
122
146
162
153
132
123
127
135
132
129
127
126
126
126
130
130
131
131
132
133
134
132
127
125
123
120
119
116
117
120
119
120
122
125
126
134
138
138
134
131
127
125
124
120
110
105
98
99
100
105
114
142
154
166
175
180
188
193
207
214
221
228
235
239
237
243
243
242
244
244
236
237
240
246
246
245
247
255
229
195
201
203
172
115
73
57
53
33
20
18
26
79
75
72
71
66
68
71
53
56
60
59
62
76
89
90
81
131
155
152
151
71
52
68
102
138
138
112
94
139
139
138
137
136
140
143
144
146
147
148
148
148
145
124
123
119
115
112
109
108
109
109
113
117
120
122
126
125
124
120
116
115
113
111
100
97
93
90
84
82
80
79
88
88
109
148
153
100
91
57
34
33
41
56
63
22
30
48
54
52
70
97
108
104
92
74
58
56
60
59
62
65
67
255
255
255
255
254
252
252
251
251
249
248
249
250
249
255
255
255
255
251
250
253
250
251
251
253
251
253
254
246
247
251
251
252
251
250
254
254
251
251
253
251
250
246
242
232
222
215
219
226
231
209
185
175
177
178
181
179
183
184
179
175
178
198
213
210
209
208
209
209
214
187
182
177
176
178
179
177
171
167
163
157
151
146
144
131
129
126
121
116
109
101
90
84
78
75
72
69
68
62
70
82
102
121
132
133
124
113
136
165
166
140
121
120
130
129
127
126
125
124
124
130
129
128
129
130
132
133
132
130
126
125
123
121
120
121
123
125
124
125
128
130
132
141
140
133
126
119
116
112
107
101
96
90
90
93
97
108
140
152
165
175
181
185
192
206
211
218
226
235
234
233
237
236
234
232
231
234
235
236
240
243
244
246
255
227
187
197
209
188
137
87
61
53
37
21
17
19
91
78
62
47
42
56
70
69
71
70
60
52
67
82
74
86
135
168
134
126
108
46
67
106
141
130
99
78
127
127
127
124
124
129
133
133
137
140
141
143
146
142
121
120
116
112
110
106
106
108
112
116
121
124
126
128
124
124
121
118
116
112
105
102
97
93
87
80
76
72
82
87
83
103
150
161
109
65
41
32
33
38
51
54
9
24
49
57
52
68
99
105
104
94
78
65
61
57
57
59
60
60
255
255
255
255
255
255
255
255
255
255
255
253
251
250
255
255
255
255
254
253
254
252
250
251
250
251
254
255
255
255
255
255
255
254
255
252
255
255
250
248
241
231
229
222
218
221
223
221
222
220
225
218
209
212
215
207
200
199
198
203
210
216
220
225
232
242
249
250
248
245
239
236
233
229
225
218
210
195
184
172
160
155
152
156
144
140
134
126
120
110
101
84
80
75
73
72
71
72
72
72
75
80
89
95
105
115
122
131
157
169
157
121
86
120
120
124
129
133
135
137
133
124
118
115
115
113
113
137
127
122
121
125
128
127
123
128
127
124
124
126
130
128
132
134
135
133
129
125
118
117
107
104
101
98
98
99
107
131
140
148
160
168
176
181
193
202
208
213
215
218
221
228
231
233
235
236
233
231
229
225
222
220
220
228
226
219
202
188
170
153
137
122
110
93
80
76
77
111
92
74
66
65
78
93
110
109
108
112
113
111
110
100
117
131
146
143
128
130
145
122
71
80
119
153
164
150
145
137
131
124
111
111
105
108
112
117
118
122
124
102
100
99
102
108
119
122
125
133
137
139
141
143
141
134
132
129
124
121
116
109
106
101
95
91
87
82
75
76
91
79
82
130
162
107
107
96
71
49
38
33
29
28
40
52
45
32
39
61
83
75
71
69
66
63
73
54
51
45
46
255
255
255
255
255
255
255
254
255
255
255
252
251
250
255
255
255
254
253
252
251
252
252
253
255
255
254
253
255
255
255
255
255
254
255
251
253
250
243
238
221
209
216
221
228
238
244
251
253
255
255
239
218
206
205
212
212
218
228
233
234
235
241
252
253
255
255
255
255
255
248
248
247
246
246
245
240
228
223
215
200
180
162
154
149
142
135
125
116
107
97
80
78
78
80
81
83
83
89
88
89
91
95
99
105
110
118
117
123
150
179
162
119
130
125
129
135
135
134
135
130
128
129
128
124
118
114
109
112
116
119
119
121
123
126
130
131
129
131
132
135
130
133
133
133
130
127
125
122
119
110
107
106
105
106
105
112
129
135
143
152
161
166
170
184
191
196
202
205
210
212
217
220
223
225
227
229
227
223
217
213
210
209
204
201
198
190
182
173
163
155
149
144
127
115
103
97
98
87
75
67
63
66
73
88
96
106
112
122
120
118
99
115
125
137
166
159
147
127
137
171
126
111
110
117
128
120
115
112
108
100
102
101
103
108
111
113
115
116
96
97
97
101
107
123
128
135
143
148
150
150
154
151
137
133
129
126
121
116
107
103
98
90
84
81
76
72
73
75
76
71
80
121
139
124
93
60
42
39
41
39
55
58
64
66
63
71
84
78
66
55
53
56
66
82
97
93
86
84
255
255
255
255
255
255
255
254
254
255
255
253
251
250
255
255
255
254
252
253
252
255
255
255
255
254
252
251
255
255
255
255
255
255
255
255
252
246
242
241
220
206
210
221
234
246
252
255
255
255
255
255
252
246
234
207
218
228
237
245
246
247
253
255
255
255
255
255
254
253
255
255
252
251
250
250
247
235
232
228
224
209
188
169
153
145
136
125
116
105
96
81
79
80
82
86
86
88
97
95
91
91
93
98
98
102
112
109
105
126
164
171
145
132
121
123
126
125
124
128
132
132
131
128
125
117
113
119
112
111
109
109
117
128
127
131
133
132
133
136
138
134
133
134
134
131
127
125
124
121
114
112
112
112
112
111
115
128
136
143
151
157
165
169
182
189
196
200
202
208
210
215
218
222
225
227
229
227
223
216
212
209
208
199
195
191
185
179
173
167
165
163
161
152
144
133
125
113
100
84
71
66
71
77
89
100
109
112
124
125
121
99
113
125
134
165
169
163
139
128
179
168
101
86
86
111
104
99
100
100
99
101
104
105
110
110
108
107
108
93
95
97
101
108
123
132
139
148
154
155
157
158
157
140
137
131
127
124
118
108
102
98
89
83
79
76
71
76
63
71
76
71
94
134
121
83
59
56
50
43
43
57
57
64
70
72
79
84
87
72
61
62
71
83
92
103
96
89
86
255
255
255
255
255
255
255
254
255
255
255
254
253
252
255
255
255
255
255
255
255
255
255
254
252
251
252
252
255
255
255
255
255
255
255
255
254
249
242
234
217
213
218
234
247
252
251
255
254
253
252
247
247
252
254
252
247
250
253
253
251
250
254
255
255
255
255
255
251
250
247
250
253
255
255
250
243
248
241
237
238
235
225
209
177
168
154
140
124
111
100
84
83
86
91
98
106
112
130
121
107
98
93
89
85
85
102
109
111
118
138
165
177
137
113
108
112
113
116
124
116
123
132
134
131
126
122
110
99
107
113
111
113
118
126
132
132
135
138
137
138
138
135
134
132
132
129
126
125
126
126
125
126
125
125
118
119
130
138
147
152
159
165
168
182
189
195
199
201
202
204
211
215
221
226
230
228
225
222
216
213
210
209
190
187
183
177
176
175
174
173
176
179
182
182
176
166
129
120
105
89
80
80
79
79
94
107
114
131
135
131
118
118
123
133
141
147
148
156
159
122
147
121
84
63
84
77
74
76
85
94
100
100
103
104
104
101
95
94
92
95
98
103
107
124
134
145
153
158
161
162
163
161
142
138
135
130
125
120
109
104
99
94
88
83
78
70
65
62
64
68
67
67
89
104
100
105
95
73
77
90
86
79
82
92
94
99
106
104
97
87
82
81
82
84
78
70
62
57
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
252
252
252
252
252
253
253
253
255
255
255
255
252
248
246
246
230
218
231
248
250
255
255
255
253
249
245
247
251
255
255
255
253
255
252
254
255
255
248
249
255
253
253
253
250
249
248
252
253
254
255
255
251
247
239
241
243
243
242
239
235
215
203
186
163
139
125
111
94
95
102
112
122
130
141
172
165
147
123
98
81
78
82
113
125
135
143
141
155
188
152
120
97
92
119
159
182
214
228
233
233
227
222
216
213
197
150
111
97
106
121
126
128
134
138
134
135
138
134
135
136
134
131
124
119
132
133
134
134
132
133
132
123
120
128
132
138
147
155
162
165
177
185
192
197
198
203
204
211
216
220
221
221
224
221
220
218
215
209
206
193
188
182
174
173
173
170
168
170
171
177
175
167
157
146
138
123
110
87
80
78
79
86
98
106
122
128
131
157
148
137
127
124
125
129
129
123
137
120
139
159
99
85
74
59
62
76
89
98
97
98
99
98
98
98
97
92
94
98
103
112
130
136
145
151
157
159
161
163
160
139
135
132
127
124
120
113
107
104
100
95
88
82
75
68
68
66
67
69
71
73
79
93
85
82
111
122
101
91
90
89
95
100
107
112
106
100
95
79
65
64
70
67
40
19
18
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
252
252
252
252
252
252
255
255
255
255
255
253
249
246
234
225
239
246
249
254
255
255
251
248
245
247
250
253
255
254
251
251
248
250
252
251
246
251
255
255
255
253
250
249
248
255
254
255
255
255
253
248
241
242
243
244
243
241
236
236
229
215
190
157
138
125
111
112
117
127
137
146
154
183
177
158
134
105
86
77
79
116
125
135
140
135
143
170
150
117
102
119
145
168
182
214
219
220
216
216
215
214
214
205
183
152
117
106
118
123
124
129
132
128
126
126
128
116
112
113
117
125
131
124
125
130
135
136
134
134
122
119
125
131
136
144
153
159
162
173
181
189
196
198
203
205
213
218
222
222
222
225
222
221
219
216
210
207
198
194
188
181
178
175
172
172
171
167
165
164
158
152
147
139
126
113
92
84
80
76
82
91
101
119
127
131
161
151
137
123
110
109
110
118
114
121
120
109
139
158
90
76
69
67
67
84
86
91
95
98
99
100
97
95
93
94
98
105
111
129
135
142
149
153
154
155
156
150
135
133
128
125
122
118
112
109
107
102
97
91
84
74
66
64
64
65
67
69
71
80
93
86
85
104
106
88
81
90
105
115
112
107
103
107
95
83
77
75
80
75
41
35
32
36
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
251
252
255
255
255
255
255
252
241
241
241
246
254
247
251
253
255
255
250
247
248
249
252
255
255
254
252
252
251
249
247
248
248
253
255
255
255
255
254
251
251
255
255
255
255
255
255
255
252
251
250
250
247
243
239
245
246
244
227
201
185
174
158
154
154
166
176
180
184
197
194
179
155
126
101
89
86
119
130
148
157
157
158
164
165
150
148
177
186
190
218
222
219
211
207
207
211
211
225
205
210
201
162
125
119
119
128
127
123
122
129
137
154
185
194
194
188
184
183
156
143
123
127
132
132
129
117
115
118
125
129
137
146
153
158
168
177
185
193
201
205
208
219
224
227
227
226
231
228
227
225
222
216
213
203
199
195
188
185
179
173
175
173
168
153
151
151
148
143
136
125
114
94
88
84
81
85
88
97
118
126
131
152
145
135
125
109
104
104
101
120
113
109
118
117
144
152
119
88
81
76
65
82
80
84
90
95
97
99
99
93
95
98
104
110
124
130
133
139
142
143
141
141
133
128
124
120
117
119
119
116
112
109
108
104
96
87
74
65
62
61
59
61
63
64
72
80
86
92
94
83
80
102
102
98
98
99
102
97
82
91
107
105
81
58
40
62
77
84
73
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
251
252
254
255
255
254
251
241
236
238
245
255
255
254
255
255
255
255
254
252
253
253
254
255
255
255
255
255
255
255
251
250
252
253
253
253
255
254
252
250
250
255
255
254
255
255
254
253
255
254
253
252
251
247
245
255
249
244
241
236
231
220
192
191
195
205
209
209
208
208
202
190
165
140
118
108
105
122
143
166
181
189
191
187
175
159
158
182
193
197
213
225
228
226
224
220
215
207
207
205
198
202
192
148
106
109
119
113
115
132
156
173
159
170
173
170
167
165
166
190
176
135
124
123
129
134
108
104
109
113
117
125
133
144
151
164
172
181
192
199
205
207
216
221
226
228
229
233
231
229
228
224
219
216
200
196
189
183
182
180
178
174
175
175
167
163
158
151
131
125
115
108
97
95
97
97
100
99
104
119
121
122
117
121
126
131
135
136
134
135
124
128
139
140
143
141
85
151
160
110
83
68
53
67
70
75
81
87
105
110
94
95
98
102
107
118
123
124
130
134
134
134
133
123
121
119
115
113
117
119
120
116
114
110
105
97
87
75
68
64
60
57
57
60
61
60
64
73
81
80
78
86
116
130
132
112
90
84
93
104
81
61
46
38
40
53
57
45
37
41
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
250
250
250
252
249
248
246
240
239
243
250
255
255
255
255
255
255
255
255
255
254
255
255
255
255
255
255
255
255
255
253
250
254
253
252
253
255
254
252
250
250
255
255
253
253
255
254
252
255
253
252
250
251
251
248
255
255
254
249
242
241
230
203
207
214
222
224
218
215
218
212
196
170
144
124
114
115
131
154
177
190
202
207
201
184
169
162
170
183
198
210
226
226
226
226
226
220
216
205
205
199
203
192
146
105
108
109
109
122
145
167
176
169
169
167
168
170
172
174
181
179
149
131
122
123
129
102
100
103
107
111
119
127
137
146
161
169
176
187
194
205
206
212
218
224
227
229
230
228
226
225
222
216
213
201
195
187
181
182
183
182
182
180
179
177
176
168
161
130
124
114
107
104
106
108
109
108
109
115
127
129
127
102
111
123
137
153
157
156
155
143
141
149
146
151
161
86
115
149
140
102
81
55
56
62
69
79
88
106
111
94
96
99
101
106
116
120
122
128
131
131
128
126
116
117
115
111
112
114
118
122
118
116
111
103
96
88
76
67
63
57
54
54
55
58
61
63
71
75
76
85
98
127
126
112
93
85
93
103
81
55
39
40
48
59
68
45
26
30
58
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
254
255
255
251
247
244
247
253
251
247
255
254
254
255
254
255
255
255
255
255
255
255
255
255
250
246
244
246
249
249
252
251
253
253
254
255
255
255
248
249
251
253
255
254
252
255
255
255
255
255
253
252
247
247
244
242
237
232
226
222
233
240
236
227
221
219
213
203
188
178
177
164
147
141
164
189
203
210
218
223
220
214
197
177
161
154
166
193
209
218
220
220
221
231
237
208
194
193
203
181
134
106
109
104
120
142
159
169
171
173
174
178
175
166
167
170
165
174
144
123
107
96
95
92
93
95
97
104
113
121
130
138
154
157
162
171
177
201
202
207
213
216
217
217
224
219
217
216
213
210
206
186
185
185
184
184
188
192
189
189
190
186
182
177
174
156
142
120
96
74
80
96
113
135
152
159
151
147
147
141
141
146
156
179
181
181
184
184
183
177
171
165
159
161
149
104
128
143
67
63
51
57
87
102
86
110
92
103
103
105
109
111
111
109
100
98
98
96
95
98
93
109
107
106
107
109
115
118
121
118
113
106
102
96
86
46
44
42
41
50
61
73
79
87
86
80
90
113
116
50
46
68
112
131
105
65
63
73
85
85
75
65
67
65
28
47
96
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
253
253
252
252
251
252
252
250
246
244
251
255
255
255
255
254
253
252
253
254
252
250
250
254
255
253
252
250
249
248
245
243
252
255
255
254
255
255
255
255
252
251
253
255
255
255
255
254
255
255
254
254
255
253
252
248
247
247
248
244
236
232
234
234
228
224
223
218
199
198
193
186
186
177
171
171
213
228
234
235
240
242
240
236
216
195
180
166
162
171
195
203
209
215
220
225
224
210
200
203
183
138
109
115
121
104
109
139
168
178
172
175
172
174
172
170
172
176
174
178
145
127
111
103
104
98
99
98
99
103
110
116
124
130
146
151
158
165
170
190
190
192
195
198
202
204
208
207
205
204
203
202
201
189
188
189
187
189
193
195
194
193
191
185
183
181
179
166
155
135
114
96
100
115
137
152
165
172
173
168
163
168
167
165
170
187
190
192
196
196
196
192
182
172
165
172
137
113
76
102
119
83
84
79
69
83
103
89
106
99
101
103
105
108
107
103
104
99
96
91
91
97
100
102
101
100
101
106
109
114
113
110
105
100
94
89
80
56
57
61
57
55
53
59
69
61
61
69
75
75
73
103
114
102
64
35
46
73
88
86
83
77
72
74
88
55
54
86
116
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
253
252
252
253
250
249
252
255
255
247
241
249
255
255
255
254
254
253
252
253
254
249
245
246
250
253
250
254
253
251
247
242
238
250
255
255
255
255
255
255
255
250
249
250
253
255
254
252
253
253
253
253
253
255
255
254
250
248
249
253
247
239
234
231
226
221
221
219
214
205
209
208
206
205
196
197
204
230
238
241
241
245
246
245
239
224
206
191
175
165
171
186
203
209
213
223
235
242
226
208
198
175
140
118
117
120
111
114
137
165
175
166
176
172
170
170
169
169
172
177
177
142
125
112
105
107
103
104
102
103
106
111
117
123
129
145
150
155
161
166
184
184
184
186
190
195
198
199
199
198
198
199
199
200
187
188
188
186
188
190
192
197
194
191
185
182
182
182
171
161
143
127
110
115
128
147
159
171
180
184
177
171
175
172
172
174
187
191
193
195
197
195
190
178
169
159
154
138
112
100
76
163
122
75
83
80
74
86
97
98
99
100
102
106
106
107
102
101
96
92
89
89
95
96
97
94
95
95
100
104
108
107
104
99
94
90
84
76
74
70
65
61
59
56
60
47
60
58
44
49
80
104
100
72
47
46
65
79
84
79
79
81
81
78
80
90
60
69
96
113
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
250
252
252
255
255
255
255
255
251
247
247
250
251
250
251
252
254
253
253
252
248
245
243
245
245
240
250
247
243
239
231
224
228
237
242
251
253
251
254
255
255
254
255
255
255
255
255
245
245
246
248
249
254
255
255
253
252
250
252
249
242
238
232
224
215
215
220
220
219
225
227
227
227
222
224
236
244
246
247
250
255
255
255
245
238
226
212
187
163
153
165
165
170
189
199
190
172
156
148
143
151
169
172
154
138
122
114
120
143
173
195
172
170
169
172
177
180
180
177
167
132
124
116
114
120
116
118
115
114
115
119
124
128
134
144
150
154
158
160
168
170
170
169
171
176
181
181
182
182
185
188
192
196
195
197
196
194
196
197
200
200
196
193
186
184
186
185
175
168
159
148
136
140
150
161
174
184
191
194
189
186
184
182
179
180
184
188
191
193
194
189
182
168
157
148
144
139
131
104
102
80
157
153
100
71
71
77
104
101
99
100
102
104
107
106
101
95
95
94
93
94
96
92
87
87
88
90
95
99
101
101
98
93
88
83
77
69
85
77
71
70
63
47
29
29
41
73
111
122
100
61
53
68
74
68
74
92
100
103
97
91
86
82
82
86
75
80
91
97
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
250
247
249
255
255
255
255
253
255
255
250
242
241
242
244
247
249
252
251
248
246
245
242
235
229
226
235
229
224
220
214
205
196
191
192
196
209
228
241
243
248
249
248
250
251
250
246
238
238
240
244
247
254
255
254
255
254
253
253
255
255
247
242
232
224
222
230
239
244
249
250
249
248
245
244
251
249
249
252
255
255
255
255
242
232
230
231
209
168
139
182
194
186
174
161
143
123
131
136
148
141
138
148
153
149
125
124
116
111
124
147
173
193
198
198
191
175
158
143
132
108
108
108
113
124
121
121
121
119
120
123
128
134
136
144
148
152
153
154
147
150
154
152
150
153
157
164
168
171
174
179
188
193
199
199
198
196
197
198
199
198
197
195
190
189
188
186
180
179
174
170
165
167
174
180
191
201
205
206
206
206
206
205
200
197
189
188
188
184
181
175
166
150
142
135
120
129
118
131
121
111
60
125
136
108
71
74
81
104
94
95
96
100
102
102
99
92
89
85
80
81
85
87
97
95
98
100
104
107
108
101
98
93
89
85
78
70
78
71
64
53
40
33
67
144
135
99
52
31
43
52
76
71
84
108
110
96
94
101
96
93
92
92
89
88
76
81
88
94
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
254
255
255
255
253
255
254
253
252
249
249
246
242
247
254
252
254
250
245
241
241
242
232
219
226
223
220
214
207
198
191
182
165
164
161
167
187
214
234
244
244
245
246
245
242
236
236
240
243
246
252
255
255
253
250
248
251
254
254
253
246
240
231
224
227
234
241
253
253
253
251
251
249
249
249
254
255
255
255
255
255
255
241
237
235
230
212
175
146
180
191
179
158
153
152
144
143
145
146
139
142
147
140
146
129
115
113
112
111
115
112
140
153
154
140
123
113
96
99
108
112
115
117
117
117
119
121
122
120
123
125
128
134
141
142
143
147
150
138
138
139
139
142
142
144
149
152
159
171
177
182
185
196
197
198
200
198
198
196
200
198
198
197
196
195
195
188
186
183
181
178
180
184
189
196
202
205
210
210
210
209
206
203
198
189
187
185
182
176
169
162
141
135
131
122
120
121
125
125
108
81
57
130
132
85
81
85
92
89
92
96
101
105
103
97
89
83
78
77
79
83
90
97
98
101
106
110
110
105
113
99
93
95
87
66
75
65
52
51
43
40
76
153
108
64
37
39
47
50
58
72
85
102
111
105
95
95
97
97
95
93
91
90
91
84
86
92
94
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
252
248
249
251
253
253
254
253
243
242
232
239
255
252
254
252
243
236
226
209
189
184
186
186
182
177
168
154
136
132
136
143
153
171
194
216
236
236
239
241
241
236
228
220
220
223
234
247
255
255
255
254
254
255
255
255
255
254
241
230
227
237
245
250
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
240
239
236
223
197
173
164
154
173
188
189
185
182
179
170
154
152
158
171
164
134
118
126
128
127
122
120
119
111
101
97
94
94
97
99
96
99
108
112
114
113
112
111
114
117
117
118
118
120
123
122
129
134
138
142
144
138
136
134
131
128
125
125
133
138
146
167
178
189
196
202
203
204
206
204
204
202
202
203
203
202
203
202
202
202
202
202
202
200
200
201
205
207
208
211
214
213
215
215
214
211
205
193
186
181
173
162
153
146
129
127
129
124
127
133
130
120
110
95
80
52
94
135
103
76
64
78
83
88
93
96
94
89
82
79
75
75
81
85
95
104
104
107
110
112
111
104
101
102
95
79
68
69
65
31
39
66
114
142
115
39
35
37
45
50
49
57
67
85
105
110
90
79
86
88
88
90
90
88
87
89
91
95
99
105
107
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
248
247
252
254
255
255
255
250
250
241
227
204
203
227
227
230
233
224
215
204
188
174
167
151
150
147
141
134
124
113
118
118
129
157
190
217
232
232
234
240
246
249
248
244
232
221
212
216
229
243
247
255
253
251
255
255
255
255
255
239
228
232
243
249
247
255
255
255
255
255
255
255
255
255
253
253
250
250
248
248
246
247
238
214
184
171
171
161
172
189
188
183
190
200
196
204
195
184
182
162
122
115
114
119
117
120
124
122
107
112
114
113
112
107
104
108
105
100
98
101
103
104
104
104
108
111
114
113
112
114
111
113
120
127
131
129
134
134
131
129
128
126
126
138
144
153
177
189
200
206
202
203
204
207
207
204
204
205
205
205
205
205
205
207
202
204
209
214
219
221
219
216
214
213
214
215
216
218
215
213
211
204
190
181
174
166
157
148
141
129
129
132
137
133
131
127
117
98
80
78
88
74
78
114
68
57
78
80
83
87
89
90
89
79
77
75
78
81
88
96
99
101
100
102
103
101
94
89
84
78
70
56
59
129
149
140
90
47
48
55
51
54
45
52
66
64
60
75
115
97
77
70
68
67
70
73
75
77
76
79
82
87
95
100
105
111
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
253
250
249
255
255
255
255
255
249
248
243
224
206
206
221
233
230
228
220
208
193
179
167
158
148
147
142
136
129
122
117
118
119
130
159
193
216
232
229
233
238
244
248
249
248
238
225
211
210
221
233
241
255
253
252
255
255
255
255
255
241
232
239
252
251
248
255
255
255
255
255
255
255
255
254
251
248
247
245
245
243
246
243
227
204
185
174
174
158
164
180
188
194
209
221
215
215
219
219
214
182
133
106
103
119
120
124
126
121
114
116
117
118
118
118
116
114
110
101
99
100
102
103
101
101
105
109
114
112
110
110
109
112
116
120
121
123
129
127
125
124
125
126
127
142
150
160
183
193
203
209
203
204
205
205
206
205
205
205
207
205
206
206
208
208
200
203
208
216
224
224
222
217
216
213
213
216
218
219
216
213
210
203
187
180
171
166
158
149
144
133
129
131
144
135
128
120
111
94
80
81
93
90
81
95
81
37
77
79
80
82
85
91
91
84
82
81
81
86
90
99
94
94
93
95
96
96
87
82
78
65
51
68
112
158
105
66
35
42
60
52
50
59
52
57
64
54
56
86
96
70
54
57
63
62
64
65
67
69
73
74
78
84
95
99
106
110
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
252
251
252
252
252
252
255
255
255
255
255
252
208
182
194
207
201
236
218
211
203
194
180
171
165
156
149
147
145
139
130
122
112
113
122
142
168
191
209
245
239
239
242
245
249
254
254
250
241
229
223
230
240
245
243
240
241
246
251
253
252
240
228
228
242
252
249
246
255
255
255
255
255
255
255
255
254
249
246
242
238
235
234
241
224
194
180
185
187
182
166
158
170
197
222
230
222
217
216
221
212
205
193
176
126
90
100
101
115
126
120
115
120
121
120
118
117
115
111
112
113
114
111
111
109
100
99
103
109
115
113
110
108
111
115
111
110
112
115
133
132
124
126
127
133
136
153
161
176
202
210
218
223
204
205
207
209
209
209
208
207
205
205
205
206
207
207
199
203
208
216
222
221
218
217
213
212
212
217
220
222
220
216
209
203
186
179
174
162
156
152
151
136
129
126
147
140
129
111
96
105
108
100
106
104
90
74
59
59
76
75
74
76
79
91
94
95
91
89
89
91
94
101
83
84
84
87
88
88
81
74
104
141
149
115
69
44
48
37
48
60
48
46
53
61
66
62
54
75
107
102
52
61
63
57
55
60
56
55
58
62
64
69
74
81
97
101
107
112
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
254
255
255
255
255
255
255
240
218
205
197
189
189
184
169
167
160
156
159
168
178
181
188
160
164
163
156
148
143
135
132
139
157
175
189
198
212
231
235
240
240
242
247
248
246
240
229
223
223
227
234
238
236
232
231
231
229
225
200
197
206
228
242
246
246
255
255
255
255
255
255
255
255
251
252
250
240
235
236
233
195
179
163
157
158
154
142
151
150
156
175
186
188
202
193
176
170
166
164
164
168
176
101
94
101
105
112
118
105
112
114
114
116
119
123
118
120
120
121
120
117
116
114
114
105
104
103
103
100
103
104
105
105
105
107
109
99
106
119
127
134
146
155
175
182
192
207
211
213
215
220
224
227
227
228
227
222
220
220
217
211
208
205
204
204
203
203
202
204
202
200
199
198
199
200
204
205
204
197
197
194
192
184
179
175
171
166
161
156
137
128
125
121
117
114
112
102
76
70
84
86
81
82
83
65
78
65
58
55
61
72
96
107
105
102
99
96
97
89
67
80
83
87
84
79
86
132
96
70
44
33
41
62
86
77
70
60
55
54
55
53
62
54
72
104
107
74
52
49
52
53
55
56
56
53
46
46
51
60
69
78
90
97
102
109
114
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
255
255
255
255
255
229
201
207
204
201
202
201
179
171
152
154
163
177
188
191
190
175
182
183
176
166
157
150
152
155
166
183
197
206
215
228
231
233
232
234
239
244
239
230
221
221
219
215
217
226
230
231
226
217
210
209
189
193
208
229
242
244
246
254
254
254
254
254
254
252
252
247
246
244
237
233
233
229
190
173
160
156
151
133
111
147
162
169
176
173
175
191
184
168
166
164
163
164
169
181
111
91
100
102
101
113
101
110
111
113
114
119
121
119
120
123
122
122
121
120
121
122
113
109
106
102
98
99
102
102
101
102
104
106
102
106
118
126
136
150
161
176
184
194
208
211
215
217
224
228
231
231
233
232
228
224
224
221
211
207
203
201
201
200
199
197
196
191
188
189
190
189
192
197
197
196
191
191
190
188
182
179
175
170
168
164
157
143
136
131
141
129
117
114
107
84
81
79
81
78
76
77
55
48
65
63
60
60
66
84
87
99
100
96
89
84
80
81
78
63
56
79
122
148
108
71
44
31
42
61
72
83
76
68
58
54
54
55
54
63
57
93
120
88
48
44
53
53
55
56
56
54
52
46
44
48
54
61
68
79
96
101
108
113
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
253
254
253
254
253
255
255
253
251
249
239
218
203
213
224
236
236
232
229
231
228
225
220
213
208
203
199
207
205
203
202
199
193
173
182
174
172
179
192
207
227
224
221
217
218
224
229
223
211
206
210
222
220
206
201
201
206
206
196
183
180
187
197
199
213
230
242
249
247
251
251
249
249
249
249
249
248
243
237
237
234
233
227
214
175
170
177
188
188
167
147
128
150
167
171
171
175
189
178
186
183
170
156
158
169
176
113
85
98
98
93
107
99
107
111
113
114
117
122
119
121
124
126
127
124
123
123
125
120
118
114
108
104
102
102
101
100
101
107
110
107
112
119
126
136
152
164
174
181
191
204
209
214
217
224
228
231
232
235
236
232
234
233
228
216
211
205
203
188
187
186
184
181
176
174
172
170
170
172
178
179
179
179
180
178
179
177
175
172
168
163
158
155
146
143
141
124
132
137
132
120
96
91
90
91
87
76
67
57
43
23
44
59
59
55
74
80
68
81
87
82
67
58
70
111
134
136
99
54
36
56
62
78
88
83
80
82
79
62
64
64
58
48
44
54
49
87
90
59
49
52
50
60
60
60
58
58
55
52
50
47
45
49
51
52
59
90
95
102
107
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
249
250
251
253
255
254
255
249
241
236
237
235
233
227
230
236
238
233
230
229
227
227
231
233
232
233
240
247
254
252
247
243
241
237
216
196
203
210
211
204
199
210
219
219
216
212
213
214
213
204
209
214
218
216
212
210
204
198
191
187
187
191
191
197
202
210
219
227
235
241
243
243
243
243
243
243
241
241
225
220
223
223
218
203
185
185
186
183
175
172
179
188
166
172
182
180
174
175
177
184
182
184
176
162
162
173
167
91
85
90
90
94
97
98
106
108
110
110
115
117
119
121
127
128
129
129
127
120
123
118
117
115
112
107
104
103
102
102
104
109
113
116
120
124
127
135
146
156
164
172
180
198
205
211
215
221
224
226
228
233
235
233
231
230
226
216
211
207
205
187
186
182
178
170
164
159
152
149
148
150
158
160
161
173
171
172
172
171
169
167
160
154
147
140
137
141
142
142
140
127
120
147
188
164
97
89
92
92
86
95
88
65
77
87
80
58
46
58
75
65
67
93
126
129
70
37
32
29
34
50
61
66
81
92
97
98
92
82
59
51
56
61
62
59
56
59
60
55
52
59
62
51
46
72
71
68
63
60
57
54
56
54
51
49
47
46
50
82
87
93
98
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
248
250
251
251
253
253
255
247
236
230
234
238
240
232
224
226
226
225
229
234
227
224
234
240
242
243
250
249
255
255
255
253
250
247
236
219
216
217
226
229
218
189
187
192
193
188
185
189
197
204
210
212
209
206
208
208
205
196
185
186
191
195
191
204
213
219
221
220
228
237
241
241
241
241
241
239
239
239
219
214
217
217
211
195
174
175
177
183
189
187
182
179
175
175
182
175
166
164
164
193
175
178
173
161
159
167
166
85
87
86
87
91
93
97
105
107
107
109
112
115
115
115
121
124
124
124
124
123
125
119
115
114
111
107
104
103
100
99
102
107
111
118
122
126
128
133
143
151
160
167
177
194
202
210
215
220
223
226
228
233
235
233
227
227
223
214
210
206
204
188
186
182
176
164
157
151
148
147
145
147
155
159
161
170
170
170
171
169
168
165
158
150
143
136
135
138
140
137
143
143
153
192
186
121
84
63
56
55
51
73
73
59
73
93
102
85
54
62
74
101
127
123
92
61
43
32
42
49
48
38
38
84
86
90
93
96
82
61
72
44
46
50
55
60
62
61
61
47
50
55
47
51
62
76
75
68
64
57
53
51
55
55
54
53
51
49
52
79
84
91
96
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
250
250
253
255
255
255
253
244
237
233
225
232
239
229
230
227
226
232
226
225
231
243
252
253
255
255
255
255
255
255
255
255
253
250
244
236
229
228
227
223
221
217
200
180
170
169
176
183
186
197
203
197
192
194
200
205
205
187
173
180
189
191
206
217
225
225
223
226
228
224
226
228
231
229
226
221
221
194
200
221
220
203
191
182
195
202
202
187
182
190
198
180
171
179
180
158
141
144
192
200
198
183
160
152
127
105
90
94
97
92
89
92
97
101
105
107
110
111
112
113
112
112
114
116
115
116
119
118
114
111
108
106
105
103
103
100
100
102
105
108
118
123
132
134
136
142
148
153
161
168
181
189
197
205
216
216
218
223
225
228
228
226
224
220
212
209
203
200
185
182
178
173
160
151
144
136
131
130
135
142
145
149
162
162
161
162
160
156
151
142
134
126
121
117
122
131
137
135
150
111
106
103
88
80
71
50
34
35
31
41
51
44
44
32
35
18
14
19
29
34
32
35
45
65
54
58
58
52
50
59
77
81
80
74
69
63
49
30
21
20
26
31
34
44
58
58
54
44
45
54
62
68
79
75
67
58
54
52
51
57
59
56
55
56
60
64
77
82
89
93
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
253
253
255
255
255
255
253
249
242
227
206
215
224
213
220
221
220
223
223
228
240
250
254
255
255
255
255
250
250
253
253
254
254
255
253
250
243
233
225
220
222
237
225
194
160
151
160
165
170
179
190
196
200
204
210
204
200
186
174
181
193
199
195
201
211
219
223
224
218
221
220
215
213
214
217
216
211
189
197
209
205
193
189
192
203
212
210
198
192
193
190
187
182
189
186
164
125
90
151
157
146
122
109
114
106
99
88
88
89
87
88
93
100
102
106
108
108
107
108
106
107
105
106
107
105
106
110
109
104
104
103
101
101
101
99
101
101
104
108
112
125
129
136
134
136
140
143
145
151
157
167
176
183
189
201
204
209
216
219
220
219
218
217
215
211
209
204
201
186
179
171
163
147
139
132
128
123
123
130
139
143
147
154
153
152
152
147
143
135
130
121
113
108
99
101
106
122
136
164
131
134
100
46
37
31
28
27
19
14
30
42
45
55
33
17
52
104
117
86
73
71
53
48
66
57
57
56
51
50
54
65
65
60
52
49
47
37
15
13
10
14
15
18
27
48
59
61
52
48
51
60
72
63
63
60
52
47
45
44
48
54
56
57
63
68
73
78
83
88
92
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
248
240
224
205
205
208
212
219
220
218
217
222
231
241
250
252
252
255
255
255
247
248
249
250
253
254
255
255
255
247
237
228
224
221
231
230
207
167
147
153
158
160
160
168
179
193
199
200
201
193
184
179
191
208
214
203
202
205
211
219
222
225
220
216
212
209
211
210
197
184
172
186
186
191
202
206
206
206
209
209
203
206
200
187
179
179
185
184
172
138
96
126
150
140
113
108
120
125
113
88
85
89
92
92
91
101
105
106
108
107
108
106
107
106
105
104
104
105
105
106
105
102
100
100
101
100
99
98
101
102
106
112
116
128
133
138
137
138
140
144
148
151
156
166
172
179
182
194
196
202
211
214
215
215
217
217
215
211
208
203
200
187
181
172
161
144
134
129
126
121
120
127
138
144
148
152
152
151
151
144
137
132
126
117
109
103
95
95
96
115
133
167
136
126
87
51
41
39
40
37
25
24
37
42
38
43
29
28
94
151
164
120
82
58
40
41
66
50
50
48
47
47
50
61
63
57
48
44
42
34
11
19
17
18
17
15
24
43
50
59
57
52
53
64
75
55
57
54
45
36
33
32
42
50
51
53
60
69
74
82
86
91
94
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
251
251
246
236
213
189
176
171
192
208
218
216
215
217
227
237
244
246
245
249
251
249
245
245
248
251
253
255
255
255
255
255
248
244
240
225
220
224
210
178
150
141
150
164
157
161
174
190
196
192
194
195
204
207
209
223
232
230
222
216
214
208
203
203
199
198
190
174
161
153
138
125
172
177
164
168
182
190
197
216
215
208
205
212
207
189
166
168
163
158
171
162
124
118
155
147
113
108
105
108
122
100
92
93
98
100
98
101
102
104
105
103
101
101
101
101
99
97
97
97
95
98
96
92
90
91
91
92
93
96
102
108
113
121
126
138
140
144
142
141
144
144
152
152
153
160
162
165
167
177
179
183
193
198
203
204
207
208
208
208
206
202
198
185
180
170
159
138
126
119
117
113
115
122
135
141
145
147
147
147
148
141
135
130
123
115
107
103
95
89
89
87
140
197
151
126
128
114
79
64
50
39
39
59
45
21
25
44
57
84
91
87
136
152
116
62
46
46
51
38
36
38
42
47
52
65
64
64
56
50
45
36
21
46
42
37
29
23
28
39
48
63
67
61
59
69
85
53
53
46
30
14
4
3
26
37
40
47
60
76
86
93
96
99
102
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
252
252
252
252
252
250
250
253
249
250
254
255
244
245
253
250
232
200
176
179
174
173
168
175
190
201
209
219
222
230
239
246
252
255
253
248
251
252
251
251
253
255
250
244
239
238
240
239
229
213
213
189
163
148
133
130
153
155
159
175
187
182
179
188
195
211
224
230
230
233
237
230
227
222
216
209
194
176
172
150
119
119
115
103
128
160
165
161
170
185
191
190
191
196
198
199
208
203
191
165
169
159
141
162
180
163
110
90
110
115
122
130
130
130
97
89
87
91
92
91
88
92
93
92
91
91
91
96
95
94
93
93
93
93
82
84
86
86
85
85
84
92
95
102
107
112
116
120
125
126
128
131
132
135
135
145
145
143
143
145
147
150
149
150
158
175
180
187
194
193
198
203
207
208
207
203
184
176
168
160
140
129
123
116
111
113
122
127
129
124
131
133
135
134
129
124
123
122
114
106
100
96
91
88
94
103
143
162
134
113
99
47
50
36
31
52
31
18
28
31
47
69
86
87
84
83
96
141
129
59
48
79
44
39
48
49
41
57
65
66
63
55
44
32
20
8
23
28
32
33
28
18
16
30
50
69
75
72
72
75
14
22
24
20
12
14
20
34
45
47
46
54
65
71
92
93
95
96
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
252
252
252
252
252
252
255
251
251
255
252
242
245
248
233
211
188
176
186
183
180
170
167
169
169
164
170
199
214
231
242
249
255
255
251
253
253
250
249
249
248
255
249
241
235
236
236
226
217
212
185
158
144
135
132
145
146
152
167
181
178
173
193
206
219
225
227
226
231
230
225
224
223
220
215
201
188
168
139
110
113
112
105
131
159
164
163
171
185
189
193
193
201
200
205
216
205
177
167
168
161
152
160
174
169
118
91
104
113
120
131
127
129
98
89
88
88
89
88
88
90
91
90
89
89
90
91
91
91
91
91
91
91
82
84
85
86
86
87
86
92
93
100
104
110
117
122
125
125
130
131
132
131
133
138
139
142
143
145
143
143
140
143
149
164
169
177
186
189
194
200
202
204
200
197
182
175
165
159
137
124
118
113
107
111
117
123
125
120
128
130
132
131
127
125
122
120
115
106
104
101
98
92
86
93
134
169
165
123
81
58
52
43
34
29
35
62
47
56
69
78
84
86
84
79
87
118
128
90
53
87
51
42
44
49
48
55
66
65
62
53
42
32
20
10
23
28
34
35
29
22
18
34
55
72
75
72
69
75
17
22
23
17
11
8
13
31
43
46
48
57
67
69
92
93
94
96
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
252
252
252
254
255
255
253
246
237
240
234
199
175
170
171
174
175
172
166
161
162
161
159
163
166
184
210
228
240
247
251
255
255
255
255
254
255
251
242
239
234
232
234
234
229
216
201
173
150
140
135
137
134
133
133
146
164
168
167
183
206
222
219
215
225
231
232
227
227
228
224
218
202
168
127
106
101
105
105
102
131
140
150
170
190
193
189
192
193
204
212
215
209
187
158
142
119
101
101
94
113
157
138
98
92
102
115
122
120
115
95
90
88
87
87
88
87
83
82
83
84
85
85
81
82
86
88
89
89
90
86
85
85
86
87
89
89
90
92
104
108
112
117
120
121
123
127
128
126
123
122
117
122
129
136
135
132
129
132
132
135
145
151
160
168
177
184
187
188
187
185
181
169
163
156
148
122
111
106
103
99
102
106
113
114
106
116
120
122
125
124
124
125
122
121
118
116
110
103
99
107
91
90
105
127
137
95
69
54
49
57
86
140
103
60
86
103
100
92
77
62
70
64
68
101
122
79
48
53
61
51
41
52
54
60
57
54
49
39
31
23
19
25
32
39
43
39
34
30
43
62
75
75
63
59
64
15
18
16
6
0
0
2
21
33
42
53
67
72
66
88
89
90
91
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
253
243
233
223
221
196
183
183
187
181
171
172
166
166
165
164
161
153
152
150
151
151
160
181
206
234
241
243
246
244
241
241
232
224
223
224
223
220
215
202
195
178
164
149
136
136
139
140
140
133
132
144
155
159
178
198
217
220
220
223
227
220
217
220
224
221
214
196
118
83
92
107
104
104
103
113
131
126
132
157
177
188
196
198
202
207
186
158
147
148
147
129
114
107
88
96
136
130
119
98
93
100
103
104
94
92
90
89
89
91
91
80
76
77
81
84
83
82
80
81
88
90
91
91
90
90
88
86
86
87
88
86
91
95
109
112
113
111
110
111
112
116
116
115
110
111
108
109
110
113
116
118
120
120
119
122
131
134
143
149
162
166
172
173
173
171
167
154
148
140
134
113
108
107
104
102
102
101
106
107
95
110
112
116
120
126
130
134
133
135
132
129
117
111
107
96
100
108
110
115
148
149
153
140
147
161
148
85
62
111
113
109
98
88
74
60
55
54
61
67
87
123
54
35
64
71
53
46
52
48
49
46
42
36
32
30
29
21
30
39
47
46
43
39
48
62
70
64
52
43
41
7
7
4
0
0
0
0
14
24
37
51
62
64
59
86
85
85
85
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
247
235
226
212
206
206
200
201
201
190
170
164
167
167
167
165
165
165
164
156
152
147
144
151
167
188
210
214
219
220
221
222
218
213
212
211
210
205
199
189
188
171
158
145
132
133
139
134
136
133
129
135
141
147
167
183
201
215
218
218
218
218
215
218
220
217
208
190
129
88
92
100
98
106
108
110
135
134
130
142
161
172
180
180
179
168
149
141
141
139
137
132
125
110
90
93
117
118
131
102
90
92
91
95
90
91
92
91
90
89
88
76
73
77
83
85
84
81
79
81
88
90
90
89
89
86
87
84
87
89
90
91
95
96
103
104
105
106
107
108
107
109
110
108
107
106
102
104
105
108
110
110
112
111
113
116
127
129
135
142
151
156
162
163
165
162
159
146
142
134
126
109
108
111
103
101
102
99
103
101
87
109
112
115
119
129
134
139
140
140
139
136
126
120
118
112
115
121
127
128
135
138
134
129
128
131
119
87
111
124
121
115
106
93
68
62
54
52
59
61
76
115
96
40
51
67
68
56
51
47
46
44
40
34
32
32
36
18
25
38
46
49
45
41
51
60
64
59
46
35
28
7
8
4
0
0
0
0
13
24
37
51
59
59
59
85
84
83
82
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
252
254
254
254
255
255
255
255
255
255
255
254
252
254
247
234
220
209
202
204
205
195
192
202
210
199
185
179
174
175
173
165
162
157
157
153
155
164
173
176
172
175
169
161
160
169
180
176
176
176
176
177
180
181
175
175
163
144
132
130
132
134
133
130
128
126
123
122
123
129
139
147
172
210
223
217
219
215
212
207
201
188
169
144
117
89
84
101
117
118
108
112
122
134
140
147
162
177
145
137
133
133
134
135
137
130
135
137
118
96
94
101
109
152
126
90
80
83
79
85
92
92
90
85
80
77
72
80
84
86
86
84
83
83
82
85
88
88
85
82
81
80
80
82
89
94
98
90
93
97
95
97
99
101
98
96
95
96
96
98
97
95
97
100
98
98
100
104
107
109
112
121
126
129
133
134
137
139
147
147
145
142
133
128
123
121
105
105
110
105
98
95
97
97
95
94
110
112
116
120
133
140
146
148
148
144
142
138
136
134
116
120
122
121
120
120
117
117
130
136
127
115
116
114
132
130
128
124
114
78
65
63
59
60
64
68
83
143
103
44
51
89
73
52
49
45
44
41
36
34
35
41
16
23
36
46
50
47
40
45
54
57
49
31
15
2
16
14
12
11
9
5
5
16
28
38
47
55
64
71
84
85
86
86
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
252
252
254
255
255
255
255
255
255
255
255
254
250
241
236
231
234
240
240
235
238
228
222
218
208
201
192
180
175
176
178
175
165
154
153
155
161
170
174
173
173
168
170
166
155
150
156
179
179
178
180
181
183
181
177
159
150
139
131
129
129
130
131
130
127
126
124
123
122
128
126
118
130
163
181
183
184
184
184
180
176
172
167
167
126
93
91
104
107
109
111
106
106
108
109
116
131
145
132
117
118
127
133
133
132
135
142
134
114
102
101
100
87
150
137
100
76
73
72
75
81
80
78
75
74
73
76
81
83
84
83
81
80
84
83
83
82
80
75
72
70
73
83
89
94
94
95
96
91
85
88
89
93
92
86
87
87
89
90
91
93
90
91
92
93
92
95
97
105
107
110
115
119
122
123
125
127
130
135
136
136
133
129
126
122
117
105
103
106
102
98
96
96
90
92
95
113
115
119
123
133
138
142
148
149
147
146
141
135
131
121
119
116
110
103
96
95
113
120
126
123
124
133
133
152
146
140
130
126
109
102
86
76
67
66
67
73
107
148
107
59
54
82
81
57
58
53
50
43
39
38
43
21
29
43
51
53
48
37
41
48
52
50
37
20
1
17
19
22
23
22
19
16
23
31
39
48
60
76
92
94
94
95
96
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
252
252
254
255
255
255
255
255
255
255
255
251
247
240
240
242
245
249
246
242
246
242
238
229
215
203
193
183
175
174
176
174
167
155
148
153
163
171
173
170
173
172
173
168
156
147
148
163
165
170
177
184
187
180
163
145
139
133
130
128
129
131
130
130
127
125
124
122
121
128
127
121
131
160
169
162
165
165
165
164
162
163
165
168
123
89
89
103
103
107
113
110
109
108
110
117
132
142
136
117
115
124
127
126
129
140
143
127
107
102
104
100
83
147
147
112
81
67
63
72
76
74
73
71
72
73
77
81
82
82
81
79
77
83
82
80
77
74
70
68
64
69
87
93
94
94
94
93
89
83
85
85
84
82
78
77
81
83
84
88
88
88
87
88
91
91
91
93
104
106
108
111
114
117
118
121
123
123
129
130
129
127
125
122
120
116
107
105
104
101
96
92
91
85
91
100
116
118
122
124
132
137
140
146
147
147
146
139
134
129
121
118
113
109
105
103
104
116
120
123
126
131
141
139
158
153
144
137
132
120
113
102
90
76
70
68
70
84
137
138
83
42
73
90
65
64
62
56
47
41
39
40
28
36
50
57
58
52
41
39
46
54
55
48
31
9
16
18
23
24
23
21
17
23
30
40
51
65
82
97
97
98
99
100
255
255
255
255
255
255
255
255
255
255
255
255
255
255
252
252
252
252
255
255
255
255
255
255
255
255
243
239
236
245
254
255
251
247
250
244
246
248
245
235
209
186
186
176
172
170
166
165
158
144
149
157
166
167
162
165
159
159
156
154
155
155
144
126
124
123
124
126
127
124
125
125
127
128
130
131
133
128
129
127
127
125
122
119
134
136
127
132
151
163
162
159
159
160
161
163
167
170
154
110
78
82
96
97
97
102
112
118
119
125
132
140
144
127
111
113
117
118
125
134
129
122
108
95
98
103
99
95
126
146
134
101
70
53
65
75
75
73
73
73
72
76
77
78
77
76
74
73
75
74
68
65
65
68
71
70
75
88
92
92
91
89
84
84
84
80
75
70
65
67
68
71
76
78
81
82
85
83
85
91
92
90
88
101
102
102
103
104
105
106
111
110
112
118
121
121
121
115
116
115
112
110
106
101
94
88
82
81
86
99
108
114
116
120
124
129
133
135
142
141
137
136
131
126
121
126
118
115
114
109
104
108
112
112
118
128
138
147
147
142
141
140
142
141
125
115
109
98
82
71
61
55
46
77
141
140
74
50
79
79
78
72
65
52
44
36
32
45
53
62
67
63
56
51
51
57
64
65
61
46
26
8
11
13
19
18
17
16
16
27
40
56
72
89
104
98
99
101
102
255
255
255
255
255
255
255
255
255
255
255
255
255
255
250
252
252
252
255
255
255
255
255
253
248
244
232
227
247
248
248
250
251
247
243
249
246
248
248
246
214
183
176
173
173
173
165
160
153
139
139
143
152
154
153
152
151
153
154
150
148
145
139
132
130
127
130
131
132
131
130
131
132
130
129
129
129
128
128
129
127
125
124
120
133
137
131
127
138
141
142
160
156
156
158
164
164
159
116
86
65
74
98
112
114
112
120
120
118
122
128
136
137
104
81
87
97
98
97
98
97
95
98
97
98
97
93
96
88
128
145
124
87
61
59
75
79
78
74
70
67
73
73
74
74
73
73
72
67
66
58
58
63
72
79
82
83
87
88
87
86
85
83
84
77
70
66
65
68
63
65
71
73
76
80
79
84
84
84
92
94
91
90
98
97
97
97
97
98
98
104
103
104
113
117
118
118
117
119
116
111
106
99
90
79
78
77
85
98
100
104
104
107
113
118
124
126
128
138
135
132
128
123
118
116
125
119
117
119
117
109
114
117
118
121
128
131
123
121
121
123
126
131
135
129
122
102
97
85
69
59
50
35
72
97
140
123
56
50
85
83
77
66
54
41
33
25
49
56
63
64
58
53
55
60
68
72
71
62
47
33
0
2
4
8
9
13
12
17
25
34
47
64
83
103
101
102
104
105
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
251
249
251
253
250
249
244
234
238
250
250
253
254
252
247
243
241
240
232
242
247
243
215
170
167
166
165
168
168
155
147
146
143
143
148
152
154
150
157
155
154
156
159
156
134
132
132
132
129
128
127
126
127
127
126
125
126
125
126
123
122
128
127
123
126
131
137
135
130
128
133
140
143
149
148
156
160
151
142
138
113
97
84
84
93
106
112
117
114
120
123
123
125
126
130
113
96
92
101
106
105
103
107
107
107
102
99
93
90
116
96
115
136
136
102
62
49
72
81
84
86
87
82
73
70
71
72
73
71
68
68
60
52
57
65
72
77
70
75
85
89
89
88
85
84
80
69
67
70
76
82
72
73
76
78
81
84
85
88
89
92
99
100
100
98
66
73
86
119
120
116
103
97
81
71
81
94
108
115
119
116
115
118
128
125
123
110
104
95
86
78
77
74
89
90
94
97
109
113
117
118
120
120
120
115
111
111
105
104
103
103
104
109
111
116
119
125
127
128
122
119
116
119
123
131
137
127
118
101
97
94
90
79
67
69
60
67
100
141
95
48
90
80
73
69
62
54
50
50
85
82
74
65
58
61
81
80
79
77
71
70
73
80
19
12
5
0
0
0
0
26
41
54
62
71
78
85
93
93
93
94
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
255
255
254
254
254
249
241
230
225
224
240
251
251
254
255
253
248
245
243
243
241
242
243
244
215
159
168
167
165
167
165
153
147
144
141
137
133
133
136
146
153
154
155
154
151
145
135
131
131
130
130
129
128
127
127
127
126
125
123
124
123
124
123
122
124
124
125
126
132
136
139
141
144
149
151
143
136
131
126
122
126
117
92
92
90
89
86
87
97
107
118
122
127
129
124
112
102
94
94
100
107
105
100
98
95
91
88
85
87
88
91
109
87
89
113
135
122
89
71
77
85
86
86
85
82
70
71
72
72
71
66
62
52
56
68
75
78
80
80
76
77
86
94
94
91
87
80
68
58
66
74
77
74
77
78
83
85
87
86
85
85
87
90
97
98
100
99
76
81
91
107
105
99
91
79
70
69
83
93
99
101
113
109
106
104
103
100
97
92
88
86
84
88
90
90
87
87
86
89
93
96
99
107
109
109
108
109
107
106
104
104
104
106
106
114
116
115
116
116
114
113
107
105
91
104
119
126
125
123
126
120
113
108
104
101
94
89
83
76
76
126
141
81
85
89
79
70
66
64
62
61
77
71
62
53
49
52
64
76
73
68
61
58
59
66
31
30
26
21
18
18
22
36
50
60
67
76
82
87
92
93
93
93
253
253
253
253
253
253
253
254
254
254
254
254
254
254
247
248
251
254
255
255
254
243
237
230
225
226
236
240
241
245
247
244
242
243
241
242
247
251
249
249
192
142
169
169
168
169
166
156
152
148
148
145
139
131
126
128
129
133
135
134
130
127
129
130
130
129
128
127
127
126
124
125
124
123
122
120
122
121
122
116
116
123
120
118
142
150
158
157
153
151
147
149
148
141
124
107
103
98
101
96
95
93
91
88
86
87
95
96
95
90
86
86
88
97
98
98
96
90
86
87
84
84
84
83
85
84
86
100
79
66
81
118
134
123
94
74
79
81
83
84
83
71
69
65
60
58
54
53
63
67
76
79
81
80
81
78
81
92
95
91
81
71
58
59
60
64
69
77
83
83
85
87
87
89
89
86
89
89
89
89
90
90
90
95
97
100
95
87
82
76
67
59
57
68
77
86
92
104
99
96
89
77
72
70
67
70
75
82
100
107
108
77
77
76
77
79
82
84
87
89
91
92
94
95
95
92
93
95
97
101
108
110
110
110
109
108
108
107
106
94
100
109
119
125
129
128
130
123
117
115
116
114
97
86
90
69
81
142
140
69
91
85
84
88
93
94
87
94
80
61
47
43
44
53
58
60
64
64
62
60
63
64
64
63
58
52
50
53
69
78
81
88
92
96
96
91
91
91
91
252
252
252
252
252
252
252
254
254
254
254
254
254
254
244
246
250
252
254
253
252
245
243
235
227
226
231
230
236
242
245
243
242
245
243
239
247
251
249
243
175
137
166
167
167
167
164
157
155
146
145
146
143
138
133
129
127
130
132
131
129
128
132
128
128
128
127
126
125
124
124
123
122
121
120
119
120
117
120
115
115
121
115
114
151
151
150
145
143
143
145
144
143
142
132
110
99
98
100
93
90
94
96
96
94
95
102
104
103
100
95
97
99
97
95
91
88
82
80
83
82
84
86
85
85
84
84
95
79
63
69
104
131
133
105
73
77
78
80
81
83
73
68
61
57
54
57
57
72
74
79
78
77
76
77
78
81
89
87
83
75
66
54
58
64
63
66
72
79
87
85
85
87
87
86
87
89
88
88
87
86
87
88
106
103
103
93
86
78
69
62
52
52
57
68
79
87
94
92
88
82
69
66
67
61
67
74
84
104
110
111
76
77
75
74
77
79
80
80
80
81
83
86
89
89
90
91
93
96
100
106
107
104
104
105
106
108
107
107
104
102
105
114
125
130
126
127
125
120
117
116
113
91
80
81
67
60
118
157
68
84
81
86
93
99
104
104
98
87
69
51
38
38
44
48
54
59
64
62
62
64
78
80
77
73
66
64
69
88
93
94
96
101
101
98
92
92
92
93
254
254
254
254
254
254
254
255
255
255
255
255
255
255
242
245
248
252
253
251
249
255
253
244
227
218
222
222
221
226
231
232
232
238
238
242
244
244
239
222
148
140
156
158
161
160
159
157
156
157
153
146
143
141
138
128
130
128
127
126
126
125
127
127
127
128
127
127
126
125
123
123
122
121
119
118
117
110
119
114
112
118
109
110
136
141
146
149
155
157
152
159
149
150
152
130
106
99
100
97
95
93
94
94
99
103
101
99
99
103
104
103
100
84
81
79
79
77
76
80
82
81
81
81
83
83
84
89
80
67
62
83
119
141
131
76
76
75
74
75
77
73
62
54
53
59
71
79
73
76
83
81
76
75
72
77
79
73
66
63
66
67
73
72
77
78
76
71
67
84
82
78
80
84
87
87
85
83
82
84
86
89
89
119
108
97
82
74
63
53
43
37
38
44
54
63
73
65
68
72
73
74
78
84
81
87
90
95
102
103
101
85
82
79
75
71
71
70
70
70
71
73
76
78
79
81
82
85
87
90
96
97
96
99
101
102
101
97
97
109
106
105
108
113
124
123
124
126
126
121
115
108
82
76
46
53
46
78
153
83
67
69
76
81
92
103
127
103
97
87
69
51
35
32
46
52
55
57
60
63
69
96
96
96
93
87
89
96
111
109
107
105
103
99
93
94
94
94
95
255
255
255
255
254
254
253
255
255
255
255
255
255
255
247
248
251
251
253
255
255
255
253
243
224
204
207
218
223
218
212
211
211
219
222
222
215
213
205
181
142
151
159
164
163
160
158
159
154
154
152
148
144
141
137
132
126
125
123
122
124
124
122
124
123
121
122
121
121
123
122
122
120
119
119
119
118
118
116
111
113
116
114
121
144
144
146
151
156
159
157
154
149
155
159
142
118
109
103
99
95
94
98
101
98
96
98
96
95
95
95
92
88
83
76
75
79
80
79
81
85
84
81
78
79
76
74
81
76
80
76
70
94
133
134
81
62
65
67
69
71
65
58
65
75
77
78
78
81
78
78
79
75
71
66
67
58
50
51
55
59
60
66
67
74
75
75
69
64
76
71
72
73
76
77
81
83
84
83
80
79
79
81
100
99
92
69
56
44
34
33
29
31
49
60
66
69
52
57
62
69
87
97
108
111
114
111
104
89
84
81
78
76
74
72
67
66
67
66
64
65
70
70
71
75
78
81
82
83
83
85
86
92
96
96
94
93
98
103
106
109
111
109
108
113
113
117
118
118
113
107
95
66
47
36
40
47
53
113
121
61
49
46
54
65
78
114
93
98
101
96
86
75
60
53
51
54
60
66
72
82
93
96
101
102
101
100
103
107
109
109
105
98
90
83
92
88
88
92
255
255
255
255
253
252
251
255
255
255
255
255
255
255
250
251
252
252
254
255
255
255
253
238
214
194
193
203
212
215
218
215
208
207
213
207
201
197
186
162
141
152
154
156
159
156
157
157
154
153
152
148
144
141
137
133
127
125
122
123
122
123
120
120
121
120
119
118
118
121
119
119
119
118
118
117
116
116
116
111
112
116
115
122
147
146
147
149
155
158
158
149
152
162
157
139
122
115
109
103
99
98
98
98
92
89
94
96
95
96
97
93
88
87
80
78
81
80
78
79
86
83
77
73
75
73
71
74
84
86
76
67
87
121
135
89
64
59
61
62
66
59
64
74
80
80
79
79
80
76
75
78
76
67
58
54
50
47
49
53
60
63
68
68
76
76
74
68
60
71
65
62
68
72
75
78
77
77
80
79
80
80
80
93
90
84
62
50
39
28
24
26
32
52
61
65
70
57
59
64
71
91
105
117
121
121
116
106
85
77
73
75
76
74
72
69
68
69
69
68
67
69
69
71
74
77
79
78
77
77
80
81
89
90
93
91
90
95
99
106
106
107
104
101
106
106
111
112
112
108
101
91
63
41
37
44
49
48
99
138
71
50
41
44
47
59
99
86
95
103
104
101
95
83
68
65
61
61
63
69
79
92
95
101
103
102
101
104
103
106
107
102
96
87
79
90
88
88
91
255
255
255
255
251
248
246
251
252
254
255
255
255
255
255
255
254
254
253
253
253
250
240
222
209
197
173
164
177
186
200
209
212
204
202
196
191
181
173
163
150
147
152
151
151
151
152
152
152
148
147
144
142
140
139
139
133
130
129
126
126
124
120
121
120
121
119
119
119
121
123
122
121
120
119
116
115
114
115
113
112
118
121
125
130
141
154
158
153
150
152
158
160
158
140
119
114
113
109
107
106
104
103
101
99
97
98
100
101
102
102
98
92
93
81
76
79
79
79
81
85
80
73
68
71
71
70
76
85
90
88
83
83
93
132
107
69
48
47
55
64
70
77
77
75
75
77
78
74
75
71
65
59
53
51
52
52
57
57
57
60
59
54
52
60
63
65
58
52
71
62
57
61
62
67
70
74
77
78
77
76
76
78
75
70
64
47
37
28
20
21
30
39
53
57
63
67
82
79
77
77
93
104
111
112
109
104
96
80
74
69
75
77
77
77
76
75
75
72
74
71
70
68
70
69
70
70
69
71
72
81
82
86
87
87
88
89
90
92
101
101
101
98
94
95
95
96
96
99
99
99
95
79
67
62
61
66
64
92
161
108
69
50
48
41
44
68
73
83
92
97
100
103
102
101
98
92
81
74
69
66
87
88
92
95
97
97
99
102
104
100
95
89
84
80
92
95
98
98
255
255
255
255
250
246
243
245
247
250
253
254
253
252
255
254
253
253
253
252
249
242
233
225
223
221
186
168
173
171
167
163
160
164
169
164
168
168
166
168
173
168
163
156
152
150
148
148
153
149
148
144
140
137
136
136
134
131
130
127
128
125
123
121
122
120
119
120
119
119
123
122
121
118
117
116
113
109
112
108
108
115
122
125
115
120
129
135
138
139
142
140
132
126
121
112
111
114
105
105
105
106
107
109
112
115
108
106
103
101
99
95
89
86
80
78
82
81
78
79
78
76
73
72
77
78
78
77
84
86
90
86
76
70
98
124
90
64
60
68
76
71
76
74
72
71
68
65
65
61
52
50
52
54
57
50
51
66
71
68
63
54
46
38
32
39
46
47
42
58
57
59
58
58
63
73
79
80
80
77
78
81
85
58
58
56
36
27
21
22
30
34
38
48
51
51
51
96
91
87
85
89
90
90
84
84
84
82
82
79
79
80
81
83
85
85
84
84
82
86
84
79
77
75
71
70
71
74
75
78
80
82
85
86
85
86
89
87
88
97
99
99
96
93
97
100
94
95
93
91
95
99
96
97
90
79
89
88
96
180
134
78
53
55
47
53
66
86
87
83
79
78
86
95
97
102
105
101
97
90
82
106
100
93
89
87
89
91
102
103
101
98
93
90
87
91
100
105
104
239
245
250
252
255
255
255
254
255
255
255
252
250
250
251
252
254
254
250
246
243
239
237
238
231
223
196
173
160
158
164
160
172
171
170
164
159
158
159
164
174
179
168
164
152
146
146
146
154
148
148
147
142
134
131
130
135
134
135
134
133
129
123
123
123
122
123
125
125
121
122
121
119
118
118
118
114
106
107
107
110
113
117
121
117
119
119
122
123
121
119
112
108
101
100
101
104
106
111
111
114
112
109
109
111
112
119
115
114
109
101
90
83
76
75
72
72
71
69
67
70
73
77
78
75
78
81
71
77
71
72
76
76
74
87
147
128
91
71
64
61
69
69
70
72
72
72
73
57
53
46
48
50
49
48
44
42
52
59
60
62
62
69
63
50
46
47
45
47
46
46
58
63
65
69
71
63
58
53
55
67
78
84
12
14
20
33
36
37
39
43
46
53
72
81
89
97
83
85
87
89
87
90
91
88
91
91
92
95
96
96
90
91
91
90
87
87
86
83
84
83
82
80
79
80
67
70
73
74
78
84
88
86
86
84
83
83
88
90
81
86
88
87
89
104
109
113
101
87
90
107
113
123
118
117
105
99
92
82
165
138
82
51
51
55
62
83
61
65
68
62
56
57
89
95
105
113
117
120
119
110
108
102
92
87
86
93
102
110
104
95
90
87
80
70
83
93
103
108
241
246
251
251
255
254
250
253
255
255
255
251
248
247
251
255
255
255
254
250
248
244
244
244
242
232
202
176
162
157
163
158
171
168
166
162
157
157
158
163
173
177
169
167
154
145
145
145
149
148
148
147
140
135
132
130
137
136
132
130
128
127
123
122
122
123
123
124
125
121
122
120
118
117
117
117
113
107
107
105
107
108
112
115
112
114
117
119
118
117
113
106
101
97
95
99
101
103
111
113
113
114
110
108
111
113
113
109
106
102
96
86
79
79
78
79
80
77
75
74
74
77
80
79
78
78
80
77
81
76
74
75
71
68
75
140
133
101
74
66
64
74
70
73
76
74
68
62
52
50
48
50
51
48
46
47
43
50
59
62
61
66
62
57
44
40
41
41
42
42
43
55
64
69
73
72
63
59
58
59
68
75
77
22
23
26
35
36
38
41
44
45
46
63
73
85
96
82
84
87
88
88
88
89
89
89
92
92
95
96
96
92
91
91
91
89
87
87
85
85
85
84
82
82
82
73
74
76
77
78
83
84
79
79
80
81
82
86
87
86
89
88
86
91
109
114
120
107
88
85
100
114
124
119
119
109
102
94
81
165
142
85
52
53
56
62
83
69
72
73
68
57
53
71
80
89
101
108
115
120
118
122
115
106
99
93
94
97
102
102
101
99
92
84
75
82
90
99
105
246
250
251
253
255
251
240
233
239
245
250
253
254
253
254
255
255
255
255
255
255
255
255
255
255
253
224
197
169
150
154
157
166
162
158
154
152
153
156
160
168
172
172
173
159
141
143
147
144
148
147
145
141
138
135
129
140
138
132
127
126
124
123
125
124
124
124
126
126
124
119
117
114
113
113
110
107
102
101
96
95
96
98
101
101
103
104
106
105
101
96
88
88
86
89
92
97
102
108
112
114
115
112
110
111
114
112
109
105
102
98
93
90
94
96
97
96
94
90
87
76
74
75
76
72
72
73
67
77
79
76
74
68
64
58
117
139
121
85
68
71
84
78
76
73
66
55
47
49
48
50
49
49
49
48
52
47
51
57
62
65
67
60
54
39
37
39
40
41
46
47
62
71
77
84
86
84
78
72
54
46
38
33
42
38
37
39
41
43
48
46
43
42
57
68
86
97
74
78
84
88
86
87
86
87
89
89
89
91
91
91
90
90
91
92
92
89
89
88
87
87
86
87
87
86
83
80
78
73
71
68
68
70
74
79
87
90
88
87
103
97
87
83
91
123
128
131
127
103
75
77
94
116
118
124
119
113
100
82
158
154
96
58
58
61
68
87
73
78
81
79
73
67
55
59
69
76
83
91
101
115
119
121
120
118
112
103
96
86
93
99
103
103
101
100
82
84
88
94
248
250
254
255
255
255
249
239
240
239
242
248
249
248
251
252
253
255
255
255
255
255
255
254
251
250
243
226
195
153
147
149
154
158
157
152
149
148
149
154
167
172
173
165
148
138
142
145
146
148
146
144
144
143
140
132
138
137
137
136
134
131
124
126
126
126
126
128
128
126
118
116
113
109
108
106
103
93
93
92
92
91
92
93
92
93
93
91
90
87
84
82
84
85
88
91
95
101
99
105
110
113
112
112
113
116
112
110
105
102
100
103
104
107
108
106
104
101
95
90
87
82
83
82
79
77
77
77
72
72
69
64
64
65
75
100
125
123
95
74
69
89
84
72
63
56
57
61
60
60
51
48
47
50
52
58
53
56
61
65
65
69
65
61
50
50
50
48
49
51
55
65
67
70
80
86
87
77
65
34
23
11
4
44
43
40
46
51
56
58
54
55
59
79
89
97
105
76
79
83
87
85
83
85
85
85
86
85
84
85
85
85
87
89
89
91
91
91
87
88
87
87
87
86
85
85
80
74
68
62
60
57
64
69
79
85
89
83
79
106
97
83
73
79
118
129
135
142
128
101
81
79
106
108
116
117
118
110
92
154
160
101
65
65
70
76
87
79
85
89
87
85
84
68
66
64
67
70
74
82
94
105
110
116
120
121
115
110
99
94
87
90
99
110
112
90
84
83
88
248
253
255
255
255
255
252
246
245
243
244
250
250
249
252
253
254
255
255
254
254
254
255
255
253
248
243
229
213
161
148
148
146
153
155
152
149
146
147
153
167
174
171
157
140
138
144
141
149
148
145
144
144
144
141
133
137
134
133
132
132
132
129
127
127
127
128
130
130
126
116
114
111
109
107
105
102
94
94
94
94
93
91
90
92
91
89
88
87
84
81
82
85
86
87
89
93
96
95
101
108
111
112
113
114
117
111
108
103
100
100
105
108
112
109
107
106
104
101
99
90
84
84
86
82
80
79
87
74
71
69
67
71
77
79
92
119
124
103
78
67
89
83
75
68
63
63
65
63
64
58
52
48
46
47
60
57
59
65
66
68
68
68
64
62
62
63
62
61
67
63
67
71
75
80
79
76
68
60
34
22
9
0
49
47
46
51
58
62
63
64
65
69
85
89
95
102
77
79
83
83
82
83
84
81
83
84
84
83
82
81
84
84
86
88
91
91
91
88
90
89
89
88
88
88
89
85
77
70
66
62
59
65
69
78
85
88
79
76
101
94
78
65
69
108
122
127
131
122
105
88
78
91
101
108
111
116
115
98
155
160
102
67
69
73
78
86
79
85
89
85
85
89
79
76
70
68
71
73
75
82
93
100
106
115
118
118
115
107
102
95
93
94
99
105
95
87
84
89
250
254
254
255
255
251
245
252
248
247
250
253
254
255
254
254
254
254
254
254
254
255
252
251
252
249
241
230
220
183
146
139
149
142
145
146
147
150
155
156
160
163
158
146
140
142
138
144
147
141
154
164
168
169
169
144
131
124
132
132
117
126
123
127
126
126
127
127
126
122
113
112
109
105
102
100
99
95
95
97
97
97
98
98
96
92
89
86
83
81
78
81
83
89
90
92
94
96
90
101
110
112
112
113
114
115
110
106
101
101
102
106
108
116
115
114
113
111
108
106
96
88
85
83
79
80
82
85
72
73
78
82
87
87
94
92
110
129
115
87
67
86
79
77
78
79
76
74
70
72
64
55
47
44
43
61
64
61
64
70
73
72
76
79
85
86
86
86
82
89
93
82
73
68
63
57
55
44
43
42
45
40
29
57
51
48
54
61
69
72
74
73
73
80
83
87
89
80
82
82
84
82
83
83
83
82
81
81
82
81
81
83
83
86
86
90
91
91
90
90
89
88
85
87
88
84
86
82
78
71
64
62
65
73
78
79
80
72
60
89
72
56
55
57
74
88
95
95
92
86
80
76
68
72
97
108
110
112
104
149
162
107
74
73
72
73
86
78
79
82
88
92
95
97
93
90
82
75
71
69
72
78
84
93
98
102
107
115
115
116
112
108
100
90
79
96
97
97
96
254
255
254
252
255
255
253
248
248
251
255
255
255
255
255
255
255
255
254
254
254
250
250
253
253
248
234
222
223
178
136
127
137
139
140
133
127
124
125
132
145
147
145
140
140
140
133
151
158
172
177
178
173
174
178
172
180
154
132
130
129
121
131
129
127
126
124
124
124
120
111
109
106
103
102
100
99
98
99
99
98
98
99
98
96
95
93
90
89
87
87
82
86
90
93
93
97
102
98
105
114
114
114
114
112
109
104
98
96
95
100
104
109
110
111
113
113
113
112
111
92
84
79
78
77
78
81
82
86
91
92
90
88
90
94
97
107
125
130
108
78
75
85
87
87
84
83
84
80
80
72
66
60
56
55
66
66
64
67
74
77
78
77
83
92
93
95
96
99
114
118
105
88
73
58
44
39
32
36
56
70
75
70
60
50
49
56
65
74
76
77
75
74
74
76
78
77
81
81
83
84
83
82
85
85
83
81
80
80
78
76
78
78
81
81
86
88
89
92
93
90
88
83
85
86
90
91
91
89
83
76
74
75
78
77
74
72
61
49
57
48
43
46
49
47
52
60
62
62
63
65
67
70
59
72
81
94
106
98
152
153
100
68
72
74
75
75
89
85
83
83
85
88
96
95
97
96
92
86
77
66
78
79
82
88
94
99
103
117
116
117
116
110
102
93
90
88
87
89
252
254
253
254
255
255
254
248
248
250
255
255
255
255
255
255
255
255
255
254
254
250
250
253
253
245
239
226
222
173
132
126
133
141
140
141
135
128
129
137
148
149
144
141
143
141
133
155
165
176
180
179
177
177
181
181
184
173
147
129
127
121
129
128
128
124
122
122
122
120
111
109
106
103
100
100
99
101
100
100
99
99
99
98
94
93
92
89
89
87
88
82
86
89
92
93
97
103
104
112
116
117
115
115
113
109
103
97
94
93
98
103
108
108
109
109
112
112
110
107
86
79
76
76
74
77
81
85
93
97
95
91
92
94
94
99
102
119
135
122
91
69
85
88
88
84
84
84
86
86
80
75
71
69
68
69
71
65
66
72
76
77
78
81
86
89
92
99
107
116
120
112
97
78
59
41
35
28
32
53
68
74
69
68
57
53
57
66
77
79
78
75
72
72
75
77
78
82
82
84
84
84
85
86
85
83
83
81
78
78
76
76
76
79
80
85
88
89
91
91
91
88
84
83
85
84
88
90
89
85
80
77
78
75
72
67
62
49
41
43
38
36
42
43
41
44
51
51
53
56
60
64
73
61
67
72
91
103
93
148
151
99
68
71
69
68
75
94
89
84
79
78
82
93
93
97
98
98
92
83
71
77
76
76
80
88
96
105
111
113
116
118
116
109
101
102
95
87
83
240
245
251
254
255
255
251
252
248
245
245
250
255
255
255
255
255
255
255
255
255
252
253
253
249
247
242
224
193
148
124
128
133
145
139
136
132
131
132
134
134
132
143
144
144
136
129
159
167
166
167
170
174
176
178
175
170
193
187
149
124
127
125
125
127
125
124
122
121
114
109
107
104
102
99
97
98
98
98
100
99
98
99
98
85
85
84
83
82
83
82
80
81
84
86
88
92
97
106
110
116
118
119
119
116
111
105
99
95
92
94
95
99
101
100
98
98
96
92
90
79
74
75
77
77
81
84
94
91
92
91
90
91
93
90
92
90
99
126
135
116
63
76
80
83
85
85
87
84
83
82
82
82
82
82
78
78
71
69
72
77
78
83
83
82
81
81
92
106
106
113
115
104
88
67
46
39
31
31
41
50
53
45
80
67
62
68
76
83
81
80
75
73
76
77
80
81
83
82
84
85
83
83
86
86
85
84
82
82
79
77
77
79
80
82
87
89
89
89
90
89
87
86
87
90
82
85
92
94
93
88
85
83
76
68
62
54
42
38
25
25
23
26
32
35
38
33
29
29
34
38
41
60
49
59
66
84
99
96
152
147
97
70
69
63
62
81
105
101
92
79
71
68
76
81
83
87
92
92
93
92
75
72
67
65
71
81
94
107
109
113
115
118
120
120
118
110
100
93
236
237
240
241
252
253
249
245
243
243
246
245
247
250
255
255
255
255
255
255
255
252
252
255
252
251
229
196
155
122
116
130
133
145
139
139
136
136
135
135
141
145
159
157
155
149
147
183
190
191
188
190
192
191
188
187
174
172
179
161
119
110
116
122
124
125
125
125
120
110
108
107
104
100
98
96
97
95
95
97
97
97
98
99
87
86
85
82
81
80
80
77
79
79
80
79
84
91
99
105
109
112
116
118
115
109
103
98
94
88
86
85
84
87
88
87
88
85
80
79
78
79
84
89
89
90
95
93
86
89
90
87
82
79
88
81
82
81
108
135
133
74
74
76
84
90
93
93
102
99
93
93
95
93
91
88
88
77
75
80
84
87
92
94
102
95
84
88
97
89
93
99
93
82
64
44
34
24
21
23
28
24
11
67
55
55
70
78
83
80
80
75
74
77
80
83
86
81
83
82
83
81
82
83
87
86
84
84
83
83
82
77
77
77
81
84
88
88
88
89
89
89
90
92
95
78
82
89
93
91
84
79
80
71
61
56
50
41
40
16
16
18
20
24
22
21
21
16
14
20
26
28
51
43
64
73
81
92
92
141
139
85
57
67
77
81
79
111
107
100
85
71
62
60
62
67
75
83
89
91
92
78
81
81
79
75
74
80
94
94
93
96
99
105
112
101
104
107
108
244
242
242
245
246
242
238
240
239
240
241
252
255
255
253
253
250
250
248
244
248
248
244
251
253
243
221
186
157
140
127
129
133
134
137
135
136
144
146
137
149
156
157
156
149
140
150
188
190
184
179
178
181
183
184
189
160
166
180
128
88
105
108
114
118
120
120
119
116
108
111
109
105
102
102
99
95
96
95
94
96
97
97
95
90
89
86
84
81
81
79
78
77
80
80
81
84
87
97
101
106
109
107
107
108
108
103
95
92
90
89
85
82
93
90
87
88
88
86
83
78
74
75
79
82
78
74
91
88
85
83
80
76
74
74
74
82
93
109
135
155
95
67
65
55
56
68
78
84
90
90
87
80
76
72
67
69
79
83
84
79
73
67
64
65
67
75
83
87
47
50
61
63
61
53
45
43
51
54
52
53
49
45
68
65
64
69
73
78
81
77
78
80
78
75
74
74
76
78
77
78
79
80
82
90
91
93
96
95
93
92
85
85
87
86
86
85
84
81
82
83
85
87
86
87
85
92
100
106
109
109
109
106
94
83
73
64
51
48
46
45
38
30
25
22
20
30
36
39
46
53
57
67
49
69
73
71
76
66
135
128
80
62
80
89
85
81
84
82
76
64
60
61
66
65
69
72
78
84
89
95
80
80
75
66
60
56
50
43
49
64
80
92
101
112
98
110
121
123
253
250
246
242
241
243
247
233
230
228
229
245
255
255
248
255
253
253
250
248
252
250
249
254
253
250
209
154
129
124
125
134
136
134
137
136
134
137
135
132
144
144
155
153
146
142
152
183
178
186
184
183
184
183
182
179
183
181
150
97
85
99
114
112
115
115
116
114
112
106
110
107
103
102
100
98
95
92
92
89
89
89
88
86
87
86
84
81
80
78
79
75
75
76
77
77
80
83
89
92
96
99
104
105
105
103
102
99
98
97
91
86
81
84
86
87
89
91
93
91
89
87
85
84
82
81
79
87
77
69
66
65
66
67
58
64
70
77
88
115
139
113
73
68
60
61
67
72
80
86
90
86
80
75
71
66
67
75
77
79
78
74
66
62
60
63
67
73
77
39
44
55
60
61
67
69
67
68
67
63
58
50
38
66
64
65
74
78
83
86
85
85
86
83
81
80
79
76
76
78
80
79
81
81
88
89
90
92
94
92
89
87
86
86
84
86
89
90
91
92
92
92
91
89
89
78
82
90
94
99
103
102
102
95
87
76
69
60
59
47
45
36
26
21
23
28
31
40
51
63
72
78
88
82
94
93
90
88
78
133
129
84
65
81
85
77
68
79
81
79
76
74
73
64
66
63
57
53
55
60
69
75
77
79
80
81
81
77
66
62
57
57
59
64
75
71
85
102
113
254
255
255
251
243
244
247
250
244
236
234
243
247
248
238
252
255
255
255
255
255
255
255
255
250
248
180
116
129
130
132
134
134
134
139
134
131
129
128
129
149
146
146
146
140
137
149
170
161
171
175
176
177
178
181
176
164
156
107
77
90
96
108
112
114
114
114
110
108
104
107
104
101
99
96
96
94
94
92
89
87
86
85
83
78
77
75
74
74
72
73
71
72
73
73
74
77
79
89
89
91
97
104
109
109
107
109
109
106
100
93
89
86
97
99
102
102
102
101
101
100
98
94
87
82
78
76
79
72
66
63
59
57
57
58
62
63
60
64
85
106
123
82
68
64
61
58
57
61
64
71
69
65
61
59
55
57
61
64
67
67
64
58
54
47
44
46
48
49
36
42
53
57
64
75
85
83
79
73
72
67
56
50
66
65
66
75
78
82
87
89
90
89
87
86
86
88
77
78
80
80
82
81
81
84
85
87
88
90
87
85
85
86
84
85
89
92
94
94
93
91
89
82
80
78
71
74
78
85
91
98
99
105
101
96
89
82
81
83
41
39
37
34
33
39
47
52
58
61
66
73
78
98
108
107
102
102
97
93
136
117
75
57
67
64
55
46
83
90
96
99
103
103
94
90
85
78
67
58
49
45
74
73
74
78
82
82
80
79
77
76
73
69
62
56
63
68
76
84
255
255
255
255
248
246
245
247
238
224
218
226
229
230
225
243
254
255
255
255
255
255
255
255
249
247
171
116
132
133
133
134
132
134
137
132
131
129
126
127
152
149
144
145
140
137
148
167
157
167
170
169
163
162
164
154
146
136
91
80
92
93
102
111
112
111
110
108
105
102
104
101
98
97
97
95
93
95
93
89
87
85
85
83
75
74
73
72
72
70
71
71
70
72
72
73
76
78
90
91
94
99
105
111
113
113
113
110
105
102
97
94
94
100
105
106
105
103
101
100
101
99
94
89
81
75
71
73
68
66
64
62
61
60
65
64
63
59
61
76
94
123
88
70
67
61
51
52
51
53
57
56
55
52
50
49
50
55
59
62
61
58
53
48
38
36
35
36
38
38
43
53
58
64
72
79
79
77
73
74
69
64
62
70
68
67
74
77
81
86
85
87
88
87
87
89
91
80
80
81
84
83
83
82
85
84
85
86
87
84
82
83
83
84
87
92
95
96
98
96
93
89
81
77
75
69
71
74
81
89
97
98
103
102
96
90
84
88
92
44
37
34
36
38
46
55
61
65
64
65
67
71
92
113
107
102
101
100
97
137
116
76
59
66
62
56
50
95
101
109
111
112
115
115
112
110
101
92
78
64
51
63
61
60
64
68
71
75
75
79
82
84
82
75
66
69
68
71
76
255
255
255
253
253
249
246
244
226
201
185
196
210
217
206
227
243
247
255
255
255
254
250
242
242
238
158
127
131
133
135
136
137
134
129
132
132
130
123
120
146
144
143
148
146
142
148
170
166
166
168
163
151
147
149
139
131
114
85
96
94
89
99
107
105
104
103
101
99
98
99
98
94
92
92
93
91
90
89
85
82
82
81
81
75
75
74
73
73
72
73
69
70
70
71
72
74
78
87
92
99
103
105
108
113
118
113
109
105
101
103
107
112
108
113
116
114
110
109
109
98
92
87
84
78
69
60
57
52
54
58
68
75
81
76
65
65
62
60
70
84
117
98
78
74
62
48
45
38
33
33
35
37
38
39
38
39
46
51
52
49
43
42
35
27
24
22
23
23
41
42
53
59
60
60
60
70
70
71
77
77
81
90
75
72
67
69
72
78
83
82
82
85
88
89
93
95
84
85
86
87
85
84
83
85
84
82
81
79
76
74
79
80
83
86
94
95
95
91
88
84
80
68
63
60
71
72
75
82
91
99
97
95
92
88
82
77
80
87
81
63
48
45
53
69
80
82
86
88
85
81
78
93
113
102
95
95
93
93
135
111
79
65
70
68
67
68
100
109
113
107
103
107
121
125
124
125
122
118
111
103
107
91
75
66
58
52
54
65
72
78
84
92
98
95
100
96
97
103
255
255
255
255
246
241
241
241
236
210
187
173
176
191
193
205
223
237
245
245
245
233
230
223
221
208
144
144
142
136
132
134
135
131
132
129
128
126
125
127
136
141
138
137
139
143
144
152
157
169
154
136
126
126
129
124
118
105
94
93
94
92
99
103
102
101
101
101
101
99
90
90
92
92
90
88
87
86
87
84
79
77
77
78
75
74
71
69
69
70
72
72
72
71
71
72
76
81
92
99
103
105
108
115
114
110
112
112
111
112
115
121
123
117
121
123
120
115
113
111
95
84
78
74
70
61
56
52
59
64
69
74
76
75
73
67
64
64
66
71
73
109
104
80
68
65
56
45
34
27
27
31
35
38
40
28
29
32
36
36
35
31
32
24
19
22
26
29
31
53
55
60
59
60
60
62
61
65
65
75
85
94
99
81
81
80
67
64
66
70
73
75
78
82
86
89
93
84
85
86
86
87
84
84
82
83
81
79
72
72
74
82
82
85
86
91
91
92
91
91
91
87
68
60
56
86
87
87
90
92
97
93
94
89
80
75
70
63
80
89
87
77
69
71
95
97
110
117
121
119
112
107
102
99
98
94
94
85
77
130
120
78
62
73
73
71
99
105
109
109
102
88
79
89
96
103
105
105
106
108
110
100
100
100
98
94
88
82
81
83
89
98
107
113
112
111
111
112
113
254
255
255
254
249
246
246
238
237
220
198
173
168
174
180
183
194
211
234
230
223
217
219
216
208
191
150
158
144
138
133
134
135
131
130
128
128
126
126
127
133
135
132
133
138
143
143
138
139
160
150
139
134
132
130
119
114
104
97
98
97
94
96
101
100
100
100
102
102
101
92
91
91
91
88
88
88
86
86
83
80
77
74
75
72
71
70
69
69
71
73
74
74
74
74
75
79
85
95
101
106
107
108
111
113
115
110
111
115
117
121
125
130
125
126
128
126
122
115
111
92
84
78
75
73
66
62
59
64
69
72
75
75
74
68
67
66
67
70
73
78
104
109
82
66
65
61
47
33
25
26
32
37
41
43
28
28
29
30
31
30
26
26
22
22
28
33
35
38
57
59
59
61
60
60
62
64
67
69
74
81
91
101
80
84
85
74
68
65
66
70
73
77
83
87
90
94
85
86
86
87
86
86
85
83
82
82
79
75
73
74
82
83
85
87
90
90
91
91
91
93
92
79
69
62
86
85
83
83
84
90
89
90
87
80
75
70
62
73
91
93
91
83
82
104
112
120
126
130
130
125
118
107
92
89
91
95
84
67
124
120
80
62
69
67
69
105
104
104
103
97
85
72
57
69
74
78
79
82
90
97
90
93
97
100
102
99
97
96
99
102
108
112
116
118
115
114
114
114
252
253
254
255
254
254
254
252
247
240
228
201
177
157
176
174
173
178
196
198
198
201
192
182
170
155
149
152
146
139
133
133
133
128
128
125
125
124
123
123
127
128
134
135
138
144
146
140
142
133
124
114
108
109
109
106
107
105
107
107
108
103
100
100
99
101
101
102
104
106
97
95
95
92
90
87
88
84
81
79
75
72
72
71
68
68
68
69
70
71
73
80
81
82
83
84
87
91
99
102
106
107
105
105
108
111
108
111
115
120
122
127
129
129
126
126
122
117
108
101
87
83
81
80
80
79
77
73
73
73
74
74
72
70
68
69
70
70
72
74
76
93
118
98
70
67
71
58
43
34
29
34
39
44
45
30
30
31
31
30
27
25
17
16
28
39
48
54
57
69
63
53
56
62
67
71
67
71
72
72
78
88
97
89
92
97
93
85
77
73
74
77
80
85
87
92
96
85
84
86
88
89
89
89
85
84
83
80
79
78
77
87
87
88
88
89
91
91
83
82
82
86
95
94
92
79
77
75
74
77
82
85
86
89
85
84
84
82
90
91
99
106
102
95
102
113
121
126
129
129
126
117
100
79
69
72
93
94
75
110
119
86
70
72
63
61
86
96
100
101
100
96
85
44
36
39
44
48
50
53
57
63
64
69
73
78
83
88
101
101
103
107
109
112
115
106
106
106
106
250
249
251
253
254
255
255
255
255
255
252
233
213
182
179
174
170
174
192
195
194
197
190
185
180
172
163
143
139
131
125
125
127
126
126
125
123
120
119
118
125
128
134
131
134
140
147
147
146
136
131
124
118
114
110
103
106
108
110
108
108
108
108
105
106
107
106
107
109
108
99
99
99
98
95
92
90
88
86
81
79
76
74
74
77
77
78
79
79
80
81
84
85
86
86
88
90
92
99
97
99
104
106
100
99
100
102
103
104
106
111
117
121
126
126
123
115
106
99
96
86
84
83
84
86
86
88
84
83
82
81
79
75
70
71
70
69
68
70
73
75
86
116
120
90
72
72
65
53
40
31
36
44
51
57
40
42
41
37
30
20
14
9
10
26
41
56
66
72
56
53
56
63
71
73
75
76
76
77
82
86
89
92
96
98
104
109
106
100
97
81
81
80
76
80
85
90
82
83
85
88
90
91
88
89
86
83
81
78
74
71
83
83
82
83
83
83
82
80
78
78
76
80
85
87
64
67
72
77
82
87
90
93
101
102
100
104
105
110
81
89
97
105
106
95
96
105
111
112
106
96
89
83
92
90
94
107
108
94
108
115
80
66
66
60
54
60
74
87
97
100
101
99
77
54
47
46
54
58
58
56
69
69
68
65
65
65
64
64
66
71
75
77
80
83
88
90
94
97
248
249
251
252
254
255
255
255
255
255
255
248
237
209
180
175
173
181
206
203
198
197
194
197
192
179
158
132
137
129
124
124
125
124
126
126
123
118
116
117
127
130
130
127
131
138
146
143
143
143
135
127
120
117
115
116
106
107
107
106
104
107
110
107
108
108
109
108
109
110
100
101
101
100
97
93
91
89
89
85
80
77
78
77
80
81
82
84
84
85
84
86
87
88
88
88
88
93
97
94
97
103
105
100
97
96
98
97
100
103
109
114
118
121
123
119
108
99
94
91
86
85
85
85
87
89
90
87
86
84
84
79
76
72
69
67
67
67
69
75
77
84
113
127
96
73
72
66
54
41
33
39
47
57
63
46
48
45
39
27
17
8
2
2
19
34
50
62
68
50
49
58
68
75
75
72
78
77
78
87
91
92
90
98
100
105
113
112
107
106
89
87
82
78
81
87
90
82
83
85
88
88
89
89
89
86
82
81
79
73
69
80
80
81
80
80
81
80
81
82
80
76
71
74
79
49
55
66
78
86
96
99
99
107
105
103
107
110
113
76
82
92
105
109
95
94
90
94
96
87
77
67
68
96
102
105
110
107
93
104
118
83
65
67
61
59
61
66
82
94
96
97
99
85
58
48
43
50
59
61
60
78
78
78
75
72
67
62
51
54
59
61
64
66
71
79
82
87
92
251
251
254
255
254
253
252
254
255
255
255
255
255
246
214
172
160
178
189
196
193
197
201
191
183
186
166
162
136
124
122
125
123
126
124
121
122
124
121
122
130
130
138
135
140
138
133
143
138
140
139
133
127
124
121
123
118
116
113
113
109
108
105
103
103
102
99
99
101
106
102
102
101
99
97
92
88
81
80
80
80
79
81
84
77
77
77
76
76
76
77
78
79
81
84
88
91
91
98
95
94
97
100
100
96
90
91
95
102
108
115
121
126
119
118
116
110
104
96
90
84
82
80
79
80
79
76
76
76
75
75
74
74
72
72
73
73
71
69
68
66
81
82
115
135
108
59
27
22
34
28
11
10
33
66
24
25
28
26
23
20
24
25
30
43
48
54
58
59
60
58
59
64
68
73
76
77
81
86
92
97
100
102
107
108
110
115
115
111
106
101
89
77
69
74
78
78
71
73
77
78
80
80
80
80
79
76
74
70
67
66
70
72
71
64
61
64
65
75
76
77
82
91
93
94
55
60
65
69
70
74
79
75
78
78
80
87
103
105
83
74
68
72
84
88
88
80
79
80
83
79
67
62
84
95
94
76
66
70
107
124
97
61
51
63
68
91
62
60
68
87
96
94
100
92
77
59
57
60
63
64
67
70
70
71
69
63
59
56
53
51
51
55
60
60
53
55
59
62
248
254
255
255
255
252
250
251
254
255
255
255
255
249
245
203
173
173
181
187
187
186
188
186
185
188
172
160
138
127
123
124
120
124
123
125
127
129
126
127
132
132
135
135
134
132
129
125
121
124
122
119
116
115
114
117
112
111
113
113
111
109
106
102
102
101
102
100
103
111
99
100
102
102
100
97
95
87
88
86
87
88
89
89
90
90
90
90
86
87
85
83
84
85
87
89
92
90
95
92
87
85
86
85
80
78
72
71
75
84
94
99
99
98
96
97
97
96
88
80
80
78
80
82
86
87
88
84
80
78
76
74
71
71
66
71
69
68
68
66
68
78
55
84
122
122
81
34
27
32
37
30
24
33
47
36
36
33
28
24
25
27
28
33
50
58
67
71
74
74
73
70
71
74
76
78
85
87
88
88
88
88
89
97
95
93
104
110
111
109
102
97
89
73
71
71
75
92
94
96
99
100
99
98
100
98
95
91
82
79
78
73
78
83
83
77
73
68
70
70
67
69
78
82
84
84
81
74
64
59
53
53
57
67
75
81
86
97
99
100
88
73
67
68
86
94
83
72
61
63
72
79
84
59
75
82
72
61
61
106
115
93
55
39
54
66
73
67
59
55
62
73
87
97
99
98
86
68
57
61
63
68
68
69
71
69
67
64
57
54
53
53
52
54
55
53
53
53
53
245
255
255
255
255
252
248
249
252
253
255
255
255
249
249
212
180
172
183
185
186
186
183
182
182
182
168
154
139
129
125
125
123
125
123
126
128
129
128
129
132
132
135
134
131
130
132
118
117
121
117
112
109
108
110
118
111
113
114
112
108
105
105
100
100
102
101
102
104
113
100
100
102
102
100
97
96
91
90
88
89
90
92
92
93
93
93
92
90
89
86
82
83
84
84
87
89
88
94
89
83
78
77
77
79
78
71
68
70
78
86
90
91
95
91
93
94
93
86
81
77
79
82
88
90
92
93
86
81
78
74
72
70
68
71
72
72
67
64
65
67
74
39
64
111
129
96
45
30
32
44
41
35
30
35
40
40
34
31
29
29
34
33
42
62
71
76
79
78
81
77
76
78
78
81
80
84
86
87
88
85
84
83
90
88
88
97
102
106
105
99
100
96
79
73
70
72
94
96
98
100
100
98
97
95
94
91
87
80
77
76
66
75
81
84
83
81
78
72
70
66
66
72
73
74
86
83
77
67
61
52
48
52
63
77
83
86
89
86
102
95
83
69
62
71
78
84
74
67
64
69
78
98
53
73
85
82
72
69
113
114
98
60
37
48
62
64
73
70
58
49
61
86
91
101
103
96
77
64
62
60
67
66
66
68
68
68
65
56
56
56
53
52
52
53
58
58
57
57
228
244
255
255
255
254
247
248
249
250
253
255
251
243
248
220
186
172
197
201
201
203
193
187
184
176
164
145
127
119
118
123
122
121
115
122
127
129
128
127
130
127
135
137
133
135
141
118
121
116
113
109
107
105
109
114
103
106
110
111
106
102
103
103
103
102
100
101
103
109
100
101
101
102
102
99
95
93
92
92
93
92
93
95
95
95
94
92
91
88
83
78
78
78
78
78
78
77
80
79
78
79
79
80
81
83
83
80
80
78
81
84
87
91
90
90
90
89
87
86
87
89
94
98
96
92
89
89
79
75
69
66
63
61
67
69
66
59
57
57
60
65
15
25
82
130
124
75
41
31
45
53
45
21
4
32
31
27
28
29
32
38
44
52
71
79
82
83
84
84
81
80
83
84
85
84
80
81
82
84
84
85
85
83
86
87
86
86
92
97
97
95
91
81
75
73
73
70
71
75
76
74
72
70
68
68
67
65
62
59
58
63
67
70
69
74
77
78
84
80
74
69
64
61
58
58
56
57
60
69
79
80
82
83
84
83
82
69
61
96
98
98
95
87
70
59
59
59
63
68
72
77
84
42
67
90
92
78
67
104
114
111
75
42
50
72
82
100
83
64
52
53
62
90
98
99
101
99
83
66
54
61
59
57
60
64
65
62
54
56
58
57
54
53
54
64
65
66
67
231
237
245
249
255
255
254
249
254
255
249
254
249
241
248
206
175
174
191
200
202
205
199
194
193
195
156
124
115
115
118
118
115
114
114
115
120
124
126
127
128
130
129
127
127
133
134
116
110
104
102
101
103
102
102
109
98
100
106
109
109
107
105
108
105
101
100
100
102
102
98
99
101
101
100
99
99
93
93
91
93
95
96
94
90
90
91
91
89
84
81
75
73
69
67
66
68
69
80
83
84
83
83
83
86
86
93
94
92
90
86
86
87
93
91
87
81
82
88
94
96
95
93
90
87
87
88
86
75
72
69
67
64
62
58
66
65
59
56
60
62
60
13
15
52
119
145
108
53
28
41
48
44
16
0
20
20
23
26
30
35
42
53
57
68
76
78
77
73
85
83
77
78
78
80
81
80
84
86
84
82
82
85
81
84
85
80
75
75
76
78
74
71
71
72
71
70
44
45
48
52
57
58
61
61
59
59
56
52
50
50
66
69
69
68
67
73
78
82
75
70
70
66
61
60
48
49
51
55
65
84
91
93
93
91
89
82
71
67
73
74
79
90
102
107
98
79
69
62
62
73
81
53
54
63
89
106
85
60
78
91
96
92
67
57
92
91
82
70
60
59
57
53
72
97
101
104
98
93
84
64
60
55
53
58
62
62
59
56
58
60
60
60
60
62
71
72
74
75
234
241
247
250
255
253
249
251
255
255
252
255
251
241
241
205
181
181
187
195
198
202
201
194
188
185
149
124
120
117
117
117
115
113
113
115
117
122
122
122
120
121
128
126
128
131
127
108
108
103
101
100
101
99
98
108
100
103
107
111
110
108
106
108
105
101
99
101
104
104
101
102
101
101
102
101
99
94
93
93
95
95
96
96
98
96
93
89
84
79
78
75
73
70
68
69
70
70
79
81
82
83
84
85
88
89
94
95
94
90
88
88
90
91
90
88
86
88
90
93
94
95
94
91
86
83
82
81
73
71
69
67
66
63
62
69
66
60
57
59
65
68
22
15
46
109
147
130
69
34
37
51
48
23
0
19
19
24
26
30
35
41
50
55
65
72
75
73
71
82
80
75
74
74
75
74
78
80
82
83
82
85
85
85
88
89
85
82
82
83
79
75
74
75
76
75
74
50
49
49
51
58
59
61
61
59
59
55
52
50
50
63
63
66
65
67
71
76
67
63
62
63
59
57
57
57
57
60
62
68
79
84
86
85
84
84
82
80
80
57
61
69
75
83
97
96
85
74
63
60
69
80
69
65
68
89
105
92
69
80
89
94
96
76
59
79
78
75
66
61
60
59
56
70
90
97
103
102
97
89
71
56
54
55
58
59
57
58
58
59
60
61
61
62
64
74
75
77
78
241
246
251
253
254
253
250
247
248
249
249
247
235
223
214
190
178
183
178
179
183
186
185
179
168
164
157
148
130
123
116
112
115
113
109
108
108
113
116
119
120
121
122
124
123
120
113
102
102
103
100
99
98
97
96
106
105
109
113
115
114
112
111
107
103
100
98
101
105
112
106
105
107
106
104
101
100
94
93
92
94
97
99
98
97
94
91
90
86
82
82
78
75
73
72
72
74
74
76
77
79
81
82
86
91
93
95
97
95
94
92
94
93
91
88
89
91
92
88
84
80
81
80
79
76
73
71
72
66
65
66
66
66
65
66
66
63
57
58
63
67
65
39
21
27
72
130
153
113
53
28
45
49
37
22
21
22
26
30
33
39
46
52
57
64
69
71
71
68
76
75
71
71
71
71
69
75
76
80
88
90
93
95
89
90
93
93
92
91
91
90
90
92
99
101
102
101
96
91
84
82
87
88
88
90
88
85
82
75
73
70
58
56
58
61
62
60
56
61
61
66
67
60
60
61
83
79
76
69
64
56
56
62
67
73
81
91
110
115
64
72
78
76
68
68
72
86
89
88
86
89
92
90
111
97
95
92
78
67
95
89
92
100
96
73
56
64
67
62
60
63
64
64
68
71
85
100
107
108
104
91
61
58
55
56
56
56
57
59
60
61
61
64
67
71
77
78
79
81
239
246
250
248
247
251
250
253
253
253
251
240
233
227
217
192
184
195
202
205
206
203
195
179
167
168
163
151
139
133
125
120
116
113
112
112
108
107
104
105
101
99
104
102
97
97
101
101
94
102
98
99
100
98
96
103
105
109
112
114
113
111
109
103
102
98
97
101
107
111
104
105
106
105
103
101
96
89
87
89
90
93
96
98
93
96
98
98
95
89
83
79
79
76
75
76
77
75
72
72
74
74
75
79
85
87
88
89
90
88
89
89
91
92
87
86
89
87
82
77
73
66
65
67
70
72
73
67
66
66
68
68
69
69
70
64
58
52
52
54
57
52
56
34
21
38
93
149
150
86
18
32
48
52
47
27
29
35
38
43
49
58
61
68
77
79
81
83
84
68
68
68
68
68
67
68
78
77
80
88
91
92
91
89
88
87
89
88
86
85
78
78
80
91
98
102
104
108
107
104
100
97
96
97
102
99
95
90
79
75
72
62
66
72
80
85
85
83
78
77
75
76
64
61
62
67
65
58
53
49
48
48
49
53
61
69
78
90
92
98
96
93
89
83
57
52
59
68
70
69
68
68
76
97
101
110
108
82
65
93
94
85
84
91
84
65
64
81
76
67
63
65
68
71
68
75
85
96
102
102
99
89
72
55
51
57
59
60
63
65
68
70
71
72
76
73
74
76
77
236
244
246
242
231
231
233
238
238
238
236
225
222
223
199
181
181
196
200
205
210
211
204
187
173
169
161
149
143
139
131
125
120
115
113
115
112
106
104
101
96
92
96
98
99
96
97
101
97
97
95
97
99
97
94
99
104
107
110
114
110
109
106
102
100
97
97
101
104
107
102
103
104
103
102
97
92
85
84
85
88
90
94
95
92
94
96
96
94
90
86
81
81
78
77
78
76
75
71
71
70
71
71
74
79
81
83
84
86
84
85
85
87
89
85
84
84
83
82
80
73
67
66
72
75
77
76
70
67
69
71
70
70
72
73
63
54
48
42
43
42
44
55
31
13
20
74
139
156
97
14
23
46
55
51
26
29
35
41
46
53
61
66
73
81
84
86
91
92
71
71
73
74
73
72
71
78
77
78
83
85
84
82
82
80
80
81
81
77
74
70
69
70
83
92
98
101
97
101
103
100
91
92
92
95
94
90
85
76
73
71
75
81
87
91
94
95
97
90
85
83
83
78
76
76
59
58
59
57
57
55
56
58
58
58
59
61
68
70
116
109
99
89
80
64
64
78
84
88
85
76
69
64
77
85
99
100
80
67
97
99
85
78
89
94
76
57
85
79
69
65
66
69
67
68
68
76
87
97
101
101
100
82
64
54
53
56
58
64
68
71
75
75
75
77
70
71
73
74
244
240
237
230
212
212
214
207
209
206
205
208
194
185
181
183
188
192
205
211
217
205
209
207
190
170
154
137
134
138
136
121
113
112
107
106
106
106
106
106
103
104
101
100
99
98
96
94
92
91
92
93
91
91
92
97
99
101
104
107
111
112
111
106
106
104
103
101
103
113
103
105
106
106
104
102
100
87
81
79
84
89
90
90
90
90
92
91
89
84
78
74
72
71
70
72
72
74
74
77
77
74
69
68
71
74
80
82
81
83
84
88
91
85
86
87
89
88
84
81
74
74
77
73
68
68
70
74
76
75
77
73
68
66
63
57
57
55
52
53
56
46
57
63
67
73
82
85
106
105
72
59
58
60
56
32
34
44
53
63
76
86
89
94
97
102
108
114
118
55
55
58
59
61
64
67
67
72
77
84
83
82
81
110
106
99
87
79
71
65
72
70
67
63
72
85
96
87
91
92
90
86
78
68
76
74
72
72
73
78
82
71
71
69
64
60
66
76
82
85
86
85
73
65
59
84
81
76
72
66
61
60
56
56
58
58
58
60
59
40
41
45
50
57
55
52
57
58
58
53
48
45
45
59
69
83
86
82
88
97
77
75
91
115
122
97
32
64
66
66
61
55
59
84
86
82
79
80
87
95
99
101
93
80
64
51
44
48
60
64
66
64
65
65
63
66
66
66
66
253
245
236
234
217
205
199
182
179
173
171
165
171
188
188
187
187
185
189
192
196
202
205
201
179
153
148
143
144
143
135
123
119
116
110
106
107
106
106
105
104
103
100
98
98
96
95
91
90
91
89
90
89
89
90
92
96
98
101
103
105
107
105
101
99
95
92
93
96
108
100
101
103
105
105
101
96
92
85
79
77
76
77
82
89
87
86
85
83
82
82
79
80
77
77
76
76
72
67
66
64
63
60
61
61
63
69
71
72
74
77
79
82
86
92
95
96
95
93
89
81
84
86
88
88
87
88
87
81
81
83
80
73
67
60
54
53
50
47
49
50
39
49
57
63
65
60
56
83
106
88
63
56
55
52
62
63
66
68
69
70
73
72
73
72
72
72
72
71
94
95
95
94
94
93
94
81
82
86
84
78
71
66
60
60
57
49
46
48
50
54
56
62
72
81
92
100
111
112
110
106
104
102
97
99
96
93
91
88
83
78
74
72
70
66
62
65
70
72
75
79
79
73
69
63
71
67
63
59
60
65
68
69
72
75
77
75
65
62
67
65
67
69
75
86
89
84
86
86
82
78
71
68
70
57
55
73
102
124
102
79
83
100
121
127
109
65
59
60
65
69
70
69
64
65
67
63
59
60
70
84
98
104
104
90
71
56
53
66
70
70
70
70
71
69
71
70
69
68
250
244
239
235
218
210
207
190
181
168
163
159
169
189
185
185
185
184
188
191
195
196
200
196
174
147
144
143
145
141
132
123
119
115
110
107
106
107
105
105
105
104
99
99
98
97
96
90
89
88
89
89
89
86
86
91
94
95
98
100
101
101
101
98
96
92
88
88
95
106
97
99
101
104
104
102
97
86
83
77
75
73
74
78
86
84
85
86
85
85
87
82
83
81
81
80
77
73
66
62
60
61
64
65
67
67
71
75
75
77
79
81
84
90
95
98
99
99
96
96
89
93
95
96
96
96
95
86
79
79
80
75
68
62
55
52
51
50
47
46
49
37
42
50
56
59
57
53
65
99
101
72
62
60
60
67
67
69
69
69
66
65
67
68
70
68
65
63
62
105
105
104
100
98
94
93
87
87
87
78
70
61
56
34
40
47
51
54
60
66
89
91
94
99
101
105
109
110
109
104
98
90
87
85
93
90
85
83
84
79
74
76
73
69
65
59
62
65
73
77
81
82
81
76
74
68
66
60
59
58
65
68
71
75
80
83
83
73
68
86
86
87
89
94
104
105
101
101
98
94
88
79
70
54
55
74
105
126
129
80
72
76
87
103
107
98
80
56
53
48
51
56
62
69
62
64
61
54
53
61
78
96
104
109
101
84
70
59
69
72
74
73
73
74
73
71
70
68
66
247
247
247
239
218
220
228
205
194
172
154
149
152
160
181
183
186
186
187
188
190
196
190
183
168
150
147
142
134
131
127
122
119
113
111
107
108
108
108
106
104
105
100
100
101
100
98
90
88
87
88
88
87
84
85
88
89
90
92
96
96
95
94
93
90
86
86
89
93
98
88
94
101
103
101
98
100
83
78
72
75
76
77
76
71
75
81
85
87
86
84
83
83
82
82
81
79
76
61
59
61
64
68
72
77
79
79
81
81
81
82
84
86
93
97
99
99
99
101
103
106
107
105
104
104
99
96
90
85
80
75
67
60
57
54
54
56
54
52
52
54
48
46
49
56
63
69
71
69
94
126
103
77
67
67
58
58
61
64
68
72
77
85
88
97
98
97
97
94
92
91
85
82
75
71
67
62
58
56
67
79
93
101
104
109
115
111
108
106
106
86
85
85
79
74
70
70
69
68
73
81
95
100
105
102
96
87
79
78
76
75
73
70
66
64
70
75
82
90
95
95
97
95
93
89
74
71
66
63
62
66
68
73
75
75
75
73
66
62
84
90
98
107
111
117
117
114
109
104
97
91
84
71
64
72
88
91
78
70
72
78
75
73
73
77
83
95
69
71
69
65
57
49
45
54
53
50
45
47
52
59
85
92
98
99
99
94
77
63
68
72
72
75
77
77
73
72
70
69
255
255
249
244
220
212
210
205
215
201
169
149
150
150
156
162
172
179
188
189
191
188
167
147
135
129
135
128
126
125
128
126
121
114
116
107
107
108
107
107
104
105
102
102
103
103
98
91
88
87
88
88
84
83
83
87
88
89
91
92
92
90
88
84
83
82
83
87
91
90
81
93
105
104
96
96
104
101
86
70
69
73
75
74
67
68
69
71
75
77
81
82
82
78
78
79
79
79
75
78
81
79
77
78
84
89
89
89
90
89
88
89
91
97
96
95
94
97
102
105
111
112
109
106
107
101
96
87
88
82
70
59
53
54
58
61
65
65
63
62
64
61
64
64
64
68
74
80
78
80
134
130
98
79
83
85
85
83
84
87
92
95
97
96
95
92
92
92
92
64
69
88
99
108
115
118
123
123
121
107
97
88
83
97
92
87
80
80
78
79
74
72
69
63
61
60
61
68
67
75
89
105
109
112
112
111
107
103
97
96
97
98
88
77
67
65
69
74
89
93
93
94
88
83
81
73
71
70
67
67
68
69
73
74
76
78
82
93
97
92
95
100
102
98
98
98
91
88
86
86
88
91
87
95
72
58
59
62
68
70
78
79
79
78
79
76
63
56
75
96
100
87
70
60
49
44
40
46
55
61
57
65
80
91
93
92
92
85
47
53
60
62
66
71
73
78
77
76
75
255
255
255
253
234
218
206
206
210
215
190
151
158
144
138
144
155
161
164
164
165
154
151
146
141
136
133
134
132
128
127
124
123
115
111
108
104
106
108
105
105
101
101
102
104
104
102
95
92
90
87
86
84
84
82
83
89
89
90
93
93
91
86
84
78
78
88
98
90
81
83
93
99
97
99
103
108
120
84
70
75
67
66
71
58
61
64
67
67
71
75
80
79
80
78
78
79
79
78
82
84
84
83
84
87
89
92
90
91
91
90
89
90
86
82
85
89
96
102
107
111
111
108
105
101
95
88
95
85
77
69
65
60
60
68
66
67
69
70
71
68
64
66
66
67
71
77
80
73
86
109
132
117
88
80
92
98
91
87
90
91
87
79
80
86
88
95
107
117
103
105
114
115
114
111
107
97
93
91
82
70
63
62
85
84
84
78
73
69
68
68
71
72
65
67
70
74
81
81
81
89
110
119
121
122
119
113
107
106
105
104
104
95
82
72
68
65
66
79
81
83
83
82
77
73
73
72
73
70
68
70
73
72
75
75
74
82
100
100
95
92
87
84
83
84
82
73
75
75
77
80
84
70
74
68
58
57
63
70
72
77
79
81
81
79
74
70
73
77
81
81
76
68
58
54
52
52
53
53
48
47
53
64
79
85
88
86
81
53
51
51
58
59
58
60
70
75
81
86
255
255
255
255
248
236
227
202
202
208
199
160
160
156
157
144
132
129
145
144
142
145
145
143
142
138
134
134
135
133
131
127
125
117
114
109
106
107
109
105
107
103
101
102
103
103
102
96
94
93
92
90
89
86
86
86
90
89
90
91
91
92
86
87
84
79
82
88
85
85
79
86
94
101
108
113
111
116
82
66
68
65
65
65
61
63
64
65
66
66
69
71
71
72
71
73
76
77
84
88
91
91
91
90
93
97
93
95
94
91
84
77
74
75
77
84
91
93
96
98
109
109
107
103
101
95
90
97
84
75
69
67
65
66
64
75
76
70
68
73
77
59
67
70
68
66
61
60
60
64
87
118
117
92
82
74
84
96
101
112
123
127
139
133
122
114
104
96
92
96
91
78
76
73
72
73
68
66
64
61
62
63
67
74
75
77
83
83
82
81
81
80
75
76
80
82
84
88
89
92
94
110
121
129
130
129
127
124
121
118
114
113
105
93
83
72
67
67
61
66
65
65
62
58
56
77
77
77
73
70
71
72
67
68
67
70
75
83
83
88
88
87
85
81
78
77
88
92
95
90
84
79
75
77
78
78
73
69
67
74
79
82
83
85
84
82
77
92
89
84
75
67
61
54
47
46
51
59
61
59
57
58
57
55
51
49
51
48
34
34
37
45
54
55
55
74
79
84
88
255
255
253
255
255
251
245
228
215
204
192
155
151
155
169
160
148
138
137
139
142
145
146
148
149
147
143
141
140
137
132
129
124
116
113
114
107
108
108
105
110
106
100
100
101
101
101
97
97
95
92
90
88
86
85
85
89
88
87
89
90
90
88
80
84
86
88
92
93
107
107
101
96
98
107
116
120
111
90
79
79
83
81
75
73
73
70
71
69
65
63
61
61
63
64
68
72
78
82
87
89
90
88
89
92
96
95
93
92
90
85
84
81
71
69
73
79
84
89
95
101
100
98
94
93
88
82
89
77
71
67
69
72
72
75
71
71
69
69
67
67
58
55
52
51
51
53
57
79
89
106
107
103
107
117
88
93
104
99
91
88
91
83
86
96
98
97
89
84
75
74
67
65
64
62
61
70
75
81
93
98
100
100
89
90
89
84
78
73
70
68
63
60
64
70
72
73
71
76
80
85
103
120
129
137
134
129
124
122
121
119
112
105
94
85
67
60
60
62
69
74
75
71
69
68
77
76
74
70
68
64
62
66
65
66
70
74
75
75
89
88
83
82
87
104
110
112
101
89
87
90
96
98
88
85
83
83
83
80
67
75
74
73
74
75
75
72
81
80
78
76
73
71
66
65
61
59
61
60
58
61
83
79
72
63
59
59
58
57
53
48
45
45
46
44
43
46
50
52
254
252
252
255
255
254
248
232
219
200
184
155
154
159
165
161
155
145
136
138
144
147
148
150
151
150
146
145
144
140
134
128
125
117
115
114
109
108
109
106
111
107
99
99
100
100
98
98
96
93
92
90
87
85
84
84
88
87
86
86
89
89
86
83
92
97
99
101
102
117
121
112
104
106
110
114
119
100
90
83
86
90
88
78
84
82
79
76
73
68
62
61
61
60
62
66
71
77
83
86
90
89
86
88
91
94
90
90
87
89
86
87
88
76
73
76
81
85
89
95
98
97
94
90
88
85
81
84
76
72
70
73
77
77
81
68
66
67
68
67
65
63
68
72
78
87
95
101
114
124
135
117
99
97
102
74
73
79
82
83
87
93
97
98
95
95
94
91
88
70
70
73
77
78
77
76
75
81
86
94
96
93
89
87
86
86
78
71
65
62
56
54
52
58
61
64
65
62
66
71
80
105
121
130
139
139
134
128
128
129
127
112
107
97
87
68
63
63
69
80
88
92
89
87
86
89
86
80
76
72
59
56
57
54
56
62
67
70
71
76
76
77
81
91
108
113
95
81
68
67
79
88
96
89
85
82
84
87
83
67
71
68
66
67
71
72
66
64
63
63
67
69
70
68
74
70
66
65
63
61
64
79
79
74
68
66
69
73
85
81
76
66
59
58
55
40
43
46
48
255
253
252
254
255
253
251
237
228
206
181
163
155
153
168
163
157
150
147
149
152
150
150
150
151
149
147
148
152
146
140
133
130
123
120
116
110
110
110
107
111
109
98
96
96
96
97
97
98
95
93
91
88
87
86
83
86
85
84
84
85
87
86
85
101
108
104
100
94
100
105
104
108
112
108
97
86
92
97
101
105
109
102
93
99
95
91
88
84
77
67
64
62
62
61
64
69
75
91
93
96
95
91
91
93
95
95
100
103
103
102
98
96
90
89
95
96
94
93
94
97
96
93
91
90
86
80
81
79
78
79
81
84
84
100
108
111
117
128
142
155
149
153
147
135
119
105
95
101
90
88
87
90
95
95
110
103
109
115
111
102
98
90
93
102
102
98
94
91
88
84
78
77
76
76
74
76
79
82
80
84
80
75
82
80
77
59
48
39
32
42
45
49
52
54
57
62
54
57
64
78
112
125
133
133
138
141
141
140
139
135
114
109
99
88
72
69
74
83
99
113
121
119
117
116
118
113
111
109
109
100
96
96
90
85
85
82
71
73
60
64
75
89
97
69
54
50
44
41
47
55
63
81
82
86
88
89
84
82
78
66
62
59
62
66
67
63
46
44
43
48
54
62
70
75
75
78
79
80
77
76
83
85
80
69
63
71
84
87
96
99
90
78
69
62
54
56
58
59
255
255
255
255
254
253
252
241
226
221
216
189
189
184
172
161
152
150
144
146
154
150
148
145
146
143
141
144
149
148
144
137
131
124
120
116
113
108
104
101
95
95
97
96
95
96
97
97
96
95
94
91
90
88
87
86
84
84
83
81
82
79
79
80
88
93
95
95
100
101
96
89
85
86
90
94
97
102
103
103
101
102
100
93
90
85
79
76
74
72
66
57
64
67
71
80
98
123
67
81
95
103
106
103
102
111
107
109
112
108
101
95
92
108
104
98
94
94
93
92
97
97
93
84
72
66
65
78
103
119
136
146
151
149
137
125
117
106
96
87
80
82
75
71
69
69
68
71
83
82
92
94
96
109
123
128
107
101
108
104
96
93
90
89
86
84
84
83
83
66
67
68
69
70
75
78
79
80
81
86
84
80
76
81
76
69
57
51
49
50
51
51
51
50
49
51
51
52
51
53
59
85
99
110
118
124
129
133
133
129
126
124
120
113
106
88
83
80
87
92
102
107
111
116
118
101
101
101
101
101
102
102
100
103
104
102
100
97
92
89
92
102
109
107
91
91
85
80
76
75
71
66
70
71
73
76
78
80
81
80
78
72
66
62
62
60
53
52
51
53
52
53
53
55
63
65
66
69
72
73
74
81
78
79
78
75
76
84
103
104
102
98
87
73
56
55
55
57
61
255
255
255
254
255
254
254
244
233
229
229
200
194
187
181
168
156
155
151
155
159
155
149
146
145
144
144
146
149
148
143
136
130
125
118
116
113
110
105
101
97
95
98
97
96
96
97
96
95
96
94
91
88
85
83
82
86
85
84
84
82
81
79
82
88
93
92
95
98
100
93
87
83
84
87
91
94
103
103
104
105
107
105
100
96
91
85
82
80
77
73
75
80
81
80
83
100
126
44
48
94
119
93
93
115
112
105
109
112
109
103
99
99
75
77
81
85
93
99
102
97
89
80
80
91
107
120
117
135
145
149
145
139
133
125
117
111
106
102
97
95
75
68
67
66
67
65
67
80
80
90
92
94
103
115
134
119
94
97
100
95
88
90
88
81
78
76
76
76
61
64
71
74
77
80
82
80
79
82
82
79
76
72
73
65
60
58
55
53
53
52
51
53
52
52
53
54
53
51
49
51
71
86
98
103
109
116
119
122
120
117
116
113
111
107
94
85
79
80
86
95
97
100
105
108
97
98
99
101
103
105
106
105
108
109
109
109
106
100
94
97
104
113
114
112
115
112
111
110
110
106
100
95
99
102
105
108
110
109
107
108
104
98
95
93
90
82
80
78
73
69
63
59
53
58
59
59
60
60
59
58
74
73
72
72
73
72
76
92
96
97
94
91
82
62
51
49
50
53
248
248
248
249
251
252
253
249
247
243
244
213
193
184
191
186
177
167
155
163
170
162
161
158
156
159
163
162
158
152
140
130
124
123
117
115
115
113
110
107
102
100
99
97
96
95
96
95
94
92
92
88
84
81
79
77
90
89
87
87
87
88
90
89
95
101
103
104
104
92
85
82
78
78
81
83
86
99
101
104
105
105
106
103
106
101
94
89
84
82
79
82
87
92
98
99
97
95
150
173
119
69
103
117
94
98
91
97
102
104
101
100
104
72
72
73
77
83
89
90
123
134
142
142
134
123
116
98
91
85
82
84
88
90
86
95
97
97
97
95
93
91
91
92
95
95
96
94
91
92
94
94
95
97
100
126
129
98
89
97
98
88
86
79
66
61
61
63
65
64
68
80
82
83
83
84
85
82
79
74
70
66
63
59
56
54
57
56
56
58
59
60
61
59
59
58
60
53
48
44
41
45
51
59
66
75
83
89
95
95
92
95
94
94
101
105
101
96
80
74
66
68
74
71
65
58
60
64
69
74
83
86
91
91
91
95
104
111
106
93
99
107
111
114
116
115
114
116
117
120
121
123
122
119
121
124
127
128
127
125
123
123
122
121
120
118
111
110
109
108
106
104
102
104
97
97
94
90
86
83
80
80
79
77
76
74
73
68
62
78
87
85
83
81
69
54
50
49
53
246
245
245
248
251
251
253
255
255
251
249
228
204
198
199
189
176
165
160
157
153
167
174
176
168
160
158
158
164
159
151
144
140
124
114
117
117
116
115
111
105
104
98
96
94
93
95
93
91
90
88
85
84
80
78
78
93
93
94
96
101
105
110
110
111
110
107
107
107
95
92
88
86
83
82
82
87
102
106
109
106
103
102
100
98
93
87
82
76
77
79
90
91
93
96
100
101
102
120
78
133
198
149
81
74
81
82
79
84
92
96
98
98
105
109
114
124
131
138
137
103
100
94
85
70
55
46
57
61
65
70
74
78
80
89
90
89
84
81
77
75
111
107
103
102
98
94
92
88
87
84
84
85
85
84
101
122
117
95
84
83
82
73
66
52
51
56
61
66
73
77
87
88
87
89
90
87
82
74
64
58
54
52
51
55
59
57
54
58
64
68
68
70
67
65
65
65
54
51
43
41
47
53
61
68
75
79
83
80
75
70
76
81
90
99
110
108
108
104
95
83
72
60
54
50
52
53
54
55
57
60
60
59
61
67
78
91
86
70
72
80
86
88
92
97
95
104
107
109
108
108
111
107
114
113
113
113
114
115
117
119
121
124
125
124
120
115
114
113
111
108
105
104
102
105
107
106
105
106
105
105
105
109
110
106
104
104
102
91
91
93
96
95
88
78
56
49
45
47
248
247
246
249
253
254
255
255
255
252
252
235
210
207
208
193
176
167
169
160
149
158
169
174
167
158
159
159
149
148
146
144
144
128
114
116
116
116
115
112
106
105
98
96
94
94
94
92
91
89
89
86
85
82
82
81
92
93
94
98
102
108
115
116
113
108
102
101
103
95
96
92
89
88
86
84
90
101
105
107
103
99
98
95
93
91
86
79
75
76
80
83
89
96
101
101
103
107
106
107
87
126
191
158
89
86
88
78
80
85
89
87
85
117
136
150
151
139
120
105
82
63
50
44
49
57
62
83
82
84
86
90
93
94
85
80
79
80
80
79
80
98
95
95
94
93
90
88
86
86
83
83
86
86
85
93
117
123
96
77
75
77
69
62
48
48
55
63
67
73
79
89
90
93
94
95
87
83
75
61
55
52
47
48
54
61
56
53
59
65
68
70
71
68
68
66
67
58
52
45
43
52
62
72
74
82
87
89
86
82
80
73
82
94
105
111
109
109
108
103
91
76
52
49
49
53
54
56
59
61
65
65
59
62
69
79
89
68
49
59
66
69
68
69
75
74
76
81
86
85
87
92
84
87
85
84
84
84
86
90
93
97
103
106
107
106
104
94
95
96
100
102
104
109
111
110
111
109
107
107
105
101
108
110
106
106
108
107
105
96
94
102
109
103
92
76
68
63
64
249
250
251
251
254
255
255
255
255
255
255
246
223
206
215
206
199
193
167
158
157
165
163
162
158
152
145
145
144
142
143
141
136
123
123
118
106
116
110
105
99
100
100
94
91
90
92
86
87
88
85
85
85
83
83
90
88
93
101
107
112
118
122
121
120
117
112
108
105
91
99
94
90
87
87
89
91
94
96
99
102
102
100
98
86
84
82
79
73
71
74
88
91
97
98
98
98
99
102
107
108
88
71
96
150
188
71
82
95
68
70
117
151
127
124
110
93
79
62
51
46
48
60
73
86
98
105
93
99
103
105
106
107
105
102
98
96
93
93
88
81
79
74
70
70
68
66
66
64
68
77
83
89
95
98
93
97
128
120
93
72
66
65
63
67
70
75
76
77
83
85
93
97
98
95
92
86
81
74
58
55
54
53
52
55
60
60
60
62
62
66
71
74
73
75
77
75
68
62
56
55
62
68
74
85
90
92
92
91
88
87
85
83
83
85
101
107
109
107
102
98
93
67
53
47
46
48
50
53
52
54
55
59
61
63
67
65
60
62
80
82
83
80
77
74
72
74
73
69
67
67
65
58
51
48
46
46
45
46
60
71
73
77
80
82
82
80
65
61
59
58
61
63
63
69
71
76
80
83
86
88
82
84
87
92
94
95
97
97
97
95
95
100
103
103
87
87
85
80
251
253
254
255
255
255
255
254
255
255
255
232
209
189
189
188
189
194
184
164
146
157
160
159
157
152
146
146
140
136
135
138
137
130
128
123
116
126
119
115
106
103
103
98
92
91
92
87
88
88
84
83
82
82
84
96
88
95
103
111
118
124
130
132
133
128
125
119
114
97
102
97
89
83
82
85
88
87
88
91
93
93
93
89
90
86
84
79
74
70
71
76
82
89
94
95
95
96
102
92
85
93
94
71
56
64
159
136
80
45
103
162
153
91
75
75
81
85
90
94
92
88
83
76
69
66
68
74
80
84
89
95
101
106
110
113
111
113
110
107
101
73
64
61
57
55
53
53
59
63
73
77
83
87
89
88
90
105
116
115
91
62
80
82
88
85
84
85
87
92
94
99
99
99
94
92
86
82
79
69
64
62
59
56
57
60
61
59
61
61
66
69
72
72
77
79
81
74
70
64
60
63
68
75
84
90
94
96
94
88
87
85
85
83
77
76
82
88
93
98
95
88
88
82
71
52
46
40
39
43
52
53
52
52
54
58
59
64
71
83
84
85
84
84
81
81
79
78
75
74
74
70
65
58
55
52
52
51
50
57
66
70
76
82
86
87
85
89
84
75
68
61
60
61
60
58
56
54
54
55
57
47
47
49
52
56
59
62
67
68
70
71
70
75
86
95
98
99
96
252
252
255
255
255
255
255
253
255
255
247
221
200
183
182
182
183
186
189
171
148
147
152
158
158
151
153
159
147
138
133
136
140
133
130
125
120
134
127
122
114
108
104
99
93
94
92
86
87
86
83
81
82
82
82
96
89
96
104
112
119
126
134
136
137
135
129
125
121
103
99
93
85
81
80
83
86
88
90
92
93
91
91
89
91
86
81
77
69
64
66
70
74
83
88
91
91
94
91
94
99
98
89
91
87
71
149
175
121
73
52
67
115
88
78
86
97
108
113
119
98
85
77
68
56
45
41
70
78
81
86
91
100
104
112
115
112
111
108
103
97
79
68
65
61
59
55
53
58
59
69
73
77
81
81
86
86
88
105
115
99
73
87
88
90
87
87
89
91
99
98
100
99
97
94
91
92
88
84
73
67
63
61
58
59
61
59
58
59
59
61
65
66
69
75
79
79
76
71
67
63
63
68
76
84
89
95
97
92
88
83
85
83
79
77
74
72
69
79
88
92
88
90
88
83
68
57
45
37
36
48
52
48
48
50
54
56
66
72
79
79
80
82
83
82
81
79
78
77
77
74
73
67
62
58
56
57
56
55
57
60
64
71
79
84
87
89
90
86
79
72
66
63
64
66
64
60
56
55
55
57
47
47
48
50
52
54
56
56
57
59
60
58
61
74
90
96
99
97
243
245
248
251
251
249
247
247
249
240
224
206
197
187
184
188
183
178
182
165
140
131
130
133
139
148
164
165
168
161
154
152
148
145
146
141
133
140
125
119
118
112
107
100
93
93
92
86
87
84
83
83
84
84
81
90
87
92
102
110
116
123
132
132
132
133
128
125
120
102
84
81
75
74
76
78
82
85
85
84
84
81
79
76
74
71
70
68
65
64
68
75
77
82
84
85
86
89
97
87
82
91
98
90
87
97
153
158
164
164
115
52
33
95
99
95
95
97
96
91
91
90
88
85
81
79
83
84
92
95
97
99
102
101
101
95
88
82
78
69
62
79
71
67
65
63
61
57
58
58
63
67
69
68
68
77
78
82
94
107
107
100
82
84
90
92
92
91
88
91
89
87
91
94
97
96
97
94
86
71
65
62
59
54
54
53
47
44
46
43
51
56
61
68
75
78
79
77
76
72
67
66
72
82
89
97
100
101
92
83
77
82
77
73
71
65
59
52
53
56
67
79
85
85
84
84
79
71
59
48
36
36
40
41
44
49
52
61
67
68
68
68
72
75
76
74
74
73
72
71
71
69
64
58
54
52
55
56
54
52
50
52
57
62
68
74
80
89
91
91
87
80
73
65
57
56
55
52
53
54
56
61
63
65
67
68
67
67
67
62
61
62
56
53
64
89
98
105
106
230
241
251
252
255
255
255
255
239
221
206
191
188
180
185
181
179
180
166
145
130
121
121
127
132
136
142
149
135
139
161
171
152
137
161
148
131
138
139
120
141
117
115
106
99
96
99
102
85
87
83
79
73
70
68
66
81
85
92
99
105
113
127
127
126
124
122
117
112
101
93
88
82
77
73
71
69
67
68
66
64
65
63
62
69
70
72
77
80
82
90
95
91
90
88
87
86
84
74
76
87
91
84
90
118
138
95
93
81
68
125
201
214
50
59
95
95
90
105
98
93
85
78
77
76
77
77
74
87
89
88
86
84
86
83
86
85
80
70
58
51
57
56
55
54
53
52
51
58
60
70
75
76
75
73
75
86
104
104
110
120
130
108
87
92
94
80
71
74
75
74
80
84
87
87
84
83
80
74
65
57
49
45
55
56
53
47
50
54
58
67
75
85
97
102
104
105
76
75
73
73
75
77
80
89
87
86
89
88
82
77
77
72
66
60
58
57
56
57
55
53
53
70
84
94
85
89
87
81
79
55
35
23
23
29
41
49
60
67
68
72
75
80
81
80
78
77
71
67
61
57
54
48
51
53
52
51
50
52
49
45
42
44
48
59
71
92
80
84
89
90
89
84
64
58
58
58
58
56
57
55
59
60
62
64
65
65
67
70
67
63
61
62
66
70
77
86
95
99
225
229
232
230
234
235
234
228
213
200
192
184
186
181
191
186
182
180
162
144
132
134
125
115
113
119
140
149
137
137
154
168
161
157
167
148
134
141
137
119
146
131
119
112
110
105
99
106
103
95
89
83
78
73
70
68
79
84
89
95
99
106
116
119
120
118
116
112
108
98
90
86
79
75
73
72
69
67
67
68
67
66
65
66
72
73
75
82
85
90
96
103
101
99
96
92
90
88
78
82
83
83
90
115
138
137
86
51
52
67
93
149
209
67
52
79
91
97
89
93
88
84
83
82
81
84
84
86
87
87
84
82
81
81
77
74
71
68
61
54
47
57
55
52
52
52
53
50
53
57
65
65
66
74
78
86
94
108
106
108
117
125
122
99
82
84
75
64
62
76
76
81
84
86
85
85
83
79
75
65
58
53
49
47
48
47
47
51
57
63
66
76
86
97
105
106
106
79
78
75
72
75
77
80
87
87
85
88
89
84
78
77
73
67
63
59
58
56
58
56
52
51
61
73
81
83
89
88
82
79
72
62
50
45
40
41
44
61
72
70
74
77
81
82
81
79
77
70
67
61
58
55
51
55
56
57
58
60
62
61
55
51
50
51
57
69
87
81
86
90
89
87
85
74
64
62
59
59
58
59
57
62
63
64
66
67
67
67
69
66
63
61
62
65
70
71
79
89
95
232
227
217
202
187
183
177
175
172
175
172
161
164
162
171
170
167
160
144
137
133
138
135
137
142
147
146
147
156
170
187
188
175
176
172
157
148
155
156
139
153
142
105
91
92
106
110
104
104
109
105
99
93
89
86
83
83
84
85
87
88
90
92
98
97
97
97
95
93
87
86
82
79
75
75
75
73
76
74
74
74
73
74
72
74
75
80
89
98
105
114
118
115
112
105
98
90
82
86
77
71
84
116
149
136
96
51
60
79
80
98
113
100
169
170
112
80
77
93
80
83
86
87
86
85
84
85
90
83
81
82
79
76
72
68
61
58
55
53
53
51
51
50
49
49
50
49
50
46
49
50
55
67
84
95
99
105
107
104
103
107
108
133
115
68
63
66
64
57
76
82
88
87
84
84
84
80
77
73
63
56
51
45
44
45
44
42
46
51
56
66
74
84
100
107
111
110
89
85
79
74
73
77
81
85
85
87
87
85
80
75
72
71
69
68
67
63
60
61
60
57
53
48
49
51
54
66
78
83
87
84
82
84
81
74
67
62
56
57
65
69
73
78
80
78
76
71
69
66
64
63
62
59
52
52
58
68
76
83
82
81
72
63
57
57
60
69
74
83
90
90
87
88
90
79
72
64
61
60
62
62
65
66
67
68
69
68
67
65
63
60
59
58
61
64
56
61
68
78
227
230
225
207
168
159
153
152
151
157
157
143
143
138
146
148
149
147
146
145
144
135
136
138
135
128
129
138
165
166
175
185
190
189
172
165
143
134
133
138
175
181
195
147
103
86
87
106
104
110
110
110
110
110
111
106
94
93
93
92
92
91
85
84
84
84
86
85
85
82
87
86
81
79
80
80
81
81
81
78
76
72
70
69
65
66
71
84
97
107
115
125
122
120
114
105
91
82
100
85
97
126
133
109
75
57
67
76
82
98
89
74
84
86
51
150
190
113
99
58
79
81
79
75
71
71
72
88
85
81
75
66
56
51
53
59
61
61
59
55
52
45
44
47
48
49
52
52
52
51
66
82
96
103
106
109
110
115
115
113
110
106
109
118
99
75
60
59
64
83
85
88
88
89
88
91
85
81
76
64
56
50
45
46
48
47
43
43
50
53
58
68
81
98
106
110
109
90
86
78
72
69
70
73
76
80
81
83
79
78
75
76
75
73
73
69
65
62
63
64
63
61
55
55
55
44
43
48
56
69
90
94
95
97
95
91
89
88
84
69
70
69
70
70
71
72
69
67
64
64
65
65
64
55
53
61
78
89
93
94
89
76
61
52
51
52
57
65
75
84
86
87
87
84
85
80
73
67
62
60
61
72
73
72
72
72
70
69
66
65
61
61
59
62
64
57
53
55
63
231
234
230
218
181
165
154
150
147
146
145
138
141
139
146
147
147
149
147
145
141
127
131
136
140
138
140
144
162
162
170
177
176
177
173
170
147
133
126
122
150
160
168
150
130
108
91
96
97
105
110
113
115
117
116
111
99
96
94
96
95
93
86
84
84
84
83
84
84
82
88
84
81
78
79
80
81
76
76
73
70
67
66
64
61
60
65
79
94
105
114
122
119
116
112
102
90
79
99
97
113
131
117
82
59
55
77
77
81
94
75
63
82
71
82
62
137
190
98
88
73
73
72
68
69
72
75
86
82
74
65
56
50
47
47
53
58
61
59
56
52
43
44
46
47
50
52
55
56
61
82
94
101
105
106
109
111
116
117
113
105
98
91
107
118
92
66
60
65
88
86
86
89
92
91
92
87
84
81
71
65
60
56
53
52
51
43
42
48
49
55
65
79
97
105
108
107
88
85
80
72
65
67
68
67
72
78
81
83
81
81
80
78
76
74
71
65
63
63
64
63
61
56
54
55
43
44
45
49
56
79
87
90
93
94
94
94
96
94
83
82
76
72
69
68
69
66
65
65
63
64
64
62
56
51
58
76
90
91
91
85
70
54
46
46
50
55
69
75
79
81
84
85
81
84
85
79
72
63
61
63
73
73
74
73
73
70
69
67
67
63
61
62
64
64
65
57
55
58
233
241
241
227
203
190
178
164
149
138
137
140
140
133
143
143
143
144
160
171
175
162
155
147
145
144
152
158
186
180
164
161
167
163
180
159
135
118
121
129
124
138
141
123
112
115
118
110
97
99
100
106
114
118
115
106
103
107
104
92
91
102
95
87
84
85
88
88
85
86
80
77
74
71
70
69
71
70
69
64
63
60
59
59
56
58
63
69
84
101
110
106
108
111
105
91
83
73
89
122
139
119
84
56
50
67
93
97
92
86
78
71
66
88
87
86
83
78
117
182
75
44
70
70
61
77
83
66
60
62
50
44
44
39
42
42
49
55
57
52
47
48
41
44
46
48
52
57
71
82
102
105
105
106
107
105
108
112
103
94
92
93
86
91
124
120
95
73
65
85
88
84
90
89
88
93
90
87
85
85
82
78
73
73
69
59
45
44
46
44
53
60
72
93
101
103
101
92
88
81
74
66
64
62
65
67
70
75
83
85
86
86
85
83
80
72
70
69
64
64
64
60
56
53
52
41
44
47
52
57
59
60
65
71
82
89
94
93
92
94
94
96
93
87
70
64
60
61
62
62
63
62
55
52
49
54
67
79
83
76
64
56
49
46
46
48
52
74
70
68
68
75
83
76
81
82
83
81
76
71
66
69
69
71
72
70
69
66
66
67
66
68
67
68
69
62
62
60
59
235
238
230
211
194
197
198
166
153
144
141
141
151
154
160
159
156
151
140
136
133
120
129
141
149
153
191
216
205
200
193
194
188
155
157
148
128
101
87
93
103
108
83
77
77
84
87
97
93
99
97
101
109
112
109
106
114
105
103
110
104
90
98
83
77
70
71
74
73
67
69
69
66
65
65
65
67
68
67
64
63
62
63
66
63
66
68
72
81
95
103
103
101
101
97
90
83
74
98
123
124
94
68
62
69
79
97
98
97
94
87
80
77
99
89
91
96
82
64
65
179
111
75
46
74
89
69
47
57
53
56
51
42
40
36
32
34
39
39
36
32
53
44
42
43
52
68
82
91
97
108
105
103
103
103
109
101
87
83
82
86
92
97
94
111
128
128
103
77
88
86
83
83
82
83
90
90
88
89
91
90
89
87
75
74
72
63
56
51
48
52
59
65
82
92
95
96
86
83
77
70
62
59
59
62
64
67
72
84
86
85
90
89
87
84
77
73
72
66
64
63
59
52
49
45
42
44
48
50
55
60
61
63
62
61
61
66
82
88
97
98
99
99
95
87
82
72
67
59
55
52
50
50
41
40
44
56
64
67
65
61
55
49
47
47
49
55
65
68
68
67
70
76
80
81
82
85
85
82
76
71
68
71
72
70
66
63
64
66
65
66
68
69
71
73
70
69
67
65
233
230
218
203
195
198
199
179
160
147
145
149
157
160
159
158
154
151
142
137
135
145
147
143
131
120
141
163
158
186
191
169
165
179
157
136
121
94
76
86
107
109
72
64
59
56
59
97
107
102
85
82
104
112
102
109
111
112
114
110
98
91
120
90
81
72
71
75
74
66
64
65
63
64
64
66
66
72
69
68
66
67
68
71
72
74
75
79
84
94
100
104
103
98
96
93
85
77
100
121
115
85
68
73
80
85
92
94
95
93
89
88
87
97
95
91
92
88
83
84
103
178
114
67
43
79
88
65
52
57
65
49
32
38
38
31
30
32
33
30
28
54
42
44
51
64
77
91
95
99
104
100
96
95
93
97
89
78
79
84
90
95
101
100
102
122
135
121
94
86
81
88
84
82
85
88
86
87
87
90
90
88
88
77
77
76
69
65
61
58
62
65
69
78
87
91
91
80
78
72
68
61
56
56
60
61
65
71
81
85
84
92
91
87
84
77
74
72
69
67
65
60
50
46
44
42
44
47
50
53
58
60
62
60
56
53
55
73
80
90
93
97
98
98
90
87
83
77
68
60
54
48
40
40
38
41
51
59
64
65
58
53
49
46
48
50
58
62
68
69
66
66
69
77
81
85
87
89
88
83
77
71
69
66
64
64
64
63
65
65
66
68
70
73
76
73
72
70
68
214
207
199
198
201
197
192
194
163
145
150
161
160
154
158
155
150
147
145
145
148
124
122
123
120
119
133
145
163
178
180
155
136
149
131
140
140
126
113
113
104
99
106
116
124
116
99
86
79
79
86
77
66
80
110
103
114
109
100
98
117
136
108
92
85
79
79
79
78
72
69
69
71
72
72
74
75
79
78
77
76
78
79
81
86
89
90
88
90
95
101
106
108
102
101
104
92
92
96
104
98
87
93
103
105
102
88
86
84
88
91
95
98
93
92
90
94
99
96
86
72
61
110
169
99
81
33
31
92
77
55
60
60
45
39
33
31
28
25
21
18
59
52
62
77
87
92
96
102
104
102
98
89
83
79
65
62
74
84
90
94
97
99
104
96
100
119
129
131
95
78
95
95
95
99
95
100
102
102
98
97
97
97
82
81
79
81
84
86
88
90
90
88
80
82
83
80
69
66
65
62
57
55
53
55
57
63
67
81
83
84
89
88
85
83
77
73
70
72
70
66
61
51
47
45
45
45
45
48
52
57
60
62
63
65
65
64
65
67
74
78
84
86
86
86
87
88
86
84
82
76
67
49
48
44
44
47
52
53
57
53
49
48
47
46
49
62
55
60
61
57
56
59
65
76
80
87
93
94
94
90
82
72
59
56
63
68
64
61
62
65
67
72
76
82
81
80
79
78
196
198
200
198
190
194
201
175
153
143
151
154
153
152
150
149
145
142
137
137
135
150
131
117
129
150
153
142
117
114
131
155
169
178
161
169
159
139
117
101
82
88
118
125
128
116
96
90
82
75
58
56
67
65
58
123
115
119
140
170
175
145
87
92
92
92
93
91
88
86
80
80
81
83
82
83
84
82
82
79
77
79
80
82
87
91
93
89
91
94
97
104
108
105
105
107
96
101
99
91
83
91
110
121
125
126
107
94
88
88
90
96
100
82
87
86
80
81
90
92
85
89
90
88
114
149
105
55
26
80
78
61
60
47
41
40
37
33
26
20
17
70
82
85
84
86
94
106
103
104
96
88
76
63
55
60
60
74
78
80
83
87
93
100
104
100
106
121
132
123
90
96
95
101
110
104
105
108
110
109
107
107
109
89
89
92
97
99
100
100
92
93
89
79
78
74
71
62
62
60
58
56
52
52
53
56
61
68
80
83
84
87
86
83
81
75
72
69
67
64
63
59
50
45
44
48
48
49
48
50
57
60
61
64
69
72
72
74
75
79
80
76
71
70
89
99
100
100
98
95
90
81
64
80
74
70
65
62
57
57
48
46
45
44
44
48
60
41
44
43
44
48
55
60
66
74
82
92
99
99
99
97
92
82
71
61
59
62
59
60
63
66
72
78
83
86
86
84
83
189
194
193
188
197
196
189
155
149
143
142
148
147
145
142
142
141
141
142
142
143
165
150
137
136
132
117
119
130
149
150
135
132
158
168
175
188
179
141
107
86
72
91
145
160
124
109
105
75
82
67
48
52
63
49
89
99
134
162
164
143
112
97
94
97
96
95
91
82
62
82
81
79
77
75
74
74
74
73
73
73
74
75
77
71
76
82
88
96
105
113
117
120
119
115
108
102
114
113
98
90
97
104
115
123
121
114
106
103
107
109
105
97
99
96
96
97
96
97
99
87
87
82
73
73
96
124
100
25
44
121
115
74
52
29
6
14
17
23
39
54
87
81
87
93
94
93
92
95
99
89
74
65
62
64
66
68
73
78
82
87
91
90
98
103
101
105
117
128
133
124
92
97
101
97
92
98
101
105
112
114
115
116
92
94
95
100
99
98
97
97
95
93
89
86
80
76
70
73
76
78
78
76
74
72
74
79
83
89
86
83
86
83
82
83
83
82
80
73
68
65
59
47
43
40
44
47
49
52
56
61
62
69
71
72
74
75
75
74
82
75
71
71
70
71
75
77
75
78
82
80
76
72
71
71
68
67
63
59
45
51
53
55
56
58
60
63
56
59
64
65
65
66
70
74
77
81
90
96
99
99
94
93
89
76
60
50
50
54
53
55
59
68
77
85
80
82
84
84
167
176
183
184
180
167
154
151
145
139
136
143
145
145
144
141
139
135
135
136
137
131
117
106
102
103
109
115
135
132
138
154
151
135
159
181
178
158
126
113
104
88
63
49
90
133
107
85
97
80
63
60
59
48
65
72
102
159
160
126
117
103
98
99
103
104
102
96
88
75
84
84
83
82
81
80
79
80
81
81
81
80
80
79
73
75
76
78
82
93
96
104
106
103
100
99
98
114
102
95
98
107
114
122
131
128
126
123
118
111
111
112
111
99
89
80
79
81
88
92
80
77
81
80
79
81
88
128
101
68
33
31
88
76
47
26
30
39
58
75
79
105
94
91
87
86
88
91
86
78
61
60
65
72
73
71
72
79
82
85
88
90
92
93
95
96
100
105
109
125
130
102
98
104
105
106
103
106
110
117
117
116
116
95
94
95
101
100
100
101
98
97
91
78
75
75
76
76
77
79
80
80
80
79
82
82
83
82
86
84
82
86
85
81
80
78
76
73
71
66
63
57
47
44
41
47
46
47
50
52
62
66
70
71
75
78
79
82
81
84
83
87
90
93
90
91
84
77
72
68
65
66
70
74
74
75
78
81
82
81
70
67
62
58
55
57
63
55
60
63
66
66
65
66
72
70
72
77
85
91
96
98
97
93
83
72
63
57
54
54
57
60
64
72
80
83
85
88
89
165
163
160
156
157
156
153
153
148
140
134
131
131
132
134
138
139
140
134
128
125
116
112
107
110
112
120
124
122
121
114
109
108
108
117
148
169
182
170
142
106
100
98
96
78
82
102
82
99
115
96
68
61
67
63
102
81
99
131
133
91
71
89
97
102
106
104
101
94
83
88
88
87
86
85
84
83
82
80
78
75
72
69
66
65
65
65
67
75
85
92
95
98
98
99
102
105
120
93
90
101
113
121
129
134
134
128
121
118
120
124
123
118
114
110
107
100
91
85
79
75
72
72
73
79
86
94
111
134
150
110
62
32
37
77
70
69
74
89
103
103
109
92
93
93
88
79
71
55
53
56
64
67
64
60
63
66
72
78
81
85
88
91
91
96
97
99
98
96
87
118
124
107
99
99
108
108
109
113
117
115
110
108
95
92
88
86
86
84
84
81
82
79
71
72
77
81
84
82
84
85
87
87
89
91
90
89
92
94
94
95
89
86
81
80
75
73
71
67
64
61
57
48
47
44
50
48
47
48
51
64
67
67
70
74
78
82
85
87
76
83
93
101
104
96
89
82
70
55
46
42
39
44
58
64
72
81
86
87
88
93
91
89
82
74
67
54
63
64
67
70
70
70
68
62
62
60
63
69
77
89
98
96
92
90
85
78
68
55
57
59
59
60
64
74
86
90
94
97
169
166
163
161
156
152
150
150
148
144
137
127
124
124
122
123
121
121
118
114
113
109
109
108
106
106
109
110
105
113
112
107
114
113
107
110
142
179
193
184
156
154
122
108
104
102
97
114
114
123
123
103
75
61
64
67
50
57
97
124
120
130
143
137
128
112
96
88
81
64
85
83
78
74
72
71
72
75
73
70
67
67
68
70
74
75
75
77
88
96
98
93
98
104
110
115
115
123
95
88
91
106
115
125
131
129
122
120
118
122
128
130
129
116
117
117
114
105
99
95
75
71
68
68
73
77
79
80
108
85
125
156
95
87
37
96
108
108
113
110
98
104
95
88
77
65
56
54
56
60
69
66
65
62
63
68
67
64
65
68
73
77
80
84
95
97
95
95
93
83
92
128
128
107
92
96
100
99
98
97
94
91
89
85
80
76
73
74
74
74
77
77
79
84
86
84
83
84
86
89
91
93
93
92
94
95
97
98
98
96
93
85
82
78
75
72
69
66
66
64
61
59
53
52
51
53
53
52
52
53
60
63
71
73
76
79
83
86
87
78
91
101
107
107
93
84
68
57
50
47
47
46
44
46
48
53
60
66
76
95
97
98
102
102
98
91
74
86
81
76
70
67
62
55
60
63
66
69
71
78
86
89
91
93
91
88
83
76
60
57
54
55
58
62
68
79
83
89
93
180
172
164
159
153
153
155
147
146
143
138
127
125
124
122
121
119
115
114
113
113
115
116
112
107
105
111
110
105
107
105
110
120
119
121
103
130
167
191
195
167
160
177
148
96
85
108
95
132
137
113
108
101
69
51
56
41
56
77
93
112
135
131
103
100
94
94
97
94
74
83
80
74
69
66
66
67
73
71
69
67
68
72
77
81
82
83
86
93
102
100
92
97
105
113
120
119
124
98
87
89
102
114
124
132
128
124
124
121
122
127
134
135
119
116
117
114
110
110
110
87
72
61
63
72
80
82
60
96
114
93
123
158
107
86
58
98
114
103
102
114
95
93
84
68
55
54
57
62
68
69
63
60
64
69
73
71
62
64
65
70
73
76
84
95
97
95
93
93
90
87
123
134
115
94
94
95
95
93
89
85
82
81
81
78
72
72
74
74
74
79
79
82
90
90
87
81
82
84
90
93
96
94
94
96
97
99
100
96
92
88
82
79
75
72
68
66
64
65
64
63
60
57
54
53
55
55
54
55
55
60
63
68
69
71
76
78
80
81
77
89
101
104
105
90
78
68
59
52
51
49
46
39
55
55
54
56
60
71
92
103
104
105
105
99
90
76
97
91
81
74
66
61
53
60
65
70
72
74
80
87
86
90
93
91
88
83
78
64
59
54
52
57
62
65
75
80
86
90
168
168
168
165
157
157
158
160
160
154
144
136
133
129
121
117
114
119
122
121
121
120
117
115
114
114
110
110
104
107
112
115
117
119
118
117
112
114
134
164
185
177
170
177
167
135
110
87
70
80
96
109
108
99
86
45
46
47
52
77
109
109
83
91
97
97
93
89
84
72
81
80
79
77
75
74
72
70
69
70
72
72
73
78
91
93
92
89
91
97
103
108
106
108
111
109
109
123
100
84
88
100
102
107
118
118
118
120
120
121
125
131
137
121
121
120
118
115
114
112
103
100
91
84
79
82
85
56
71
83
93
102
117
132
167
101
62
65
110
94
90
87
64
59
55
60
69
71
76
81
86
86
87
81
73
80
71
62
62
60
60
63
73
79
93
93
91
96
97
91
90
95
112
123
114
99
81
79
81
75
71
69
70
75
75
78
81
79
79
77
75
79
84
94
95
94
94
87
89
90
92
96
95
98
101
97
96
99
88
84
82
76
75
73
71
66
63
63
63
65
67
66
62
60
59
59
58
58
59
59
64
64
63
65
66
69
70
72
84
77
89
101
104
106
94
83
73
65
59
58
56
49
54
61
60
60
63
69
76
92
96
104
104
100
101
98
82
91
92
89
85
80
74
71
68
67
66
71
76
77
78
85
86
89
90
91
89
86
77
71
69
65
60
59
61
76
76
80
85
156
159
164
167
165
163
161
157
157
156
153
148
146
144
125
124
124
125
123
125
128
124
124
123
122
122
119
118
107
111
115
119
121
123
122
120
118
116
109
109
143
159
197
187
167
137
109
93
98
97
94
86
74
69
66
66
44
48
66
91
102
90
92
87
90
91
92
90
86
82
85
86
87
88
89
89
89
87
85
84
85
85
83
85
87
90
91
91
95
103
109
106
107
106
105
102
95
108
108
83
74
89
99
100
103
110
113
114
114
116
119
123
127
127
127
126
122
116
113
110
105
103
103
102
98
95
92
80
86
93
103
105
106
106
98
167
138
93
75
61
67
68
63
70
76
83
90
92
98
105
113
108
105
99
95
95
86
67
57
54
57
66
68
76
88
90
93
96
99
91
95
81
83
103
120
123
99
81
68
73
67
65
68
76
77
77
81
84
84
84
85
85
85
89
91
92
94
85
85
86
89
92
93
94
97
95
94
93
81
74
70
70
70
70
69
64
64
62
64
66
67
67
65
63
65
62
61
61
62
63
64
63
65
66
64
63
63
63
76
78
91
103
108
108
95
84
80
73
67
68
65
60
58
68
65
68
72
77
83
98
112
120
119
109
104
101
99
100
101
100
98
96
90
86
81
79
79
82
81
77
74
84
83
81
86
91
94
91
83
81
79
77
74
71
70
78
77
80
85
153
155
160
164
166
163
160
159
158
157
157
153
151
151
128
126
126
126
121
122
127
122
122
122
121
121
119
117
113
116
118
121
124
123
123
118
120
121
118
113
124
133
168
170
168
154
124
69
61
81
83
87
82
72
61
61
64
64
76
92
94
83
87
84
86
87
90
90
86
86
88
89
92
95
97
98
98
100
96
93
93
91
87
85
81
88
93
96
98
105
107
104
107
100
98
96
86
96
112
91
76
85
97
97
100
107
110
111
113
113
115
119
122
125
126
129
127
122
116
112
109
106
105
106
106
104
102
100
106
107
108
112
113
118
113
148
164
112
87
74
60
73
78
87
86
92
100
104
110
115
116
112
109
107
105
101
93
72
61
57
62
69
69
75
85
89
91
95
96
89
94
77
76
91
111
123
116
90
69
72
73
70
70
76
77
77
82
83
86
85
90
88
87
85
85
87
87
80
82
82
83
89
92
94
94
93
92
87
77
70
64
72
70
69
68
64
62
62
61
64
66
67
64
63
65
61
62
63
64
66
67
66
69
70
67
64
64
62
75
80
92
105
110
111
99
87
85
79
72
69
68
65
59
72
69
68
73
78
86
101
114
125
127
119
113
109
102
100
102
102
100
95
92
87
84
82
84
86
84
80
77
88
86
84
87
93
95
93
88
85
82
83
80
75
75
82
81
84
88
150
149
148
150
156
156
155
156
153
153
157
159
162
167
142
134
127
127
119
114
114
112
114
117
119
120
117
116
123
122
122
122
120
116
113
112
110
108
105
107
115
120
96
109
126
137
148
155
154
121
109
97
90
87
90
127
117
96
80
72
72
82
71
77
76
78
85
88
88
99
95
97
101
106
109
110
110
110
104
99
98
95
89
84
85
94
102
105
104
105
101
95
96
85
85
88
70
71
108
100
79
69
81
90
92
96
99
106
110
112
116
121
124
120
120
119
120
121
124
124
122
121
121
119
119
120
120
131
131
123
119
120
122
123
128
121
101
154
167
88
88
78
88
98
102
106
114
114
123
126
128
128
126
119
112
105
98
85
83
80
79
82
83
84
92
94
96
97
97
90
82
83
77
68
79
96
120
110
92
65
70
73
69
76
76
77
79
82
82
84
85
84
84
80
79
77
77
74
74
74
76
83
89
93
90
93
92
86
80
73
65
75
75
73
71
66
63
63
55
57
59
59
59
61
62
62
63
66
70
73
74
73
77
77
74
71
69
60
71
85
96
102
103
103
91
80
74
71
67
66
71
74
63
73
69
68
73
82
94
118
125
136
137
132
132
129
120
105
106
106
103
100
91
86
83
83
80
82
81
81
79
96
98
102
104
107
105
103
101
95
92
91
91
88
86
86
86
89
94
151
146
143
142
152
155
156
157
155
154
154
157
163
168
162
150
137
133
124
117
112
117
117
117
123
127
135
140
128
126
124
122
120
116
115
114
108
105
109
111
113
115
94
109
115
119
134
127
114
145
159
155
129
112
121
143
167
144
131
123
91
53
85
84
78
75
84
88
80
86
82
93
104
105
100
96
99
103
103
98
89
85
87
95
88
92
97
100
102
98
95
87
91
88
81
78
76
82
132
126
95
64
60
63
63
73
98
111
123
132
136
133
130
130
130
129
125
120
120
123
127
128
129
124
118
114
112
104
104
107
113
115
118
119
121
104
103
101
105
135
175
111
54
93
118
107
100
112
119
118
131
130
124
117
104
111
110
107
98
91
84
79
79
84
94
97
99
99
99
82
82
83
81
80
79
78
104
126
124
64
66
74
70
72
76
77
74
76
82
90
86
87
92
95
96
98
98
86
84
82
82
87
89
88
91
91
91
89
83
80
80
70
71
69
65
64
60
56
50
49
48
52
57
60
64
58
65
69
72
75
80
78
78
81
79
73
67
71
77
73
77
84
89
90
81
79
73
75
75
77
78
78
73
62
60
61
66
81
98
122
140
142
144
142
135
128
115
125
127
124
119
110
99
75
65
60
56
60
65
70
75
89
89
89
93
96
98
97
91
93
93
92
89
89
88
88
87
85
86
146
142
137
138
145
148
149
151
150
149
150
156
162
165
163
150
138
134
125
116
112
114
112
113
117
123
128
132
124
123
122
121
119
117
114
113
107
103
102
104
111
117
95
106
112
117
124
129
139
174
163
146
134
140
155
147
145
139
129
120
122
122
77
104
105
83
55
53
76
83
96
94
94
96
100
102
101
103
101
97
93
92
94
97
94
94
97
98
99
99
97
90
88
81
78
82
81
83
125
123
96
69
64
66
67
76
101
115
123
126
130
131
133
130
132
132
130
127
125
126
127
125
124
119
115
111
110
101
103
105
108
110
109
109
105
101
104
105
102
111
129
145
99
41
90
112
99
104
99
103
130
132
130
122
110
111
111
106
100
94
87
84
82
86
95
98
100
100
100
85
84
84
82
82
81
80
89
116
132
83
67
66
67
66
69
71
71
73
79
86
89
92
95
95
94
92
93
87
84
82
82
87
88
90
92
92
90
88
84
82
81
72
73
70
66
64
61
57
50
47
48
52
57
60
64
59
66
70
74
77
83
81
82
81
78
73
69
75
79
67
72
75
76
75
71
69
67
70
69
71
72
72
67
63
60
60
64
75
93
123
134
136
139
135
130
129
124
127
129
126
119
109
98
75
66
60
55
57
63
69
74
90
90
89
91
92
94
94
90
93
95
95
94
92
92
89
87
84
83
138
135
132
132
135
138
140
137
139
140
142
152
157
161
157
148
140
138
127
121
118
110
108
106
109
112
112
115
118
118
118
118
119
114
111
110
106
101
95
89
97
107
91
105
112
113
125
169
188
151
134
122
124
128
123
112
96
94
89
88
87
103
167
150
111
93
99
99
81
69
100
105
111
106
99
95
98
99
102
101
103
103
102
98
107
105
101
102
105
103
100
89
84
76
79
90
92
91
103
114
97
74
70
74
76
85
95
104
112
113
111
112
114
129
133
137
142
143
139
131
127
122
118
113
106
101
97
85
82
83
86
87
88
87
96
100
104
113
115
111
110
77
145
122
90
67
100
57
15
26
93
116
116
92
64
102
103
102
99
96
95
94
95
97
98
99
100
101
102
91
92
88
87
84
85
84
87
95
118
117
85
68
72
60
60
63
69
74
79
84
90
94
95
92
88
85
82
85
82
79
78
87
89
90
92
92
92
91
85
84
83
77
76
73
67
61
57
53
46
44
45
49
57
59
63
63
68
74
77
83
88
86
87
81
76
75
77
81
82
70
68
64
58
52
57
63
69
70
69
70
71
71
65
60
62
60
58
60
71
98
114
115
119
117
118
121
127
132
133
132
124
114
105
81
71
64
60
61
70
77
86
87
85
82
81
83
85
87
85
87
90
91
94
93
93
91
86
80
75
131
130
129
126
123
124
126
130
132
134
137
145
150
155
143
141
138
141
135
129
127
123
118
117
118
119
112
112
116
115
115
116
115
117
116
113
109
106
103
96
87
91
91
105
109
113
140
154
135
125
122
125
132
132
121
112
112
107
107
108
103
84
45
58
118
164
154
127
115
84
84
83
86
95
110
116
110
97
94
93
91
93
98
107
110
110
111
110
104
98
92
84
87
88
88
92
92
94
83
106
101
78
72
77
81
90
99
100
104
111
114
108
103
131
135
136
141
143
140
131
126
121
116
109
99
86
77
73
51
43
38
40
42
45
58
76
81
85
87
101
120
75
160
203
151
114
40
27
120
96
61
60
68
69
61
88
88
87
88
90
92
93
101
101
104
104
103
103
103
92
91
85
84
84
85
85
88
80
86
134
130
99
71
46
45
46
51
59
68
72
78
82
88
90
87
81
79
82
80
80
79
83
84
85
87
87
88
85
82
80
79
72
71
69
62
55
51
47
46
44
45
50
57
60
63
63
69
74
76
82
87
82
79
77
76
77
81
80
76
73
66
56
50
49
61
67
69
69
69
69
69
69
64
57
60
62
61
56
56
58
62
71
84
93
103
113
123
121
122
121
117
112
103
84
74
68
66
72
82
89
99
93
89
83
78
76
72
69
74
72
72
74
77
80
79
87
83
78
74
132
132
131
126
120
121
123
126
128
131
134
141
146
151
140
138
138
143
140
134
133
129
125
123
123
122
114
114
118
116
113
113
113
118
119
115
110
106
103
99
92
93
98
101
107
123
143
130
124
122
120
119
122
123
119
109
125
115
102
94
97
97
63
49
59
99
157
182
155
94
99
91
84
87
101
112
112
98
84
80
81
90
104
117
111
113
113
105
97
90
85
84
87
89
90
93
93
94
74
104
107
87
79
81
82
89
102
98
97
101
106
110
111
133
139
137
139
142
139
133
123
115
110
102
92
79
70
67
47
39
34
36
38
39
48
65
75
81
83
102
131
85
124
138
175
111
101
35
45
45
60
64
70
76
76
85
84
84
85
87
91
92
100
103
105
105
104
103
102
91
88
84
82
81
83
86
86
81
81
120
135
115
86
43
40
36
43
51
60
66
71
76
84
87
84
80
76
81
80
81
81
84
83
82
85
86
84
84
79
78
77
72
71
67
61
55
51
48
45
44
44
51
58
59
64
64
68
72
75
78
82
80
75
76
76
81
84
80
76
70
62
52
49
51
64
68
70
70
70
70
68
67
62
59
60
61
60
56
55
52
50
60
72
83
92
104
115
107
110
111
107
102
98
80
75
68
65
72
82
87
95
87
85
82
80
78
77
73
74
70
66
69
72
75
75
88
85
82
80
146
137
129
132
131
125
121
122
118
117
120
126
131
137
136
136
138
140
139
134
132
128
127
125
124
122
114
111
116
113
110
109
112
114
113
111
107
105
102
102
102
101
104
99
114
136
131
121
130
121
121
119
117
116
112
108
127
118
107
96
92
92
104
116
113
90
67
76
113
168
140
137
122
99
82
79
87
92
86
86
91
96
107
115
114
105
96
92
89
85
81
84
84
87
88
91
90
90
66
94
113
102
81
82
86
81
98
97
93
96
98
108
121
134
142
143
143
144
142
135
119
111
103
90
79
71
59
57
47
43
42
43
45
45
52
55
60
62
78
92
116
95
79
133
87
80
170
113
95
54
11
15
33
49
96
76
69
78
79
75
77
84
96
98
103
106
102
98
94
90
86
76
73
75
77
79
80
76
74
67
98
123
120
66
52
36
32
36
44
54
62
66
69
77
76
75
73
86
88
85
80
81
84
83
85
84
81
79
76
75
74
74
72
69
65
55
52
53
49
50
49
51
60
65
65
69
70
74
76
78
82
81
69
79
87
87
87
82
73
66
56
48
52
61
67
67
70
72
73
73
69
66
58
55
55
56
55
55
57
58
53
55
60
68
71
74
89
85
86
87
86
84
79
70
70
68
66
64
65
74
83
76
77
77
77
78
81
86
96
91
84
77
72
69
67
93
91
89
88
156
147
140
137
132
128
126
119
116
116
118
119
121
125
127
127
128
127
126
125
123
116
117
115
117
116
110
108
110
108
108
108
108
108
107
107
105
101
101
102
101
100
102
108
120
121
107
106
112
114
113
111
108
106
103
103
87
91
98
108
118
125
124
120
109
103
100
85
72
97
139
171
177
138
99
85
74
74
97
119
125
113
98
83
90
85
82
82
82
79
78
82
82
82
83
83
83
81
61
76
114
122
95
84
78
52
66
71
81
91
97
106
114
131
136
137
136
135
134
131
110
103
96
84
76
67
58
54
49
46
46
47
44
43
46
54
50
58
62
88
153
125
95
113
101
66
67
159
204
105
27
22
7
32
97
66
65
59
62
71
77
80
91
94
100
102
100
97
94
86
83
75
72
71
72
72
68
68
71
58
64
86
99
99
71
49
50
45
43
46
53
56
61
70
74
76
76
83
85
86
82
87
88
89
88
86
83
81
79
76
75
79
79
77
73
67
63
63
58
57
58
58
65
67
67
67
68
68
71
75
73
68
73
82
86
85
82
73
62
56
52
52
57
61
67
70
70
71
70
69
65
62
55
52
51
51
51
50
52
53
52
54
58
65
68
67
73
60
61
65
68
73
76
79
72
71
66
61
58
57
60
51
57
67
74
82
88
91
95
97
99
101
98
94
89
104
97
90
87
162
152
141
137
128
126
127
120
117
117
120
118
119
121
124
123
123
119
115
114
114
108
107
108
110
112
108
105
108
106
103
102
103
103
102
103
101
100
100
100
99
98
96
103
111
109
100
110
108
113
110
106
104
101
100
99
72
80
93
112
125
133
124
117
106
92
87
102
115
84
79
129
161
142
108
95
91
89
101
111
122
116
98
69
83
81
80
82
82
79
77
80
78
81
80
80
77
77
66
80
121
128
96
86
89
65
30
55
82
78
68
90
124
123
130
132
130
127
124
121
103
98
92
81
75
68
57
50
48
46
45
45
44
42
43
48
44
55
56
76
148
144
92
113
101
94
75
85
166
192
64
47
11
44
83
61
73
69
66
71
76
73
90
91
96
97
96
93
91
85
82
72
69
69
70
66
71
67
71
62
58
69
86
109
89
60
43
50
50
47
51
54
58
69
73
76
78
84
87
87
85
91
94
91
89
88
86
84
83
82
79
85
82
81
79
72
68
68
62
61
61
62
67
66
65
67
65
64
67
71
68
64
77
84
86
84
81
68
56
51
52
55
58
60
66
68
70
71
69
67
63
58
54
49
48
49
47
48
50
51
50
52
56
64
67
65
67
65
66
68
69
73
76
83
77
74
70
63
56
53
52
42
49
59
70
79
88
94
107
105
103
103
101
101
101
109
100
90
85
173
156
140
130
129
127
125
127
123
123
122
121
120
123
122
122
121
116
98
97
94
92
94
98
102
105
104
100
109
104
97
92
90
91
91
93
94
92
94
94
92
90
90
85
86
88
91
99
91
99
98
97
93
90
89
86
78
85
92
100
105
107
105
105
99
100
106
102
96
127
111
96
80
88
124
156
157
129
114
98
83
63
56
68
77
76
78
79
77
73
73
82
80
81
80
79
75
73
52
101
154
162
147
155
168
161
118
75
40
41
79
101
89
109
118
125
122
114
108
106
88
85
82
75
73
68
59
49
45
44
43
41
40
38
41
43
41
54
54
52
88
127
92
115
118
101
124
109
59
44
127
80
79
58
64
80
83
69
58
63
76
86
88
89
88
89
87
84
81
84
79
66
64
67
67
66
73
69
65
69
59
53
59
113
117
92
26
45
57
51
52
52
55
65
69
74
75
80
83
86
86
95
97
97
96
96
94
94
94
91
88
90
90
87
85
77
72
72
67
66
64
62
62
61
58
64
63
63
62
62
66
66
83
86
87
82
81
62
46
44
49
54
54
56
64
64
65
64
63
61
58
57
53
48
49
47
48
49
50
53
51
50
55
63
67
68
69
74
75
74
76
77
80
84
79
78
74
67
61
56
55
53
56
62
66
75
84
92
101
103
106
108
109
105
101
113
111
110
110
185
162
137
128
135
132
129
129
125
122
122
120
123
126
114
118
119
114
95
90
86
87
87
92
99
104
103
102
119
111
100
89
85
88
92
89
89
88
89
90
86
84
84
80
86
93
93
99
104
99
99
98
96
94
88
81
96
94
88
79
73
69
87
94
116
125
115
106
104
86
109
101
119
143
129
98
108
152
125
118
120
111
105
107
81
83
84
85
86
84
85
86
85
85
84
81
78
75
159
198
183
125
103
114
119
124
72
125
174
148
98
85
90
89
90
94
93
87
86
89
73
72
72
69
68
64
57
51
44
41
40
39
39
36
39
51
47
45
52
50
55
56
120
118
120
125
128
108
51
56
90
186
114
88
67
63
48
51
63
69
73
79
86
86
83
82
80
76
73
77
71
61
63
70
77
78
78
86
83
79
73
64
66
116
120
118
53
27
33
54
50
51
52
56
60
63
65
72
76
80
81
91
92
92
95
95
95
96
95
92
91
96
95
92
89
80
76
72
71
68
67
64
60
58
55
59
61
62
58
55
68
75
85
88
87
83
80
59
44
52
54
53
51
57
65
63
58
59
58
56
56
55
54
55
55
56
56
59
59
63
60
56
55
59
65
67
69
82
81
80
78
76
75
73
72
69
66
62
58
59
61
67
71
77
80
80
80
79
78
75
72
71
74
78
84
84
91
100
103
200
160
129
121
119
124
128
132
133
135
134
122
121
123
122
122
117
110
86
72
63
60
62
69
72
76
74
71
93
87
83
81
82
92
98
92
93
90
88
86
82
83
77
77
79
86
91
97
102
99
100
100
98
91
87
83
86
85
83
84
89
95
102
97
104
109
105
101
103
107
90
91
91
93
98
103
102
147
179
191
163
139
120
69
104
112
102
77
54
46
45
42
72
77
82
95
85
91
166
167
165
139
117
141
163
150
101
118
153
158
132
107
101
78
86
97
111
113
99
74
42
42
57
70
82
87
86
69
60
53
49
48
46
48
52
46
52
46
34
53
91
119
124
114
112
128
127
109
55
51
30
116
177
121
88
4
3
78
84
85
86
70
68
67
83
84
75
60
51
74
70
61
65
64
65
65
68
63
62
57
57
57
55
44
56
79
76
52
53
68
78
72
65
69
61
67
83
78
86
87
84
90
88
86
84
87
91
95
96
96
97
102
101
99
98
89
84
80
79
75
71
67
60
57
55
61
62
58
55
53
57
68
75
79
81
82
79
51
50
50
50
53
57
64
65
63
64
61
56
51
48
46
48
53
55
57
58
58
57
61
60
60
55
56
62
66
68
79
81
79
76
79
82
86
84
83
79
75
69
67
66
71
70
70
72
75
79
80
78
76
68
59
55
57
67
80
86
94
97
174
150
136
133
125
128
131
130
130
131
133
124
124
128
124
124
121
114
88
76
66
62
66
69
73
77
75
69
97
90
88
87
86
87
90
92
92
91
88
86
85
86
82
81
85
89
94
100
105
104
104
101
98
95
93
96
99
99
99
100
101
103
104
111
110
110
108
107
108
104
93
97
101
101
105
104
98
73
77
100
138
166
164
145
111
73
49
61
77
81
83
88
69
74
71
49
60
112
148
156
142
126
127
124
121
130
130
130
105
96
114
122
111
99
90
74
62
56
56
62
88
85
69
56
63
69
63
64
54
50
45
43
43
45
44
50
45
46
43
38
36
21
96
127
117
102
111
126
78
52
63
59
61
136
162
74
56
51
62
76
69
85
81
76
72
72
71
67
65
68
66
58
62
62
63
64
68
63
62
58
57
55
53
51
54
64
95
92
72
53
69
63
53
53
60
62
65
70
76
76
73
81
79
80
85
90
93
97
95
92
92
103
101
100
98
89
84
80
76
73
68
64
57
54
52
57
59
55
53
52
57
68
77
80
81
80
75
45
43
44
45
47
52
58
64
65
65
62
59
55
52
51
50
56
59
61
62
63
62
65
65
64
60
60
70
74
77
80
82
80
75
73
74
71
74
74
76
74
72
69
70
65
63
60
58
58
57
56
51
52
51
45
37
34
34
35
44
57
67
154
146
146
148
133
138
142
141
138
136
133
123
122
125
115
114
113
106
84
72
63
57
57
60
64
67
64
57
87
83
83
87
90
89
89
91
93
93
92
90
89
89
92
91
92
96
100
100
103
104
102
102
99
99
103
113
112
114
115
116
115
113
104
99
95
91
93
95
96
89
100
102
101
96
95
96
95
86
89
84
76
82
115
158
103
115
110
90
76
85
98
103
94
59
34
60
112
146
154
108
121
164
147
105
93
87
99
102
113
107
88
86
97
56
27
17
30
47
56
74
68
78
89
80
56
39
34
57
52
48
43
41
42
44
48
46
57
63
59
66
87
109
84
73
74
86
89
79
58
27
69
54
64
74
81
181
160
46
51
49
86
74
93
86
63
61
68
76
81
67
65
55
61
60
60
62
62
60
58
53
51
49
45
44
47
52
84
102
96
80
56
53
58
56
60
68
65
69
73
70
72
79
79
85
92
95
100
101
97
95
93
101
100
98
97
88
83
79
72
69
65
62
56
54
52
61
62
59
57
58
64
75
79
82
79
76
69
40
39
48
50
50
52
55
60
61
65
64
63
60
59
57
57
57
60
63
64
64
65
68
66
67
63
66
77
80
81
83
85
79
71
66
65
60
68
71
74
73
71
66
64
63
61
55
54
53
53
50
53
52
49
47
44
43
44
35
36
36
35
159
153
153
151
135
138
140
145
141
138
134
123
122
125
106
105
105
99
79
69
61
52
52
54
58
61
56
48
82
78
77
83
89
91
91
92
94
94
93
92
92
93
98
96
98
99
100
97
98
102
100
98
99
100
107
117
114
115
120
121
119
114
107
99
93
88
91
90
87
84
102
104
102
98
94
97
98
87
87
94
96
79
74
109
134
140
146
136
113
85
65
82
66
47
73
128
153
144
124
67
81
121
98
71
80
76
86
88
90
90
86
76
69
53
38
24
21
25
36
56
47
50
72
77
62
43
30
59
54
51
49
47
47
47
53
46
57
61
56
68
95
70
63
60
69
104
132
138
94
58
89
52
75
59
27
125
192
57
49
41
69
77
93
89
68
64
68
77
82
68
66
57
60
60
60
61
61
58
55
51
49
44
41
40
46
51
74
92
99
97
56
47
52
58
62
73
72
70
70
70
73
80
80
88
95
98
101
101
98
96
96
100
99
97
96
87
82
77
70
68
64
62
58
57
55
63
66
62
60
60
64
77
79
82
80
76
69
38
38
50
51
52
52
52
58
61
65
65
64
64
61
61
59
55
58
60
62
63
64
68
68
66
63
66
76
78
80
85
83
78
69
65
62
60
67
69
71
71
66
63
60
64
61
57
56
54
54
53
48
47
43
40
39
40
43
44
42
39
37
200
189
182
170
146
147
144
144
140
137
133
122
123
126
90
93
93
90
74
68
61
53
52
54
56
59
52
42
79
73
72
77
84
87
88
95
96
98
98
96
95
96
105
102
101
103
100
93
91
95
93
93
96
100
106
118
117
121
122
123
122
118
115
103
98
93
92
84
73
72
89
94
97
95
92
91
92
88
99
104
96
97
105
102
95
148
176
157
142
140
108
30
81
158
192
166
139
104
42
64
79
68
50
57
70
69
68
64
65
68
71
69
65
52
61
55
37
16
2
0
40
71
56
31
35
51
54
62
65
65
65
65
63
60
51
58
52
56
67
66
64
60
47
57
51
34
32
37
31
42
120
81
36
53
44
84
69
147
70
67
51
64
73
84
88
86
80
72
68
71
68
58
62
63
61
64
60
58
58
52
48
45
40
53
55
56
65
74
90
108
110
67
55
66
65
71
69
65
64
64
69
74
76
87
95
96
97
95
94
96
98
98
97
95
94
85
79
75
68
66
64
63
63
62
61
64
66
62
59
60
63
76
79
81
79
75
70
40
41
43
45
47
48
49
58
63
65
67
67
67
67
64
64
50
53
56
60
61
63
64
68
66
64
65
74
76
76
87
84
75
66
60
60
60
60
61
63
62
60
58
58
63
61
57
53
53
51
48
49
48
47
47
47
45
44
51
50
48
47
200
198
195
186
155
148
147
143
138
133
129
120
120
121
85
89
89
87
81
75
67
65
62
60
62
64
54
48
71
69
71
76
82
87
91
92
95
97
99
99
96
95
105
105
104
102
97
92
93
88
87
88
93
99
107
118
128
131
128
124
119
116
108
98
94
89
85
80
76
68
74
74
76
79
81
80
85
94
95
99
101
101
103
103
119
102
75
89
125
158
165
117
130
146
140
119
99
68
43
59
80
73
45
47
62
58
59
61
59
61
69
69
65
52
50
49
40
33
31
24
0
0
21
41
49
44
31
45
69
75
80
87
89
82
72
61
60
62
61
67
70
68
65
61
57
55
53
50
52
50
97
120
79
54
63
73
64
91
187
137
72
59
48
69
108
106
86
56
55
73
72
69
65
66
69
68
69
63
61
56
57
59
62
77
77
78
79
80
86
97
116
109
89
59
66
71
66
73
70
67
66
73
81
85
90
92
95
95
96
95
92
94
92
90
88
81
76
73
66
65
64
63
61
61
62
59
60
61
62
60
66
75
78
82
84
81
73
44
47
51
51
51
50
51
59
62
66
69
70
68
68
68
61
51
53
54
56
59
63
65
67
66
65
69
74
77
75
83
80
76
69
62
58
58
56
60
62
65
65
67
65
63
56
53
52
49
47
45
46
43
41
42
44
43
41
45
46
45
42
199
196
191
185
162
152
148
141
136
130
126
119
118
120
82
87
90
90
84
78
70
70
67
66
66
68
60
54
71
68
69
76
82
86
90
95
98
100
102
103
99
96
103
106
106
104
97
89
91
85
88
93
99
103
108
117
129
131
127
118
112
109
101
96
95
90
86
82
81
73
72
69
69
71
74
77
84
95
97
99
101
103
105
107
104
105
80
64
76
119
162
126
122
118
104
90
82
54
39
57
81
78
53
47
55
49
55
59
56
59
64
67
66
49
48
47
42
45
44
32
9
0
7
30
48
46
26
46
51
67
84
91
94
94
79
62
61
60
62
64
70
70
69
69
65
65
60
58
55
63
69
118
107
56
62
62
80
76
96
180
121
50
67
71
80
95
96
51
40
71
73
69
68
70
73
72
73
69
65
66
69
71
72
94
93
91
87
88
88
93
108
126
115
57
65
72
66
71
67
63
61
70
78
84
87
94
98
95
94
92
92
93
91
89
87
80
76
73
66
65
64
63
60
61
61
60
59
61
62
60
65
74
80
85
86
83
77
48
48
52
54
52
54
54
60
65
69
73
74
73
72
69
62
52
54
55
58
62
66
72
71
69
69
71
74
76
76
81
79
75
67
61
57
57
54
56
61
65
68
70
68
63
58
53
49
47
45
42
39
40
39
41
45
44
43
40
41
41
38
188
183
181
180
160
147
138
138
132
123
118
110
111
115
70
76
83
86
89
88
84
80
80
78
78
77
70
66
72
70
72
79
86
91
95
100
101
103
102
104
102
101
108
103
99
104
105
95
92
95
102
111
116
115
115
118
123
121
114
102
94
91
87
80
82
85
89
87
85
70
71
70
73
77
77
79
81
91
96
103
109
108
109
107
78
77
84
109
102
88
119
133
104
76
57
59
59
38
37
53
72
75
61
56
58
60
51
54
55
57
60
67
71
27
44
54
54
53
42
25
39
57
50
30
15
0
0
78
24
24
46
68
83
90
83
61
58
60
63
65
71
62
69
73
73
74
71
69
68
56
50
84
129
90
49
58
66
88
99
54
115
191
93
64
85
61
63
57
64
68
70
71
71
72
76
78
81
75
75
84
90
93
93
107
107
105
99
100
97
98
102
120
128
83
64
66
76
75
74
68
66
74
79
84
84
91
96
94
85
86
87
91
88
85
83
78
75
73
68
67
65
64
61
61
61
64
64
65
64
61
66
75
82
87
88
89
85
59
57
55
56
55
54
55
66
70
80
83
87
85
84
80
68
59
60
61
61
66
70
77
77
76
76
77
77
79
81
79
78
73
68
60
54
53
53
57
62
66
68
67
65
65
57
50
47
44
40
41
31
33
35
35
37
38
40
31
34
35
30
194
193
194
192
166
148
141
137
127
115
103
96
101
108
66
71
77
82
89
91
90
87
86
86
86
87
81
77
67
66
69
77
85
94
98
100
99
99
101
102
101
103
106
104
106
110
109
112
116
124
125
130
133
131
126
116
113
109
98
83
73
70
69
74
75
78
82
83
84
75
66
68
73
79
82
82
85
90
91
94
96
95
97
97
100
115
116
109
90
95
145
132
106
83
73
71
49
25
34
50
63
66
63
57
56
63
43
45
50
56
61
64
68
26
24
25
21
22
35
46
41
37
34
25
23
26
28
0
52
47
37
47
64
74
81
57
55
58
63
67
71
49
57
63
66
71
70
69
68
60
45
44
85
111
67
78
51
48
61
83
78
67
181
157
46
63
68
82
67
69
70
70
70
71
74
75
72
71
76
83
89
96
99
108
114
113
98
101
102
106
106
106
112
120
94
70
65
87
87
90
91
89
88
89
89
92
94
90
88
84
80
89
86
82
80
76
74
73
72
70
69
67
63
63
63
64
64
65
64
59
64
72
81
86
89
93
95
68
65
62
61
59
60
62
73
78
89
95
99
100
98
95
81
83
81
77
73
73
74
78
80
79
81
79
78
80
87
80
79
75
68
59
52
49
46
50
56
61
65
63
62
62
55
50
49
44
40
36
35
35
34
32
32
37
44
46
52
57
55
201
202
203
201
169
153
146
137
126
112
101
92
98
105
68
73
78
81
88
90
90
89
89
88
88
90
83
80
65
62
66
76
85
93
97
99
99
100
100
101
101
101
101
107
111
112
108
116
128
132
133
135
136
136
130
115
111
105
92
78
66
61
61
65
65
63
65
68
70
69
68
70
74
80
83
87
92
91
88
87
88
88
90
93
116
112
103
108
99
101
143
121
100
81
79
75
47
23
31
48
60
66
64
55
53
59
41
41
46
55
60
63
66
32
16
11
4
10
35
58
38
32
29
19
21
35
52
0
34
74
71
46
48
75
79
56
54
59
62
68
70
46
54
59
64
68
70
69
64
68
38
33
64
110
76
90
62
76
66
77
84
78
61
174
55
55
69
113
104
68
70
71
68
71
73
72
67
70
74
79
84
92
99
103
112
112
92
95
98
100
108
106
111
128
107
75
56
82
86
92
98
101
100
97
93
95
93
92
91
86
81
88
85
81
79
75
74
73
73
71
69
67
63
63
64
62
62
62
62
58
61
70
81
85
89
94
97
71
70
63
62
63
63
64
77
82
93
98
103
104
104
100
86
92
87
82
78
76
77
79
79
79
81
81
80
82
88
81
80
75
68
59
52
45
41
45
53
59
62
63
62
61
55
50
48
45
40
36
30
30
30
32
35
44
55
63
70
74
71
200
194
186
176
159
163
169
148
124
107
99
87
90
94
65
71
75
74
76
77
81
88
94
98
101
103
95
92
100
93
87
87
88
86
88
91
95
101
106
109
109
108
114
113
116
121
124
126
131
134
135
138
134
128
129
114
107
96
88
82
75
74
67
66
67
67
65
63
63
62
65
67
69
73
75
78
82
82
81
81
83
88
96
101
120
114
114
102
64
51
56
105
143
103
61
40
20
21
49
56
57
53
55
59
68
78
40
29
34
32
38
58
68
45
33
28
31
21
15
29
30
28
36
41
30
20
23
13
30
31
25
12
17
48
73
59
58
69
71
59
44
64
64
61
61
60
60
58
55
62
61
55
63
118
144
56
49
70
61
57
68
72
66
28
145
121
95
53
74
95
73
43
56
72
78
85
79
73
70
73
77
86
95
88
95
102
102
102
98
97
97
99
98
111
119
114
101
64
75
85
98
114
111
118
102
97
89
86
84
86
86
79
78
75
75
77
78
81
82
80
80
79
71
70
68
64
65
66
68
66
65
66
76
83
88
85
83
66
53
55
58
55
58
66
72
82
91
94
97
98
94
90
75
76
72
69
70
69
68
74
76
78
78
77
74
73
75
71
69
67
64
58
52
50
51
52
53
54
55
55
54
52
52
51
49
47
45
41
35
40
40
37
45
53
65
76
84
82
74
185
184
186
183
164
159
157
165
132
109
104
94
93
94
65
72
76
75
76
78
81
89
95
98
99
101
94
92
103
97
92
93
94
92
93
96
99
104
106
108
106
104
111
111
115
121
126
131
136
139
141
144
139
129
125
102
93
82
75
73
70
73
67
65
67
66
65
64
64
63
67
69
71
75
77
80
85
88
87
85
84
84
88
92
104
109
102
89
100
88
36
107
141
100
53
20
7
21
49
56
57
53
55
59
68
78
40
26
27
24
30
52
63
43
31
26
30
19
14
28
37
36
43
48
37
22
19
3
24
20
30
48
51
54
72
58
58
69
72
60
47
64
64
61
61
60
60
58
55
64
60
69
55
80
142
102
73
66
57
55
68
71
95
141
160
196
137
116
42
40
82
74
58
63
72
72
73
67
67
68
68
77
85
78
83
88
85
88
87
87
94
97
95
103
117
126
128
75
79
90
105
121
121
123
112
105
96
89
82
81
80
74
73
71
72
77
79
82
83
81
81
80
74
72
71
63
65
66
69
67
64
65
74
80
84
80
80
71
62
57
59
56
58
65
73
84
98
102
106
108
105
102
88
88
83
78
75
71
68
70
72
73
74
72
69
68
70
67
66
65
64
57
51
48
49
50
51
52
54
54
53
53
53
52
51
49
47
44
43
52
58
64
72
81
89
89
95
88
77
