255
229
255
255
138
105
106
100
148
147
146
94
92
142
145
145
145
145
92
144
143
141
142
143
142
142
141
88
86
85
137
86
88
148
150
155
109
114
119
122
130
133
135
137
139
142
145
148
148
202
202
204
205
206
206
205
155
155
154
153
203
148
145
196
192
136
135
135
186
128
129
127
125
121
116
112
161
156
153
97
93
91
92
94
90
90
91
92
95
148
149
101
102
103
105
106
157
104
101
152
150
97
149
149
97
98
97
150
151
152
152
153
153
155
156
107
161
163
166
116
174
175
124
177
180
181
182
132
131
130
181
181
128
128
130
129
127
124
123
124
125
120
171
118
116
166
111
109
158
153
145
142
137
81
130
132
131
74
122
68
65
64
112
111
55
53
51
49
48
50
101
47
45
44
43
42
93
92
91
35
33
32
31
26
26
27
29
33
92
100
114
122
132
136
87
92
97
82
87
142
88
131
79
80
78
80
79
79
82
130
125
125
123
122
68
64
60
58
60
116
69
73
130
130
80
123
124
129
133
139
150
100
157
114
172
170
165
113
161
109
153
145
136
133
78
77
121
121
122
72
124
125
73
64
117
121
74
131
137
147
95
91
90
150
157
103
93
93
147
142
77
66
58
48
45
40
89
92
97
97
100
104
105
105
104
103
48
48
44
46
43
41
40
45
54
59
55
47
40
225
255
255
241
122
97
98
148
144
143
90
91
90
89
93
93
146
145
147
147
146
148
148
147
147
146
143
142
140
88
88
89
92
100
102
159
163
116
120
124
130
132
186
135
138
193
143
145
146
148
201
202
204
204
205
204
203
203
202
149
147
144
192
188
185
181
128
128
127
119
169
116
114
163
108
106
104
152
97
94
90
89
89
91
89
142
91
144
145
95
96
99
152
153
101
102
101
100
99
98
97
96
95
96
97
149
98
151
152
152
153
154
154
154
155
106
159
161
164
112
165
167
168
171
173
177
178
175
124
176
124
125
125
125
122
123
122
121
121
123
177
121
120
119
117
165
163
109
152
149
141
137
134
77
74
75
74
71
68
66
65
64
59
58
54
52
50
100
47
47
47
44
42
41
39
39
89
36
35
32
83
82
29
24
26
26
27
30
36
93
97
104
112
118
121
73
77
68
68
121
120
67
70
70
125
76
79
79
135
133
129
128
74
124
124
68
65
63
62
63
118
120
73
74
127
119
121
124
127
130
137
87
88
98
104
105
103
152
149
98
94
87
131
126
71
71
70
122
122
71
73
124
125
125
74
129
133
138
145
102
104
100
94
145
145
147
105
92
95
94
89
83
126
49
52
45
42
98
48
47
100
52
104
104
51
103
101
100
97
98
44
42
40
43
50
56
55
50
46
255
255
255
231
159
94
147
141
138
136
135
86
87
139
142
143
92
94
98
98
99
155
153
153
153
152
148
94
90
142
142
92
95
155
160
114
169
122
178
180
133
134
135
188
190
141
143
196
196
146
146
147
148
200
147
145
199
198
198
145
143
140
188
183
181
178
125
125
174
112
107
106
105
104
102
100
151
145
143
141
87
86
86
87
140
140
142
91
92
146
147
148
148
149
96
96
95
96
95
95
94
93
93
94
95
96
98
98
151
100
153
153
154
153
153
155
155
104
105
107
106
108
161
165
167
170
172
174
173
120
171
170
169
117
119
121
121
121
174
177
180
174
121
118
167
164
162
158
153
150
141
86
134
130
127
122
69
66
117
115
62
113
57
108
52
49
47
45
96
95
94
90
88
86
85
32
30
30
29
27
78
77
77
76
24
24
24
26
29
33
34
39
44
49
52
106
55
98
97
44
96
101
54
56
111
116
69
71
76
79
78
129
128
75
72
71
70
67
64
64
64
115
65
66
69
67
120
120
122
124
126
126
74
76
82
87
140
140
88
85
137
132
75
69
115
116
68
68
122
122
70
122
122
134
82
86
89
94
151
159
107
105
103
101
94
92
102
86
140
140
88
87
85
68
53
99
97
46
101
47
101
48
48
100
48
101
99
46
42
45
44
41
38
39
43
58
60
59
55
255
214
202
225
151
89
141
138
134
132
132
84
85
86
140
89
143
146
98
100
101
102
102
103
102
101
99
150
92
92
146
147
150
161
163
171
174
179
182
183
137
191
188
138
192
194
144
145
145
146
198
146
146
144
195
192
195
195
194
193
191
188
132
129
179
176
124
123
120
109
104
155
102
152
151
97
96
90
141
87
86
137
137
137
139
140
141
143
92
145
146
148
147
146
147
146
146
94
146
145
144
144
144
93
94
147
149
98
98
99
100
100
153
152
102
102
154
154
102
104
104
104
106
160
164
166
115
169
168
167
166
165
165
112
116
170
171
118
172
175
177
174
171
169
114
111
106
157
153
150
141
86
134
128
125
122
122
118
64
114
112
59
56
107
103
101
98
45
44
94
93
90
87
85
83
82
81
28
28
26
25
24
24
75
78
78
76
24
78
80
27
29
32
38
39
93
40
87
85
32
33
93
97
99
46
107
62
65
123
127
75
128
127
124
124
124
69
69
118
118
117
65
64
116
116
65
66
118
67
119
122
122
120
119
72
78
81
84
85
131
132
79
74
120
63
65
67
68
120
121
122
120
119
135
137
139
89
94
151
159
158
105
104
104
98
92
96
74
130
133
82
84
85
129
111
53
99
99
99
47
50
44
96
97
45
45
97
95
39
41
43
40
37
36
39
57
61
113
110
225
217
255
228
149
144
141
135
130
128
128
133
83
84
85
138
140
92
98
98
100
102
102
103
103
104
100
152
153
101
101
103
109
117
120
178
181
185
137
191
194
195
192
193
143
145
147
147
147
146
145
144
194
140
136
184
186
186
185
132
130
179
175
124
122
120
171
119
115
155
150
149
148
146
144
90
89
88
87
86
85
137
136
136
139
87
88
89
143
144
94
148
147
145
144
143
145
145
144
143
143
90
143
92
94
146
147
148
149
98
150
99
151
153
101
100
151
152
99
151
99
98
99
100
101
102
155
154
156
158
160
162
111
112
113
167
167
114
167
170
172
172
170
116
111
107
104
154
148
145
135
132
128
124
69
123
121
116
113
110
108
107
105
52
48
98
95
94
93
41
92
36
33
83
29
80
78
26
26
24
24
23
75
77
27
80
76
74
74
23
21
22
22
24
24
74
20
15
67
15
68
78
29
82
33
41
51
55
113
119
121
126
125
122
123
122
120
119
117
118
120
67
62
59
59
112
60
60
60
113
112
59
58
105
105
112
66
74
80
74
130
79
76
70
66
67
68
121
122
123
122
121
120
133
81
135
85
88
91
149
154
151
95
147
142
86
85
45
109
121
128
131
134
133
133
69
58
101
95
39
41
40
92
41
41
93
92
92
34
89
38
38
35
87
89
106
112
117
116
226
217
255
234
92
82
79
78
76
128
127
130
132
134
138
88
90
143
93
97
99
101
102
155
103
103
155
103
106
107
108
163
167
125
127
133
137
139
142
144
148
148
143
196
197
145
145
144
143
142
139
136
185
131
181
175
177
177
178
127
128
179
172
170
168
165
163
110
106
99
95
92
89
87
138
86
86
138
137
136
135
135
84
137
137
137
138
87
142
91
144
96
95
94
94
145
143
143
143
142
142
89
90
91
92
93
93
146
146
94
147
147
147
98
98
149
148
96
96
95
97
149
149
99
100
100
100
103
154
102
155
157
159
108
163
164
165
165
114
167
167
166
164
111
108
157
153
152
146
142
83
81
129
73
70
120
118
62
61
59
56
54
104
102
46
97
44
94
91
92
91
35
33
83
82
81
79
27
26
24
22
22
21
24
24
76
22
74
73
19
16
16
15
66
64
63
63
11
63
64
12
69
72
73
27
82
35
92
50
107
110
117
65
67
68
68
118
117
116
116
117
115
61
61
60
113
111
56
55
55
105
50
52
52
51
52
58
126
124
78
78
131
132
80
76
74
79
132
81
82
80
131
130
130
76
128
76
77
78
134
133
133
134
133
132
128
124
56
57
61
67
128
135
138
132
131
124
115
52
43
92
96
96
95
41
39
88
87
83
34
87
89
90
93
94
100
110
118
119
255
221
213
233
89
81
80
77
75
128
76
131
133
134
138
140
87
140
143
94
96
101
102
101
155
104
102
102
159
108
110
166
170
179
181
136
138
192
195
145
147
147
144
196
196
196
144
193
140
139
137
133
131
129
126
173
175
175
175
125
126
125
119
172
168
163
160
105
102
97
94
142
85
135
134
83
84
85
84
84
83
135
136
137
138
86
86
139
139
142
142
94
95
94
93
92
91
143
142
142
141
141
141
90
91
92
93
93
93
94
146
147
147
148
96
95
94
93
94
93
96
148
149
97
150
99
99
102
154
102
103
156
157
106
108
161
162
163
111
164
164
111
162
161
106
103
100
150
143
89
82
131
128
125
70
67
65
60
59
57
54
104
103
101
97
96
95
93
91
92
92
88
86
84
83
82
80
79
27
76
75
74
22
24
24
76
74
22
20
71
67
67
65
64
11
11
62
61
61
61
9
65
69
18
24
79
30
34
95
48
104
109
59
62
116
117
116
116
115
116
116
116
64
64
63
114
111
108
105
105
103
49
49
52
52
103
107
72
76
131
133
134
136
136
136
83
86
140
141
140
88
137
134
74
75
73
72
71
73
125
125
125
125
124
124
121
66
115
62
65
70
129
136
142
140
136
131
70
62
53
97
99
99
98
96
42
38
36
31
85
87
90
92
95
45
47
107
114
116
255
255
255
174
84
133
133
77
129
79
81
137
86
87
86
140
90
90
141
142
144
149
150
151
153
152
152
152
157
108
115
120
126
186
187
187
189
192
142
144
147
199
198
198
198
197
143
191
190
140
138
135
184
130
128
174
173
172
171
172
173
121
169
120
115
159
153
149
146
142
145
141
135
132
132
133
134
134
82
81
81
133
134
84
84
84
136
137
85
137
138
91
91
143
91
90
89
141
141
89
89
89
89
141
140
88
142
142
143
143
144
144
144
97
148
148
146
145
144
144
92
93
94
95
96
148
149
151
152
153
102
102
103
103
102
155
156
105
106
158
158
106
104
155
153
98
94
93
89
86
79
130
75
123
121
67
64
59
57
55
52
49
49
99
96
44
95
41
39
93
40
37
35
33
31
30
28
79
78
76
23
22
73
25
25
25
23
21
20
71
16
16
66
12
12
63
11
11
11
64
13
67
69
18
20
73
76
27
34
37
93
44
47
103
107
59
58
110
108
110
112
114
62
62
61
66
63
109
106
104
103
50
49
51
53
53
106
122
132
137
139
143
95
98
154
155
104
106
105
156
154
151
146
77
75
71
69
66
63
114
113
111
60
112
113
113
115
140
88
91
92
95
150
155
156
150
91
87
81
72
112
104
102
99
45
45
93
89
86
88
90
93
96
49
103
96
99
104
56
224
216
252
212
85
137
134
133
133
85
88
92
94
94
91
145
147
146
143
142
141
144
145
145
147
95
95
95
102
159
166
122
128
186
186
190
141
144
148
151
156
208
149
150
202
201
148
197
196
194
140
188
186
132
129
124
125
123
173
172
172
119
167
115
111
157
99
95
92
139
139
136
132
78
78
130
129
78
78
129
77
130
132
81
78
131
131
132
82
136
84
87
139
139
86
139
139
138
139
88
88
89
88
139
138
85
138
139
139
139
140
140
140
94
146
145
144
142
142
142
143
89
89
89
89
89
141
150
153
102
103
103
155
102
101
154
155
104
104
105
157
100
99
151
149
145
91
90
86
83
78
129
125
70
68
120
65
111
57
55
51
49
47
97
43
43
43
93
39
43
42
39
37
35
33
32
29
28
28
77
76
23
23
25
25
76
24
21
73
21
17
17
66
66
65
64
12
10
11
65
15
18
71
73
25
78
77
26
31
87
39
38
93
96
49
52
52
53
55
108
112
114
113
60
110
65
62
111
109
56
103
50
49
99
51
108
111
121
129
141
143
97
103
108
115
171
116
117
118
114
163
159
153
133
78
126
122
65
61
108
105
52
51
105
108
112
117
166
171
124
127
126
176
171
171
163
106
99
92
84
78
65
59
53
49
47
100
96
91
92
96
46
49
51
105
94
92
94
100
255
213
196
156
86
138
134
82
134
138
142
147
148
148
144
94
96
95
91
143
141
142
143
91
93
146
145
93
101
158
166
122
180
134
134
135
138
142
146
150
155
156
150
203
151
151
150
199
198
194
139
188
185
131
129
123
179
177
174
172
172
119
167
165
110
104
151
148
144
138
135
81
79
129
129
128
75
77
76
76
76
77
79
81
128
129
130
131
133
83
84
138
138
85
85
138
138
86
87
139
88
141
140
87
85
84
85
85
86
86
87
87
87
92
92
143
142
89
140
140
89
88
140
140
140
88
88
98
101
103
156
104
103
154
153
102
103
104
105
157
158
98
150
150
148
92
90
89
138
135
130
75
73
122
120
121
66
60
110
55
52
101
99
97
43
95
43
41
91
95
95
91
89
87
86
33
29
29
28
77
76
75
75
77
25
25
76
21
21
73
69
69
17
66
65
13
65
61
62
64
66
18
21
21
26
79
28
28
31
37
40
89
92
43
100
102
103
50
108
110
62
62
62
113
111
65
63
61
59
108
103
99
49
47
102
109
60
120
127
89
93
99
105
110
119
174
120
120
171
169
165
160
154
134
132
74
71
66
61
55
51
51
50
52
56
113
119
122
128
135
137
136
184
176
175
169
161
154
94
89
138
71
64
107
102
51
50
100
93
44
45
48
102
54
55
43
39
93
47
255
243
218
130
87
143
143
93
93
147
151
157
160
109
108
108
160
160
102
100
99
146
148
96
94
93
96
151
154
106
112
169
173
124
123
131
134
139
144
148
148
200
197
144
144
147
149
201
199
142
140
189
185
184
131
130
134
183
176
172
170
167
162
157
103
99
146
142
137
78
128
77
77
129
128
74
125
72
72
73
73
74
75
76
128
77
77
130
131
79
79
133
81
82
135
83
135
83
86
86
138
137
137
136
84
84
83
84
84
85
85
137
137
85
137
137
137
139
139
88
89
88
140
141
144
145
94
93
97
99
153
154
154
154
155
104
104
103
102
153
152
151
149
147
143
89
87
138
134
132
73
72
122
119
117
118
64
62
114
112
55
104
102
49
45
41
91
36
35
94
94
92
90
88
85
32
29
29
28
25
24
76
75
71
19
70
70
18
18
69
69
68
67
14
13
12
62
66
69
22
25
76
75
19
20
71
22
79
36
44
53
91
94
101
107
114
62
112
113
58
59
111
117
120
120
63
62
61
61
112
109
53
105
52
53
53
56
114
65
81
85
91
96
152
110
167
170
110
158
155
93
147
144
76
73
68
118
114
110
47
99
97
50
59
68
130
157
137
146
214
173
177
187
228
224
151
138
133
120
163
158
102
78
146
122
66
81
99
103
102
51
52
105
106
55
45
44
43
43
237
215
189
113
93
149
146
95
97
101
157
114
118
172
171
118
118
166
161
159
104
100
99
97
147
145
144
92
94
153
162
166
114
117
173
178
181
134
191
194
142
193
189
139
193
144
198
192
189
190
136
184
182
128
180
131
133
129
123
170
167
163
102
95
145
89
86
81
130
71
73
125
74
126
73
72
71
69
121
121
70
70
123
123
123
71
123
124
125
73
74
127
128
78
78
80
132
133
136
136
136
84
84
84
136
84
134
83
83
135
136
136
136
137
137
136
136
138
86
85
85
137
86
139
91
145
94
94
148
98
151
99
99
151
154
104
157
157
104
156
155
159
156
101
150
95
94
143
137
81
75
126
123
120
65
63
61
112
111
107
53
102
102
102
97
43
95
92
39
97
43
94
40
91
88
35
30
30
29
27
26
78
25
20
20
71
69
16
15
66
13
68
70
14
65
68
18
31
90
49
59
114
106
44
94
85
82
86
93
46
101
90
92
99
106
63
115
115
65
65
117
121
128
132
81
121
121
68
69
121
114
58
113
58
57
58
61
67
69
125
128
82
140
145
105
111
158
165
161
156
154
145
138
68
118
63
62
114
112
54
106
107
113
123
82
93
123
157
216
233
246
198
207
255
251
180
168
159
150
147
196
179
107
112
95
122
112
98
104
50
49
100
48
102
103
98
45
95
41
216
195
123
109
152
154
147
147
149
101
157
115
119
121
120
171
171
169
112
109
159
105
103
101
151
149
143
142
92
98
158
162
110
115
171
175
178
183
188
191
190
189
134
188
192
143
194
187
186
186
132
131
127
178
177
179
180
177
118
114
162
158
96
93
144
139
83
131
126
119
71
124
125
73
73
124
123
68
120
120
120
69
69
121
120
120
120
122
122
122
123
125
125
75
77
78
79
132
84
84
136
84
84
84
136
84
82
135
135
135
84
84
136
137
137
136
136
137
85
85
136
84
84
138
90
92
93
145
148
149
150
151
98
98
102
156
157
158
106
157
157
162
159
103
100
97
146
145
86
83
127
125
123
66
64
113
112
58
109
107
50
101
102
102
47
45
96
94
94
46
45
43
41
92
92
91
86
86
33
31
30
81
81
21
20
19
16
15
66
66
13
16
18
67
66
16
19
33
93
108
71
81
73
63
103
94
88
90
95
100
104
45
99
105
59
67
67
118
118
117
119
123
80
84
137
125
125
123
70
70
64
61
65
60
57
58
113
67
67
120
124
77
83
140
153
159
110
109
154
147
145
143
88
64
63
62
61
114
114
109
110
113
120
132
142
103
133
169
174
189
255
255
255
222
255
248
187
177
164
161
164
139
106
110
96
71
119
124
104
48
46
97
98
98
100
97
44
42
40
188
169
157
156
103
105
103
97
150
153
106
165
168
170
171
119
171
170
166
164
110
109
159
157
102
102
95
143
144
144
145
96
100
162
113
171
122
178
182
133
132
131
187
189
191
138
134
183
184
179
179
126
124
122
171
114
113
162
157
102
151
146
136
133
132
78
76
126
72
119
122
71
72
73
73
72
123
119
119
119
119
67
119
119
64
64
65
118
118
119
119
69
70
73
75
77
79
81
134
134
134
135
135
136
136
84
83
136
136
137
137
137
137
87
87
138
85
138
137
137
136
83
83
84
87
88
141
91
95
149
99
152
153
101
103
106
160
110
110
162
162
162
159
103
99
149
144
90
83
132
124
68
118
114
111
111
110
106
54
104
48
46
49
49
99
98
98
45
97
47
48
44
96
97
45
97
98
45
94
37
86
32
31
24
23
74
69
15
14
13
17
16
66
68
69
15
14
28
37
55
129
162
111
105
89
78
120
113
106
115
125
72
74
77
81
81
130
74
69
120
121
124
134
137
139
80
77
124
122
120
118
63
61
109
105
53
110
116
114
66
69
73
129
132
93
97
96
152
187
149
119
108
86
68
67
67
118
121
121
119
123
73
134
144
156
169
198
245
189
248
255
255
255
255
255
255
255
245
237
188
192
154
139
172
140
115
181
129
102
96
41
90
37
39
41
41
40
38
37
222
200
174
158
156
103
101
98
96
149
102
109
165
170
173
120
119
116
112
163
111
106
156
103
101
99
144
143
87
139
140
90
146
105
109
116
119
123
126
127
129
130
186
134
135
186
185
182
181
174
122
175
122
119
164
98
106
154
147
142
138
83
127
121
69
69
69
69
69
120
121
70
71
124
125
73
72
122
122
68
119
117
115
114
115
63
63
64
65
117
117
69
70
72
74
76
78
131
132
132
133
134
135
135
136
136
135
136
137
86
87
139
88
88
86
136
83
85
86
138
138
84
83
83
85
137
138
92
92
94
96
151
153
155
108
110
163
164
164
163
111
158
152
98
96
146
141
85
82
78
66
62
111
57
55
59
111
54
49
98
97
45
47
47
46
45
44
45
96
96
96
46
47
50
51
53
53
53
104
100
43
39
33
23
22
72
72
19
16
14
14
64
65
68
73
79
82
31
40
113
139
176
184
187
188
124
112
158
152
154
158
163
159
158
103
90
85
81
77
72
120
68
131
135
134
137
75
80
73
105
120
98
100
75
40
131
156
74
119
133
69
135
132
99
94
124
99
86
92
103
64
131
128
65
80
64
131
131
135
127
125
93
74
156
161
122
137
188
227
244
255
203
221
255
255
255
249
246
251
216
174
191
215
222
162
162
118
97
88
38
44
27
27
34
27
41
40
38
37
229
208
181
163
153
151
151
150
147
148
101
105
161
165
118
118
169
168
112
110
109
155
155
102
151
97
91
90
85
137
86
88
92
103
158
112
168
119
122
176
126
128
133
133
185
132
183
180
179
121
121
172
170
115
161
147
152
149
89
137
133
130
123
67
119
67
119
68
69
68
69
70
123
124
125
73
124
122
121
68
66
116
115
114
113
114
114
116
64
117
117
70
70
125
126
76
129
79
81
81
81
82
83
84
84
137
136
85
86
87
139
88
88
140
86
85
84
86
87
87
87
85
135
134
136
136
85
91
143
93
95
97
100
153
155
106
108
161
161
161
161
154
97
95
94
142
86
82
134
130
68
66
64
63
113
63
62
58
55
52
50
50
45
45
45
44
44
95
43
44
44
47
48
51
54
55
55
106
105
101
45
92
88
78
24
22
19
69
67
14
14
65
66
75
30
89
40
36
97
117
140
178
188
141
147
138
183
180
176
178
181
176
171
166
162
95
86
78
69
119
118
66
76
130
128
132
128
120
71
76
55
74
113
91
99
95
130
88
82
87
156
131
97
107
148
160
144
98
83
139
152
142
42
79
78
126
84
94
139
130
138
130
143
158
152
129
136
165
236
224
204
209
217
255
255
255
255
239
224
255
219
135
223
203
190
158
122
77
48
32
86
29
28
33
27
90
90
88
35
198
234
205
175
148
147
146
143
141
141
146
98
101
105
107
161
111
165
163
106
105
152
99
150
148
146
138
84
81
81
83
137
89
98
152
100
155
159
110
113
171
121
129
181
181
130
180
176
175
122
119
116
163
158
151
140
135
132
74
71
121
119
113
59
112
113
63
65
68
68
71
123
124
73
73
73
124
120
119
66
65
63
62
113
110
59
112
114
64
65
118
71
71
125
126
76
77
78
82
82
83
83
136
137
86
138
139
87
88
88
141
89
89
138
138
86
87
89
89
142
88
86
136
134
135
82
82
88
140
89
91
93
95
149
155
106
108
110
111
111
163
152
98
98
148
93
91
91
137
134
126
70
67
65
115
114
60
107
53
52
49
46
45
95
94
41
43
95
95
42
43
102
104
55
56
57
58
109
108
105
100
95
90
84
27
22
17
69
69
67
13
67
71
86
97
54
60
114
124
83
99
183
195
148
143
136
127
175
178
183
186
186
124
113
159
143
81
71
63
66
71
75
86
86
137
146
139
145
83
59
91
131
101
93
113
158
128
183
155
144
121
145
149
161
160
133
106
171
141
63
111
96
120
93
55
85
87
175
144
131
184
70
176
178
151
194
160
180
159
143
192
177
185
192
255
238
173
192
168
229
221
117
158
175
194
82
139
77
95
27
73
86
79
29
31
86
86
85
32
200
237
207
172
94
92
90
136
133
82
86
140
143
147
96
98
101
104
104
103
155
149
149
96
92
142
136
135
134
135
137
140
91
97
151
147
97
153
157
108
119
174
185
185
184
184
182
179
177
174
172
168
110
103
96
133
71
69
116
62
62
62
58
107
108
57
112
63
118
119
70
71
72
72
72
71
70
119
67
66
117
64
63
115
114
62
63
117
118
119
120
72
124
126
75
75
76
77
81
82
82
135
84
85
137
137
138
138
86
138
86
86
138
138
139
87
87
88
88
139
140
138
84
82
135
135
83
85
137
138
139
89
143
92
97
153
105
108
162
111
112
161
158
103
100
101
155
160
108
163
173
123
124
123
121
99
145
132
126
120
112
106
105
101
95
41
92
95
95
40
43
103
107
57
59
59
58
57
57
53
49
43
39
85
81
76
70
67
13
63
63
65
19
91
105
116
122
149
162
171
123
137
139
136
128
115
96
80
136
145
148
152
93
86
133
122
122
120
129
83
93
152
167
120
174
174
166
150
93
92
76
155
123
126
95
118
139
223
184
180
207
154
183
180
218
132
193
104
137
146
87
121
84
145
123
80
80
104
143
135
175
111
89
110
142
111
152
153
156
133
217
223
167
188
171
249
212
183
143
138
172
159
148
184
188
160
130
109
100
46
87
86
79
85
86
83
30
29
28
199
236
203
115
90
88
84
85
134
81
84
83
85
140
142
91
93
148
150
151
100
149
149
148
144
142
136
134
133
82
84
139
143
96
97
146
97
101
157
161
172
177
187
135
187
186
185
181
180
173
171
167
161
156
94
128
119
116
112
59
59
59
57
107
56
57
111
114
117
66
70
70
71
123
71
70
68
67
67
66
66
117
116
116
65
65
66
119
120
120
69
124
124
126
75
127
76
77
81
81
81
134
83
136
136
137
137
137
84
136
136
84
136
87
87
87
87
87
86
85
139
137
83
134
136
136
85
137
137
137
138
88
90
91
146
154
108
113
118
121
123
123
172
168
166
167
174
179
136
140
208
212
159
157
205
127
120
100
94
137
124
116
109
105
97
42
94
94
94
39
43
105
108
111
112
60
57
57
56
53
49
42
39
83
80
24
18
15
63
61
10
65
72
45
112
125
132
169
183
192
139
142
192
184
117
103
134
116
113
67
68
76
124
121
117
109
114
119
131
142
157
167
182
133
187
182
175
110
107
105
78
96
110
170
128
118
127
198
186
178
221
208
227
153
218
188
209
124
111
131
178
106
89
59
71
129
89
101
99
70
131
139
118
139
77
91
103
148
135
120
148
214
214
177
161
177
164
219
182
188
143
150
140
105
159
155
110
145
75
50
45
86
83
92
86
31
30
29
28
191
170
123
87
88
136
137
137
137
138
139
134
79
78
74
125
125
75
81
86
140
142
91
145
145
143
142
143
87
135
80
81
87
91
89
95
100
107
113
168
179
183
189
191
193
140
140
187
181
177
174
169
108
97
138
125
64
61
56
53
104
52
54
54
106
109
109
109
58
113
121
122
123
72
71
71
69
72
70
70
69
70
72
74
67
120
121
70
71
71
70
121
121
122
122
123
123
71
90
90
87
83
78
129
79
134
141
143
91
142
90
89
140
138
137
84
83
135
135
84
87
141
141
143
142
91
90
136
136
136
138
88
90
91
144
159
117
177
187
198
205
161
158
202
200
204
213
167
177
183
188
237
231
223
216
151
142
174
167
105
91
133
119
65
57
54
51
102
103
48
48
101
101
101
103
52
52
51
47
102
100
94
89
81
28
25
73
71
70
71
72
76
85
70
141
158
118
161
216
221
222
160
151
193
184
118
97
131
117
112
106
61
53
43
34
79
37
98
70
88
114
134
197
201
152
154
155
154
151
144
175
166
109
158
161
121
133
207
214
226
225
174
172
168
213
210
149
140
132
175
168
160
145
157
107
109
112
111
104
82
76
66
115
115
116
117
126
130
134
90
98
158
164
172
173
120
114
107
152
145
89
113
54
47
102
57
115
65
63
114
111
103
92
85
84
28
29
30
31
243
172
130
94
88
88
142
147
147
96
97
145
142
141
76
127
74
125
75
78
132
135
84
137
137
137
141
91
85
137
135
81
80
84
87
98
104
111
117
173
183
136
142
196
197
144
197
192
186
179
174
165
156
93
81
64
111
57
54
52
102
52
55
56
109
111
110
110
111
115
119
120
68
69
122
122
69
67
70
76
79
79
77
73
120
120
70
71
71
70
70
121
69
69
121
122
122
71
80
81
79
75
71
70
71
76
138
141
141
89
88
86
137
140
88
137
137
137
85
87
86
139
139
138
86
88
139
135
135
83
137
87
89
144
146
163
121
134
147
161
222
181
181
175
225
226
178
181
236
239
238
234
224
217
209
201
139
116
158
147
136
73
65
65
66
120
71
125
127
132
80
82
137
138
88
89
87
86
81
78
126
121
116
55
54
50
88
84
80
80
78
24
76
99
63
80
146
171
122
177
178
170
119
120
177
177
121
109
141
134
127
129
120
104
39
18
18
76
43
64
92
169
187
190
192
206
207
207
205
201
186
178
171
165
113
120
129
199
156
225
227
228
227
222
163
212
203
197
137
184
176
118
107
160
160
162
110
108
105
139
77
67
114
61
60
111
116
117
122
128
83
91
147
153
101
100
147
141
82
75
70
48
97
94
40
44
49
56
61
113
113
109
100
41
38
35
36
37
38
246
228
140
155
141
145
148
99
98
100
100
96
94
144
132
130
76
73
125
126
127
131
81
84
136
84
88
90
85
86
86
82
130
134
87
151
105
165
172
176
185
189
193
195
196
195
195
138
184
175
118
108
150
141
132
63
58
108
106
51
103
105
108
58
58
60
60
112
113
64
119
119
68
68
69
69
122
121
123
127
78
80
129
126
121
122
123
123
71
71
70
69
69
69
69
122
70
71
78
76
126
124
120
68
71
76
84
87
140
139
138
137
84
89
87
138
137
85
137
135
84
84
85
136
136
136
136
133
133
134
83
138
89
142
145
162
174
135
151
167
178
233
236
180
176
175
177
177
234
236
232
225
216
207
148
134
126
105
95
138
126
117
61
60
65
121
126
130
81
82
83
86
142
91
93
146
150
149
95
98
97
95
144
141
87
134
70
65
114
113
55
50
46
106
114
125
83
96
101
103
154
149
156
111
123
183
188
130
162
153
95
85
75
112
97
22
20
22
32
53
84
112
192
143
197
147
200
200
199
143
129
122
169
112
111
169
177
145
154
170
224
226
225
222
215
213
208
203
197
191
186
129
119
114
113
112
111
109
106
142
135
125
67
65
118
118
124
115
65
123
129
82
88
94
93
92
138
133
126
68
64
50
101
99
44
97
100
56
64
64
65
114
107
99
42
41
42
95
96
206
193
170
187
152
107
159
159
158
159
160
104
154
152
91
89
137
133
129
129
76
78
79
79
79
131
136
87
136
137
85
133
78
86
93
152
159
169
177
129
138
193
200
202
202
147
145
139
184
169
109
99
91
85
131
115
114
112
107
105
105
107
110
61
62
64
62
62
62
117
117
117
66
66
120
70
124
128
128
127
74
73
126
126
120
120
121
69
69
120
119
65
65
65
66
66
67
119
122
71
70
119
117
118
71
77
137
144
147
96
147
146
92
94
143
142
86
84
133
80
81
131
80
78
130
129
130
128
76
76
130
132
85
138
90
108
119
134
153
172
237
234
239
183
177
226
170
171
171
171
162
155
146
138
134
120
113
95
86
77
72
118
111
110
113
65
121
126
76
76
76
131
133
136
137
138
86
88
88
90
92
145
147
96
95
95
92
90
141
141
91
89
90
146
143
144
146
88
143
145
93
93
101
162
175
139
153
207
196
137
131
101
89
74
58
81
18
14
22
38
64
141
178
132
137
133
187
185
183
126
116
112
108
157
160
168
179
150
159
178
182
187
189
188
184
182
229
226
221
165
214
208
147
136
133
130
125
173
113
93
132
123
119
67
120
121
77
63
115
67
122
74
77
80
78
130
76
72
68
65
63
66
66
117
62
58
112
117
69
123
70
70
67
114
109
109
58
59
112
255
209
194
161
110
118
166
171
172
122
121
170
168
166
151
149
145
89
82
134
82
75
126
125
124
123
75
130
135
134
81
80
82
145
150
105
113
124
132
137
144
148
146
150
148
144
192
182
123
119
163
98
140
134
74
57
117
114
59
56
55
108
111
62
64
65
65
65
65
120
119
67
119
120
122
125
128
126
75
76
75
75
73
71
68
121
121
122
69
68
118
116
116
116
117
65
66
66
119
119
68
66
118
68
75
134
155
163
169
172
173
121
120
110
107
153
148
142
137
81
79
129
76
127
125
74
73
71
70
72
73
129
131
135
93
160
172
185
153
173
238
243
195
189
183
230
173
171
171
171
160
155
149
195
138
124
118
96
137
78
71
118
111
109
107
106
107
108
109
52
53
106
56
57
58
110
110
59
60
117
68
72
127
78
79
79
132
133
81
132
83
81
132
86
85
85
88
136
84
137
138
88
89
91
96
109
118
173
174
117
113
157
147
83
75
51
41
36
41
48
59
72
145
151
102
109
162
163
111
112
111
109
118
170
176
188
199
167
175
193
199
206
211
213
213
212
210
255
255
199
246
242
181
174
222
217
209
198
133
100
139
127
119
117
64
63
122
115
63
64
65
65
119
119
67
66
66
64
63
63
62
68
66
116
62
61
112
112
65
67
119
124
127
77
76
120
121
122
71
221
255
254
171
110
175
177
176
126
128
130
177
173
171
158
153
147
89
81
79
77
126
125
72
69
69
71
124
128
129
77
78
133
147
152
106
111
171
179
133
142
145
144
146
146
141
188
179
121
166
156
143
83
81
128
61
63
61
58
57
58
110
108
112
61
63
64
65
116
115
63
65
120
123
124
123
70
70
124
126
74
71
121
122
70
120
117
116
117
65
65
111
111
112
113
114
115
116
69
68
67
68
121
71
133
142
166
126
133
135
189
189
133
120
115
109
156
148
141
134
128
72
71
122
123
70
69
66
66
67
69
125
129
133
87
152
168
188
160
180
244
250
247
189
184
179
229
226
225
228
227
223
215
205
198
179
117
95
139
131
73
118
111
108
103
102
101
100
98
40
41
41
38
89
37
37
88
88
89
39
43
100
104
108
58
61
67
121
121
122
70
71
71
123
125
74
76
74
76
80
81
133
132
82
76
77
82
139
144
145
149
150
147
91
141
69
55
47
52
56
61
67
76
131
135
149
150
152
153
102
106
109
112
118
182
194
207
180
188
255
255
217
221
224
222
255
220
255
255
211
206
201
247
186
182
175
217
206
139
106
137
124
114
59
60
116
120
62
62
62
115
115
115
113
115
63
61
60
110
58
59
70
68
117
112
108
107
57
109
62
69
126
126
128
78
125
124
122
122
220
255
246
168
119
178
177
129
131
184
184
179
124
173
160
104
96
90
135
132
76
84
133
130
125
122
115
115
70
71
72
73
77
92
150
159
112
171
178
183
190
141
136
190
189
132
127
118
112
103
96
86
131
74
71
58
110
108
106
54
55
58
57
109
111
112
113
114
63
64
114
116
119
121
123
123
123
120
68
122
122
68
119
117
122
120
116
62
114
61
60
60
60
61
113
113
113
113
119
68
68
70
72
131
142
102
133
148
155
160
165
217
164
141
134
125
170
160
98
143
130
74
123
124
125
72
71
68
68
68
121
124
75
129
134
100
114
133
154
222
233
236
190
184
175
220
214
212
213
215
213
209
201
141
135
172
109
84
130
125
118
113
113
107
96
95
94
94
94
43
94
38
34
86
87
37
35
34
84
28
28
81
83
85
35
90
95
95
44
44
43
94
92
88
89
93
44
47
48
102
103
48
46
45
43
92
88
36
43
102
57
128
132
88
144
134
127
123
60
61
60
60
115
119
124
138
139
143
145
95
101
105
115
125
140
209
225
201
207
255
255
255
255
255
229
229
255
229
255
255
218
213
255
205
200
242
230
165
147
161
139
126
65
61
62
65
68
120
118
119
117
116
115
112
111
58
59
110
107
106
107
57
108
106
50
98
96
44
47
52
112
119
124
126
129
128
124
119
115
255
254
231
154
119
175
180
131
131
182
182
126
176
122
163
107
103
152
93
90
86
81
133
132
132
130
76
127
77
78
78
78
81
147
152
158
162
117
122
177
181
183
127
129
181
176
171
161
155
92
88
81
76
73
69
59
59
109
107
107
56
110
110
107
107
109
109
110
111
60
113
114
116
119
120
70
70
121
68
68
121
67
119
118
61
59
58
58
59
61
61
61
61
61
61
112
112
112
116
115
117
117
70
130
92
106
141
209
167
174
231
234
180
159
150
139
182
170
109
152
136
79
128
76
131
130
78
69
67
68
69
122
73
76
133
95
105
118
132
195
201
165
159
147
187
182
129
130
128
181
177
173
165
106
101
84
129
112
110
57
108
106
102
96
88
87
89
89
37
91
90
85
30
30
85
87
40
39
40
89
38
40
42
46
47
102
106
55
107
107
110
108
103
39
90
40
42
43
44
96
44
95
93
92
28
77
77
80
31
34
38
102
114
126
130
76
72
119
57
108
106
52
107
112
118
123
127
131
83
84
87
90
157
170
134
152
223
251
206
255
255
255
255
255
255
229
229
227
255
255
255
255
196
184
229
219
207
143
179
148
135
74
70
70
74
79
135
133
133
130
128
123
69
114
57
57
60
112
110
108
106
106
106
104
48
44
93
41
41
46
104
112
68
125
128
78
125
117
111
219
254
231
209
171
171
179
179
179
180
128
125
175
122
113
163
106
156
153
98
94
140
139
85
83
81
76
75
81
81
80
79
80
143
148
157
161
114
170
173
176
177
172
122
124
119
166
103
98
90
86
82
77
73
68
62
62
111
57
108
56
59
58
56
57
108
107
108
109
57
113
114
116
117
120
120
68
121
119
66
119
67
119
116
59
57
56
57
112
114
115
62
62
62
114
114
62
114
62
61
114
114
67
75
90
105
143
211
169
176
235
235
235
166
155
143
185
173
163
153
139
82
132
81
82
133
133
71
70
71
72
73
128
78
83
142
99
108
117
178
183
148
134
174
165
110
109
109
155
156
150
146
141
133
75
118
112
50
50
101
100
98
93
90
84
31
33
33
32
86
86
83
82
30
31
85
88
89
38
91
92
42
45
101
103
53
58
60
112
112
112
112
109
102
101
52
106
48
48
48
47
96
43
42
30
29
81
34
35
86
36
44
108
65
120
121
116
109
53
104
103
101
103
107
111
110
63
70
76
79
85
141
152
164
127
144
162
191
251
255
255
255
255
255
255
226
221
217
255
255
197
191
185
213
207
146
136
123
163
137
125
118
117
68
128
134
139
84
83
131
127
123
66
108
54
56
60
114
113
110
108
55
54
53
49
45
41
40
93
96
100
55
115
70
126
79
125
118
112
214
255
243
225
177
163
171
173
172
173
174
172
172
172
116
166
114
113
113
161
159
158
158
105
104
102
96
94
97
95
144
141
87
94
97
155
159
164
167
168
170
171
162
113
112
107
156
146
87
141
87
84
133
77
72
66
118
115
114
112
59
60
59
60
59
109
107
105
105
107
115
115
116
116
65
117
117
117
114
60
60
114
114
111
63
113
59
111
112
113
113
62
62
63
116
117
66
119
61
112
111
59
113
71
87
101
147
215
225
179
237
239
237
170
211
197
133
122
112
154
143
139
136
84
86
138
137
129
130
79
80
82
85
89
87
137
139
91
96
156
159
158
146
140
88
88
83
129
133
82
75
70
117
110
104
100
97
39
91
90
86
29
35
83
77
24
22
20
17
21
23
79
77
25
26
27
33
35
36
39
91
94
96
102
104
106
112
63
64
116
122
70
121
115
113
59
60
111
58
58
107
53
52
104
49
46
98
47
46
99
50
42
50
106
107
116
112
49
52
104
101
99
94
43
97
82
39
51
65
74
89
146
146
157
168
182
145
178
187
249
251
255
255
255
214
255
203
199
191
183
174
221
215
180
123
114
158
149
140
120
113
111
113
70
80
141
98
90
140
135
129
71
63
53
49
51
56
60
59
58
107
100
100
47
44
41
37
35
40
91
91
96
105
63
121
80
76
122
118
225
255
255
245
179
153
163
158
109
112
113
167
115
168
168
117
118
117
165
166
165
165
113
114
114
166
165
164
165
163
107
157
156
100
150
97
103
107
162
162
159
159
156
156
156
105
107
154
150
146
95
145
143
88
137
133
128
126
123
119
63
114
113
109
107
106
52
106
105
102
104
104
106
108
110
112
61
63
113
113
61
61
60
60
60
59
59
110
59
60
62
64
64
63
63
66
67
121
116
116
67
70
75
83
144
155
182
192
149
154
211
215
163
139
129
119
110
103
151
146
87
134
137
87
87
137
84
82
137
87
89
89
89
140
89
131
131
82
85
137
85
139
134
84
85
137
86
141
144
94
141
83
76
67
111
117
61
99
94
89
84
82
80
78
23
24
24
26
26
28
28
81
83
85
87
36
88
88
39
42
44
96
99
95
98
102
56
60
64
119
122
122
123
71
71
122
70
128
75
73
71
67
119
118
112
110
107
54
57
57
57
50
105
109
113
118
66
66
66
117
117
116
111
53
48
47
48
100
50
56
122
132
145
155
115
125
185
206
213
216
170
178
235
238
238
237
176
167
158
149
142
191
182
152
149
146
138
131
123
112
114
63
65
121
124
127
78
83
134
131
125
67
63
105
55
54
108
111
59
110
57
56
101
45
44
41
35
83
30
32
34
89
94
50
56
64
65
115
60
255
255
255
255
193
100
95
150
99
103
104
105
108
162
165
115
118
170
171
174
174
173
121
122
121
174
173
172
118
168
166
164
162
157
156
155
102
102
98
148
146
148
149
149
148
97
100
101
99
97
99
151
151
148
145
138
133
80
129
125
69
119
116
112
110
57
55
57
56
53
54
107
108
57
111
60
60
61
111
111
59
111
58
58
63
62
60
59
59
59
112
62
62
114
115
116
67
121
116
67
70
125
130
139
147
156
174
184
138
142
149
151
202
182
123
113
156
97
144
142
82
81
136
140
87
86
138
85
142
93
94
147
146
144
92
83
132
133
134
80
130
130
130
129
75
130
89
101
162
169
179
180
180
176
171
111
102
74
112
50
91
86
83
29
26
77
79
27
28
25
26
81
82
84
85
34
86
85
34
34
88
38
41
35
38
96
106
59
65
68
73
126
129
81
82
133
133
81
81
81
81
128
126
72
75
124
68
65
116
115
62
61
62
115
68
77
81
84
135
136
134
133
126
68
116
57
54
100
44
97
106
111
128
142
106
121
131
187
188
191
190
140
146
153
158
156
150
143
132
122
114
162
160
79
79
130
127
71
117
106
108
109
111
64
119
121
126
73
71
121
118
61
58
103
99
46
100
102
53
57
109
58
54
102
98
94
36
31
22
27
81
80
79
84
93
105
109
112
59
229
229
222
255
196
153
89
94
95
98
99
101
104
107
163
166
169
118
121
124
125
125
125
125
125
177
176
175
119
169
166
163
163
106
104
156
157
154
150
145
145
95
98
97
96
97
99
151
98
98
100
100
100
149
145
138
135
134
132
77
72
69
117
63
61
59
110
111
59
55
108
108
57
110
111
60
59
113
59
59
59
59
110
110
112
59
58
59
58
110
59
61
112
113
114
63
65
67
64
66
71
126
129
137
145
100
117
126
131
135
140
142
192
175
168
106
152
92
87
85
78
78
83
85
137
138
140
91
142
90
89
90
143
143
145
135
132
132
132
77
127
125
125
125
73
133
149
113
127
186
199
201
202
197
139
187
177
147
80
65
53
97
89
33
28
26
27
26
79
26
27
29
30
84
32
32
32
31
83
30
31
33
36
35
91
44
53
57
62
118
124
126
130
135
136
83
82
83
84
84
84
81
79
77
79
130
129
129
73
69
118
118
67
69
72
82
87
144
145
144
145
144
86
79
75
118
115
108
104
98
96
98
59
71
141
107
120
181
180
181
125
123
125
132
142
142
186
130
120
111
104
150
147
71
72
71
69
65
113
103
52
105
56
60
116
119
122
119
66
116
114
57
54
49
45
96
97
48
51
54
110
110
56
104
47
42
38
83
22
79
80
79
77
80
88
47
53
58
111
229
229
222
255
205
104
88
87
141
142
142
148
99
102
160
111
114
168
120
124
125
129
129
130
130
182
181
180
171
117
165
113
163
158
157
103
102
152
148
145
144
145
100
101
156
107
111
162
108
164
164
161
106
102
151
145
86
138
136
81
76
72
66
68
66
64
63
64
64
60
58
110
110
111
59
59
58
111
57
57
109
109
56
108
108
56
55
54
107
110
111
58
59
111
60
63
65
67
66
121
72
74
77
80
87
90
106
112
116
118
122
175
122
112
158
151
144
138
81
78
73
124
75
78
131
138
92
89
142
142
90
89
91
142
139
130
128
127
76
72
121
120
117
121
77
146
171
138
161
170
179
231
228
220
212
158
204
179
164
97
82
72
57
53
42
36
32
30
81
81
82
83
31
30
29
28
30
30
29
75
24
26
29
33
89
42
51
56
61
65
70
124
129
135
82
81
131
82
82
82
83
85
86
139
86
86
138
139
87
85
134
131
132
83
86
94
99
154
157
159
109
109
156
152
96
130
127
120
113
105
42
90
87
39
98
112
75
148
151
99
98
97
96
95
151
153
104
103
151
144
82
75
123
115
114
112
59
56
53
50
97
47
51
55
110
113
115
108
108
106
53
51
49
46
43
94
94
44
46
103
56
56
57
54
48
44
42
87
74
25
25
77
77
79
80
37
47
107
109
229
229
255
214
171
120
75
134
135
136
138
90
94
150
156
108
164
167
118
121
173
123
123
123
123
175
173
120
164
110
108
105
105
150
149
96
92
89
142
142
146
150
109
163
115
169
171
125
127
177
177
172
169
113
160
150
89
86
83
84
81
75
69
68
67
68
67
68
68
68
116
115
113
61
62
113
59
59
108
108
108
56
107
107
106
106
54
55
107
107
55
111
110
110
59
112
113
63
65
68
71
74
76
82
90
96
99
158
113
117
117
116
114
104
97
143
141
138
134
78
73
70
122
73
76
136
142
139
93
97
98
97
94
94
144
76
73
125
123
114
53
64
110
121
137
105
127
143
156
169
184
184
237
234
228
168
215
139
128
168
151
85
77
63
100
42
85
81
33
28
27
81
82
82
81
79
83
28
24
72
23
26
80
80
83
37
99
105
59
63
118
121
125
76
75
75
128
82
80
77
128
133
86
89
86
86
138
85
85
85
85
87
143
94
99
107
110
167
172
171
167
166
166
162
157
136
131
125
67
113
102
45
34
36
40
94
98
112
120
74
77
81
135
136
132
81
131
132
81
80
74
117
109
108
111
59
57
104
101
104
95
47
51
106
53
104
111
106
53
51
100
98
44
42
42
42
95
46
102
106
109
112
111
57
54
101
95
87
76
26
26
78
76
24
74
76
87
100
107
229
229
223
215
172
122
132
133
83
135
137
89
94
95
100
156
160
162
113
167
168
170
119
172
172
173
122
121
163
109
107
159
105
99
150
96
144
90
142
144
147
151
108
112
168
119
174
127
129
180
179
174
171
114
161
150
142
86
83
83
79
75
70
69
68
69
68
69
69
121
118
116
114
61
62
113
58
58
108
108
108
108
107
106
53
105
105
53
53
54
54
110
109
57
57
111
112
62
65
68
71
75
130
84
92
149
104
108
166
169
118
116
166
156
148
92
141
137
133
130
125
69
70
124
126
134
140
85
92
94
147
146
93
92
142
129
72
71
69
113
106
109
106
63
130
98
121
191
148
159
174
179
184
181
175
170
217
142
130
120
105
90
78
67
53
45
31
78
27
25
25
80
82
84
82
28
30
80
77
74
25
79
81
25
28
85
97
103
58
115
118
122
126
76
76
76
129
79
78
127
126
129
80
82
82
82
134
83
135
83
83
136
88
91
98
109
113
118
172
171
169
169
168
163
158
135
79
73
67
61
102
48
41
94
41
92
92
46
51
65
68
74
76
129
129
130
127
73
71
122
70
69
110
108
110
111
110
108
105
101
96
97
99
49
51
103
53
105
104
51
100
98
45
42
43
43
44
99
50
106
109
113
111
109
54
102
97
89
77
78
77
24
22
22
73
22
85
98
105
227
229
226
216
169
123
136
80
132
133
82
85
89
92
91
147
98
100
152
154
154
105
106
159
161
111
164
164
108
159
157
102
154
146
91
87
86
84
86
139
94
99
106
163
118
176
179
183
183
184
183
177
173
114
160
96
90
85
80
130
128
73
72
70
70
70
70
71
72
72
70
67
116
115
113
112
108
107
105
105
105
106
105
105
50
50
50
104
104
104
104
105
104
106
106
107
56
58
116
120
125
129
133
88
148
155
157
109
113
115
166
163
162
105
152
147
88
85
133
131
124
68
65
65
121
128
83
82
139
89
90
142
141
140
89
134
75
67
112
55
53
98
45
101
106
66
137
104
120
131
149
202
151
148
147
151
201
135
126
117
104
94
83
73
59
101
39
30
80
79
76
23
24
26
79
29
24
76
25
76
23
76
24
23
25
81
38
96
103
108
110
61
66
69
121
121
122
121
69
122
122
123
71
123
122
123
124
125
127
75
76
127
130
135
140
103
109
113
165
165
167
117
115
160
156
91
85
77
123
65
108
104
53
103
47
44
95
45
46
52
107
113
65
121
129
130
129
73
69
120
70
71
69
119
64
112
112
60
58
100
52
98
95
42
44
98
44
52
102
102
101
48
46
44
45
46
99
101
101
104
108
60
59
110
108
105
101
94
81
80
75
70
16
16
70
18
27
90
97
229
255
255
255
225
178
137
131
132
81
82
84
88
142
144
95
97
149
147
148
147
98
98
98
98
97
95
146
101
99
148
95
145
138
84
84
81
81
82
85
90
95
102
106
112
169
172
124
125
178
177
172
167
108
102
90
136
132
76
128
125
70
68
68
68
69
69
71
72
72
68
66
115
113
60
110
106
103
102
50
103
104
51
52
51
51
51
103
103
105
105
53
104
104
104
107
56
58
64
120
125
128
133
139
96
155
162
113
168
117
119
170
168
158
155
148
88
81
79
130
70
118
67
67
119
125
130
78
135
137
138
138
138
138
83
78
123
114
106
104
50
41
36
87
84
34
41
50
55
66
147
150
96
154
162
166
168
163
157
150
90
133
72
65
55
105
104
52
54
42
38
77
22
22
21
23
69
70
18
19
18
18
17
73
75
24
81
87
94
47
57
112
117
69
121
122
123
117
118
118
119
68
68
68
113
113
113
114
115
64
116
63
63
118
122
133
138
142
92
94
148
97
96
145
144
94
91
86
80
77
122
119
118
62
110
55
54
52
51
62
64
65
64
117
124
126
130
83
86
82
128
126
134
133
75
70
117
115
62
56
56
52
45
40
39
39
92
49
48
100
101
48
47
46
45
47
101
49
98
100
52
110
110
109
109
107
104
98
83
29
23
18
14
13
66
67
20
80
86
229
255
255
255
233
185
92
132
133
82
133
84
139
142
92
95
149
149
94
94
145
96
96
96
96
148
94
93
95
146
144
144
93
142
140
89
139
85
87
140
146
98
100
103
107
163
165
119
120
121
120
115
110
104
99
139
133
129
126
127
125
121
118
118
66
119
119
121
122
72
67
64
62
60
111
110
106
50
100
101
102
103
51
51
103
51
51
51
51
53
105
106
106
105
53
108
110
111
114
118
124
75
79
85
94
154
161
113
168
170
170
171
170
158
155
94
86
132
128
129
121
120
119
120
69
124
130
128
130
132
133
134
133
133
79
70
66
59
52
99
96
37
30
82
81
77
80
31
33
87
108
64
70
130
85
143
146
92
139
134
127
121
112
109
104
54
108
109
107
52
48
92
34
28
73
71
18
18
70
18
70
70
70
72
21
23
30
37
97
103
58
114
119
71
72
124
125
68
119
118
117
63
63
63
59
111
111
111
111
59
59
53
54
56
61
73
129
133
134
83
85
86
84
137
136
87
86
84
83
83
78
127
128
72
66
63
114
114
60
72
124
70
67
65
67
122
127
79
83
83
132
130
133
131
132
131
74
121
115
109
109
52
97
38
34
33
91
47
46
47
100
100
48
46
45
99
102
48
45
46
102
109
56
56
109
107
104
47
31
82
77
71
14
13
12
14
18
77
82
255
225
225
255
247
210
116
93
85
81
133
131
135
132
136
138
140
144
147
147
144
93
145
92
92
93
145
91
91
143
144
146
149
154
103
101
99
147
92
142
147
98
149
101
156
109
111
117
170
172
118
112
107
103
96
138
128
127
125
124
70
120
117
67
118
66
67
118
116
114
61
61
60
59
109
108
107
49
102
102
103
52
53
54
53
105
52
52
53
54
56
55
55
54
55
56
58
61
115
118
122
128
133
88
91
93
97
99
154
106
107
158
157
137
134
130
126
71
121
120
115
114
115
117
66
65
116
132
127
74
75
127
127
126
121
58
53
48
96
39
89
33
32
83
78
75
72
18
19
69
65
65
18
27
34
38
42
53
106
105
99
97
101
48
48
100
100
100
101
101
101
104
53
48
39
32
73
17
12
17
22
23
74
65
67
20
35
45
104
108
67
120
122
76
77
129
78
73
72
71
119
111
108
55
56
55
108
56
108
109
56
52
104
103
103
111
64
66
113
111
60
113
114
64
117
117
67
74
84
92
159
161
163
160
101
148
142
133
79
87
138
139
138
138
85
84
93
91
90
91
142
140
132
136
83
136
135
80
72
57
50
104
106
51
50
100
106
108
56
56
54
51
49
44
44
96
97
47
101
104
105
46
48
51
53
52
50
45
39
32
76
71
20
73
71
17
20
26
32
255
255
255
255
204
227
189
88
134
82
84
81
86
87
139
141
144
147
96
145
144
141
88
88
88
88
86
86
91
144
146
148
152
157
105
105
102
150
146
90
143
144
147
97
101
155
157
162
111
162
162
159
104
152
144
130
122
121
68
118
63
113
110
114
112
114
114
115
113
60
60
60
110
57
55
105
104
50
102
102
103
104
105
53
52
52
103
51
52
54
56
58
59
60
62
117
120
123
128
127
75
128
131
136
144
95
147
93
92
92
91
88
137
131
74
69
65
115
115
115
112
111
60
62
115
114
61
118
117
66
120
120
67
65
63
52
98
92
35
30
79
31
82
78
76
73
70
17
14
14
10
7
58
58
7
13
16
76
80
82
83
30
27
26
25
29
36
95
100
47
101
104
55
108
111
61
107
49
40
81
79
24
75
73
74
77
89
97
52
109
115
64
120
124
125
125
124
70
69
66
63
106
50
101
101
102
103
54
54
106
105
100
49
50
52
107
110
110
106
52
52
104
106
55
55
64
69
75
85
95
163
168
173
171
171
168
165
159
103
106
108
159
158
157
101
99
95
90
84
78
129
126
122
132
126
70
69
71
73
69
67
62
57
58
60
115
109
123
69
68
66
115
112
53
50
100
99
99
46
99
99
44
46
100
51
51
51
49
45
41
36
85
85
83
80
24
25
80
82
225
225
225
255
255
186
204
89
133
133
86
82
88
90
142
144
94
149
147
146
145
142
89
141
140
140
86
137
92
93
148
151
103
108
108
159
105
102
150
93
89
141
95
147
150
98
152
153
155
156
157
155
153
149
141
127
119
66
64
114
60
109
54
57
108
109
111
111
58
57
59
58
57
55
106
104
103
102
103
103
103
104
105
53
51
51
103
51
52
54
56
59
60
62
65
121
124
127
126
125
74
75
129
132
137
87
146
92
91
141
139
85
83
126
121
116
62
62
116
65
62
114
63
64
117
117
63
118
64
64
65
64
62
112
100
40
88
85
83
28
78
30
78
24
22
20
70
69
16
68
12
10
9
9
8
65
67
72
23
25
26
25
24
21
16
19
25
84
89
41
97
104
53
56
112
64
121
63
56
95
89
83
78
81
81
83
93
50
109
113
62
64
118
122
123
122
122
70
69
65
61
105
49
49
98
100
101
51
53
103
102
101
50
52
55
108
108
55
52
51
103
102
51
105
104
64
118
75
86
95
113
121
177
180
181
183
181
175
121
117
117
169
169
167
161
157
152
143
81
74
71
68
117
128
124
67
64
63
66
76
72
68
67
66
119
120
119
131
78
77
73
122
119
111
108
104
101
98
45
43
95
95
97
47
49
102
104
51
48
45
42
39
38
88
83
29
30
31
84
255
226
227
225
219
252
222
155
85
78
84
137
141
142
93
95
98
151
152
99
97
148
148
145
93
144
91
142
146
96
153
158
162
166
116
116
115
164
159
102
91
89
93
143
141
89
88
140
142
145
94
93
91
89
137
125
117
115
61
59
56
53
101
100
99
101
103
105
104
104
105
52
52
104
103
103
103
104
104
104
104
104
104
104
51
51
104
52
54
56
110
62
64
118
121
71
72
73
74
128
131
133
133
132
78
75
128
74
73
127
127
126
125
115
113
111
59
113
116
118
64
63
64
66
67
118
65
67
59
107
105
103
48
99
103
42
90
36
33
30
28
79
76
21
72
19
18
18
17
66
66
71
77
30
33
33
33
82
80
78
22
21
22
21
23
79
83
88
92
101
105
112
114
115
63
64
66
69
70
71
116
110
106
98
96
42
97
101
107
112
115
116
66
119
118
118
117
71
68
117
61
106
54
52
98
46
98
98
47
49
49
50
103
104
56
111
110
58
58
57
56
56
108
109
56
114
119
75
88
151
173
180
136
139
143
147
202
202
147
142
143
196
196
141
130
176
114
153
87
75
68
116
60
119
123
125
67
57
54
69
69
130
85
139
138
136
141
96
93
91
89
136
132
120
63
58
53
47
96
92
39
44
96
97
99
100
104
53
52
103
101
46
43
92
89
33
86
36
37
255
255
255
228
220
254
173
119
90
126
132
86
139
138
91
93
149
100
154
154
154
149
96
96
95
145
143
91
147
151
106
162
115
119
172
120
120
118
115
162
149
146
90
88
86
134
134
132
133
87
138
86
85
83
82
130
118
117
115
112
57
54
50
95
94
96
99
101
101
101
49
102
102
103
104
53
54
106
106
54
106
106
106
54
52
104
105
54
56
58
60
70
71
72
73
74
73
72
72
123
71
72
72
72
125
126
117
117
63
64
64
64
115
119
117
115
114
112
112
59
62
61
62
116
117
116
115
75
116
112
58
111
112
60
47
41
92
40
40
39
38
27
75
73
71
19
21
74
21
22
35
96
102
104
103
56
56
105
102
97
91
88
87
38
101
105
54
106
106
110
106
102
108
112
115
116
117
119
69
74
127
130
132
134
79
123
111
58
61
62
63
117
118
66
117
117
117
65
115
112
56
53
106
53
104
101
46
95
96
46
47
47
100
49
50
55
57
58
111
112
59
58
110
110
111
118
71
132
143
156
180
188
138
142
146
201
153
158
159
155
157
209
208
206
140
131
174
161
94
81
71
67
58
66
116
116
67
119
116
54
73
129
137
147
102
103
146
160
107
106
102
98
144
132
70
61
56
49
45
92
90
99
98
45
98
98
50
105
110
57
55
102
46
43
94
47
50
55
112
255
255
255
255
219
255
243
139
84
121
86
76
142
144
145
95
149
151
152
152
152
149
150
150
148
94
93
94
100
154
156
161
164
120
122
122
121
172
116
112
100
148
148
90
82
130
77
135
137
138
140
91
143
140
83
74
119
115
111
108
105
51
98
95
93
95
97
99
100
102
102
104
106
54
53
53
54
109
109
57
56
108
56
55
59
111
110
56
55
56
59
65
118
69
71
74
127
76
124
124
72
71
72
69
67
118
64
115
116
115
114
62
62
112
112
111
59
58
58
57
63
64
63
62
115
117
119
75
73
121
115
59
58
110
103
96
40
37
87
87
35
32
27
21
69
73
75
25
73
84
104
56
60
61
61
114
113
113
60
107
49
44
97
100
107
108
56
108
107
55
58
55
50
49
106
61
63
116
119
71
125
129
132
139
139
137
128
124
123
122
59
62
63
117
117
64
115
62
61
112
109
107
108
54
104
102
49
98
96
45
96
100
49
102
104
54
55
55
61
113
110
108
110
59
60
64
69
129
140
152
175
185
137
144
149
152
153
206
206
149
151
206
210
207
143
186
178
110
98
145
85
72
58
60
113
118
68
117
62
116
118
127
140
151
106
106
156
166
108
102
99
151
150
135
125
65
111
53
48
93
89
47
44
43
46
47
48
101
103
103
104
105
56
109
110
64
116
117
119
255
255
255
229
223
214
197
208
149
121
78
128
136
138
144
93
147
149
152
150
150
149
149
97
148
93
92
145
153
154
157
109
164
119
120
119
117
168
165
159
95
92
143
139
136
132
79
80
132
82
137
138
139
137
80
73
116
60
108
105
103
49
96
98
44
97
97
97
97
97
47
49
51
52
104
53
55
110
110
57
57
57
56
56
111
111
58
56
55
107
58
63
117
119
70
72
73
73
120
69
70
70
120
64
62
112
108
56
108
108
57
61
62
61
112
60
60
59
59
111
62
63
63
63
65
120
123
125
73
126
125
69
60
54
56
102
45
93
89
86
33
30
27
25
73
73
73
76
89
50
67
70
74
76
75
126
125
124
123
68
115
111
111
111
114
114
113
111
58
68
67
58
54
101
97
41
46
47
105
115
121
126
130
136
138
89
140
139
137
85
138
136
80
68
61
55
104
109
56
54
106
108
109
59
108
108
54
54
46
44
94
96
44
97
98
103
103
104
59
59
60
111
110
108
55
111
64
122
132
141
160
168
119
125
129
133
135
189
189
140
141
194
195
193
131
177
114
103
148
145
143
137
128
61
63
65
118
117
116
115
114
68
130
88
148
154
106
117
111
103
150
150
146
134
71
64
60
106
101
97
94
46
44
44
47
100
101
103
117
66
121
70
73
75
76
69
121
120
120
255
255
255
229
225
217
201
168
161
120
121
129
83
86
141
90
145
145
97
97
97
147
148
96
94
144
91
144
146
147
150
152
156
108
111
111
111
110
106
155
145
89
89
86
82
134
132
77
127
77
79
132
131
78
75
69
62
59
107
104
103
101
44
95
94
43
96
98
99
49
46
48
49
50
51
54
57
111
59
111
58
58
57
57
58
58
110
57
55
54
56
59
61
63
117
66
67
67
114
115
64
63
62
59
107
105
106
105
54
56
59
114
116
63
63
115
115
64
64
116
114
62
62
115
117
122
125
130
123
71
73
73
120
63
52
99
43
92
89
35
34
35
76
76
74
75
81
90
108
66
79
81
86
139
139
136
83
80
130
127
122
64
61
114
113
113
112
59
58
65
63
65
65
114
105
99
91
91
40
50
108
114
65
68
124
80
86
86
138
87
84
135
135
131
129
128
76
126
124
118
113
56
56
56
108
111
113
62
58
56
54
104
104
53
52
55
56
56
109
109
110
59
57
53
52
53
107
113
118
72
137
141
149
153
156
107
160
110
110
119
171
170
170
169
110
108
104
104
159
109
108
152
129
121
119
118
67
66
67
63
61
63
68
73
132
137
144
110
107
100
149
144
142
81
77
73
66
113
106
102
99
45
44
47
107
111
62
117
129
129
78
77
128
126
123
116
115
113
111
255
255
255
255
223
216
200
171
116
72
120
76
81
137
138
88
143
143
147
96
95
94
147
147
94
143
90
91
93
145
148
150
153
156
159
107
107
107
104
153
92
90
140
138
82
81
79
128
75
74
76
75
75
126
123
119
114
111
107
53
52
50
46
43
94
95
45
47
48
51
97
98
99
100
48
51
55
109
109
109
56
56
55
55
57
58
111
57
107
54
55
57
58
112
114
115
64
64
112
112
60
59
109
108
54
53
106
105
53
56
59
115
117
63
64
116
116
117
117
117
113
113
112
112
63
119
123
77
71
71
72
73
122
120
55
47
94
90
87
35
35
33
74
77
77
79
35
46
61
122
134
85
88
90
142
85
85
83
133
128
67
115
111
58
111
111
109
57
109
68
67
65
65
113
54
97
93
91
92
48
53
57
58
64
120
126
80
83
136
136
135
134
132
131
78
78
130
81
130
127
123
117
63
63
111
113
116
116
115
115
61
58
108
106
104
53
54
54
107
107
109
58
56
53
51
49
51
107
111
115
123
76
84
89
144
93
95
97
97
157
157
106
159
157
153
98
101
104
162
111
110
104
128
123
120
116
64
65
65
58
57
110
62
118
70
76
133
152
99
98
146
144
89
83
78
76
69
116
111
107
105
102
102
54
114
118
69
71
134
134
134
132
130
126
121
113
111
108
106
255
255
255
255
255
212
197
178
128
81
69
70
124
80
83
135
138
141
145
145
146
146
146
94
93
91
88
89
94
146
148
150
152
155
103
102
155
154
102
100
95
93
90
86
133
129
128
76
76
70
70
70
122
121
119
116
64
61
57
55
54
53
49
49
47
47
100
100
47
100
100
100
48
47
99
102
106
56
56
56
55
55
55
54
57
110
111
110
107
54
105
105
54
108
58
111
111
59
57
108
105
104
51
52
107
108
53
51
102
103
56
112
115
64
64
65
117
118
118
67
112
110
56
55
109
114
118
67
76
130
76
72
69
120
121
53
95
36
85
84
85
36
90
101
53
52
57
118
120
129
88
89
144
146
146
88
89
140
136
76
66
110
106
107
107
109
60
113
115
63
64
63
62
58
54
102
43
38
89
99
105
109
111
50
105
56
61
63
66
122
123
70
70
122
71
73
74
78
80
83
85
138
137
86
136
137
136
83
133
132
132
74
71
120
115
58
110
109
104
51
52
53
53
55
54
43
46
47
50
52
57
60
66
70
72
74
75
128
128
134
86
89
143
143
86
84
146
150
152
151
98
150
130
72
65
59
108
109
56
98
98
46
51
108
112
65
123
133
84
88
93
144
142
84
75
72
121
120
117
118
119
119
119
69
126
127
127
74
75
127
76
127
125
121
65
43
92
88
32
255
255
255
255
255
206
190
171
130
87
70
127
79
135
83
86
90
91
144
146
94
92
145
147
146
91
90
91
92
92
144
143
145
143
143
92
93
94
148
96
92
91
88
139
138
83
79
72
71
68
66
62
113
60
63
115
114
113
57
54
51
49
48
45
45
98
46
99
99
48
50
51
51
104
103
104
103
52
51
52
52
52
49
48
100
101
102
102
101
100
101
102
102
50
50
50
102
50
101
101
103
104
105
105
104
103
47
46
100
102
52
107
109
60
61
62
63
114
62
62
113
109
55
55
110
61
63
67
65
66
118
116
62
58
61
107
104
46
96
95
97
102
59
60
59
60
65
120
123
128
84
86
138
139
88
140
141
86
80
71
115
108
54
54
105
106
107
108
108
54
53
49
45
43
39
88
38
91
95
98
101
53
56
53
106
55
58
59
58
57
109
109
57
60
63
65
66
60
64
71
128
141
148
155
163
164
165
114
113
109
105
100
98
93
139
76
71
120
60
56
55
55
55
105
51
52
49
97
93
39
40
43
47
103
108
112
115
74
129
70
72
72
126
125
70
122
124
131
138
140
89
137
101
80
32
90
98
107
58
58
109
108
56
56
55
55
108
111
113
117
71
76
81
88
87
83
77
126
127
128
78
138
137
137
135
133
77
74
124
122
68
68
118
116
111
37
88
86
85
255
255
255
255
255
251
235
159
127
93
76
126
76
134
135
86
142
143
144
94
94
144
92
145
145
91
141
142
142
89
88
87
140
87
139
137
139
90
94
95
92
91
144
143
141
86
82
126
73
124
121
63
60
111
113
62
64
63
112
109
54
104
102
99
47
99
99
99
48
48
102
49
50
51
49
50
50
102
102
103
50
103
102
47
99
100
101
100
99
98
47
49
101
101
101
101
101
101
100
101
102
103
104
104
104
103
99
98
98
49
103
54
107
108
57
58
58
58
59
58
59
108
105
105
107
57
58
61
117
118
64
61
111
111
111
107
53
104
103
49
47
107
115
115
116
65
67
71
72
127
134
133
82
82
83
82
134
78
72
66
111
55
50
102
101
101
101
49
49
46
45
41
40
91
89
35
38
92
97
49
51
55
58
51
105
108
111
109
108
108
51
50
103
52
53
55
56
52
57
65
125
143
152
159
172
175
125
130
132
129
126
122
120
114
106
142
135
78
69
116
60
112
110
56
53
52
49
44
40
36
87
88
94
98
50
107
112
122
125
69
68
122
122
123
121
121
122
129
82
83
82
74
38
17
74
82
94
51
58
59
60
112
111
58
58
57
109
105
109
115
123
75
80
82
83
135
135
80
79
77
78
85
137
86
87
82
75
119
64
114
112
60
59
109
106
36
35
33
31
255
255
255
255
249
236
218
130
113
94
79
72
128
135
83
137
141
142
144
94
95
143
90
90
142
141
139
86
138
136
134
131
131
130
130
132
134
85
90
91
141
140
144
143
141
138
134
127
125
122
119
114
112
111
113
63
62
114
112
110
108
106
103
47
98
96
95
94
43
44
46
46
47
47
47
98
99
98
99
47
48
48
99
99
99
101
49
48
98
97
46
98
98
98
98
98
98
98
51
52
54
55
108
109
109
57
108
55
53
104
104
51
51
107
55
55
55
56
57
58
113
112
110
108
108
107
107
105
111
111
110
108
108
111
113
112
115
68
121
69
67
70
123
123
122
71
72
73
70
71
125
126
73
75
128
121
68
63
58
107
105
52
48
100
96
94
93
40
40
95
43
94
95
96
98
45
43
99
102
56
58
113
114
111
112
113
114
111
110
109
107
54
51
47
45
98
45
40
45
55
119
145
158
169
184
191
201
207
163
163
164
162
157
149
138
163
151
91
137
78
74
124
72
70
68
67
65
61
108
104
98
97
97
99
102
104
106
112
65
63
64
63
64
61
113
112
114
118
70
71
70
63
40
13
17
77
89
48
57
115
113
115
115
116
65
118
118
55
55
58
62
118
123
79
72
75
131
131
128
73
71
132
79
77
72
66
112
108
56
106
104
103
104
104
50
36
35
33
31
255
255
255
255
189
175
155
135
116
94
78
78
79
76
80
136
139
90
89
91
92
92
140
87
141
90
87
136
86
83
131
127
127
74
126
131
79
133
137
88
146
148
149
148
147
146
143
137
137
128
127
123
123
68
68
63
112
112
112
111
109
106
102
48
98
95
93
39
39
93
94
95
95
96
96
45
95
96
95
97
45
98
97
97
98
47
47
98
95
94
94
96
96
96
96
96
96
44
52
53
55
57
58
59
60
60
59
58
58
109
110
57
57
106
53
53
53
54
109
58
63
63
63
62
61
111
110
109
105
51
55
111
114
115
65
67
69
71
127
132
136
86
82
133
80
78
129
74
72
126
121
65
61
113
61
106
105
103
49
97
96
43
95
95
41
90
89
36
36
98
98
98
99
102
104
105
104
106
111
116
115
116
117
117
115
113
109
110
110
111
103
103
103
103
52
105
105
101
107
116
77
103
118
181
199
211
223
232
189
192
247
189
185
175
161
179
163
99
86
77
73
72
76
79
79
74
73
71
68
115
111
111
60
64
117
118
68
74
78
76
76
73
70
120
116
63
63
115
65
68
67
64
111
37
36
38
94
49
56
117
116
118
118
119
119
68
69
57
111
112
62
64
118
70
68
119
64
64
118
119
67
70
120
118
62
59
56
56
109
106
52
51
52
53
107
99
98
95
93
255
255
255
255
193
177
159
143
121
96
130
133
80
126
82
83
86
141
91
143
144
144
142
88
140
90
86
135
138
83
79
127
126
73
74
77
129
130
135
139
150
101
100
152
152
150
148
143
91
81
132
129
128
73
70
62
111
60
60
111
109
54
102
48
46
43
40
38
38
93
95
95
95
95
44
44
45
95
96
96
45
97
98
97
96
97
97
96
93
40
40
44
44
44
44
96
96
44
50
103
53
56
58
58
58
59
56
110
59
111
111
59
111
105
52
103
104
105
108
109
114
115
64
63
62
112
110
112
102
103
108
112
64
65
117
120
69
70
74
81
139
143
139
137
135
80
78
75
76
127
120
114
109
107
54
49
47
98
44
95
92
91
94
39
38
89
36
86
86
46
45
96
98
48
52
53
105
57
61
116
117
65
118
119
117
112
107
106
108
109
105
105
105
102
49
50
102
108
113
71
135
109
122
135
151
164
228
236
245
250
253
244
240
230
216
129
163
98
83
75
123
122
128
79
79
71
70
69
120
116
112
111
60
62
117
67
69
77
81
84
82
80
77
124
121
118
122
122
122
72
71
69
68
103
49
47
50
56
61
71
72
126
126
125
125
72
73
57
111
114
118
118
66
64
120
116
112
111
116
66
67
65
117
64
63
61
60
59
109
106
52
51
52
106
106
106
104
102
48
224
224
223
224
211
201
194
173
149
111
90
83
135
138
135
138
88
91
90
143
144
91
90
89
88
139
86
85
135
130
74
73
72
70
124
124
74
77
84
140
147
149
100
101
103
156
103
96
147
88
86
83
82
133
131
69
64
61
57
54
105
104
50
99
44
40
37
37
37
89
90
92
93
94
93
41
43
96
43
96
42
44
44
97
95
95
43
42
93
38
36
37
89
89
37
90
39
41
48
50
104
104
104
52
55
56
58
110
59
111
112
113
61
105
105
105
106
106
108
108
112
61
113
61
114
115
115
111
107
106
107
110
113
64
65
119
122
73
128
78
77
142
142
142
143
141
139
137
77
73
60
107
104
99
97
36
36
90
40
91
89
87
35
36
88
87
86
86
34
40
96
104
104
54
107
55
60
113
63
63
62
116
118
67
116
114
57
106
105
105
103
51
52
52
52
52
51
55
112
122
82
165
179
139
153
165
174
234
245
245
190
229
224
216
152
119
152
137
130
121
117
64
65
66
66
64
63
59
108
106
104
106
55
57
113
115
119
76
79
81
133
79
129
125
120
119
118
68
121
122
70
71
70
65
62
59
62
62
61
70
75
128
77
131
79
130
78
68
68
69
123
74
75
126
124
120
117
65
117
119
66
68
68
68
67
66
65
64
61
60
56
106
105
104
105
52
105
107
56
255
229
255
255
255
255
214
193
179
151
117
139
141
88
138
140
145
93
94
95
95
93
144
90
88
137
134
81
130
126
71
70
69
65
119
124
73
127
133
85
93
95
101
102
104
105
104
97
95
147
93
89
89
87
85
127
120
115
110
105
104
103
50
96
93
37
35
34
35
86
92
92
92
89
89
38
42
95
96
95
96
94
94
93
41
41
41
40
39
37
34
36
87
87
86
87
88
37
44
97
99
99
98
99
100
49
55
107
108
111
111
112
60
108
108
57
109
109
109
109
111
112
61
61
115
116
116
118
121
70
123
124
124
123
67
66
118
68
69
123
125
131
79
132
135
138
137
137
134
76
111
105
101
98
95
93
92
40
39
91
90
89
90
37
34
86
87
87
36
43
100
59
62
114
114
61
112
113
62
61
62
65
66
65
64
60
55
51
101
101
45
47
48
50
51
105
104
109
113
119
77
162
127
139
148
159
166
170
176
173
170
208
150
193
131
103
139
126
114
106
102
101
101
48
99
46
45
43
93
91
89
88
88
41
99
104
111
69
75
82
132
129
127
123
118
118
115
62
61
62
65
67
123
69
67
116
116
64
115
66
70
123
122
123
71
126
75
68
70
73
127
76
76
130
135
80
75
71
121
121
69
70
71
72
74
74
72
71
67
64
59
107
51
99
97
102
104
106
108
255
255
255
255
255
255
255
203
189
219
185
140
143
140
138
89
93
94
94
147
147
145
92
90
87
85
133
134
127
71
68
120
119
62
64
124
124
74
131
135
144
146
100
102
104
105
156
150
97
146
92
140
140
86
85
75
71
66
112
108
53
104
101
95
40
36
86
34
34
33
91
92
91
36
36
37
41
96
95
95
96
45
42
41
41
93
41
40
38
88
86
35
34
85
33
33
34
35
39
93
94
94
44
44
97
100
105
105
107
56
109
110
58
109
111
59
111
110
110
109
111
112
113
61
115
116
64
70
72
74
126
74
126
125
121
66
65
66
67
68
68
125
123
126
128
130
77
77
126
123
115
111
105
101
97
101
47
43
95
42
40
36
37
36
32
84
32
33
32
44
99
59
60
61
111
112
112
60
61
59
60
62
117
116
61
59
54
50
48
50
45
46
48
49
52
105
106
114
117
70
79
110
125
138
199
155
163
164
219
164
160
143
191
182
121
97
137
74
58
104
99
96
96
43
93
92
39
37
86
82
76
77
77
84
92
100
106
66
124
129
75
124
121
117
113
113
110
109
56
58
59
62
67
65
114
113
115
115
61
66
117
117
118
118
118
120
122
68
71
74
76
129
130
84
89
139
134
129
125
70
70
74
125
125
124
71
72
73
121
117
59
54
48
44
41
99
48
50
52
255
255
255
255
255
255
255
214
190
177
158
138
138
140
136
87
90
92
91
93
145
143
89
87
86
84
134
81
76
125
123
124
71
64
66
124
124
72
128
132
141
144
148
99
102
105
158
154
154
150
148
92
144
90
89
131
79
76
124
119
114
56
97
98
43
91
89
36
37
36
37
90
92
40
90
91
92
41
41
44
45
99
96
43
41
94
41
92
91
89
86
33
84
31
30
30
31
32
33
35
89
91
40
42
44
98
102
51
105
107
108
109
109
113
114
63
63
113
111
110
110
59
60
62
116
117
65
70
70
69
70
123
123
123
69
62
58
56
54
106
107
112
111
115
68
123
126
126
125
122
116
115
112
110
107
113
110
104
103
51
101
47
47
45
36
86
33
86
35
45
101
56
56
109
108
108
61
60
58
52
52
55
109
108
108
54
50
48
48
50
46
47
99
51
107
110
60
124
125
130
85
108
171
180
137
142
146
146
196
192
135
113
162
156
148
134
72
117
59
104
98
94
88
86
82
85
32
30
27
76
69
70
71
79
36
44
104
117
122
67
66
61
57
108
105
104
51
51
51
54
106
56
56
54
104
105
107
107
54
56
59
110
107
53
105
56
58
115
117
68
69
122
129
145
142
92
89
135
127
67
63
65
65
119
121
123
125
74
72
120
114
57
50
44
42
44
45
46
48
255
225
226
255
229
226
223
215
194
179
154
135
131
80
84
138
140
93
149
150
98
92
91
141
87
84
131
128
131
76
73
123
69
65
62
64
66
120
122
127
138
90
98
152
154
105
158
105
104
99
100
98
95
92
140
81
81
128
122
116
111
106
98
38
91
91
36
32
30
34
86
88
89
39
41
93
93
95
99
49
102
103
107
55
95
41
38
88
36
88
86
32
84
83
82
82
81
80
79
28
81
83
83
84
87
91
44
102
104
105
106
108
110
116
66
67
66
115
112
110
111
59
60
113
63
65
67
65
65
67
67
119
119
65
62
106
103
103
102
48
98
102
106
53
55
110
113
63
114
115
117
117
117
114
113
121
67
115
112
60
60
113
109
57
55
105
50
99
97
52
55
114
114
113
64
66
61
112
110
55
57
59
61
105
106
54
54
52
104
104
53
54
106
104
104
104
51
120
74
83
89
104
167
178
135
136
134
131
124
121
172
89
87
82
76
115
109
105
46
44
42
43
45
94
92
81
27
26
25
77
74
73
72
78
88
96
51
111
114
58
64
117
112
107
55
54
56
57
109
58
57
108
106
62
113
110
108
107
55
108
54
105
105
103
52
51
52
56
58
110
112
114
70
88
139
83
130
123
115
104
91
45
98
101
53
110
63
120
120
120
67
68
120
120
116
99
47
47
99
224
224
226
228
229
226
222
216
201
187
159
78
128
133
83
84
139
143
146
95
94
91
141
89
87
136
78
76
129
126
123
69
68
65
63
67
68
122
72
129
140
92
98
152
102
105
158
158
105
100
152
98
94
92
140
82
84
131
124
117
60
108
101
40
93
40
38
34
32
88
87
88
90
91
41
41
93
96
99
50
102
104
56
56
98
43
39
36
35
87
86
84
84
83
30
29
29
28
26
27
28
30
82
84
35
90
95
49
103
105
106
55
57
63
64
65
64
114
112
110
57
57
58
59
61
63
64
64
116
117
65
65
63
63
60
105
103
50
49
98
96
96
99
100
51
53
109
58
59
112
64
117
65
62
113
125
71
119
64
64
64
64
113
61
59
110
107
53
52
105
56
115
115
62
63
65
60
111
109
55
57
111
112
54
107
55
54
53
103
104
107
107
106
103
105
54
109
66
72
79
138
153
166
124
134
186
185
182
123
120
119
91
141
135
77
61
107
51
46
44
43
43
45
95
92
30
27
26
24
24
24
75
77
84
92
102
55
116
118
114
117
118
112
55
53
105
53
54
107
109
111
109
109
63
62
112
109
107
107
108
107
106
107
106
55
106
105
56
57
58
110
114
69
86
139
136
132
71
112
100
88
39
94
96
101
54
59
114
115
116
118
67
122
120
118
48
99
99
98
224
224
225
227
229
226
223
217
208
196
220
82
72
130
132
132
135
137
141
140
139
88
87
87
137
134
77
76
76
73
122
120
121
71
122
123
72
74
128
80
142
146
150
100
100
104
105
159
159
103
102
98
94
144
91
141
142
84
128
120
63
111
53
47
47
45
94
39
38
90
36
38
91
93
94
94
94
45
49
51
104
54
58
111
104
99
93
37
35
34
33
31
30
82
81
28
27
27
25
26
26
80
27
80
31
86
40
45
48
49
50
52
105
58
57
56
55
55
107
107
104
51
51
52
53
107
107
113
62
62
60
111
58
107
104
47
96
94
39
87
84
83
89
92
95
97
100
103
54
57
63
65
66
66
65
70
69
65
64
63
114
113
111
111
58
58
110
58
58
55
58
64
116
61
112
110
56
56
55
107
57
59
112
106
107
56
56
55
107
107
108
111
111
62
62
63
64
61
64
118
123
144
158
117
120
121
174
172
115
112
163
142
140
82
76
113
105
49
98
95
94
95
44
94
92
32
81
25
23
24
84
88
92
98
106
62
69
78
80
122
125
122
115
54
46
44
45
98
101
105
109
112
118
118
66
64
62
111
109
105
106
108
110
113
113
111
107
108
107
57
58
111
115
131
133
133
129
119
101
86
76
34
88
94
101
52
54
107
103
55
111
64
119
122
68
110
108
105
102
223
223
225
226
228
255
223
255
208
241
224
159
76
123
125
75
130
133
84
136
135
133
133
131
131
77
72
71
77
76
74
75
128
128
126
123
124
74
127
79
140
144
96
97
149
152
102
158
159
104
156
154
99
98
97
147
145
88
81
126
68
63
106
52
49
98
95
42
93
90
40
40
94
95
95
95
95
95
47
50
103
54
58
59
49
98
94
90
88
34
32
29
29
80
79
78
26
77
74
75
76
77
76
77
79
82
86
39
42
43
44
46
99
105
105
52
51
102
102
101
101
48
47
47
47
100
101
106
55
56
53
52
103
103
99
92
89
87
87
33
32
88
95
47
100
104
54
108
59
60
65
65
65
64
115
118
66
65
64
61
112
111
58
110
109
108
57
58
110
107
54
56
58
110
109
55
53
54
55
57
111
61
62
111
112
113
115
115
114
115
114
66
72
76
74
124
69
68
118
117
66
83
93
100
154
155
103
103
96
93
143
132
130
73
67
107
103
99
94
92
92
93
94
92
38
30
30
29
28
79
93
100
51
58
119
126
131
141
92
83
134
128
115
54
39
33
34
86
90
97
103
111
120
117
66
66
65
63
111
105
102
103
106
108
110
108
107
106
107
57
106
55
111
71
72
124
67
110
96
84
77
27
83
89
95
99
100
99
49
50
53
56
62
64
118
120
118
116
114
223
222
224
255
255
255
255
255
255
247
232
167
131
71
121
71
74
129
133
134
80
79
130
128
127
127
122
69
127
75
75
129
129
74
71
72
73
75
128
132
141
145
95
96
148
98
152
157
107
104
105
156
102
102
100
148
94
91
85
131
125
66
106
104
48
44
94
93
41
36
40
93
94
95
95
43
42
93
97
48
49
104
108
58
46
44
93
39
38
87
31
28
28
79
27
78
77
76
22
74
75
76
75
75
25
81
83
37
39
92
93
95
45
50
51
51
50
48
98
97
45
95
42
93
42
94
95
98
100
101
49
100
99
46
44
89
36
37
90
92
93
93
48
51
53
55
57
58
59
60
63
63
62
59
57
63
63
115
113
59
57
54
56
107
104
52
53
106
107
54
104
103
54
108
108
107
105
54
107
59
61
114
115
113
62
116
118
118
118
120
123
74
74
130
128
128
126
123
120
118
120
79
86
141
148
147
96
95
89
84
134
78
75
72
117
51
46
41
41
40
37
38
93
39
37
30
31
31
31
32
96
103
110
64
73
132
136
146
98
88
85
128
64
54
89
81
81
83
34
91
48
56
67
62
63
66
66
64
112
104
51
51
53
54
56
55
109
104
106
55
106
53
56
120
70
68
64
108
100
91
83
83
85
90
95
47
49
99
103
103
103
54
57
113
63
68
67
66
66
224
224
226
225
255
255
255
255
255
210
252
198
94
110
110
113
66
121
71
73
125
127
126
71
123
122
119
119
126
75
77
130
129
73
71
127
126
127
132
139
144
90
147
149
151
155
157
110
162
111
109
106
103
104
105
102
101
148
142
83
77
70
60
109
105
48
44
94
92
38
41
94
95
44
44
96
43
42
43
45
99
101
51
104
92
39
90
36
34
82
27
24
23
22
22
74
75
76
76
23
75
77
77
25
25
26
79
31
34
88
39
41
42
46
46
98
98
98
98
98
95
92
38
37
37
89
90
91
88
87
86
33
33
33
30
39
42
44
45
48
101
49
55
57
61
62
116
62
60
112
112
113
109
51
97
105
52
50
102
102
103
52
103
48
96
43
42
43
95
101
48
99
48
48
50
103
106
51
101
108
61
116
64
65
65
116
65
120
125
75
78
79
132
133
135
86
139
123
121
119
118
73
75
130
132
133
83
79
124
123
123
123
68
114
109
46
93
38
37
36
35
88
37
38
90
88
85
85
89
38
47
55
66
72
77
83
143
100
101
90
87
79
69
109
88
82
78
25
28
32
38
45
55
58
60
62
63
65
63
60
53
51
52
53
53
106
56
53
105
104
52
105
107
110
114
61
58
54
101
96
41
38
41
45
102
52
52
103
108
109
58
58
59
60
59
69
68
67
66
224
224
226
226
255
255
255
223
255
215
255
221
169
125
110
61
116
119
70
124
72
76
126
125
71
71
120
119
126
127
129
78
78
127
126
74
126
127
79
138
144
93
149
99
100
156
158
110
110
112
163
160
105
106
159
103
100
147
141
82
76
69
58
106
102
97
94
92
92
38
40
93
93
41
40
39
90
35
35
88
89
37
38
39
86
34
33
84
30
27
24
22
73
72
19
19
20
73
74
74
74
76
76
76
76
77
77
81
31
86
36
38
90
42
42
94
94
94
42
94
39
89
88
34
86
86
86
83
82
30
28
29
83
84
38
45
47
49
52
55
57
104
58
63
64
64
62
61
58
108
104
101
98
40
36
95
95
95
44
98
100
99
44
44
94
95
96
97
97
94
43
45
99
48
50
103
49
48
101
105
56
109
109
57
57
57
60
64
120
122
74
76
78
82
135
135
134
122
122
119
118
118
116
114
114
63
115
114
110
56
56
106
53
101
98
93
91
38
37
37
37
88
91
91
39
40
36
89
90
94
101
110
68
73
78
82
88
147
147
136
81
76
68
59
40
87
29
27
27
30
33
91
101
101
105
56
59
60
59
54
52
51
52
51
50
101
100
50
50
52
53
106
107
56
114
113
59
108
52
50
48
48
102
53
56
110
60
113
112
60
113
114
114
113
115
119
66
117
115
224
224
224
255
255
255
255
255
255
255
255
234
183
133
108
111
115
66
68
71
72
76
127
125
72
71
122
67
72
125
126
75
76
76
127
126
126
128
79
137
144
94
150
152
101
104
158
109
109
158
157
103
153
154
154
150
99
95
89
82
128
121
111
106
102
97
94
41
92
91
92
92
40
40
91
89
88
86
86
86
86
86
34
34
83
83
30
29
27
25
23
21
20
71
18
18
18
19
72
72
72
74
75
75
75
76
76
80
82
32
34
35
36
39
39
91
91
39
39
39
37
88
86
33
84
84
83
27
27
27
80
82
83
84
35
40
95
46
48
51
54
55
63
67
67
65
62
59
108
107
98
95
90
35
32
38
38
41
43
97
97
98
96
43
44
98
97
98
99
45
45
47
100
48
101
50
47
47
101
104
53
53
105
104
52
52
108
59
64
67
124
126
130
84
83
135
133
126
123
118
116
114
111
110
108
108
108
106
104
51
51
48
45
96
95
93
92
91
38
38
38
39
40
93
93
41
38
90
92
43
103
57
67
124
128
133
137
141
142
132
79
126
67
59
43
39
82
28
27
28
84
88
95
97
101
55
58
59
59
54
54
53
53
51
50
100
97
100
49
51
54
55
55
55
113
60
59
58
55
52
51
103
52
107
58
111
113
116
61
63
114
115
116
116
116
64
63
113
59
255
255
224
255
255
227
227
229
226
226
218
255
214
104
61
117
120
72
73
76
76
79
78
128
126
126
71
70
119
120
121
71
73
128
129
129
78
131
131
83
142
93
97
151
151
153
154
103
103
155
155
101
100
153
152
94
145
141
136
131
74
122
113
55
51
98
94
40
91
88
87
87
36
36
35
86
85
84
84
84
83
83
30
82
26
27
79
27
78
24
22
72
19
17
16
15
15
16
16
17
17
20
21
73
22
75
75
26
28
30
31
33
33
86
86
34
86
34
34
34
32
84
84
30
29
27
26
24
23
24
26
28
31
30
83
87
39
42
46
51
53
53
59
61
62
60
108
56
101
47
86
79
76
25
78
32
33
39
39
41
94
95
97
47
101
103
104
104
104
107
107
54
105
51
101
100
48
49
50
100
47
49
51
48
100
48
103
105
109
111
70
125
128
81
134
133
132
128
123
117
58
56
56
54
101
100
97
97
47
98
97
92
91
40
40
43
97
97
96
44
42
94
42
41
41
43
40
92
95
97
103
58
64
121
124
130
132
134
134
77
75
73
68
113
101
44
90
87
31
78
77
76
78
92
95
100
54
58
59
61
59
59
58
56
105
49
44
100
49
101
51
51
53
107
109
57
59
58
57
58
109
108
107
108
55
108
110
60
63
114
62
114
63
114
115
111
110
108
106
255
255
224
225
226
226
228
224
255
229
225
220
193
188
73
128
133
83
87
87
140
133
132
130
128
76
74
126
121
122
123
125
128
82
135
132
81
81
132
81
87
143
147
148
148
150
150
151
98
95
96
147
146
147
146
138
139
136
132
129
126
122
63
111
106
100
95
92
90
86
82
83
32
33
85
85
84
80
80
80
80
28
80
80
78
78
27
27
78
77
24
72
71
70
16
67
67
15
14
15
15
70
71
72
73
22
24
79
28
29
31
32
32
81
81
29
29
29
29
29
28
28
80
27
25
22
21
19
18
19
20
72
22
23
78
30
33
87
92
46
50
44
47
48
49
100
98
99
91
36
73
66
12
16
72
79
80
86
86
87
88
34
45
98
101
102
103
102
102
103
52
54
106
104
103
102
53
105
104
45
97
101
53
51
50
49
101
104
107
109
64
67
69
125
126
128
128
117
118
64
64
58
51
96
44
40
37
89
94
92
92
88
88
36
37
41
43
96
102
100
99
96
94
93
41
43
40
41
44
97
104
58
60
64
69
74
130
131
132
77
76
73
68
63
103
98
97
92
84
79
73
69
16
87
88
93
45
52
58
64
66
117
65
62
109
106
97
101
48
48
47
47
102
107
106
107
109
57
59
111
112
114
111
109
107
55
108
58
58
110
60
59
59
60
112
105
105
103
103
255
255
255
227
225
225
255
255
255
228
226
225
197
209
152
133
144
141
143
139
88
136
135
132
130
128
73
72
76
78
79
81
135
135
83
83
135
83
135
85
90
144
153
152
153
152
101
102
102
147
146
93
92
145
144
139
138
83
132
128
124
120
58
104
102
99
43
39
36
34
81
82
83
84
86
85
32
33
84
83
82
30
30
30
80
80
29
81
29
80
79
76
23
21
19
18
18
18
67
15
66
15
16
71
73
74
22
75
24
28
81
82
31
31
30
82
81
81
28
28
24
25
77
24
23
22
21
73
75
22
21
73
74
24
77
81
85
89
91
94
96
96
47
47
101
101
96
90
30
78
13
61
9
13
68
78
80
33
32
33
88
89
94
45
48
101
101
103
52
103
104
107
108
108
107
107
104
53
106
109
55
104
101
100
47
47
52
55
57
109
112
113
63
63
64
64
63
58
58
57
55
51
51
50
44
93
38
87
83
81
31
26
83
37
41
96
100
51
53
104
102
100
99
48
101
46
93
90
91
92
44
51
55
58
114
118
66
65
118
68
67
116
61
55
44
91
36
85
78
20
68
66
14
28
82
88
94
48
53
58
62
63
116
115
61
60
109
98
97
96
44
45
98
101
109
57
56
57
59
60
60
61
57
53
103
104
106
107
58
110
109
56
54
51
49
41
94
96
98
255
255
255
255
225
225
255
226
229
229
255
255
252
222
163
137
90
141
148
141
87
87
138
134
132
78
127
74
74
127
129
79
80
80
132
128
129
79
82
136
138
87
94
93
93
91
91
143
143
91
89
87
85
85
135
131
78
76
73
71
68
65
109
103
49
46
42
39
37
35
31
83
84
84
85
85
32
35
34
84
84
83
83
31
28
81
81
30
29
28
79
77
23
21
20
18
70
18
14
65
65
13
14
17
70
71
71
72
21
24
77
78
79
28
28
80
79
79
79
27
24
77
77
25
76
75
74
22
23
21
72
20
19
73
76
79
82
86
87
89
91
40
45
44
44
96
91
86
29
24
10
60
61
13
18
77
79
83
29
82
85
87
88
39
43
43
44
98
47
103
104
108
109
109
56
108
109
108
109
59
58
55
52
48
99
98
49
51
104
52
103
106
57
59
59
57
56
52
52
51
52
50
49
50
45
96
92
35
78
76
74
75
78
83
36
42
98
100
99
99
99
98
96
43
42
39
88
86
88
90
43
49
49
53
57
112
112
114
115
64
63
114
111
53
95
91
33
80
76
70
66
64
13
21
76
31
90
96
51
56
116
116
62
61
57
105
101
94
92
90
90
38
42
99
46
48
55
113
67
73
77
75
71
67
116
114
112
111
53
53
53
52
50
46
44
35
88
37
90
255
227
225
255
255
224
224
225
227
255
255
255
255
233
176
142
90
143
98
142
141
90
89
137
135
80
128
75
71
124
126
127
128
127
127
73
75
77
80
133
134
81
87
138
86
136
83
82
82
134
131
128
73
125
123
120
120
118
116
63
62
60
53
49
47
97
42
40
38
37
34
85
85
84
85
32
32
35
86
33
32
31
31
32
81
82
30
31
82
29
80
78
76
22
20
70
69
69
64
63
10
12
12
13
14
16
16
70
19
19
20
21
73
22
22
74
22
23
23
23
23
24
77
77
76
75
75
23
24
23
21
21
21
75
78
80
83
86
35
89
90
46
49
48
100
99
42
37
30
77
15
67
69
71
72
75
77
27
27
79
27
29
33
35
41
42
41
43
97
102
103
107
108
109
57
109
55
53
104
53
104
102
100
98
45
43
98
100
48
48
51
106
109
60
60
59
58
49
47
98
97
47
100
102
51
104
102
47
94
91
89
87
87
87
88
91
91
39
39
92
93
93
90
88
87
88
85
85
89
39
43
45
100
101
52
54
53
56
58
110
58
108
106
101
93
39
30
27
23
70
66
14
14
74
77
31
38
96
102
54
52
52
104
102
48
45
92
88
85
31
81
83
86
42
45
104
111
117
69
74
130
88
85
80
128
71
65
59
103
51
49
47
45
40
90
86
85
85
85
225
225
255
255
255
255
224
226
226
227
255
255
254
234
128
93
143
144
96
89
90
91
89
138
83
132
128
126
123
72
73
126
127
126
125
72
73
126
128
77
77
129
135
82
82
80
80
79
79
129
126
123
68
68
119
117
64
114
113
60
59
108
50
47
45
43
41
39
38
38
35
87
85
84
32
32
32
87
86
32
32
31
31
31
29
30
31
31
31
29
28
26
25
22
72
70
69
16
13
64
63
10
63
11
13
14
69
17
17
18
71
72
72
19
19
71
19
20
20
20
22
23
24
76
76
23
22
24
25
24
24
24
76
78
80
82
86
89
90
93
42
51
53
52
103
51
46
40
31
80
20
73
24
76
75
76
25
25
25
25
26
78
82
33
39
40
42
44
45
101
102
106
56
56
57
109
53
51
101
101
101
99
45
45
43
94
97
48
49
101
103
53
107
57
58
59
59
48
47
45
95
46
99
48
50
102
102
101
96
94
93
93
91
89
89
38
38
37
91
39
39
38
88
87
86
36
86
87
89
91
94
44
49
102
102
103
102
53
54
106
106
105
103
100
92
89
31
28
24
71
70
16
17
25
29
85
90
95
97
102
46
46
45
43
41
40
35
84
83
81
80
29
32
38
40
101
110
118
125
78
85
93
88
85
80
75
68
59
102
101
47
44
94
90
88
85
84
83
82
227
255
255
255
255
255
255
226
224
223
255
255
201
230
183
95
94
94
144
139
94
91
142
86
83
132
75
74
123
124
73
74
74
73
72
70
69
119
117
117
66
119
126
125
126
125
126
126
127
71
68
65
62
63
64
63
62
61
59
109
108
53
46
45
44
42
41
39
39
39
89
36
34
84
32
84
85
33
32
31
30
30
30
82
82
82
83
31
31
82
81
79
77
75
72
70
68
68
11
11
10
62
62
62
63
66
68
68
70
18
18
70
70
66
66
67
67
16
68
68
19
21
22
23
74
22
21
25
79
27
28
81
82
33
83
87
39
44
46
49
50
54
57
55
54
55
102
43
36
32
30
86
87
83
27
23
76
76
75
74
23
24
78
79
86
36
36
38
40
46
100
104
54
55
56
56
52
50
100
99
46
45
95
94
41
41
45
49
50
51
97
97
45
46
49
52
54
101
101
97
95
45
100
50
56
109
109
106
101
98
97
90
35
32
32
36
36
86
89
36
34
32
84
33
33
92
90
91
40
41
93
94
47
46
98
97
44
96
45
49
49
49
100
99
92
91
33
32
80
77
24
74
75
82
83
34
35
89
90
91
93
93
39
36
82
78
19
78
26
79
80
29
30
86
95
52
64
125
131
136
91
98
148
92
89
134
125
114
102
101
99
96
93
88
86
82
81
78
76
255
255
255
255
255
255
255
255
224
224
223
255
252
236
218
124
91
89
143
137
88
83
135
133
132
78
74
73
74
72
69
120
121
68
68
63
62
61
59
111
111
111
116
65
67
67
119
115
114
59
58
59
59
60
59
54
56
56
55
105
103
48
43
42
40
38
37
37
36
84
83
31
84
32
33
84
83
30
29
28
30
31
31
30
30
82
81
29
28
80
79
23
22
21
19
70
16
67
69
15
12
10
62
65
66
68
71
71
72
22
22
23
23
71
71
71
71
71
71
71
73
21
22
22
75
23
23
27
84
83
82
82
82
84
33
87
92
47
52
56
110
62
59
57
56
104
99
45
41
36
33
37
38
86
29
30
80
76
74
74
24
24
25
25
76
26
30
34
36
39
41
49
51
52
103
51
51
103
50
98
96
42
41
92
42
43
93
93
42
44
44
97
97
96
98
102
105
99
102
105
109
114
63
65
66
115
113
111
107
50
47
42
41
92
40
92
93
94
38
89
87
87
36
35
34
90
94
44
45
94
44
47
43
95
44
45
43
94
92
99
46
46
45
45
43
95
93
40
37
36
36
36
35
90
89
88
34
86
35
38
90
90
36
31
77
72
18
26
25
26
26
78
80
33
96
53
64
126
132
138
144
153
150
146
138
129
122
114
48
98
95
93
92
88
86
82
81
80
26
226
255
255
255
224
225
225
255
223
223
223
211
196
177
171
191
153
137
92
137
135
79
80
130
130
77
126
73
125
71
67
66
117
116
115
59
110
108
55
106
54
55
58
59
113
112
61
58
56
55
106
107
55
57
108
103
53
105
104
102
100
45
41
41
39
37
36
35
34
30
30
82
83
31
84
83
29
28
79
26
27
29
81
28
30
82
29
80
79
78
25
22
21
20
18
69
67
14
16
67
65
63
65
14
16
17
72
72
74
22
22
22
22
74
74
74
22
22
22
74
75
23
75
76
76
76
24
28
32
32
32
84
83
85
34
88
94
102
56
60
62
66
62
60
109
103
47
42
87
35
34
35
36
86
32
31
29
24
23
22
24
24
76
23
26
79
31
87
90
89
91
97
47
99
99
46
50
102
50
99
96
93
91
41
40
39
40
40
91
90
90
93
43
43
95
45
46
97
100
105
59
69
73
128
128
125
119
116
109
52
101
46
46
46
46
94
40
39
36
87
35
36
90
37
88
40
41
93
94
96
95
96
94
94
95
95
43
41
92
98
46
45
46
45
97
97
98
44
94
43
43
43
41
39
39
89
87
88
89
39
37
38
86
31
25
74
73
81
80
78
25
26
81
36
100
55
65
125
79
85
90
148
145
142
136
78
70
63
50
99
95
91
91
89
36
31
30
29
27
255
224
255
255
255
225
226
225
223
255
255
210
195
175
148
200
171
137
84
78
131
73
74
73
74
127
126
74
70
67
115
60
59
107
105
51
102
49
47
98
99
47
52
104
105
104
52
51
102
51
50
103
52
106
105
101
99
98
97
95
93
39
37
89
87
33
84
31
30
26
79
79
79
79
79
78
24
26
25
24
78
28
29
80
81
28
27
77
75
21
72
70
18
17
15
13
64
11
15
67
67
67
67
16
71
71
75
23
23
24
26
26
26
24
76
76
24
24
24
76
79
79
78
26
78
26
26
30
83
32
34
35
34
34
35
92
99
56
61
65
119
72
67
64
110
50
42
88
81
85
87
33
33
85
34
28
27
23
24
26
28
29
23
76
78
82
87
92
43
91
39
93
94
42
93
41
45
99
49
50
49
98
96
95
92
90
44
45
92
87
88
88
89
34
89
41
44
95
98
106
64
82
140
145
91
139
80
124
113
58
110
48
102
53
53
46
41
37
38
90
39
41
43
41
92
40
37
87
90
92
93
90
92
92
39
92
92
93
94
45
46
44
45
46
48
100
104
102
102
49
51
105
103
43
41
39
90
38
39
41
38
37
34
31
30
81
77
36
35
84
81
83
87
94
52
59
66
73
77
81
136
83
83
135
80
126
120
62
54
50
96
92
91
91
39
32
31
82
28
255
216
220
255
255
227
255
255
225
255
255
219
208
190
141
195
162
128
133
73
80
73
126
125
126
126
73
124
118
63
111
109
55
104
102
49
100
99
97
96
97
97
50
49
49
47
99
47
48
98
46
47
100
103
102
46
44
43
93
90
89
36
36
36
34
84
83
83
82
78
75
23
75
74
74
72
18
22
21
20
23
25
78
78
77
25
24
22
21
71
70
68
67
14
64
63
61
8
11
64
65
66
68
70
71
19
21
23
24
28
29
30
31
26
26
26
78
78
78
78
80
80
80
27
79
26
26
30
28
83
86
89
35
33
35
41
101
109
113
64
65
121
117
62
56
47
37
83
85
86
37
37
34
31
29
29
28
76
73
74
24
25
25
25
79
82
35
39
42
39
39
37
89
36
36
88
92
94
97
52
56
58
59
61
59
56
52
100
93
36
83
85
88
37
91
95
97
98
102
110
119
137
91
93
94
93
140
131
62
61
60
103
106
110
113
112
109
107
103
103
51
52
49
97
94
36
87
35
36
90
91
91
39
38
37
89
89
42
95
96
96
45
46
100
52
105
108
107
54
107
56
59
58
43
93
39
38
38
39
93
39
35
33
85
86
86
31
91
39
90
39
91
94
98
55
112
117
71
129
80
80
80
130
128
72
120
116
60
55
50
46
95
94
93
92
87
86
85
83
209
213
255
255
255
228
226
255
228
255
255
221
212
248
148
143
103
123
134
125
131
73
74
125
126
126
124
124
65
62
111
108
55
104
102
101
100
99
97
45
45
97
48
47
47
45
98
98
46
96
44
45
98
49
49
44
44
42
92
90
88
88
36
36
34
84
31
83
82
78
73
73
73
73
72
18
16
71
18
18
20
23
76
24
24
75
75
21
72
71
70
67
14
65
64
62
60
59
10
11
12
14
67
70
70
19
21
22
24
28
30
31
32
28
28
80
80
80
80
80
81
80
80
79
78
26
26
29
27
30
86
89
87
33
35
42
49
57
61
63
63
119
117
61
55
46
88
81
35
34
37
38
87
31
80
84
30
24
72
72
20
73
26
26
79
82
87
39
41
38
37
35
35
86
34
86
39
40
95
105
58
62
116
121
67
64
54
99
92
87
27
83
37
41
94
95
96
48
103
111
119
83
89
92
145
93
89
133
64
60
61
47
102
107
111
60
59
57
108
107
55
55
51
98
94
86
35
35
36
37
38
91
90
90
37
38
90
93
42
43
96
97
98
100
104
107
110
108
56
57
111
60
61
95
93
91
38
38
91
93
90
87
85
84
35
87
82
40
40
40
41
94
95
99
108
111
116
123
129
133
80
132
130
127
122
118
63
60
55
52
48
98
96
95
41
87
86
85
83
208
255
255
225
228
255
225
227
227
224
255
255
222
255
250
155
150
66
60
112
118
128
148
166
173
176
173
118
150
96
92
89
86
131
127
68
64
57
52
47
95
43
36
89
92
93
95
95
44
46
98
46
96
94
90
86
90
89
89
87
34
33
84
32
85
84
32
30
30
26
26
76
72
18
16
16
17
70
71
71
73
74
23
76
75
23
22
73
71
18
17
68
67
65
12
63
63
63
63
64
12
64
11
12
67
69
69
70
71
20
74
25
80
24
25
79
79
79
80
28
84
84
82
78
25
77
78
83
81
81
30
31
82
26
28
35
94
102
107
109
57
111
108
108
105
103
49
100
103
105
58
111
112
60
60
105
102
42
36
81
23
71
75
76
31
33
87
38
94
77
80
88
92
93
41
91
93
98
103
111
118
74
131
131
128
126
130
76
67
52
45
85
70
32
35
82
78
99
50
108
116
125
79
138
127
72
70
69
63
63
119
48
51
106
109
111
59
110
115
63
62
61
55
52
50
43
41
91
90
90
40
99
45
45
97
44
46
101
101
47
48
102
49
50
52
52
104
107
108
59
61
61
61
47
45
42
92
37
39
95
93
91
92
93
42
94
96
45
97
43
42
96
46
102
104
53
57
113
115
118
119
123
66
57
53
53
51
49
46
47
45
44
41
91
38
28
28
28
81
255
255
255
228
228
255
255
229
228
227
226
255
255
255
209
227
179
136
54
62
72
149
170
189
200
204
152
150
208
154
150
145
140
120
111
99
82
63
51
43
33
28
40
91
40
41
40
93
43
43
96
97
96
95
93
90
87
35
34
85
84
84
31
30
82
81
81
81
27
75
23
22
20
19
70
19
71
72
72
73
74
75
76
24
23
22
22
73
72
19
18
70
69
68
14
13
65
66
66
67
68
14
65
12
13
66
15
69
69
17
71
22
77
77
78
28
82
83
83
82
85
85
32
30
29
28
80
84
81
82
83
82
29
27
27
29
34
91
97
49
51
50
47
100
100
101
101
104
107
114
73
79
135
87
88
84
134
67
58
48
39
34
82
29
33
33
85
33
84
89
38
95
96
41
37
85
87
85
94
124
130
137
145
134
90
96
83
126
118
61
47
90
30
21
27
31
30
83
89
94
51
131
80
125
135
132
127
72
57
100
97
102
104
108
111
62
61
113
115
64
65
65
59
55
52
46
45
45
99
97
45
101
106
55
57
59
59
62
116
110
110
108
107
51
49
48
104
105
107
108
56
56
54
46
42
40
90
88
38
40
41
43
96
96
98
47
47
48
47
47
46
46
47
49
102
53
54
56
111
112
60
60
56
50
48
101
48
46
41
43
43
44
43
41
41
38
38
90
89
228
255
255
255
228
229
228
229
255
229
226
228
255
255
213
234
195
150
106
122
134
161
182
203
163
168
170
169
235
180
230
224
165
141
129
167
147
125
57
98
31
25
41
92
40
41
40
91
93
41
93
42
96
95
42
39
33
33
84
84
84
83
83
81
29
29
30
28
26
23
23
22
21
20
19
71
71
71
72
72
73
74
74
23
22
21
21
72
71
71
70
70
69
16
66
65
65
14
14
68
68
15
65
64
64
65
13
15
67
67
68
71
22
77
79
29
83
83
31
33
86
32
33
84
31
30
29
87
84
84
83
83
81
28
26
78
29
87
41
45
99
95
41
95
96
46
48
51
110
65
82
90
97
100
153
104
99
80
68
110
102
44
89
86
34
86
85
33
84
95
45
97
44
39
85
83
83
90
102
125
129
138
148
96
150
98
89
136
124
61
64
108
48
20
25
85
83
44
99
100
98
114
73
81
82
80
77
126
106
94
37
107
109
112
114
64
64
63
63
64
116
64
59
55
53
48
48
48
50
49
49
108
111
114
117
120
122
74
74
119
117
114
111
107
50
49
50
103
105
106
53
52
50
40
91
89
36
35
88
88
93
94
45
98
100
48
100
102
50
101
100
49
48
50
104
52
54
57
57
110
110
108
105
100
98
100
47
97
39
41
42
44
44
43
43
45
45
97
97
227
255
255
255
227
226
225
226
255
255
227
222
218
212
204
240
167
172
110
137
155
188
160
183
196
255
255
205
226
255
255
216
207
229
216
198
181
107
87
71
50
48
98
97
95
91
89
37
37
86
87
37
38
93
40
40
31
31
83
83
82
30
82
83
33
33
32
30
29
25
78
25
25
23
74
72
71
70
70
19
19
19
20
20
20
20
72
71
19
19
70
69
68
14
13
64
64
64
11
13
67
67
65
12
11
64
67
15
67
67
68
71
21
76
79
29
31
85
34
34
86
84
84
87
87
33
31
38
34
34
35
34
84
82
79
77
27
31
33
34
86
84
81
84
88
41
45
50
113
71
94
104
164
167
170
125
122
159
93
79
117
108
101
94
85
87
89
90
37
102
49
45
43
41
94
96
104
67
73
97
178
198
201
241
232
224
242
199
244
231
205
252
255
206
254
232
196
109
97
38
96
97
50
66
67
73
128
127
105
45
41
116
118
68
69
68
118
64
60
111
109
55
104
104
52
53
51
52
53
54
61
121
73
129
134
137
142
144
146
138
135
78
123
115
54
53
49
101
103
50
49
99
44
86
86
86
86
88
37
38
38
93
94
46
48
49
48
54
54
104
104
52
51
49
48
49
103
104
50
50
50
101
99
42
94
95
41
91
86
37
41
44
46
97
98
110
110
109
109
255
255
227
255
255
255
229
228
228
255
255
224
220
211
202
247
230
180
69
99
125
156
181
254
255
255
229
226
229
255
255
255
255
255
249
180
168
207
141
179
104
98
65
110
102
95
38
84
82
29
29
31
31
85
34
33
84
32
84
85
84
31
30
32
32
84
83
82
82
81
80
28
27
78
76
75
22
19
19
19
19
71
19
71
16
17
19
72
72
71
18
17
68
16
67
14
13
64
63
63
11
63
64
64
12
12
13
14
69
71
21
23
23
77
79
82
30
82
30
32
87
89
37
36
86
32
31
39
36
36
87
87
35
34
32
28
79
27
28
82
82
24
22
78
31
88
94
98
110
121
94
106
166
170
172
127
126
164
152
139
125
114
102
98
94
41
40
91
91
95
39
100
100
97
102
114
124
90
87
198
216
253
255
255
255
255
255
255
255
255
255
255
255
255
255
228
229
255
255
154
69
48
36
85
105
107
119
128
63
63
114
67
120
122
71
68
66
65
117
112
106
102
102
101
99
102
50
53
57
60
121
71
80
137
143
97
103
158
159
96
143
136
77
70
60
57
52
100
97
44
46
97
95
89
89
90
89
91
39
40
41
43
96
47
48
49
50
54
107
107
108
107
53
51
51
101
47
48
104
105
51
46
97
93
38
37
86
34
34
90
93
97
47
47
99
108
109
112
114
224
225
225
227
255
228
227
228
226
255
255
224
255
209
196
245
231
186
122
100
129
162
186
255
255
228
229
227
229
255
255
255
255
255
207
196
186
227
216
205
185
180
85
76
63
103
44
87
86
27
80
80
30
31
84
84
84
85
85
85
84
83
30
31
84
84
83
82
29
30
80
80
27
78
76
23
22
71
71
19
19
19
19
71
69
17
18
18
70
70
18
16
16
15
14
13
12
64
62
62
63
63
63
11
12
12
14
15
69
71
73
22
23
79
81
30
30
81
31
32
36
37
36
35
87
33
32
89
37
36
88
87
86
86
32
29
28
28
80
81
82
25
24
26
83
87
39
95
107
116
140
100
160
114
116
125
122
108
148
137
124
114
103
48
44
43
43
93
93
41
43
46
47
102
112
128
140
147
133
255
255
255
255
255
255
255
229
255
255
255
255
255
255
229
229
255
255
255
255
189
127
46
52
46
47
96
106
64
71
127
126
67
69
123
72
71
69
120
118
113
108
53
104
103
101
104
52
107
110
112
120
71
79
85
143
149
103
106
159
148
92
85
79
72
60
56
51
49
99
45
45
46
95
90
39
39
40
41
41
93
95
97
97
100
102
103
104
108
109
108
108
109
54
52
51
100
47
49
50
102
102
97
96
92
37
36
33
33
34
90
41
45
47
99
48
57
110
112
62
255
225
226
227
228
227
229
255
227
226
229
255
219
201
191
181
165
134
81
153
133
166
190
211
224
229
255
255
255
224
225
255
255
225
222
255
255
255
207
203
243
239
141
128
108
139
122
48
94
36
33
32
33
84
86
33
34
86
86
86
35
86
31
31
83
30
32
83
82
29
29
81
28
27
77
24
23
72
20
20
19
19
71
71
71
18
16
15
15
15
69
66
14
13
13
12
12
64
7
8
60
61
62
63
64
13
17
70
71
72
73
74
74
79
29
83
30
29
82
84
85
86
86
34
85
33
33
88
37
89
86
86
33
32
83
82
80
80
80
28
28
80
76
25
27
31
32
84
93
99
120
78
87
94
96
110
106
92
82
125
116
57
52
50
48
50
49
101
101
50
54
102
55
68
132
142
169
246
255
255
255
222
229
255
255
229
255
229
225
255
255
255
255
229
225
255
255
255
255
255
202
125
67
108
109
52
54
109
130
88
136
123
72
74
74
71
121
119
65
63
112
58
56
55
107
109
58
110
112
114
117
120
129
81
88
145
99
102
154
143
88
85
81
74
57
52
50
101
100
99
48
46
43
95
96
44
45
97
98
44
46
98
100
102
105
105
107
108
109
109
108
109
107
104
103
101
101
47
45
97
95
39
38
35
84
31
81
81
34
89
93
46
48
100
101
108
108
108
57
255
255
255
229
229
228
255
255
227
226
226
255
216
201
180
154
128
117
94
150
182
211
183
205
255
255
224
222
255
255
255
255
255
229
229
255
255
225
225
223
255
255
189
229
213
191
168
73
58
103
98
44
96
95
94
42
36
37
39
91
90
37
35
32
83
33
32
83
82
83
29
29
28
27
77
76
23
72
72
19
19
70
69
69
69
68
15
14
13
65
65
62
10
10
10
10
10
10
8
60
62
64
13
67
69
69
72
73
74
24
77
26
79
80
30
82
29
28
82
83
82
82
82
31
33
34
35
85
35
88
35
86
83
29
31
30
81
81
26
25
24
79
78
76
25
78
76
23
25
82
93
102
57
65
121
135
132
67
63
58
54
103
48
47
101
52
105
54
56
120
117
64
70
131
94
167
182
248
255
255
255
227
255
255
255
229
255
255
255
255
218
218
220
226
255
255
255
255
229
229
255
218
194
144
138
115
55
107
113
75
83
75
128
128
127
121
118
64
63
116
116
115
111
59
60
61
113
113
64
65
67
120
125
77
81
84
88
142
89
77
128
126
124
120
54
50
102
101
101
103
52
102
97
100
100
100
100
101
99
47
46
48
49
102
105
107
106
106
107
107
108
106
106
103
103
103
103
47
44
41
93
89
36
33
83
82
80
81
33
37
93
98
101
102
103
102
49
48
47
255
255
255
255
227
255
255
229
225
225
222
217
255
202
160
137
115
165
144
142
175
207
229
199
255
255
222
220
255
255
255
255
255
255
255
229
229
229
229
229
221
255
255
199
233
158
187
142
74
58
52
101
48
47
46
45
92
40
41
93
92
38
89
84
86
34
33
84
32
31
83
31
30
29
79
78
25
74
74
73
73
72
71
70
15
15
15
15
14
64
63
9
9
9
9
9
9
10
9
62
11
13
68
18
19
72
73
74
76
78
80
29
30
80
82
30
81
29
29
30
81
80
81
82
84
86
87
32
35
88
87
85
83
79
82
30
30
29
27
25
76
28
25
78
77
23
73
19
22
23
31
90
46
106
109
122
119
57
54
104
103
100
100
48
52
55
109
109
58
132
126
77
76
81
163
201
246
201
229
255
255
255
255
255
227
229
220
255
226
226
224
224
224
229
255
255
255
255
255
229
229
255
255
195
126
134
108
103
54
66
77
126
75
76
76
124
122
68
64
66
67
65
113
114
115
62
64
64
65
66
69
123
124
125
130
133
135
84
83
124
122
67
65
115
105
101
105
104
105
107
108
106
100
100
100
100
101
100
100
99
98
46
101
102
104
105
106
53
54
54
54
106
52
102
47
100
100
99
93
38
39
89
88
85
83
83
29
30
33
89
93
98
49
102
52
46
44
43
42
255
255
223
255
255
229
229
229
229
255
255
191
178
208
175
106
160
167
119
130
160
176
145
221
187
207
255
255
255
229
255
255
255
255
255
255
215
217
220
255
222
221
255
225
212
190
214
161
143
76
58
98
94
43
92
86
98
98
98
98
96
95
92
91
39
37
88
86
33
31
79
27
26
25
23
74
73
20
20
71
70
16
67
66
12
12
12
11
11
63
62
6
58
57
58
6
8
61
9
61
10
13
68
71
22
24
78
78
79
80
81
81
30
84
84
83
83
30
30
30
79
79
79
80
30
32
86
82
31
84
83
82
81
82
31
34
86
85
84
30
29
79
24
23
73
19
18
71
69
68
25
35
95
100
49
62
111
108
54
50
99
44
102
100
109
64
69
70
124
112
111
126
128
123
243
255
255
255
255
255
255
255
255
255
222
225
219
255
226
226
255
255
255
255
255
255
255
255
217
213
223
224
255
255
255
240
156
101
117
124
66
36
44
110
74
95
95
91
74
64
110
55
61
68
72
110
111
115
69
129
138
86
87
139
138
85
134
75
74
102
102
111
124
76
65
100
95
37
89
95
53
60
68
107
106
104
102
100
46
46
100
48
102
104
106
109
59
45
46
48
103
52
52
104
103
48
43
91
89
34
84
89
36
32
81
79
80
81
34
35
38
42
96
46
46
42
39
34
32
255
218
224
255
224
219
216
219
216
209
195
225
209
187
117
110
107
96
55
64
135
109
128
202
170
187
255
255
229
229
255
255
228
225
255
255
255
255
255
229
228
225
255
255
215
194
169
120
101
134
117
53
101
100
96
92
98
47
47
46
45
95
92
91
39
89
88
86
85
83
80
27
26
25
24
23
74
20
20
71
18
16
15
14
13
13
13
12
12
11
11
8
8
8
8
60
62
11
12
65
14
16
19
22
77
27
30
82
31
32
32
33
33
34
33
83
82
28
79
79
79
79
28
81
83
84
85
82
84
33
86
85
33
34
31
84
85
84
83
31
82
78
78
27
28
80
81
81
32
82
80
29
80
25
75
26
26
81
89
97
106
59
61
114
113
111
109
108
106
71
67
123
152
162
255
255
255
255
255
214
218
229
229
255
255
228
255
255
225
225
255
255
255
255
229
229
225
226
217
215
255
224
210
255
255
215
143
131
82
140
129
83
82
78
127
123
71
74
79
77
73
71
65
112
57
39
98
59
118
117
113
61
62
62
112
111
109
56
107
116
56
54
108
103
52
51
53
104
103
54
58
63
120
59
58
110
109
108
108
103
50
47
47
47
97
96
96
41
43
44
99
99
48
49
102
47
42
40
90
38
86
37
36
33
32
31
84
86
37
38
92
42
44
45
46
40
37
36
85
200
209
255
255
255
219
217
215
214
210
196
216
200
128
119
159
92
71
53
118
131
149
168
137
206
173
254
255
255
216
218
222
223
224
224
225
255
255
229
229
255
255
229
255
255
194
170
123
103
137
68
57
104
103
49
96
47
47
47
47
45
44
93
39
39
89
88
86
85
83
28
27
27
25
24
23
22
20
20
71
18
16
67
66
13
65
13
12
12
11
11
9
61
9
9
10
11
13
13
66
67
16
19
22
77
78
82
31
31
32
33
34
34
86
33
83
81
80
78
77
79
28
29
82
83
85
85
80
82
33
33
85
33
34
82
84
84
83
83
83
83
25
27
82
85
87
88
88
40
34
76
74
21
21
22
64
68
76
83
95
105
109
65
119
116
61
109
54
105
126
127
129
112
176
255
255
255
255
255
215
218
226
229
255
255
229
255
255
225
224
255
255
255
255
255
255
223
227
218
218
255
255
213
221
255
255
161
147
140
147
137
109
154
91
81
66
68
74
131
84
84
82
71
62
105
124
74
75
123
121
86
95
97
93
89
82
126
108
102
127
61
57
57
54
101
46
55
57
61
63
64
115
112
61
62
115
117
117
115
111
111
107
52
100
96
93
91
40
93
94
96
44
97
46
47
98
94
93
92
92
91
38
37
34
34
85
87
37
39
92
92
42
43
96
96
92
89
34
84
220
222
226
181
193
195
193
247
233
162
138
167
116
113
74
114
104
98
50
104
99
124
141
106
120
187
216
220
235
238
193
201
210
255
229
229
229
229
229
255
255
255
255
255
242
225
206
165
95
79
66
109
105
103
100
102
100
100
48
99
98
44
41
39
39
89
88
86
33
83
29
80
79
26
25
76
75
72
20
19
18
68
67
66
12
12
11
11
11
10
10
11
10
62
62
11
12
14
66
14
15
68
70
73
75
77
80
29
30
30
31
84
84
33
84
82
81
79
26
26
80
81
83
84
33
85
85
80
82
84
32
84
83
84
81
82
81
82
31
83
84
29
84
35
37
91
42
94
90
40
38
31
75
68
66
16
24
81
29
36
42
94
99
107
119
71
127
80
84
149
159
114
144
190
218
255
229
229
255
255
219
222
228
255
255
229
224
255
227
225
255
255
255
255
255
255
222
224
222
255
255
255
219
228
255
225
181
119
141
93
142
115
163
156
147
135
135
86
90
95
99
152
152
99
101
188
206
228
255
255
255
255
226
229
229
255
255
255
255
218
172
79
114
54
44
42
56
65
72
74
72
118
103
74
79
86
146
151
154
150
141
82
71
112
102
93
86
38
91
92
93
42
41
43
44
42
94
94
44
97
96
95
94
41
39
92
93
95
93
94
42
94
94
92
90
36
86
84
84
212
209
155
161
170
162
152
180
158
144
91
92
75
52
52
47
49
100
92
98
104
50
115
77
87
151
175
180
140
146
153
166
180
255
255
255
229
227
224
255
255
198
233
222
154
191
175
141
126
114
104
98
44
43
43
100
99
99
47
47
98
96
93
90
90
36
87
85
32
82
81
29
28
27
77
76
75
72
20
19
18
16
67
66
62
10
10
61
61
61
60
62
62
10
62
11
12
66
67
15
67
68
70
20
23
76
79
27
28
29
30
30
82
82
82
29
29
28
28
27
28
82
32
85
85
85
85
86
35
89
88
87
33
86
81
80
80
81
30
32
33
38
88
86
33
32
32
33
91
92
37
42
104
118
128
156
158
126
57
51
48
44
107
118
96
110
174
137
146
193
198
162
188
255
255
226
229
255
255
255
255
218
222
255
255
255
225
224
228
255
227
228
227
255
255
226
220
218
255
229
229
224
223
255
255
229
199
201
85
83
90
138
141
144
148
150
148
142
137
139
94
159
214
200
255
255
255
225
226
255
227
255
255
255
255
255
228
255
255
220
201
179
198
153
83
100
80
75
123
121
70
71
73
100
160
172
131
194
197
145
136
126
112
96
80
119
108
96
97
45
96
95
95
42
42
42
41
95
98
99
101
101
100
99
97
46
100
101
96
95
95
93
92
87
85
83
82
81
81
127
140
97
95
95
141
80
138
76
71
70
54
45
43
52
51
49
98
95
97
104
96
45
52
60
68
132
137
150
104
113
127
192
217
225
232
182
183
179
223
155
150
124
166
102
91
81
60
101
43
91
38
89
89
89
37
44
44
44
44
43
93
90
89
88
87
86
84
31
81
80
28
27
78
77
25
24
73
72
71
69
68
66
65
64
63
10
61
61
61
9
11
10
9
9
9
10
64
65
65
66
66
67
67
15
68
72
73
23
24
78
27
28
28
79
79
78
26
25
25
28
30
33
35
36
36
36
88
35
35
34
34
86
88
84
86
34
34
87
87
35
47
40
86
28
76
76
28
32
38
181
219
216
229
255
255
255
253
175
156
131
159
164
120
141
201
208
163
167
163
171
196
255
255
255
224
255
255
255
229
223
218
216
255
255
229
229
226
227
224
228
255
255
255
228
226
255
208
226
229
229
255
255
229
226
229
255
236
136
126
131
68
71
74
125
137
91
95
144
161
191
226
222
229
255
255
255
217
218
255
255
222
255
255
255
224
225
221
255
255
255
255
255
251
206
205
167
89
68
77
129
139
153
128
185
194
204
215
169
173
170
162
149
134
120
105
91
125
122
117
111
55
103
47
93
93
92
94
44
48
105
106
54
106
106
105
54
54
103
48
98
95
42
90
34
86
83
80
78
50
108
113
111
115
63
60
62
57
55
56
99
47
53
110
114
64
111
41
39
42
44
44
44
49
107
117
122
77
82
89
154
166
135
142
200
203
202
145
140
126
121
145
137
75
67
113
97
89
39
88
87
85
87
87
36
44
44
44
44
43
93
38
37
88
87
85
84
82
80
28
27
27
78
77
76
24
21
20
19
18
68
67
65
64
11
62
61
60
61
61
62
9
9
9
61
62
63
13
65
65
65
14
14
14
14
19
72
21
23
77
78
26
26
26
26
77
25
25
25
79
82
33
35
36
37
37
36
35
87
34
85
84
34
33
86
87
35
36
36
36
40
42
92
38
38
36
36
105
107
202
225
255
255
255
255
229
255
255
255
205
196
217
214
217
217
215
165
168
224
183
255
255
222
225
225
255
255
255
255
227
217
215
255
255
229
229
227
255
255
255
255
255
255
228
226
226
202
226
229
255
255
255
229
225
229
220
246
129
118
123
69
67
114
111
75
84
144
164
153
193
255
255
255
229
226
255
229
229
229
229
229
255
255
229
229
255
255
227
229
255
255
255
255
229
211
182
105
132
83
88
104
168
192
197
204
214
170
229
232
235
176
163
149
187
176
162
88
84
130
123
116
59
50
94
93
92
95
46
50
107
56
57
58
59
111
111
58
51
49
46
43
41
90
35
86
83
79
78
70
124
122
117
109
107
105
57
54
56
62
129
146
110
127
178
179
129
166
81
52
39
36
38
43
96
96
98
48
50
55
62
121
84
90
92
93
142
138
131
68
65
101
46
43
92
89
33
32
84
84
86
35
89
37
90
96
96
96
44
43
41
90
88
35
86
85
83
81
80
27
27
26
25
76
76
75
73
20
19
17
16
14
13
63
62
61
60
59
8
8
60
60
61
61
10
10
62
63
11
63
63
11
11
11
11
13
67
16
18
19
72
73
22
74
74
22
22
74
22
77
80
83
86
88
88
89
35
35
88
35
84
82
31
33
87
88
37
38
90
91
41
42
94
97
56
71
140
165
139
220
255
255
255
255
255
255
229
255
255
255
255
255
255
202
193
183
230
176
184
248
255
220
221
221
220
215
221
229
255
255
255
210
255
255
224
229
228
255
255
255
255
228
255
228
228
227
244
225
229
255
218
224
224
222
224
255
255
113
49
57
128
114
109
115
115
152
205
254
255
255
255
255
227
219
229
229
255
255
229
229
229
255
255
255
255
255
255
216
226
255
255
255
255
255
219
255
214
184
167
167
182
190
156
157
215
220
173
230
235
236
231
223
214
152
195
135
109
158
99
90
131
69
106
102
48
47
47
48
102
53
62
115
64
65
65
63
59
55
102
46
42
41
39
88
86
30
27
25
128
129
130
130
123
121
123
118
58
112
133
120
118
168
177
124
121
116
177
169
156
104
99
96
96
41
86
88
86
85
84
32
32
35
36
33
85
84
31
30
29
81
84
32
84
84
29
29
30
82
85
87
39
41
45
49
43
95
95
43
42
40
89
86
34
32
83
81
80
26
26
78
25
77
76
75
74
19
18
17
68
66
64
11
10
61
60
59
59
59
60
8
9
10
11
64
11
11
67
15
15
66
14
13
13
13
13
14
15
17
18
20
72
70
71
19
20
20
73
21
74
25
29
84
86
35
87
31
34
36
87
85
31
31
33
88
89
90
40
41
41
82
91
61
74
152
162
226
210
255
255
229
221
222
228
255
255
255
229
229
229
255
255
255
205
210
221
255
255
243
252
217
222
224
219
213
217
221
229
229
229
255
255
255
255
255
255
255
255
255
255
255
227
229
255
255
255
235
255
255
255
214
255
255
255
255
255
255
55
98
108
53
121
76
74
204
255
229
255
255
255
255
227
229
229
228
229
227
255
255
227
229
255
255
224
222
219
218
220
255
255
255
217
224
225
228
229
255
255
255
177
210
190
208
209
159
214
216
167
223
170
221
218
213
212
209
154
133
129
174
113
154
89
68
113
59
110
57
57
57
59
124
123
121
119
65
62
59
58
104
46
41
38
36
87
84
30
26
24
129
128
127
127
121
69
124
110
116
131
152
115
117
173
172
181
182
120
115
167
162
112
105
98
94
91
34
35
30
80
76
22
19
70
18
18
70
71
72
73
75
24
27
80
82
80
78
78
79
81
84
87
39
44
46
51
43
43
43
43
42
40
37
86
85
84
83
81
28
26
26
26
77
76
76
75
74
70
70
68
67
65
64
63
62
61
60
59
7
7
60
60
61
11
12
13
64
11
16
16
15
15
14
14
13
13
12
65
15
16
18
19
20
18
18
19
19
20
20
20
21
76
28
31
85
34
35
82
85
36
36
34
83
84
34
36
37
91
92
41
42
31
97
62
64
124
176
242
214
255
255
255
225
226
208
255
255
226
219
255
255
221
255
218
193
253
255
229
218
248
254
216
223
226
221
255
255
255
255
229
229
255
255
229
219
221
255
255
255
228
224
255
227
228
228
228
255
233
255
255
255
255
255
255
255
255
229
229
55
98
109
49
71
75
77
255
255
255
255
255
255
255
218
255
255
255
255
229
229
255
255
229
227
228
227
225
222
227
229
227
255
255
255
219
216
225
229
229
229
255
255
242
129
155
156
208
159
212
214
167
215
214
212
157
156
207
208
187
184
125
116
103
142
70
64
61
61
113
62
63
65
76
74
123
119
116
63
61
58
104
45
40
38
86
85
32
81
78
75
153
163
175
183
142
145
196
190
121
127
136
161
166
165
124
183
178
174
165
161
168
135
101
43
50
38
91
79
38
83
26
23
21
18
20
69
69
70
70
70
71
19
25
26
26
26
26
78
78
81
82
85
87
39
92
93
42
42
42
44
94
92
39
88
35
87
85
83
82
30
25
26
26
25
24
22
72
69
68
67
15
67
14
63
59
59
5
57
57
5
6
62
62
64
64
65
66
15
15
15
14
14
14
13
13
13
10
62
11
12
65
15
16
18
18
19
72
21
21
21
24
78
80
31
33
35
35
84
84
84
32
33
33
85
84
35
37
42
44
46
47
63
124
130
201
255
255
255
217
255
255
226
226
229
229
220
224
229
229
226
255
255
255
219
219
255
255
255
229
183
190
208
255
255
255
255
217
223
255
255
255
255
222
225
220
215
229
229
255
228
229
255
224
227
225
225
223
229
255
255
255
255
255
229
255
255
226
203
62
55
46
117
111
139
164
228
224
255
255
220
216
214
255
255
229
255
229
228
229
255
255
219
224
225
224
224
255
255
229
228
255
255
255
229
224
228
255
229
229
217
254
255
212
165
122
130
184
182
184
186
128
128
130
134
140
196
153
190
186
180
118
157
142
67
62
113
61
64
68
72
76
128
77
76
74
70
116
111
50
46
42
38
34
83
78
26
78
78
78
237
249
255
255
221
225
228
220
208
254
246
210
203
144
147
145
143
194
172
117
176
128
50
44
99
39
37
29
37
29
23
73
72
68
69
67
68
68
68
69
17
69
23
24
78
78
26
76
75
79
29
31
35
39
92
94
96
96
96
45
44
42
92
90
88
88
34
32
83
30
78
26
77
24
75
73
72
18
69
68
68
68
66
12
9
8
7
59
58
59
59
64
12
13
14
15
16
16
69
69
69
69
68
68
68
67
14
13
12
13
13
14
67
16
69
70
71
19
20
20
23
24
77
78
27
80
81
31
31
32
84
84
32
34
87
39
41
43
97
46
47
94
168
255
255
255
255
255
255
255
229
223
225
255
255
228
222
224
229
229
228
228
255
255
221
223
224
255
255
255
206
191
245
255
255
229
229
229
222
219
224
228
229
226
224
217
228
229
255
229
228
222
226
228
255
255
255
229
228
226
222
225
255
229
229
255
255
255
124
114
57
76
166
236
255
255
255
229
255
255
223
222
255
255
229
229
229
229
229
228
223
255
225
255
255
255
255
255
227
228
255
255
255
255
226
229
229
229
220
221
220
255
255
152
107
166
112
107
157
103
148
150
102
110
118
179
190
138
188
185
124
167
155
81
130
124
119
64
65
67
70
128
127
128
74
72
68
64
48
45
39
85
82
77
73
72
20
72
72
255
255
255
222
229
227
222
222
217
213
255
244
229
213
204
148
201
146
127
120
168
73
54
97
99
40
37
84
37
29
21
20
20
68
68
15
15
15
68
68
17
69
23
76
77
78
26
26
77
80
29
32
35
39
93
94
96
96
96
98
97
43
93
39
37
89
86
32
83
30
27
78
77
76
74
73
73
71
70
17
17
69
68
65
10
9
8
59
59
59
60
64
12
14
15
15
16
69
70
70
18
69
69
69
68
68
66
14
13
13
14
15
68
68
69
70
71
19
20
20
23
24
25
77
26
79
79
31
31
83
85
85
85
86
87
89
93
43
45
46
47
83
213
255
255
255
211
255
255
255
255
255
218
224
255
255
223
221
255
255
255
229
224
229
226
224
224
219
212
255
255
190
186
247
212
229
255
255
223
214
219
229
255
226
225
220
226
229
229
229
227
255
255
255
255
255
255
229
227
225
255
224
227
255
255
255
255
255
136
65
113
108
167
214
255
255
255
255
255
226
223
223
229
229
255
255
255
229
228
224
225
255
223
222
255
255
255
255
229
229
255
228
223
218
255
255
255
255
218
228
229
229
225
105
158
157
103
101
150
134
81
135
89
97
107
118
182
136
135
184
128
120
110
144
140
80
73
68
117
118
121
73
73
124
70
67
64
62
50
97
91
86
83
76
73
68
16
68
68
224
229
229
229
229
229
229
229
255
228
223
255
252
235
212
157
155
149
146
173
129
68
58
102
47
46
93
36
39
29
20
19
73
69
15
15
16
16
16
17
17
17
75
75
22
22
76
32
34
85
34
88
90
92
41
92
96
96
96
97
96
42
92
40
91
38
35
32
31
30
30
28
26
24
23
23
23
22
21
20
20
20
19
16
63
62
9
61
60
9
9
63
12
65
66
67
16
16
18
70
70
70
69
69
17
16
14
14
66
15
69
71
72
18
18
19
72
21
21
73
75
24
25
27
28
29
30
85
34
86
86
86
88
36
39
93
95
96
46
48
101
91
255
255
255
255
217
219
225
229
255
255
255
218
223
255
255
255
255
255
255
255
229
227
228
229
227
255
255
229
255
192
187
241
200
216
255
255
229
216
219
229
255
255
228
223
226
229
229
255
229
255
255
255
255
229
227
255
227
227
255
255
255
255
255
229
226
255
99
89
156
255
255
255
255
229
255
255
255
222
255
255
255
255
255
255
228
224
223
226
255
255
255
224
255
255
255
226
227
229
255
229
223
221
225
225
255
255
223
229
229
255
217
122
173
169
161
102
145
119
60
58
63
71
83
94
110
178
129
131
184
185
132
122
164
159
100
93
86
134
131
125
124
122
65
62
110
108
100
97
93
37
35
31
25
14
66
66
14
229
229
229
255
229
229
228
225
229
255
255
255
222
201
187
171
230
171
116
109
133
116
60
51
49
104
92
43
43
34
23
18
19
71
68
18
17
16
16
17
22
75
80
79
27
29
82
82
29
36
36
89
90
40
41
95
94
42
93
42
42
41
41
91
88
35
33
32
31
80
80
28
27
26
25
25
24
25
24
23
22
72
71
70
66
14
65
65
63
62
61
63
12
15
68
68
16
15
17
70
70
70
70
16
67
14
16
68
17
69
70
70
70
19
20
73
75
76
77
25
24
78
79
81
31
32
33
35
35
88
37
91
92
40
95
99
100
101
49
51
52
58
236
255
229
229
255
255
229
255
226
225
224
222
222
225
255
255
255
255
255
255
220
229
255
225
229
255
255
255
255
239
194
250
192
201
207
255
255
255
227
212
217
255
255
229
219
229
229
255
228
229
255
255
255
255
229
229
223
229
229
255
255
255
255
255
220
229
112
193
235
255
255
255
255
226
255
255
255
255
255
255
255
255
255
220
223
226
255
228
229
255
255
255
229
255
255
255
224
229
255
255
255
227
218
216
223
255
255
229
229
255
255
147
201
196
131
117
101
122
108
51
50
105
113
72
87
159
162
115
173
181
135
142
135
132
123
167
160
106
104
84
132
126
67
62
108
104
95
95
94
40
38
36
31
18
68
67
15
226
226
226
255
255
255
225
223
255
255
255
255
218
192
173
214
216
159
119
162
88
122
114
104
100
52
42
95
97
37
27
21
20
20
71
72
19
20
20
21
24
77
81
81
81
31
33
34
84
36
37
37
38
40
41
42
42
42
41
42
42
93
41
40
38
36
34
33
85
82
80
28
27
27
78
25
24
25
25
24
22
21
20
71
66
14
13
13
12
62
62
62
63
14
15
15
67
14
17
17
18
71
70
17
16
68
68
69
17
69
70
18
18
20
20
74
23
76
77
25
25
78
80
81
82
83
84
36
37
90
91
92
94
94
98
102
103
50
51
54
56
56
238
255
229
229
220
222
229
229
227
255
223
223
224
255
255
255
255
255
228
222
255
255
255
255
255
227
226
255
255
209
248
192
190
239
199
255
229
229
229
210
255
255
255
229
255
229
229
255
228
229
224
228
227
255
255
255
255
255
229
255
255
255
255
255
255
255
138
170
208
255
255
255
255
255
255
255
255
255
255
255
255
255
222
218
221
225
255
227
255
255
255
255
229
227
255
255
226
255
255
255
255
255
255
255
221
226
255
229
228
255
255
148
203
149
139
124
110
130
115
109
103
53
111
119
135
148
151
106
165
174
129
192
196
140
135
127
121
167
166
141
84
78
72
119
113
55
45
97
97
44
43
40
37
77
24
22
74
255
225
224
224
221
255
222
223
255
255
224
224
255
241
172
224
216
154
140
166
94
140
122
56
103
101
47
97
100
45
39
83
75
74
78
23
77
80
31
33
32
31
34
86
87
37
92
95
41
40
40
40
40
93
94
94
42
42
93
94
42
93
93
41
38
89
35
34
85
82
80
28
28
27
79
26
26
26
26
25
24
23
22
22
68
67
14
14
65
12
11
10
62
64
12
65
65
13
17
70
71
72
73
73
72
72
70
70
71
71
19
19
19
73
74
75
76
25
26
79
80
28
81
82
82
83
83
37
38
91
94
43
96
97
98
50
105
53
54
56
58
51
190
255
229
229
222
220
227
229
229
222
255
255
255
220
219
229
229
226
226
229
255
255
255
227
221
222
227
255
225
229
212
197
191
185
189
216
229
229
229
216
255
255
255
229
255
228
229
228
229
229
224
227
229
226
255
255
255
255
229
229
255
255
255
255
255
255
198
223
229
228
229
255
255
222
255
255
255
255
255
255
255
227
223
228
227
255
255
255
255
255
255
226
226
229
255
225
255
255
255
255
255
255
255
255
255
225
229
255
211
218
218
174
127
129
124
168
158
80
117
111
105
54
60
119
134
153
155
163
119
127
186
196
196
144
142
190
132
126
173
142
137
80
74
121
112
52
45
46
46
47
48
45
44
32
30
27
26
226
227
255
226
223
222
222
255
221
227
229
220
255
254
178
175
170
213
146
174
91
136
117
61
58
100
103
46
50
50
48
95
35
29
82
28
31
34
38
40
39
90
94
94
94
97
99
101
99
46
45
45
44
97
96
95
94
42
41
94
42
93
93
41
38
89
87
34
33
82
80
80
28
28
28
27
79
77
25
25
24
24
75
75
17
17
16
16
67
65
65
65
12
13
13
65
66
15
20
21
22
75
75
75
74
21
73
73
72
20
20
71
71
75
75
25
26
27
28
80
84
85
86
87
88
88
89
89
40
94
95
45
47
47
47
105
54
55
56
59
62
63
205
255
229
222
222
216
225
255
255
222
221
255
255
228
222
220
228
229
229
229
255
255
255
223
228
225
255
255
255
218
229
229
217
255
255
212
218
217
224
229
255
227
227
229
255
225
229
229
228
255
223
227
228
225
229
255
255
229
229
229
222
255
255
226
229
255
255
255
255
228
227
226
225
226
227
229
229
229
255
255
225
225
223
229
229
255
255
255
255
255
255
223
226
255
255
226
255
255
224
219
218
255
255
255
255
229
225
255
255
206
132
135
141
145
144
88
84
73
64
113
112
116
73
86
107
122
176
181
133
136
190
192
190
139
138
187
185
129
177
154
148
140
79
72
116
57
99
99
48
51
105
104
105
41
39
88
87
229
228
255
255
255
224
224
255
255
227
255
255
255
255
237
225
221
211
141
127
142
128
112
63
62
100
106
46
53
53
53
102
45
87
85
85
35
90
93
95
44
44
100
48
100
102
52
53
103
100
48
47
46
98
45
96
94
94
93
42
42
93
93
43
40
91
89
88
36
85
80
80
28
80
28
28
28
76
76
24
24
23
23
23
18
17
17
68
67
66
65
67
66
66
14
14
68
69
74
75
23
24
76
75
74
21
22
73
73
21
20
20
72
75
24
25
78
28
28
29
86
87
88
90
91
92
93
93
95
96
46
49
102
51
53
110
111
62
63
66
68
124
255
255
255
218
222
213
255
255
255
255
224
228
255
255
255
255
255
229
229
229
255
229
214
217
227
255
255
255
229
219
225
229
229
255
255
255
255
255
255
229
255
227
229
229
222
224
229
229
228
255
255
227
228
227
229
255
223
229
229
229
255
255
255
224
229
217
255
255
229
255
227
224
225
227
229
229
255
255
229
229
220
220
255
229
229
224
255
228
229
225
255
255
229
227
226
229
255
255
218
219
218
255
255
255
255
255
223
220
255
237
112
112
117
122
121
70
70
118
112
111
113
117
128
143
164
131
185
136
140
192
192
190
132
131
180
179
122
171
168
104
97
139
77
120
113
105
95
95
45
99
102
101
102
92
90
36
35
226
255
255
229
229
255
229
255
255
255
255
239
189
248
194
183
212
190
185
118
96
82
105
105
63
108
107
100
107
109
109
106
104
50
46
38
92
94
97
98
98
45
52
52
53
107
107
56
57
102
101
102
101
47
46
96
49
98
95
94
42
95
94
44
43
41
38
35
33
30
25
77
77
77
77
26
26
76
75
74
21
23
22
21
84
24
14
61
10
17
28
34
27
65
55
55
63
74
38
72
62
8
54
0
41
52
14
19
23
75
76
77
25
24
26
26
27
29
81
81
30
34
35
89
91
93
95
43
50
54
56
110
111
60
60
65
67
121
70
72
72
113
255
255
255
255
209
215
255
255
255
255
255
255
255
255
255
255
255
255
220
229
221
222
228
220
255
255
229
222
219
229
213
219
255
229
255
255
255
255
255
255
255
227
229
229
229
208
255
229
229
229
255
229
229
223
227
255
255
255
229
226
229
255
255
229
229
255
255
226
229
255
255
229
255
225
225
255
255
229
220
220
225
228
229
229
229
255
255
227
221
255
255
255
224
226
228
225
255
255
229
229
229
229
218
215
255
229
229
228
186
155
89
102
103
107
58
61
114
108
109
107
109
115
123
134
155
124
124
126
126
176
175
168
165
107
100
94
89
88
87
93
89
85
78
124
119
115
49
49
103
105
106
106
53
52
103
49
100
255
255
229
229
255
255
255
223
215
207
252
251
250
249
198
197
191
179
213
186
105
67
67
65
60
106
49
51
106
109
111
57
57
110
107
48
48
100
101
50
105
106
57
109
58
58
109
109
56
103
103
104
102
48
47
98
100
47
46
46
99
98
94
43
42
93
39
37
36
34
81
81
81
80
28
29
81
77
75
74
73
23
22
21
24
70
61
3
5
65
24
79
22
14
60
59
66
77
32
50
109
96
86
88
84
24
20
20
22
77
77
75
21
22
75
24
28
33
36
91
102
52
107
109
110
113
62
60
63
117
119
70
70
71
128
131
133
137
138
86
138
110
222
255
255
255
221
216
255
255
255
255
255
255
255
255
255
255
255
255
219
255
229
229
255
255
255
255
255
255
255
255
227
255
255
255
255
255
255
255
255
255
255
255
229
229
255
255
255
255
229
229
255
255
227
255
255
255
255
255
255
255
229
255
229
229
255
255
226
229
229
229
229
228
255
255
255
255
255
221
223
255
255
225
255
255
229
228
225
223
223
255
255
226
227
227
227
224
222
225
224
220
218
218
229
229
226
216
200
145
123
105
48
46
100
50
52
50
47
87
86
31
87
43
51
60
75
94
98
105
112
168
169
112
155
149
140
81
75
73
71
79
78
74
70
115
55
47
36
36
35
36
91
42
44
50
50
48
99
255
229
255
255
255
255
255
217
212
255
255
217
255
255
255
255
255
213
197
173
200
145
68
63
64
101
101
49
55
110
60
60
61
116
114
108
55
106
105
106
57
110
62
113
112
111
58
109
108
105
54
105
51
102
101
99
49
48
48
101
49
48
94
94
42
41
92
39
38
89
82
82
29
81
82
29
29
25
23
74
75
23
74
73
21
14
58
53
54
10
20
78
70
65
63
66
23
32
62
90
154
141
137
147
139
59
32
82
77
18
15
20
26
25
25
80
86
39
46
100
57
61
116
118
120
123
71
123
126
75
76
78
130
81
137
141
143
144
145
93
95
157
213
255
255
255
229
220
222
225
255
255
255
228
220
228
229
255
255
255
223
255
225
228
255
227
229
255
255
255
255
255
228
225
255
255
255
255
255
255
227
226
229
219
227
255
255
255
255
255
229
229
255
255
255
255
255
255
255
255
255
255
255
229
229
229
220
210
255
255
229
226
229
229
224
229
229
255
255
221
225
255
255
255
255
229
229
222
221
223
226
255
255
255
255
255
227
224
222
215
213
209
206
255
255
229
255
255
200
138
115
113
115
41
93
43
43
41
35
22
70
19
21
31
41
50
67
89
148
105
115
173
175
122
112
158
150
140
79
125
122
71
73
125
71
66
59
104
88
34
33
83
85
88
39
51
50
49
100
219
222
255
255
255
255
255
255
224
255
255
255
255
255
255
255
255
215
216
211
204
237
112
77
123
98
45
44
108
112
63
64
119
72
70
71
69
119
117
115
60
60
115
115
114
60
60
58
57
57
56
55
55
105
103
50
53
104
103
51
51
51
47
96
96
95
94
93
92
91
85
32
31
30
29
28
28
77
77
76
75
75
23
22
18
64
56
0
2
10
20
84
19
62
62
70
86
60
219
184
194
194
205
255
249
208
126
90
74
21
75
72
14
28
32
89
95
51
57
111
69
124
128
129
132
83
137
141
141
91
92
96
150
151
152
155
104
107
107
107
107
156
232
255
229
229
255
255
223
223
226
228
255
255
222
227
229
255
255
255
255
255
255
255
255
229
229
228
255
213
229
221
222
255
255
255
224
229
255
255
218
229
229
226
255
255
255
255
255
222
227
255
228
255
255
255
255
255
255
255
255
255
255
255
229
221
213
212
229
255
255
221
255
229
229
229
223
215
226
228
255
255
255
255
255
221
221
222
223
226
228
255
255
255
255
255
225
224
255
202
210
218
224
255
255
255
255
197
159
94
70
120
125
49
101
98
45
41
87
77
66
64
68
79
91
101
117
147
153
164
177
186
141
145
145
189
125
163
149
138
132
68
69
120
118
61
55
99
95
92
89
87
86
87
37
100
101
50
103
202
205
208
209
218
221
255
227
226
255
255
228
255
255
255
255
255
228
229
255
255
255
255
123
58
63
85
96
58
114
117
66
121
126
124
130
77
76
73
120
59
56
62
62
113
113
112
113
112
58
111
109
56
54
54
52
109
54
51
50
51
51
51
99
99
46
44
94
41
39
89
88
87
35
86
32
83
27
25
76
76
76
75
74
24
71
64
9
63
70
27
25
24
76
25
37
78
202
255
227
229
229
229
229
229
255
245
146
144
43
17
66
71
95
101
55
63
69
72
73
132
135
139
140
90
145
95
93
94
95
151
155
106
162
162
164
166
167
167
166
114
117
152
210
255
229
255
229
229
225
214
217
255
255
255
255
255
255
255
255
255
229
229
255
255
255
255
255
255
255
255
255
255
255
255
226
220
229
255
255
222
219
229
229
255
255
255
255
255
223
226
255
229
255
255
255
255
255
219
219
255
255
255
255
255
224
255
212
229
255
255
229
255
255
255
255
255
255
229
229
229
228
255
255
255
255
218
255
255
255
255
225
255
255
255
255
225
255
255
255
255
229
229
229
249
215
178
175
158
95
94
130
54
66
64
112
56
53
50
101
99
96
94
98
108
115
126
125
131
142
156
118
130
197
187
181
169
156
91
83
76
60
111
112
61
59
55
51
37
35
34
34
35
88
91
96
97
48
102
201
208
215
218
216
219
220
229
227
227
255
255
255
255
255
255
255
255
229
255
255
228
255
169
89
71
89
102
53
58
65
69
70
128
132
74
128
76
74
72
115
56
58
112
115
115
116
113
112
114
113
112
60
58
56
107
109
55
53
105
105
104
101
47
46
45
96
95
94
41
92
38
37
37
87
31
32
79
81
81
77
24
78
78
76
19
16
66
69
76
32
37
26
29
29
42
113
243
229
226
225
255
229
255
229
220
255
206
206
126
37
82
63
47
105
110
65
72
77
81
136
88
89
90
92
92
94
99
151
154
156
106
109
163
115
172
173
174
122
121
173
163
195
178
213
229
255
255
255
255
214
217
255
255
255
227
223
224
255
229
255
229
229
229
255
255
255
255
255
255
229
219
255
226
216
255
220
229
255
225
229
228
255
229
228
255
255
255
255
255
255
255
255
255
255
229
229
226
213
221
229
255
229
229
255
224
255
255
255
255
255
220
229
229
225
222
255
255
225
227
229
229
223
219
255
255
255
255
255
255
255
255
255
255
255
255
225
227
255
255
255
255
229
229
201
165
153
94
147
148
87
66
50
110
106
49
48
46
45
43
97
98
40
44
107
107
109
116
121
132
94
108
172
187
184
177
165
100
89
134
76
69
118
113
59
107
106
49
41
41
41
40
91
92
94
46
100
102
105
221
255
255
255
255
255
229
255
255
225
255
255
222
220
255
255
224
255
255
255
229
229
229
223
222
97
73
56
109
110
61
66
124
78
78
80
82
82
132
78
71
65
65
114
111
58
60
111
109
110
111
111
58
58
59
59
58
56
106
106
54
53
50
48
100
99
97
96
95
93
94
41
40
90
90
88
34
84
85
31
79
76
23
21
81
79
75
73
25
32
36
33
76
29
91
115
132
205
229
255
255
255
255
255
255
225
229
229
225
223
146
48
97
49
53
60
66
72
79
82
88
92
95
98
153
104
106
161
161
110
163
112
115
116
117
121
123
124
124
125
124
120
185
202
228
202
255
255
255
255
215
214
219
255
255
229
225
222
225
228
229
255
255
255
255
213
211
219
255
229
229
226
208
225
229
255
255
255
255
229
228
226
226
252
229
255
255
225
255
255
228
225
229
220
255
229
229
229
218
224
229
255
229
223
222
218
215
255
255
255
255
255
228
222
219
223
255
255
228
255
229
224
217
222
255
222
255
255
229
225
255
229
255
255
255
226
228
255
223
255
255
255
213
177
147
102
140
86
134
130
70
60
115
108
106
104
47
94
93
48
107
108
131
96
72
95
95
99
53
62
74
86
149
162
162
158
98
91
83
130
124
66
62
61
57
107
103
44
39
90
38
39
40
41
97
103
103
104
105
255
255
255
255
255
227
226
255
255
255
255
255
255
223
222
255
225
227
229
229
229
229
220
221
220
176
123
127
115
113
113
66
72
78
128
79
81
132
130
77
73
68
72
118
110
56
59
58
55
58
58
58
60
61
61
61
60
58
108
55
55
55
51
103
102
101
99
98
96
94
44
98
96
92
37
39
38
83
86
32
28
78
81
27
29
78
75
22
25
81
33
30
21
72
81
111
178
198
229
225
255
255
220
255
255
255
229
229
223
216
171
110
73
103
108
114
69
75
81
85
90
146
151
102
104
108
110
164
111
111
114
115
116
117
120
123
178
180
128
128
180
186
123
121
185
210
244
255
255
255
223
219
221
255
255
229
229
222
222
224
226
255
255
255
255
229
222
211
207
225
225
229
229
227
255
229
229
225
255
255
224
218
219
220
204
228
255
255
229
221
229
229
229
223
223
229
255
255
220
221
229
229
255
255
229
217
220
255
255
255
255
255
218
255
255
255
255
227
229
225
218
216
225
228
229
229
255
255
225
228
229
228
229
229
255
222
221
255
208
182
153
119
100
100
116
122
169
168
109
109
173
195
243
255
255
255
255
255
255
222
220
255
255
199
202
231
150
93
44
51
110
119
126
135
133
79
76
74
72
71
68
61
112
110
108
105
98
39
85
83
82
32
36
39
41
43
96
98
100
255
255
255
255
255
228
227
255
255
255
255
255
255
255
224
224
226
227
228
229
255
255
255
255
255
204
133
134
117
116
116
67
71
128
128
129
131
78
75
127
125
68
126
121
115
61
112
58
109
111
111
113
113
61
61
62
60
59
109
56
56
56
52
104
103
50
48
98
96
94
43
47
45
39
89
92
39
29
31
30
78
24
26
77
78
76
20
20
23
27
82
77
69
68
24
53
117
188
229
225
255
223
227
229
255
255
229
255
255
213
249
201
98
104
57
63
69
129
135
139
96
151
155
156
107
110
113
162
163
111
112
113
169
118
172
176
127
180
181
182
130
195
171
113
120
144
228
255
229
229
227
223
222
226
229
229
229
223
222
223
224
255
255
255
255
255
255
218
206
209
229
226
229
255
255
219
226
224
255
255
225
220
215
229
202
216
255
255
229
223
227
229
229
225
223
226
229
229
229
226
229
229
255
255
229
255
255
255
255
219
255
255
220
255
255
255
225
227
228
224
219
221
229
229
229
229
255
255
255
255
229
227
226
255
255
217
218
204
195
113
109
156
156
109
133
146
164
228
241
200
255
255
255
255
229
255
255
255
224
229
229
229
255
255
255
229
145
38
41
99
52
58
116
122
121
69
66
65
65
66
115
110
109
54
103
49
44
38
85
28
28
81
85
37
89
87
89
91
93
255
255
255
225
255
228
227
255
255
255
255
225
224
255
255
228
228
226
255
255
255
255
255
255
255
255
132
83
119
69
70
69
68
124
76
76
129
128
74
127
126
70
128
127
126
121
116
112
61
114
114
116
115
115
114
63
61
59
58
109
109
109
105
54
105
103
49
99
97
94
93
47
45
37
87
92
39
42
43
40
86
84
31
80
75
20
17
16
18
75
77
62
10
14
22
50
155
172
255
255
225
229
255
229
255
255
255
255
255
210
255
252
158
53
111
65
71
131
137
141
147
98
101
100
101
102
156
109
109
162
113
115
170
119
172
124
127
129
130
182
130
155
121
110
166
185
214
195
224
229
228
223
223
225
255
229
229
226
223
222
222
222
255
255
255
255
255
255
255
209
196
229
229
255
255
229
209
255
255
255
229
228
255
255
229
213
229
255
255
229
221
229
229
228
224
223
227
229
255
255
211
198
255
255
255
255
255
255
227
217
250
218
228
255
229
223
227
229
208
219
229
229
255
229
229
255
255
229
229
229
229
229
255
255
224
220
211
164
141
89
112
149
137
169
202
255
206
222
255
255
229
229
255
255
210
206
205
255
210
217
255
255
223
255
190
177
89
34
36
39
96
99
102
104
109
106
103
50
51
107
110
103
48
44
41
92
37
34
83
79
23
78
82
34
32
80
81
81
81
255
255
227
227
227
227
255
255
255
255
227
227
255
255
222
223
225
225
228
255
255
255
229
225
212
249
199
88
68
67
66
65
65
65
119
119
69
72
127
129
130
78
128
127
73
72
123
119
65
117
116
115
115
116
116
113
111
61
60
112
113
61
59
112
104
47
98
98
45
93
102
149
255
255
237
108
70
199
255
234
127
12
57
81
49
64
89
110
117
116
173
146
157
173
241
247
248
255
255
255
219
215
255
223
229
255
255
226
228
224
227
255
248
66
85
36
120
139
75
134
155
100
144
148
103
101
145
133
166
128
128
118
156
149
151
140
205
202
134
115
153
181
124
175
176
179
186
145
159
177
255
255
255
255
255
255
229
217
209
209
212
219
255
255
229
255
221
213
255
255
229
208
216
255
255
221
225
255
255
255
228
215
255
226
218
214
255
255
255
227
222
255
229
221
255
255
255
255
255
255
229
168
221
220
255
255
255
255
255
255
255
255
255
255
255
226
214
226
255
229
229
229
255
255
218
255
255
229
229
229
228
222
255
255
209
186
213
153
213
255
255
255
218
220
221
255
255
222
221
255
219
218
255
255
255
216
209
204
204
214
255
255
211
252
165
128
129
87
30
29
85
98
109
98
85
77
30
44
57
108
98
33
36
37
39
41
41
41
94
96
42
93
92
39
41
78
78
78
78
255
255
227
227
255
255
255
255
255
227
227
255
255
255
222
223
225
225
228
229
255
255
227
222
209
195
199
142
65
63
63
63
63
118
119
117
119
121
73
75
131
80
77
76
76
128
129
76
73
69
67
118
117
118
118
115
113
114
113
113
114
60
57
62
103
98
102
105
50
48
116
195
255
229
206
222
217
255
229
207
114
85
65
91
88
121
161
187
194
196
250
255
255
218
255
255
255
229
229
227
255
255
255
255
255
229
255
226
226
255
255
224
255
73
34
89
121
140
75
79
152
95
139
143
98
97
91
92
113
172
119
112
104
152
153
129
188
186
122
109
100
123
131
185
190
191
193
196
199
157
183
251
255
255
255
255
255
255
229
229
222
218
225
229
255
255
220
203
190
225
229
210
206
226
255
255
216
255
255
223
225
219
225
229
222
225
255
255
229
255
255
255
229
229
255
255
255
255
255
255
223
166
228
218
255
255
255
255
255
210
255
255
255
255
255
255
206
229
255
255
229
229
255
255
255
255
214
214
218
255
255
255
255
255
255
194
188
196
252
255
216
255
255
255
221
220
225
224
255
255
255
255
219
227
255
255
210
207
207
215
255
255
255
255
187
178
155
41
87
30
32
95
107
99
33
24
27
41
53
105
44
30
85
89
42
44
45
45
102
104
102
100
43
92
91
77
77
77
77
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
225
225
228
229
229
255
255
255
248
178
141
99
61
112
61
60
62
117
118
117
118
119
70
73
81
83
135
134
81
81
134
80
78
79
77
126
124
124
122
118
118
117
65
63
61
109
105
104
107
113
115
64
77
183
175
211
255
229
255
255
255
255
229
227
194
185
153
153
198
184
222
229
229
229
255
255
229
229
255
255
229
229
229
228
255
255
255
255
225
229
229
255
255
255
221
225
227
135
34
38
65
84
123
66
91
88
133
137
146
94
86
165
162
157
154
103
105
111
168
168
112
110
111
115
117
137
192
192
189
184
174
166
162
114
195
221
248
255
255
255
255
255
229
229
229
255
229
255
255
229
229
255
255
255
255
229
229
212
255
229
255
255
255
222
221
229
227
229
229
228
215
255
255
255
255
157
160
229
255
255
255
229
219
255
255
227
229
224
255
255
255
255
255
223
220
255
255
228
222
255
255
255
255
255
228
255
255
229
229
255
211
219
227
229
255
255
255
255
255
229
229
255
229
219
219
255
255
255
222
222
222
222
255
221
219
219
219
228
225
221
215
212
212
218
219
255
255
253
243
239
113
57
45
33
82
37
102
48
31
75
78
90
103
104
43
31
82
82
32
36
43
50
109
110
110
106
102
99
97
28
80
80
80
255
255
255
255
255
227
227
227
227
255
255
255
255
255
255
255
226
225
227
228
255
255
255
255
255
226
130
148
119
118
116
64
65
119
120
124
70
69
69
72
83
86
138
137
136
137
138
84
82
87
136
81
130
129
126
68
69
68
68
66
63
58
101
98
107
110
117
101
164
255
255
255
215
255
255
255
229
255
255
255
226
220
255
255
255
255
223
255
255
221
222
214
217
216
255
255
210
212
229
227
255
255
217
221
226
228
227
255
211
216
218
223
229
144
92
97
64
80
121
61
83
132
73
79
139
139
82
104
155
154
152
154
105
164
170
136
142
198
147
149
149
126
123
170
168
168
171
177
184
193
207
210
210
157
156
255
255
255
255
228
229
255
255
255
255
216
255
229
255
255
255
255
255
255
229
255
255
255
255
229
229
255
255
255
229
229
225
255
255
255
200
203
215
255
229
229
229
229
201
216
255
255
255
255
255
255
255
244
255
229
229
229
229
215
255
255
255
255
255
255
255
255
229
229
255
229
229
223
216
255
255
255
229
255
255
255
255
229
229
218
218
217
217
255
223
222
255
255
219
220
219
255
219
255
229
225
221
255
218
220
255
255
225
217
255
191
90
118
105
88
27
32
44
49
96
34
30
89
97
97
89
83
82
81
30
87
92
99
106
108
110
108
51
48
98
28
28
80
80
227
255
255
255
227
227
227
227
255
255
255
227
255
227
226
226
226
227
227
255
255
255
255
228
255
232
181
146
122
68
68
66
118
120
68
126
124
70
70
73
134
137
86
137
137
138
140
88
86
89
86
83
80
130
127
121
120
69
68
118
115
58
50
47
57
61
75
176
242
255
229
212
210
218
221
226
229
228
255
255
255
226
255
220
224
255
217
214
255
214
214
216
219
216
255
255
217
216
229
255
255
255
255
223
227
255
255
255
255
216
219
223
255
147
97
48
118
81
122
60
79
128
123
75
138
87
79
142
152
104
156
154
155
160
119
164
234
240
186
180
175
139
180
122
119
119
176
184
195
152
209
201
191
128
122
217
255
222
255
255
255
255
217
206
201
255
255
229
255
255
226
229
255
255
229
229
255
255
255
255
255
255
255
229
229
229
220
255
255
208
194
255
255
215
229
255
229
229
209
255
224
229
228
215
255
255
203
214
255
255
255
255
255
215
255
255
255
255
255
215
255
225
229
229
229
255
255
255
255
226
255
255
227
225
255
255
255
255
255
219
219
218
218
217
221
255
255
255
220
255
255
255
255
255
229
228
225
222
219
255
255
222
218
215
255
218
161
74
108
88
77
81
95
101
42
32
29
87
95
46
39
83
83
83
33
88
93
97
106
108
110
55
51
46
44
27
27
79
79
227
227
227
255
227
227
227
227
227
255
255
227
227
227
227
227
227
227
227
227
228
227
228
229
255
255
210
156
78
73
120
121
70
71
69
123
124
74
76
130
131
131
136
85
85
86
138
139
139
89
88
86
136
84
81
125
119
120
122
122
120
63
51
47
55
62
84
226
209
229
229
255
206
211
225
229
255
255
223
255
255
255
255
255
222
255
229
229
255
255
228
229
255
255
255
229
255
229
229
228
255
255
255
223
226
227
219
255
255
255
255
224
229
155
91
45
70
78
118
105
75
70
114
66
76
76
123
104
90
106
160
154
146
95
106
246
255
255
255
213
209
219
197
181
215
200
187
125
113
115
126
130
131
181
180
158
174
221
229
255
255
208
255
255
221
255
255
255
247
224
224
228
255
255
229
229
255
229
225
255
255
255
220
208
206
223
229
255
255
255
229
255
194
239
219
200
241
255
255
255
196
226
255
255
255
253
250
255
229
229
255
252
255
229
229
255
255
255
255
255
229
229
255
255
221
229
255
255
255
229
229
227
255
255
255
216
214
210
209
219
219
255
255
255
255
255
255
217
255
255
255
255
255
255
227
225
226
225
255
255
255
255
255
220
255
255
213
157
93
46
29
74
86
52
40
30
77
81
89
40
39
81
79
25
25
28
32
90
93
95
98
44
40
38
38
27
25
75
75
227
227
227
255
227
227
227
227
227
255
227
227
227
227
228
228
227
227
225
225
255
226
229
255
255
227
207
219
143
74
73
79
76
75
72
127
128
130
133
134
135
135
81
134
137
139
140
141
140
141
139
85
84
136
82
77
66
68
70
70
69
118
106
47
51
116
136
220
207
229
255
255
223
216
255
255
255
255
224
224
222
255
255
229
215
255
255
226
255
255
229
229
255
255
255
229
229
229
229
255
255
255
255
224
225
223
215
201
192
197
210
223
229
144
80
85
109
66
57
98
116
57
48
51
113
116
59
96
135
151
155
147
86
87
114
253
224
229
229
229
225
221
229
229
255
255
255
237
174
153
184
181
134
140
194
110
114
195
165
190
255
229
255
255
229
255
229
255
255
225
224
220
255
255
228
229
255
229
229
255
255
255
229
218
220
221
255
255
255
255
216
223
255
255
255
180
199
209
224
194
211
251
248
253
228
216
230
255
229
218
223
255
255
255
229
228
229
229
229
222
255
255
255
226
223
216
255
255
255
216
218
219
221
221
222
255
255
225
227
255
255
255
255
222
223
225
215
221
255
255
255
255
255
255
255
255
255
255
255
225
229
255
229
229
229
255
255
255
171
101
22
17
33
54
43
28
19
20
27
33
88
83
80
77
24
25
29
34
91
40
39
36
35
87
90
80
25
74
72
227
227
227
227
227
227
227
255
255
255
227
227
255
227
228
228
228
255
225
225
255
255
223
255
229
228
209
194
113
135
74
78
72
76
125
127
128
130
132
135
136
84
82
136
137
139
140
142
142
141
139
136
83
84
83
79
67
69
71
73
72
121
109
102
52
114
129
156
202
229
218
227
255
224
224
255
255
223
224
224
220
216
220
228
215
217
255
221
255
255
255
255
255
255
255
255
255
255
229
255
255
255
255
255
255
255
214
199
189
194
255
226
255
140
24
80
102
110
100
40
57
51
43
48
112
114
111
106
135
146
96
141
136
87
107
197
255
255
255
229
225
203
255
255
229
229
255
255
212
194
225
163
152
143
187
174
118
171
187
215
246
221
255
229
229
255
229
255
255
229
255
255
255
255
224
227
229
255
255
255
255
224
227
205
255
204
255
229
229
229
229
208
251
209
214
193
194
194
216
245
255
240
235
240
174
164
183
226
223
221
229
255
255
255
229
229
229
229
223
218
255
255
229
229
228
255
213
213
214
255
217
217
220
222
255
255
227
229
255
255
226
255
255
222
223
223
226
229
229
229
255
255
226
255
255
255
255
229
229
229
229
229
229
227
223
255
255
255
124
47
19
14
28
52
45
30
18
17
22
28
84
84
82
81
28
29
85
89
91
39
37
37
37
89
90
82
78
74
20
227
227
227
255
227
227
255
255
255
227
227
255
227
227
229
255
255
255
255
255
255
255
255
255
255
255
214
202
150
95
124
127
69
129
123
124
72
128
130
80
134
134
138
85
83
82
82
87
140
141
139
136
134
136
84
82
65
121
76
79
132
129
57
105
50
60
122
193
191
229
255
223
229
229
255
255
255
220
223
220
215
212
220
229
255
229
229
228
255
255
255
229
255
255
255
217
255
255
229
229
225
222
255
255
255
220
207
196
186
193
211
226
255
130
17
77
98
51
41
85
102
45
39
96
105
106
101
78
129
126
69
119
123
79
95
169
187
251
255
255
255
255
255
228
229
255
255
229
229
229
217
209
209
213
255
255
252
231
218
210
209
216
228
196
224
226
227
229
229
229
255
255
255
219
216
215
217
229
255
255
255
224
217
229
255
255
255
198
184
176
217
221
255
210
222
255
255
169
194
206
192
232
188
190
191
185
195
215
195
213
255
255
255
255
255
255
255
255
255
229
229
255
255
226
229
255
255
255
226
255
223
223
221
221
255
255
220
255
255
228
228
255
255
229
226
224
255
226
255
255
223
226
229
229
228
255
255
229
229
229
225
217
214
255
255
255
255
211
124
55
28
15
22
108
49
32
70
65
20
28
88
85
35
36
37
39
41
41
91
89
35
37
89
87
34
86
81
76
72
225
225
225
255
255
255
255
255
255
226
226
226
226
255
255
255
255
255
227
255
255
255
255
229
255
255
255
241
142
93
65
67
118
120
119
67
67
122
124
76
132
83
84
89
90
139
138
131
122
68
117
64
118
71
74
77
75
122
65
64
63
110
91
38
41
53
86
197
255
229
229
255
227
228
255
255
255
220
228
229
255
255
229
255
255
255
255
227
229
229
229
229
255
255
255
227
229
255
255
224
228
229
229
255
250
175
255
255
207
178
187
217
229
103
48
104
92
38
44
91
92
94
95
96
98
101
102
96
55
62
66
71
73
74
76
96
122
160
230
232
239
255
255
227
255
255
255
229
225
224
222
221
255
222
222
255
255
255
229
227
223
255
255
219
229
229
229
222
213
229
255
255
255
229
255
255
216
205
255
255
255
224
209
229
255
226
255
255
214
199
165
187
151
216
197
218
230
199
190
201
201
173
180
176
206
196
220
190
232
255
255
255
229
255
255
255
255
255
228
226
225
224
255
255
255
229
229
255
223
223
255
228
221
223
226
255
255
255
229
229
227
255
255
222
222
255
255
255
255
255
255
255
225
229
255
255
255
255
255
255
255
229
229
255
255
255
223
58
100
94
44
45
40
34
82
81
80
80
30
34
89
85
87
35
37
91
41
45
50
102
102
101
99
43
41
36
83
76
70
225
255
255
225
255
255
225
255
255
226
226
226
255
255
255
224
224
227
255
228
229
229
255
255
255
255
254
239
137
145
118
67
118
122
119
122
123
123
126
127
130
78
80
81
82
135
137
142
139
85
82
80
81
84
93
105
124
77
85
142
140
129
101
52
51
103
72
129
201
229
227
227
227
255
255
255
223
255
227
228
255
255
255
255
255
255
255
255
229
229
229
255
255
255
223
255
255
255
255
222
226
229
229
255
249
175
255
255
255
236
192
217
228
101
99
51
92
91
95
90
91
41
41
43
96
99
100
93
103
110
63
118
66
66
74
87
101
141
227
238
242
227
229
255
255
228
229
229
228
227
223
255
221
221
221
255
255
255
255
255
227
223
255
255
254
255
255
229
229
229
229
229
228
226
255
255
255
221
220
220
228
229
229
229
229
222
223
255
226
226
255
234
169
212
217
226
203
197
198
196
170
174
215
227
200
183
165
212
250
255
219
255
255
255
255
255
255
255
255
220
226
228
220
212
255
209
214
222
228
229
227
255
255
229
229
229
229
229
229
255
255
255
255
255
223
220
229
255
255
255
255
255
229
229
229
255
255
255
255
255
255
255
229
228
255
211
183
104
97
93
95
95
90
87
81
29
29
81
83
86
89
36
36
88
90
91
94
95
99
101
102
100
98
44
93
34
30
24
71
255
255
226
226
255
255
226
255
255
255
255
227
255
255
226
255
255
227
255
255
255
229
229
228
224
255
243
174
179
150
124
68
71
122
70
75
127
127
76
129
131
79
64
62
68
79
141
105
111
146
162
182
199
212
222
229
225
219
207
185
208
124
126
113
118
66
123
158
162
225
227
227
228
255
255
228
227
219
224
224
255
255
255
255
255
221
255
255
229
255
255
255
255
255
255
255
229
255
255
255
221
229
229
222
199
183
255
255
255
255
213
207
187
94
94
45
41
90
90
85
84
34
35
36
90
40
94
87
45
101
103
105
104
52
56
73
99
164
121
155
199
224
255
255
228
227
226
255
229
229
255
255
255
255
255
255
255
222
255
255
223
255
255
255
255
255
207
200
196
184
198
255
255
229
229
229
228
224
224
229
255
229
224
255
255
229
229
255
216
212
246
249
255
204
191
239
255
208
234
232
198
161
204
207
244
228
170
185
220
218
212
214
255
255
255
220
221
255
255
255
225
228
228
226
224
227
225
222
221
224
229
229
229
255
255
255
255
223
224
255
255
255
255
255
255
255
255
229
229
229
255
255
201
229
224
254
244
254
255
255
229
229
222
255
229
201
124
97
97
98
97
93
89
35
31
84
33
86
87
88
88
90
91
39
92
41
95
97
96
97
97
97
94
39
88
30
27
23
21
225
225
225
255
225
225
225
226
226
226
255
226
255
255
255
255
255
255
255
255
255
255
255
224
220
255
230
158
185
118
92
77
80
129
130
78
78
130
80
84
140
89
103
104
124
211
236
247
204
210
213
216
255
255
255
255
229
255
255
229
229
220
188
200
171
165
197
237
255
255
229
229
255
255
255
226
229
224
255
255
255
255
255
255
255
223
218
255
229
255
255
255
224
227
255
229
229
255
255
255
255
255
219
209
205
255
251
250
255
255
255
237
178
36
87
87
85
83
27
27
27
80
29
30
84
34
87
87
41
44
47
46
47
44
45
117
129
167
225
200
185
222
223
255
255
255
225
223
226
255
255
255
255
229
255
255
255
255
225
227
255
255
255
255
228
255
255
229
229
229
255
255
255
216
212
210
229
229
255
221
255
255
215
255
255
219
224
255
255
229
221
218
255
202
255
233
171
161
218
233
255
255
231
209
220
245
255
211
224
255
208
201
255
255
223
224
222
255
255
255
255
218
255
255
229
229
229
229
228
223
255
255
255
255
255
255
226
229
255
255
255
229
229
255
255
255
255
218
215
211
210
255
221
229
229
226
216
255
255
255
229
255
255
229
235
159
90
45
100
50
100
97
43
83
32
32
32
31
84
84
85
87
88
37
38
40
93
95
42
93
92
37
86
30
26
30
27
76
22
226
226
255
255
255
226
226
227
227
227
255
227
227
255
255
225
224
225
224
255
255
255
255
255
255
255
224
155
145
134
105
137
87
85
139
135
83
136
85
139
141
89
169
116
140
234
255
224
255
229
228
224
222
222
255
255
229
229
229
229
255
255
255
196
176
165
236
215
255
255
255
255
255
229
225
225
229
229
255
255
255
255
255
255
255
255
218
219
225
229
255
219
255
255
226
229
255
255
255
255
255
223
210
202
208
255
197
191
255
255
255
173
98
33
32
81
29
26
23
76
78
80
29
81
82
83
33
82
90
42
44
95
96
96
50
130
164
207
255
217
249
255
222
222
226
227
227
226
228
255
255
255
227
228
229
255
255
255
225
229
255
255
255
255
229
229
255
255
255
255
222
222
255
255
214
211
192
255
255
255
255
255
255
255
255
255
255
255
255
228
229
218
192
194
255
246
188
171
170
168
232
247
215
186
199
225
198
208
206
255
255
255
222
255
227
221
255
255
255
255
229
229
229
229
255
255
255
216
255
255
229
255
255
255
255
255
229
229
255
255
255
229
229
229
255
215
201
207
215
255
255
255
218
229
229
255
229
225
255
228
229
229
255
237
163
110
92
40
44
97
97
46
47
83
30
28
27
77
77
78
80
31
32
86
36
91
93
43
41
92
90
34
30
25
21
82
80
78
77
223
255
255
255
255
255
255
255
255
255
255
255
226
226
225
225
225
227
224
222
255
255
255
198
191
189
173
165
151
151
148
195
195
150
151
196
202
201
197
198
183
178
176
123
138
172
202
225
229
255
255
229
255
255
255
229
213
214
217
255
255
255
255
255
229
229
229
229
255
255
255
255
255
229
255
255
255
255
255
255
255
255
255
224
255
255
255
255
220
224
222
222
255
229
229
229
255
255
255
255
255
220
208
203
255
255
198
186
204
255
255
183
50
74
23
23
24
75
76
76
75
74
75
76
76
27
27
73
82
36
92
96
47
102
111
92
170
209
207
255
255
255
255
226
225
226
225
226
255
225
255
229
229
229
229
255
255
227
228
255
255
255
255
255
229
229
229
255
255
255
255
221
222
224
228
229
229
255
255
255
255
255
255
255
253
255
255
255
255
221
211
240
244
196
195
205
209
217
246
155
192
204
236
196
182
155
185
253
249
205
255
222
225
255
255
255
255
255
255
255
255
255
224
224
255
255
229
229
255
255
255
255
229
255
255
229
229
255
255
255
255
255
211
211
212
212
214
255
255
255
255
255
228
218
255
229
229
229
224
255
255
195
127
120
85
76
40
33
37
40
93
42
41
29
25
73
18
70
71
21
77
85
85
87
87
90
42
44
43
39
35
29
22
17
15
30
29
27
78
220
255
255
220
255
255
255
222
223
255
255
255
228
229
225
255
226
227
225
223
223
255
255
207
197
192
190
243
235
239
189
189
192
206
209
213
215
255
255
207
255
251
198
188
237
247
255
255
229
229
255
255
255
255
255
226
255
255
226
223
255
255
226
228
255
229
229
229
229
213
227
255
255
255
255
255
255
255
229
229
224
218
218
220
229
229
228
225
224
219
222
219
255
255
225
255
255
224
255
255
255
222
217
255
255
255
252
195
203
196
150
78
24
16
17
17
18
19
71
19
73
73
18
70
17
17
69
62
20
25
82
34
37
41
52
83
157
223
255
255
255
229
229
229
229
229
225
221
227
227
224
226
225
224
222
255
255
229
229
229
255
255
255
255
219
214
211
255
255
229
255
255
229
229
255
229
229
229
229
229
229
229
229
229
229
229
229
255
255
229
229
255
255
255
252
236
228
193
255
252
226
217
204
241
224
179
190
255
255
255
255
217
218
219
221
255
255
218
255
255
255
255
225
255
255
229
229
228
255
255
255
255
255
255
255
218
255
217
255
255
228
228
227
227
226
226
222
255
224
223
255
255
255
255
223
218
221
229
229
248
111
70
90
78
78
27
26
33
38
43
97
45
42
78
18
14
63
64
65
67
71
85
87
90
91
93
42
41
39
37
31
26
22
18
15
25
24
23
75
217
217
218
218
219
220
255
218
219
220
223
227
255
229
225
255
226
255
255
224
224
255
255
255
205
250
247
250
191
195
249
195
197
208
255
215
217
216
255
215
216
201
253
199
201
212
223
255
255
229
255
255
211
208
208
255
255
255
255
255
226
226
227
255
228
229
229
255
226
203
229
223
220
255
226
255
255
255
255
229
227
223
221
255
229
229
225
227
223
255
255
255
255
209
225
255
255
222
255
255
215
255
222
255
255
255
255
255
254
224
112
52
19
14
66
66
14
15
68
16
18
68
15
67
15
15
68
67
24
80
83
87
89
92
103
131
143
221
255
229
229
227
229
255
255
255
255
255
226
255
255
227
226
255
225
229
229
229
229
255
229
255
229
229
223
255
255
215
217
229
229
255
255
255
222
219
218
216
217
255
223
222
220
224
229
229
226
221
255
255
220
229
220
187
236
227
220
166
189
203
231
203
176
217
224
229
185
197
214
255
255
255
255
217
219
221
220
255
255
255
255
255
221
255
255
221
220
255
255
255
255
255
255
255
220
220
221
223
255
255
228
228
227
227
224
224
219
220
221
221
221
255
223
225
212
255
215
226
216
123
71
87
72
24
32
85
77
33
39
96
98
98
43
77
69
64
10
11
64
66
19
33
35
91
94
43
42
40
37
33
29
77
20
17
15
23
23
22
22
213
214
214
215
215
255
255
255
215
217
220
227
229
229
225
225
255
228
255
226
226
224
227
255
255
255
201
199
255
208
211
212
214
223
224
224
225
229
229
229
255
248
255
229
229
229
255
255
255
228
221
214
211
208
255
212
229
229
255
255
255
227
229
227
255
229
229
255
220
218
255
229
217
212
215
218
223
225
229
229
229
229
229
255
229
226
223
255
255
255
255
229
229
228
229
255
227
218
255
255
208
224
255
255
205
201
255
255
238
120
56
26
27
62
62
11
11
63
64
11
9
61
63
64
15
17
18
23
28
83
84
30
83
83
38
66
96
219
255
255
229
229
222
255
255
255
255
226
229
229
255
255
228
255
255
255
223
224
224
224
226
255
255
229
255
255
255
226
228
215
217
255
255
255
223
226
229
255
229
229
255
255
255
255
255
255
255
255
229
229
229
255
205
184
214
195
140
121
179
147
136
187
199
211
171
183
244
251
250
249
199
210
255
212
215
222
224
255
255
255
255
255
226
228
255
227
228
228
255
255
255
255
255
255
229
229
228
227
255
255
228
227
226
225
224
222
219
218
255
255
218
219
215
229
224
255
234
146
113
81
54
39
32
30
28
77
83
32
37
94
96
97
43
80
72
68
66
15
17
19
25
37
39
94
95
42
38
88
82
80
76
73
70
67
66
19
20
73
22
213
214
255
255
255
255
255
255
217
219
222
255
229
229
225
225
255
228
255
227
227
229
229
255
255
255
255
255
255
215
220
255
255
228
228
229
229
229
229
229
228
190
203
212
220
226
229
229
229
229
229
229
229
229
255
255
216
217
255
218
255
255
255
229
229
255
229
255
255
221
255
255
255
224
255
215
215
227
226
225
227
229
255
255
255
229
255
255
222
226
224
229
229
229
229
229
225
255
255
255
209
229
255
255
200
195
255
222
162
83
29
74
88
63
11
10
63
11
11
11
11
63
63
63
63
65
65
85
38
37
88
33
29
26
25
110
60
161
248
255
255
255
255
255
255
255
255
226
221
222
255
255
255
255
229
220
218
255
219
221
255
255
255
229
255
255
255
226
228
229
229
229
228
225
221
255
255
255
213
214
255
255
255
255
255
228
229
228
224
222
255
212
205
186
225
213
160
188
174
147
148
199
196
225
179
183
188
249
255
212
255
255
255
255
255
227
228
228
229
229
255
255
227
255
255
255
229
229
229
255
255
255
255
228
229
229
255
255
255
255
228
227
225
255
255
255
255
255
255
255
255
255
209
255
255
255
190
143
85
42
105
110
53
89
74
73
53
30
34
38
40
42
43
32
74
18
16
18
20
22
28
35
88
36
35
32
31
27
76
23
74
70
15
65
13
19
20
74
75
208
208
208
255
255
255
255
255
255
218
221
255
255
226
227
227
227
227
255
227
227
255
255
255
255
255
255
255
255
255
255
255
255
223
219
217
214
223
229
229
255
253
255
229
229
226
255
255
255
223
223
223
255
255
223
255
255
255
255
255
255
227
255
222
222
225
255
226
225
226
228
255
229
229
255
255
222
229
229
229
229
255
255
255
255
255
228
229
229
229
229
221
226
255
255
255
255
255
255
255
255
255
229
229
255
220
170
131
88
56
89
79
73
17
14
63
61
61
64
16
15
68
65
13
64
67
69
67
82
35
39
38
34
30
75
101
111
108
180
255
255
255
255
255
220
229
255
255
229
229
229
229
255
255
225
229
229
255
255
255
255
255
255
228
255
255
255
255
225
226
255
255
223
222
221
221
216
255
255
255
255
255
255
255
255
229
229
220
255
255
255
226
227
255
253
194
188
225
230
170
225
170
155
167
233
245
192
189
201
200
255
255
255
255
255
255
222
227
227
227
229
228
255
255
255
255
226
226
225
225
255
255
255
255
223
223
222
255
255
229
255
224
219
255
255
209
255
255
255
255
255
255
199
221
255
178
138
147
118
60
110
115
64
109
98
90
26
28
32
35
37
91
93
37
80
78
23
25
80
82
85
37
38
39
39
86
30
25
75
23
73
71
72
21
22
75
76
77
79
206
255
255
255
255
255
255
255
219
221
255
255
255
255
255
255
227
227
227
227
227
255
255
255
255
255
255
255
221
255
255
255
227
224
221
221
215
222
229
229
255
247
255
229
227
224
255
255
255
227
227
255
255
255
255
255
255
255
255
255
255
227
227
225
226
255
255
255
226
228
255
255
229
229
255
255
223
226
229
229
255
255
255
255
255
255
255
225
229
229
255
255
255
255
255
255
255
229
216
255
255
255
255
227
255
199
140
96
60
42
85
79
19
70
17
13
62
61
63
14
16
17
15
14
68
17
19
18
32
39
44
44
40
35
43
57
77
87
145
211
255
255
255
255
226
225
227
229
229
229
224
223
221
221
219
225
225
227
255
255
255
255
255
255
255
255
255
255
255
255
255
255
229
229
229
255
255
255
255
255
229
255
255
255
224
219
213
255
255
255
229
229
255
255
255
199
194
231
189
184
229
186
173
168
224
198
209
203
211
255
255
255
212
255
211
210
255
255
218
220
220
255
255
255
224
255
228
228
228
227
255
255
255
255
222
222
221
255
221
222
255
218
214
255
255
255
255
255
255
213
211
255
206
221
255
177
126
136
114
100
105
108
110
105
96
87
76
29
34
90
93
94
96
41
86
82
79
81
85
34
89
93
93
94
92
89
84
80
76
25
24
75
77
79
82
82
30
32
31
206
255
210
255
255
255
221
223
224
255
255
228
228
255
255
227
227
227
227
227
255
255
255
255
255
255
255
255
255
223
226
227
228
227
226
224
255
225
228
255
229
227
255
255
227
229
255
255
255
224
255
255
255
255
255
255
255
255
224
224
225
226
255
255
228
255
255
255
255
255
229
229
255
255
229
229
229
215
218
255
255
255
255
255
229
226
255
255
216
255
229
220
255
255
255
255
255
229
223
217
255
255
255
202
184
155
86
55
41
37
35
29
20
24
20
16
62
59
9
10
13
15
15
17
70
21
23
21
36
44
49
51
49
98
93
52
63
79
98
190
182
229
229
228
227
221
255
255
221
255
255
219
220
219
218
225
225
227
227
226
226
226
225
255
255
255
255
255
255
229
229
226
225
224
223
222
255
255
218
222
224
220
255
255
212
207
255
255
255
229
228
255
255
255
210
206
254
239
198
196
185
197
189
174
218
193
218
224
255
255
218
221
255
255
255
255
255
255
255
255
219
255
255
255
223
222
222
223
221
221
221
255
255
221
255
255
255
255
255
221
255
255
255
255
255
213
215
218
219
220
218
214
255
229
223
187
130
137
117
42
43
46
100
98
92
32
25
30
35
92
96
98
101
99
43
91
35
37
91
41
43
98
97
97
94
39
35
84
29
81
81
81
83
86
90
34
35
37
38
208
209
255
214
220
222
255
225
225
227
228
228
228
227
255
227
255
227
227
227
255
255
255
255
255
255
222
221
255
255
225
228
255
229
227
224
224
225
255
255
229
229
229
219
226
229
255
255
255
255
255
255
226
255
255
228
224
255
255
255
255
225
228
229
229
228
226
255
255
255
255
255
227
229
229
255
255
255
255
255
255
255
255
229
229
226
255
255
255
255
229
227
219
226
229
255
229
229
227
225
255
255
254
185
162
182
120
47
90
37
33
28
24
26
22
17
11
59
60
60
64
13
15
67
71
22
25
74
89
45
51
53
53
102
41
100
106
126
81
100
143
229
255
255
255
255
255
255
255
255
255
218
217
217
255
229
229
228
255
255
224
224
224
224
224
223
255
223
223
224
223
221
219
218
218
217
220
218
219
223
224
224
221
202
207
217
255
255
255
255
255
255
255
219
211
255
254
195
202
201
192
249
194
234
224
187
212
228
255
225
219
221
255
255
255
255
221
220
219
255
255
255
255
221
223
255
255
255
255
222
222
222
220
255
255
255
255
255
255
255
213
255
255
255
255
209
211
255
255
220
220
255
255
255
219
186
134
89
62
37
89
93
44
43
38
84
26
31
36
41
96
47
52
101
47
95
93
41
43
45
47
46
46
46
96
40
38
35
34
33
85
85
33
34
38
35
88
38
39
255
212
255
255
221
223
224
226
227
228
228
228
227
226
255
255
255
227
227
227
255
255
255
255
255
227
226
226
215
255
223
255
255
255
229
228
222
255
255
255
229
229
229
226
255
255
255
229
227
255
255
255
227
255
255
226
227
255
255
255
255
255
226
229
229
229
229
229
255
255
222
255
255
227
229
229
255
255
255
255
255
255
229
255
255
255
255
228
217
219
255
255
221
226
229
229
255
229
255
229
222
206
179
156
126
144
110
98
92
85
27
80
86
28
24
17
11
6
56
57
59
62
13
67
70
74
78
73
88
43
51
54
55
54
56
101
58
55
60
122
66
154
255
255
255
255
255
255
229
229
255
255
229
255
255
229
229
255
255
255
255
227
221
220
221
220
255
218
218
221
221
222
225
255
229
229
255
255
227
222
255
255
220
223
229
229
255
255
255
255
255
255
223
215
255
255
212
210
210
210
206
250
204
255
197
181
245
255
255
255
227
229
255
255
255
225
222
255
255
255
255
255
217
218
218
255
255
255
255
216
217
216
255
255
218
255
255
216
216
255
213
208
205
203
255
255
255
255
255
218
216
255
201
255
255
237
198
155
118
91
86
36
40
40
38
86
30
33
39
42
98
49
53
102
54
49
99
48
101
51
53
47
47
46
98
97
43
92
93
91
37
33
85
34
34
85
86
36
37
216
217
219
255
255
255
255
255
255
255
255
255
255
227
227
255
255
227
255
227
227
227
227
227
226
226
255
225
255
255
255
226
255
255
255
223
255
255
255
227
229
255
224
224
226
226
227
255
255
255
255
229
229
255
255
255
255
255
255
255
255
225
255
255
255
229
229
229
255
255
255
226
225
224
224
224
228
229
255
255
255
217
226
229
255
255
255
255
229
255
255
229
229
223
255
229
228
221
215
214
202
175
137
102
85
77
60
98
37
87
38
38
38
28
77
72
66
60
7
7
9
12
65
67
69
74
76
77
35
96
100
104
52
51
51
48
100
99
50
107
59
132
175
162
250
255
255
255
229
229
255
255
255
255
255
255
255
255
255
255
255
225
223
229
228
229
229
255
255
255
224
226
229
228
226
255
255
255
255
226
229
229
229
255
255
255
255
255
226
255
255
255
222
213
255
255
222
255
255
216
204
205
255
255
255
254
254
255
255
255
255
224
255
255
227
229
229
255
255
255
255
255
221
217
255
255
255
255
215
216
217
218
255
215
216
217
255
255
214
211
208
204
254
253
209
255
255
255
255
219
255
255
203
194
181
209
177
145
118
94
92
91
91
40
38
36
82
38
41
99
100
101
102
103
51
50
102
103
107
110
110
52
102
99
45
43
42
94
88
90
91
92
91
89
85
88
89
40
94
217
218
255
255
225
225
255
255
227
227
255
255
255
255
227
227
227
227
227
227
227
227
227
227
226
226
225
255
221
255
255
255
255
255
255
223
225
226
255
255
229
219
217
219
223
255
229
255
255
255
229
229
229
229
255
255
224
224
224
225
255
225
226
255
255
255
255
227
229
229
255
255
255
255
221
222
226
229
229
255
255
255
255
225
224
229
229
229
229
229
255
255
225
255
255
255
217
214
249
244
174
145
112
89
81
131
63
102
43
42
94
39
36
28
77
20
14
61
60
59
9
11
15
16
72
76
79
79
35
92
97
99
47
98
100
46
97
96
97
102
105
121
83
120
169
205
255
255
255
255
255
255
229
224
222
255
255
255
255
255
227
228
255
255
255
255
229
229
226
222
255
255
227
225
255
255
255
255
221
229
229
255
255
255
255
255
255
255
222
217
227
255
255
212
255
255
227
255
255
221
209
205
213
255
255
255
211
255
255
255
255
255
255
255
255
229
255
229
255
224
223
222
255
255
255
255
215
216
217
217
218
255
255
255
216
215
215
255
255
255
202
195
196
202
209
255
255
255
216
255
255
255
248
167
150
125
100
81
65
44
47
45
95
93
39
37
84
92
44
99
100
99
100
99
101
48
49
50
54
110
58
51
49
99
95
94
39
39
85
86
89
92
94
91
34
86
88
39
42
255
255
224
225
227
255
255
227
227
227
227
227
227
227
227
227
227
227
255
227
227
227
227
227
226
226
225
225
255
226
227
255
255
255
255
255
255
255
255
255
192
183
228
228
255
255
255
229
255
255
229
229
228
229
255
225
224
224
224
225
255
255
255
255
255
255
255
255
255
228
229
229
255
255
223
222
255
255
229
255
229
255
255
255
255
223
225
228
229
229
255
255
204
207
251
235
181
184
144
133
174
115
117
113
149
131
111
103
99
44
95
39
35
79
75
17
64
62
7
5
61
12
69
73
25
28
83
87
39
40
41
93
93
94
92
95
94
93
44
48
103
102
75
88
99
123
154
234
249
255
215
217
218
219
220
255
255
255
255
255
224
255
255
255
255
223
222
223
223
229
255
255
221
220
255
255
255
229
229
229
255
255
255
255
226
255
255
255
255
226
222
255
255
255
255
255
229
255
255
255
216
204
212
255
255
255
218
220
255
228
255
255
255
226
226
225
225
224
255
255
226
255
255
255
255
220
220
219
218
217
255
255
212
211
255
212
213
255
255
255
255
209
208
209
212
213
255
255
210
255
255
252
212
152
145
84
73
66
110
49
45
43
39
40
91
40
90
89
40
94
42
42
94
45
43
44
46
48
52
55
56
52
50
97
92
89
87
35
31
81
29
30
83
85
87
29
83
86
89
255
255
255
255
255
228
227
227
227
227
227
227
227
227
227
255
255
255
255
255
227
227
227
255
226
226
225
225
255
255
226
223
255
255
255
255
255
255
255
229
226
192
229
255
255
255
229
229
255
255
255
255
227
226
225
223
228
255
255
255
226
225
255
255
255
229
255
255
255
255
222
223
255
255
228
228
228
255
255
255
255
229
227
218
255
255
255
208
210
255
255
195
235
191
188
206
182
132
104
125
139
184
167
99
86
77
64
54
98
94
38
85
80
78
18
13
62
60
6
56
62
16
73
77
27
31
84
41
39
90
87
86
86
35
39
45
45
46
50
55
59
66
124
129
133
88
97
105
126
194
236
202
213
255
222
226
255
255
255
255
255
255
255
228
229
229
255
255
255
255
225
226
255
255
255
255
229
229
229
220
218
219
220
229
255
255
255
255
255
228
221
224
224
255
255
228
255
255
255
255
221
209
210
255
255
255
219
221
228
227
255
255
255
255
225
221
220
220
255
255
223
228
255
255
255
223
220
217
214
255
255
255
213
213
255
255
210
255
255
255
255
255
255
255
218
221
221
219
217
255
254
199
165
121
66
115
59
55
103
100
99
97
46
97
95
42
89
87
89
38
36
33
85
37
38
39
41
45
50
53
53
46
43
90
84
79
77
26
31
29
80
81
83
33
35
32
84
83
31
255
255
255
255
255
228
228
227
227
227
227
227
255
227
227
227
255
255
255
255
255
227
227
227
226
226
225
225
255
255
255
222
216
255
251
255
214
220
255
229
229
251
255
255
255
255
229
255
255
228
255
255
227
225
225
223
255
255
255
228
255
255
255
255
255
229
229
227
255
255
215
217
255
255
255
229
229
255
255
223
255
224
225
224
205
255
253
199
255
255
211
194
230
238
185
198
165
113
114
179
183
170
155
148
140
137
121
110
100
41
36
81
78
24
17
64
10
7
58
55
63
17
22
78
79
82
32
93
91
88
85
83
30
31
87
93
42
43
48
53
56
65
78
78
76
77
83
94
109
121
212
234
203
221
229
255
255
255
255
255
255
255
227
226
229
229
255
228
229
255
255
255
255
229
255
229
229
229
227
223
221
217
214
228
227
227
229
229
255
255
255
225
222
255
216
229
229
255
255
255
255
212
210
212
219
221
221
221
224
225
255
255
255
255
224
223
221
220
223
219
215
215
255
226
228
229
229
255
255
255
214
215
255
255
255
255
255
212
255
216
255
255
255
255
255
255
255
224
220
255
243
188
164
68
114
108
104
52
52
98
103
50
49
100
99
95
36
37
90
37
35
83
82
85
36
38
93
45
50
52
53
42
39
86
80
75
75
22
29
29
83
84
86
86
86
87
86
84
83
255
255
255
255
255
255
255
228
229
255
255
255
255
255
255
220
255
255
255
255
255
224
225
225
227
227
228
255
255
255
255
229
255
255
229
205
255
255
229
255
229
218
255
198
195
214
255
255
255
228
222
220
221
225
229
229
226
226
225
226
255
226
227
224
255
255
255
255
229
229
229
229
255
255
255
255
224
255
255
255
222
221
255
255
196
194
237
235
235
233
236
193
173
146
108
62
89
60
104
105
106
158
155
152
147
145
123
109
100
97
45
41
38
26
22
16
67
65
61
57
68
22
76
79
84
87
36
87
86
36
38
39
36
85
87
86
88
91
94
48
106
46
119
130
86
93
152
152
152
154
102
105
113
117
170
227
220
237
255
255
229
229
214
202
219
255
229
229
255
255
255
255
229
228
255
229
227
225
225
228
228
255
255
222
255
255
229
228
225
255
255
255
255
255
225
229
255
255
229
255
255
224
219
219
222
225
227
227
223
255
255
255
255
255
226
221
218
216
224
224
255
219
215
217
219
208
255
255
255
217
225
216
253
251
198
251
255
213
255
255
210
210
211
213
255
255
255
255
197
171
139
112
88
59
111
108
107
55
53
101
100
48
47
99
45
43
41
89
88
88
35
85
85
87
87
87
89
93
45
49
48
106
49
42
37
34
83
80
25
25
76
25
27
79
79
88
36
88
36
255
255
255
255
255
255
227
227
255
255
227
255
255
255
255
225
255
255
255
255
228
228
229
229
229
229
229
255
255
255
220
222
227
255
255
217
254
244
239
234
229
229
255
255
220
255
255
255
229
226
223
221
221
255
224
225
255
255
255
221
222
224
228
228
255
255
255
255
225
224
225
224
255
255
255
255
255
219
255
255
219
216
212
255
206
207
247
229
216
195
171
143
74
60
49
37
44
77
91
143
92
144
92
90
90
88
131
119
108
102
97
92
88
82
78
23
19
68
65
65
76
28
30
32
37
38
38
40
89
36
36
37
37
36
38
37
40
43
97
103
110
61
71
126
127
127
76
132
145
151
180
149
170
183
239
255
255
209
225
229
229
229
229
229
255
255
229
229
255
255
255
227
227
225
255
255
227
227
226
225
224
255
255
255
255
255
226
223
255
255
255
255
255
221
229
229
255
255
255
255
255
225
221
214
216
222
227
255
255
221
225
255
255
255
255
228
221
255
255
255
255
222
224
220
216
254
255
210
210
213
211
202
252
254
255
255
207
210
255
255
255
201
183
165
169
230
223
213
196
121
149
72
37
59
57
109
107
106
104
98
97
97
45
44
95
94
93
43
42
94
41
41
94
96
43
95
92
91
93
43
46
58
106
103
101
100
100
46
90
35
84
81
29
29
81
87
87
87
35
255
227
227
255
255
255
255
227
255
255
255
255
255
255
255
255
255
255
255
229
229
229
229
229
229
255
255
255
255
216
216
255
222
226
225
255
255
255
255
254
190
204
255
255
229
255
255
255
229
229
224
222
255
255
225
255
255
255
255
223
255
255
224
224
226
227
228
255
255
217
219
221
255
223
224
255
255
255
221
217
215
210
204
199
255
255
183
162
193
166
86
50
39
34
35
89
51
83
87
140
140
141
141
89
90
142
133
69
60
104
45
40
36
81
77
75
71
15
65
16
24
81
83
32
35
90
37
41
39
37
35
88
36
36
39
38
41
44
46
52
59
71
75
126
71
69
70
72
86
96
197
226
194
255
255
255
255
255
255
255
255
229
229
225
229
255
255
255
255
255
226
227
226
226
255
255
255
228
229
222
221
225
255
227
255
255
255
224
255
255
255
255
255
224
229
255
229
229
223
224
255
255
225
215
215
220
255
255
255
221
255
255
223
221
255
255
228
224
255
255
207
214
255
255
255
255
255
217
215
216
213
255
255
255
211
255
215
214
255
249
254
251
235
217
161
162
206
192
170
97
76
108
77
112
58
108
108
54
52
98
96
97
45
44
45
44
95
47
47
98
46
46
97
98
41
42
43
96
95
44
45
55
55
105
104
104
106
56
100
96
91
87
84
31
83
86
34
86
34
255
255
255
255
227
225
225
225
224
255
255
255
255
255
227
227
255
255
228
228
228
228
228
229
229
255
229
255
255
255
255
221
221
255
225
218
255
255
255
255
229
229
255
255
255
255
223
255
229
229
229
255
255
255
255
255
255
255
227
255
255
255
226
227
228
228
255
255
225
220
220
221
255
222
225
255
255
255
229
222
215
205
197
242
236
220
152
145
184
148
115
47
35
25
20
75
92
69
83
83
84
84
86
142
144
146
132
71
61
103
44
90
35
29
26
79
74
12
65
73
28
32
84
33
87
90
36
91
94
93
88
34
85
85
90
37
92
95
45
51
58
126
130
127
122
66
119
71
130
96
164
245
255
255
229
229
255
255
255
225
255
224
222
255
255
220
213
204
250
255
225
228
227
226
225
255
255
225
225
255
255
229
229
229
229
255
255
255
229
229
227
255
215
225
227
255
255
229
221
229
229
225
255
220
217
217
255
255
255
255
255
221
221
255
221
226
255
255
255
255
222
216
255
255
255
255
255
255
217
216
213
255
255
214
216
216
255
255
255
175
182
236
232
232
172
148
122
93
69
53
99
98
47
115
114
112
109
56
105
98
97
45
97
46
46
49
49
102
52
55
55
54
102
94
42
43
44
95
95
46
51
117
64
62
110
110
115
122
124
117
109
48
42
38
36
84
84
84
84
255
227
255
227
227
225
225
226
226
255
255
220
255
255
226
225
255
255
255
223
255
224
224
225
255
255
221
220
255
255
255
229
225
220
255
255
255
255
255
229
229
229
229
229
255
255
255
255
255
255
255
255
229
229
255
255
224
225
255
255
255
229
229
229
255
255
255
229
255
227
229
228
228
229
255
255
255
255
226
221
255
208
193
234
194
127
175
186
190
175
159
87
130
129
69
41
18
32
75
78
80
79
81
139
139
84
134
124
112
52
46
93
90
85
28
24
72
73
74
75
83
34
37
91
91
36
36
93
90
87
85
84
82
81
81
86
36
39
43
99
51
106
112
113
114
116
119
124
86
96
153
179
245
254
206
229
229
255
229
228
255
229
229
255
255
229
227
224
255
227
255
255
255
255
224
223
222
221
220
225
255
255
255
228
224
255
255
255
229
227
217
217
219
227
228
224
221
255
255
223
255
255
255
255
223
214
255
255
255
255
255
216
218
255
255
221
224
255
255
227
229
229
255
255
255
255
254
249
194
194
241
241
190
195
196
245
240
237
237
196
233
223
232
248
213
169
123
46
34
88
100
120
149
125
122
67
61
110
106
102
47
94
93
91
43
47
51
111
111
60
109
104
47
39
40
46
49
48
44
45
106
132
131
77
126
122
121
123
80
77
123
62
49
40
36
82
83
85
86
255
227
227
227
227
227
227
227
227
228
227
255
255
255
228
255
255
255
255
255
228
226
224
223
223
224
255
255
255
229
229
255
255
222
220
255
255
255
255
255
255
223
225
228
226
217
209
212
255
255
255
229
229
255
255
229
223
222
255
255
255
255
227
229
255
229
229
255
255
229
227
255
255
229
255
255
255
220
215
255
255
202
235
213
142
155
226
238
243
243
189
219
211
203
142
121
89
56
114
124
132
133
130
79
82
84
74
68
61
55
49
41
37
92
87
83
28
28
29
31
32
36
38
92
38
38
36
87
84
82
80
80
78
25
33
88
89
40
42
46
101
39
54
115
72
130
86
90
92
94
118
128
190
201
210
245
253
209
216
214
255
220
225
255
255
210
218
255
255
227
255
255
255
224
223
222
226
225
225
255
229
227
226
255
224
224
255
255
229
225
217
255
255
224
225
223
255
255
255
220
255
255
255
255
220
220
221
255
255
255
229
255
220
215
213
217
220
255
255
255
229
229
229
255
255
255
255
255
203
252
253
255
210
215
217
255
255
255
203
229
255
255
246
218
148
122
61
110
60
120
79
88
155
77
75
75
71
117
59
102
48
97
94
41
45
100
52
115
113
108
52
99
95
41
45
45
42
41
42
95
97
108
68
83
140
138
132
126
69
67
115
58
104
99
99
86
87
36
36
225
255
255
227
255
255
228
255
255
229
229
255
255
255
255
255
255
255
255
228
255
228
226
227
255
255
255
255
255
255
229
255
255
225
222
221
220
220
219
255
255
255
218
255
255
206
195
204
210
224
229
229
229
255
255
223
223
223
221
219
255
255
255
255
255
229
229
255
255
227
225
255
255
226
255
255
255
211
208
206
202
193
227
214
234
249
209
209
255
255
202
192
180
164
150
136
117
87
103
62
127
132
129
76
79
132
71
67
61
56
50
44
39
93
90
85
33
32
32
35
39
42
45
45
96
44
43
37
87
85
82
82
81
80
31
86
87
88
38
42
96
87
103
114
124
133
140
142
146
94
104
109
166
123
131
230
246
255
227
255
255
229
229
229
255
255
255
255
255
228
228
227
225
225
255
255
255
255
255
255
228
225
222
227
223
225
226
229
229
223
255
255
255
224
224
223
222
255
255
218
218
227
221
221
255
255
255
218
220
255
228
255
221
214
210
255
255
218
220
222
255
255
229
255
255
255
229
226
255
255
255
255
225
229
229
255
255
255
255
255
220
252
165
127
119
107
63
68
78
85
142
144
94
78
78
78
75
124
63
103
109
52
49
50
52
56
110
108
107
104
101
45
94
39
38
90
42
48
54
107
102
97
106
68
80
137
133
125
114
112
58
106
104
102
50
41
42
43
95
224
224
255
255
255
255
229
229
229
229
255
255
227
225
255
255
229
255
255
229
229
229
229
255
255
255
255
229
224
255
255
255
227
228
228
228
228
228
227
255
225
255
255
255
255
236
217
174
217
228
194
214
229
229
255
217
225
255
255
222
221
221
255
255
255
255
255
255
219
215
255
255
255
213
255
209
206
250
241
181
221
208
202
159
207
209
208
208
255
255
255
190
181
168
152
190
177
114
109
107
59
120
128
78
76
128
125
121
118
114
108
102
46
44
44
96
45
46
48
49
63
63
66
118
118
64
63
54
52
102
101
101
100
99
99
102
50
104
106
109
112
98
112
120
127
132
136
84
79
82
143
148
156
162
111
189
222
255
255
255
224
255
255
229
211
255
255
229
229
229
255
255
255
255
255
255
255
255
229
227
225
223
255
255
224
226
229
229
229
255
255
255
255
255
255
255
222
255
255
220
217
255
255
255
227
221
255
255
255
224
219
255
255
220
255
255
213
216
216
217
255
221
225
255
255
255
229
255
255
251
248
255
209
217
220
255
255
252
245
164
143
114
84
65
53
109
114
72
83
88
89
88
82
134
134
135
81
128
119
56
101
46
43
95
97
46
100
111
112
59
57
51
44
34
39
37
37
39
46
54
62
110
106
104
111
70
126
70
56
52
50
49
103
52
53
102
103
52
53
255
222
255
255
255
255
255
255
255
255
255
255
215
210
255
255
255
224
227
225
255
215
208
254
200
207
255
255
255
255
255
218
221
228
255
229
229
255
255
255
229
255
255
255
252
234
156
125
92
154
119
190
208
222
181
243
255
255
255
218
219
221
255
255
255
229
255
255
228
224
255
255
218
211
255
255
203
180
221
211
212
217
167
171
203
202
203
207
255
254
248
234
166
149
134
119
157
156
101
127
106
107
121
79
132
131
78
125
120
116
112
55
52
109
59
61
64
119
122
72
76
79
80
133
131
77
128
119
117
116
114
115
114
61
61
65
118
120
122
126
129
73
134
85
140
141
140
86
139
84
135
145
159
166
163
128
173
186
252
255
215
255
255
194
234
227
174
199
229
229
229
255
255
255
255
255
255
255
228
224
255
255
255
255
224
255
255
229
255
255
255
255
255
255
255
255
222
255
255
223
218
226
222
255
226
229
226
218
255
255
228
217
255
229
255
255
213
217
222
255
255
222
224
226
227
198
249
240
178
167
215
225
182
238
185
228
215
120
159
113
112
110
57
57
54
105
111
115
66
125
130
81
83
85
85
83
81
76
121
60
55
104
50
101
103
52
103
98
98
43
43
42
43
45
51
60
67
65
107
48
48
69
68
117
110
101
98
101
58
53
48
46
47
50
102
95
96
45
47
229
229
255
255
221
255
255
229
255
229
229
255
255
255
255
255
255
220
229
229
255
255
255
223
206
204
225
255
255
255
255
255
227
228
228
255
229
255
224
222
255
223
206
203
195
179
157
115
151
83
67
112
124
137
136
138
156
158
111
116
121
125
182
183
133
189
190
190
138
136
188
187
135
133
183
182
181
124
127
132
188
192
144
146
162
165
169
176
234
237
239
239
177
164
200
134
122
166
148
156
89
113
110
79
142
81
79
133
130
71
119
66
61
121
120
67
66
67
69
69
75
76
79
134
136
135
133
76
77
129
127
127
125
125
119
67
68
121
72
129
133
139
139
142
145
149
154
156
157
105
158
159
107
163
112
127
182
188
187
186
134
133
136
191
237
200
207
224
255
229
228
213
213
255
255
255
229
229
255
255
255
245
235
255
228
206
255
255
255
255
255
218
188
229
255
255
206
255
255
255
218
225
225
255
255
229
229
229
222
224
226
229
225
255
228
229
229
255
255
255
202
197
205
255
255
255
255
201
167
133
86
133
82
89
95
150
148
129
122
121
68
67
68
69
71
71
74
77
134
83
83
136
141
79
79
79
76
73
122
115
55
106
104
102
99
101
108
104
105
52
100
49
100
85
34
40
101
56
58
58
55
110
119
121
65
58
46
89
92
99
100
47
50
50
51
55
103
100
47
255
255
255
255
255
255
255
224
255
229
227
214
217
255
255
255
255
255
224
223
255
255
255
214
219
229
229
255
255
255
255
255
227
228
228
229
255
226
226
225
255
215
205
191
168
142
124
165
160
157
97
134
122
119
120
60
67
70
73
76
80
136
139
89
92
148
153
105
109
164
163
112
114
167
169
118
173
173
174
126
131
190
142
146
162
165
220
225
227
231
180
177
171
161
201
189
126
119
100
153
158
104
86
115
117
81
126
127
74
69
124
126
71
127
127
75
129
79
132
82
82
133
82
134
133
78
128
129
74
123
121
67
117
117
116
117
65
66
68
125
128
130
139
143
147
149
149
148
156
158
161
164
166
168
119
123
127
135
136
133
133
183
133
187
227
239
194
255
255
255
255
229
229
255
255
226
229
229
229
255
255
229
229
229
229
229
255
255
255
255
255
220
203
228
229
255
255
255
226
224
255
255
255
255
255
255
222
222
212
212
255
229
221
255
252
214
224
255
255
255
255
255
221
255
255
255
255
203
171
139
146
141
146
101
106
108
158
139
80
131
77
75
76
127
125
125
74
77
132
81
82
134
138
125
126
125
72
68
115
106
53
104
101
45
42
95
46
46
98
97
44
47
102
100
41
39
87
84
30
29
30
72
81
88
97
109
60
61
110
109
102
45
44
41
36
52
53
54
54
255
255
255
255
255
255
255
255
255
255
255
225
213
204
226
226
255
255
229
227
255
255
255
255
255
255
255
255
224
224
255
255
227
255
255
228
255
222
224
223
213
255
240
227
208
188
122
108
101
147
156
152
134
125
127
67
115
67
70
75
81
136
141
90
90
91
92
93
93
147
154
100
102
155
156
156
159
166
171
124
132
139
198
206
169
170
224
226
227
226
173
166
214
209
149
193
133
128
109
161
160
110
108
99
79
113
114
68
126
124
124
73
67
127
75
128
130
80
134
136
82
131
129
75
125
70
67
118
115
114
114
113
114
115
111
116
117
118
120
124
127
129
79
82
139
143
147
149
149
152
109
163
165
115
169
166
171
129
130
130
127
177
175
125
202
161
167
177
238
247
251
212
219
255
255
255
216
213
212
255
255
229
229
213
255
229
195
255
202
179
215
224
223
216
213
255
255
223
228
229
220
255
255
255
255
255
228
227
221
255
255
216
214
255
244
208
220
255
255
255
255
255
255
255
255
255
255
246
218
139
104
99
97
102
107
161
159
86
79
93
91
87
87
136
132
130
131
131
79
81
133
134
81
73
72
122
118
61
107
99
40
40
90
39
37
90
43
90
96
48
101
102
104
98
84
81
77
76
82
41
54
111
58
102
44
45
95
92
99
45
38
35
42
96
96
95
47
50
50
229
255
255
255
255
221
223
228
255
255
255
255
255
255
223
224
255
255
255
229
255
224
227
255
229
255
255
255
255
255
225
225
227
228
228
255
255
223
255
255
206
250
234
224
210
143
131
109
149
90
102
101
138
125
123
120
124
75
130
136
88
144
148
92
91
92
93
93
146
149
155
101
101
153
153
101
154
165
171
127
136
145
153
160
176
178
178
230
230
228
226
166
161
209
203
144
138
134
166
167
160
154
161
165
145
115
108
116
120
118
119
68
63
70
70
125
126
76
130
133
132
76
127
73
123
121
67
64
61
60
59
113
115
116
61
65
67
122
124
75
78
132
81
137
140
146
150
153
151
155
112
167
169
172
172
166
120
132
185
184
182
127
123
124
143
153
159
168
176
161
166
193
205
255
213
215
255
255
255
255
255
255
229
255
255
255
189
187
236
179
212
224
229
212
254
255
215
224
229
255
225
214
255
255
224
229
229
255
226
255
255
216
216
211
255
255
226
224
255
237
169
169
242
252
207
209
251
232
207
133
156
101
102
159
164
166
111
92
83
98
96
92
90
141
136
134
133
132
80
81
134
134
79
74
71
121
117
61
109
105
98
47
47
99
47
100
105
108
115
121
122
69
120
114
108
100
91
32
31
38
48
46
103
104
105
57
54
47
42
92
83
77
28
81
79
83
85
34
33
255
255
229
228
223
223
223
223
224
226
255
255
255
255
223
222
255
255
255
229
225
224
217
255
255
255
229
255
225
225
255
255
255
255
227
255
255
255
255
255
194
245
237
174
160
145
186
165
100
96
154
102
143
76
121
141
145
145
95
149
100
100
152
97
96
93
92
92
92
146
155
102
102
151
99
100
103
167
176
190
149
162
170
176
194
246
246
244
243
239
236
176
171
165
159
206
204
151
132
128
119
111
105
104
153
151
108
106
105
50
106
112
112
118
119
119
68
69
122
124
62
60
110
109
56
107
107
53
47
44
43
95
44
97
45
51
56
59
63
120
123
121
130
84
89
92
145
93
97
154
113
116
117
169
170
113
170
129
130
181
180
123
171
115
121
180
137
144
201
111
121
174
246
255
255
255
255
229
229
227
223
255
213
224
255
255
162
154
220
255
255
255
224
212
250
204
222
209
255
255
255
204
255
211
218
219
218
217
255
255
255
255
218
223
255
255
227
214
217
110
66
108
114
141
157
157
203
189
175
161
96
96
100
106
112
167
113
94
139
102
99
148
148
145
142
139
137
135
132
131
132
132
125
119
66
114
114
65
67
126
64
64
115
62
61
60
61
107
112
65
64
64
118
120
123
123
124
121
66
63
61
60
113
104
40
34
81
32
98
48
43
89
89
39
44
42
90
34
34
255
255
229
228
225
225
224
226
225
226
227
255
255
218
200
252
255
255
255
215
210
215
210
212
217
255
229
229
225
225
225
227
227
255
255
225
222
255
255
250
192
244
234
221
156
200
193
169
105
151
158
104
143
130
128
86
103
155
106
109
113
165
162
97
96
93
92
89
89
92
157
155
101
153
102
104
106
169
181
196
160
174
237
243
210
255
208
206
203
252
196
188
184
179
226
223
170
168
144
189
129
122
159
146
146
154
136
64
104
103
106
105
50
100
100
48
49
52
56
109
54
52
51
102
102
102
102
100
45
94
90
88
33
86
34
93
96
99
103
107
110
63
72
130
135
87
143
94
103
150
152
105
108
162
161
112
165
174
125
129
128
125
173
119
122
175
126
178
178
125
131
200
218
237
243
249
255
255
255
229
229
223
218
229
255
244
181
138
233
255
255
255
213
223
255
255
255
254
252
254
255
205
202
203
209
213
214
214
205
199
196
249
255
255
244
237
215
156
118
81
50
91
67
88
102
101
98
147
90
85
138
91
94
103
108
162
110
155
151
104
102
152
150
95
145
146
142
88
87
85
83
78
75
120
119
118
115
62
59
55
107
54
105
52
53
55
57
51
105
114
121
66
116
73
63
66
61
61
68
67
63
71
77
69
59
58
49
36
96
94
96
49
43
82
69
72
72
72
71
229
229
228
228
227
225
225
225
225
224
226
224
255
218
201
200
200
205
255
255
255
214
213
217
220
224
229
229
255
226
228
228
228
227
225
226
255
255
253
194
242
243
230
169
212
205
145
170
158
162
110
154
143
83
134
87
100
104
108
110
109
109
166
107
105
153
99
98
149
99
111
162
160
105
154
102
105
170
181
145
160
174
238
244
211
210
211
209
207
255
254
246
243
239
235
179
175
223
199
193
135
129
115
152
145
147
155
85
62
102
49
99
42
42
41
92
94
46
50
104
51
103
103
103
103
50
50
50
46
44
40
37
87
87
34
41
96
47
51
54
109
62
72
79
139
90
143
142
98
147
146
98
97
98
99
106
108
114
118
171
172
169
171
118
173
121
121
172
172
132
133
135
197
209
167
179
240
255
255
255
255
255
255
255
223
187
176
191
235
255
255
255
208
225
255
255
255
255
255
255
217
218
216
255
255
224
223
221
214
209
255
250
240
233
176
134
121
113
92
130
117
109
116
77
141
137
85
82
130
76
131
86
92
154
159
159
159
101
97
154
100
98
97
146
93
92
144
141
137
83
80
77
127
65
65
118
66
114
109
100
50
47
46
44
44
43
45
52
111
118
65
109
61
102
132
111
90
84
84
69
58
110
113
104
97
46
99
95
57
94
77
69
70
17
67
68
71
76
79
228
228
228
228
228
228
228
227
255
226
225
224
222
255
217
211
206
254
251
254
255
255
218
224
227
228
255
228
226
227
228
228
228
225
222
216
212
255
200
245
234
229
235
179
175
221
212
190
182
114
102
139
82
87
145
97
107
107
109
163
166
165
157
153
152
98
96
97
98
101
104
160
164
163
107
102
101
162
122
135
202
217
229
238
199
200
254
255
255
255
255
255
254
251
247
189
182
227
209
206
149
143
183
167
154
91
120
122
98
63
46
43
97
44
92
89
88
89
92
95
43
46
100
101
101
48
47
49
45
42
91
88
86
33
39
46
100
50
54
57
59
63
68
128
139
147
97
99
91
87
83
82
131
79
133
85
87
92
94
96
153
154
162
165
171
118
117
118
171
179
127
166
163
112
170
179
140
205
216
232
235
236
237
248
190
171
189
199
167
195
220
218
255
229
229
255
190
229
255
255
255
255
223
255
255
255
229
229
255
255
255
231
199
87
75
102
74
89
137
140
138
83
131
81
135
128
129
75
124
72
131
85
93
152
155
155
154
149
92
98
98
97
95
147
148
146
142
86
83
131
127
125
125
117
65
116
63
114
113
59
56
104
100
95
90
33
30
79
84
79
32
57
145
215
128
90
110
106
106
91
74
115
72
83
136
77
67
109
95
94
40
36
84
81
78
38
96
105
111
255
255
227
228
229
229
229
229
228
255
255
255
221
255
255
255
255
255
247
249
255
255
255
229
229
228
215
213
255
225
255
227
226
221
217
255
255
253
247
241
228
171
170
165
159
150
142
193
194
180
159
137
79
136
89
95
144
145
146
148
149
153
107
162
108
104
154
100
100
100
158
104
152
151
148
146
145
152
109
174
188
204
163
173
178
233
237
244
251
255
208
255
255
255
252
246
239
231
222
167
160
153
198
189
177
109
107
123
128
156
68
43
39
41
91
88
34
85
85
34
90
92
93
93
94
95
97
45
42
41
91
89
37
36
39
45
46
101
51
106
108
63
73
132
84
138
140
91
93
88
128
68
59
56
109
109
61
120
122
73
79
138
146
153
165
165
165
167
169
169
171
183
185
184
180
175
160
158
161
178
188
197
203
127
129
201
168
201
192
166
212
229
221
229
255
211
177
249
244
186
233
230
184
246
232
185
184
225
199
199
205
152
100
137
58
74
180
95
91
138
127
121
122
127
133
128
128
75
126
73
133
136
86
142
143
90
89
85
82
92
92
92
143
142
144
144
89
88
86
83
81
77
125
118
65
115
115
63
64
64
55
53
101
46
41
91
89
76
86
87
111
103
116
81
129
99
76
71
69
76
77
50
58
22
25
20
88
63
72
122
111
42
30
31
37
48
51
54
56
255
255
255
255
255
229
229
229
229
227
255
255
255
219
229
255
255
255
248
250
255
255
255
229
229
226
211
207
223
255
255
255
255
255
216
215
255
249
243
186
176
172
170
162
152
139
128
128
132
189
166
142
133
135
85
90
142
148
152
152
104
112
139
207
204
149
144
193
190
190
177
116
158
149
145
141
87
148
106
170
185
199
211
169
174
228
234
189
248
203
209
214
255
255
201
247
240
234
175
171
215
209
203
196
183
116
99
118
134
119
78
43
85
88
35
86
85
32
31
32
90
91
90
91
40
94
95
97
95
42
93
39
39
38
43
48
102
53
54
109
59
61
76
82
83
133
133
134
82
79
68
60
104
50
51
49
105
112
114
67
74
132
140
148
162
162
110
165
167
168
171
193
198
146
191
130
122
113
107
168
126
136
141
99
109
144
179
149
185
163
214
229
223
255
229
212
230
227
212
141
122
118
137
209
214
164
158
189
151
102
108
182
150
130
59
104
106
139
145
139
128
121
118
74
135
126
126
128
126
126
131
135
83
84
87
85
84
81
129
141
88
139
140
140
142
142
90
90
89
87
135
133
127
116
64
64
63
64
62
60
59
56
52
45
40
36
31
83
89
86
56
108
177
90
53
31
19
67
11
68
63
39
0
23
29
21
86
61
65
66
60
47
37
36
34
49
51
52
52
255
255
255
255
255
255
255
255
228
255
255
255
222
221
218
216
255
255
255
255
216
216
216
217
255
255
255
255
228
228
229
255
255
255
255
215
213
203
188
179
212
144
130
125
123
130
190
142
146
144
148
139
127
177
125
165
171
118
119
176
185
194
203
158
168
232
189
245
245
242
236
181
226
219
157
147
137
178
172
167
115
117
174
132
159
214
217
173
185
245
199
206
208
255
255
252
249
194
195
193
189
181
226
161
149
188
156
99
116
127
168
134
101
100
98
98
100
49
48
101
92
85
26
76
76
24
76
94
85
28
29
34
37
40
38
99
100
47
99
103
55
66
124
129
80
133
78
75
68
65
104
96
91
35
34
94
48
65
69
74
80
83
86
85
94
151
158
111
113
165
116
120
173
173
122
175
172
120
118
117
168
167
167
138
136
136
139
190
188
139
140
146
204
220
222
225
232
179
104
81
66
56
64
75
89
137
131
76
115
105
102
53
113
111
62
109
60
85
125
174
76
128
114
69
64
117
113
111
110
56
55
114
60
66
125
131
132
136
138
147
143
138
84
135
131
130
126
131
132
132
132
134
132
122
69
68
66
66
65
113
111
107
99
94
89
82
72
15
80
71
73
72
107
111
116
108
35
69
10
59
57
0
0
13
6
0
3
27
49
95
91
37
86
31
41
99
91
78
69
255
255
255
255
255
255
255
255
226
255
255
223
222
221
218
217
255
255
255
255
217
218
220
222
255
255
255
255
255
227
228
255
255
255
255
214
208
196
183
222
140
178
178
132
142
156
167
232
238
243
188
170
144
130
123
179
187
195
154
160
163
218
229
190
195
201
255
255
255
208
252
197
244
239
182
229
169
158
156
206
197
132
119
116
152
207
160
171
184
248
205
215
255
218
255
255
201
195
189
188
186
187
185
178
167
155
178
160
102
173
196
177
81
107
101
50
106
51
49
102
41
41
42
94
90
86
30
74
75
79
31
31
31
34
37
95
97
45
99
102
105
60
117
120
71
72
70
70
119
116
101
96
40
39
91
99
103
61
65
119
72
74
75
76
83
141
94
98
101
105
107
109
110
111
112
114
168
168
164
161
159
157
156
120
171
171
174
174
174
122
175
125
181
179
173
165
109
89
75
111
99
87
88
93
54
60
118
67
64
56
101
110
65
61
110
124
122
72
68
147
191
100
76
68
69
114
108
103
49
101
101
106
109
116
124
131
136
142
144
149
147
142
88
87
138
135
135
138
138
84
83
84
133
125
122
120
118
64
113
108
106
99
91
84
79
75
69
13
14
68
64
22
64
139
128
99
69
55
54
58
59
18
19
75
23
19
76
88
33
77
70
72
83
97
66
133
124
110
99
255
227
255
255
255
255
227
225
255
255
255
224
222
221
219
219
218
255
218
219
255
224
225
255
227
255
255
224
227
227
228
228
255
255
255
218
207
194
182
225
141
125
178
189
208
171
181
245
247
196
200
246
237
176
159
129
145
207
218
226
177
182
193
198
253
204
206
255
255
208
212
255
254
246
241
184
177
164
162
215
215
154
138
175
200
202
157
168
182
250
210
222
255
221
216
255
252
244
232
231
178
182
185
183
227
164
137
169
96
106
134
187
159
112
99
47
49
46
43
97
101
101
102
101
46
40
36
91
31
80
76
22
29
38
37
93
95
96
98
101
103
58
60
116
67
119
119
117
117
62
52
46
44
95
95
50
106
113
64
67
123
124
126
75
81
87
144
96
98
155
157
159
108
110
112
114
168
116
112
160
106
104
103
116
114
165
166
165
112
111
114
167
169
114
108
98
90
90
75
54
90
78
83
36
50
109
64
63
60
107
48
109
116
115
110
70
74
127
63
66
130
131
74
61
63
110
51
98
46
100
101
54
113
67
76
83
85
90
92
150
149
146
92
89
88
87
86
141
141
86
85
85
80
78
75
70
67
117
61
105
101
45
37
30
77
73
16
16
56
11
18
14
37
81
70
87
64
65
60
54
4
19
69
73
23
71
74
26
32
77
72
82
101
119
136
150
140
124
112
255
255
255
255
255
227
227
225
226
255
255
225
224
223
224
224
255
255
255
255
255
255
255
227
227
226
227
255
255
255
227
227
255
225
222
255
255
196
182
219
191
135
148
216
181
240
193
206
255
207
204
247
244
194
244
239
183
186
189
191
191
245
252
255
211
214
255
255
255
255
208
209
255
208
254
192
179
229
170
168
222
221
213
147
154
207
213
171
184
199
211
255
255
219
255
255
198
192
227
224
221
226
234
238
235
228
213
199
128
165
120
187
195
76
102
46
49
49
54
113
108
115
73
77
76
71
67
98
31
34
87
82
26
28
85
87
89
93
96
45
46
54
105
56
111
114
114
61
60
61
60
57
56
54
54
57
57
62
65
123
126
126
128
77
82
88
143
95
97
97
151
155
105
161
165
169
167
114
111
108
107
157
156
100
99
96
148
150
152
152
151
154
103
102
99
143
79
83
72
54
89
76
76
26
28
43
54
54
60
57
51
104
102
106
110
54
55
107
65
73
48
141
100
78
64
55
47
92
93
45
52
109
113
120
129
83
87
92
146
158
157
156
101
95
92
91
91
144
143
87
85
83
78
81
77
72
119
62
57
48
43
40
85
80
77
20
12
8
3
6
10
10
10
32
47
44
51
94
73
78
39
93
83
80
83
78
76
27
31
85
88
97
110
125
85
83
125
110
44
227
227
227
255
227
227
227
227
255
255
227
227
227
255
255
255
255
255
255
255
255
255
255
255
227
227
255
255
255
224
255
255
255
255
255
255
200
246
237
165
143
208
240
244
200
255
255
213
255
255
255
255
255
208
255
250
249
195
197
253
255
250
255
255
213
215
255
255
215
255
255
219
255
255
209
253
242
175
173
225
224
223
168
164
173
222
223
225
227
188
250
255
255
255
255
197
189
189
181
183
183
181
229
231
235
239
244
234
168
205
131
183
209
111
80
59
107
135
175
200
235
249
204
204
200
194
242
222
198
91
45
24
25
86
87
32
91
95
94
95
98
51
107
58
61
61
108
107
70
69
121
65
62
60
59
61
110
113
64
119
70
76
131
78
83
141
92
96
96
98
99
103
106
160
160
108
111
162
109
110
109
104
101
90
138
83
136
139
143
93
148
151
101
108
158
149
87
94
85
121
105
83
77
75
78
85
93
97
47
47
46
58
106
102
101
106
107
108
53
45
63
107
155
136
85
121
109
38
35
46
106
113
63
120
75
81
87
98
152
109
108
107
105
103
99
148
147
145
143
88
137
86
80
79
127
120
115
109
53
95
38
37
33
81
77
73
68
63
11
9
9
11
13
14
70
32
24
23
102
61
93
84
79
22
74
73
73
25
77
81
37
37
35
49
116
68
39
69
65
255
255
255
255
255
227
227
227
255
227
227
227
255
255
255
255
255
255
255
255
255
255
255
227
227
227
255
255
255
255
255
255
255
255
255
255
203
247
237
170
153
216
241
246
200
209
255
214
255
255
211
255
255
255
255
251
248
247
197
252
253
251
255
214
217
219
255
255
219
220
224
223
221
255
214
255
249
182
180
229
227
226
168
163
186
186
242
238
178
182
242
251
198
198
197
192
239
237
177
181
182
181
176
176
231
236
197
184
170
153
127
123
193
121
88
74
144
171
144
161
194
202
203
252
200
201
252
232
162
133
144
101
28
85
85
31
88
91
90
90
91
49
92
37
42
51
113
120
113
114
116
67
67
117
61
61
110
113
117
68
71
128
131
131
134
139
143
148
150
98
100
105
108
162
161
109
112
163
110
111
110
105
102
90
140
136
137
90
145
148
102
158
159
164
113
109
103
154
145
130
114
92
85
31
26
32
37
41
46
98
46
51
47
97
96
100
48
102
104
45
53
55
115
102
178
76
112
50
44
91
102
52
59
66
74
82
141
147
96
108
160
158
157
104
100
149
148
147
91
140
136
83
76
76
123
118
59
54
49
40
35
34
84
81
78
73
67
61
59
7
7
8
9
10
19
30
23
74
93
43
77
16
23
35
38
31
74
18
28
25
25
32
42
109
62
36
30
27
83
255
255
255
255
255
255
227
227
227
227
227
227
255
255
255
255
255
255
255
255
255
227
227
227
227
255
255
255
222
223
224
255
255
220
217
255
201
239
234
178
229
236
194
199
255
211
216
217
216
255
218
218
218
255
255
255
252
251
250
198
251
254
212
219
221
224
225
225
224
226
228
228
227
227
225
219
214
203
250
245
189
236
230
172
231
238
194
193
184
235
239
238
182
181
184
238
235
234
170
229
234
235
178
175
227
176
191
185
182
173
155
143
144
200
186
135
164
229
233
255
255
215
208
204
205
209
208
209
178
175
155
104
56
94
88
92
40
40
93
102
110
87
121
132
187
183
182
129
100
87
115
116
118
64
61
111
109
112
115
66
71
128
132
132
83
139
145
151
157
152
155
111
114
115
114
165
170
169
168
169
168
111
108
100
96
94
145
147
96
150
159
165
118
119
122
178
178
123
114
152
87
117
109
53
48
48
99
48
48
48
101
49
100
99
98
99
49
101
45
115
105
101
57
56
83
184
97
65
109
51
37
55
53
112
119
127
134
87
89
156
155
155
153
151
98
96
145
93
91
141
85
84
126
69
65
57
102
99
42
36
31
83
32
31
27
73
64
8
5
2
2
54
56
56
64
18
23
81
32
73
68
29
29
79
27
82
86
33
27
42
114
118
100
28
12
0
22
33
83
255
255
255
255
255
227
227
227
227
227
227
227
227
255
255
227
227
255
255
227
227
227
227
227
227
227
255
255
223
223
222
224
222
215
255
255
244
233
231
234
240
244
252
255
208
214
255
255
222
223
222
222
255
255
255
255
255
209
207
203
202
255
214
255
255
222
223
223
225
227
228
228
226
227
255
223
219
255
255
207
201
198
192
187
232
227
177
180
181
238
233
164
166
170
230
234
231
177
169
175
230
229
173
172
225
228
231
238
245
245
241
236
174
211
198
197
225
238
243
255
222
225
255
255
255
211
203
255
190
173
165
194
140
37
34
91
35
92
113
140
158
159
172
125
124
122
173
174
144
128
80
66
62
117
122
105
49
53
108
111
64
123
130
132
84
140
146
101
108
152
154
160
111
114
115
168
172
172
170
172
118
114
111
116
110
103
94
92
93
95
98
106
114
126
181
183
179
139
131
170
159
92
140
138
83
130
122
65
55
50
97
102
104
106
108
111
114
64
69
64
123
132
128
75
71
105
171
130
133
55
45
32
45
101
104
109
64
81
84
149
97
97
95
95
94
92
142
91
94
144
92
143
135
63
59
103
98
43
40
36
81
30
30
28
24
19
13
8
57
53
50
50
51
54
53
4
13
20
19
17
25
43
61
68
56
42
45
112
133
59
90
72
8
8
17
3
0
53
70
255
255
255
255
227
227
227
227
227
227
227
227
227
227
227
227
227
255
255
227
227
227
227
227
255
255
255
227
223
222
220
220
255
255
255
198
243
236
185
239
247
196
204
255
255
255
219
224
224
224
224
222
218
215
255
255
205
208
207
203
202
210
255
255
255
255
255
255
255
227
255
228
227
227
227
225
221
255
214
208
204
202
251
246
190
234
231
230
177
232
226
156
162
224
232
234
179
176
178
180
232
177
223
221
173
230
233
244
255
254
203
202
242
219
206
200
210
225
242
205
255
222
255
255
219
214
208
255
195
178
171
145
88
38
87
83
86
51
130
154
166
174
176
124
178
180
130
132
138
186
96
73
61
60
65
49
46
49
104
55
112
118
125
128
137
138
143
150
157
152
101
104
108
164
166
168
117
169
167
117
116
163
108
126
118
107
94
93
93
94
99
156
163
179
186
185
182
200
141
128
169
158
158
157
100
93
137
130
66
58
53
105
108
113
116
121
74
78
136
78
134
92
83
83
89
101
131
115
161
74
59
86
90
93
99
106
62
127
80
95
95
94
92
145
92
93
142
144
94
146
93
143
133
112
55
49
43
40
38
35
31
29
28
25
75
70
66
59
55
49
0
47
48
51
54
55
63
16
17
25
37
56
58
52
95
97
64
83
121
96
77
73
22
27
81
41
83
101
146
255
255
255
255
227
227
227
255
255
227
255
227
227
227
227
227
227
255
255
227
227
228
228
255
255
228
255
255
219
255
255
255
255
254
252
193
189
186
189
249
251
247
255
206
255
218
225
229
226
221
218
255
255
255
255
255
220
213
207
207
207
206
255
255
255
255
228
255
255
255
255
255
255
255
255
255
211
208
208
208
210
210
255
255
201
199
245
239
231
222
214
158
171
232
233
229
176
176
236
179
225
176
238
237
228
227
246
255
215
210
207
204
197
244
229
215
202
198
216
193
255
219
218
255
216
222
229
255
233
169
219
185
76
38
36
31
103
130
99
164
170
182
185
190
137
132
133
190
130
190
155
80
59
46
45
49
49
97
96
98
103
107
61
119
132
83
88
147
153
100
100
157
161
112
164
112
119
166
164
113
112
160
105
113
111
107
95
145
94
97
99
157
167
184
190
140
192
210
156
153
204
207
205
200
192
183
119
106
83
80
80
114
115
117
125
93
96
95
99
153
153
151
97
94
88
128
126
100
146
128
67
109
88
81
101
61
45
80
65
63
63
116
68
127
140
146
146
101
105
158
103
102
143
113
57
51
47
45
42
37
38
33
27
76
73
70
64
82
24
13
3
51
51
46
44
54
54
51
68
44
49
40
37
60
156
171
137
38
17
23
36
94
96
45
109
150
125
163
235
255
255
255
255
255
227
255
227
227
255
227
227
227
227
227
227
227
255
227
227
227
255
255
255
227
226
255
255
255
255
255
255
255
251
248
194
246
244
190
188
249
202
203
205
255
215
220
223
221
218
210
255
254
255
255
205
255
209
206
201
249
248
255
255
223
225
255
255
255
255
255
255
255
255
255
255
212
207
207
255
255
255
255
255
255
254
248
194
243
236
174
169
227
176
177
176
231
177
174
175
176
233
241
242
242
247
255
255
255
229
224
220
215
214
196
233
221
210
157
171
246
254
204
208
211
212
211
201
181
174
194
86
48
97
100
81
40
73
108
123
119
131
183
186
186
186
189
194
189
192
154
81
63
104
103
50
49
43
93
93
44
99
103
108
120
73
78
85
142
145
145
145
96
99
103
156
160
159
156
157
157
156
101
112
163
107
96
95
149
100
156
161
116
130
188
141
196
215
162
163
215
218
216
212
207
142
129
170
103
98
94
87
137
136
139
101
105
106
111
167
168
167
111
103
96
146
66
108
33
73
160
122
66
52
90
100
118
53
71
58
59
112
116
68
132
86
97
101
102
150
148
99
97
115
112
56
103
101
100
42
38
86
81
78
74
71
13
9
10
9
54
47
0
44
2
49
53
14
77
29
31
83
96
84
96
66
70
36
35
81
80
80
31
44
68
121
130
180
232
255
255
255
255
255
255
255
227
227
255
227
227
227
227
227
227
227
255
255
255
227
227
255
255
226
255
255
255
255
255
211
209
255
251
196
248
250
249
191
185
247
254
203
255
255
215
219
221
219
216
208
252
253
204
255
206
209
255
255
251
246
190
211
255
226
228
255
255
255
255
255
255
223
255
255
215
210
255
205
205
205
255
210
212
255
255
250
196
248
241
177
225
226
224
172
174
231
229
180
187
191
248
254
255
255
255
255
229
229
229
225
221
219
255
206
244
232
167
160
219
235
249
253
203
209
219
255
211
183
164
181
136
54
98
98
88
95
123
105
118
113
134
183
184
184
185
186
187
192
190
148
129
60
102
104
51
102
95
40
39
41
95
98
102
114
67
72
78
135
90
142
141
91
95
150
153
154
154
152
153
102
101
154
160
158
154
145
92
94
149
159
161
166
128
135
193
196
216
164
165
167
171
169
165
211
144
184
175
112
106
154
93
90
141
89
153
106
109
112
117
170
168
109
100
146
134
71
52
51
38
141
102
55
62
53
95
104
58
57
110
109
58
113
65
77
82
91
146
147
146
145
146
90
63
60
56
104
50
100
95
91
87
81
78
76
21
15
6
54
50
46
0
0
56
46
12
16
7
17
103
131
123
45
22
20
86
96
91
21
18
20
24
30
41
60
59
77
121
207
255
255
255
255
255
255
255
255
255
227
227
227
227
227
227
227
255
255
255
227
227
228
228
227
255
255
226
255
255
217
213
211
255
205
204
255
255
200
246
190
190
245
196
251
255
208
255
255
213
211
255
253
255
207
213
213
209
255
255
253
249
193
208
255
229
229
229
255
255
255
255
255
255
255
255
217
255
195
195
196
250
253
208
212
213
209
202
251
249
192
184
181
231
225
223
175
237
242
197
205
209
255
213
211
215
255
255
229
228
229
228
228
228
227
221
211
251
228
153
197
207
203
206
219
178
165
145
122
107
95
146
157
101
78
112
47
43
107
133
115
139
128
181
180
133
140
143
193
188
176
133
122
59
105
110
52
52
46
93
39
39
40
43
97
53
59
63
119
121
80
82
83
134
84
141
144
144
93
144
145
148
152
154
160
160
157
97
149
151
155
158
109
113
177
131
189
192
207
157
161
167
171
170
164
206
195
186
177
117
114
112
96
146
144
91
98
104
109
115
117
117
165
156
96
87
138
132
122
42
42
87
123
128
82
54
104
100
108
48
56
55
57
109
112
122
126
77
84
90
142
142
90
79
57
55
105
101
101
98
91
87
83
80
76
22
19
65
43
38
39
47
51
48
0
58
77
114
153
114
144
105
7
23
27
72
76
37
91
85
23
19
17
17
22
33
36
100
71
143
255
255
255
255
255
227
255
255
255
227
227
227
227
227
227
227
227
255
255
255
255
255
228
255
255
228
227
255
255
220
214
211
210
212
255
255
204
198
199
199
187
179
184
239
191
197
252
255
205
253
254
255
255
210
212
218
224
255
255
255
255
215
218
217
255
255
223
255
255
255
255
255
255
255
255
207
201
186
185
239
243
196
204
255
255
209
204
254
252
198
198
193
192
239
185
240
254
214
224
228
228
255
224
218
218
255
255
255
255
226
227
228
229
228
217
255
255
249
206
175
213
221
211
194
179
105
87
80
133
139
126
117
124
76
70
101
103
49
47
63
86
178
201
154
207
202
186
167
151
137
51
48
45
47
56
48
48
43
91
36
36
37
42
94
48
52
56
57
110
114
67
72
70
69
124
128
134
136
86
137
140
147
100
155
155
153
96
96
99
153
155
107
111
121
125
181
183
195
199
205
210
165
162
158
200
141
137
129
121
173
123
110
162
107
157
103
107
162
111
112
109
104
147
87
81
126
128
57
61
48
50
14
147
120
97
110
104
85
101
50
49
102
102
104
112
115
116
119
68
66
66
67
66
104
50
100
98
98
94
87
79
24
21
70
68
66
59
52
0
0
51
47
53
54
188
180
142
91
15
20
79
67
62
75
96
97
27
23
76
70
67
14
15
13
66
5
67
81
96
255
255
255
255
255
255
255
255
227
227
255
227
227
227
227
227
227
227
255
255
255
255
255
227
227
227
227
227
225
223
221
218
255
255
255
204
202
251
194
243
237
236
239
236
244
202
253
202
198
249
248
203
213
255
255
255
255
255
255
255
255
225
229
215
255
255
250
255
255
255
218
217
215
255
255
252
189
184
185
240
245
199
204
208
207
254
249
250
251
249
248
194
244
239
187
194
208
218
229
255
255
255
222
219
217
215
255
255
255
255
255
227
255
228
223
222
255
250
210
179
207
214
198
120
112
110
100
136
81
131
120
120
122
114
120
105
94
96
98
49
54
63
93
107
160
148
131
119
50
102
102
102
50
49
49
42
43
41
38
35
34
33
34
38
97
46
47
51
54
55
107
109
111
62
63
65
68
70
75
134
84
140
143
98
99
99
150
149
97
97
103
106
164
123
127
181
181
192
196
201
208
212
209
204
143
136
181
175
172
120
172
110
160
106
156
155
106
159
111
161
157
154
88
82
132
130
122
113
55
50
96
31
24
110
121
124
113
95
95
47
101
50
51
106
108
58
56
56
57
56
57
57
113
42
41
94
43
40
36
76
32
18
14
72
14
0
10
58
0
1
56
8
53
194
151
105
21
15
15
12
65
62
21
37
42
35
76
20
20
73
71
15
11
10
63
2
61
19
27
255
255
255
227
227
227
255
255
255
255
255
255
255
255
227
227
227
227
255
255
255
255
255
255
255
227
227
227
226
225
224
224
255
255
255
253
251
248
246
243
185
236
183
182
174
180
201
193
248
197
197
251
204
201
196
255
255
255
255
255
255
229
255
255
255
255
255
209
213
214
211
209
209
207
254
244
179
217
216
165
176
190
200
201
208
255
251
200
252
250
249
252
245
186
192
206
223
255
255
255
255
226
223
220
255
217
219
255
255
255
255
229
229
229
228
255
255
179
205
191
119
133
196
191
184
180
175
154
137
133
135
148
87
55
39
50
105
107
106
52
104
106
98
43
94
96
47
49
44
98
101
102
48
45
44
89
90
89
35
33
31
30
31
30
87
40
46
102
104
53
53
52
103
49
48
48
53
56
62
74
82
91
96
103
156
103
104
155
155
103
104
106
161
169
171
120
120
135
138
192
197
197
193
187
183
124
171
168
165
166
167
162
161
109
108
160
107
109
107
102
148
146
83
83
85
79
78
129
120
106
51
45
41
76
125
119
138
104
38
96
97
45
97
97
94
93
38
40
40
41
43
45
100
88
35
88
34
33
29
18
15
20
17
56
50
55
5
61
69
46
95
176
97
18
60
55
56
51
44
42
47
73
93
43
21
8
14
69
73
74
72
16
10
58
5
7
11
70
74
255
255
227
227
227
227
227
255
255
255
255
255
255
255
255
227
255
227
255
255
255
227
255
255
255
255
227
227
228
255
255
255
255
255
255
255
255
201
249
190
178
176
232
166
140
139
162
162
216
227
229
233
238
189
193
255
255
217
220
255
255
255
255
255
255
210
215
227
229
218
255
255
255
210
208
203
246
227
215
204
156
171
237
242
254
249
193
195
248
195
194
254
191
184
249
214
255
255
255
255
228
255
255
225
255
255
255
255
226
226
227
227
227
229
255
255
251
165
198
194
171
176
187
181
174
179
187
176
184
121
110
108
86
48
39
38
44
96
47
104
102
93
102
105
107
107
104
103
107
103
41
89
89
36
37
86
85
85
86
86
31
28
80
25
27
86
93
97
45
98
98
100
47
48
48
48
56
60
66
80
88
96
102
103
104
157
158
158
155
155
104
158
158
160
160
110
110
118
172
177
130
184
130
177
170
165
109
106
106
160
161
155
157
105
157
105
102
103
156
100
96
94
88
89
144
139
135
83
130
122
52
34
87
102
92
103
149
66
59
101
99
97
94
91
86
85
27
27
79
30
83
86
37
88
88
86
86
32
29
22
72
17
17
15
59
67
144
189
126
74
25
71
22
3
2
0
41
53
0
41
56
58
91
69
58
3
3
60
70
73
75
18
11
5
56
66
70
74
75
255
255
255
227
227
227
227
255
255
255
255
255
255
255
255
227
255
255
227
255
227
227
255
255
255
255
227
227
229
255
255
255
255
215
210
255
255
204
251
243
177
174
182
161
142
142
154
164
164
220
223
175
231
185
191
204
255
255
255
255
255
228
229
255
255
255
213
255
222
207
255
255
205
255
208
255
250
233
167
151
150
160
226
234
251
195
192
246
248
196
196
253
243
188
255
255
255
229
227
255
227
227
255
255
228
255
255
255
227
226
225
225
225
229
255
255
189
215
199
194
164
165
174
178
182
143
204
194
142
197
197
140
108
59
32
81
43
97
49
104
46
44
100
105
57
110
113
61
59
106
94
90
88
36
37
35
85
34
88
37
86
82
80
27
30
34
90
93
95
90
90
92
42
45
46
47
60
63
122
84
89
147
151
156
157
157
158
107
156
156
156
156
156
104
104
105
105
108
111
168
120
125
175
171
163
158
155
153
103
157
157
154
155
154
154
102
154
103
105
103
99
151
93
91
147
142
137
83
81
127
108
90
89
101
102
103
129
87
51
52
101
97
40
88
86
86
81
81
80
80
81
82
84
90
88
35
85
86
31
26
22
25
17
10
86
134
135
88
48
10
11
21
57
42
45
0
0
49
0
0
77
44
69
0
50
54
53
6
17
73
73
71
12
5
2
72
21
76
77
255
255
227
255
255
227
227
255
255
255
255
255
255
255
255
255
227
227
227
227
227
227
227
255
255
255
255
227
255
227
225
255
223
218
255
255
255
255
253
194
181
177
145
119
128
192
186
217
203
201
206
160
167
180
193
207
217
255
255
255
228
227
225
219
255
215
255
255
252
205
211
255
209
255
209
207
203
245
233
167
162
169
179
238
235
232
229
234
237
239
240
183
178
235
255
255
227
226
224
224
226
227
228
255
255
255
255
255
228
226
222
220
219
255
255
183
165
163
159
200
169
104
163
183
153
211
149
143
144
149
140
185
173
155
106
68
78
26
38
101
96
41
48
105
57
57
58
58
56
57
108
53
101
99
95
89
86
35
91
41
89
33
29
84
88
34
33
35
38
42
93
89
92
97
51
53
68
74
82
99
104
108
111
159
160
161
162
110
160
159
156
102
100
99
98
99
99
153
104
159
163
164
108
104
102
150
147
95
100
155
105
104
102
101
99
101
155
106
102
103
106
159
150
93
92
90
88
138
131
121
126
122
105
108
108
53
56
76
87
55
50
42
87
83
84
86
88
86
84
82
81
80
27
89
88
88
88
37
36
85
30
67
163
177
151
111
40
24
6
13
67
47
34
29
0
0
0
42
68
55
109
58
64
11
1
50
57
7
15
72
23
70
64
6
53
80
29
83
30
255
255
255
255
255
255
255
227
227
227
255
255
255
255
255
255
255
227
227
227
227
227
227
227
255
255
227
227
255
255
225
224
221
217
214
255
255
255
255
197
172
147
112
104
150
150
151
148
153
158
166
181
204
173
239
205
214
219
255
255
219
215
205
196
194
197
202
254
251
251
189
245
248
195
197
199
199
192
236
172
214
214
165
222
221
167
217
219
223
226
226
212
214
227
253
255
255
228
223
223
223
223
223
255
255
224
255
255
255
222
255
223
222
255
232
201
180
120
110
149
160
159
160
122
123
170
129
139
118
107
150
145
141
141
147
70
64
19
25
85
91
39
47
101
51
53
57
61
57
59
113
114
61
111
110
50
102
95
93
94
93
38
39
92
88
32
83
32
34
35
92
97
47
48
107
111
126
78
87
151
102
103
105
165
169
119
116
165
162
105
103
155
102
154
99
98
97
99
151
100
155
160
159
157
103
152
148
95
92
142
139
98
152
101
155
163
165
169
172
121
121
119
158
99
146
141
85
83
132
125
103
102
67
72
72
129
82
70
83
68
109
96
90
88
92
47
97
45
47
102
106
102
31
30
85
87
86
86
51
178
105
86
56
86
75
72
15
10
4
0
51
54
54
0
0
0
0
83
93
74
9
10
61
62
62
63
64
67
18
68
15
15
9
56
55
65
18
25
82
255
255
255
255
255
255
255
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
255
227
227
227
227
227
228
227
226
225
222
217
214
255
255
205
202
246
211
181
170
167
166
118
118
158
105
149
111
130
209
232
242
253
255
221
227
255
255
255
204
200
194
193
197
199
196
243
236
239
240
187
186
243
247
185
174
164
160
158
153
207
209
162
165
164
158
207
211
202
210
231
203
219
225
229
255
255
223
255
255
223
255
255
224
255
227
221
255
255
255
252
224
196
179
113
141
117
155
170
173
123
111
107
120
128
160
155
148
142
141
142
152
81
62
72
76
24
87
35
44
99
48
51
56
112
110
59
114
115
115
62
61
57
60
104
48
97
94
89
90
90
86
84
31
32
86
37
41
97
98
103
112
119
77
133
141
152
155
157
159
168
120
122
118
117
166
110
106
159
158
102
99
96
94
100
153
153
155
104
103
152
151
149
145
143
89
86
84
144
145
147
151
159
162
166
117
120
121
172
110
105
102
161
150
86
82
130
112
113
114
66
67
68
74
107
102
121
63
51
40
37
90
91
101
105
53
102
100
47
52
33
19
15
42
142
176
151
65
37
17
18
75
71
13
10
6
3
3
57
57
0
0
34
16
102
26
49
3
10
10
62
63
64
65
66
70
68
68
13
60
4
4
64
69
76
29
227
227
255
255
255
255
255
227
227
227
227
227
255
227
227
255
255
255
227
227
227
227
227
227
227
227
227
227
228
227
255
255
225
218
215
210
203
248
239
226
197
129
138
201
213
161
157
213
218
172
228
179
181
237
239
242
253
254
255
255
255
255
239
191
178
166
163
166
224
233
230
175
221
222
175
230
222
155
149
153
161
159
144
139
135
193
143
188
127
178
192
159
219
184
255
255
229
255
255
255
255
228
227
228
255
255
255
225
228
226
228
223
212
177
162
209
157
148
175
99
80
104
119
172
167
167
125
117
172
116
99
134
133
142
148
85
57
71
74
17
85
85
43
45
47
102
107
111
110
60
65
119
120
119
118
63
66
63
112
109
103
97
95
95
92
90
89
92
95
46
48
102
104
108
119
74
80
136
141
98
153
158
160
165
117
119
117
168
115
163
115
115
113
108
105
101
99
98
99
152
154
103
154
152
148
145
88
137
84
82
133
76
131
133
139
148
102
158
109
111
114
166
166
165
165
146
155
108
105
94
74
71
124
128
126
63
56
102
36
21
40
104
100
91
53
111
96
109
66
114
100
41
55
86
117
131
107
124
106
46
83
79
22
12
11
21
33
28
34
91
35
27
69
62
0
26
25
0
0
62
14
12
12
65
13
14
67
68
70
67
13
64
60
6
8
59
64
71
76
227
227
227
255
255
255
255
227
227
227
255
255
255
227
255
255
255
255
255
227
255
255
255
227
227
227
227
227
227
228
229
255
255
219
255
205
190
233
228
219
211
203
221
175
175
221
164
166
218
168
178
185
190
248
255
255
255
255
255
255
217
214
196
226
228
178
224
210
147
150
220
220
165
213
210
159
158
148
204
209
157
207
203
149
142
136
131
182
186
192
199
212
222
183
195
255
217
255
255
255
255
229
229
228
229
255
218
215
221
222
255
206
241
177
172
160
144
186
187
139
117
121
130
128
174
173
174
167
110
112
153
138
136
94
87
14
9
15
17
21
25
31
92
94
94
44
49
105
108
58
117
119
68
120
68
61
116
114
60
58
109
105
102
101
97
43
44
49
104
109
111
110
110
111
120
125
128
79
83
147
153
157
161
162
165
113
111
165
165
163
162
111
110
162
158
106
156
161
160
107
108
160
104
101
146
140
84
81
79
77
130
72
124
127
78
87
91
97
150
151
149
97
105
110
166
173
171
106
100
129
172
200
82
77
79
80
74
134
129
47
112
125
120
99
35
48
64
54
58
86
172
127
71
51
61
81
109
189
195
85
60
90
75
27
43
62
87
155
162
167
168
161
146
116
99
25
9
61
11
5
4
8
11
15
19
23
23
76
74
17
12
60
57
54
58
1
6
12
17
227
227
227
227
255
255
255
227
227
255
255
227
227
227
255
255
255
255
255
255
255
227
227
227
227
227
227
227
255
255
229
228
255
255
255
255
237
174
172
224
165
207
221
171
170
220
170
174
220
219
231
241
248
202
212
255
255
255
255
255
216
216
206
240
234
230
233
231
215
178
132
189
190
185
182
185
141
147
153
207
148
145
199
199
197
136
128
131
191
197
197
219
233
244
198
200
210
221
255
255
255
229
229
229
255
255
214
210
215
217
214
198
178
164
161
212
209
201
191
182
122
122
128
175
167
165
113
122
154
155
150
85
82
88
88
8
63
13
13
20
20
30
90
90
39
41
46
100
102
52
59
114
63
63
63
62
116
61
58
59
108
105
102
101
97
96
45
49
105
110
62
114
112
112
118
123
127
78
83
147
153
106
111
110
113
114
163
165
111
163
157
106
159
160
158
105
104
167
166
112
112
109
105
153
150
145
88
85
83
82
134
124
73
127
131
85
89
145
146
145
144
92
154
161
113
120
126
178
137
178
225
109
73
52
43
44
38
61
60
32
48
123
135
122
42
50
114
142
168
117
92
65
55
72
97
132
155
211
204
181
85
53
39
49
64
81
202
150
152
208
160
158
146
101
127
90
74
66
49
52
11
8
11
17
24
30
83
85
80
71
63
5
2
51
56
50
3
10
15
227
255
255
227
227
255
255
227
255
255
227
227
227
255
255
227
255
255
255
255
255
255
227
227
227
227
227
227
255
255
255
228
255
255
217
211
194
236
226
212
162
167
180
180
176
173
178
222
222
176
192
201
255
212
255
255
255
255
255
255
255
216
211
255
247
237
233
177
221
217
157
140
120
162
110
169
176
127
190
196
190
185
187
141
197
197
182
118
180
191
198
221
235
248
251
252
255
209
214
216
217
255
255
213
210
255
239
246
217
218
255
193
185
175
181
230
211
199
199
200
172
161
172
125
106
145
149
115
175
121
107
82
127
49
27
14
18
22
19
16
72
75
29
33
37
91
93
42
43
44
46
99
101
50
103
104
105
102
103
101
101
100
99
99
46
97
99
48
103
58
61
121
122
69
71
73
76
131
136
141
145
101
159
112
164
110
109
160
106
106
156
157
156
159
159
155
102
166
115
115
116
112
160
155
147
141
83
82
78
78
131
127
75
126
77
80
131
132
77
76
77
78
85
148
159
122
174
189
99
147
94
78
69
113
89
21
19
65
73
61
55
58
0
4
0
0
0
2
16
26
42
67
159
203
223
247
255
255
255
228
190
108
92
102
183
213
255
255
255
225
228
220
213
170
134
91
100
20
60
1
52
69
26
91
104
120
131
131
58
42
73
4
48
0
50
0
56
11
15
255
255
255
255
255
255
255
255
255
255
227
227
227
227
255
255
255
227
227
255
255
255
227
227
227
227
227
227
255
255
226
228
228
255
219
211
255
245
172
148
149
209
163
170
170
168
223
224
178
190
203
210
212
218
255
255
222
255
255
255
255
255
218
214
255
252
240
230
223
223
225
161
130
96
87
149
154
161
170
181
189
193
199
205
196
194
180
171
180
194
153
157
217
230
242
249
251
197
206
203
200
197
198
199
250
195
175
238
200
249
238
182
188
182
192
188
225
161
152
191
173
113
122
124
109
77
46
126
81
70
97
84
36
30
22
63
12
12
11
12
67
73
25
80
82
84
85
32
83
84
33
86
87
87
88
87
34
85
88
37
38
91
93
93
95
94
97
49
105
60
116
124
122
72
127
128
75
78
132
84
141
147
151
159
160
110
108
106
102
100
149
150
152
158
159
106
156
165
112
108
106
102
152
149
143
137
80
80
77
77
79
82
81
80
79
74
72
69
69
66
65
67
72
131
137
99
165
195
163
168
82
29
18
63
58
54
0
0
50
49
53
62
41
0
49
47
62
41
44
117
76
98
199
255
217
229
229
255
255
255
227
206
144
156
185
255
255
255
255
255
229
229
229
209
181
139
141
97
70
57
53
93
112
137
166
139
156
157
116
86
51
23
57
50
0
1
6
11
15
227
227
227
255
255
255
255
227
227
255
227
227
255
227
227
227
227
227
227
227
255
255
255
227
227
227
227
227
226
255
226
228
228
221
218
212
255
191
171
200
195
144
159
218
219
217
165
223
234
195
207
211
255
255
223
255
225
226
255
255
224
223
220
255
214
205
193
234
176
172
165
164
193
103
83
141
95
149
151
107
172
188
194
195
193
185
178
123
138
209
218
162
165
171
182
191
249
252
254
249
245
189
191
188
229
163
154
222
223
230
242
248
197
184
191
189
234
176
160
190
109
106
114
172
168
140
52
50
75
117
36
32
44
101
88
61
60
63
66
66
65
19
23
78
28
29
29
81
30
29
82
83
81
82
82
27
26
78
29
30
85
87
35
88
91
42
98
51
107
114
119
126
73
74
128
129
132
133
135
86
90
94
97
156
105
107
105
104
98
97
98
99
152
106
106
105
103
114
162
158
156
151
147
92
90
84
131
79
130
129
80
140
140
137
84
128
123
68
66
116
62
64
69
126
130
84
101
137
159
151
61
25
68
63
62
55
0
0
0
51
48
52
34
28
30
83
150
118
50
108
71
157
222
255
226
229
255
255
255
255
241
225
167
178
200
255
255
255
255
255
255
229
229
218
238
205
159
115
82
67
60
111
134
115
147
174
191
191
150
114
71
34
12
2
48
57
9
14
69
227
227
227
255
255
255
255
227
227
255
227
227
227
227
227
227
227
227
227
255
255
255
255
227
227
227
255
227
228
255
255
255
255
255
213
211
255
241
215
135
171
164
188
152
162
162
162
167
181
194
205
255
255
255
224
255
255
229
229
255
229
227
255
221
219
210
252
195
191
227
151
155
143
111
83
128
86
153
96
100
117
133
191
189
185
186
196
149
153
171
235
239
184
180
181
179
175
175
173
226
218
201
134
125
164
99
148
206
195
148
164
173
181
246
197
190
184
238
223
192
145
142
139
142
163
111
79
43
79
71
39
34
81
85
97
20
64
65
18
69
67
17
18
72
73
21
19
71
21
20
71
71
19
69
69
13
11
10
13
67
71
74
26
29
37
43
50
109
62
120
124
77
77
77
80
82
88
137
136
137
86
139
139
94
95
147
93
90
141
139
141
90
93
103
104
104
153
161
158
154
151
144
138
134
82
75
73
125
125
73
74
147
146
144
91
81
126
69
67
116
114
118
71
72
125
39
94
152
158
83
89
125
90
72
57
0
38
54
0
42
43
58
64
81
13
57
111
141
82
65
93
135
242
255
229
255
255
223
217
212
204
203
255
255
255
255
228
207
210
255
255
229
255
255
250
173
135
89
105
88
31
107
132
166
252
255
229
229
198
154
102
57
84
69
64
69
20
75
78
255
255
227
227
227
255
255
227
227
227
227
227
227
227
227
227
255
255
255
255
227
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
205
234
195
110
107
151
152
149
104
121
133
149
161
168
232
245
202
255
255
216
223
226
227
226
224
255
255
216
207
198
246
244
240
226
210
208
131
103
84
68
63
138
141
147
165
180
179
177
189
144
160
173
178
178
182
236
177
226
222
162
206
139
109
103
79
46
45
44
38
73
175
138
139
151
167
173
170
180
234
230
174
175
216
145
158
105
142
70
139
104
87
71
31
36
29
27
85
35
94
75
69
67
66
63
60
8
64
65
64
63
63
63
68
67
66
65
13
65
65
8
60
6
3
53
53
0
61
67
34
43
53
113
66
127
76
80
83
84
85
137
93
90
86
131
131
131
132
128
77
82
142
91
93
95
141
145
148
99
100
151
146
103
148
140
136
122
115
60
57
54
60
69
76
129
126
130
80
84
83
77
128
76
77
125
68
118
121
67
116
50
58
98
168
91
122
108
57
63
49
0
15
46
0
35
53
79
96
90
20
89
58
73
95
63
63
121
255
255
255
229
227
210
218
224
224
224
255
255
255
224
229
218
225
229
229
255
255
255
255
216
168
104
102
88
105
172
189
209
255
255
229
255
244
217
181
94
74
66
111
30
83
85
86
227
255
255
227
227
227
255
255
227
227
255
255
227
227
227
255
255
255
255
255
255
227
227
227
227
227
227
255
229
225
255
255
227
212
255
255
188
161
131
110
113
160
107
99
96
152
153
103
112
145
215
183
196
205
217
225
224
255
255
223
222
220
215
255
255
199
191
240
237
173
162
206
127
96
80
68
65
77
131
138
157
122
175
170
194
153
166
174
175
176
232
231
226
225
223
218
160
146
173
151
68
37
39
41
40
128
174
137
141
152
165
169
225
234
185
178
178
182
163
181
158
103
144
131
137
148
143
131
32
31
78
79
34
34
41
75
69
66
63
60
4
8
62
63
62
61
9
62
63
63
63
63
11
63
63
6
58
5
3
54
3
54
61
67
83
93
105
62
68
75
77
82
83
136
135
135
86
85
137
133
131
129
127
123
122
74
133
82
136
89
88
92
147
96
98
94
91
101
95
87
135
69
60
57
56
105
110
67
75
129
124
127
77
79
80
127
75
126
73
70
117
119
70
67
115
92
47
141
123
120
80
39
67
63
55
0
0
0
26
6
81
106
112
45
26
44
62
76
89
135
58
126
255
255
255
255
255
255
221
226
224
255
221
220
255
255
255
255
255
229
229
219
255
255
229
219
225
160
110
97
65
179
246
255
222
228
255
255
249
224
191
160
140
129
117
30
31
84
86
227
227
227
227
227
227
255
255
255
255
255
227
227
227
227
227
255
255
227
255
227
227
255
227
227
255
227
227
225
226
255
223
215
203
254
192
153
173
110
104
151
150
151
93
90
91
93
95
101
106
180
208
229
189
249
255
219
222
223
221
220
221
215
206
252
243
187
238
236
229
210
193
111
137
73
119
118
63
64
65
79
100
160
160
129
152
221
168
165
175
233
183
178
230
178
224
218
149
101
58
35
80
83
84
37
124
153
120
196
218
222
218
219
227
233
238
181
170
140
156
130
100
79
77
68
32
128
149
93
75
20
26
83
82
81
18
14
10
7
4
53
59
55
2
3
4
5
5
53
2
6
60
9
61
62
6
5
56
3
3
3
57
61
68
37
98
107
115
120
71
73
131
132
130
75
72
119
70
125
75
72
120
117
68
66
66
69
123
128
133
138
142
145
91
144
90
85
141
85
133
128
112
106
54
54
53
59
117
126
126
120
63
118
120
69
67
67
68
117
116
117
65
62
109
53
112
94
42
58
132
142
50
26
64
62
71
48
156
69
33
125
158
158
84
48
98
129
93
103
130
144
159
151
243
255
255
255
255
229
228
255
255
255
255
255
255
255
255
255
255
228
220
255
255
229
223
235
131
141
134
161
199
255
215
218
220
255
255
215
199
175
205
186
162
135
79
80
81
30
255
255
227
227
227
227
227
227
227
255
227
227
227
227
227
227
255
255
255
255
227
227
227
255
227
227
227
227
221
255
255
209
199
186
232
205
187
128
126
167
149
148
94
94
145
92
91
85
84
138
139
141
151
172
146
226
193
197
200
251
250
198
191
233
232
231
177
173
218
151
131
166
149
133
117
115
63
116
116
111
61
76
88
146
171
193
213
166
169
173
231
175
172
174
176
171
216
197
105
69
74
34
82
83
88
106
141
90
102
180
202
211
218
220
170
169
196
161
93
88
126
105
87
25
56
63
103
135
114
30
72
72
70
70
62
10
8
6
6
56
55
52
48
0
1
56
55
54
52
1
8
62
11
11
62
7
5
3
1
3
4
6
13
21
43
50
108
110
111
62
115
120
120
119
116
115
112
60
111
58
59
60
112
61
60
61
65
66
122
75
84
140
143
92
91
89
85
131
127
123
120
110
58
63
64
66
69
121
129
76
117
108
58
111
61
63
65
119
116
116
115
59
101
96
39
44
48
56
57
115
152
153
158
149
106
122
163
103
28
92
103
111
108
99
74
65
130
156
188
203
205
206
17
98
153
201
223
229
229
255
255
255
255
255
229
229
255
255
255
255
226
220
255
255
229
221
192
156
132
138
217
255
255
255
211
212
218
224
229
222
255
233
203
166
132
75
22
22
74
255
255
255
227
227
227
227
227
227
255
227
227
227
255
255
227
227
227
227
227
255
255
255
255
227
255
227
255
255
217
255
199
242
226
217
213
151
146
193
178
150
140
93
95
147
145
93
95
94
138
138
81
78
137
153
175
156
162
219
222
225
176
173
220
168
166
163
158
202
138
122
157
143
76
59
57
63
106
58
109
107
64
73
131
106
122
144
211
217
167
222
172
170
224
226
169
158
192
66
74
74
29
24
85
93
101
143
149
98
111
128
140
146
146
141
178
153
87
82
125
114
104
94
78
4
57
81
122
74
90
19
68
63
12
58
8
7
6
55
53
0
48
0
0
3
57
4
1
0
1
8
10
10
61
61
3
54
1
2
5
60
9
70
23
90
44
48
51
106
55
56
59
60
60
59
110
106
54
106
105
105
105
53
57
57
112
66
67
123
74
81
86
89
90
92
89
86
75
123
67
66
112
117
123
121
122
124
123
128
75
61
105
55
58
111
62
64
119
117
115
62
58
46
42
92
57
60
67
73
126
83
86
86
83
85
91
82
55
131
157
157
105
104
99
75
120
124
146
180
197
200
198
94
119
110
177
229
229
255
255
255
212
255
255
229
229
255
255
255
255
225
221
255
229
229
255
247
222
208
167
190
228
226
255
255
255
255
222
229
255
255
236
198
154
119
73
72
19
18
255
255
255
227
227
227
227
227
227
255
255
227
227
227
227
255
255
227
227
255
255
255
255
255
226
226
222
220
214
255
248
234
223
217
217
216
200
195
198
149
132
168
156
99
100
99
91
140
137
85
81
134
143
152
155
151
111
105
151
100
163
176
176
178
178
126
128
129
128
174
162
146
127
60
55
105
107
50
48
99
46
47
100
50
60
70
82
109
204
170
220
226
222
218
161
153
136
117
81
53
75
65
27
43
47
96
64
132
146
101
108
121
187
99
141
134
130
73
68
65
49
101
50
81
6
56
61
49
90
63
76
10
10
4
4
59
57
3
50
45
42
0
0
4
6
6
4
3
3
54
57
8
8
5
2
50
49
49
53
60
15
71
67
72
83
33
36
92
96
94
94
43
45
99
49
50
100
102
103
99
46
48
102
106
108
59
68
72
75
77
78
79
82
87
87
137
82
71
67
66
67
116
120
78
77
124
121
122
70
66
117
104
106
54
108
112
63
66
67
115
58
55
49
46
96
108
112
62
61
60
61
114
116
81
91
136
129
83
83
156
145
136
135
90
81
63
108
109
128
153
112
107
106
74
53
170
255
255
255
255
255
255
220
229
255
255
255
255
255
227
220
220
255
229
255
255
251
240
186
201
255
255
229
229
220
214
255
255
255
255
247
159
113
69
34
17
70
19
71
255
255
227
227
227
227
227
227
255
255
255
227
227
227
227
255
255
227
227
227
255
255
225
225
226
226
255
214
204
251
248
199
206
255
201
201
241
231
222
209
196
133
154
97
98
152
98
88
129
77
79
85
96
152
151
99
97
101
98
89
86
147
120
124
175
176
177
180
126
172
145
82
68
57
104
103
48
46
45
44
43
45
45
47
50
101
96
61
99
175
128
188
190
136
132
126
120
111
160
117
27
72
82
33
90
98
54
60
63
116
69
82
146
80
115
111
65
118
113
55
50
54
45
23
62
61
58
13
81
124
38
66
59
53
50
46
43
41
42
42
0
0
1
3
4
55
53
0
4
55
55
2
0
0
0
0
45
57
63
68
18
19
23
20
69
72
75
79
28
25
26
30
86
90
93
95
42
95
44
43
42
95
45
53
107
58
66
70
73
127
129
131
132
85
84
84
133
129
74
125
126
122
124
76
74
121
119
63
53
103
106
105
107
55
108
110
111
61
117
114
59
109
102
98
93
108
52
101
95
37
32
86
108
120
128
80
85
101
101
117
96
72
62
126
148
135
104
82
77
96
64
80
106
142
82
138
138
255
255
255
255
217
226
229
229
228
218
255
255
219
213
217
255
255
210
194
238
243
205
255
255
255
229
255
255
223
218
214
210
246
218
178
81
42
14
21
21
22
75
255
255
227
227
227
227
227
227
227
255
255
227
227
227
255
255
255
227
227
227
255
255
255
255
255
255
255
255
255
206
208
215
219
255
255
214
207
252
186
221
203
140
105
149
96
98
96
90
78
73
79
89
97
151
98
101
152
154
97
139
133
84
103
157
163
172
178
180
121
102
78
71
64
56
104
102
101
97
45
44
44
43
44
96
96
45
94
57
92
108
105
167
169
169
114
110
108
160
163
114
23
72
81
81
86
46
108
111
62
114
119
79
88
80
60
107
110
57
105
102
55
54
36
16
62
62
58
54
128
80
50
20
55
46
47
41
37
38
39
43
0
49
53
2
2
1
0
49
3
2
52
0
0
0
0
40
45
63
69
72
20
20
21
69
64
14
16
67
65
64
13
20
24
29
86
88
88
37
38
39
39
91
91
102
52
106
115
119
122
124
129
129
130
134
82
132
130
76
75
127
127
127
127
74
124
66
60
53
92
96
50
54
56
108
109
58
60
112
115
114
112
110
104
99
42
52
49
44
93
37
36
40
57
117
125
133
143
108
108
120
100
75
66
75
98
88
113
86
73
30
48
66
89
128
157
146
101
172
217
255
216
222
229
229
255
255
217
229
255
214
208
213
255
255
254
184
229
238
207
255
255
255
229
255
229
226
255
217
203
186
157
117
76
39
13
71
20
21
74
255
255
227
227
255
255
227
227
227
255
255
227
227
227
255
255
255
255
255
255
255
255
255
225
255
255
255
252
255
216
225
228
226
255
226
218
218
218
212
199
167
142
104
94
142
140
138
89
82
121
127
137
94
96
93
96
138
86
85
138
139
89
80
63
115
114
113
62
61
59
60
60
58
56
105
105
102
96
95
43
95
95
96
43
43
45
94
103
79
97
101
107
161
160
159
108
108
161
97
51
14
66
74
73
76
85
55
115
119
123
128
83
85
70
51
101
102
47
48
106
95
35
71
5
60
63
59
55
99
129
124
43
9
39
0
41
38
40
0
48
50
0
0
0
0
0
0
0
47
46
40
0
0
40
0
0
56
69
21
21
72
70
65
64
60
4
51
44
0
0
0
59
65
71
24
27
83
31
33
39
40
38
88
94
43
97
105
56
60
114
68
120
121
74
75
74
125
74
128
130
129
80
78
72
63
52
41
85
79
35
42
102
104
107
107
56
57
110
115
113
111
108
104
99
44
53
97
42
40
36
85
93
48
105
117
133
149
115
117
162
154
94
144
97
97
86
121
100
83
75
25
81
31
73
151
176
142
100
211
255
221
228
255
227
222
218
255
255
255
198
191
199
216
220
243
219
210
169
192
255
255
215
216
255
226
229
255
224
198
230
151
117
132
100
25
67
68
18
19
255
255
255
255
255
227
227
227
227
255
255
255
227
227
255
255
255
227
255
255
255
255
255
255
212
206
245
188
220
221
223
227
228
226
255
255
255
221
218
213
176
142
91
88
91
143
137
134
78
64
66
125
82
86
85
86
77
133
135
80
80
79
75
120
67
115
116
64
116
114
64
65
63
59
54
50
47
95
96
97
97
97
96
43
90
96
94
96
62
71
79
158
156
154
155
105
155
149
59
27
1
58
76
88
93
43
62
65
63
66
123
127
126
44
21
22
82
79
20
18
63
60
61
7
8
7
3
50
59
108
83
120
28
49
0
0
0
45
0
49
50
0
0
0
0
0
45
0
39
38
30
0
35
0
0
14
15
19
19
18
69
68
64
10
53
44
38
0
0
0
0
2
60
66
72
75
29
29
31
91
41
38
35
37
37
40
98
49
53
106
61
114
115
69
71
72
72
131
133
134
79
78
70
60
45
89
84
82
29
28
81
91
94
46
49
103
51
104
114
111
108
52
49
98
96
102
44
41
43
40
88
45
51
109
120
134
142
91
90
92
145
148
153
158
151
143
123
114
101
85
73
63
48
74
107
164
169
79
158
253
255
255
229
222
215
211
213
219
253
234
172
182
255
255
189
160
148
208
226
244
201
199
204
255
220
228
255
255
203
179
199
111
130
105
35
66
15
17
70
255
255
255
255
227
255
227
227
255
255
255
255
255
255
255
255
227
226
219
216
215
216
212
210
255
246
249
211
215
255
255
226
227
255
255
255
255
255
255
214
179
131
89
139
138
137
85
121
61
60
112
116
123
79
84
135
134
132
79
81
85
134
63
63
63
116
115
116
63
62
114
62
59
57
107
104
102
94
93
45
44
40
95
102
94
93
90
91
98
110
64
77
129
138
92
84
126
122
30
16
55
5
16
81
91
48
48
56
62
115
117
120
124
83
64
7
12
67
65
9
11
63
11
8
5
1
0
51
52
33
120
129
44
0
32
37
43
44
47
0
0
1
48
46
46
0
0
0
35
27
26
28
40
48
1
17
18
16
12
9
6
4
5
3
44
0
0
0
0
44
46
0
3
9
12
15
72
74
79
87
37
38
37
110
108
108
115
58
106
102
58
108
112
80
93
105
163
155
94
136
127
114
107
50
91
38
36
88
91
91
40
37
38
94
99
59
66
120
119
66
62
58
46
92
89
40
39
90
89
38
43
44
49
50
55
111
111
53
102
107
58
64
128
136
129
71
109
107
107
105
44
33
89
84
89
125
171
83
104
196
159
178
193
200
200
248
247
247
191
232
166
153
204
215
212
159
157
207
207
161
171
223
255
255
255
255
255
255
183
150
164
79
53
38
31
75
23
23
24
255
255
255
255
255
255
255
227
227
255
255
255
227
255
255
227
226
223
255
213
211
204
196
188
236
235
255
216
221
255
255
255
229
255
255
255
255
255
255
213
174
116
87
86
136
134
79
65
111
108
107
106
106
108
63
128
78
79
132
131
77
71
62
62
62
61
114
113
60
61
114
112
59
109
106
102
99
45
42
41
41
42
95
98
43
101
106
110
115
70
75
71
65
60
55
53
55
46
59
59
9
8
6
9
22
86
100
56
63
119
114
104
94
65
63
16
19
15
61
57
0
0
0
0
0
0
0
48
0
8
96
126
64
27
2
44
48
0
49
0
0
48
46
46
44
39
0
0
26
0
40
0
3
6
58
69
65
10
63
61
6
1
0
42
33
0
0
0
0
47
50
59
63
15
18
20
22
77
30
38
40
41
40
90
87
86
31
33
95
60
77
146
164
133
133
130
179
100
152
153
156
158
98
88
123
111
99
90
40
93
95
89
38
38
93
99
50
51
56
107
104
100
40
36
34
89
89
88
90
92
45
47
44
45
44
44
94
88
32
26
91
108
117
66
123
129
75
72
69
123
69
64
62
110
102
50
153
120
73
114
192
149
156
161
161
159
205
181
125
171
168
117
126
145
212
210
152
145
139
137
196
237
244
253
212
217
255
201
143
112
134
106
36
27
23
75
24
24
24
226
255
255
226
226
226
255
227
227
255
227
255
227
255
255
222
255
255
255
200
197
238
233
177
177
235
205
210
255
255
255
255
229
255
255
255
255
227
255
211
145
144
136
136
81
132
76
116
112
56
58
110
56
51
102
106
105
57
112
112
56
53
108
57
57
58
57
56
56
108
110
57
56
106
103
48
98
96
95
89
38
95
94
40
65
127
135
136
82
80
77
78
128
69
50
31
25
72
13
10
9
62
60
6
6
11
23
26
25
22
72
72
74
68
15
14
8
0
47
46
41
0
0
0
0
0
0
0
37
35
59
105
124
111
25
0
0
0
49
0
0
45
0
0
0
0
26
26
0
0
52
57
8
8
9
10
61
8
6
0
41
36
27
31
39
41
0
0
53
50
52
10
14
71
75
78
31
32
35
36
37
37
37
30
78
22
21
34
61
96
181
209
228
179
169
158
152
119
179
193
208
220
158
139
109
136
113
98
91
93
94
85
86
35
35
90
91
92
91
90
35
32
79
77
24
75
24
26
26
82
88
88
87
35
86
85
83
82
81
70
25
35
100
110
124
128
135
82
134
84
89
90
128
66
120
93
48
108
111
58
146
152
108
114
116
113
98
118
112
104
106
65
86
122
185
189
190
133
122
113
160
175
183
191
145
143
135
176
140
65
44
30
23
21
71
30
30
30
30
225
225
225
225
225
255
255
255
227
227
227
227
255
255
255
255
217
255
250
191
239
231
232
178
177
182
201
255
255
222
229
229
229
229
255
255
255
255
216
253
175
134
79
78
130
76
73
63
61
104
106
109
110
108
107
106
103
106
56
108
106
105
109
106
54
54
53
54
53
52
108
107
53
50
100
97
95
92
95
88
37
43
91
38
133
135
82
77
75
77
77
74
124
122
56
30
17
16
12
7
4
60
64
66
66
67
28
32
32
82
79
81
83
16
64
59
0
44
41
42
39
0
0
0
0
45
0
0
0
30
47
37
120
122
38
0
0
0
0
0
0
0
0
0
0
26
26
0
0
48
55
5
6
59
8
5
57
4
0
44
38
34
27
37
49
47
0
52
57
50
50
59
11
68
74
78
32
33
86
87
35
36
35
37
34
29
91
109
88
123
209
181
249
238
173
215
156
137
198
213
175
182
169
152
117
90
118
101
92
92
92
37
88
87
87
37
37
37
86
83
79
76
73
71
70
19
20
22
77
80
32
85
81
80
81
80
80
78
26
20
22
27
39
106
123
125
133
84
86
88
92
144
73
65
114
92
26
78
118
42
119
73
83
141
145
144
81
47
95
89
88
96
62
98
162
170
170
168
156
93
86
93
99
105
159
156
149
140
64
46
30
21
72
74
74
32
84
84
33
225
225
225
255
255
255
255
255
227
227
227
227
227
227
255
255
214
255
239
178
225
231
234
230
222
172
191
194
251
255
255
217
219
225
224
255
255
255
250
224
138
75
118
120
120
119
115
57
56
61
109
105
53
106
106
100
107
105
104
103
103
102
102
50
50
49
48
48
99
98
52
102
49
47
43
41
39
32
41
37
88
94
35
89
131
82
87
144
97
97
91
93
79
78
74
50
74
15
65
62
61
9
10
63
17
23
77
77
79
83
85
85
82
56
0
48
44
40
38
0
0
0
39
41
43
0
46
41
0
0
0
10
102
126
65
7
2
0
47
45
0
0
29
26
26
30
43
53
0
54
63
62
59
6
57
49
51
0
0
38
48
6
74
79
90
37
32
24
19
0
0
50
54
61
16
73
21
22
25
31
34
89
91
104
101
55
149
176
152
178
195
205
255
239
174
218
215
180
235
235
233
212
198
129
104
87
121
107
91
85
82
99
45
93
90
33
31
30
27
23
19
16
64
63
62
61
62
65
15
16
19
71
70
69
19
71
70
12
10
17
68
70
25
88
60
66
74
84
92
145
144
89
119
117
30
28
62
85
157
39
30
89
46
103
107
113
127
51
103
100
94
88
34
99
115
118
117
112
52
46
44
97
100
52
104
98
41
91
82
19
65
64
18
77
27
87
87
87
88
228
227
226
255
255
255
255
255
225
225
225
255
255
255
255
255
213
204
187
237
237
230
231
226
214
204
168
183
244
241
238
185
188
197
198
247
235
224
207
176
126
132
120
123
122
116
60
59
106
54
56
54
106
106
53
104
103
102
100
99
99
99
94
42
41
39
38
89
89
90
94
42
40
90
90
37
36
36
34
32
35
40
90
98
143
91
93
149
154
155
100
91
83
85
137
114
88
77
72
16
13
66
18
21
20
20
24
77
76
24
77
74
72
55
0
0
44
0
41
0
0
42
0
0
39
38
36
41
0
0
0
44
71
115
70
20
0
0
45
42
41
0
26
36
47
0
54
56
59
6
59
60
57
53
0
36
30
34
46
64
82
99
118
75
137
133
125
113
52
59
54
0
0
52
55
7
13
15
19
78
80
84
86
81
99
130
199
178
201
255
220
214
255
252
201
198
197
204
243
222
194
142
128
72
66
117
62
55
34
75
70
91
89
36
34
82
29
28
23
18
15
15
60
59
62
59
8
9
9
9
9
58
64
13
63
9
5
10
67
63
67
70
74
78
45
53
64
72
78
134
80
72
48
87
18
63
59
5
61
73
22
68
70
79
89
96
124
129
83
86
133
71
59
90
26
21
68
69
70
19
24
68
21
26
79
77
22
72
11
12
14
19
22
77
81
83
79
79
83
228
227
226
255
255
255
255
255
255
225
226
255
255
255
255
255
214
205
242
186
186
181
179
222
153
137
151
163
223
178
183
182
231
232
236
225
216
204
133
101
68
129
115
65
65
114
59
56
105
55
54
54
105
52
52
51
104
102
99
98
45
44
38
38
37
36
84
31
31
84
88
36
35
86
85
30
30
30
32
30
32
38
90
97
147
145
146
97
103
156
153
88
89
94
138
115
96
85
81
77
21
22
22
22
70
16
23
79
79
80
81
77
20
61
52
0
0
0
42
41
0
43
0
0
37
37
0
38
0
0
0
37
11
50
73
31
3
0
41
37
38
28
0
0
0
56
5
7
60
4
56
59
3
0
0
0
26
0
10
85
111
132
100
108
116
109
149
133
121
71
62
0
0
51
53
3
2
6
14
26
32
36
91
81
101
134
164
197
255
255
222
217
255
206
207
208
211
194
231
201
113
111
98
47
49
54
56
104
83
19
65
86
86
85
33
83
81
28
26
21
70
68
9
59
9
7
59
58
5
4
3
3
8
7
60
5
2
58
62
62
66
68
70
20
36
44
56
64
71
126
72
66
42
24
16
65
60
0
44
140
83
72
68
75
78
86
67
136
143
97
94
87
76
52
83
22
12
6
57
7
67
64
17
23
25
76
21
69
63
66
70
75
25
27
27
28
26
78
81
227
227
226
255
255
255
255
220
221
223
225
255
255
255
255
219
213
255
248
244
189
184
224
155
143
136
117
161
118
181
147
211
166
163
160
206
195
180
114
98
73
69
62
60
59
109
108
105
53
51
51
52
52
53
56
111
111
108
105
49
47
45
38
35
85
84
29
27
79
79
84
82
82
81
78
77
75
25
28
27
29
89
93
100
128
140
153
156
101
96
98
101
100
147
127
103
95
94
90
88
87
88
87
85
83
30
33
36
37
90
90
86
80
15
1
0
46
44
43
0
0
40
33
0
0
0
0
46
50
52
50
0
56
22
70
55
13
0
0
0
36
41
50
0
1
2
58
59
55
56
0
42
34
28
0
0
0
26
54
82
112
189
204
159
158
148
186
116
101
58
45
21
65
56
51
0
1
58
14
33
41
49
106
117
134
163
185
214
255
255
229
255
255
196
189
241
240
185
168
92
63
79
24
27
30
34
89
88
78
18
66
81
30
31
34
85
86
86
29
27
75
70
11
62
7
54
54
53
2
1
57
6
6
57
57
3
2
1
3
9
63
64
65
13
26
31
38
97
105
110
61
63
102
41
83
70
66
2
78
156
114
87
26
30
77
28
48
117
74
81
83
83
83
73
66
59
100
85
23
15
61
59
10
68
19
24
23
75
76
24
74
72
18
17
72
18
21
76
76
226
227
227
225
255
214
255
255
215
218
255
255
221
220
217
216
255
209
204
198
194
235
172
161
211
156
121
154
153
152
151
151
153
114
119
166
167
162
102
99
95
139
126
119
61
57
105
103
108
106
54
51
103
104
105
110
112
109
106
50
49
98
39
34
33
30
79
24
23
74
79
78
75
22
20
19
18
16
19
72
21
84
92
97
110
117
74
133
134
85
140
85
75
120
111
100
97
100
94
42
42
95
45
47
50
53
100
46
44
42
42
90
84
9
1
50
0
0
0
0
39
37
34
0
40
43
0
0
0
47
50
0
45
0
38
75
39
6
47
46
48
0
2
52
52
2
51
48
48
43
29
26
0
0
0
0
0
55
95
128
208
230
242
190
172
213
201
133
120
131
124
47
81
14
6
59
62
14
73
96
57
70
77
186
201
168
206
255
255
229
229
255
255
162
140
123
165
97
92
36
33
86
86
84
78
77
75
75
74
21
19
80
82
86
37
40
40
94
90
40
36
79
22
18
13
58
59
60
7
8
60
6
6
5
55
55
2
0
0
10
12
13
66
69
80
87
35
39
94
97
103
112
111
111
99
26
25
68
19
112
131
87
72
30
27
32
43
46
49
48
49
53
117
80
83
85
85
128
119
109
95
79
25
19
18
19
23
25
33
84
79
73
16
10
60
64
21
78
77
223
227
226
222
213
255
205
251
255
255
255
255
211
213
205
206
255
255
209
207
204
251
248
247
238
227
145
122
157
151
98
87
147
148
155
104
106
105
104
101
95
145
143
84
69
110
53
97
103
99
50
104
104
103
103
109
59
58
109
108
107
49
39
36
32
80
75
74
70
12
17
16
66
66
67
15
13
61
62
64
68
20
24
80
98
100
102
105
54
106
105
100
96
91
38
93
96
46
97
101
104
105
54
55
59
62
118
59
53
45
34
20
12
57
54
51
49
46
0
0
0
41
43
0
40
0
0
52
54
0
0
0
44
41
4
69
56
77
7
57
56
4
2
1
1
0
51
51
0
30
26
27
0
0
0
26
0
61
105
141
219
183
192
182
197
183
172
166
112
82
126
50
37
76
19
73
20
30
93
129
154
175
133
184
242
204
229
255
255
229
218
247
168
110
139
123
66
28
29
31
29
23
76
76
73
22
22
23
27
80
80
35
90
92
41
46
46
99
96
43
40
89
79
24
23
76
21
15
7
1
0
55
57
10
11
62
6
3
2
13
16
20
21
27
52
112
121
109
92
39
97
96
95
53
51
88
78
20
64
162
144
47
24
31
37
98
118
62
63
61
50
36
29
48
51
111
117
123
128
129
122
104
95
32
23
18
22
28
33
81
75
73
74
18
11
5
15
77
82
255
228
226
221
211
255
249
250
254
209
211
209
255
255
255
255
214
255
255
255
210
206
255
255
197
238
204
125
159
98
149
139
146
93
99
101
156
104
103
152
94
91
91
87
71
57
52
99
102
101
50
53
52
52
52
57
113
110
54
52
50
45
39
35
31
80
76
21
72
13
17
67
65
66
66
14
64
62
10
11
13
15
19
22
40
42
97
99
100
99
46
40
37
33
33
89
93
43
45
51
105
107
56
56
59
63
112
54
49
40
30
70
63
62
61
60
59
54
50
47
44
45
46
45
43
0
0
56
58
51
44
43
39
35
44
116
62
87
64
7
59
7
55
56
57
53
47
0
0
27
0
0
30
30
28
26
37
109
101
138
163
181
233
224
189
125
169
113
112
82
124
97
32
22
70
72
74
38
111
157
184
203
161
201
255
212
229
255
255
255
255
174
142
135
113
101
99
79
29
31
30
78
24
24
74
74
75
24
27
80
81
37
90
40
43
98
98
100
98
96
42
89
81
25
75
79
76
18
11
56
5
10
10
68
70
71
17
10
8
18
21
72
20
29
56
117
74
61
93
84
40
97
98
54
53
40
81
21
63
161
149
104
25
84
90
46
118
120
122
118
106
37
25
30
34
95
53
60
121
128
77
68
113
49
91
29
78
26
79
81
29
28
25
18
65
58
14
75
81
255
255
224
255
212
199
239
176
234
244
200
211
215
255
255
255
255
255
255
224
224
224
221
255
255
214
183
155
169
95
92
139
141
87
89
92
95
98
149
148
89
86
144
91
74
53
104
51
99
103
53
56
58
110
112
113
117
113
55
49
46
41
34
34
30
79
75
22
20
16
16
66
63
62
10
11
60
58
57
2
1
4
7
10
73
23
26
80
79
24
19
68
68
16
19
77
82
35
46
50
56
59
58
60
64
67
116
111
54
47
40
34
31
81
81
82
80
76
69
64
51
48
45
44
40
38
39
42
51
51
46
43
0
34
31
46
72
111
26
13
70
17
61
57
54
44
32
0
0
0
0
0
26
0
0
28
37
98
137
170
144
213
210
203
128
124
122
123
124
155
89
101
28
17
74
36
114
93
129
238
255
217
255
229
227
255
252
241
226
208
129
98
66
69
55
52
54
78
82
34
35
82
80
79
77
25
27
79
28
29
81
36
38
39
42
46
46
98
95
93
39
35
80
76
75
77
74
72
18
20
86
44
54
117
124
76
73
58
103
95
88
25
21
83
120
130
85
81
107
75
69
79
91
56
113
52
43
81
65
153
161
112
32
37
93
49
120
119
122
68
113
101
36
64
65
19
28
34
43
55
123
127
127
126
69
60
102
37
74
78
29
82
81
25
75
13
15
71
77
255
255
255
255
255
255
246
180
181
238
244
255
255
255
219
221
222
226
228
227
228
255
255
226
223
218
255
194
201
155
88
133
129
80
85
86
89
89
90
142
88
86
89
81
115
103
54
54
57
61
113
63
67
70
71
120
117
64
62
57
53
98
84
30
79
77
74
22
73
17
17
67
12
62
61
60
5
0
0
0
50
0
53
2
2
3
3
3
54
53
50
54
56
7
63
67
19
25
91
45
53
110
60
64
68
124
121
118
113
56
53
54
55
49
100
98
42
87
80
75
15
60
6
56
53
49
0
48
44
42
0
0
37
41
0
34
64
118
93
74
73
23
17
56
43
35
35
0
35
33
26
0
26
0
0
0
34
30
62
89
159
174
178
126
123
127
133
191
194
194
129
129
101
38
52
77
114
200
182
222
255
229
255
255
198
230
190
170
150
132
109
41
28
68
11
10
11
87
89
41
42
36
32
83
81
29
80
28
28
27
28
32
34
90
92
42
42
94
36
34
32
28
73
71
69
66
14
71
29
44
82
98
171
184
193
144
138
114
157
117
54
37
78
30
72
84
144
151
83
50
76
16
32
49
55
52
103
41
23
99
113
65
35
40
47
54
65
116
121
69
115
55
50
75
70
66
69
72
77
34
48
112
117
72
78
129
124
64
47
89
77
22
26
82
83
23
17
68
73
255
255
255
255
255
253
195
187
238
188
192
255
255
255
255
255
225
227
228
255
255
255
255
229
226
255
255
202
222
167
145
81
73
127
81
137
139
138
138
139
140
88
87
125
107
103
56
107
117
64
64
67
71
75
77
72
67
64
60
107
51
45
87
29
26
77
74
22
22
70
17
67
13
11
9
59
56
52
0
1
53
52
50
49
48
0
0
0
0
0
46
0
1
56
60
10
66
72
87
93
103
108
112
65
69
126
122
119
114
57
57
60
63
57
52
50
47
42
89
86
21
12
10
62
57
2
1
56
44
41
40
41
47
55
10
84
112
69
103
80
17
79
17
8
50
44
41
0
0
39
33
0
26
26
0
0
32
74
102
123
140
150
158
108
119
131
140
201
205
163
146
96
131
125
86
110
142
173
255
255
255
216
208
188
175
154
157
135
117
101
90
81
77
27
27
27
83
92
94
43
42
36
85
85
30
82
81
27
28
27
26
31
33
35
37
93
92
40
35
34
84
27
72
71
17
12
17
25
41
63
112
184
206
165
173
227
168
140
183
126
117
48
83
85
72
86
90
146
82
57
35
16
21
98
49
49
51
48
31
100
112
64
35
42
49
54
113
113
117
65
58
52
51
32
78
72
69
72
76
79
36
44
102
112
120
74
74
124
59
50
90
30
26
78
27
80
72
69
74
255
255
255
255
204
194
186
189
187
192
250
255
255
221
255
255
255
229
229
255
255
229
229
255
255
255
255
210
185
196
147
127
128
113
69
125
81
140
143
140
133
131
71
111
107
57
55
65
70
68
137
151
158
161
162
90
69
112
65
59
90
93
25
78
24
72
73
21
20
17
19
18
15
63
8
6
58
54
55
55
55
3
6
58
0
46
44
41
39
39
0
0
51
57
8
10
66
70
30
95
105
109
112
65
120
122
69
117
114
113
115
65
67
66
63
114
111
107
101
97
81
73
66
62
57
4
6
1
0
0
1
9
16
74
82
88
109
129
117
89
19
31
73
70
67
13
9
57
51
0
0
0
27
26
26
0
0
7
75
95
107
62
70
80
106
174
190
200
205
155
154
130
177
131
150
222
252
214
255
255
255
188
167
160
137
112
105
32
23
68
68
20
28
48
106
110
114
50
48
100
99
93
91
35
33
83
80
28
28
27
28
82
82
32
32
86
87
86
82
81
27
23
16
16
17
8
22
43
68
96
156
231
251
214
220
214
207
179
162
155
136
117
112
60
71
84
86
82
72
55
89
24
3
74
97
103
49
47
39
94
166
67
40
44
45
46
110
101
48
50
51
52
53
100
95
91
83
76
21
72
74
63
71
81
91
47
54
117
121
120
64
108
97
84
20
22
75
23
22
222
221
255
208
201
196
191
236
185
194
255
255
255
255
255
229
229
255
228
228
255
255
255
255
255
255
255
255
196
144
142
68
66
58
60
58
110
56
57
114
66
65
55
102
105
107
105
79
91
160
169
173
172
176
129
124
178
149
124
62
54
38
35
80
75
20
72
21
21
21
20
18
15
64
61
60
59
8
59
59
58
59
58
5
0
50
48
48
0
0
50
51
3
10
14
70
74
79
37
46
55
108
110
112
112
61
110
106
51
105
109
115
66
63
64
63
115
112
55
103
80
68
62
59
2
55
58
0
8
16
21
74
26
31
89
96
107
125
130
107
79
31
37
88
34
80
76
23
18
17
60
0
0
0
43
34
41
58
69
31
38
41
42
102
131
148
165
179
188
115
125
143
205
220
187
255
255
229
229
221
211
196
229
151
126
97
91
73
66
63
14
21
29
97
103
53
52
51
102
102
100
94
38
36
86
83
79
77
76
74
73
23
24
25
77
81
81
82
81
29
26
74
16
16
17
26
40
118
96
128
238
255
223
229
229
223
255
241
227
174
163
155
157
104
96
96
95
86
72
109
91
76
60
16
76
80
38
46
36
97
106
59
34
92
97
96
93
48
96
93
90
37
41
98
43
43
45
93
88
27
17
4
7
65
71
26
35
41
111
113
114
114
58
102
93
67
13
12
66
255
255
213
208
202
197
192
184
185
245
254
255
255
255
255
229
229
255
255
227
227
255
255
229
229
227
224
255
198
141
89
69
63
56
109
65
114
59
61
118
69
67
104
51
108
109
55
138
153
170
123
179
179
130
135
135
187
121
89
116
54
39
84
79
76
72
72
21
23
75
72
70
15
65
62
8
59
61
60
61
60
6
58
57
50
49
50
49
0
0
54
2
7
64
17
73
77
32
93
101
55
110
57
110
110
109
54
101
98
100
52
58
62
114
114
114
62
58
53
100
22
11
58
55
51
53
57
3
16
24
26
80
32
37
41
100
50
67
133
67
88
30
95
97
41
34
31
82
80
27
20
15
64
10
9
47
52
12
72
81
85
86
35
90
113
77
95
113
128
100
112
147
213
230
190
202
215
219
255
255
208
199
234
151
178
146
89
73
17
13
69
23
83
42
44
43
43
103
103
102
100
41
90
88
85
30
26
75
72
20
18
73
74
23
77
78
80
80
29
27
26
22
18
17
19
29
99
126
157
187
243
209
255
255
222
212
255
234
222
185
179
177
127
179
169
113
110
96
79
63
44
79
65
21
75
21
34
95
31
146
103
109
85
91
91
88
93
100
44
38
83
30
32
42
42
96
98
47
41
33
75
62
61
8
62
69
79
35
45
49
106
111
111
107
49
81
22
14
62
255
255
208
206
201
194
187
186
184
238
192
255
255
223
229
229
228
228
255
255
224
223
255
228
226
226
226
209
172
121
85
125
115
60
54
56
57
112
61
63
55
102
102
52
109
106
106
147
161
113
119
125
184
135
137
134
129
149
189
90
54
49
83
26
76
74
75
26
78
74
20
18
67
64
63
9
60
59
59
59
60
7
7
58
50
50
49
0
0
52
54
7
11
67
72
74
79
34
95
100
106
55
57
109
108
104
48
45
93
39
42
45
99
107
54
50
100
95
89
31
12
6
55
56
55
57
58
69
20
24
28
31
36
94
41
94
39
44
121
129
56
34
96
98
98
43
41
41
87
85
82
30
31
31
31
25
82
85
88
92
93
37
37
85
93
100
61
83
102
104
172
212
227
182
178
172
174
171
225
236
245
196
188
177
150
122
78
68
16
68
25
31
91
45
41
90
87
101
48
47
44
89
87
84
31
28
23
20
19
16
14
74
74
23
77
78
27
79
77
26
27
26
23
26
80
97
113
142
170
200
192
203
255
255
251
243
236
222
167
210
157
157
211
215
211
204
186
163
85
62
91
66
54
65
71
73
84
95
37
97
99
108
34
87
83
28
45
104
99
38
78
70
16
76
29
31
88
41
44
96
42
30
76
66
59
5
8
66
73
24
81
36
96
50
53
110
102
40
85
250
198
195
244
244
189
185
179
231
236
191
201
206
211
229
255
255
227
224
222
222
255
255
226
228
255
211
180
137
95
77
76
115
60
52
109
61
115
116
63
114
115
116
116
120
119
124
174
185
193
195
200
203
152
150
147
189
182
133
104
51
34
74
23
23
76
78
81
79
22
71
72
17
65
62
60
60
56
58
6
6
58
58
60
1
52
53
1
0
54
4
7
11
67
69
20
77
85
34
40
97
100
104
54
52
48
43
40
35
32
81
80
80
42
41
39
88
31
25
20
12
10
13
14
65
66
69
70
17
23
81
82
29
29
39
83
81
26
49
75
123
50
46
100
52
55
106
52
109
106
98
99
47
45
43
49
103
104
106
108
55
50
47
44
106
108
56
118
134
124
187
217
224
223
209
139
182
122
177
201
219
176
170
127
104
83
58
3
61
13
28
90
47
54
50
46
43
47
46
45
42
85
82
28
29
26
22
19
71
69
16
72
72
20
22
76
26
26
25
26
27
81
83
86
89
51
67
145
175
199
233
241
247
240
230
226
221
164
165
222
223
174
229
233
172
160
196
169
139
112
85
59
48
61
79
82
83
89
87
87
91
43
19
33
96
99
42
55
52
96
82
68
59
59
10
15
23
85
92
43
44
51
48
94
80
64
0
0
49
48
49
2
11
22
33
51
54
57
58
253
199
195
192
185
230
223
225
173
226
181
199
207
255
255
222
222
255
227
226
229
229
255
255
229
255
246
157
93
76
115
64
120
117
120
116
116
70
122
113
123
78
65
119
64
114
131
185
194
141
194
196
201
203
153
158
133
135
140
78
27
32
69
71
73
76
81
30
32
83
71
69
65
10
8
57
53
52
51
50
0
51
51
0
0
45
0
0
0
0
0
3
6
63
66
18
74
80
29
34
40
94
92
91
41
41
38
33
82
81
81
25
24
25
22
76
27
29
29
26
71
65
63
12
12
59
55
63
67
20
23
25
79
26
28
72
76
80
92
60
80
28
68
143
133
116
60
68
85
155
141
122
107
105
54
75
127
68
65
114
113
114
65
70
131
81
83
86
140
216
212
198
186
174
164
159
110
175
184
182
127
119
163
70
67
14
21
26
31
37
33
87
37
92
90
90
90
43
43
42
94
38
37
88
40
39
37
37
85
81
26
80
81
29
29
28
80
27
24
78
28
82
85
86
85
41
54
75
151
172
208
220
227
226
168
165
162
157
155
160
165
221
222
173
157
135
118
93
65
97
81
69
63
6
78
80
79
32
75
145
88
41
25
45
55
105
101
52
50
94
28
21
70
70
13
66
67
20
77
30
87
91
91
89
29
23
72
65
0
0
3
62
66
66
21
38
50
61
115
208
205
198
241
230
178
178
215
212
211
214
184
246
254
211
219
219
221
225
255
255
227
226
255
255
220
177
172
114
109
110
117
67
113
115
62
110
59
109
104
62
114
116
66
62
64
135
127
181
142
146
201
202
149
148
145
150
143
106
43
21
25
23
17
71
21
26
27
30
82
74
19
67
12
10
7
4
51
49
46
0
44
42
0
0
0
42
0
0
0
46
48
0
4
58
10
13
70
71
73
76
28
33
34
34
34
35
33
33
33
30
77
21
19
21
78
84
36
37
37
32
28
76
70
67
12
8
62
55
0
0
3
61
12
55
60
65
70
27
52
127
96
78
155
156
95
93
98
116
131
121
104
145
141
142
156
152
142
86
85
140
143
95
102
163
165
114
116
118
211
211
203
195
191
141
143
144
197
195
175
109
89
73
68
67
16
26
82
86
90
91
40
94
92
40
91
91
91
91
39
40
88
86
85
88
36
35
35
33
30
79
82
81
29
28
29
84
34
89
37
39
91
40
39
39
42
52
67
139
155
181
188
141
189
133
126
123
173
175
150
151
152
200
145
129
114
144
73
58
47
39
84
86
25
37
38
87
88
30
91
142
100
87
52
59
54
47
45
47
96
90
85
80
66
14
60
52
0
48
53
61
70
74
25
82
85
88
33
73
64
2
0
0
42
50
9
75
92
51
255
255
255
248
231
227
227
175
220
160
210
220
225
174
192
206
215
217
226
255
255
255
255
255
209
205
185
120
106
55
57
111
110
108
111
54
101
99
96
97
64
61
60
113
111
60
131
165
160
177
184
187
190
192
143
138
171
159
104
15
19
69
69
19
72
75
26
79
31
33
24
73
70
15
12
62
6
3
0
46
0
0
37
35
35
0
33
33
0
0
36
39
41
43
47
0
0
55
63
61
64
19
78
31
32
32
36
38
89
33
81
77
22
38
42
98
100
102
51
51
99
96
36
79
71
14
10
6
0
45
40
37
36
0
0
55
62
64
72
44
119
109
90
116
189
142
141
200
212
220
162
150
144
194
196
195
190
178
123
124
180
134
142
150
212
213
213
162
161
170
170
162
157
157
214
220
213
149
186
150
73
47
33
20
18
71
80
82
34
89
91
39
91
90
36
37
39
87
88
36
36
34
33
84
85
30
30
30
30
27
77
29
29
27
29
87
91
95
95
43
95
43
38
35
34
94
99
108
119
130
89
89
94
90
137
79
128
135
140
173
172
121
119
166
144
131
60
43
81
73
20
23
46
89
38
87
37
38
89
144
130
42
30
95
46
41
87
97
50
55
108
111
109
44
37
32
21
9
51
42
37
0
49
54
62
70
77
79
31
81
27
20
13
57
49
48
1
9
17
255
255
255
253
184
229
225
223
160
144
136
196
199
200
226
244
203
208
219
255
255
255
255
210
202
249
167
112
106
55
55
106
104
52
53
100
97
43
91
92
63
60
59
62
112
62
77
160
155
117
174
176
172
171
121
113
145
79
83
12
18
12
63
18
19
74
24
78
82
85
77
22
19
68
14
63
59
4
0
0
0
0
0
0
0
32
31
0
0
31
32
36
37
39
0
41
45
49
7
7
64
68
74
28
32
33
37
38
88
32
30
80
30
45
51
54
55
106
106
106
104
99
91
82
20
11
59
54
0
41
0
0
0
34
0
6
15
71
81
102
70
110
147
121
201
213
163
172
180
236
229
169
166
167
221
214
158
145
143
197
149
155
164
172
235
236
235
234
234
180
178
167
158
154
153
205
198
133
168
80
54
34
22
23
21
21
27
79
31
86
86
86
36
85
86
87
36
86
86
35
36
87
84
83
32
31
29
30
29
78
75
28
29
28
30
90
94
44
100
100
47
45
90
87
33
91
94
101
57
67
124
121
72
68
116
112
110
70
129
161
156
151
149
94
122
109
41
25
64
57
56
11
92
92
36
85
36
38
92
145
129
95
84
94
94
38
87
104
110
117
118
118
121
64
61
107
97
33
17
2
0
32
30
34
42
0
60
70
75
81
33
33
82
22
9
0
0
1
6
255
255
255
252
243
234
176
169
146
169
98
104
168
175
190
213
230
184
199
252
251
250
245
235
178
171
87
56
98
48
50
51
52
47
42
96
44
94
85
82
56
54
62
68
69
66
75
106
157
159
111
160
150
93
96
86
117
96
66
72
64
55
60
16
16
70
20
21
25
80
80
77
21
70
16
13
9
55
51
45
40
0
0
34
0
34
33
0
0
0
33
0
30
32
0
33
35
39
0
4
9
66
17
22
28
34
33
33
32
83
86
42
48
60
119
70
122
120
120
120
105
96
88
30
21
60
50
0
0
0
0
0
0
0
49
64
79
92
105
125
91
65
152
124
212
234
193
205
205
255
246
246
196
200
255
239
185
177
178
178
181
240
252
255
255
255
255
255
207
196
188
159
141
174
105
93
142
130
119
43
29
73
23
30
25
72
21
22
24
81
77
76
78
78
80
83
32
33
86
87
36
86
85
83
85
32
82
29
25
74
72
25
78
30
34
94
97
46
42
42
40
37
80
25
21
27
28
30
38
98
101
46
42
39
38
90
41
62
72
114
92
73
116
115
94
84
68
59
55
2
57
12
95
51
92
87
91
92
96
143
123
92
80
87
33
84
35
51
58
115
57
105
108
70
124
70
69
65
109
101
93
81
15
53
47
43
41
45
62
68
21
26
32
88
85
19
15
16
22
255
255
209
206
193
184
231
174
164
132
156
82
134
147
161
174
141
159
173
226
226
164
159
203
196
182
114
62
55
49
97
47
48
44
96
41
40
90
89
39
100
103
110
58
60
66
68
79
139
151
86
122
113
62
63
59
92
77
63
9
8
56
60
64
14
15
71
21
25
28
21
21
21
19
68
12
61
3
0
0
41
37
35
0
0
36
33
0
31
30
32
33
33
32
31
32
36
0
53
60
12
14
18
25
26
77
33
37
41
45
103
57
114
73
78
82
133
130
128
124
54
38
80
73
13
3
0
0
0
0
0
42
42
45
52
78
95
114
134
99
108
86
103
107
185
223
200
210
207
255
255
255
212
213
211
194
192
240
242
193
198
204
217
255
255
255
215
210
208
251
240
137
105
127
102
35
78
73
69
18
73
79
82
32
33
82
68
11
63
63
64
13
14
15
18
21
25
29
30
31
33
34
32
84
83
32
32
30
25
77
79
82
82
33
35
92
93
96
95
97
98
42
78
71
15
26
27
81
85
35
38
38
39
39
38
43
49
63
85
85
133
70
54
46
38
77
73
73
22
27
32
41
108
54
53
103
103
96
88
141
77
85
66
21
18
68
40
46
51
51
45
85
77
36
43
48
102
46
45
98
96
36
38
38
37
85
81
23
20
20
76
29
35
38
37
26
78
79
28
210
255
255
209
200
194
189
228
169
147
171
135
76
132
139
144
159
126
153
204
199
194
144
140
130
162
116
123
109
51
98
99
100
96
95
41
40
90
38
91
97
99
104
105
111
65
65
62
63
86
75
118
114
61
61
48
31
20
64
11
10
5
6
63
64
15
17
72
76
27
25
24
22
20
17
66
64
6
3
0
0
0
0
37
0
0
0
33
33
0
0
35
36
0
0
36
0
0
55
9
15
16
17
22
78
30
33
91
46
53
111
118
71
82
137
139
141
85
78
126
103
38
28
74
16
8
0
56
52
50
47
0
47
51
54
86
106
127
147
113
123
103
109
153
116
208
243
204
201
249
255
212
255
255
207
197
196
191
245
248
204
209
219
255
219
215
210
255
198
188
175
119
137
106
82
14
59
58
59
11
17
79
85
84
86
33
20
12
7
58
8
9
12
15
17
21
25
29
82
84
85
34
87
35
33
34
34
87
83
83
32
32
85
34
35
91
92
93
41
95
98
46
35
77
70
75
74
76
77
28
33
34
38
38
39
44
50
115
80
71
127
121
108
100
43
35
31
81
33
92
48
54
116
104
49
51
108
45
81
83
77
34
64
14
7
6
37
40
44
43
38
28
69
57
68
21
23
72
20
26
31
32
36
40
97
97
43
39
35
87
86
37
38
39
91
31
82
82
30
255
214
215
216
255
213
210
254
245
178
160
172
94
122
123
71
124
132
106
111
112
169
162
151
137
120
61
62
112
105
99
99
99
96
96
41
41
40
39
91
95
44
53
53
56
63
116
56
58
47
40
31
25
26
27
76
19
69
70
70
71
66
10
10
12
66
16
19
21
78
80
26
76
21
18
15
14
6
55
51
0
0
0
0
35
35
35
0
0
0
0
45
46
0
0
0
0
4
8
11
16
18
68
19
78
32
37
44
52
61
119
126
78
139
139
139
137
80
123
63
96
89
30
79
22
17
15
22
16
12
61
58
5
61
72
105
126
95
114
181
189
143
125
99
89
124
169
237
239
240
199
205
254
244
235
198
198
199
255
255
216
220
255
218
209
200
242
232
226
150
132
72
97
27
12
7
0
56
59
13
71
80
88
85
89
40
35
77
15
9
62
63
65
68
70
75
26
28
81
85
35
90
91
93
92
93
93
92
92
93
92
89
37
39
91
91
91
39
84
29
82
86
44
95
40
27
80
79
80
81
85
32
30
34
86
89
46
56
67
45
109
117
115
52
46
98
95
41
44
103
57
60
59
32
74
79
101
52
35
69
128
91
19
67
3
0
16
27
31
35
90
89
27
42
34
36
39
41
40
0
42
4
6
9
14
70
77
28
91
89
38
39
39
41
96
35
87
35
87
214
215
219
255
255
255
255
255
255
255
246
214
189
104
119
63
62
70
96
154
104
162
103
100
147
83
73
53
109
101
95
95
97
96
46
45
43
40
39
40
47
50
104
49
103
108
112
59
56
98
40
33
79
24
20
13
16
70
72
70
17
71
70
68
17
70
19
72
74
75
81
81
81
79
24
21
17
13
11
6
2
0
0
49
46
0
48
49
49
0
0
55
56
58
58
58
60
64
10
9
63
69
72
70
70
76
86
39
46
52
61
121
127
138
86
136
78
121
114
58
95
36
32
79
78
24
24
37
83
27
22
20
72
75
88
119
137
103
122
187
197
178
133
165
89
103
144
221
229
178
192
251
194
184
224
208
210
215
255
255
255
218
215
210
191
180
221
210
204
93
81
98
85
27
20
68
69
21
26
83
85
33
33
37
91
97
48
95
89
32
68
67
64
61
64
69
22
27
80
83
88
92
95
95
99
97
96
95
45
42
39
87
35
34
85
83
31
29
77
24
21
72
75
28
31
32
36
94
47
101
92
88
31
85
80
76
29
37
43
73
31
98
112
63
101
43
95
94
93
39
37
89
45
30
83
37
53
109
98
67
73
89
20
70
8
0
0
0
66
28
86
91
40
74
52
45
43
46
48
0
0
50
0
0
0
0
0
2
55
7
13
68
71
23
26
87
37
41
44
216
255
255
255
255
255
255
255
255
255
206
179
214
134
67
114
62
125
160
162
160
162
159
162
157
90
120
93
55
47
42
94
95
96
98
98
43
40
38
39
101
104
100
97
100
54
59
53
51
103
96
35
27
75
76
77
16
17
17
16
15
18
20
18
71
71
72
73
74
23
81
30
30
81
78
74
70
16
14
62
57
2
1
52
51
0
53
2
2
55
4
5
59
60
60
62
62
65
62
8
62
18
21
18
17
20
82
88
42
50
111
120
126
81
83
80
71
62
56
105
95
37
85
28
27
77
77
40
86
83
79
24
77
28
38
120
138
105
123
191
199
237
186
118
143
99
190
218
175
175
192
198
195
236
174
213
215
220
220
255
255
255
255
202
181
169
210
199
141
74
118
43
36
30
22
69
77
27
32
38
38
35
31
90
93
96
51
49
44
41
75
73
68
63
14
19
22
79
80
83
34
40
95
96
99
97
44
45
45
93
39
32
34
33
32
30
79
77
26
78
23
18
64
16
21
24
30
93
51
55
50
44
86
86
27
19
23
28
33
65
23
91
112
120
51
43
31
31
81
23
71
71
30
82
88
45
53
105
43
63
128
40
21
20
13
7
58
43
61
75
82
87
40
30
3
0
40
0
0
0
0
3
5
57
5
54
1
0
0
0
2
58
62
13
19
80
83
36
93
255
255
213
255
255
255
255
255
255
255
255
198
237
174
129
139
126
142
147
151
146
96
99
89
133
136
65
61
47
89
35
38
89
96
94
93
45
99
46
47
109
109
57
54
57
106
45
52
43
45
94
88
82
79
78
80
80
79
25
25
76
76
21
21
21
21
19
19
73
80
86
34
35
87
85
82
80
21
72
71
69
68
16
17
75
23
75
75
75
75
24
21
17
67
67
67
15
65
12
9
60
9
12
64
8
4
8
16
25
86
95
51
108
110
110
57
55
49
43
91
86
32
83
29
30
80
77
83
85
85
32
28
75
21
21
43
65
89
163
130
192
193
182
146
138
109
147
211
246
200
253
249
191
201
222
229
229
229
229
255
255
253
239
172
141
126
166
158
101
65
112
97
39
32
77
19
15
66
17
27
85
91
41
95
96
98
49
48
45
94
91
82
19
19
25
30
32
76
78
31
34
40
42
95
46
98
97
95
38
89
36
32
34
33
26
74
74
21
27
25
73
19
18
19
18
64
69
77
84
36
42
46
91
37
30
77
75
29
27
74
20
76
94
115
63
104
81
13
54
49
45
39
40
56
26
41
90
85
85
109
72
51
72
62
67
56
51
48
46
56
76
35
34
42
34
69
51
0
0
0
47
0
0
56
59
8
7
6
6
55
0
0
50
53
53
57
59
63
66
250
206
217
255
255
255
255
255
255
255
255
255
248
239
215
121
142
86
141
145
91
88
89
87
86
89
125
62
48
37
85
87
85
90
91
95
99
102
49
50
109
57
54
52
50
46
41
32
78
79
77
74
71
18
19
22
27
79
81
81
81
79
80
76
78
78
78
26
28
88
35
36
92
93
41
92
90
33
84
30
29
80
28
28
89
37
37
89
87
34
32
78
74
71
70
70
69
66
61
6
53
51
0
0
0
44
43
44
51
62
22
29
83
87
86
87
39
38
32
78
79
25
78
29
31
84
85
80
81
80
78
75
19
18
16
99
121
94
171
140
204
203
193
177
135
144
140
177
238
214
255
255
212
218
227
255
255
218
255
251
240
229
161
199
170
107
150
143
86
68
116
100
40
33
78
72
23
22
21
76
80
31
84
90
36
35
45
103
52
104
97
42
89
25
76
80
84
76
78
81
84
86
87
35
37
89
35
31
23
74
73
27
34
39
38
86
80
23
22
18
14
62
64
15
15
6
8
62
65
72
89
41
48
104
53
99
91
82
80
20
14
63
69
84
119
126
110
88
65
53
0
43
0
0
70
39
95
37
85
113
122
55
25
11
73
70
0
0
0
37
0
9
76
89
91
90
78
56
45
47
48
1
54
57
61
64
12
11
57
56
1
0
0
49
48
0
0
0
0
246
255
218
224
255
255
255
255
255
255
219
255
251
242
220
182
148
138
92
92
89
88
85
84
84
84
122
108
47
89
33
87
86
90
89
42
98
49
49
102
107
55
52
103
99
44
94
77
74
76
72
67
64
11
67
23
80
82
84
84
80
79
79
77
25
27
27
28
84
40
37
91
93
95
43
44
95
38
90
36
35
34
35
35
94
94
42
93
91
36
33
77
75
20
71
68
66
64
61
56
0
45
44
0
0
47
43
42
47
5
15
73
76
28
27
29
34
34
81
76
22
74
78
83
33
86
87
76
75
74
73
69
66
65
73
103
125
150
174
144
208
208
252
250
163
164
137
160
231
219
255
255
224
226
229
255
255
255
200
241
230
167
202
190
114
104
145
135
129
119
114
99
92
34
79
76
21
23
75
80
79
29
80
36
33
85
93
99
103
104
99
100
99
33
29
81
83
28
30
84
86
87
85
33
83
32
29
26
71
70
69
18
27
33
89
37
87
84
24
20
15
11
64
12
12
8
8
62
64
71
30
32
39
101
56
55
50
37
83
19
18
67
65
70
103
117
123
108
88
68
54
0
0
0
21
48
56
103
96
124
124
63
86
15
23
23
1
0
0
39
31
0
72
81
39
95
86
67
52
0
0
54
54
56
60
63
66
12
58
5
4
52
49
47
46
1
1
0
0
170
241
255
214
227
229
226
227
255
255
219
212
201
244
219
191
155
139
107
107
105
106
146
88
85
129
119
100
82
76
76
81
28
30
26
35
94
45
96
97
101
100
50
50
44
96
101
22
23
70
15
11
9
61
65
20
75
80
32
33
82
28
81
83
31
31
31
31
32
40
40
41
45
47
47
47
97
97
96
95
94
42
42
42
42
94
93
39
36
83
78
18
16
13
63
9
7
4
51
50
49
48
0
49
52
54
5
6
7
61
14
71
75
74
23
25
26
25
24
75
77
81
84
35
34
80
25
13
62
8
5
4
2
1
65
47
122
145
170
139
206
212
255
226
211
148
137
137
156
219
255
255
255
255
255
209
206
244
183
173
213
150
190
176
152
89
78
68
113
104
48
39
89
86
30
78
73
73
75
82
85
34
35
37
38
93
91
41
98
51
52
102
48
38
35
85
33
33
86
37
38
35
85
31
29
29
28
26
76
23
22
64
68
20
72
80
85
86
40
37
82
77
18
14
11
68
66
11
64
17
76
77
82
87
43
47
105
50
44
86
36
36
34
33
93
98
109
111
58
101
84
14
0
0
21
56
67
57
38
57
68
124
102
23
83
95
32
22
6
0
31
34
43
23
33
87
91
37
22
5
0
51
50
50
2
59
10
8
54
4
5
54
0
48
47
52
53
2
3
163
225
237
248
221
226
226
223
255
224
213
207
198
188
167
175
90
87
99
104
105
106
100
145
92
96
109
25
14
16
19
19
70
72
72
24
29
87
91
94
44
46
92
88
88
93
92
18
64
57
3
3
5
58
58
15
18
22
27
31
31
82
83
34
32
30
29
31
32
83
39
40
42
43
45
98
100
45
45
44
96
97
97
95
36
36
87
33
29
76
71
10
58
53
0
0
0
0
53
55
56
55
3
55
6
7
70
21
22
22
74
75
76
76
74
71
67
70
76
82
32
82
78
22
19
17
18
3
51
0
0
0
0
0
47
36
59
135
159
131
198
157
205
229
223
222
156
130
119
186
255
253
255
255
243
199
197
185
229
166
206
194
131
166
137
75
65
53
45
39
35
28
24
23
23
76
76
80
84
85
86
88
39
42
45
46
39
36
88
37
90
88
33
32
31
30
29
28
29
31
85
86
35
36
36
88
36
35
87
86
34
74
77
79
77
78
86
91
97
91
86
87
32
29
28
35
32
26
72
18
71
71
74
26
82
89
95
48
49
103
99
43
97
52
66
121
116
117
114
110
110
104
55
0
16
54
78
56
20
16
31
46
55
93
86
114
95
4
43
0
0
32
32
53
80
34
37
35
31
76
57
0
0
0
0
3
4
54
51
53
54
53
53
51
53
2
3
5
6
214
170
183
244
255
255
217
220
225
255
213
206
196
183
210
174
148
94
147
99
101
155
100
93
87
84
102
25
69
68
68
68
16
70
70
21
78
31
33
85
87
36
35
33
34
35
81
60
59
54
52
0
1
1
2
12
69
74
78
30
31
83
30
33
82
79
27
80
83
84
91
40
41
95
44
46
48
44
45
96
96
97
97
97
93
91
35
81
23
69
64
8
4
52
0
48
51
0
54
4
5
5
6
7
62
64
73
25
78
26
26
79
81
74
73
20
20
74
78
81
80
81
25
21
17
14
63
0
48
49
48
46
45
0
45
29
51
125
97
120
189
212
200
227
255
175
115
139
161
165
248
249
255
206
191
249
248
235
224
212
200
187
122
106
128
66
57
45
90
31
29
23
72
71
72
19
23
79
31
35
36
41
43
48
103
52
101
97
97
98
94
90
36
36
35
86
85
81
28
26
78
28
29
81
81
81
29
29
29
81
81
24
26
27
28
31
89
92
33
83
30
32
31
30
30
43
39
88
84
29
26
26
27
26
80
31
35
91
93
49
100
44
39
38
52
60
115
115
111
108
60
116
91
11
21
52
75
57
23
11
73
37
53
97
85
47
29
0
40
0
35
35
0
0
71
28
35
89
87
81
62
46
0
0
0
0
0
51
50
50
51
52
50
51
52
3
4
6
7
206
164
174
234
250
203
206
203
254
200
196
183
218
204
182
156
142
93
135
82
83
136
83
77
118
114
107
98
77
18
63
60
64
64
62
11
65
70
75
26
81
82
28
28
27
74
65
53
53
54
0
0
0
0
0
64
68
72
77
81
29
81
27
27
75
19
70
74
79
34
87
37
91
92
42
42
42
39
40
40
92
94
96
43
86
83
81
76
19
12
9
54
52
48
0
49
0
0
0
53
3
5
58
62
67
71
77
80
82
83
84
86
87
24
74
23
27
81
77
73
68
13
11
8
4
0
0
0
43
0
0
41
36
33
36
7
76
96
122
146
111
143
215
176
232
217
132
108
149
117
180
183
179
182
240
241
238
170
210
195
182
168
99
84
108
44
35
27
73
71
18
16
68
69
71
71
25
28
33
95
99
102
104
55
56
110
110
109
108
108
106
104
105
57
110
109
107
104
97
88
31
32
83
83
85
34
33
34
32
86
85
87
87
35
37
36
84
80
33
35
40
43
37
89
94
49
49
100
47
46
43
94
95
42
40
38
39
94
96
107
111
60
51
90
32
88
104
59
115
67
123
76
128
117
110
62
64
41
17
68
10
76
101
112
95
24
19
45
40
36
39
39
0
0
49
63
80
90
92
90
80
49
0
0
0
0
0
44
44
0
46
0
0
50
2
55
56
57
7
194
152
214
220
232
190
193
197
194
242
184
162
201
192
180
155
145
154
156
156
103
150
140
72
60
113
110
98
32
26
70
13
63
62
9
11
11
62
61
62
8
6
5
3
50
0
0
49
42
50
0
0
51
51
0
60
10
14
19
74
20
20
20
68
67
11
63
66
20
25
78
79
84
34
85
33
83
27
26
80
30
85
88
88
29
30
82
29
74
65
4
50
49
0
0
0
0
50
0
51
51
0
0
4
62
66
19
75
26
80
82
84
86
28
23
24
77
76
19
66
61
0
48
48
0
0
0
50
47
0
0
0
0
0
26
36
49
13
37
58
70
162
169
122
190
147
138
164
88
85
216
215
149
209
228
171
169
152
139
124
161
149
79
118
91
29
20
16
13
62
62
65
14
70
71
73
85
33
36
46
101
50
49
53
52
53
56
107
105
103
95
93
93
99
53
106
108
111
108
104
97
90
36
35
94
94
42
41
38
38
89
54
109
113
66
65
116
61
55
104
104
53
95
40
42
44
43
40
38
90
42
96
93
42
43
46
46
48
48
49
104
110
64
115
41
29
80
80
79
76
75
28
43
118
126
142
139
105
19
67
16
69
34
57
59
90
78
63
3
46
40
0
0
44
42
0
9
23
83
85
84
24
7
0
0
40
42
41
0
44
47
48
51
52
2
51
52
2
55
189
147
154
208
212
167
224
229
174
171
215
141
134
183
161
143
141
154
153
155
158
157
96
79
65
113
107
95
86
82
76
18
13
11
10
66
65
9
7
58
2
51
49
0
0
0
0
0
0
45
45
47
0
50
49
56
58
10
66
70
16
16
14
63
61
8
9
12
16
72
74
75
80
29
81
80
77
21
21
75
77
28
32
83
25
26
78
75
19
13
57
50
0
0
0
0
0
49
0
0
0
0
0
0
56
60
14
18
22
24
78
80
82
77
21
22
75
22
71
69
61
55
52
1
4
57
3
55
52
52
48
42
0
0
26
29
0
53
69
88
98
95
147
94
115
133
132
107
132
75
159
203
137
199
219
159
209
193
128
114
152
138
123
110
86
23
16
13
11
65
65
18
20
75
77
78
86
34
35
94
96
43
41
48
46
97
49
101
97
42
34
84
82
39
45
102
103
105
107
56
50
89
35
37
43
95
96
44
43
96
44
71
129
132
82
130
128
129
67
114
112
113
109
107
107
50
101
102
100
98
43
42
96
42
42
94
96
102
50
49
51
55
61
66
55
49
49
97
38
81
72
67
18
104
115
135
136
106
23
72
74
19
81
109
124
104
75
67
9
0
44
42
44
39
40
0
0
62
76
82
84
35
17
49
39
0
0
39
42
46
0
0
53
1
1
0
0
51
52
148
195
192
186
170
170
173
166
170
169
117
121
108
151
142
144
95
150
157
162
114
100
104
102
137
119
53
36
33
93
91
26
18
71
14
13
66
12
62
60
57
56
54
53
52
0
50
48
0
47
0
0
0
49
0
55
50
2
57
60
63
64
65
60
9
59
58
56
6
69
23
77
78
79
25
76
74
11
8
6
65
18
19
19
73
25
27
79
77
20
15
8
6
1
0
0
0
0
0
0
0
0
0
35
38
42
46
0
0
1
3
7
62
71
71
20
20
17
13
12
10
65
20
22
71
73
25
14
63
60
2
47
40
34
30
0
0
0
26
26
0
19
40
104
113
119
72
69
137
137
125
79
99
118
123
174
170
102
145
83
76
120
103
42
21
72
73
24
27
71
71
21
23
77
27
81
82
86
91
96
96
42
41
89
35
31
30
29
79
26
37
88
35
33
41
54
65
62
118
122
120
69
64
109
120
123
72
127
134
88
92
142
144
144
89
135
137
139
87
136
132
130
124
119
116
108
105
103
48
46
45
98
93
93
93
92
89
85
84
44
45
47
51
56
105
50
55
57
58
56
54
52
55
37
98
110
113
107
60
121
100
49
67
147
158
136
75
86
84
75
8
0
0
45
0
39
37
0
5
70
79
33
25
14
52
39
35
0
1
5
6
57
4
5
1
0
0
0
0
158
202
194
140
174
163
105
88
88
134
134
78
86
101
97
148
94
91
141
91
145
149
100
148
74
50
99
94
45
44
38
81
25
76
71
15
66
66
64
61
57
56
1
52
52
0
49
0
0
0
0
0
0
0
0
52
0
0
55
57
61
61
61
4
56
0
50
49
54
66
22
23
77
79
27
25
72
67
62
56
2
54
3
8
69
69
69
68
68
67
67
10
59
4
0
0
0
0
35
34
0
0
29
0
0
0
0
41
43
0
0
51
54
69
21
24
23
22
72
18
17
75
30
35
91
92
97
89
79
22
19
64
52
43
32
26
26
26
26
0
27
51
17
83
91
94
86
25
98
120
69
60
71
86
143
139
86
75
67
57
50
94
87
30
26
26
79
80
29
85
86
36
36
88
38
91
80
84
88
87
31
25
72
15
17
18
17
19
24
29
89
92
99
108
65
74
82
97
98
96
92
141
86
81
135
134
132
132
79
74
69
129
77
75
125
117
113
111
104
101
99
47
99
96
41
83
82
26
27
30
92
96
97
101
102
50
44
32
80
83
81
27
81
86
97
100
43
98
100
47
44
41
93
95
80
78
42
69
141
67
44
103
121
146
154
139
99
90
88
35
82
76
12
0
0
37
34
0
0
48
65
77
82
32
19
53
39
38
0
2
55
55
1
1
50
0
0
0
0
211
205
199
141
124
168
163
96
89
76
72
71
82
102
94
146
92
142
140
90
144
91
95
143
121
44
95
42
48
44
36
29
27
77
21
68
67
66
65
63
7
58
53
53
0
0
0
0
0
0
47
0
47
46
46
51
0
51
54
57
58
59
59
4
2
0
48
48
54
13
73
75
25
80
81
77
72
11
6
1
51
49
0
2
63
11
13
66
15
15
68
61
7
5
53
0
0
38
33
31
27
28
31
0
0
0
0
45
0
0
0
3
6
69
72
75
76
23
22
23
76
30
91
96
100
103
104
44
32
80
75
14
2
0
0
28
29
26
26
26
28
37
0
64
74
76
71
59
67
100
64
51
108
68
75
61
60
50
44
38
82
76
24
24
79
81
80
80
79
34
34
35
86
35
86
87
32
34
89
85
26
69
65
10
18
79
36
43
52
111
136
85
141
145
95
97
99
102
150
93
85
127
122
118
126
69
116
116
116
113
108
67
66
63
112
100
95
38
36
86
84
31
33
84
82
20
20
68
18
20
85
90
94
97
100
49
47
86
28
25
77
76
26
82
92
95
91
92
93
90
85
80
72
71
21
38
120
140
141
41
33
36
51
121
127
122
107
93
33
25
20
70
68
61
0
0
42
36
0
0
9
20
81
85
79
11
49
39
0
51
53
0
0
49
48
45
44
42
0
215
214
212
202
124
126
133
110
151
130
62
58
63
71
142
92
93
92
87
87
87
91
85
130
115
47
46
41
40
89
85
82
27
77
23
19
71
69
67
64
62
61
56
56
5
56
54
48
46
0
0
0
47
45
0
0
49
52
54
4
5
56
55
55
52
49
50
53
57
11
16
74
29
83
79
24
25
59
0
48
49
0
0
48
43
0
2
58
60
59
4
55
53
50
48
45
41
37
26
0
0
0
36
42
0
51
1
3
57
5
58
8
10
64
68
18
17
71
75
26
39
45
48
104
108
55
54
57
46
90
79
14
2
0
0
0
0
36
34
0
37
0
0
43
0
58
61
58
50
20
58
46
31
81
86
72
71
13
11
62
62
61
15
17
78
30
83
83
82
95
94
92
39
36
34
33
32
31
32
50
64
130
138
110
115
173
118
114
113
164
144
90
88
79
74
122
120
109
108
109
64
75
76
80
127
121
111
104
103
103
102
57
54
101
98
95
39
34
82
77
72
71
71
18
17
66
63
10
10
11
75
26
34
87
86
84
80
70
66
6
64
74
30
35
92
94
93
90
86
30
78
72
61
69
75
38
94
80
18
19
77
75
23
76
30
89
104
96
97
95
37
27
15
56
63
7
51
45
43
0
1
62
70
76
79
28
73
58
0
0
0
0
0
51
49
45
44
42
0
235
178
171
214
132
174
169
162
172
158
127
59
61
61
117
71
131
85
88
88
88
135
114
42
82
78
34
79
31
32
87
35
31
25
27
20
19
70
68
14
62
61
8
8
61
61
58
0
48
48
49
0
0
0
0
50
51
2
4
5
6
4
1
51
49
48
0
3
58
58
64
76
34
33
77
23
30
77
61
45
0
0
0
0
0
0
36
38
40
44
46
47
45
41
0
40
40
0
0
44
0
0
0
0
7
66
67
15
66
66
13
13
67
10
61
60
6
10
69
76
92
97
99
52
57
56
103
101
97
85
16
0
42
0
0
40
44
0
0
44
46
0
51
53
3
58
62
12
58
58
110
59
31
68
75
65
64
60
11
15
21
78
83
86
90
41
44
45
97
118
123
92
103
165
120
124
181
183
181
117
108
99
94
98
144
139
129
75
123
122
65
113
56
51
49
101
100
88
33
41
106
123
77
83
140
142
143
144
145
149
150
101
91
132
67
52
95
86
36
30
75
70
65
11
11
10
10
11
12
14
74
78
84
84
32
86
88
45
99
32
36
41
43
41
95
97
92
89
88
38
41
42
39
35
12
0
50
54
58
59
16
17
69
17
16
67
3
49
18
93
49
40
78
73
64
57
51
57
65
67
61
57
72
83
87
88
88
82
42
0
0
0
2
5
57
51
0
49
0
244
189
183
229
149
128
113
163
167
120
148
61
70
57
99
105
114
67
64
115
114
101
98
41
36
33
32
85
89
35
86
33
32
26
22
73
16
68
16
64
63
5
9
62
64
12
62
4
1
51
50
49
0
0
47
48
56
4
57
59
7
6
1
0
0
0
4
15
7
50
65
75
29
27
27
31
35
45
7
0
0
0
0
0
0
0
0
0
0
0
39
42
42
0
0
0
0
0
0
48
0
2
55
7
12
68
72
70
17
68
14
13
64
0
0
47
51
6
15
76
88
95
98
48
49
99
94
102
87
23
10
0
44
40
47
43
44
48
0
0
50
50
57
59
11
68
73
74
63
21
40
114
50
20
66
62
69
67
15
24
82
84
32
41
63
70
134
97
163
121
175
130
183
180
124
119
109
155
153
90
77
70
69
74
125
122
61
55
49
46
46
100
101
97
47
51
55
38
90
92
47
73
86
95
153
157
159
159
171
123
175
176
114
99
87
66
103
91
38
29
73
69
17
15
66
12
14
69
16
17
79
83
83
86
34
83
89
53
104
93
38
34
31
32
88
86
79
83
31
32
36
38
24
11
3
0
45
51
57
59
63
13
15
15
12
61
55
46
0
60
15
15
13
65
64
63
63
64
10
6
55
52
64
27
87
91
39
34
4
1
0
5
4
1
2
46
0
5
10
255
250
247
241
222
152
139
110
160
114
109
124
75
71
66
105
91
35
45
95
91
40
92
90
37
87
33
85
91
37
87
86
84
78
76
71
14
67
67
10
62
56
62
11
64
64
63
7
57
58
57
3
2
1
1
1
57
57
58
59
60
59
55
57
0
0
1
59
2
3
9
16
76
81
88
40
38
42
8
0
46
41
0
0
0
30
31
30
0
0
31
32
32
33
0
0
0
0
2
6
63
14
16
71
76
80
76
76
74
15
7
0
45
35
0
0
0
1
57
62
81
87
91
92
93
92
87
86
17
6
0
0
0
40
38
1
3
53
53
7
14
9
75
81
83
31
81
79
80
79
43
120
63
36
76
92
103
123
80
96
112
123
139
140
140
135
129
123
171
100
95
79
73
68
117
62
54
50
45
91
88
37
40
37
90
91
41
39
38
91
42
41
95
103
111
63
67
54
55
58
114
84
100
165
174
130
191
196
157
160
157
207
144
131
118
89
122
108
88
81
74
17
17
15
15
26
26
27
27
78
83
86
30
30
29
28
83
37
35
77
78
27
25
23
21
73
84
88
38
31
24
17
62
9
11
11
7
55
54
7
14
15
14
14
12
10
4
0
42
42
0
0
0
0
0
41
50
7
11
9
7
8
9
8
5
7
10
9
0
0
0
4
62
63
9
56
9
66
18
255
255
253
199
184
172
214
139
124
165
103
122
68
125
130
69
55
96
89
90
91
40
41
43
44
96
94
92
93
38
86
83
80
75
72
71
65
64
11
58
61
5
11
11
12
64
64
62
62
60
7
57
55
54
1
1
5
56
55
56
58
6
57
49
2
54
58
10
12
78
84
78
73
25
34
94
99
38
19
59
61
13
10
56
45
0
41
38
0
30
26
0
0
28
0
37
43
49
6
11
66
69
71
22
27
83
79
74
69
11
4
51
48
0
0
33
37
0
48
2
17
72
74
77
78
23
72
66
53
45
0
43
0
0
2
59
62
15
18
72
72
27
80
29
33
39
46
53
128
137
144
136
73
70
128
166
173
180
172
162
102
99
84
82
129
75
68
57
48
40
37
30
28
25
23
21
29
34
39
101
104
54
54
46
45
44
37
84
82
83
87
38
93
116
128
137
139
86
89
145
95
162
125
187
143
144
195
195
202
206
152
148
141
129
114
130
110
97
86
82
80
26
26
27
28
81
81
27
26
27
24
24
28
27
25
26
80
75
23
22
72
71
18
73
92
48
98
85
70
14
14
17
15
20
17
17
18
18
68
57
11
8
58
5
6
56
50
0
44
0
0
0
0
0
0
34
34
38
0
0
0
17
14
61
2
0
4
5
9
5
52
48
48
48
46
35
38
0
0
255
255
255
252
241
176
166
145
130
163
97
72
72
78
126
122
114
51
88
89
93
94
43
45
46
99
45
96
43
39
35
82
79
74
72
19
13
11
10
57
61
57
10
10
63
11
11
63
11
60
59
57
3
1
52
52
54
53
54
54
56
5
3
52
9
15
17
19
20
88
96
87
81
83
36
93
96
28
20
67
69
22
20
62
57
3
51
46
0
0
0
0
0
0
0
0
0
51
60
65
17
20
73
22
26
83
74
71
13
9
3
0
0
0
0
0
39
0
0
54
11
66
16
69
71
18
66
61
0
47
45
48
53
4
64
11
66
72
27
81
81
38
48
108
67
83
98
109
175
185
133
106
78
121
122
142
139
142
141
137
135
134
132
123
104
44
88
29
22
21
22
25
81
31
30
82
31
38
95
104
106
51
48
46
45
43
35
31
81
83
84
39
49
75
86
149
153
108
111
165
169
181
139
145
153
150
199
193
197
199
197
140
186
122
108
122
105
40
86
85
87
89
89
92
93
93
90
87
84
81
72
17
16
13
12
67
69
14
15
67
67
68
75
85
103
106
86
68
52
0
54
62
13
23
72
17
72
23
23
59
9
4
53
1
53
53
45
42
0
0
0
0
39
0
0
0
33
0
0
31
34
0
54
52
0
48
56
11
78
25
71
62
56
52
0
0
39
0
0
255
255
207
203
244
231
222
203
194
118
95
81
127
73
77
124
116
108
99
48
49
45
45
97
46
46
46
99
47
43
39
34
31
25
75
71
64
11
9
56
7
5
9
61
61
9
62
64
13
62
61
7
4
3
2
53
0
51
50
0
53
54
3
52
18
25
22
16
64
70
80
79
30
36
86
74
13
22
80
33
37
43
90
28
74
70
64
60
2
0
34
0
30
31
0
38
0
0
18
74
26
79
78
81
83
86
81
81
27
23
16
10
6
0
0
2
2
0
51
52
62
64
63
14
17
67
12
57
1
1
54
58
65
68
37
58
120
134
150
168
182
129
137
190
184
124
117
115
176
165
152
88
81
129
123
116
109
117
122
118
55
100
89
87
84
27
71
12
7
29
26
23
24
79
81
83
36
43
102
107
111
110
53
47
46
41
28
19
15
69
88
50
66
93
106
169
176
142
142
196
199
161
162
160
204
201
147
142
139
189
185
179
121
108
93
111
97
36
85
89
98
104
56
110
113
120
65
117
116
117
110
54
53
95
36
32
78
10
11
13
19
31
97
105
25
8
0
0
0
0
42
44
6
16
72
26
79
77
23
72
60
2
50
0
51
50
43
0
0
0
0
0
0
0
0
30
0
0
33
32
32
41
45
41
0
0
42
60
69
78
84
22
61
52
0
2
56
58
7
220
255
255
204
190
182
228
158
190
181
122
92
92
139
130
119
60
58
103
53
111
56
52
100
100
45
40
95
98
45
41
34
82
78
74
19
68
13
10
7
3
3
7
6
5
7
60
60
61
60
7
5
2
0
0
50
45
0
0
48
0
0
2
4
62
15
15
67
68
67
65
58
54
55
6
62
67
82
89
97
103
111
116
61
47
93
85
78
73
65
56
0
0
1
7
70
90
63
32
43
50
53
49
37
30
33
24
78
81
29
76
20
20
12
8
5
56
59
61
12
76
82
82
25
17
14
13
86
114
83
155
173
184
137
131
133
130
127
172
113
109
100
88
134
128
72
66
115
121
113
111
57
56
64
129
125
104
98
105
50
42
41
37
37
87
87
85
32
32
34
35
89
39
42
100
51
52
53
106
108
105
101
97
43
35
26
11
58
9
70
31
47
66
104
120
133
140
141
194
199
206
171
173
166
207
196
135
130
128
127
126
158
102
91
131
105
96
89
92
46
106
112
119
125
127
68
120
68
120
119
66
66
64
117
118
116
114
59
54
50
105
61
68
65
46
44
89
82
24
23
19
13
67
67
69
72
22
75
24
23
73
13
59
55
3
53
46
0
0
34
0
0
32
31
0
0
0
0
40
41
0
0
39
40
41
0
0
0
25
79
81
79
69
55
0
31
31
33
37
218
216
255
255
245
185
231
162
147
191
135
155
149
90
87
74
116
61
110
60
116
111
53
49
47
46
44
98
98
97
92
33
29
24
20
18
16
13
10
6
2
2
60
7
6
7
8
59
60
7
5
3
0
0
0
0
0
44
0
0
0
0
1
4
10
65
64
13
66
14
62
4
51
52
53
57
10
28
87
96
104
114
119
66
52
98
90
83
78
19
64
60
65
16
17
22
92
120
5
7
101
69
39
33
101
93
28
84
35
32
26
24
24
14
13
12
13
68
71
73
75
19
19
26
95
64
79
154
174
186
138
188
131
126
119
167
111
107
155
100
150
129
69
118
114
111
106
103
111
53
55
54
53
112
122
129
114
89
94
45
41
86
90
89
82
79
27
27
27
27
30
40
43
47
52
54
53
52
104
104
101
97
93
84
23
68
10
10
14
21
32
47
117
152
114
126
133
142
195
195
200
159
212
155
140
181
171
165
113
111
110
93
142
135
130
108
94
32
84
90
97
101
56
112
65
112
113
62
116
66
68
120
67
70
71
123
123
68
60
108
111
66
73
74
69
70
69
118
64
62
110
50
45
100
103
106
57
111
110
55
56
52
98
95
41
38
28
69
67
62
4
0
0
0
0
39
39
38
37
36
0
39
38
0
0
41
42
0
17
75
78
76
73
66
0
26
26
26
27
211
210
207
255
248
241
235
226
217
209
206
170
148
139
95
142
133
72
60
118
73
118
116
61
59
62
66
117
107
49
37
79
75
22
18
16
16
14
12
61
56
54
61
59
58
6
59
56
5
3
53
0
0
43
40
0
0
40
0
0
0
3
10
64
70
22
23
24
74
60
55
50
45
45
44
0
0
71
28
38
45
54
113
116
111
105
44
35
79
73
16
16
21
80
87
92
40
39
152
175
71
75
108
122
98
48
36
87
87
32
78
22
23
24
21
19
72
25
82
87
82
104
121
132
135
131
128
122
163
155
97
145
144
91
133
132
77
74
122
118
116
119
116
117
64
116
114
112
106
104
51
103
102
102
105
117
68
38
31
41
42
86
32
81
69
66
67
17
19
30
86
98
101
50
50
51
54
51
48
44
40
88
33
70
13
11
66
15
20
28
39
51
116
142
152
161
115
136
135
188
189
188
181
171
104
91
133
126
68
118
64
110
109
54
58
109
102
95
79
20
13
68
78
75
18
67
17
21
78
31
40
43
102
50
50
54
115
122
117
107
61
69
125
76
76
75
74
128
77
78
79
81
80
78
132
135
138
139
138
84
82
82
133
132
79
77
70
114
113
60
110
107
105
103
44
94
91
86
82
77
22
10
61
59
6
6
57
1
0
65
76
22
20
20
60
34
30
29
0
208
255
204
204
199
246
191
238
234
223
216
135
160
102
154
144
79
120
63
112
108
70
77
81
74
120
67
119
117
60
52
45
93
79
68
19
19
18
17
14
8
59
8
58
56
4
56
52
52
50
48
0
0
0
37
35
44
0
51
7
67
79
40
95
96
42
39
38
86
72
9
57
52
0
0
45
0
18
26
35
40
95
99
103
47
42
34
25
18
67
67
78
29
33
39
97
102
53
114
75
81
152
163
100
44
52
46
87
83
30
77
20
17
80
92
57
132
155
174
134
117
168
111
101
84
67
56
50
106
108
113
116
120
121
76
76
73
122
67
114
60
77
123
119
63
109
102
98
39
89
82
82
82
82
81
35
56
105
34
25
77
79
72
68
58
58
64
71
24
88
92
99
100
99
99
48
46
43
37
30
27
75
73
69
72
25
79
81
35
48
58
66
75
139
142
147
97
123
174
175
125
128
122
112
149
133
64
50
80
72
15
77
82
89
44
52
50
101
97
36
25
17
60
3
0
53
4
57
59
61
12
12
65
16
22
33
98
93
79
73
29
36
90
42
101
99
55
112
114
61
115
118
62
71
124
124
124
73
74
76
130
133
136
137
136
132
127
121
68
66
63
60
57
106
109
57
56
55
54
53
53
49
105
106
102
48
48
46
35
87
89
40
39
32
22
45
38
34
36
207
206
255
203
254
251
247
192
187
175
221
142
168
163
112
97
80
122
124
63
52
62
127
81
76
68
71
123
107
106
104
50
50
33
20
74
72
72
71
16
10
61
60
58
4
3
3
0
0
0
0
0
42
39
0
0
49
0
5
66
76
88
103
56
54
48
94
91
37
79
13
61
57
1
0
0
53
15
22
83
33
87
38
92
92
36
29
73
15
14
16
19
79
90
46
50
107
113
47
50
89
134
207
180
116
63
58
92
84
80
74
14
9
102
80
109
126
130
176
119
99
128
55
40
87
38
91
102
50
106
109
64
122
124
119
118
67
70
123
124
125
121
115
112
109
50
44
39
86
33
26
25
28
28
79
77
101
111
34
18
68
72
68
63
53
57
64
20
26
35
39
98
99
100
100
101
93
38
32
25
22
19
69
70
77
34
36
38
48
60
69
74
133
139
140
90
91
113
165
164
116
124
123
115
146
130
61
99
76
70
65
16
25
35
97
50
49
99
48
43
85
72
50
49
49
0
1
55
60
10
14
16
11
14
73
83
43
74
55
53
60
63
8
10
70
17
72
79
84
33
86
39
32
93
91
90
40
40
42
46
50
106
112
115
118
65
115
100
49
50
52
54
56
111
113
112
59
57
55
54
104
101
56
58
54
104
106
53
50
93
91
47
52
46
87
21
65
60
9
250
199
252
253
254
254
252
253
192
185
233
209
182
164
122
166
107
151
124
63
62
71
125
127
124
69
66
67
66
116
115
61
54
41
40
87
73
81
74
69
63
11
10
56
0
0
51
0
0
44
41
0
0
37
0
0
56
13
23
35
98
110
124
74
75
123
115
110
103
33
72
67
8
3
0
0
0
5
62
68
77
31
33
34
80
76
20
15
9
58
61
24
31
40
47
102
106
58
49
108
114
99
89
118
123
165
43
50
106
74
17
59
91
166
115
105
143
77
112
97
24
16
16
69
71
23
27
88
96
50
54
58
112
115
115
118
67
118
119
63
110
113
101
42
87
80
20
68
61
9
11
16
74
79
82
78
30
64
58
33
65
62
63
12
71
77
82
85
34
38
38
42
94
93
88
34
80
78
22
15
16
17
19
34
91
47
61
67
75
81
138
145
146
142
143
140
138
151
98
100
156
164
104
94
84
68
50
87
69
12
61
75
21
19
74
39
44
99
45
42
38
35
64
50
0
0
0
0
49
0
0
0
4
57
59
12
10
58
60
4
58
59
4
1
0
0
53
52
0
48
48
45
0
40
37
35
0
0
36
0
11
66
70
23
77
77
24
56
52
49
0
51
53
53
7
61
12
16
71
74
76
28
30
33
37
91
92
40
40
38
88
88
39
42
42
39
91
89
32
188
190
193
198
253
253
201
195
245
240
181
200
120
100
102
99
152
156
145
125
108
68
74
130
131
129
128
78
78
74
71
74
72
114
112
105
95
53
44
39
29
78
13
58
0
0
0
0
0
42
37
35
0
0
32
44
10
70
82
44
109
71
138
142
142
85
77
121
112
39
28
21
10
54
49
0
0
48
51
58
11
17
72
22
24
72
68
63
4
0
55
64
73
85
44
50
106
110
62
52
97
105
108
85
70
28
124
99
43
9
67
126
169
126
105
96
41
89
85
84
80
26
25
75
21
23
79
27
32
88
91
97
50
105
108
58
106
106
104
99
41
45
83
75
14
7
0
46
0
49
58
64
18
23
25
76
26
43
108
107
32
59
77
30
89
87
36
89
39
41
91
37
35
29
75
19
15
66
67
70
71
21
72
93
97
106
73
82
142
148
155
103
152
139
137
134
133
90
88
140
91
144
140
79
71
110
46
89
25
21
19
77
75
21
69
16
23
81
88
92
39
31
32
26
67
50
44
38
36
0
0
0
44
44
0
0
47
52
5
0
0
0
0
0
0
0
0
0
0
41
40
38
0
33
30
0
0
0
27
36
0
51
57
64
16
71
17
14
61
0
0
0
0
0
39
37
0
0
33
34
36
0
0
0
39
0
0
0
52
1
55
56
3
60
71
91
94
95
92
233
183
189
245
201
254
253
195
246
241
176
191
165
94
149
97
96
150
99
133
112
60
122
131
135
133
141
96
93
84
79
81
85
126
68
61
55
67
59
54
42
36
66
59
1
53
0
42
0
0
0
0
0
30
30
42
9
17
81
44
110
122
140
144
144
139
78
70
113
38
26
19
9
52
48
0
0
50
54
6
11
66
68
70
23
18
65
59
51
0
48
58
67
81
92
100
105
110
111
112
116
113
50
48
43
77
107
136
137
41
76
95
91
102
87
86
38
92
92
95
26
20
73
74
19
67
66
22
28
83
87
92
45
101
54
54
101
100
97
90
84
87
21
65
58
0
44
40
0
44
56
11
17
22
24
75
76
28
99
109
94
16
32
87
39
36
36
40
42
94
92
86
81
75
68
13
15
15
17
18
71
19
20
41
98
107
74
84
145
149
153
153
98
134
79
77
74
87
85
85
139
138
134
74
66
57
98
40
32
80
77
28
24
20
70
68
68
66
74
85
89
31
86
85
80
67
58
44
34
0
0
44
0
0
0
39
40
0
2
47
0
0
0
0
48
46
44
0
0
0
0
36
30
32
30
0
0
29
28
33
36
41
50
6
64
67
71
11
7
0
45
0
0
0
0
0
33
31
0
0
32
0
0
0
0
33
35
37
37
38
40
41
0
0
3
78
84
35
33
213
167
173
233
191
191
243
191
189
229
206
126
113
100
153
104
99
145
96
131
56
48
52
110
69
82
105
110
127
119
112
108
155
148
96
140
131
83
68
58
108
102
67
8
1
0
0
40
41
0
0
0
0
0
0
35
1
61
22
35
49
63
78
131
131
76
68
59
49
77
67
62
55
48
46
0
0
0
0
51
53
1
3
3
55
52
0
0
46
45
51
63
18
81
90
44
101
107
78
116
106
106
53
37
30
37
100
164
180
191
151
43
29
94
96
91
37
37
34
79
77
74
72
17
13
63
65
69
26
31
35
38
42
45
47
45
92
88
30
22
67
56
0
41
0
0
32
31
34
0
3
12
19
73
75
71
72
23
36
101
103
97
25
29
36
90
91
36
85
82
78
67
65
64
63
62
64
12
12
11
13
14
67
84
89
95
114
72
133
137
145
94
92
76
71
67
61
87
139
141
139
84
81
76
69
63
109
54
49
45
93
79
76
72
18
66
59
1
1
4
66
26
30
80
29
87
82
72
59
0
0
0
0
26
27
28
0
0
42
42
0
0
44
47
0
42
42
40
37
0
35
0
26
29
0
26
0
0
0
0
27
30
36
0
49
55
10
60
62
10
6
0
44
37
0
0
0
0
0
0
30
30
0
0
0
0
0
0
37
34
33
0
30
27
0
9
70
77
78
188
147
209
214
220
175
178
229
212
144
183
170
115
159
158
102
99
152
138
119
52
44
48
55
63
70
80
88
151
104
127
139
172
157
126
162
140
90
83
59
72
98
29
20
63
58
6
2
0
38
35
0
30
0
0
0
0
0
52
8
18
28
47
101
101
49
47
94
87
24
65
9
54
47
0
39
37
0
0
37
0
0
0
0
0
0
51
56
61
12
22
85
32
87
36
38
38
39
38
87
39
38
28
90
125
106
78
124
101
69
52
109
113
63
68
48
42
29
40
80
71
10
6
5
58
62
62
85
46
48
97
42
39
38
85
29
25
68
55
42
0
0
30
34
0
37
0
0
0
38
48
2
59
9
63
66
77
93
93
97
107
116
44
25
33
89
77
70
74
2
1
55
59
63
62
60
62
10
61
58
55
0
48
65
70
28
100
112
123
128
132
79
129
68
65
63
111
119
118
117
64
65
68
69
126
120
63
60
54
96
88
83
78
20
64
7
6
4
5
1
50
49
14
28
36
29
33
84
80
25
1
0
0
0
0
26
26
26
31
34
0
0
43
0
0
41
0
0
37
35
35
35
33
0
0
0
27
31
39
48
49
46
45
41
39
0
0
56
60
64
64
11
4
35
0
0
27
0
0
26
26
26
27
29
0
36
0
0
0
42
36
0
0
38
42
0
60
69
73
131
135
190
190
198
201
148
198
186
175
168
163
167
162
110
159
154
100
134
118
106
59
51
44
46
105
79
88
150
151
169
132
179
175
131
110
143
93
85
112
78
114
86
25
20
13
55
57
2
0
40
37
33
0
0
33
37
0
49
56
64
74
90
42
43
43
41
37
31
21
11
58
0
0
0
0
37
36
36
0
0
40
41
42
50
51
54
9
15
72
82
95
42
44
45
45
45
44
91
39
37
32
38
66
95
157
64
78
67
66
71
59
110
26
9
30
90
38
25
26
69
13
12
13
67
70
20
40
43
42
92
37
86
33
78
70
12
56
0
37
0
27
29
0
0
35
0
33
32
34
43
0
50
8
14
75
83
43
93
95
104
60
58
35
23
79
72
63
62
53
53
56
58
60
8
7
8
9
8
6
56
53
50
54
62
74
101
66
79
138
137
136
135
71
69
117
114
119
116
114
61
64
66
119
122
66
60
58
102
41
35
29
77
69
65
60
59
56
57
1
0
47
57
67
73
27
33
34
29
27
18
8
0
35
0
0
0
0
0
0
0
0
0
0
43
41
0
38
36
0
35
35
33
26
0
0
34
41
49
60
59
55
51
46
41
41
44
5
10
13
63
61
5
45
0
0
28
0
0
0
0
26
28
29
0
0
37
39
42
0
36
34
35
37
42
0
53
63
17
136
183
122
109
151
147
91
93
93
149
150
90
145
143
91
90
139
131
117
60
110
116
64
67
77
135
139
140
103
170
189
141
184
187
132
117
159
112
108
90
98
139
77
61
59
17
18
4
54
58
55
0
0
0
41
39
43
0
0
52
4
60
66
21
74
22
22
20
16
10
7
55
0
0
0
0
42
0
45
45
46
47
49
49
53
54
60
71
31
41
105
116
65
64
115
111
53
45
89
30
26
40
76
111
102
64
65
68
26
16
74
30
63
171
171
111
75
19
83
18
74
79
30
32
85
34
35
32
80
30
84
33
31
80
22
62
55
49
0
0
0
27
27
0
0
29
0
26
26
0
26
32
0
12
25
84
88
38
34
33
37
40
65
49
8
4
61
61
56
52
56
8
5
2
2
3
1
53
52
0
0
44
40
46
55
70
107
76
92
101
107
105
154
138
133
126
69
60
108
104
50
54
109
113
113
58
53
100
88
26
21
19
70
67
66
62
58
55
54
53
0
0
40
0
0
1
13
27
84
37
36
32
33
26
68
5
0
0
0
0
0
0
0
0
45
0
0
34
32
0
32
0
0
28
0
36
48
60
72
88
91
85
71
59
50
42
38
0
58
11
11
60
60
8
49
0
33
29
0
0
32
29
30
32
35
0
0
0
40
38
35
34
34
37
0
0
0
0
3
181
184
179
113
78
71
67
68
71
79
134
72
73
120
66
120
69
67
118
121
71
64
120
125
72
120
126
84
156
159
169
182
192
146
132
129
109
101
102
107
143
149
144
147
98
75
72
25
19
19
66
64
10
11
62
57
62
61
10
63
13
66
63
12
12
12
12
63
61
6
9
6
53
50
0
49
49
0
0
0
0
0
0
0
44
0
52
16
33
100
113
80
82
134
80
126
64
107
95
85
52
92
106
82
46
21
61
59
8
22
15
2
65
80
46
92
183
106
94
3
29
88
90
90
90
41
43
92
96
45
95
91
33
82
85
83
28
23
68
60
53
0
30
28
0
26
26
26
26
26
0
54
16
77
28
35
36
41
91
37
86
31
37
48
35
13
53
52
5
54
3
3
53
0
0
2
50
0
47
43
0
0
0
0
56
75
121
95
116
127
130
180
125
155
94
84
128
47
97
43
93
96
102
104
52
103
98
93
22
14
8
14
13
63
9
5
1
0
0
51
50
0
40
0
0
44
45
0
8
25
48
104
51
52
48
40
34
79
75
0
0
0
47
45
42
0
34
0
28
27
28
26
0
0
0
0
62
77
88
102
104
92
78
64
3
0
42
39
0
6
60
61
9
6
7
1
0
38
33
0
32
33
0
37
38
39
41
0
0
0
0
37
37
0
0
34
0
0
0
184
135
134
124
91
77
67
66
65
68
68
118
69
67
117
66
67
121
121
120
68
57
62
124
131
133
86
145
154
154
165
176
180
138
138
139
120
109
105
155
134
144
143
123
97
69
98
86
80
80
77
75
75
73
69
8
16
67
67
17
19
19
66
12
12
64
11
62
60
58
8
5
53
50
49
0
0
0
0
44
0
0
0
41
40
41
48
13
32
100
114
81
134
83
82
128
118
107
90
94
70
99
93
60
32
69
10
0
0
66
53
46
69
11
21
1
78
183
42
87
81
87
38
40
95
50
55
57
59
111
108
105
102
100
100
47
44
39
31
22
14
41
35
29
0
26
26
0
0
27
52
12
21
25
26
32
86
90
91
87
79
74
16
35
50
28
4
51
56
4
2
52
53
54
53
2
49
50
0
47
0
0
38
0
9
81
129
101
124
134
137
138
133
110
99
88
81
43
95
93
92
45
49
103
101
100
97
92
22
16
11
12
62
60
6
2
0
0
0
49
48
0
39
39
40
44
45
0
55
64
90
100
49
52
104
98
44
42
90
69
66
60
1
48
40
40
34
30
28
26
0
26
0
0
0
43
62
78
86
100
100
89
74
61
3
0
0
42
0
2
4
7
10
58
9
8
2
0
36
32
0
34
34
0
0
40
41
41
0
0
0
39
38
0
0
0
0
0
0
189
197
145
133
111
102
91
79
118
110
58
63
64
57
112
60
60
115
81
146
153
145
141
137
138
90
154
160
186
182
168
168
126
133
153
139
174
162
170
182
185
199
221
147
133
179
121
90
66
54
46
93
92
90
81
67
28
34
31
21
74
33
28
72
69
68
69
15
10
10
53
50
0
0
40
39
0
0
0
36
35
0
0
38
37
41
47
59
27
49
64
122
128
82
130
118
60
102
83
123
98
89
61
33
20
75
69
64
7
58
7
61
63
24
23
23
23
21
62
185
88
13
45
100
97
63
72
90
94
154
152
100
105
101
103
87
132
75
66
53
43
12
0
0
0
0
0
0
36
49
74
25
76
24
26
28
30
34
23
66
12
13
8
14
53
50
27
59
53
4
5
49
0
0
49
2
0
49
51
56
56
2
51
22
81
93
83
106
126
187
141
140
134
166
157
93
85
105
103
103
105
113
115
63
63
109
103
44
80
20
16
61
8
6
3
0
0
0
0
0
43
0
0
0
0
40
0
0
57
64
71
20
77
83
91
98
99
94
93
82
82
82
77
71
0
40
36
34
33
31
30
0
0
0
37
40
53
15
75
31
77
20
15
10
57
53
47
0
0
45
47
4
14
9
13
64
64
8
54
49
0
0
35
37
0
41
0
0
41
0
0
42
42
43
43
38
38
0
0
194
145
137
119
104
108
109
81
121
61
58
60
70
125
124
123
68
65
59
56
109
99
113
131
142
98
194
168
165
214
208
156
155
182
189
133
120
149
143
155
122
179
189
129
124
175
167
155
139
132
67
60
110
105
95
33
47
38
37
44
40
26
34
71
63
55
54
1
50
43
44
42
0
37
37
0
37
39
0
37
37
0
40
43
0
0
2
63
26
45
59
120
122
124
120
115
56
45
105
81
138
111
36
27
78
26
78
76
23
23
24
77
77
37
28
30
36
76
10
14
138
74
44
73
106
123
55
110
133
140
155
159
157
210
203
128
167
157
93
79
70
41
63
44
0
26
0
0
58
69
34
83
79
25
75
88
28
11
7
57
59
64
17
15
36
105
55
31
57
63
60
54
0
0
47
0
0
52
54
11
66
65
65
74
31
47
83
97
158
161
112
163
158
144
140
136
130
109
58
112
116
129
80
79
78
124
115
104
84
23
17
6
5
3
2
0
0
0
0
0
0
0
0
0
0
36
39
45
50
58
14
68
70
68
13
64
64
77
82
81
81
83
31
29
21
70
58
1
0
0
35
33
0
31
28
30
0
0
2
10
12
11
60
4
0
0
48
0
0
50
52
5
14
21
23
75
75
73
67
60
53
0
40
42
42
0
0
37
39
0
0
0
40
41
41
40
39
0
0
195
140
128
113
106
109
164
92
73
113
111
64
72
75
68
119
65
62
57
57
110
72
77
131
125
65
145
115
121
151
207
187
132
204
134
117
108
140
128
144
173
176
172
111
153
144
139
158
156
141
112
100
113
63
47
48
49
50
52
50
90
31
112
80
69
59
56
4
1
0
41
40
38
37
36
36
0
0
0
41
41
0
0
0
0
4
9
16
28
96
109
120
122
119
65
63
107
97
116
85
79
99
80
28
82
28
28
81
82
31
32
85
85
37
36
32
33
30
79
83
58
191
80
90
18
58
120
135
137
154
175
172
164
226
226
201
134
173
160
145
85
54
70
53
0
40
46
6
12
73
32
81
76
20
17
82
72
57
57
59
11
15
75
20
24
97
60
45
20
65
8
9
55
51
51
2
0
53
55
63
65
65
65
73
81
94
74
87
146
148
151
148
142
128
74
72
119
55
58
114
120
82
84
85
84
76
118
106
83
21
15
57
4
2
52
0
46
46
0
44
43
0
0
0
0
34
36
42
46
0
8
62
64
9
55
51
50
10
17
18
21
79
82
31
28
27
75
69
62
2
0
0
30
0
0
26
33
40
0
4
57
55
1
0
48
0
0
0
0
2
3
6
11
22
28
81
82
81
77
69
11
43
41
38
38
0
0
38
38
0
36
37
0
0
0
0
41
0
0
130
123
167
112
114
110
157
159
74
106
111
70
69
63
62
113
56
106
57
62
68
100
104
57
60
62
135
149
129
143
196
171
98
112
150
109
114
106
100
104
105
100
175
183
137
176
155
132
121
114
115
49
85
95
70
60
56
52
43
41
112
131
50
84
75
15
12
62
5
0
45
45
47
46
0
0
47
51
50
0
1
55
6
11
12
17
23
26
33
98
107
68
70
118
65
67
106
104
130
131
116
41
36
40
40
39
89
92
92
41
41
93
93
94
39
35
89
41
37
27
71
11
66
181
62
47
55
87
168
169
167
189
255
250
248
230
216
199
183
169
107
74
93
81
22
16
64
13
24
31
38
33
77
66
6
56
53
61
67
18
71
20
21
76
68
20
38
50
52
28
11
76
21
69
18
13
70
20
22
75
75
76
78
66
71
79
103
114
124
75
126
122
63
47
44
43
40
50
52
60
122
88
91
92
88
79
67
54
27
17
9
52
51
0
0
0
44
44
46
47
45
43
35
0
0
33
33
35
39
0
0
53
55
4
1
0
48
44
46
0
0
8
15
71
83
36
91
40
42
93
35
28
8
0
0
26
26
0
27
0
0
40
0
0
0
0
0
0
0
0
52
53
7
18
82
33
39
93
91
87
82
9
0
39
36
42
0
0
34
33
32
33
35
0
0
0
44
0
0
113
115
117
115
156
160
114
86
114
103
59
60
111
58
52
104
49
48
48
50
53
126
112
103
67
93
101
92
80
128
144
115
126
186
172
181
123
108
92
81
69
79
155
164
114
153
132
70
113
104
85
27
36
32
24
87
60
64
85
115
172
90
30
86
30
80
78
22
15
64
57
5
5
57
4
5
4
2
55
54
2
56
61
64
66
20
77
80
85
95
103
63
70
117
118
66
103
107
91
125
101
39
46
48
51
111
116
61
55
102
97
94
41
35
36
34
24
23
29
83
28
34
39
93
71
109
68
93
139
213
181
187
254
255
255
246
232
217
197
130
121
95
128
108
32
16
69
26
27
87
89
29
66
0
38
55
3
12
64
10
62
62
15
72
22
18
23
38
103
112
27
26
24
27
33
26
79
30
34
35
35
90
92
65
70
78
46
53
56
109
99
45
38
26
25
23
20
45
49
57
69
90
94
145
89
79
66
52
23
63
56
0
48
47
0
0
0
43
42
43
42
41
34
30
0
32
0
34
36
40
48
49
48
51
0
1
50
0
0
48
51
50
50
54
88
103
111
62
63
63
60
51
87
13
6
48
0
0
28
0
0
0
0
0
0
26
0
29
34
37
41
50
60
69
77
82
38
96
99
97
93
28
75
65
53
42
38
0
0
31
0
0
31
35
40
0
0
0
0
110
167
166
161
117
114
107
72
118
110
57
114
113
59
60
58
56
52
49
49
102
125
114
55
58
112
107
57
70
88
89
125
69
151
165
125
146
197
114
88
79
118
51
105
120
138
124
123
95
103
88
71
23
34
22
60
51
138
118
123
156
71
48
91
35
84
82
27
22
7
69
68
66
12
11
10
62
12
12
12
64
66
15
17
60
67
72
25
84
41
101
107
112
60
58
106
102
116
141
70
57
107
57
63
121
119
118
62
59
112
113
105
44
31
24
69
65
9
65
21
37
58
75
87
105
143
179
2
43
110
232
214
203
255
255
247
190
165
186
167
106
75
111
107
53
96
85
25
23
26
17
60
53
53
56
16
15
15
69
18
70
70
14
17
16
12
67
26
89
104
43
18
26
34
32
83
38
91
39
40
40
91
90
40
94
95
46
45
43
94
93
92
36
85
82
24
20
28
32
43
53
118
67
66
114
56
102
43
25
66
8
51
48
45
0
0
46
45
41
0
41
0
0
34
0
34
0
0
35
34
32
31
37
39
42
44
47
50
51
42
42
0
71
94
90
165
127
131
129
173
104
135
112
77
75
19
15
8
49
0
30
28
0
0
0
28
31
37
41
49
2
57
61
70
77
79
32
38
96
97
94
77
28
76
12
0
41
0
0
0
0
34
0
0
46
0
0
0
0
135
144
99
152
148
135
121
66
112
106
51
108
58
58
112
109
104
100
43
44
97
95
82
24
25
84
97
106
123
68
75
143
141
76
158
132
134
119
95
138
139
125
36
74
115
104
130
105
117
46
25
22
18
7
74
79
54
112
169
138
130
62
49
42
41
91
85
81
76
68
67
15
66
13
12
11
62
12
65
65
65
12
12
63
3
5
8
10
66
76
83
92
96
43
42
95
97
112
135
124
120
120
68
71
76
75
130
129
123
63
59
59
108
85
18
57
51
0
58
18
84
49
73
93
108
124
189
176
136
105
83
112
210
242
248
245
228
205
191
127
114
84
117
107
94
83
25
22
15
57
0
46
55
63
15
67
68
68
69
68
16
65
62
10
59
58
61
13
69
92
99
26
25
35
93
43
42
96
100
48
98
42
40
92
91
40
44
44
96
94
40
90
84
72
17
17
18
27
29
36
43
105
56
56
108
102
93
32
15
7
2
53
50
48
45
43
0
41
40
40
0
0
0
0
0
0
0
0
31
0
0
0
37
0
43
46
51
57
58
58
64
26
50
73
168
186
140
137
127
114
148
131
116
79
26
25
26
26
22
65
0
46
39
32
0
0
0
0
37
0
0
51
54
58
65
13
14
17
24
30
33
81
80
25
71
9
0
47
0
0
0
37
37
0
0
48
50
53
1
126
124
69
117
119
118
117
65
113
105
47
46
98
47
103
105
104
52
45
39
88
81
80
27
85
40
53
110
109
56
49
97
97
51
64
148
122
191
128
104
124
120
128
72
106
107
72
47
111
72
100
16
59
11
56
93
34
106
142
93
52
30
38
37
36
35
85
29
26
72
62
9
8
59
58
5
4
55
53
0
0
0
41
38
0
0
0
0
50
61
69
26
31
85
90
43
98
62
78
124
74
131
130
79
82
133
128
123
66
66
119
62
55
51
97
90
80
16
63
64
83
96
61
80
100
172
184
253
154
183
120
78
77
123
150
223
208
186
124
116
159
126
103
98
92
27
13
1
0
0
41
52
60
59
3
53
54
4
5
56
56
3
55
2
54
55
5
3
53
0
83
97
33
26
32
44
45
48
104
53
101
44
41
85
31
80
76
24
22
74
70
72
70
10
11
68
72
23
23
27
30
37
38
90
89
85
27
24
69
64
10
61
58
53
50
0
43
0
41
40
0
0
0
32
31
0
0
30
27
0
0
0
0
0
0
46
52
8
62
68
81
102
126
95
127
137
193
184
165
94
76
58
97
61
15
22
27
29
29
24
78
24
20
13
57
48
37
0
35
39
43
47
47
0
0
0
40
40
0
1
9
24
23
21
73
70
12
4
43
0
43
40
37
0
0
54
58
62
12
70
121
118
65
114
111
58
60
59
109
103
42
91
93
38
39
91
89
85
82
81
81
81
31
31
33
38
91
87
95
44
42
102
106
102
108
91
181
197
190
112
162
131
63
110
55
102
112
112
67
118
98
68
2
55
60
5
14
108
86
81
89
88
75
58
36
70
63
6
0
50
0
0
37
0
0
34
37
33
0
0
26
27
29
0
0
0
0
1
14
71
71
28
36
96
52
53
61
82
70
66
70
71
76
130
72
68
66
63
63
119
117
114
59
109
55
101
40
35
87
86
95
104
66
133
146
151
165
161
113
126
186
62
53
14
105
177
121
114
148
127
108
94
32
16
0
0
0
0
0
57
8
8
62
63
2
0
0
0
0
0
0
0
0
0
50
0
50
0
45
56
97
102
33
23
31
38
37
38
37
34
83
29
18
66
10
6
6
7
7
11
63
67
74
76
73
72
73
23
26
80
80
77
23
24
75
74
73
70
66
11
9
57
53
50
0
44
0
41
41
0
0
0
33
32
0
0
31
28
26
0
0
0
38
43
47
1
9
62
81
98
118
82
99
119
120
166
160
96
85
123
108
90
0
0
50
56
9
18
35
90
93
97
47
43
89
74
7
1
48
0
40
36
27
0
0
0
34
36
0
47
63
14
16
18
69
66
62
0
45
42
0
0
46
49
0
2
6
10
132
124
117
112
109
111
63
57
57
56
104
96
94
93
41
92
90
87
85
85
86
38
91
37
33
33
90
39
33
88
36
95
107
58
61
46
128
114
193
197
171
164
117
87
35
24
98
86
123
76
105
51
98
67
49
56
0
13
88
55
74
94
76
38
80
68
66
67
67
51
0
0
0
0
26
26
26
30
28
26
26
0
28
33
36
0
0
0
6
70
72
70
78
37
99
55
53
112
83
69
114
117
122
73
75
70
67
68
116
63
64
119
120
63
112
109
54
50
50
107
98
42
95
107
124
88
94
119
206
214
121
123
131
59
34
29
83
105
143
132
136
40
36
25
56
0
38
0
0
54
61
60
7
14
19
6
54
38
34
0
0
31
0
0
48
0
0
48
48
53
50
93
107
39
23
27
32
33
33
83
29
26
25
13
61
5
3
6
6
7
12
13
68
78
79
24
20
76
76
28
82
80
23
21
21
22
74
74
71
67
63
7
56
51
48
46
43
41
0
0
0
39
36
0
33
0
0
31
29
0
26
27
0
0
0
0
0
3
56
80
95
61
76
90
156
157
101
96
87
76
116
99
24
0
0
47
0
53
64
35
100
103
106
107
105
46
33
78
72
8
0
44
38
27
32
34
36
0
0
0
0
6
10
66
68
66
10
62
0
0
40
40
0
0
51
0
0
5
9
119
119
120
117
112
115
65
68
70
67
110
51
50
98
45
93
92
97
52
103
104
103
101
47
44
95
90
90
86
87
39
96
99
104
105
108
106
112
136
119
145
192
144
98
88
57
34
16
3
16
38
54
110
54
97
61
57
8
14
39
71
68
25
24
20
65
7
2
0
41
37
36
35
33
31
0
28
26
26
26
28
0
0
34
44
47
0
0
56
66
76
87
88
39
44
42
42
107
127
57
106
108
101
49
55
54
58
62
112
112
61
118
122
68
66
115
61
114
113
114
116
67
116
113
62
69
75
136
159
172
173
115
106
99
116
40
5
13
116
104
51
78
3
50
46
0
60
11
18
76
86
90
91
88
82
17
59
42
36
27
26
26
26
30
43
42
0
0
0
4
3
13
84
46
93
81
17
71
22
72
68
16
69
7
59
61
65
12
64
65
63
17
23
33
36
37
37
90
38
90
37
32
30
29
83
78
25
28
70
66
64
51
50
49
0
44
0
42
42
44
0
45
37
0
0
35
0
32
29
0
0
0
0
0
0
0
0
45
59
70
86
102
112
70
132
131
126
69
59
105
40
75
14
0
45
44
0
6
15
40
50
114
119
120
126
76
63
100
98
41
36
78
70
57
0
0
40
42
43
0
42
54
3
7
62
14
13
11
5
3
1
51
46
45
49
48
48
51
56
109
113
118
122
122
69
69
119
69
69
68
116
62
113
55
108
110
113
115
118
123
117
116
113
58
106
98
97
91
41
94
96
45
99
101
103
110
116
119
129
175
144
151
192
170
87
57
37
41
41
38
83
74
71
71
22
5
62
30
107
116
100
84
18
10
55
50
48
0
0
38
39
40
43
0
44
45
0
43
43
44
0
43
0
0
49
54
5
65
77
89
91
94
91
39
35
79
90
69
42
78
84
35
30
30
40
102
106
107
108
58
60
115
124
74
125
123
67
65
63
64
117
65
66
116
113
110
143
125
124
130
137
143
145
78
164
121
20
9
7
20
62
5
65
71
29
90
92
50
59
121
118
64
60
108
94
83
0
0
26
26
0
26
27
38
41
0
0
54
7
13
53
59
80
99
106
32
68
59
68
64
62
65
10
11
13
17
20
75
24
25
79
81
37
39
42
96
44
43
94
93
38
38
89
36
85
82
27
65
6
2
42
42
0
0
0
0
0
0
45
46
0
0
0
0
34
33
0
29
27
26
0
0
0
27
28
31
36
51
7
22
88
97
52
104
49
50
44
37
82
20
5
0
41
40
44
0
10
22
50
71
141
148
145
148
151
102
95
145
141
134
126
113
94
31
23
17
15
62
54
49
1
50
49
3
9
14
65
59
7
6
6
5
54
55
49
48
51
54
108
110
64
68
125
122
69
121
121
70
71
69
67
67
115
114
115
119
119
69
125
120
118
64
60
109
100
96
97
98
98
96
96
95
45
47
109
69
80
88
169
182
207
155
151
131
96
29
15
31
30
82
77
66
3
3
78
78
92
108
108
41
79
13
56
49
46
0
43
46
42
0
46
49
0
55
56
60
57
3
5
55
52
0
0
51
58
14
73
83
36
92
93
36
33
30
16
78
118
40
70
73
26
22
23
33
46
51
108
55
56
110
113
120
123
128
128
74
121
121
120
117
64
115
63
61
59
140
125
64
117
128
142
153
93
98
152
43
22
68
9
16
23
34
87
42
52
111
118
73
129
125
72
122
120
54
43
62
44
0
27
0
26
26
0
40
45
0
52
9
14
51
0
16
90
105
48
78
59
68
69
67
67
12
13
14
20
76
26
28
85
85
86
36
38
40
41
41
93
93
92
92
92
93
89
85
29
75
62
1
0
0
39
38
0
40
40
41
40
0
0
0
37
36
0
0
32
0
0
28
26
26
0
0
0
0
0
35
50
5
19
84
39
45
97
92
93
36
29
73
65
1
0
40
39
0
50
60
23
107
130
150
110
163
165
115
116
116
166
162
154
143
130
108
45
37
30
26
21
67
9
4
1
1
55
62
64
11
9
59
58
10
7
4
56
51
50
53
57
58
109
58
60
119
121
68
122
119
68
72
76
79
85
82
75
124
125
123
69
69
65
116
63
62
57
99
96
109
54
49
95
89
81
29
36
48
59
75
92
125
135
202
212
221
222
220
146
130
133
57
87
71
61
6
41
131
111
44
88
34
40
10
2
0
0
39
0
41
53
48
0
3
62
14
16
18
74
69
15
68
66
60
4
2
63
74
30
33
37
89
87
36
24
21
76
2
52
101
90
10
46
53
59
10
16
33
45
53
57
62
118
119
115
115
118
122
125
131
133
77
75
71
69
67
67
67
53
123
127
130
133
130
75
76
70
105
156
168
85
83
26
37
50
108
115
125
76
138
143
146
94
92
87
80
120
107
83
73
59
0
0
40
38
43
47
0
53
55
13
5
8
54
47
59
26
51
43
28
58
65
68
64
68
18
69
74
77
29
83
87
36
37
90
36
36
35
85
85
86
87
93
44
45
90
89
31
74
60
50
41
0
0
38
39
39
39
39
33
0
0
0
0
31
32
0
32
0
0
0
0
0
35
0
37
0
0
0
46
57
16
76
77
26
24
70
68
66
61
4
1
0
0
0
0
0
44
59
81
125
145
166
180
135
142
146
146
201
199
194
184
171
153
75
62
104
93
89
33
26
24
64
67
70
19
73
73
70
19
14
11
64
14
12
12
54
54
57
62
114
57
54
53
63
66
69
125
127
129
131
90
150
104
152
89
82
135
84
131
127
128
67
59
54
49
39
91
104
47
92
84
77
17
69
20
24
86
51
119
143
97
209
224
230
230
239
207
178
190
185
163
123
95
97
113
126
114
117
128
113
31
52
37
10
0
44
0
32
0
44
57
69
75
71
18
24
82
80
75
66
60
7
15
83
35
42
97
98
95
38
27
27
20
10
2
48
53
50
97
17
0
39
43
0
47
17
31
47
115
124
76
77
131
131
78
125
120
68
123
76
79
132
77
125
69
119
110
114
70
128
133
136
81
131
110
108
108
114
148
191
34
54
109
100
151
98
106
103
90
138
82
130
73
63
61
60
102
38
78
64
55
49
49
53
53
2
51
51
0
52
0
0
49
50
49
78
49
51
0
0
61
7
18
15
61
7
21
38
100
90
78
16
69
85
107
121
28
25
22
72
77
27
31
36
89
34
80
61
54
0
45
0
0
0
0
39
34
0
0
26
26
0
26
28
30
0
38
37
39
38
34
36
0
0
0
0
40
0
56
8
63
67
13
0
0
0
0
0
42
0
0
37
26
26
27
38
57
29
123
100
167
184
141
145
148
197
204
203
198
189
173
156
65
99
35
24
72
72
73
23
31
31
31
83
84
31
81
71
20
21
19
18
17
68
58
5
3
4
55
103
98
47
55
111
62
67
122
124
126
87
95
100
154
143
83
84
83
128
125
121
60
54
100
95
34
34
97
95
89
83
76
16
15
19
22
82
43
57
136
147
197
156
162
164
217
202
196
162
135
153
128
125
81
67
63
63
62
65
130
137
39
59
49
68
30
0
0
0
52
54
58
13
21
25
78
77
21
67
11
64
69
22
35
35
38
93
95
41
39
28
22
64
6
4
1
53
46
46
22
0
0
48
0
0
20
87
99
59
68
128
134
80
133
133
131
128
74
75
129
129
128
73
69
119
118
53
60
66
123
125
123
68
61
53
57
113
112
125
146
78
44
0
62
101
152
162
101
92
91
138
134
128
118
62
61
101
91
80
69
60
54
53
2
2
2
0
0
6
57
55
53
0
0
50
63
40
57
13
0
0
2
66
14
10
12
24
92
49
46
35
76
72
85
102
113
31
26
75
74
77
80
85
37
38
35
81
65
6
2
51
52
49
45
0
0
0
0
26
26
0
0
26
28
0
36
39
39
40
0
37
39
0
0
35
0
42
0
0
1
2
54
50
40
0
34
0
0
36
36
35
31
28
27
0
0
0
74
122
93
107
122
130
189
196
200
149
150
145
134
171
154
64
100
35
23
19
71
20
22
87
86
31
31
83
83
80
74
75
24
24
23
75
74
65
63
8
59
93
90
35
35
39
96
99
47
52
108
62
128
135
89
154
94
86
138
77
69
64
53
46
39
38
34
78
78
79
27
76
73
18
64
12
15
18
74
78
82
104
117
137
101
109
112
174
208
166
117
143
122
118
66
58
46
36
28
18
8
5
25
110
158
132
116
119
110
76
46
1
10
69
71
15
12
65
7
6
60
66
73
82
33
40
38
34
88
38
90
86
19
64
52
53
60
60
56
86
98
32
9
4
59
7
62
68
80
41
49
56
64
122
130
134
138
143
144
140
82
78
74
122
117
112
55
103
34
35
37
92
92
91
37
41
45
51
66
74
127
128
55
88
51
29
85
155
145
63
63
75
128
120
44
70
106
53
97
90
83
75
71
66
63
8
6
6
7
58
71
70
64
61
58
5
4
7
17
40
43
65
0
1
69
73
29
44
55
114
116
115
57
104
94
93
93
43
39
35
83
79
84
37
39
42
95
93
37
21
14
10
62
9
6
52
46
42
37
0
26
26
0
0
26
28
34
37
0
0
44
0
0
0
0
0
38
42
50
0
0
49
0
0
26
26
0
0
0
33
0
0
33
0
0
0
28
27
0
49
89
61
126
85
147
155
167
181
138
139
133
123
163
148
64
49
36
25
23
26
31
36
37
87
83
29
82
80
28
24
79
81
83
34
86
86
81
76
18
13
78
77
24
21
19
74
77
30
36
41
48
114
122
75
137
81
76
77
67
58
53
45
40
36
36
35
80
80
13
12
64
11
11
65
15
15
70
71
22
19
71
75
81
44
51
113
91
156
135
121
113
62
68
121
114
107
41
32
26
23
67
0
26
49
119
175
173
151
140
110
26
17
10
59
63
10
4
5
63
69
72
74
24
29
30
84
33
32
26
72
65
3
58
56
56
5
55
57
69
94
38
68
62
11
13
69
71
74
31
98
107
58
109
77
83
136
141
93
142
83
78
73
68
113
103
38
29
67
48
0
0
33
32
32
0
12
74
85
97
117
88
119
132
191
125
107
68
94
209
132
52
33
32
87
83
42
38
32
28
76
73
69
72
69
15
14
13
64
64
74
71
63
8
7
57
57
8
0
6
57
105
24
0
9
18
85
113
123
128
125
128
79
85
77
117
101
42
53
50
97
92
39
40
40
95
97
96
38
25
18
68
14
65
61
4
48
42
37
0
28
26
0
29
29
32
32
0
0
0
42
45
0
0
35
0
0
47
52
50
54
46
0
0
0
30
0
0
0
32
0
32
32
26
0
0
0
0
27
28
0
0
63
31
98
115
77
93
153
103
101
96
142
134
59
44
87
30
32
39
45
53
52
48
92
87
82
78
19
77
75
22
78
82
32
85
37
33
28
24
24
76
75
70
65
66
69
24
28
87
41
106
113
120
125
70
121
70
60
53
101
97
90
88
88
35
80
80
62
10
7
6
9
68
19
71
68
68
69
16
12
15
69
75
32
105
76
118
111
54
103
50
54
58
58
52
39
83
20
14
71
19
36
26
37
86
105
144
131
140
121
101
23
6
2
5
56
63
63
15
71
74
26
29
25
27
27
21
12
5
2
51
1
1
53
4
54
55
60
38
44
25
17
15
12
15
74
70
73
30
44
106
111
79
85
136
138
91
142
136
128
120
61
105
43
30
21
59
0
0
0
26
0
26
28
0
14
28
91
117
98
149
118
91
161
99
110
73
103
108
51
42
44
103
104
37
35
27
24
21
70
69
72
71
18
70
68
15
14
18
67
59
56
55
3
4
57
54
54
43
59
41
64
5
13
30
117
127
130
130
83
91
101
97
79
110
97
59
108
104
100
42
92
91
94
96
94
90
77
72
16
15
14
64
57
50
0
0
34
29
27
0
30
30
34
32
0
38
39
40
40
0
0
36
40
0
0
52
0
0
0
32
26
0
34
36
35
34
33
0
32
30
26
28
29
0
0
0
26
29
29
0
9
24
37
54
70
127
78
80
76
124
120
100
93
33
29
33
91
97
49
102
98
95
92
38
33
29
80
78
23
26
30
34
86
41
38
35
85
32
24
16
71
71
15
64
14
14
16
22
86
93
99
103
103
53
55
54
51
101
96
95
41
40
38
30
27
12
62
7
8
11
68
67
15
65
62
62
62
62
10
63
60
77
52
51
95
53
93
91
39
39
93
43
45
36
83
25
20
71
68
62
67
62
0
0
10
69
206
184
120
93
56
78
66
68
76
72
20
21
71
73
75
20
11
2
50
45
0
0
41
43
0
49
52
51
0
40
70
94
33
17
70
72
10
70
67
64
68
22
35
52
74
83
138
140
143
90
137
69
113
51
37
78
68
56
41
33
0
0
0
0
0
0
32
44
55
26
49
77
138
103
189
69
93
167
102
91
8
0
0
6
12
105
28
71
21
17
60
56
7
67
15
20
73
72
68
64
62
58
48
45
0
51
54
57
5
57
5
89
65
62
76
76
30
59
69
127
135
97
108
173
121
102
133
117
128
73
117
106
95
94
92
43
92
89
85
76
19
16
17
15
12
62
0
47
46
39
0
34
32
0
37
37
39
40
40
0
0
0
41
0
0
52
4
60
7
0
50
38
0
31
39
39
39
40
40
41
0
0
0
0
27
27
0
0
26
26
28
0
29
36
44
0
4
21
84
86
87
38
38
35
82
82
28
24
73
75
80
36
89
38
91
90
89
92
97
55
50
97
91
36
34
35
46
44
42
41
94
33
25
74
70
68
68
62
10
14
20
79
83
35
87
91
98
104
121
75
77
125
124
121
67
61
98
94
23
73
71
19
17
16
67
13
11
61
8
61
62
61
65
21
35
39
80
76
27
79
74
20
19
20
74
80
77
21
20
71
21
74
75
75
71
21
23
11
0
21
89
131
153
184
156
142
69
23
21
80
28
18
13
60
43
0
0
0
35
0
0
35
37
0
0
45
0
46
0
0
89
55
36
83
78
0
52
0
52
58
11
69
27
65
72
127
129
80
81
131
58
50
41
79
17
59
48
30
28
28
28
0
0
0
0
31
31
44
56
86
155
147
160
193
177
118
32
97
183
40
45
0
26
26
9
70
67
52
50
53
56
54
62
63
70
73
20
71
68
52
0
0
47
51
57
11
13
72
84
30
43
67
134
114
96
37
66
71
126
138
153
164
175
174
110
95
137
130
128
69
58
45
42
91
88
86
83
81
22
16
14
69
70
68
12
5
3
53
46
43
42
40
0
41
41
0
0
0
39
0
0
33
38
0
5
59
61
5
0
46
40
0
0
44
44
0
44
0
0
41
38
33
27
0
28
0
0
26
0
0
0
0
0
0
0
40
47
0
0
54
61
17
24
84
27
25
20
65
61
58
59
58
64
72
81
88
94
97
105
107
60
64
63
60
57
56
49
42
39
48
91
80
24
16
68
70
64
65
68
74
78
81
31
39
42
51
113
135
95
101
100
149
146
141
82
114
107
31
81
76
72
20
15
12
12
62
9
9
62
63
10
9
70
80
79
20
26
20
73
68
12
63
64
15
22
68
68
17
72
22
23
79
82
81
75
70
78
82
0
8
72
128
136
124
169
104
52
34
75
22
21
13
0
34
32
0
0
32
0
0
33
35
0
0
0
0
44
29
47
98
66
44
45
50
25
27
43
58
47
0
49
30
53
61
67
69
121
120
119
49
42
34
73
12
3
0
0
26
28
31
31
0
26
26
0
26
40
44
68
143
137
90
187
180
156
104
85
152
182
78
58
26
26
0
65
74
64
54
1
1
47
59
61
67
19
19
18
69
0
51
47
49
55
63
19
83
37
51
111
113
79
149
136
119
99
51
70
134
89
153
164
170
167
106
97
91
79
129
122
59
45
42
37
85
85
30
27
22
69
67
67
66
67
65
59
56
2
49
46
0
0
42
42
40
0
0
0
0
0
0
0
45
2
8
61
12
2
0
0
41
44
0
45
47
0
47
0
0
41
0
35
29
0
26
0
26
26
0
0
0
0
28
35
0
0
0
49
0
3
60
67
74
33
29
78
72
14
57
50
48
0
52
9
20
81
38
45
60
60
62
63
64
66
67
61
52
42
37
62
45
81
19
71
70
71
73
21
23
80
83
85
88
110
120
134
150
128
145
155
159
158
205
195
132
103
146
106
99
36
27
71
10
6
7
6
7
61
12
14
65
0
0
49
1
4
8
0
1
49
0
0
48
49
3
0
2
7
14
18
22
81
86
30
32
35
24
63
31
76
18
18
43
149
197
156
174
95
64
30
0
26
0
28
0
27
28
26
0
0
36
38
0
45
47
48
0
26
72
140
112
167
189
157
203
90
32
35
0
0
61
0
86
45
55
110
105
101
101
31
26
21
63
57
50
40
26
0
0
0
0
34
29
29
0
0
34
34
0
18
65
67
107
168
146
153
121
7
0
134
85
76
44
42
82
84
60
0
0
0
58
56
57
8
11
12
12
9
58
2
1
7
19
33
46
67
75
86
169
167
167
177
166
165
134
20
53
85
95
104
104
150
136
82
82
84
126
73
118
108
43
89
33
82
82
80
27
23
20
16
10
12
11
9
4
55
1
0
46
0
42
38
0
0
0
0
0
0
0
0
0
56
62
66
66
66
54
0
0
0
47
46
46
0
48
46
0
0
42
39
0
34
31
0
29
29
0
30
32
31
28
32
0
43
44
0
4
5
7
12
17
75
85
30
27
21
12
55
48
43
47
48
54
59
16
77
35
48
104
110
64
66
66
62
72
122
69
121
128
53
28
20
79
77
75
79
77
26
29
85
88
93
119
134
154
124
160
231
245
198
197
242
231
217
183
120
75
116
100
33
21
11
9
56
2
56
60
13
14
67
39
36
42
1
53
1
3
47
0
0
0
0
48
0
0
39
0
6
14
73
85
29
91
40
82
75
79
73
86
21
85
108
101
35
71
169
155
142
118
70
72
37
34
0
0
36
35
33
0
0
44
47
50
53
54
53
124
175
175
138
138
112
126
186
62
150
179
136
72
47
46
10
15
22
77
75
77
30
66
63
60
53
48
43
34
0
0
0
0
0
37
34
0
34
0
0
28
26
30
19
84
86
88
90
89
63
3
55
92
192
125
102
82
15
0
0
49
48
48
0
4
55
5
6
59
57
3
54
0
2
16
34
57
74
90
167
180
205
158
158
164
186
181
164
94
83
59
99
104
97
133
108
109
62
66
116
115
59
47
34
29
24
23
75
76
76
21
17
13
12
11
11
8
4
1
0
0
0
45
42
0
0
31
38
0
40
34
30
0
47
9
65
67
68
16
3
0
0
1
0
0
49
1
0
0
42
41
0
38
37
0
38
0
40
39
41
42
0
43
37
37
0
0
45
48
10
12
13
14
18
71
73
20
17
11
4
0
45
46
54
58
64
66
16
17
18
72
20
21
75
28
86
92
101
108
117
120
85
100
24
24
30
83
83
80
77
75
78
83
88
96
131
93
167
193
185
253
255
255
216
214
204
244
220
158
123
159
136
112
90
15
14
59
61
12
11
60
55
2
0
45
45
49
0
0
53
50
52
1
2
0
0
0
0
0
0
0
47
5
22
72
83
38
89
87
91
97
103
102
43
38
88
86
83
134
125
148
189
180
173
80
0
49
48
0
0
26
26
0
53
53
0
58
0
0
124
132
141
78
126
116
156
158
131
210
250
255
190
219
215
120
119
69
0
36
43
57
84
34
30
16
0
0
0
0
26
0
0
27
27
26
0
0
29
29
0
1
98
124
129
120
69
83
83
63
8
1
0
55
165
106
73
5
0
47
36
38
53
4
65
64
6
4
0
43
39
32
35
49
70
90
59
82
103
171
136
158
220
172
174
255
249
152
89
54
70
109
83
76
54
77
69
80
51
75
83
29
24
78
72
18
13
16
20
76
26
28
80
71
18
15
64
53
0
43
0
0
0
0
0
32
30
30
34
0
0
37
0
2
7
64
66
18
71
53
54
50
50
50
0
3
52
0
0
47
46
0
0
46
0
41
0
0
0
46
47
0
0
0
0
47
3
59
9
13
13
63
58
57
59
60
58
5
5
1
49
48
50
8
7
59
9
12
68
69
67
13
7
0
0
52
62
89
95
103
106
57
88
29
34
34
36
87
27
25
26
32
94
103
111
147
161
183
208
251
255
255
255
226
223
214
204
233
223
136
121
97
73
100
67
9
9
10
12
12
60
56
1
49
0
0
51
54
4
60
62
65
66
68
17
20
79
72
72
22
24
80
32
37
96
99
101
99
100
49
99
100
50
49
96
93
89
81
61
74
55
105
196
155
143
89
96
55
0
46
0
0
37
29
0
0
0
48
52
99
165
160
107
126
189
203
174
245
201
180
228
198
208
199
179
168
195
105
61
18
0
0
0
0
0
0
7
0
0
28
0
0
33
32
0
0
26
26
26
26
26
26
0
47
131
123
57
66
81
32
3
8
0
51
123
148
45
19
41
43
0
0
62
63
62
58
2
0
0
39
29
32
47
69
37
58
82
156
173
138
162
224
175
177
255
235
148
89
64
40
80
53
51
92
25
20
70
69
12
70
68
12
15
9
9
12
67
72
23
22
21
73
72
18
16
64
2
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
2
9
13
66
16
67
45
0
40
40
40
0
0
47
44
0
43
42
0
0
43
45
41
44
0
0
49
50
3
3
3
0
53
63
16
19
14
14
12
5
53
52
0
48
50
2
2
1
0
2
53
0
0
0
0
45
44
40
41
0
0
0
27
27
37
46
59
69
32
29
36
45
93
96
98
93
90
41
46
59
71
133
168
179
200
223
255
255
255
255
229
228
222
215
245
235
146
130
109
87
65
24
15
65
65
67
66
64
4
4
54
53
54
57
8
10
69
23
28
34
40
101
112
129
123
125
127
75
124
69
58
103
46
92
93
93
93
88
43
45
93
35
31
82
81
76
81
83
80
93
79
127
150
152
126
77
84
10
50
36
34
0
26
75
155
211
239
196
216
217
212
235
234
188
255
255
255
255
255
255
222
203
198
205
214
201
154
101
26
0
26
27
35
50
63
0
0
0
0
36
37
36
36
26
31
0
0
0
0
50
27
72
23
37
42
85
10
0
65
48
56
62
17
107
98
12
18
57
23
0
61
9
56
2
0
42
0
0
0
0
15
35
56
78
152
171
136
213
223
175
228
205
206
200
181
112
73
90
64
20
40
40
28
68
50
9
11
8
60
9
6
11
68
70
75
24
74
18
18
18
16
14
11
3
0
0
0
0
0
0
0
0
0
0
0
36
38
42
52
61
65
65
64
62
59
37
37
0
0
38
37
36
35
0
0
0
36
37
0
0
38
0
0
0
0
49
52
4
4
59
56
8
71
76
79
69
69
12
55
0
45
0
0
0
54
54
52
0
0
47
45
41
40
39
0
0
0
40
0
0
0
0
33
26
27
27
26
36
34
93
99
41
45
96
99
98
48
106
123
135
145
177
188
208
177
255
255
255
255
255
227
223
217
250
238
150
134
113
91
69
29
20
15
68
70
69
14
59
58
6
4
57
8
9
64
70
80
86
95
53
64
130
150
93
92
94
94
89
133
118
56
47
40
39
36
84
79
38
39
90
32
28
81
84
23
78
87
91
27
24
61
212
166
216
143
100
50
57
33
26
26
64
105
224
249
196
141
213
255
194
178
197
202
255
255
255
255
255
255
209
255
255
215
255
255
195
168
85
34
26
29
32
0
0
31
30
30
32
0
0
0
41
0
0
0
0
0
1
8
55
2
68
104
83
88
43
7
85
45
13
0
0
36
119
28
78
7
15
6
9
8
57
2
0
44
0
0
0
0
15
85
104
127
96
113
184
209
167
172
224
183
143
150
191
170
86
56
58
57
79
43
31
71
1
8
60
58
57
7
6
62
69
19
21
75
71
71
71
68
67
13
10
2
0
0
0
0
0
32
32
0
29
33
38
38
41
45
54
65
65
65
63
60
56
32
35
36
0
0
0
0
30
0
33
35
0
0
34
35
37
0
0
0
0
47
49
4
4
6
56
60
72
76
78
71
69
63
53
0
0
39
0
0
52
52
49
46
44
0
43
41
0
0
40
39
0
0
0
0
0
0
0
0
0
26
26
128
123
70
64
50
52
49
50
103
55
67
91
106
119
194
206
223
241
255
255
255
255
255
227
224
221
255
245
213
143
120
97
75
32
21
73
73
21
73
70
64
9
63
60
61
10
10
63
70
82
40
106
69
136
153
176
115
116
114
110
103
94
77
59
48
90
83
71
58
2
10
69
21
72
72
74
74
19
83
86
79
25
31
27
76
96
207
220
175
177
183
0
82
163
224
242
255
229
169
190
255
249
186
198
255
255
255
255
229
229
255
255
255
255
255
255
255
254
204
204
217
254
181
45
0
0
0
27
26
0
26
0
0
0
0
42
33
32
33
0
0
41
0
43
38
26
26
0
0
37
59
72
0
0
0
0
0
103
40
39
16
14
7
7
4
2
0
0
0
38
0
47
64
80
97
119
82
102
173
147
158
162
161
175
185
146
193
171
97
81
63
70
64
86
27
71
8
51
50
0
0
0
50
58
13
66
13
65
13
16
18
66
65
11
10
1
0
0
0
0
0
35
37
36
35
36
0
0
0
0
54
12
65
12
8
58
0
29
31
26
26
0
26
26
27
0
31
31
32
32
0
0
33
28
31
36
0
0
45
0
4
4
56
59
18
21
73
21
70
10
0
45
0
0
0
44
48
0
45
43
44
0
42
0
0
37
37
36
38
37
0
0
0
0
30
0
0
28
27
81
83
84
82
57
52
51
49
49
108
71
103
119
131
164
175
241
253
255
255
227
227
223
255
255
255
251
245
212
197
123
153
128
32
22
70
70
74
75
23
14
62
67
14
13
63
59
11
20
26
37
52
70
142
160
183
125
125
119
107
95
84
58
40
29
69
58
51
45
31
38
38
41
47
51
2
6
70
69
19
18
16
14
13
57
57
8
56
124
230
246
145
160
240
255
255
229
229
192
255
255
255
239
244
255
255
229
229
255
255
255
255
255
249
202
255
253
194
197
204
211
255
255
199
195
129
27
0
34
0
0
26
26
0
0
0
46
46
0
36
37
44
0
0
0
37
36
0
37
36
31
52
10
0
0
0
0
68
125
91
38
27
56
2
4
3
0
0
0
0
0
48
55
69
86
101
120
134
98
126
190
202
158
193
193
195
134
173
157
143
141
64
82
52
14
24
76
58
1
0
0
48
53
5
6
62
64
10
66
12
9
8
6
6
4
0
0
0
39
0
0
35
35
33
34
0
0
0
0
0
57
64
11
65
11
59
2
0
30
0
30
28
27
26
29
33
35
0
40
38
38
38
32
0
0
0
0
41
46
0
2
0
55
60
15
70
70
69
66
63
4
49
0
0
44
46
50
52
52
52
51
42
37
0
36
0
0
36
39
0
0
0
0
0
0
0
0
28
26
136
83
83
83
64
54
104
46
99
57
71
106
122
135
171
182
196
206
255
255
221
219
255
255
255
255
245
239
210
195
173
150
126
30
71
72
20
23
25
77
69
66
67
68
16
14
60
61
68
72
87
106
73
89
157
180
173
120
111
97
133
69
96
84
20
62
52
46
0
31
30
0
0
0
39
43
0
64
66
15
15
15
15
69
3
13
55
58
38
103
218
170
185
255
220
229
255
255
243
255
255
255
243
240
201
205
225
255
255
255
214
208
202
195
199
251
247
195
195
193
201
201
255
211
201
168
183
21
43
34
0
26
26
30
0
0
0
0
0
38
0
0
44
44
0
0
40
0
37
45
0
48
37
0
0
0
0
41
71
174
81
68
76
60
29
42
58
0
0
0
36
44
50
63
27
41
58
122
86
118
133
145
150
153
150
194
129
171
161
149
142
136
54
40
60
26
27
56
0
46
41
45
52
2
5
63
13
12
11
63
63
59
57
57
55
51
0
0
0
39
37
36
34
0
0
32
0
41
46
0
57
63
13
66
13
9
3
0
30
32
0
31
31
30
0
0
42
46
47
46
0
0
37
0
0
36
39
45
50
4
56
57
5
8
12
16
14
15
13
62
56
0
46
0
0
46
0
53
55
55
54
44
0
0
35
0
0
0
36
0
0
34
34
32
29
28
0
29
26
80
77
79
82
115
100
91
40
94
100
63
100
120
135
223
232
193
204
255
216
255
255
197
190
238
237
178
226
206
139
169
146
122
29
71
72
19
23
26
80
77
75
28
72
67
70
18
63
12
75
92
59
76
88
97
164
157
150
138
120
105
92
71
56
52
48
48
45
39
0
0
0
0
30
32
34
0
0
3
64
70
21
22
72
9
1
0
72
69
22
86
248
255
255
229
255
255
255
241
254
213
209
244
240
196
208
255
255
222
214
206
202
199
191
195
195
194
199
197
235
180
186
237
185
204
255
228
177
114
69
46
0
29
33
35
0
0
0
0
35
0
0
43
0
0
0
44
0
0
31
0
11
57
17
0
0
0
49
60
0
96
179
85
54
57
31
32
30
41
26
28
33
38
0
60
21
36
46
61
101
118
129
134
150
145
134
118
115
160
151
86
83
71
12
53
68
33
10
59
53
49
0
2
56
56
9
13
11
5
6
59
57
54
53
52
50
49
0
0
43
39
0
0
33
0
37
0
44
50
51
59
66
16
16
66
13
9
35
34
36
0
0
35
37
48
54
63
16
72
72
18
16
4
0
0
45
46
51
3
61
61
61
61
9
9
11
13
13
12
10
57
0
0
47
0
0
2
56
56
54
51
0
0
36
0
0
37
0
0
0
0
32
30
29
29
0
0
36
31
93
145
96
96
69
49
40
90
87
37
99
138
163
129
224
232
189
249
255
255
250
189
181
175
224
223
164
162
141
128
159
137
116
78
17
67
68
19
23
78
79
78
82
80
78
78
23
24
30
44
54
119
81
90
94
95
140
132
116
43
78
65
49
46
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
5
10
13
17
15
80
77
73
15
45
133
214
255
255
229
229
255
181
187
198
203
199
192
187
246
255
255
218
220
216
209
202
198
184
238
195
192
192
199
254
240
235
234
177
178
186
241
255
242
174
102
6
0
0
40
32
33
0
0
28
26
30
34
38
0
0
42
40
0
0
0
0
62
38
0
0
0
26
26
38
28
26
146
140
52
12
0
45
26
26
26
26
0
0
41
51
60
21
39
126
142
105
113
132
135
183
107
158
153
94
83
69
65
59
30
62
58
23
75
76
23
68
12
11
9
11
65
62
62
6
2
2
0
50
0
50
49
48
49
47
45
41
37
0
0
0
0
0
0
51
59
63
67
16
67
17
17
42
0
0
0
0
0
0
9
17
28
88
42
44
44
41
27
19
17
13
61
60
7
10
10
62
10
9
59
9
66
14
65
12
59
52
0
44
41
0
0
1
1
0
48
0
0
38
40
41
0
0
0
39
0
32
0
0
35
5
11
68
14
101
102
105
105
74
54
44
90
85
32
43
134
160
178
228
182
190
248
255
252
246
185
231
223
167
167
162
210
137
174
155
134
114
24
16
66
66
18
22
77
79
79
79
83
33
30
22
28
40
51
58
122
133
90
94
91
136
129
111
37
17
57
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
40
0
0
55
8
15
20
68
10
23
84
64
144
255
255
255
255
229
255
169
185
197
201
199
192
186
191
255
255
216
220
255
255
255
250
234
236
193
191
189
253
255
246
248
194
179
164
159
215
255
251
223
153
69
34
40
41
31
31
0
0
26
26
0
0
0
0
0
41
40
34
0
0
0
0
36
56
1
0
48
0
30
0
0
0
157
71
65
5
20
0
0
26
0
26
29
0
0
0
65
84
116
132
148
107
174
129
179
153
149
144
86
83
71
66
70
45
65
44
70
74
78
30
80
76
21
13
14
14
64
63
8
3
53
0
49
0
49
49
48
50
48
45
41
37
0
35
36
37
0
0
0
4
61
67
67
67
70
17
0
0
0
0
0
0
0
16
22
34
93
48
50
51
100
34
29
77
20
14
63
62
11
9
10
62
9
59
7
67
15
14
64
7
52
46
42
36
0
0
0
0
0
48
0
0
39
41
42
0
0
0
0
0
32
32
0
0
24
31
87
32
141
138
135
130
115
115
118
96
79
76
91
136
164
180
214
226
239
250
255
203
248
187
227
213
204
197
185
180
165
153
140
129
117
90
81
21
18
18
19
71
19
70
79
82
88
99
56
125
135
90
93
98
95
87
87
122
113
100
88
76
64
56
39
0
0
0
0
0
0
0
0
0
0
0
28
31
0
0
0
0
0
48
3
10
12
14
65
58
87
197
255
253
251
255
255
255
199
188
183
196
202
201
199
246
248
255
248
202
216
207
251
199
250
237
174
175
182
176
176
193
247
191
195
197
185
225
225
241
243
255
255
209
118
50
26
28
26
26
0
28
42
0
0
0
0
0
29
29
26
0
0
26
0
80
53
3
30
35
0
0
0
0
26
26
121
77
31
38
61
110
81
0
0
0
29
36
40
45
59
93
107
123
136
158
164
169
164
158
150
140
79
70
60
52
106
95
79
73
79
81
34
86
81
34
22
19
14
63
9
7
5
51
50
48
46
45
47
0
0
0
51
0
47
0
45
47
46
0
0
0
0
43
54
61
14
15
66
52
0
41
45
46
1
64
76
84
43
49
57
114
67
121
116
53
46
90
84
75
14
8
60
61
60
9
62
64
70
12
10
60
57
51
43
0
0
0
0
0
0
0
0
0
39
40
41
41
42
0
39
44
0
40
0
3
14
52
60
112
105
126
76
83
137
120
111
106
113
35
26
96
143
167
180
163
176
241
251
255
203
195
237
223
209
198
191
178
174
162
151
140
131
119
93
83
24
21
19
19
19
16
15
76
80
87
47
110
130
140
95
151
156
100
140
135
110
99
86
75
67
59
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
1
61
22
65
58
81
243
255
255
200
206
255
255
184
185
183
196
202
201
199
246
248
255
196
199
255
251
243
193
193
183
172
173
181
174
175
244
202
199
202
204
244
227
221
230
235
247
255
245
155
59
0
0
27
26
0
29
42
28
0
28
0
29
29
29
0
32
0
34
0
0
51
51
59
34
0
0
0
0
55
86
140
158
130
104
35
64
46
9
0
0
0
27
0
41
56
86
98
113
124
148
152
155
147
144
138
130
76
68
57
44
102
105
105
84
83
86
93
41
91
91
32
27
73
14
7
2
51
46
45
0
43
0
48
0
50
0
52
0
50
0
48
0
46
47
0
46
0
0
0
6
10
10
63
57
0
43
46
0
1
63
77
34
50
109
66
124
130
133
129
117
57
99
89
25
14
56
56
56
4
4
57
59
13
8
7
6
57
0
42
0
0
0
0
0
0
0
0
0
0
41
43
43
44
43
47
56
11
15
24
31
39
62
68
115
105
255
219
255
246
179
148
148
143
89
88
88
90
88
86
85
85
85
85
85
85
86
83
136
137
139
87
86
85
88
139
87
88
90
96
99
104
107
112
117
120
127
130
133
135
137
140
143
198
198
201
201
203
204
205
205
153
151
151
150
149
199
144
142
141
137
133
132
184
132
126
124
122
120
116
163
159
156
151
95
91
87
85
86
88
84
84
85
86
140
141
142
143
92
93
146
147
146
93
94
145
143
142
142
142
142
143
142
143
144
145
145
146
146
149
98
98
152
101
101
102
106
157
156
106
158
107
108
115
114
165
164
164
163
163
165
164
162
107
106
159
160
158
157
104
102
100
98
148
93
91
83
80
76
72
69
121
68
63
59
56
53
52
48
47
43
41
39
37
88
87
86
84
30
81
80
26
25
24
23
19
17
68
15
15
67
14
9
61
63
64
73
78
30
28
27
29
85
99
105
113
65
123
131
85
139
143
145
145
144
138
133
77
75
73
71
66
61
57
57
109
110
59
111
109
57
108
109
58
61
63
66
67
71
81
87
86
83
85
84
79
74
119
112
110
113
114
109
112
115
65
120
121
124
128
125
122
117
115
111
56
55
52
110
124
85
91
141
85
87
136
76
66
115
113
114
59
111
115
68
122
125
124
123
122
121
118
62
59
105
104
101
98
97
103
58
72
68
112
105
215
255
250
230
163
139
140
139
85
84
84
87
86
85
85
85
86
87
88
140
89
142
142
144
144
143
140
87
142
90
90
91
94
101
103
105
109
114
118
173
127
129
132
133
136
139
141
196
197
199
200
201
204
204
153
152
147
199
198
145
143
140
137
185
130
126
125
125
177
117
164
111
161
158
155
153
99
94
91
88
84
83
83
85
83
84
85
86
139
88
141
141
142
143
144
143
90
89
92
91
90
89
88
89
142
142
143
144
145
145
146
147
147
148
97
97
98
99
151
99
97
149
150
151
101
103
156
158
107
159
107
108
160
160
157
157
156
155
155
157
159
159
158
105
103
152
150
96
90
87
79
76
73
68
65
64
63
60
56
54
53
52
47
46
42
92
90
88
87
84
84
81
79
78
23
23
21
20
19
16
67
66
65
65
65
11
7
6
8
10
8
11
16
67
67
70
72
33
38
95
101
60
121
77
83
89
144
145
146
143
139
81
78
76
76
71
67
115
111
111
109
107
54
54
55
104
105
105
107
107
57
58
60
67
76
78
78
130
129
77
73
67
113
58
110
111
61
115
118
121
123
124
125
126
124
120
117
113
110
56
58
54
52
109
115
122
141
87
90
92
88
84
130
111
115
112
59
63
66
66
67
71
123
123
121
119
117
114
108
107
106
101
100
49
56
69
68
115
111
255
208
194
220
147
136
136
131
130
76
77
82
83
83
84
85
86
88
91
93
146
149
150
150
150
97
146
144
92
92
144
144
95
156
106
112
115
120
175
177
130
131
133
134
188
192
142
195
195
197
198
199
148
200
147
145
195
194
142
141
191
189
133
180
178
123
122
122
171
161
154
153
100
151
149
95
146
139
85
83
81
80
80
81
136
136
84
85
86
140
140
141
141
139
138
138
138
85
88
88
87
86
138
139
88
141
143
143
144
145
94
146
147
147
147
146
94
94
95
94
144
144
145
147
149
150
152
156
103
102
101
100
151
151
153
155
155
103
104
159
162
160
107
106
103
99
97
96
143
88
80
77
73
121
66
60
59
56
107
105
52
51
47
46
93
90
88
86
33
30
81
77
75
73
72
19
17
17
16
13
12
63
63
61
61
10
6
3
5
5
5
6
8
63
11
64
13
18
19
22
79
97
108
63
68
128
135
85
141
142
89
83
134
80
80
78
73
70
117
114
111
107
103
51
51
53
52
52
52
104
104
104
105
58
64
71
75
129
130
127
127
125
119
113
111
112
65
67
121
124
126
126
126
123
122
67
62
111
108
106
52
50
50
52
51
53
70
87
141
141
89
91
141
126
113
57
106
56
59
59
113
121
121
121
120
119
116
62
108
109
108
104
101
48
52
67
69
68
64
255
204
191
213
139
131
130
128
74
72
126
80
81
82
82
83
137
140
93
95
148
99
99
100
101
99
149
148
94
94
146
148
151
159
161
169
120
176
179
180
131
185
187
137
191
193
143
144
145
198
198
146
146
144
196
193
191
191
138
137
188
185
129
126
176
173
121
120
169
158
151
150
149
147
146
92
90
84
83
81
80
131
131
131
135
136
137
85
86
87
88
89
140
139
137
136
136
136
87
138
85
137
137
86
87
140
142
91
91
92
93
93
94
146
93
93
93
91
92
91
141
142
142
144
93
95
96
153
152
99
98
97
97
96
152
154
155
102
104
107
161
160
159
157
102
98
96
147
143
140
80
77
125
70
67
60
112
108
106
104
102
49
46
44
92
90
87
86
33
29
80
77
74
72
70
69
16
15
15
12
11
62
10
61
61
61
58
4
4
56
1
1
3
5
6
57
4
61
62
14
18
89
98
105
57
66
128
79
136
137
85
134
133
81
132
131
76
73
68
117
114
109
104
103
101
51
50
102
52
52
104
53
105
106
59
67
73
78
82
130
131
78
73
118
61
63
66
67
122
125
126
127
74
123
121
118
62
59
56
106
102
49
51
53
51
49
60
79
135
138
87
90
91
134
119
61
108
108
57
57
59
118
66
67
65
65
114
113
54
56
108
53
49
48
51
66
70
122
119
215
207
196
216
136
133
129
72
69
67
121
129
79
80
81
134
136
140
93
96
150
99
101
102
102
102
101
153
154
102
102
156
107
115
118
175
178
182
131
133
136
189
191
192
142
144
146
147
199
198
197
196
195
141
189
185
183
183
130
129
127
176
172
121
119
169
168
116
112
152
145
144
143
140
138
84
83
82
81
132
79
131
130
130
135
83
84
85
87
88
88
142
140
138
137
136
135
135
137
136
136
135
84
85
87
139
140
141
142
143
143
92
92
92
92
91
90
89
140
140
138
137
136
85
86
87
88
85
87
89
91
93
94
95
148
151
99
98
99
154
156
160
158
104
101
97
94
144
140
136
77
126
122
66
63
64
114
108
105
102
100
99
97
44
40
90
87
86
85
30
29
25
22
20
17
16
66
14
14
64
12
63
63
60
60
62
58
4
4
5
3
2
2
4
56
54
52
50
50
1
6
75
83
86
40
51
114
66
73
128
130
80
79
79
80
80
130
126
124
122
68
65
55
102
100
98
98
46
48
49
103
51
53
102
104
113
69
80
86
135
137
86
80
73
66
67
66
119
70
123
125
73
124
123
121
119
116
61
60
109
113
56
54
106
106
51
53
60
70
82
87
142
91
142
142
79
67
113
108
54
56
61
61
62
63
113
112
58
51
105
54
51
49
99
101
115
121
74
73
216
207
199
222
131
122
118
66
67
119
120
126
128
130
134
136
86
139
143
147
150
100
101
102
104
104
104
104
104
105
106
161
113
122
124
130
131
133
136
138
141
141
194
195
196
196
144
196
195
142
139
188
186
132
182
176
174
174
123
124
125
176
169
167
165
162
160
107
103
96
141
138
135
133
132
80
80
80
131
130
129
128
129
130
135
83
84
85
86
87
140
90
89
88
87
138
136
136
136
135
135
134
83
84
85
86
86
87
139
87
140
140
88
89
89
88
87
85
137
136
138
138
138
85
86
86
86
87
86
86
87
141
91
93
148
149
150
98
99
100
152
156
154
101
98
95
145
144
138
136
77
127
125
69
66
112
110
54
105
103
48
98
96
94
90
88
87
85
82
81
28
23
21
19
18
17
67
15
14
12
62
62
9
6
58
57
57
57
56
5
1
1
2
1
53
52
52
0
52
1
3
65
71
75
81
86
92
97
56
113
116
70
72
74
77
78
129
128
73
71
122
66
59
57
56
101
99
47
47
50
52
51
55
58
110
111
119
135
133
141
89
140
137
81
71
67
69
122
71
72
73
126
125
126
72
122
119
64
63
114
112
112
113
114
113
112
110
66
67
70
76
83
90
92
139
139
85
130
121
64
63
116
64
115
61
57
54
52
47
99
101
49
102
102
51
56
118
126
127
255
211
202
221
75
69
67
65
65
118
121
127
129
130
134
136
86
138
141
146
95
100
101
102
104
105
105
105
157
106
108
164
168
176
178
182
132
186
189
190
140
192
143
195
195
195
195
192
192
139
137
133
131
129
179
174
172
172
172
122
123
122
116
117
165
160
157
101
98
93
88
84
131
129
76
77
78
79
78
130
128
128
129
130
84
84
84
137
137
138
138
90
89
88
87
86
136
136
135
135
134
134
134
83
84
85
86
86
86
87
87
88
140
87
87
86
85
84
135
134
137
136
137
137
86
87
87
86
138
86
87
88
141
91
93
146
147
96
97
98
98
101
152
151
148
95
92
142
138
83
76
127
124
121
66
61
59
54
53
51
48
97
96
94
90
89
88
86
32
80
80
76
74
72
71
70
68
67
67
64
62
61
61
5
57
57
57
5
6
4
54
54
55
53
2
2
53
51
51
0
1
61
66
17
75
78
33
37
98
52
108
63
65
68
125
76
75
75
74
73
123
120
64
62
61
53
102
100
100
102
106
107
56
59
61
112
116
133
85
142
142
90
140
135
125
71
71
123
124
125
73
124
123
72
70
120
117
64
63
115
114
114
116
115
115
63
61
118
65
66
69
76
135
141
142
141
87
84
79
126
70
116
116
116
114
111
55
52
44
97
99
99
49
50
52
57
117
124
126
218
213
253
161
70
120
67
64
67
69
73
133
134
83
85
139
89
88
141
142
143
151
100
100
154
103
103
155
155
158
112
117
123
180
181
181
183
185
187
189
190
190
196
196
144
143
193
190
189
139
137
187
184
130
128
174
170
169
168
169
118
118
114
117
112
155
149
145
90
86
87
135
129
74
74
127
128
76
75
74
126
126
127
129
83
83
83
135
83
135
136
87
139
137
85
84
83
135
82
82
82
82
134
134
133
81
83
83
84
84
85
85
137
138
137
137
136
135
134
134
82
83
84
84
85
85
138
136
137
139
88
88
141
89
89
142
143
93
146
146
146
96
96
147
145
90
141
140
136
80
75
126
71
120
66
61
58
53
51
49
45
42
94
92
89
37
36
34
32
32
83
28
26
76
74
21
18
69
68
14
65
12
63
58
58
58
58
7
57
58
3
3
4
3
3
54
54
3
3
3
4
58
61
10
12
67
18
22
29
35
91
47
51
107
113
68
70
71
69
121
121
121
66
64
63
58
55
52
105
105
111
60
59
113
63
63
115
129
87
142
143
91
91
88
132
129
74
74
73
126
123
122
119
67
65
115
113
60
59
112
113
113
115
115
117
117
67
115
63
63
64
67
124
134
139
139
88
89
91
140
132
66
117
62
60
58
106
101
43
43
45
46
49
51
53
109
112
117
121
214
206
241
199
123
124
120
120
70
75
80
87
90
90
142
144
146
146
91
142
143
94
147
148
150
98
98
98
99
156
163
119
125
180
180
184
186
137
141
144
200
200
199
148
148
147
146
195
195
193
191
187
185
183
129
124
175
173
171
169
169
116
164
112
108
101
95
91
140
135
133
78
74
72
72
124
123
71
71
122
122
123
125
74
77
78
130
131
82
134
82
83
135
135
134
133
133
132
132
81
81
82
81
132
131
78
131
132
132
132
81
133
133
83
135
134
133
132
132
132
81
81
81
81
81
81
133
135
139
140
141
89
141
89
88
141
143
144
144
145
145
92
91
91
141
140
86
85
133
79
126
125
70
67
65
62
111
105
50
48
44
42
40
90
88
36
36
34
32
34
33
30
28
26
24
22
19
18
18
67
66
13
13
8
60
59
59
59
59
7
4
4
4
4
3
56
4
3
4
4
58
60
61
61
65
66
16
17
22
80
84
39
42
48
53
63
63
65
119
121
70
123
120
116
114
60
59
58
110
111
61
60
62
112
114
117
66
124
132
140
89
91
91
90
84
133
128
75
74
124
121
118
114
112
112
109
55
53
53
106
106
55
57
112
115
120
73
114
118
71
74
74
74
130
135
136
86
88
91
91
143
77
72
64
60
59
57
106
97
46
47
48
49
51
105
111
57
111
117
255
203
185
143
72
125
120
69
123
128
82
90
144
144
143
93
147
95
91
91
91
144
145
146
96
149
148
96
98
155
163
119
177
128
128
129
131
135
139
141
199
148
200
149
149
149
148
197
196
193
190
187
184
182
128
123
177
175
172
117
169
116
164
162
107
100
95
144
140
134
129
75
73
71
123
122
121
122
69
69
121
70
72
74
127
128
129
130
133
81
82
134
134
133
133
132
132
80
80
132
81
134
133
80
78
77
78
78
131
79
80
132
132
133
81
132
131
79
130
130
81
80
80
132
132
80
80
83
139
141
142
142
89
141
140
90
91
92
93
145
146
90
90
142
88
87
85
84
133
131
126
73
70
67
65
115
112
106
103
48
45
42
92
90
36
88
36
34
84
86
34
82
80
78
25
23
71
19
18
67
66
65
65
60
8
60
59
59
59
59
56
56
4
4
3
3
55
54
55
55
58
60
8
9
66
67
16
16
22
80
83
90
93
46
52
112
114
63
120
71
72
72
121
117
115
60
60
60
60
114
113
112
62
60
113
118
68
123
130
89
88
90
143
142
85
134
76
74
125
123
68
118
61
111
109
55
54
53
52
53
52
54
56
59
115
120
127
61
67
74
130
129
128
129
135
137
138
141
142
144
146
82
75
118
114
60
60
108
99
47
48
49
102
103
104
60
56
58
116
243
230
204
115
71
128
127
77
79
133
137
145
149
150
96
96
96
96
145
143
90
139
89
89
88
87
91
146
153
105
111
168
172
123
122
130
133
138
143
147
147
199
198
145
145
148
150
200
146
140
138
187
183
180
127
126
125
174
169
113
163
160
156
151
97
95
142
138
133
76
72
73
73
125
124
122
121
120
68
69
69
70
71
72
76
77
129
128
130
78
78
129
129
128
130
78
78
78
79
79
131
130
130
129
129
129
76
77
77
78
130
130
130
78
78
130
130
77
129
78
77
76
128
129
130
131
80
81
85
87
141
143
143
143
144
93
93
92
91
142
141
90
140
138
85
83
82
133
131
129
72
71
122
119
117
114
60
54
104
48
43
91
89
38
38
38
90
90
38
81
81
82
82
80
27
26
23
23
22
70
17
15
66
65
13
64
10
8
8
58
58
57
4
6
6
58
56
60
9
10
63
62
63
13
19
74
26
29
25
79
84
96
97
100
102
109
59
62
69
71
72
124
118
115
113
112
59
59
59
114
62
61
113
62
63
64
67
127
78
85
138
89
90
140
86
139
87
76
124
69
62
63
62
64
61
57
55
54
54
55
111
111
61
60
57
107
117
69
72
128
74
68
70
116
122
66
124
135
87
142
145
141
65
135
111
58
75
96
50
51
52
52
104
105
53
59
58
57
109
224
202
175
99
79
134
130
133
83
87
145
103
107
161
159
106
106
157
152
150
149
145
92
91
141
87
86
86
93
100
161
165
113
116
172
177
128
133
190
193
141
192
190
140
142
197
144
139
136
136
134
182
178
176
124
127
123
119
116
111
160
156
96
89
139
137
134
77
125
69
69
121
122
122
69
68
119
117
117
117
66
66
119
119
71
71
123
122
123
71
73
71
124
72
72
74
75
128
129
129
129
77
77
129
129
129
127
128
76
128
129
129
129
130
78
77
129
128
76
75
125
125
74
127
129
131
80
82
84
86
87
88
88
140
143
93
94
94
93
145
144
144
89
87
84
83
81
133
128
75
70
121
120
117
61
61
59
53
103
47
94
91
91
39
38
37
89
89
38
83
82
30
28
79
79
26
21
73
72
17
16
68
67
13
13
63
9
7
6
5
56
59
9
6
57
60
62
10
15
22
28
81
76
74
79
79
29
87
41
41
95
100
101
102
105
56
58
112
65
66
118
117
110
106
104
104
105
54
57
112
60
58
116
63
62
63
65
71
73
123
125
129
129
130
78
80
126
131
127
70
70
63
57
64
60
57
55
55
57
57
110
110
111
111
109
57
68
69
122
129
77
70
71
127
128
71
73
81
85
143
147
153
81
88
127
106
100
90
51
51
51
104
105
107
107
112
59
57
55
203
182
109
96
86
139
134
133
135
87
145
104
108
110
111
162
162
160
155
154
152
150
97
147
93
91
88
87
90
96
156
160
108
113
169
173
176
181
186
189
136
135
135
189
193
193
141
134
131
132
130
126
123
174
173
123
118
115
111
107
155
151
90
87
138
135
79
75
121
117
119
120
69
69
69
68
119
116
116
116
116
65
65
117
120
120
120
120
120
120
70
121
121
69
71
72
125
127
77
77
77
77
77
77
129
77
127
128
128
128
129
77
129
130
78
77
129
127
75
75
124
72
72
126
76
78
131
133
84
137
138
140
87
87
91
145
146
147
95
94
146
145
89
88
85
83
134
132
76
74
120
120
118
63
60
60
110
105
102
98
41
90
90
90
90
38
89
88
36
32
31
29
27
79
79
78
73
73
72
17
68
67
14
14
12
11
60
58
57
57
4
7
61
59
58
8
11
8
13
75
32
38
35
31
81
80
81
35
44
98
102
52
104
106
56
58
110
111
113
114
113
111
52
47
98
101
102
103
54
58
60
59
65
115
62
63
117
70
70
118
69
71
123
124
76
78
79
77
122
117
116
62
62
64
61
58
56
57
57
56
59
111
111
112
110
57
68
125
70
75
77
123
123
78
126
125
78
81
81
87
95
103
125
130
70
50
103
114
104
103
51
51
105
107
108
111
58
56
54
125
158
145
92
91
93
90
84
138
141
94
157
160
162
162
110
110
161
159
157
104
103
153
151
151
99
92
88
145
145
146
97
153
163
166
172
175
179
183
134
133
132
185
187
190
189
133
128
182
174
174
173
119
116
165
108
103
152
149
94
91
86
130
127
126
73
71
69
67
117
117
118
67
68
68
67
66
114
114
114
62
114
114
114
64
64
65
64
64
117
117
65
118
119
69
71
73
75
127
127
75
128
76
77
77
129
128
129
129
130
78
78
78
80
80
79
78
128
127
127
124
71
71
72
73
74
127
129
81
135
137
138
139
139
89
92
146
97
97
97
149
147
91
89
86
136
134
133
76
125
120
119
117
112
59
58
109
103
48
97
41
37
40
92
90
37
37
36
36
33
31
28
78
78
26
78
76
75
75
69
68
14
13
15
14
65
61
60
7
6
10
9
59
60
60
6
5
7
64
22
88
109
111
59
49
48
98
96
95
103
113
60
60
60
60
111
112
112
59
59
112
110
103
99
45
50
48
100
103
107
116
65
68
64
112
60
115
117
115
64
65
67
119
119
72
74
74
130
167
130
103
93
76
74
71
119
116
63
63
61
62
61
61
113
110
57
119
142
79
128
79
78
129
129
77
127
128
127
127
85
94
103
90
127
153
84
158
113
102
102
49
50
51
54
109
108
55
53
52
159
137
162
148
93
91
90
87
136
140
93
101
157
162
166
113
112
109
107
157
157
100
153
100
98
148
142
141
89
141
142
92
148
159
111
118
173
125
180
129
131
184
185
185
184
183
130
124
176
117
117
168
115
112
105
90
95
91
86
133
129
74
68
114
114
64
64
64
64
118
116
117
118
119
120
68
67
117
65
63
62
60
110
109
62
62
62
62
63
63
115
65
66
118
68
70
124
125
124
124
73
126
127
127
128
128
127
128
129
78
79
79
80
81
79
129
128
127
128
128
126
72
71
71
71
123
124
128
76
78
132
135
137
139
93
95
148
149
149
148
96
99
93
91
142
140
137
81
80
76
118
116
113
59
57
54
54
49
96
93
92
38
40
39
37
35
34
33
32
82
82
28
27
28
28
27
79
79
78
77
21
17
14
11
10
62
64
12
64
10
10
60
59
61
64
68
19
25
31
42
110
130
134
138
143
83
76
73
116
116
68
67
115
112
58
53
107
112
64
66
117
114
113
111
108
108
100
59
111
97
126
108
113
90
54
89
110
75
118
76
114
126
121
87
78
108
137
127
84
151
116
135
85
71
136
116
127
122
73
63
111
75
49
69
60
61
59
98
131
136
158
69
79
125
127
126
69
74
136
106
67
131
159
170
117
75
93
133
90
99
56
43
44
53
46
56
55
53
52
221
148
120
153
142
141
140
139
138
139
92
98
155
159
111
111
162
161
107
104
155
152
152
99
149
147
141
88
87
139
88
90
146
157
108
114
170
121
124
178
128
130
130
130
182
181
128
123
122
116
114
165
111
106
152
87
88
85
80
128
124
69
64
60
112
114
62
63
64
66
116
117
118
119
68
68
67
117
64
63
61
59
110
109
60
61
113
62
62
115
115
66
66
119
120
122
123
73
73
73
73
74
127
128
128
129
128
77
78
79
79
80
80
81
79
130
129
128
129
129
127
73
71
122
122
122
71
75
127
129
131
133
84
137
140
91
145
146
146
146
146
150
93
91
142
140
136
80
132
128
68
66
64
63
113
107
54
52
49
47
97
45
91
91
37
36
34
85
85
31
84
81
81
28
28
28
80
79
78
78
22
18
66
64
10
10
12
65
65
12
12
63
63
66
71
77
28
35
40
50
115
137
144
96
104
150
143
140
130
76
129
118
113
107
106
102
51
56
57
115
118
65
116
112
56
102
102
98
57
70
116
139
128
106
113
104
135
85
78
73
142
115
81
89
130
142
130
141
78
140
157
153
57
83
132
124
130
84
75
119
124
113
120
73
107
71
64
86
152
129
95
88
86
83
74
83
147
125
62
102
116
75
164
151
145
71
151
64
103
92
101
46
45
52
46
107
55
53
52
190
174
196
167
139
137
86
82
80
134
139
92
147
99
103
105
107
160
158
104
102
149
98
96
146
144
86
84
137
85
87
89
93
102
156
156
159
163
114
117
123
125
179
179
127
125
123
119
116
115
112
107
102
97
90
79
71
120
64
62
60
58
106
104
105
108
58
60
63
66
66
118
119
120
68
68
67
115
114
61
60
58
109
108
57
58
111
112
62
115
116
66
66
119
120
122
71
72
74
74
75
75
128
129
78
78
79
79
80
80
133
81
81
131
79
79
80
79
131
132
128
74
124
122
121
120
68
70
122
71
73
76
78
132
86
89
91
93
94
94
146
148
94
92
90
87
84
81
127
123
113
57
54
50
100
100
99
98
98
99
45
44
43
94
91
89
88
88
88
34
87
86
85
32
83
29
82
81
80
80
78
74
72
67
13
10
10
65
67
68
14
66
68
78
87
42
46
52
58
67
74
152
163
117
114
160
97
141
129
74
126
120
58
48
97
94
94
45
47
58
68
72
123
67
113
110
104
116
62
48
146
138
162
98
114
153
117
159
129
104
81
102
106
121
123
100
79
152
130
58
113
105
188
89
101
75
75
161
128
120
123
113
163
159
122
154
161
125
151
123
106
78
127
126
149
128
67
146
73
138
131
61
106
129
102
52
174
69
102
91
89
103
96
46
46
103
51
50
49
246
231
201
112
137
85
82
76
74
75
79
136
139
143
92
94
97
152
154
153
100
148
95
94
93
91
84
83
138
87
89
144
95
101
155
151
101
157
161
112
123
178
180
180
127
127
177
172
118
115
111
107
101
146
84
69
58
108
106
52
52
52
102
99
101
51
107
110
113
65
64
65
66
118
118
65
64
113
61
60
111
110
109
109
61
61
62
114
116
117
118
67
67
119
69
69
70
71
73
74
126
127
76
77
77
77
78
78
78
130
130
130
130
131
80
80
80
78
78
129
128
126
72
122
121
121
69
67
119
120
69
72
74
75
80
84
88
91
145
94
147
148
145
88
84
83
83
136
135
136
140
91
90
87
85
78
126
119
117
115
109
105
53
103
96
41
92
92
92
38
40
91
90
36
34
31
30
29
81
83
81
26
23
67
64
62
11
13
14
65
66
66
18
31
41
50
106
112
122
132
85
107
170
121
118
161
89
66
50
48
99
98
39
32
81
80
86
94
110
68
79
82
133
78
128
120
116
108
58
65
64
145
113
165
76
90
102
119
75
102
129
78
107
108
102
75
144
63
160
125
75
117
88
133
109
64
60
84
125
126
120
111
141
158
131
93
122
115
112
77
146
138
71
82
121
150
121
97
62
58
94
58
51
92
105
86
119
158
111
60
103
101
94
98
97
51
50
49
48
245
230
197
108
83
81
76
77
127
126
77
79
81
136
138
87
141
144
148
97
97
148
147
94
93
90
136
134
85
86
88
143
147
152
153
150
101
105
161
113
176
181
130
130
130
129
128
174
121
112
162
158
152
92
82
64
106
103
102
49
49
49
49
99
49
51
105
109
112
64
64
64
117
117
65
64
62
61
61
112
112
111
110
110
64
64
65
116
117
118
67
119
119
119
68
121
122
123
125
125
125
126
75
76
128
129
129
129
76
128
128
128
128
80
80
80
80
77
128
127
127
125
123
122
122
70
71
119
119
119
120
71
73
74
129
85
91
96
153
156
106
107
154
148
144
143
147
150
156
106
116
119
116
112
160
105
99
86
82
77
122
115
112
109
99
44
42
93
93
40
41
41
93
38
35
84
81
81
80
83
81
26
75
65
63
10
11
13
64
64
13
66
19
37
100
111
64
117
131
143
94
113
173
174
116
106
136
110
36
31
28
29
25
74
70
70
81
92
111
125
138
142
85
81
76
122
67
60
65
72
58
80
93
149
99
79
79
136
120
86
129
119
139
119
144
68
150
75
71
103
160
148
87
43
52
109
67
79
79
63
79
142
121
140
74
80
83
114
145
69
81
133
121
74
62
81
75
134
102
60
68
105
99
70
80
137
102
94
87
66
60
49
96
103
95
51
50
49
48
241
219
171
81
81
129
130
130
133
134
135
132
76
75
133
132
131
133
86
89
91
145
94
95
95
145
144
145
89
137
82
83
141
145
143
149
102
109
115
170
181
185
132
134
134
133
133
180
120
116
113
105
96
85
126
111
51
48
98
95
94
44
48
49
104
107
109
109
110
116
115
115
116
117
64
63
60
63
61
58
109
110
112
62
118
119
68
69
70
70
69
120
120
69
121
122
122
122
114
116
120
70
71
125
127
126
125
122
70
124
127
130
132
132
79
78
77
128
128
74
76
125
123
122
69
68
67
118
118
117
119
68
70
71
125
141
97
158
169
180
136
139
139
185
183
186
136
135
191
138
141
195
195
191
188
126
118
156
101
95
85
128
118
65
59
55
53
104
103
41
41
93
93
41
41
40
93
37
86
88
86
80
75
63
12
11
11
63
10
9
59
57
10
32
45
110
68
74
134
144
154
110
109
161
158
98
79
61
100
94
88
13
9
4
3
62
75
87
108
121
138
147
139
135
81
63
63
63
63
61
108
109
59
113
116
71
75
129
133
132
82
83
83
82
133
133
76
75
73
125
124
122
117
109
57
57
57
55
52
46
50
50
105
57
58
109
114
113
115
65
68
120
119
114
113
112
57
54
104
49
47
60
53
48
51
59
68
69
70
71
70
62
105
98
98
48
49
50
51
238
218
175
137
129
79
133
138
141
90
91
140
136
135
133
132
79
77
79
81
133
84
85
86
139
139
141
91
87
139
137
83
134
138
141
100
106
113
119
175
185
138
136
138
139
190
190
185
127
118
165
156
92
81
69
52
46
44
41
91
40
43
48
49
104
106
108
109
110
114
113
114
62
63
114
114
61
59
61
65
120
68
65
61
119
119
69
70
70
69
121
120
120
68
120
121
121
122
113
116
120
70
123
73
74
75
74
125
123
73
74
128
130
130
78
130
130
130
130
77
126
125
71
70
68
67
118
119
66
66
118
67
69
122
124
141
100
163
177
192
201
162
167
165
213
213
160
156
203
200
147
198
194
190
187
184
125
159
153
146
84
77
72
74
75
128
79
133
135
83
83
85
138
87
88
89
140
136
79
127
123
117
112
51
50
99
40
36
86
84
79
21
17
80
39
53
64
65
71
79
135
87
91
97
155
156
97
84
59
102
93
86
79
69
11
4
8
68
86
50
123
137
138
133
79
83
135
84
84
136
84
136
136
135
82
83
134
135
86
141
144
93
145
143
88
88
136
82
82
135
135
136
131
128
127
124
69
68
66
117
114
113
113
62
60
56
108
63
116
118
67
67
118
114
60
59
108
106
51
49
48
50
47
44
95
99
54
61
68
123
72
120
62
54
103
105
106
107
108
240
168
131
145
130
133
136
140
90
92
92
89
139
136
135
133
79
76
75
76
128
80
82
83
135
135
87
89
138
87
139
135
131
135
140
152
158
166
173
177
186
138
187
189
190
189
189
131
125
116
161
99
141
132
120
51
44
42
92
39
39
41
47
49
103
53
56
108
109
112
111
111
60
60
61
61
62
61
63
67
70
69
118
115
119
120
121
121
69
121
120
67
119
67
67
120
68
69
114
65
121
124
126
126
128
77
73
71
123
72
72
126
127
75
127
126
127
75
127
128
126
72
70
69
119
65
117
118
66
117
66
118
67
120
122
86
97
163
178
195
154
217
225
223
168
166
162
156
207
203
144
193
189
184
182
176
118
101
147
140
80
75
124
125
78
134
138
142
145
92
93
148
150
99
101
153
157
155
101
154
153
99
96
93
91
140
135
79
76
127
120
60
52
102
53
112
120
69
74
79
80
132
140
95
105
162
111
101
124
110
51
45
37
80
73
62
12
17
25
43
120
138
97
95
145
92
144
143
143
90
89
142
143
88
86
139
138
86
91
89
144
146
146
145
139
139
140
140
87
141
142
144
88
88
137
81
130
77
76
127
127
125
72
73
123
118
66
68
121
123
123
71
70
66
65
64
62
113
110
55
54
52
103
101
99
100
106
115
124
127
75
74
118
113
108
109
110
111
112
195
181
157
172
135
91
143
144
146
147
96
93
142
140
90
87
135
131
126
126
74
76
77
77
78
130
83
86
132
133
133
129
126
82
141
148
155
165
173
177
186
189
145
147
199
144
142
133
178
163
102
92
84
78
122
106
45
43
41
39
91
42
99
50
51
53
54
54
54
109
110
58
59
59
61
63
117
120
120
119
66
65
118
118
118
118
119
119
119
118
117
63
63
63
64
64
65
117
115
66
70
125
126
127
128
76
68
120
121
70
71
72
73
70
122
122
71
70
121
122
73
71
69
67
117
64
114
117
63
115
114
62
63
115
65
78
141
154
172
192
204
218
229
176
225
220
161
154
148
142
130
126
123
120
117
117
111
97
92
87
82
132
126
127
78
81
85
88
142
92
144
148
150
151
153
154
102
102
154
157
159
160
108
111
112
164
167
116
117
169
171
115
113
163
158
155
157
102
105
159
105
102
158
161
116
124
130
124
99
88
132
122
61
49
94
76
71
17
26
38
59
131
153
104
105
102
100
150
95
92
88
88
89
139
138
139
89
90
95
144
97
100
103
101
97
96
146
146
145
95
150
151
149
99
148
90
138
136
134
81
129
130
130
79
130
74
75
80
133
133
80
79
79
79
77
129
76
76
77
77
77
70
70
121
118
117
118
125
130
131
81
81
79
74
121
120
121
122
123
204
193
177
142
92
99
97
154
156
106
107
155
100
150
94
144
140
83
79
130
78
71
72
123
70
69
76
79
76
127
126
125
75
138
143
98
106
117
125
130
189
193
147
148
146
143
191
179
172
168
157
144
134
129
69
50
52
49
46
43
94
95
98
49
51
53
53
53
53
108
110
58
57
58
60
63
118
119
68
68
69
69
67
117
115
116
116
117
64
63
113
111
111
59
60
60
61
61
108
111
64
66
118
67
68
119
118
118
120
122
72
72
73
71
122
122
121
120
121
69
72
122
69
118
116
62
61
64
61
112
60
111
112
112
66
129
138
150
117
135
201
165
228
227
223
218
160
152
197
139
126
122
173
171
118
167
111
93
137
131
76
125
119
117
114
60
61
60
113
60
113
115
117
118
68
120
68
70
123
126
129
81
84
89
90
93
151
101
104
157
160
158
157
158
155
103
106
160
161
162
161
105
102
100
99
104
107
156
144
136
78
136
129
121
65
53
99
97
52
58
65
74
138
140
90
82
133
131
76
74
72
73
83
133
82
85
136
83
85
134
87
92
147
96
91
90
89
88
141
90
145
145
90
86
137
133
77
126
124
70
124
124
124
126
72
68
121
128
76
74
74
74
74
75
75
128
77
80
81
135
136
75
73
71
69
120
121
121
127
129
131
136
87
89
87
125
126
127
128
206
194
237
152
92
156
158
159
110
112
114
162
157
155
153
148
142
135
130
75
125
124
71
70
70
70
72
73
69
122
70
123
126
140
145
99
104
164
172
126
135
138
145
147
147
142
189
178
120
163
153
141
81
76
123
108
50
48
45
44
97
97
95
99
48
51
52
53
104
103
52
54
57
112
114
113
60
63
117
120
68
65
65
118
117
115
112
111
60
60
60
54
54
107
108
109
110
59
54
56
59
62
115
64
118
116
119
69
70
70
124
125
123
72
123
122
123
123
121
119
119
65
64
115
114
61
60
60
59
58
57
109
109
58
112
121
134
153
123
142
206
219
224
223
220
166
212
152
145
194
137
134
182
177
174
165
106
86
133
128
71
120
112
110
51
50
48
45
95
93
42
43
92
91
91
40
91
91
93
95
47
52
108
113
64
68
132
136
87
140
141
90
90
140
87
88
89
95
97
151
152
149
146
91
82
79
78
131
127
127
76
83
81
133
136
125
116
110
64
67
71
73
74
76
130
121
120
65
61
58
112
115
64
67
71
74
128
129
79
136
137
86
140
139
134
131
78
131
133
83
84
85
137
124
69
65
115
113
61
63
112
114
62
63
116
65
63
66
66
66
119
119
119
120
70
72
74
127
128
130
133
77
75
124
121
117
116
66
119
72
79
136
138
88
90
128
127
125
125
205
242
177
150
101
107
160
113
115
116
170
164
109
157
155
98
93
139
133
130
128
136
135
132
129
74
70
70
66
119
120
69
73
88
146
155
108
167
174
179
134
137
138
192
191
186
130
119
165
157
95
137
130
74
121
108
102
100
98
46
99
99
98
98
99
100
101
102
51
49
100
102
53
57
111
113
113
112
62
116
118
64
63
115
116
114
110
56
56
55
54
54
54
107
107
107
107
107
51
54
56
58
60
114
115
62
66
69
69
71
74
127
126
74
72
123
124
123
71
123
119
65
116
117
64
63
62
65
62
112
60
58
59
58
111
70
135
153
119
136
197
197
160
160
156
203
195
188
132
179
121
118
115
162
107
152
143
70
117
113
110
55
54
49
37
34
33
30
30
84
83
27
25
78
79
29
27
28
79
75
24
27
30
31
34
89
96
100
49
51
50
101
46
41
42
46
48
53
54
108
109
109
55
54
52
99
95
43
100
107
114
122
77
87
144
141
84
82
71
73
72
71
122
124
127
115
114
112
106
101
44
44
51
107
61
119
121
70
71
127
129
130
78
76
69
66
66
66
120
121
70
123
124
63
60
108
106
53
53
109
104
55
56
57
110
56
53
104
105
106
107
56
56
59
62
64
119
120
120
119
121
118
117
115
59
107
105
106
57
62
122
129
82
84
87
77
125
120
116
255
241
165
140
103
158
165
116
117
119
119
114
111
109
160
106
102
150
145
144
141
87
139
139
140
88
141
140
130
131
131
131
134
148
153
159
111
118
123
126
182
184
131
133
185
180
175
164
106
95
90
135
130
125
121
59
55
53
103
103
104
104
102
99
99
98
98
99
47
48
45
98
49
52
56
58
111
113
61
63
116
65
117
116
55
53
52
52
53
55
55
107
107
107
55
106
106
106
106
56
110
112
112
115
117
65
68
123
124
73
130
131
129
77
74
124
124
124
72
125
121
68
120
119
120
119
67
68
64
114
61
60
59
60
113
70
79
91
103
165
120
130
135
181
175
172
169
113
107
154
145
89
86
81
78
68
115
101
49
50
50
102
45
42
30
29
29
81
28
80
79
75
22
22
77
81
34
37
38
89
90
40
42
51
52
106
111
60
113
113
64
114
108
43
42
43
45
98
99
99
99
99
98
97
88
85
87
90
44
48
52
54
66
78
136
137
133
77
67
66
116
61
62
67
71
125
125
122
64
108
43
40
99
102
57
62
116
118
68
75
76
76
128
127
67
64
63
62
114
114
115
116
66
69
64
111
108
55
55
112
115
65
118
118
66
63
109
107
107
107
108
57
58
112
59
62
67
121
120
118
116
116
116
114
58
106
103
103
103
106
112
120
128
133
84
78
125
117
111
209
191
219
143
156
156
164
167
168
169
117
115
164
111
164
162
107
157
155
101
100
145
146
95
95
93
142
141
135
135
134
133
134
145
150
159
163
116
120
123
126
127
126
128
128
175
170
107
101
93
142
84
131
128
71
114
113
110
108
107
55
107
104
50
101
100
99
97
46
46
44
97
99
50
53
56
57
113
60
61
114
65
116
115
53
51
50
51
106
108
109
56
56
108
108
56
56
56
59
60
113
113
62
116
118
65
70
125
75
76
79
132
131
76
73
71
122
123
122
123
123
70
121
70
123
122
121
122
119
117
116
63
63
64
65
121
74
82
92
152
105
118
166
160
157
105
104
99
141
136
73
121
118
62
59
55
102
43
44
48
100
98
43
92
30
29
29
29
28
78
78
77
76
24
80
83
36
89
41
94
97
47
50
59
114
64
68
121
121
121
121
119
64
109
55
58
112
105
53
53
104
101
48
47
87
86
89
42
45
99
49
50
62
71
127
129
124
117
62
113
111
57
57
113
117
129
78
76
72
64
52
100
103
105
57
60
61
64
118
126
127
76
76
74
120
117
61
60
112
59
59
62
115
124
120
62
59
110
60
115
64
66
119
67
66
64
108
54
55
106
106
55
55
109
59
62
120
123
122
120
118
117
64
63
59
55
51
50
103
104
108
63
123
130
82
81
127
120
114
255
250
232
213
110
99
159
161
162
164
165
164
164
164
117
167
167
115
168
115
166
168
168
117
118
116
165
163
151
149
146
143
89
96
99
105
161
166
117
118
120
121
116
119
118
165
108
98
92
144
143
140
135
80
75
121
121
66
62
60
59
59
55
56
53
103
99
97
97
96
46
46
99
49
50
104
106
108
107
54
57
111
113
58
57
107
53
105
106
107
55
56
56
57
110
59
60
61
66
67
66
66
65
66
120
68
78
133
133
82
137
137
136
75
121
119
118
119
68
121
125
124
124
125
126
126
125
128
127
125
74
74
75
75
70
118
118
121
127
133
84
81
132
134
88
91
85
127
126
69
58
53
50
47
44
44
41
39
41
42
39
37
42
92
84
28
78
22
19
20
74
26
79
27
30
84
40
42
46
102
104
107
109
122
70
73
79
80
131
132
135
83
133
126
123
71
72
124
123
121
118
59
58
108
105
102
102
51
52
105
108
50
111
115
115
125
119
57
58
111
108
104
47
48
102
122
127
79
80
78
72
122
112
111
110
110
109
61
65
69
122
73
124
124
67
116
109
106
53
52
52
106
109
128
72
67
116
114
64
68
70
123
72
72
70
120
60
60
59
57
109
56
55
55
55
62
121
125
73
70
120
113
112
59
56
51
47
97
102
99
99
52
61
71
77
82
130
124
120
255
255
245
234
117
92
153
150
153
157
160
161
164
165
118
119
173
175
177
180
129
183
131
132
132
182
178
177
176
174
119
169
166
107
105
103
106
110
112
164
107
107
107
159
159
108
108
101
149
144
142
141
137
134
129
125
120
66
117
63
61
60
61
57
55
52
50
49
98
93
46
46
100
50
52
106
109
111
111
59
59
59
60
60
107
106
106
105
106
54
56
56
56
55
55
56
57
59
68
68
67
66
65
120
124
127
139
143
92
93
147
147
93
94
88
81
76
74
125
126
73
70
126
79
131
130
77
128
131
81
81
133
133
132
79
122
119
123
126
75
75
79
126
76
77
129
131
134
137
88
84
78
71
114
54
39
36
31
82
30
29
29
29
80
75
73
71
71
19
18
70
72
74
78
28
32
84
87
91
44
98
101
104
109
112
117
72
76
132
136
87
138
139
86
85
136
83
134
133
131
77
74
126
125
67
65
62
60
62
62
62
62
115
117
118
113
57
54
53
104
104
52
103
48
45
42
97
101
108
65
132
83
87
83
77
68
112
105
106
107
111
61
62
112
106
105
48
45
95
44
49
104
108
118
117
117
118
117
65
64
68
69
71
123
71
122
67
64
115
113
109
54
51
100
105
108
114
119
71
73
74
69
114
110
109
106
99
95
94
41
95
99
52
58
116
76
77
127
72
255
255
255
202
131
91
85
142
145
96
98
102
157
159
167
117
121
176
183
188
190
191
191
140
139
138
134
133
134
132
127
125
175
169
166
162
109
108
104
99
98
98
152
152
151
152
101
100
98
95
94
146
145
142
137
130
125
72
123
121
68
66
64
60
58
55
105
105
102
97
100
101
102
51
105
106
56
109
109
109
57
109
58
58
58
109
55
54
54
54
54
56
54
106
107
56
57
59
66
67
68
121
123
125
131
133
142
146
96
97
100
152
99
99
93
86
133
78
76
129
72
73
130
134
81
80
132
134
139
142
143
140
139
137
86
75
125
125
126
72
70
68
68
119
117
119
79
91
150
157
166
167
168
164
157
79
72
51
44
37
32
82
81
81
76
73
72
72
71
15
16
71
22
25
28
29
82
84
85
87
89
91
43
47
102
108
67
73
131
83
88
141
143
94
95
145
145
86
87
87
139
135
133
79
82
79
75
72
122
121
68
69
68
120
118
64
64
63
58
109
55
54
49
44
92
41
40
91
40
45
111
63
73
129
82
84
81
117
111
112
109
55
55
110
106
104
47
97
94
40
42
45
103
57
58
114
116
66
66
64
68
69
122
122
69
120
118
114
62
111
109
54
52
102
100
103
106
113
65
69
72
71
67
115
111
107
99
95
34
36
90
37
36
91
101
116
68
71
70
255
221
212
255
186
144
82
86
89
143
145
150
153
104
113
116
172
176
133
138
193
195
195
195
143
141
137
136
136
133
182
127
176
118
116
166
112
162
104
99
97
99
100
100
99
100
100
150
97
96
95
95
94
143
137
78
76
75
126
125
71
68
118
116
114
110
109
107
105
100
102
102
103
104
105
54
55
109
109
57
57
109
110
110
110
57
56
54
105
105
54
55
106
105
106
55
57
59
64
64
67
68
122
126
130
81
91
96
99
100
102
155
153
151
145
88
135
78
77
76
72
74
79
81
133
82
84
90
141
141
139
139
139
139
139
77
74
73
125
71
69
115
63
114
114
120
137
100
165
172
182
184
183
178
172
151
143
120
59
50
96
91
86
84
77
75
20
71
70
68
17
21
22
24
26
27
27
29
82
81
84
34
37
46
102
56
66
70
76
132
86
88
144
148
149
148
94
87
88
140
140
138
84
83
85
84
83
135
78
74
71
73
124
122
69
65
64
63
112
110
108
106
48
44
40
94
41
41
40
42
100
101
58
117
125
82
85
128
71
70
64
58
55
56
56
56
102
101
98
97
43
46
103
54
57
112
64
66
118
65
66
67
68
69
121
120
117
114
61
112
110
55
53
51
48
101
105
56
62
66
122
71
121
117
60
55
49
94
34
36
37
36
86
87
95
110
116
121
122
255
223
255
255
197
98
81
133
134
137
139
145
97
100
162
113
117
174
132
138
193
199
199
148
148
146
194
193
139
137
133
131
181
174
119
115
166
162
106
101
100
101
102
103
158
162
112
161
107
161
159
156
99
96
143
85
79
79
131
130
127
71
119
121
119
116
115
113
59
105
105
105
105
106
53
53
106
107
55
55
107
107
56
107
106
54
53
104
105
105
54
53
53
105
106
55
57
59
62
115
66
68
70
73
129
133
93
99
101
156
158
159
158
103
150
146
140
136
81
79
74
125
76
77
130
82
88
91
144
144
143
90
141
140
137
127
125
73
71
68
65
110
106
108
64
79
154
120
141
148
154
204
200
192
184
169
164
149
140
78
121
116
105
101
90
83
26
74
73
72
73
76
76
24
23
22
24
25
76
73
74
24
27
90
94
48
58
64
70
74
80
82
139
144
143
141
139
85
85
137
139
141
91
144
91
92
144
145
93
91
88
134
133
80
77
69
66
63
113
58
56
54
101
97
41
96
94
40
39
39
39
91
91
41
100
57
69
133
134
79
78
72
66
60
106
107
110
110
110
108
52
50
52
60
112
115
63
66
68
69
65
65
67
67
119
118
116
113
60
110
109
56
53
52
50
103
102
52
57
114
67
68
69
118
112
57
53
46
33
33
33
86
86
86
87
48
110
118
120
228
255
255
255
166
115
122
128
130
133
83
88
92
148
158
110
167
173
130
187
189
141
193
193
193
191
134
133
184
182
180
125
175
166
163
162
156
153
152
152
154
158
163
165
169
119
172
124
126
122
171
167
162
158
152
142
82
79
130
133
132
127
122
122
121
120
119
66
64
62
112
111
108
56
57
108
55
55
54
106
54
54
54
106
105
53
53
53
105
105
53
106
105
105
105
106
55
57
57
60
65
68
70
76
136
142
95
154
110
166
114
165
163
156
98
95
145
144
140
85
78
74
126
126
127
80
86
91
149
151
100
99
95
145
91
73
70
71
69
112
51
54
47
56
71
90
109
123
185
197
156
155
206
201
195
128
125
109
103
151
140
131
74
113
100
41
80
75
27
21
72
74
75
75
23
73
77
22
18
67
70
21
75
83
86
40
52
111
65
70
125
128
132
82
81
133
134
82
80
129
128
134
87
142
140
140
140
140
140
140
140
89
141
89
87
80
75
124
123
116
58
107
104
100
43
95
94
40
39
40
42
95
90
42
47
102
54
121
126
79
80
81
132
127
118
115
113
116
67
68
65
113
107
59
114
67
119
118
117
72
63
66
121
120
65
63
118
114
61
59
110
107
53
50
52
51
51
54
61
64
119
124
123
69
118
113
106
46
35
34
34
86
84
83
81
86
45
58
65
227
224
255
210
168
118
127
129
78
80
134
87
92
95
102
158
163
116
125
181
184
188
189
190
190
189
135
186
183
181
179
177
175
167
164
160
156
152
152
152
155
159
162
166
170
121
175
125
128
125
121
117
112
107
153
90
83
79
77
132
130
74
123
123
122
121
120
67
65
64
114
112
110
109
109
108
55
54
106
106
54
54
106
105
52
104
104
104
52
52
104
105
104
104
104
105
106
56
57
60
65
69
72
78
138
145
100
107
165
168
169
115
165
157
100
96
147
144
140
137
79
73
71
123
125
130
84
88
95
96
149
96
92
91
141
126
69
69
64
108
102
101
44
52
65
83
156
171
179
186
197
149
152
148
142
131
180
115
110
158
148
138
129
119
53
44
81
72
73
21
73
76
78
77
76
22
24
74
71
68
70
72
74
27
83
88
102
108
64
69
125
129
81
82
82
81
82
79
78
127
126
129
81
135
135
135
84
85
138
138
86
138
138
86
86
81
78
76
73
120
114
111
58
105
100
97
94
40
39
41
94
44
44
99
100
100
49
109
112
72
75
78
129
128
123
122
118
64
63
66
67
66
109
111
113
117
119
120
118
119
62
116
117
64
62
61
114
112
111
58
109
107
106
50
53
52
53
107
61
64
67
125
71
69
66
114
55
47
36
86
85
32
30
28
79
32
43
56
63
224
225
222
214
166
171
133
76
78
132
132
137
89
92
145
149
101
106
112
168
170
123
124
177
127
127
125
177
177
123
173
118
167
158
155
149
145
92
144
145
98
103
160
165
120
126
180
129
129
129
125
119
114
107
99
88
82
77
74
126
127
72
73
123
124
70
70
69
68
67
66
63
112
111
109
107
105
103
52
51
51
52
104
104
103
51
103
103
51
103
103
103
102
101
101
102
51
53
110
114
119
123
75
82
142
149
99
103
159
109
160
159
156
104
100
96
92
90
139
137
129
70
66
64
117
122
77
83
139
89
90
88
87
137
135
128
69
60
105
48
46
91
37
39
43
105
123
138
101
108
176
175
174
120
117
120
172
115
112
161
155
148
140
80
64
105
39
81
77
77
74
72
21
75
76
23
18
70
70
69
68
67
67
21
75
80
38
97
104
58
60
63
67
70
69
121
122
68
67
120
120
69
69
121
120
121
71
72
75
75
76
127
129
130
131
80
81
79
127
126
73
75
73
121
117
62
58
52
99
97
98
97
48
100
99
98
97
48
49
49
52
58
62
117
125
128
127
71
66
117
66
69
66
64
63
113
115
65
65
111
64
111
107
106
109
109
53
54
106
106
105
52
53
53
53
53
108
109
112
114
66
71
70
69
67
65
59
52
91
87
82
78
24
22
76
27
36
47
54
227
255
255
215
222
174
134
130
130
132
132
136
140
143
94
97
100
103
159
162
163
116
116
116
116
113
160
159
114
112
161
107
105
148
143
143
139
84
137
139
92
97
104
160
114
171
172
122
123
123
119
114
160
153
93
81
75
72
69
123
123
69
69
69
69
69
69
69
68
66
65
115
111
109
108
106
103
47
49
48
101
102
50
103
104
52
52
104
104
104
104
51
102
102
102
102
51
105
112
116
121
124
75
81
90
147
152
101
157
158
105
156
102
100
149
144
86
82
80
133
124
66
64
62
61
65
70
78
131
133
82
81
131
131
128
121
114
105
97
41
39
35
29
26
76
75
81
88
92
102
128
76
75
79
87
145
150
153
152
151
147
143
83
78
63
110
109
106
53
44
89
76
73
19
18
17
12
63
11
10
61
9
60
72
74
75
81
88
95
48
58
61
118
69
68
121
69
64
65
116
117
65
65
117
110
110
110
111
61
62
115
117
65
64
116
66
67
67
68
68
71
73
75
74
75
76
73
69
117
114
109
108
106
102
98
42
93
38
37
39
41
45
47
102
113
117
122
127
129
72
117
113
68
121
66
62
112
60
60
61
62
110
53
48
100
100
102
97
45
98
99
48
49
50
51
55
110
109
57
110
64
69
69
120
120
66
61
55
93
36
30
25
73
71
20
76
29
37
43
228
227
255
255
231
183
141
131
131
133
134
136
141
143
94
97
100
103
106
160
161
114
166
114
166
164
159
106
106
105
104
104
103
97
147
147
142
88
89
142
146
98
102
105
109
113
165
117
118
118
114
109
155
149
142
130
72
68
67
122
123
119
119
67
67
67
67
118
118
118
64
113
111
108
107
106
103
46
47
99
100
101
50
102
104
104
52
52
52
52
52
104
104
103
51
51
105
106
112
64
120
71
75
79
138
144
97
99
154
154
103
154
101
149
146
141
83
79
77
130
122
118
116
63
62
64
68
73
127
128
75
75
126
126
122
113
106
48
41
36
85
31
24
23
72
69
69
19
19
72
89
45
50
58
65
73
79
86
137
139
85
132
125
123
63
61
113
111
57
54
50
91
85
26
19
14
13
11
11
9
61
61
62
68
17
20
28
35
95
102
56
112
117
68
68
68
68
67
66
116
115
112
112
59
55
107
56
56
57
109
109
108
55
55
56
59
112
114
114
63
66
68
123
125
75
73
72
71
70
122
118
115
114
58
51
47
98
94
40
42
94
42
43
44
52
109
116
120
123
70
118
114
114
118
67
119
117
113
111
109
111
108
103
46
42
94
100
39
42
43
96
98
48
50
51
107
109
108
56
56
61
120
67
119
120
118
61
56
93
89
32
26
21
19
18
23
27
34
39
255
226
225
220
242
202
108
86
78
77
133
141
147
146
148
150
153
157
160
160
108
109
161
110
110
163
163
111
104
104
103
104
104
158
105
103
153
149
96
148
154
105
155
156
159
111
165
115
166
165
162
156
149
142
136
124
70
69
119
118
116
114
113
63
65
65
66
65
117
115
57
57
108
107
105
104
103
45
46
98
98
47
100
101
103
103
50
50
51
52
106
105
105
52
53
54
56
59
113
116
120
126
80
84
139
141
91
93
97
99
100
99
150
142
139
135
79
75
73
124
119
118
119
121
70
69
68
124
119
66
67
67
67
118
112
49
44
39
35
30
80
21
20
19
16
13
62
8
9
61
57
57
10
18
25
92
44
106
107
106
51
101
105
53
105
105
107
106
55
66
66
119
66
59
47
38
77
18
12
12
15
16
15
6
60
13
28
37
96
48
57
110
112
65
66
66
67
69
68
67
117
113
109
56
57
56
54
52
102
49
48
49
98
97
96
100
52
54
103
104
55
110
66
70
72
120
121
122
70
69
118
117
115
111
56
54
107
108
55
51
100
97
40
35
29
28
92
44
102
109
117
122
122
109
58
114
117
119
66
57
102
104
104
46
39
86
89
33
34
36
37
39
41
46
48
102
105
56
111
113
114
62
64
67
119
118
61
55
45
90
29
24
24
77
76
75
26
32
38
255
255
225
255
200
219
129
81
127
78
83
90
98
100
152
154
157
108
109
161
108
157
105
157
105
105
158
106
104
157
157
158
159
161
109
159
104
154
150
96
98
151
153
103
104
106
159
160
159
158
155
151
146
139
132
64
63
62
113
111
108
107
106
58
111
113
61
62
62
61
56
56
106
105
51
49
100
46
46
98
98
99
100
100
102
102
101
49
50
52
106
108
109
58
60
115
118
121
126
73
73
126
129
135
140
143
141
87
86
87
84
81
130
136
79
73
69
67
67
67
116
115
64
66
119
118
65
110
57
58
60
112
59
109
54
43
37
83
26
21
70
19
70
17
14
11
60
59
4
4
2
0
50
50
51
61
64
74
78
80
81
30
27
25
79
83
90
97
50
58
60
63
63
116
65
66
112
51
40
78
76
21
19
68
69
73
83
39
46
49
107
57
110
114
63
115
114
64
63
61
110
105
51
50
49
50
103
52
50
47
46
98
46
47
98
99
99
100
44
45
47
101
56
60
61
118
119
67
67
67
115
62
113
111
59
60
112
60
111
110
110
107
104
100
43
42
43
44
47
103
110
116
121
111
108
53
56
63
69
69
64
110
49
45
43
92
81
87
36
38
91
94
97
101
102
105
106
108
58
60
112
113
115
117
118
117
62
60
51
47
41
90
89
87
85
28
29
32
34
255
255
225
255
255
179
196
82
126
129
137
91
99
103
155
157
107
110
111
110
109
106
106
158
157
157
106
105
156
158
159
160
110
111
164
163
161
106
154
99
96
148
153
101
101
101
102
153
153
152
150
147
143
136
129
61
60
59
57
107
105
102
101
105
54
55
57
58
58
57
55
54
53
51
102
100
99
98
99
98
98
99
100
100
49
101
101
49
50
104
106
109
110
60
115
119
122
125
126
125
124
125
127
130
133
83
142
86
85
135
82
78
76
128
71
66
64
64
118
67
115
115
116
117
118
118
64
110
56
56
57
56
106
104
92
31
27
76
74
71
69
70
69
15
13
11
8
59
58
58
2
0
51
0
0
58
60
66
69
19
72
22
21
18
14
17
23
82
35
47
51
110
59
61
65
69
123
65
58
96
90
32
79
77
77
79
89
44
51
55
56
57
59
112
113
112
112
62
61
58
108
103
50
49
98
100
101
51
49
47
98
99
48
49
49
101
100
99
45
44
98
99
53
55
57
113
114
63
64
63
60
58
58
57
58
59
114
113
111
57
57
107
106
51
47
99
99
99
48
51
56
63
121
112
110
56
55
110
116
126
68
63
55
49
96
92
83
85
35
36
91
93
95
101
104
106
56
110
59
60
112
113
115
116
64
117
116
63
55
104
99
45
42
92
88
33
34
35
36
255
255
228
225
255
245
215
96
78
125
135
145
151
101
106
108
111
166
167
114
114
113
113
165
113
164
163
162
161
111
166
169
172
172
172
120
171
168
165
108
101
99
99
97
95
92
91
140
140
89
87
85
83
79
125
113
57
55
53
51
100
98
95
94
97
47
49
51
104
104
52
51
103
103
102
49
101
102
50
50
50
102
102
102
101
101
102
50
52
54
108
112
62
116
119
121
70
71
74
128
131
133
133
130
76
74
124
70
69
69
121
120
119
116
62
60
60
114
117
119
117
116
117
119
120
119
118
112
104
100
97
95
92
91
95
33
29
27
24
21
19
70
67
64
11
10
9
9
5
54
2
7
65
70
21
21
73
69
67
65
12
11
12
12
14
70
24
81
33
45
101
109
112
113
64
65
121
124
76
77
124
118
62
48
46
96
45
49
55
57
60
113
61
61
112
112
111
58
57
106
52
50
52
52
99
47
99
99
47
47
47
51
104
53
54
105
105
52
52
104
52
52
106
108
110
108
108
57
58
110
107
104
50
48
48
49
104
104
52
56
57
110
111
59
57
108
56
106
53
52
55
113
67
64
68
71
67
111
109
120
116
118
66
60
48
93
90
30
31
33
88
92
95
101
106
57
58
61
114
115
64
115
115
64
64
117
118
66
60
111
107
52
48
97
94
88
37
39
40
228
229
255
228
217
248
219
113
83
121
130
93
148
97
106
108
112
115
119
119
119
116
115
115
166
166
164
112
111
166
170
175
176
126
178
126
126
124
121
169
159
156
98
96
92
140
137
134
81
85
134
79
77
75
72
118
110
57
55
52
101
46
96
89
91
93
44
98
100
48
48
101
100
101
50
51
52
104
104
52
52
52
52
51
50
102
103
52
54
56
110
120
69
70
71
124
123
70
74
125
73
72
124
72
125
124
64
61
59
60
60
112
111
118
116
62
61
111
111
58
62
61
114
116
117
116
115
120
109
105
51
104
52
52
39
32
31
31
31
30
28
18
66
64
10
10
61
62
10
11
74
83
89
91
90
40
40
37
86
81
78
75
21
26
89
93
44
96
96
96
92
91
99
107
111
114
118
122
75
85
140
143
94
89
137
129
116
63
63
64
65
117
118
66
116
114
62
53
51
49
47
50
104
105
106
103
100
97
96
47
48
100
101
50
51
54
54
56
109
108
56
56
109
109
58
58
59
60
113
62
110
55
45
93
38
89
39
41
42
45
47
101
104
104
51
52
107
105
50
50
53
56
59
69
119
120
71
126
70
53
118
115
62
114
60
54
87
32
33
87
90
93
97
105
53
57
59
63
65
119
68
119
118
65
64
64
117
120
120
66
114
109
103
100
99
50
53
58
63
229
226
255
255
216
255
237
185
77
116
84
83
99
154
108
110
112
114
116
116
116
116
117
169
169
115
114
115
116
169
171
174
175
127
128
128
127
126
123
119
161
159
156
98
90
84
135
137
85
84
136
136
135
132
73
116
111
55
51
100
97
43
92
89
90
40
42
96
99
101
100
102
104
52
51
51
52
107
107
107
54
54
53
52
109
109
108
54
53
54
57
115
116
119
69
72
125
126
126
74
74
125
124
69
67
118
62
62
60
111
110
58
58
111
111
58
58
57
57
56
63
116
115
62
115
117
119
69
67
114
56
52
51
50
95
87
31
28
78
77
25
23
18
64
60
61
64
14
8
71
89
93
45
46
98
98
45
45
43
40
34
29
32
35
94
97
45
45
96
90
93
92
89
93
101
58
62
119
125
82
86
142
147
147
147
145
135
131
128
127
116
64
117
119
117
64
63
50
51
50
102
104
107
55
106
104
51
100
97
95
95
47
48
101
51
53
54
106
61
60
109
108
109
58
59
58
58
111
113
113
110
106
49
46
43
94
40
90
90
34
38
43
100
103
52
104
105
50
51
109
110
107
51
60
116
121
72
72
69
115
112
62
117
68
64
59
98
90
34
83
35
94
101
106
54
58
114
117
68
68
119
67
64
63
64
65
115
116
113
113
111
112
113
62
115
69
69
70
72
229
226
228
229
220
208
243
203
91
65
129
135
93
148
160
109
111
165
168
169
117
116
169
117
168
113
114
167
169
170
120
121
175
126
127
177
124
175
172
169
158
103
153
149
144
140
85
82
134
82
135
134
132
129
124
115
108
52
48
97
43
93
90
92
41
42
42
94
96
96
47
49
103
104
52
53
55
109
109
56
56
56
55
55
109
109
108
54
53
53
56
113
115
117
68
122
123
71
72
73
72
72
122
66
62
112
56
54
106
106
56
57
58
59
58
58
59
58
110
110
113
115
63
63
65
68
71
68
67
120
119
62
53
46
48
93
88
84
79
76
23
74
20
16
64
62
62
63
77
87
51
54
56
110
57
111
110
109
56
53
50
46
45
100
103
51
51
49
48
47
98
93
91
88
87
36
43
48
56
71
79
87
91
149
99
102
153
149
147
147
146
143
139
73
66
60
57
53
52
51
103
109
112
62
110
110
56
54
96
40
90
89
39
40
96
102
105
106
115
63
63
115
113
111
58
61
62
62
63
115
111
56
49
47
97
43
41
92
92
38
38
93
95
45
46
99
44
43
95
102
108
107
106
54
56
61
65
67
68
117
112
62
116
119
119
119
63
55
50
45
96
99
103
107
52
55
111
115
117
67
69
66
64
64
117
118
65
119
128
129
130
78
79
81
81
80
80
79
79
227
224
227
255
222
211
195
215
103
65
120
137
92
97
157
106
161
111
167
115
117
167
168
116
116
166
165
166
165
166
166
167
117
118
170
170
118
117
116
164
156
102
99
148
144
142
88
81
129
77
77
76
75
123
119
113
106
51
47
44
95
93
90
89
39
41
42
44
98
49
46
48
101
102
51
53
56
110
110
110
57
109
108
56
56
108
108
107
53
52
54
57
111
113
115
116
65
65
65
66
67
67
116
113
57
55
106
105
104
54
57
112
114
58
58
110
111
112
112
112
111
111
59
112
62
68
71
73
118
118
119
118
113
56
44
90
86
83
79
25
24
79
17
67
65
64
70
78
93
50
62
64
66
119
119
69
68
67
65
114
57
53
50
51
104
52
50
49
48
44
94
98
101
99
95
90
85
89
41
55
63
69
72
137
141
146
100
152
152
100
97
148
145
141
87
86
85
130
128
124
119
115
62
62
112
112
113
59
52
47
44
93
93
43
46
54
58
113
114
117
118
68
65
61
111
117
117
117
65
63
57
54
106
104
103
50
101
49
49
101
101
101
101
101
48
49
49
55
114
68
73
121
102
49
101
103
55
62
66
67
65
65
66
119
119
120
121
69
66
61
110
110
109
58
60
62
115
116
118
118
66
64
63
66
125
129
77
133
140
140
139
86
82
80
129
134
81
131
129
227
224
225
225
255
255
246
218
162
121
68
84
91
148
102
104
107
109
113
114
115
114
115
169
116
165
164
113
112
112
164
165
166
166
166
166
166
114
114
164
157
103
152
148
144
89
139
132
129
74
74
73
71
119
65
111
106
51
99
45
45
95
40
38
40
41
43
45
48
103
99
100
49
50
50
53
57
111
111
111
57
109
56
56
55
56
109
55
53
52
53
55
108
110
112
113
62
62
63
63
63
62
113
110
56
55
106
105
53
54
109
113
115
58
111
111
111
113
113
113
110
110
109
109
61
65
69
72
66
66
66
67
115
113
47
38
85
29
77
25
77
78
67
68
68
68
76
34
46
106
117
117
68
120
121
72
72
70
120
62
56
52
48
48
49
49
50
50
102
99
98
101
101
98
93
88
87
87
89
50
57
61
64
133
137
143
97
98
151
151
96
147
145
142
141
141
89
141
139
136
132
125
70
70
64
63
114
112
105
103
101
43
95
95
97
52
56
111
114
116
119
121
66
64
114
117
65
117
115
114
55
52
55
54
105
52
103
103
51
106
106
55
107
107
104
51
56
63
122
75
77
124
100
97
95
44
49
56
62
64
65
64
118
117
118
119
120
120
119
66
117
115
62
114
116
65
65
117
118
120
121
120
68
72
131
135
136
86
93
145
143
141
137
80
75
81
79
128
126
226
222
224
255
255
206
192
225
175
130
69
79
134
91
98
153
104
107
111
165
166
166
167
115
114
164
164
113
165
165
112
113
165
165
113
109
162
164
112
111
160
158
154
150
143
139
136
132
130
70
71
68
118
114
61
108
57
54
102
100
99
46
44
44
45
45
46
98
99
100
102
102
50
49
49
104
108
58
58
58
56
108
108
55
55
56
57
108
105
52
51
103
104
106
108
109
109
57
60
59
56
55
54
56
109
110
53
51
50
103
54
110
113
59
111
112
112
114
114
63
109
107
53
52
107
112
64
62
71
125
70
66
62
113
113
44
34
27
23
22
75
29
83
40
96
93
97
106
105
113
120
121
123
125
125
74
75
128
124
64
54
100
96
97
99
49
52
53
107
96
45
47
46
95
41
91
86
85
86
98
54
110
112
68
123
126
78
80
135
137
138
85
84
136
137
139
140
90
144
147
96
148
95
94
90
138
135
79
121
119
117
56
55
105
104
108
112
114
113
63
65
66
67
67
118
117
117
115
63
59
53
50
52
52
103
49
50
103
103
107
56
59
113
113
106
52
114
118
121
120
122
122
102
37
34
32
36
45
51
106
56
59
61
116
118
119
120
114
117
69
71
122
121
119
62
63
65
119
71
127
131
136
136
87
143
144
142
89
86
138
137
136
132
127
71
67
64
112
108
217
213
213
255
255
246
230
215
123
82
120
131
84
88
144
95
101
105
164
167
118
116
170
172
118
115
163
164
162
110
110
109
108
159
107
106
108
109
160
160
105
156
153
152
151
96
92
137
135
130
73
68
62
60
110
107
109
108
53
50
99
45
44
41
41
95
95
96
96
97
45
46
46
47
49
102
102
54
54
55
57
57
108
107
50
103
104
104
103
102
103
104
52
52
52
52
105
53
106
106
56
57
57
109
108
107
50
49
100
50
52
107
109
106
107
108
109
108
54
55
51
47
45
45
99
102
52
59
61
64
118
118
64
62
114
106
98
90
33
31
30
31
42
45
46
101
106
112
115
118
124
124
122
123
71
128
129
128
70
61
104
98
44
44
97
97
98
99
99
99
46
42
40
39
37
88
39
94
98
104
57
61
64
73
74
75
77
75
72
71
120
120
67
69
123
125
126
129
131
134
84
86
90
91
95
146
145
94
92
88
84
76
74
124
121
118
119
119
63
64
64
68
121
119
66
116
114
110
55
51
51
51
102
102
103
50
49
53
106
61
63
118
121
71
69
67
66
70
124
120
64
107
65
65
69
75
85
94
48
50
104
105
53
55
109
57
110
121
121
122
72
73
73
73
124
69
119
121
73
78
82
135
137
139
140
141
88
86
85
135
80
127
123
118
59
60
59
109
108
214
210
210
255
248
238
223
149
120
88
126
128
133
139
144
147
153
157
164
115
118
168
117
170
169
115
162
163
160
159
106
105
103
103
103
151
154
105
106
108
105
104
157
156
154
99
95
139
137
134
128
69
61
59
108
54
57
108
105
102
99
97
43
40
41
93
93
93
42
42
95
44
45
46
47
48
49
104
105
54
55
108
107
54
100
101
103
50
101
100
49
51
51
51
103
103
51
52
104
105
54
55
56
106
106
106
99
46
46
48
50
53
106
102
103
104
52
52
52
51
49
98
43
95
96
98
99
53
111
114
62
61
113
112
112
104
99
97
93
37
35
38
100
103
104
106
59
63
64
120
122
122
68
66
67
124
124
120
63
57
50
45
43
94
94
94
94
42
42
39
90
88
35
87
86
35
39
95
100
55
59
63
66
72
126
75
75
125
123
68
62
61
112
59
60
113
114
116
120
124
127
133
137
139
147
146
94
149
149
93
92
137
84
82
79
129
128
78
73
72
73
125
124
71
68
65
62
57
106
102
98
98
99
99
99
100
48
104
107
60
62
118
120
70
69
119
66
70
70
65
59
47
6
56
61
69
81
41
48
52
108
108
109
56
56
109
109
115
65
120
72
72
72
69
122
123
126
75
77
79
83
82
137
140
90
89
85
131
129
127
124
119
116
110
54
58
57
107
105
208
204
204
252
237
223
206
120
106
89
77
74
131
138
91
147
152
156
110
114
168
167
114
114
166
165
108
107
156
154
152
149
146
94
146
147
97
100
103
104
102
153
105
104
154
151
147
140
85
80
126
120
113
111
56
55
55
107
105
103
101
99
96
41
40
90
89
88
37
38
91
39
40
42
42
96
97
100
49
50
51
53
104
104
100
50
50
49
48
47
100
100
100
100
48
100
100
100
51
52
54
55
56
108
56
56
104
51
50
49
99
46
46
101
49
49
49
50
50
51
51
102
48
99
97
96
96
96
104
106
53
105
108
111
113
109
111
114
115
112
58
56
60
61
63
64
67
68
65
66
118
116
61
61
62
114
113
108
52
49
99
46
44
96
94
92
91
38
38
87
87
88
89
93
95
45
45
102
108
65
67
122
125
128
129
130
77
74
70
121
117
62
58
51
48
99
46
42
98
102
107
116
120
122
130
80
136
139
90
90
91
87
139
87
87
139
140
89
145
145
90
140
137
81
79
81
79
75
122
119
112
111
107
107
105
104
51
104
106
58
59
113
63
64
65
64
64
117
117
61
56
44
68
7
11
71
83
42
51
110
108
108
109
110
111
112
112
62
62
61
62
63
117
68
61
66
124
127
75
74
77
133
133
131
76
74
122
119
67
65
114
112
110
108
53
54
105
103
101
207
203
201
197
176
162
143
125
109
139
126
130
132
79
88
92
149
153
108
111
166
166
164
111
162
111
106
155
104
101
149
145
143
90
142
94
94
148
150
101
107
109
110
161
160
107
104
98
97
86
134
77
124
120
63
55
103
104
104
103
49
98
94
40
38
35
85
31
31
86
87
36
88
89
39
40
41
95
45
47
48
101
102
102
99
48
48
99
44
43
96
98
98
46
98
98
98
46
48
49
51
53
54
55
54
55
52
51
51
102
101
48
48
100
47
47
47
100
102
51
105
54
54
53
102
100
99
99
95
44
48
104
110
111
61
115
66
120
124
127
131
78
77
76
76
76
75
74
72
71
64
58
54
51
51
102
101
99
45
43
94
41
95
95
41
40
39
90
90
91
91
92
95
46
52
107
107
112
117
125
126
127
129
132
130
128
125
71
71
70
114
60
56
51
50
101
49
92
95
99
49
53
55
107
65
119
125
77
81
84
138
81
135
85
140
145
147
98
149
95
93
92
142
141
139
139
140
138
135
133
129
126
75
127
126
125
72
126
128
73
73
125
125
124
73
73
73
123
120
119
62
56
99
37
36
37
93
48
53
112
109
109
109
108
108
108
109
116
115
114
62
62
62
64
62
113
112
62
118
121
71
125
123
121
67
65
117
65
118
63
61
60
60
60
59
62
113
110
108
213
209
208
202
180
166
147
185
114
89
127
132
80
75
88
91
148
152
107
162
164
166
164
161
161
111
106
155
156
101
97
93
90
89
90
92
92
145
96
100
163
114
113
165
165
163
109
104
103
91
139
135
129
73
65
106
51
52
52
103
101
46
42
40
38
35
32
31
31
86
87
87
88
36
37
39
40
94
95
98
99
100
49
48
45
46
46
97
94
93
41
46
46
46
46
98
98
46
46
99
49
50
52
52
53
52
101
101
50
102
102
102
102
99
46
97
98
99
101
102
105
106
55
54
51
101
99
100
40
41
47
105
58
59
112
117
66
119
123
79
137
138
134
134
81
81
79
77
78
75
117
109
50
48
47
96
97
96
42
41
40
91
94
41
40
39
38
90
90
39
90
91
94
47
52
55
58
63
69
127
128
77
78
80
78
76
123
122
69
70
116
62
57
49
46
44
42
95
46
48
101
51
52
52
56
60
66
70
126
129
132
127
129
133
137
142
145
97
94
94
144
142
142
141
140
86
137
136
83
82
78
129
127
127
128
76
76
131
133
133
132
132
132
131
79
79
135
132
130
127
124
66
112
106
104
50
50
54
112
117
117
116
62
62
112
59
57
113
115
116
118
66
64
60
116
112
110
59
64
68
123
120
120
120
67
67
66
65
118
63
61
59
59
113
113
117
115
113
111
216
216
215
214
201
190
234
215
192
157
84
82
82
138
141
144
148
101
106
110
164
163
164
163
160
159
156
155
153
148
92
91
88
86
141
139
89
92
97
153
160
110
113
114
116
169
116
109
107
150
145
141
135
133
126
61
56
53
49
46
97
96
42
39
36
33
30
30
82
82
82
84
85
86
34
34
38
94
94
95
96
98
47
100
96
96
96
95
94
39
37
38
39
91
91
92
93
95
42
96
98
98
98
46
48
101
100
101
102
102
101
102
102
99
99
48
49
49
101
101
51
52
104
104
103
104
104
100
44
43
44
99
103
54
57
115
120
123
128
130
80
140
141
144
146
147
145
144
84
78
114
108
50
97
93
34
86
88
38
39
89
87
37
38
90
91
90
90
90
87
91
100
51
53
56
60
65
68
71
74
128
130
132
79
79
77
126
123
122
121
64
62
58
50
97
42
39
35
36
91
40
95
96
43
47
51
55
110
66
66
63
61
113
117
71
79
132
134
139
140
87
85
135
80
78
81
132
130
127
73
72
124
70
70
123
124
123
76
79
130
130
131
132
132
133
134
136
83
134
133
131
75
125
123
68
117
66
64
115
68
123
121
69
68
66
65
64
72
72
72
126
74
75
124
122
120
65
65
67
121
122
71
123
123
123
70
69
68
66
65
63
115
114
114
115
61
114
116
117
226
225
222
220
255
255
255
236
223
144
111
137
141
88
142
146
151
103
109
111
114
165
164
162
160
157
152
151
148
92
90
141
85
82
84
139
140
143
146
98
107
109
114
115
117
170
117
110
159
157
152
147
142
87
132
119
58
53
48
95
95
94
41
35
32
28
78
77
26
77
81
81
81
81
81
83
35
93
93
94
95
96
95
94
94
42
94
93
92
90
87
37
36
88
88
89
90
39
92
93
95
95
94
93
94
95
100
100
101
101
101
102
50
103
103
52
52
52
50
50
50
103
104
104
105
106
106
107
56
57
56
58
110
111
55
59
64
120
123
127
129
133
83
138
143
146
147
147
144
86
67
59
52
100
97
38
37
37
38
38
89
88
38
37
36
88
89
89
38
91
96
58
61
63
116
118
119
120
72
74
127
130
133
133
80
79
76
74
124
122
65
62
57
100
96
93
92
36
34
33
34
92
96
45
98
102
54
56
63
63
60
61
61
62
63
69
120
121
68
68
69
69
122
69
67
69
67
65
114
112
55
106
49
51
53
108
110
65
68
74
126
126
127
128
132
134
133
81
80
78
77
129
132
79
76
125
125
123
119
68
70
121
68
67
67
120
121
72
74
129
130
79
79
133
138
135
77
73
123
123
71
73
74
75
126
126
124
123
69
68
118
115
113
112
111
110
112
114
116
255
255
255
222
255
255
255
194
181
161
127
85
141
140
142
145
99
103
109
111
166
165
164
162
159
155
151
150
146
90
87
139
135
79
81
139
140
142
92
96
158
160
113
115
117
170
169
163
161
156
151
146
141
86
132
119
113
56
102
47
44
95
40
86
31
79
77
25
25
24
80
81
80
28
80
82
86
91
92
94
43
44
95
42
94
94
94
93
91
89
87
36
35
34
86
35
36
37
37
91
92
40
40
40
93
94
99
99
100
49
102
103
51
104
106
54
54
53
51
50
50
103
104
104
105
106
54
57
59
60
60
60
110
111
57
59
61
118
69
124
127
129
129
132
136
140
90
90
139
136
124
118
60
105
101
45
43
40
92
39
37
87
36
34
84
84
83
84
34
40
98
58
61
62
115
117
119
69
70
72
125
129
132
132
132
79
77
76
74
125
118
115
110
100
96
95
94
91
90
36
36
42
46
100
101
106
58
59
117
64
62
64
115
114
63
66
117
65
62
64
115
117
119
119
65
63
62
59
108
103
94
92
38
40
44
47
50
57
113
119
67
66
68
70
127
129
129
128
75
75
74
75
76
76
125
124
124
124
120
71
122
120
66
66
66
66
120
124
127
78
132
133
135
89
93
143
138
131
127
72
72
76
127
124
123
122
121
122
120
119
65
62
61
58
58
111
60
62
64
255
255
255
226
221
255
255
255
235
172
153
84
85
138
140
91
96
101
106
109
164
162
109
107
157
155
150
149
147
144
90
143
139
81
83
139
140
88
89
93
155
158
109
112
167
170
171
167
114
160
155
150
145
142
136
123
67
64
60
55
50
44
85
86
31
80
78
25
26
25
26
27
81
29
82
82
85
88
38
41
44
98
97
44
94
95
94
93
92
90
87
34
33
32
31
31
33
34
32
34
36
38
38
40
42
96
98
47
99
101
50
51
103
108
57
58
58
56
52
52
49
50
103
105
106
107
55
58
56
55
55
108
108
108
56
55
54
107
110
112
115
118
119
123
130
136
139
89
140
136
127
125
70
66
115
56
53
100
47
47
97
44
43
41
34
84
83
83
32
44
48
56
57
59
113
114
68
69
119
64
66
69
123
128
128
128
77
78
78
77
72
120
113
52
101
99
100
104
101
98
44
44
97
97
48
52
56
110
114
113
110
60
110
107
107
108
55
107
110
112
60
113
116
115
113
110
57
55
51
45
87
83
79
82
35
40
95
102
53
55
54
54
106
109
117
69
71
71
71
72
70
122
68
67
117
66
120
120
65
67
122
119
64
62
62
62
64
120
122
125
125
128
135
152
97
96
93
138
128
120
64
66
66
117
119
119
121
122
122
121
68
65
62
61
61
60
61
62
116
255
229
227
255
219
215
210
204
236
224
204
137
83
85
88
142
94
99
107
110
161
106
107
159
159
106
153
152
153
98
95
145
143
86
83
83
137
140
142
144
103
107
111
165
169
121
175
174
122
115
165
162
105
98
143
134
74
121
115
57
104
99
39
31
84
84
29
25
24
28
79
81
82
32
34
86
86
88
92
42
43
96
100
100
96
42
39
37
37
89
87
33
85
84
31
83
30
81
80
29
31
30
30
83
86
89
42
46
100
101
102
52
106
55
57
58
57
106
103
101
103
103
52
105
107
57
59
53
107
109
57
109
109
57
54
100
97
97
96
94
42
42
50
57
63
123
131
86
138
139
137
133
76
124
121
63
61
109
57
57
56
57
107
55
54
52
101
98
44
53
56
115
116
64
68
70
68
119
117
65
67
69
123
136
136
84
81
78
76
72
71
68
63
105
101
99
46
99
49
50
47
92
94
98
51
51
51
53
56
57
110
60
113
60
60
113
61
63
112
110
57
56
53
102
98
106
52
49
48
45
90
33
82
86
93
47
104
110
59
62
68
69
116
59
62
63
67
68
71
74
76
127
127
69
121
120
118
117
65
120
65
64
63
61
59
59
58
56
110
111
113
117
74
96
97
96
93
89
135
125
62
51
52
55
59
117
70
126
123
121
66
63
60
108
104
60
60
60
112
229
229
255
255
219
215
255
255
243
232
157
80
133
86
87
90
145
149
156
106
108
107
159
159
107
158
154
152
151
148
145
91
90
86
84
86
139
141
91
146
157
109
163
165
117
121
175
175
123
116
165
162
104
98
91
83
77
124
117
58
53
101
42
33
86
33
83
27
26
82
80
81
31
32
34
34
86
89
40
43
95
97
49
49
99
44
40
37
36
36
35
85
85
84
31
30
30
29
27
28
29
29
29
31
86
88
93
45
99
101
102
51
53
54
55
56
55
105
103
101
101
101
50
51
53
55
108
104
54
107
55
107
107
55
52
99
97
44
43
94
40
36
46
52
59
118
127
81
83
136
82
133
76
72
121
119
65
61
60
60
60
60
111
59
58
109
54
52
51
54
57
116
116
65
67
69
67
118
116
65
67
121
122
134
135
82
80
77
75
124
123
119
113
104
102
49
49
45
47
46
96
91
95
100
105
105
106
108
111
112
61
65
116
115
62
61
61
61
60
59
58
58
55
51
100
55
52
48
46
44
38
35
33
89
95
101
52
59
113
114
119
120
116
59
62
64
67
68
123
125
127
128
128
70
69
120
119
117
117
119
66
65
117
116
114
113
111
56
58
59
61
65
73
95
149
97
95
89
80
69
59
45
100
103
108
61
66
69
121
67
65
64
62
111
54
61
112
112
111
229
229
226
225
255
255
255
255
201
242
216
83
75
134
137
140
143
147
152
154
103
106
107
107
158
158
102
101
97
94
143
142
91
91
142
142
91
145
95
96
158
162
163
113
115
120
122
176
177
119
115
110
156
150
94
142
134
76
120
113
56
104
46
40
92
90
87
84
83
83
28
30
83
85
34
34
34
37
41
43
96
46
50
103
105
100
42
38
36
35
34
32
83
83
82
29
28
28
78
27
27
79
26
79
82
84
38
41
96
45
46
48
49
51
50
50
49
101
101
101
98
98
46
47
100
102
102
103
52
52
104
103
101
101
98
93
92
38
35
82
27
25
36
44
51
58
118
123
78
78
81
133
129
128
73
63
62
113
60
110
57
58
108
108
56
56
56
56
56
55
58
116
117
116
115
113
62
63
62
65
67
121
122
128
129
130
129
127
73
123
121
119
116
58
57
55
54
45
96
92
90
91
98
52
54
107
110
112
66
67
119
121
120
67
65
114
112
60
113
112
111
112
58
106
104
58
55
49
44
42
42
41
41
96
100
51
54
59
61
62
117
118
115
61
64
63
66
119
121
123
125
126
128
123
71
69
67
116
114
110
60
62
116
117
117
64
112
110
60
61
62
116
71
88
92
94
92
134
67
105
96
95
100
106
113
65
67
68
63
62
64
119
120
119
63
66
116
114
111
228
228
226
255
255
255
255
255
253
238
221
158
76
124
134
84
139
92
98
99
153
152
102
102
154
154
99
150
150
97
95
96
149
147
94
89
90
92
145
95
156
160
161
110
164
168
119
175
177
120
117
166
109
104
152
148
137
80
73
118
112
108
99
97
42
91
88
87
86
83
29
29
83
84
84
84
32
32
36
39
40
43
47
48
102
99
95
39
37
35
33
30
30
29
80
79
79
78
75
76
77
76
75
76
78
80
84
35
38
39
40
94
95
98
98
97
96
95
95
95
95
94
41
41
93
94
95
97
46
47
99
98
97
45
94
87
86
84
32
30
29
35
47
53
59
118
123
127
78
80
80
79
76
125
122
113
113
59
58
57
108
107
55
107
106
56
57
58
110
53
53
107
109
112
111
109
111
60
62
66
69
71
72
125
126
127
128
128
127
126
121
122
72
70
65
59
56
55
104
99
94
98
51
106
108
109
60
63
66
66
65
118
66
65
63
113
113
113
112
112
112
112
112
110
54
59
58
54
49
96
98
99
96
97
100
101
50
106
55
62
115
115
113
61
65
63
118
118
119
118
118
118
68
117
66
66
117
115
111
52
102
103
107
109
111
59
110
113
62
64
63
64
68
81
83
83
81
124
111
99
93
43
47
105
112
64
67
66
66
66
118
119
69
69
120
124
122
120
118
228
255
255
255
255
255
255
255
255
244
229
165
77
71
130
80
83
140
146
97
98
98
151
99
152
152
149
96
95
95
95
150
150
145
90
90
91
145
146
147
156
160
108
161
163
166
169
174
125
120
118
116
112
108
103
149
88
85
79
125
119
112
100
98
43
91
89
88
88
31
29
30
83
84
84
32
31
82
34
37
38
93
97
99
47
97
94
92
39
88
32
29
29
28
28
79
78
77
75
23
76
75
74
22
24
79
81
33
35
36
89
91
93
97
46
98
97
95
93
92
93
91
38
37
38
90
91
40
94
43
43
93
42
41
91
86
33
33
37
39
92
94
52
59
116
120
74
77
78
79
78
77
73
68
66
57
109
109
108
106
52
51
53
104
103
51
52
105
54
52
102
101
105
109
109
109
110
60
61
68
70
72
125
125
126
128
77
129
128
127
128
75
73
121
117
63
61
63
58
104
101
50
53
107
111
113
64
67
68
67
65
66
66
65
114
58
58
57
111
111
111
112
112
58
56
59
58
56
51
46
99
100
99
47
48
101
101
105
55
60
62
62
60
61
65
115
117
117
116
115
115
63
64
62
115
64
116
114
109
101
48
49
103
106
56
58
60
114
116
65
63
64
118
130
133
79
75
122
114
105
45
47
102
107
114
66
68
121
70
68
67
67
68
69
122
70
69
120
121
229
255
227
255
255
255
223
214
215
208
196
143
90
55
119
70
75
131
84
88
90
146
147
146
146
147
146
146
94
95
149
150
149
92
142
144
143
145
98
154
107
105
160
162
166
171
174
127
128
127
122
118
113
110
108
103
95
142
136
77
71
64
54
51
47
42
38
89
35
33
30
83
84
33
33
85
84
31
32
34
88
90
40
93
93
92
91
89
35
83
28
25
24
23
23
75
76
77
25
24
24
23
24
24
24
23
25
26
30
84
87
89
90
40
92
92
92
92
93
93
90
87
33
32
32
85
86
86
83
30
29
30
29
29
29
38
41
96
97
48
49
54
62
67
72
127
130
79
77
74
73
71
67
59
53
47
46
44
96
98
99
100
47
46
42
41
42
43
43
46
45
97
46
48
103
104
110
56
106
64
69
124
124
123
71
122
72
127
130
80
81
79
128
124
72
73
74
67
64
59
56
59
112
112
114
66
69
69
118
119
120
119
66
114
111
54
54
53
54
55
109
110
59
60
112
116
60
109
107
52
47
50
53
51
50
51
104
54
55
59
60
61
115
116
118
118
117
116
60
56
53
52
52
59
59
61
112
111
109
106
47
47
50
52
55
58
62
65
117
116
64
117
119
122
125
123
67
115
110
105
50
54
109
114
119
71
74
73
130
128
75
126
72
71
70
120
119
119
118
229
229
227
227
225
255
225
221
219
213
205
164
110
118
63
66
71
126
81
82
85
91
143
144
92
144
143
92
146
147
149
98
98
94
93
91
144
93
97
153
159
108
110
112
115
172
175
127
128
128
176
172
115
164
162
104
96
91
137
79
73
66
55
103
47
42
91
89
37
35
33
86
86
34
33
84
83
28
28
29
30
30
31
84
87
87
86
85
31
28
25
23
74
73
20
20
73
74
75
23
23
22
22
23
23
22
75
24
26
29
32
86
86
38
90
90
90
90
90
90
87
86
85
31
83
83
83
79
26
26
27
28
81
82
38
45
49
103
106
57
59
113
121
75
128
128
127
72
70
68
113
58
53
47
43
89
89
91
92
94
96
97
42
42
93
94
43
44
96
39
40
42
44
47
50
103
52
51
105
111
114
115
115
112
60
60
64
68
124
126
77
76
129
76
74
125
72
70
68
65
64
114
112
110
59
60
62
113
111
59
59
55
54
105
102
100
50
50
52
54
56
110
113
115
115
116
112
109
108
107
104
105
57
108
107
56
56
108
108
110
112
61
115
65
65
118
114
60
58
55
53
105
106
105
54
57
58
57
106
46
46
47
50
53
56
110
114
65
65
119
68
120
121
67
124
122
66
115
111
54
52
109
111
117
122
126
76
131
130
130
77
128
126
73
72
118
117
117
115
229
229
228
255
226
255
255
255
255
255
210
174
122
72
59
62
68
71
77
80
83
90
90
143
91
142
143
90
92
145
146
95
97
95
146
144
144
94
97
152
159
109
163
113
116
120
123
126
127
174
170
167
111
108
157
99
95
91
85
78
125
66
56
103
47
94
39
38
89
88
34
34
34
34
85
83
82
80
28
28
28
28
28
28
83
83
82
29
27
25
23
21
20
71
70
18
18
19
73
73
73
72
73
21
22
73
74
75
25
27
30
31
84
35
87
87
87
35
35
35
85
84
82
30
81
81
80
78
26
25
26
80
83
84
87
42
97
100
104
107
110
117
74
78
79
129
125
70
119
63
54
49
44
41
38
34
34
37
39
93
95
96
42
42
43
97
99
100
49
42
42
44
45
47
48
50
50
50
104
109
110
58
110
107
107
56
112
65
70
123
128
129
131
80
77
75
73
74
123
66
64
114
112
111
57
109
109
109
107
54
54
49
48
47
99
100
103
103
53
54
55
58
114
115
117
63
60
110
109
56
106
108
112
112
112
111
59
111
110
111
112
114
115
63
64
65
112
58
57
53
104
104
107
51
105
57
58
57
106
98
48
49
104
54
57
112
113
116
65
68
68
70
68
66
122
121
66
114
59
56
105
109
112
115
120
123
127
130
130
77
76
75
126
72
72
66
117
115
114
229
229
228
255
255
227
228
229
226
225
216
246
152
94
61
117
121
125
130
133
84
88
89
142
141
89
89
142
140
141
142
92
94
147
149
147
148
149
97
99
158
161
162
112
114
169
119
120
121
119
168
165
110
159
155
95
143
139
82
77
72
120
111
53
50
97
41
39
90
87
33
33
34
34
85
84
83
30
30
82
81
81
28
80
78
27
27
27
26
24
22
20
19
69
68
67
15
16
16
69
70
18
19
19
20
20
72
73
23
25
26
28
29
81
81
81
82
30
30
82
80
80
80
26
25
75
74
22
23
76
78
28
31
84
85
90
94
45
101
54
58
119
72
126
125
69
117
63
108
105
91
84
29
30
31
80
29
35
37
39
92
41
45
46
51
105
106
106
54
104
104
51
102
102
100
47
50
103
104
104
51
53
55
104
104
52
109
113
117
120
76
78
132
82
132
130
77
77
124
66
114
113
61
60
55
104
101
48
47
98
97
95
42
43
43
101
103
105
107
57
58
60
62
64
116
61
111
109
110
110
110
61
63
116
118
120
120
118
118
118
66
118
117
116
112
60
110
108
106
104
103
102
103
102
105
55
56
58
57
108
56
57
62
116
119
67
118
116
65
117
118
67
67
65
118
64
63
114
59
58
108
106
107
108
109
112
117
69
72
123
71
69
67
66
65
115
114
112
110
255
255
255
228
229
229
229
255
255
229
221
212
181
124
71
126
131
83
88
91
93
89
90
89
90
90
90
142
142
143
92
146
149
102
103
98
99
99
151
97
103
159
160
109
111
114
115
168
116
111
109
159
156
153
149
87
85
134
78
75
72
68
61
57
105
47
94
91
89
85
31
32
33
34
86
86
33
81
29
81
29
29
81
81
78
78
27
27
78
77
24
72
71
70
68
67
67
15
14
15
67
16
69
70
19
19
73
74
75
24
26
27
27
79
27
27
79
79
79
79
79
27
79
26
24
21
20
19
70
71
20
22
76
25
80
33
36
40
45
51
55
59
113
113
59
109
107
106
96
93
78
71
17
20
24
75
24
30
84
85
34
34
45
98
103
104
53
52
52
101
50
51
51
103
102
49
106
106
105
48
48
104
56
55
54
55
109
112
116
118
73
74
127
128
127
127
127
118
119
120
69
64
109
105
50
46
93
91
40
90
88
91
39
39
40
45
101
102
110
112
113
113
62
62
62
60
57
108
109
110
111
63
64
65
69
72
74
126
124
73
72
70
68
117
111
108
58
109
106
102
49
47
48
47
100
100
50
54
56
62
115
117
121
72
74
74
124
65
65
115
115
114
63
65
115
62
61
60
59
59
110
108
108
106
105
55
111
62
65
117
64
63
62
60
112
111
111
110
110
255
255
255
228
229
229
255
255
255
226
220
214
237
197
143
125
137
138
144
92
96
149
148
96
93
91
86
84
89
91
92
94
148
149
97
97
97
97
149
99
104
158
158
107
108
109
111
114
114
107
105
101
99
149
146
88
83
80
77
73
69
65
55
49
99
43
39
87
32
30
83
84
85
34
35
34
33
32
83
82
79
27
79
27
79
79
28
28
28
79
78
74
21
71
69
68
16
68
16
16
67
16
17
69
19
20
71
72
73
74
75
76
25
29
28
80
79
79
78
78
22
23
75
22
21
20
19
69
71
18
16
68
72
22
22
28
32
36
40
43
97
104
55
55
106
54
49
95
86
82
67
63
63
68
71
73
75
28
30
31
34
88
93
44
102
103
51
53
54
103
104
55
56
56
107
107
104
105
106
57
55
52
49
51
50
102
56
112
114
114
118
68
122
124
125
73
124
122
122
121
118
62
112
110
102
99
94
37
29
27
26
31
88
42
47
103
108
60
62
113
111
109
55
56
57
60
55
104
105
104
57
62
118
69
74
76
76
128
129
76
75
127
125
72
67
119
65
114
109
51
98
96
41
43
97
101
105
109
110
113
116
117
117
117
66
64
115
62
61
112
110
109
56
107
115
61
60
61
116
65
65
114
110
106
104
105
107
108
112
112
112
60
58
56
54
106
107
109
111
255
255
255
228
229
229
255
255
229
227
221
210
241
210
155
130
83
138
97
94
147
152
151
98
95
93
88
86
87
140
142
92
94
94
146
142
143
93
96
150
152
153
151
100
100
100
153
155
155
103
152
147
92
89
138
80
127
125
122
68
65
62
106
100
46
42
90
35
33
31
85
85
86
86
34
34
33
34
33
83
81
80
80
28
79
80
28
29
28
27
78
75
73
71
70
16
68
16
15
66
66
14
15
67
16
17
68
69
70
70
71
72
73
26
26
78
77
77
77
77
22
23
75
23
74
73
20
18
19
17
15
15
17
19
22
26
29
33
36
90
92
48
50
101
101
49
96
90
33
28
12
62
63
15
18
72
74
26
27
80
83
85
87
38
45
45
46
48
49
51
104
108
57
57
56
108
109
108
57
59
58
55
52
50
49
100
53
55
108
108
109
112
63
68
120
118
117
118
118
117
115
113
111
110
53
101
44
37
25
22
20
80
83
89
42
49
54
56
107
108
55
54
52
50
49
50
99
98
100
50
56
111
112
116
69
124
124
127
128
75
74
127
125
72
68
67
114
112
107
49
96
94
40
36
39
43
100
104
108
110
118
117
116
63
61
111
55
56
54
104
102
100
101
105
50
52
57
63
121
127
131
126
70
118
115
113
113
112
109
110
111
58
57
55
106
101
102
103
104
255
228
229
255
229
229
229
229
228
255
222
208
246
223
116
135
84
140
99
148
149
102
102
153
150
95
141
88
85
138
140
141
142
141
141
87
89
91
94
148
149
96
144
145
145
146
145
94
146
147
142
136
132
129
126
121
117
115
113
60
59
109
102
98
96
94
91
36
34
33
88
87
87
86
34
33
33
86
85
84
29
28
28
81
80
81
29
30
29
28
27
76
74
20
70
68
67
67
65
64
63
10
62
63
12
13
65
64
13
65
66
67
67
20
20
20
20
21
21
21
21
22
75
75
22
21
21
70
19
18
16
16
19
73
76
79
82
85
36
90
91
52
55
104
104
103
46
39
32
27
15
67
69
19
72
70
72
22
74
74
77
27
31
34
92
93
95
97
47
50
103
55
56
57
57
109
107
53
52
53
52
102
48
48
47
45
101
103
51
51
56
111
114
68
68
119
118
63
113
112
109
56
109
110
59
109
53
50
44
41
39
94
94
94
96
47
48
48
100
101
50
49
98
96
95
94
91
91
95
46
53
58
113
117
68
123
125
76
78
125
73
126
126
125
69
69
114
111
106
101
96
41
40
88
39
42
99
103
106
109
55
54
106
106
53
52
49
98
95
41
91
90
41
48
49
106
61
117
69
72
128
135
80
75
123
68
64
59
107
108
108
57
55
105
103
102
49
101
101
229
229
229
255
229
229
229
229
228
227
255
255
245
224
121
87
137
142
150
95
98
103
154
154
151
147
142
139
137
86
87
88
141
140
139
86
87
141
143
92
92
92
140
89
89
90
90
91
91
142
137
131
127
72
122
118
115
113
112
111
110
107
101
46
95
93
91
89
88
36
89
89
87
34
33
33
85
86
85
83
29
80
80
28
28
29
30
30
30
28
27
24
75
72
70
68
15
14
63
62
61
8
61
61
10
11
11
11
11
12
64
65
65
17
17
17
17
18
70
18
20
21
22
74
22
21
20
71
20
19
19
19
22
76
26
81
85
88
92
95
95
55
57
108
107
53
48
42
33
80
72
73
74
74
73
69
70
20
72
72
73
76
80
83
38
39
41
95
96
100
101
53
55
55
108
108
52
50
100
100
100
98
44
46
44
95
100
103
52
104
107
57
111
116
65
66
66
63
62
110
109
55
108
108
55
55
105
104
47
45
96
100
98
96
97
46
46
45
99
47
47
46
95
94
41
39
89
91
43
45
103
57
62
117
121
122
123
75
78
124
72
125
126
124
122
122
115
60
107
101
97
43
42
38
40
95
99
101
103
105
48
48
49
48
48
47
44
91
90
36
35
36
39
96
96
103
112
66
71
76
81
136
134
78
75
70
65
59
106
55
56
56
54
105
103
50
49
100
99
228
228
229
229
255
255
255
255
226
223
255
255
191
220
177
90
142
144
146
145
102
103
155
102
99
147
141
88
137
138
87
88
88
88
87
85
84
134
132
132
81
134
131
80
133
83
84
138
140
84
79
74
121
120
119
64
61
60
58
108
107
104
97
96
95
41
91
89
89
89
91
38
36
34
33
85
86
84
31
30
79
79
79
79
29
81
82
30
30
81
80
77
75
73
70
68
14
66
9
9
8
58
58
59
8
8
10
10
10
11
63
63
63
64
12
65
65
14
66
66
17
19
20
21
20
20
19
72
74
74
75
76
80
31
29
86
90
43
100
103
104
109
60
110
109
55
102
95
34
30
80
81
82
78
22
16
69
69
68
69
18
71
73
77
84
34
35
89
91
97
99
103
105
106
107
107
51
49
99
98
45
44
94
95
42
42
47
103
52
53
101
100
100
104
55
58
60
65
115
59
107
52
104
53
59
59
59
57
52
101
100
100
97
94
42
46
98
95
98
45
43
93
93
42
42
92
90
39
43
46
101
106
62
64
118
120
119
123
124
72
72
73
74
125
122
121
65
61
56
103
47
96
95
92
41
41
42
42
95
93
97
97
44
43
39
89
84
83
83
32
33
36
37
92
101
56
118
125
77
80
137
140
138
83
80
76
121
114
54
55
55
56
55
53
103
48
47
96
94
226
226
255
255
255
255
255
255
223
220
255
255
240
222
214
172
88
88
145
143
148
147
148
149
96
145
140
139
89
87
84
135
136
83
83
130
77
76
74
75
127
127
122
124
74
77
129
128
127
72
70
68
118
117
114
56
58
110
57
107
105
102
97
44
94
91
90
90
89
85
85
33
34
34
34
85
84
81
28
27
79
80
80
27
29
81
80
28
79
79
78
73
72
71
69
68
14
65
65
63
8
6
6
7
8
10
11
63
12
13
13
14
14
68
68
68
68
68
68
68
70
18
19
19
20
20
20
73
78
77
76
76
80
82
83
86
91
98
54
110
112
115
112
110
107
103
98
93
37
32
78
82
83
79
22
21
71
67
15
67
17
71
72
72
74
24
28
32
86
38
40
48
50
103
102
50
102
102
49
97
95
41
40
93
43
43
95
95
44
45
47
48
100
101
103
107
58
62
62
116
116
116
64
64
64
113
59
58
57
105
50
51
50
101
101
100
101
102
98
97
95
95
44
43
94
92
44
48
50
49
55
60
112
114
116
67
68
120
120
120
69
69
70
70
123
123
120
64
59
55
52
50
98
99
98
95
41
39
40
42
94
95
43
40
88
86
35
30
30
31
33
88
92
97
107
61
70
128
78
82
138
145
142
138
133
73
68
62
52
52
51
52
53
52
102
99
46
97
95
224
224
255
255
255
255
255
255
219
217
255
249
234
213
219
188
150
137
94
143
143
91
93
146
94
92
141
139
88
86
82
81
132
131
130
126
125
72
71
70
70
71
116
118
68
122
71
71
69
68
118
116
114
114
111
105
107
107
54
52
102
47
43
43
93
91
89
88
35
31
32
84
33
33
85
84
30
27
78
77
76
26
26
25
29
29
28
79
78
25
24
20
19
70
68
67
13
12
64
63
61
59
6
8
10
11
64
64
65
65
13
13
65
71
71
71
71
71
71
71
72
72
72
73
73
21
21
74
78
78
78
78
80
83
84
87
94
102
58
62
116
118
61
111
108
102
43
38
83
81
79
80
27
77
23
22
20
15
14
15
17
69
71
70
73
25
29
85
88
87
89
95
97
97
97
44
48
100
48
45
94
91
89
42
41
91
94
42
93
91
93
96
46
48
100
50
51
56
58
62
64
70
70
123
121
118
62
59
108
106
104
54
54
54
54
102
47
46
43
94
42
96
98
97
44
44
45
99
100
103
56
57
59
113
114
65
65
67
118
119
67
68
121
70
122
121
122
66
62
58
55
53
100
48
98
96
94
93
94
43
43
95
43
42
39
89
90
86
85
85
87
38
96
103
112
66
73
129
79
81
84
141
140
137
133
74
68
63
54
53
51
50
50
50
49
46
45
44
94
215
215
216
255
255
221
255
219
215
255
255
192
175
155
197
198
169
137
87
84
88
137
87
89
90
143
89
89
137
134
78
75
74
70
121
119
118
65
63
114
63
63
110
111
113
114
62
64
115
116
62
112
112
111
108
103
103
102
101
99
97
43
41
93
90
36
87
34
33
29
29
29
29
29
80
79
25
25
76
75
23
25
26
77
80
27
26
76
22
20
19
16
16
67
13
11
10
9
8
60
60
60
8
10
63
63
14
14
14
67
66
66
14
21
73
73
73
73
21
21
76
76
75
75
75
23
23
76
77
78
80
29
31
32
33
92
99
56
64
68
122
69
64
113
107
47
36
30
75
77
79
76
74
74
75
17
16
14
15
17
19
22
16
69
73
77
30
87
90
89
89
91
92
92
91
39
43
45
47
48
47
96
94
44
93
91
46
47
94
88
91
39
39
39
42
46
48
51
54
58
65
76
131
133
79
75
70
64
109
108
110
109
111
61
61
54
101
45
98
98
48
50
53
103
103
51
48
98
101
106
108
54
56
109
110
111
59
113
114
61
62
63
64
65
68
120
121
65
61
58
107
106
102
50
100
98
43
43
96
97
44
44
44
45
46
46
99
95
42
94
95
99
53
115
73
76
130
133
82
81
80
82
82
82
131
127
121
64
58
54
50
98
97
99
47
45
44
43
41
201
204
209
255
255
218
255
255
213
213
255
197
183
165
139
141
160
129
84
79
89
85
87
141
142
90
88
139
133
130
126
72
71
120
118
65
116
115
113
60
113
61
56
109
109
109
110
60
113
111
58
108
108
108
54
48
48
47
97
94
93
40
40
92
90
87
86
86
33
29
77
25
25
76
75
73
19
73
72
19
20
22
75
75
24
24
23
21
20
70
69
66
13
12
62
61
7
6
4
57
58
59
9
62
63
11
12
14
15
68
17
18
19
23
75
23
75
75
23
23
77
77
77
24
24
23
23
76
74
25
80
83
32
30
33
41
49
109
64
67
120
67
114
58
51
42
32
76
77
78
26
26
75
71
69
70
69
65
64
65
15
16
18
18
74
77
30
34
37
89
89
87
87
34
86
86
38
92
95
50
54
56
57
62
112
109
54
102
95
38
86
88
39
42
44
100
101
51
53
110
115
73
76
77
77
76
125
120
56
57
58
111
114
117
68
67
116
114
110
111
59
61
59
108
105
104
103
51
52
54
108
107
55
54
106
106
106
57
110
109
109
60
61
64
67
120
120
64
60
56
108
106
51
102
100
46
43
43
96
99
97
46
45
100
104
55
105
101
103
104
107
59
64
71
81
133
134
83
135
134
80
84
82
80
75
123
118
62
56
54
50
99
98
97
96
96
95
94
92
197
201
207
255
255
218
216
255
214
212
255
199
187
222
146
141
101
72
137
131
140
85
87
89
90
90
139
139
80
77
126
123
71
120
118
117
116
115
113
61
61
61
54
55
55
55
109
111
59
57
108
106
54
54
53
46
48
46
44
42
92
40
40
40
90
87
86
86
85
29
75
75
75
75
21
19
17
18
17
17
17
72
73
21
23
22
22
20
71
70
17
13
64
63
62
60
58
5
3
4
5
7
60
62
62
11
12
13
15
16
18
19
20
25
25
77
77
77
25
25
26
25
77
76
75
23
75
75
21
24
80
83
32
30
33
42
101
57
64
66
118
117
113
57
50
41
83
74
27
26
26
79
76
71
67
73
71
13
63
63
63
64
19
19
74
77
30
34
36
36
87
85
85
84
84
84
37
38
93
103
56
60
114
122
120
65
56
101
42
37
82
86
40
46
99
100
48
53
106
111
115
71
74
74
128
76
126
119
109
56
57
55
109
114
66
67
66
64
115
115
63
64
113
109
105
103
104
53
54
53
55
108
106
106
105
104
104
108
57
55
109
110
113
115
66
67
120
117
60
58
57
55
51
102
100
98
43
43
96
99
98
98
45
48
105
108
107
102
52
106
59
114
120
74
134
134
82
135
137
135
132
136
134
131
125
121
117
62
56
53
101
99
97
97
43
96
95
94
92
244
255
255
214
219
255
218
220
218
216
213
255
255
247
225
137
144
73
82
80
130
129
134
141
141
88
141
88
138
136
79
76
125
119
117
61
59
57
55
54
56
56
57
110
111
110
110
107
53
54
106
54
53
103
102
97
43
42
42
40
39
38
87
87
87
86
86
84
81
77
23
73
69
15
13
13
14
15
16
68
70
71
20
21
22
22
21
72
69
68
15
66
65
63
62
61
61
61
59
60
8
8
7
9
64
66
66
67
16
17
19
22
77
79
28
82
82
82
30
30
31
83
82
78
23
75
76
77
75
77
26
27
26
24
26
35
93
101
106
108
56
115
55
50
98
91
85
79
78
77
24
75
75
23
23
72
71
18
16
66
64
64
17
21
25
25
26
29
30
37
88
85
84
82
29
80
87
44
50
55
58
61
114
127
124
121
120
66
54
42
86
75
64
32
38
35
83
105
106
106
110
70
81
144
134
131
128
71
106
100
47
53
108
111
114
116
65
116
121
70
69
69
116
113
60
114
110
108
55
52
53
109
107
106
104
51
50
103
103
57
110
112
113
114
61
59
110
110
58
57
55
53
101
102
48
45
43
42
44
101
101
101
50
52
105
108
58
61
61
61
63
65
120
127
130
131
80
82
136
136
136
132
127
69
118
66
118
116
60
110
54
102
97
93
37
42
42
42
40
255
255
255
218
223
255
255
255
255
220
217
255
255
255
186
208
171
140
67
71
72
133
140
146
148
97
99
99
148
94
92
90
89
82
80
76
69
60
55
107
54
54
105
104
104
103
50
47
47
45
98
98
97
96
94
91
40
40
39
38
89
87
86
83
83
82
82
80
78
74
17
16
14
13
12
13
13
66
66
67
68
69
70
18
20
19
19
70
17
16
15
66
65
64
10
9
9
10
62
63
64
10
61
9
10
63
64
66
66
14
16
19
74
80
81
31
32
33
33
32
32
32
30
28
27
26
78
76
73
74
75
76
22
20
22
24
29
89
95
98
48
53
47
96
92
89
83
79
80
80
32
87
89
39
39
34
86
28
25
21
19
18
69
20
25
25
77
23
22
26
27
82
30
28
27
26
85
88
100
120
66
65
121
74
82
87
71
114
106
49
35
80
75
73
28
34
33
74
86
49
63
82
73
61
123
120
118
118
116
114
116
109
111
115
118
121
69
121
72
73
75
128
123
119
65
65
63
63
114
112
56
110
111
58
57
58
58
59
111
113
113
112
111
109
55
54
55
106
106
105
52
50
46
48
47
45
95
94
96
100
51
53
56
110
112
61
63
63
116
64
64
67
70
127
127
75
76
77
129
128
76
68
64
61
113
113
115
113
107
55
104
51
48
44
41
42
42
42
93
255
255
255
255
224
225
255
255
255
255
217
215
255
255
190
218
135
151
114
124
73
135
142
148
100
101
157
156
149
148
148
147
93
86
84
81
125
114
107
106
105
103
102
101
101
48
47
44
96
43
43
42
94
93
39
36
37
37
36
88
87
86
86
82
82
30
28
26
24
21
17
16
15
14
13
65
65
65
66
66
67
68
16
17
19
18
18
17
16
16
67
66
13
12
10
9
9
10
62
64
64
63
9
9
9
62
62
64
64
64
13
16
19
80
82
31
33
33
33
32
85
31
31
82
29
28
79
76
73
73
75
75
73
72
19
19
24
82
87
91
93
99
41
91
36
34
31
27
80
30
36
41
44
45
47
45
42
32
28
77
23
24
73
73
25
78
77
23
22
25
26
81
29
28
27
80
85
91
102
113
60
62
67
67
69
67
59
104
93
31
34
80
74
0
6
69
66
26
40
52
112
119
68
66
116
113
112
115
120
122
125
114
116
119
121
124
72
71
72
74
75
75
72
68
66
68
118
118
117
63
59
61
114
115
63
63
63
65
117
118
116
114
111
109
53
52
53
104
104
103
49
48
43
96
95
93
40
41
94
99
51
54
57
61
115
64
116
118
118
118
119
68
69
73
126
126
74
75
127
126
72
63
60
58
110
112
114
112
53
53
52
51
49
46
96
94
94
94
94
255
255
255
255
227
226
225
255
255
255
220
211
205
199
235
172
156
168
108
125
128
140
94
103
160
162
169
116
158
159
160
108
105
147
144
137
133
124
63
56
51
102
101
100
97
96
43
43
43
93
92
40
92
39
37
34
33
33
33
85
84
32
83
84
31
31
82
80
25
21
70
17
17
15
14
64
63
10
62
11
63
11
64
12
17
17
69
68
16
16
15
65
12
10
9
60
60
60
7
9
63
63
9
9
8
61
64
12
64
12
65
68
18
77
80
31
33
32
33
33
84
82
82
82
82
28
26
26
22
21
74
73
73
71
16
68
18
22
26
27
79
88
83
82
30
29
28
26
82
32
43
47
50
104
104
49
48
96
40
34
29
78
79
77
76
79
80
29
28
80
28
34
40
45
49
102
102
51
46
55
137
161
115
115
106
150
169
127
120
109
135
185
196
196
192
171
135
70
11
18
91
111
116
70
56
103
104
110
121
76
134
126
128
78
79
79
77
76
73
124
123
70
68
69
69
71
69
120
119
66
67
70
71
73
73
75
127
128
75
128
126
121
116
112
54
52
50
102
101
100
46
96
91
90
90
90
92
42
44
49
102
105
57
61
117
118
117
120
120
120
122
69
70
70
69
121
120
120
117
64
61
55
106
51
53
106
107
105
101
49
51
52
52
49
100
98
98
97
97
255
255
225
255
255
255
229
227
224
255
255
210
255
248
183
180
220
175
55
74
133
93
97
157
161
114
121
119
115
168
119
120
171
162
105
95
92
137
78
123
58
53
106
102
96
94
40
94
43
42
42
43
41
41
38
36
86
34
34
33
84
31
80
82
30
80
79
78
26
25
72
72
19
70
68
67
14
63
63
63
63
63
63
63
10
11
65
66
14
65
12
10
9
61
60
59
6
57
59
7
7
7
8
9
9
9
10
63
66
68
18
20
20
78
80
81
29
81
29
30
85
84
32
31
81
27
26
24
23
23
74
74
74
23
20
19
70
18
19
73
74
27
24
76
26
80
80
79
84
87
45
49
104
104
105
46
46
98
93
90
85
83
78
28
33
33
33
84
84
87
35
57
115
111
58
56
99
46
28
127
149
190
210
165
160
172
119
189
187
134
136
183
183
183
177
180
137
148
206
149
85
56
56
105
116
106
57
66
64
68
121
78
131
133
82
79
78
77
130
126
120
65
118
118
116
65
65
67
120
70
122
71
76
76
79
83
84
138
137
85
132
126
120
63
58
108
103
101
98
45
96
95
92
91
39
40
93
43
45
48
104
106
57
60
116
117
118
118
119
121
121
123
70
69
121
117
63
62
115
116
60
52
103
102
49
48
100
48
49
102
52
105
53
52
49
93
94
97
99
222
255
225
227
255
228
227
227
223
255
255
255
255
243
178
230
221
178
105
69
80
92
149
156
161
114
121
119
118
171
121
174
174
111
107
100
148
141
135
128
115
111
65
57
48
93
39
43
98
43
96
96
44
42
41
37
34
34
34
34
85
84
28
29
80
80
79
26
25
23
72
72
71
70
68
15
14
63
63
11
63
11
11
63
63
11
12
12
64
64
12
9
61
60
59
58
5
57
58
6
7
7
7
8
9
9
11
12
66
68
70
19
20
78
80
81
81
80
80
82
31
32
31
30
28
26
77
76
24
23
75
74
75
74
20
20
19
19
20
73
22
26
75
75
78
79
79
78
83
86
95
49
51
104
104
97
46
44
93
89
85
84
29
31
36
37
36
89
89
93
98
64
119
117
61
57
50
39
65
192
189
138
148
113
159
119
115
184
180
179
185
182
182
131
125
178
185
200
190
172
130
92
61
63
112
106
56
61
64
118
116
75
77
131
80
80
78
129
128
124
68
65
117
117
115
117
65
118
119
119
121
69
74
76
131
134
84
86
137
137
81
75
122
67
58
107
53
102
100
46
46
96
93
90
39
41
42
43
46
100
104
106
109
112
63
116
118
117
118
120
121
70
70
69
119
116
61
60
61
111
108
103
102
101
48
47
47
47
49
102
52
53
105
52
50
94
95
97
99
255
255
224
225
227
226
226
255
220
217
216
255
250
180
227
221
154
124
112
116
78
91
148
105
109
115
175
173
174
123
122
176
177
118
115
164
160
157
101
97
140
136
85
75
61
100
42
40
93
95
96
97
44
44
93
38
35
35
35
35
33
84
29
28
80
79
26
25
24
23
71
71
18
17
67
14
65
62
62
10
9
9
61
61
63
10
8
7
59
59
61
58
58
57
56
55
55
55
3
4
4
5
6
60
9
10
14
67
68
69
70
71
71
78
80
80
79
78
79
79
80
79
79
27
26
26
26
77
26
78
25
77
24
23
76
74
22
74
74
22
22
74
73
22
76
78
25
24
79
79
87
39
43
46
47
42
43
39
38
88
86
35
89
39
45
47
99
99
99
103
112
68
69
69
59
99
54
169
144
149
196
133
195
174
117
129
174
138
135
187
189
189
139
142
137
187
188
130
195
187
127
73
29
87
106
63
71
120
119
68
112
128
77
79
79
75
126
124
70
69
66
117
64
115
115
118
65
117
118
117
117
117
123
74
77
132
84
85
137
135
83
79
77
73
60
56
106
104
103
102
50
48
42
93
94
42
43
96
45
48
49
52
106
110
61
63
117
115
64
65
67
68
120
119
118
116
113
57
55
104
100
97
44
96
95
94
95
95
49
49
103
54
54
104
103
99
99
99
100
255
255
255
226
226
225
255
255
216
213
209
252
243
176
218
194
117
107
70
113
124
84
142
100
160
167
178
126
176
174
121
174
122
120
170
165
165
163
111
111
156
152
89
135
126
117
106
40
36
90
40
42
42
42
39
37
38
39
38
90
37
36
84
29
80
27
26
25
24
24
19
71
18
17
67
66
13
62
10
9
9
60
59
59
61
60
7
6
5
57
57
54
54
54
53
53
1
1
4
4
58
60
9
64
66
66
69
70
71
21
22
23
24
77
79
79
78
25
76
78
75
75
75
24
25
26
27
78
80
81
28
27
77
23
25
27
26
78
24
23
22
18
19
21
76
77
75
22
23
22
75
77
29
85
87
84
83
30
31
33
88
91
93
96
102
105
106
55
55
107
105
58
60
113
61
114
112
109
185
190
191
201
193
173
171
184
177
192
191
193
136
138
138
141
193
189
186
192
137
190
180
166
104
78
100
52
62
120
117
72
74
129
130
78
129
122
119
65
64
118
118
117
114
114
63
65
65
65
66
65
65
117
121
122
73
76
130
130
77
78
128
128
125
72
61
57
108
107
107
55
106
104
97
94
94
95
43
96
96
46
46
48
51
54
57
58
60
58
111
61
63
116
116
115
115
115
114
58
52
47
45
44
43
43
95
94
94
95
47
49
103
105
107
106
104
100
99
98
97
255
255
255
224
224
255
255
255
255
211
203
192
238
227
198
177
104
103
120
105
120
131
138
148
157
166
128
127
176
174
119
172
172
171
170
116
167
167
117
117
111
160
146
88
131
69
112
98
42
37
39
40
40
39
39
37
91
39
40
92
91
37
86
81
80
28
27
26
25
24
19
19
18
17
67
66
13
10
10
9
61
60
59
6
7
7
7
59
58
56
55
53
53
53
52
0
0
1
57
58
59
61
64
67
68
69
70
71
73
75
25
26
27
77
79
79
78
23
23
25
74
73
74
75
24
26
79
25
80
82
29
27
77
76
79
28
28
27
25
75
74
16
18
72
76
24
74
20
21
20
18
72
23
27
81
78
77
25
28
31
88
91
97
99
53
56
110
110
59
110
105
58
55
55
126
149
175
111
129
184
188
204
201
176
174
135
176
190
137
139
192
140
139
141
194
191
187
195
188
187
124
166
173
111
71
107
104
115
67
74
130
126
126
75
75
123
120
118
63
65
66
64
113
114
115
66
65
65
66
66
67
120
119
121
123
75
127
126
73
74
124
71
71
120
114
110
61
112
111
111
110
108
100
94
94
94
43
43
95
44
45
46
49
52
54
108
57
57
58
60
61
113
62
114
59
60
59
107
101
44
44
96
95
95
95
43
43
44
99
49
103
105
106
106
53
101
47
98
95
255
255
209
209
255
255
210
210
209
255
245
231
219
197
170
101
154
158
50
105
126
79
87
148
102
106
169
169
167
115
115
117
171
177
180
180
180
128
179
179
119
115
153
99
94
138
125
107
105
52
45
92
43
47
99
93
39
39
91
91
89
88
85
84
32
30
81
79
25
23
73
21
20
19
17
68
67
14
14
65
63
61
8
7
5
57
57
56
56
56
55
51
51
50
51
51
1
54
56
56
57
61
64
67
19
21
23
24
77
78
79
79
80
79
79
78
78
25
25
24
21
21
73
74
24
26
28
28
29
80
79
27
78
76
25
26
78
78
77
75
22
74
28
30
83
31
28
77
73
71
17
18
69
63
7
13
12
77
32
38
94
98
55
56
114
63
65
65
64
116
68
127
106
73
160
116
103
171
192
144
194
193
194
186
133
136
182
183
137
137
191
193
193
197
199
144
190
184
147
149
133
122
127
170
165
126
103
112
74
70
71
126
131
84
137
70
63
61
108
62
63
63
61
63
66
66
116
63
65
120
117
62
113
115
117
66
68
68
67
123
119
121
121
60
56
55
65
118
118
69
69
61
35
101
48
97
97
94
42
41
95
97
47
49
103
104
54
56
55
110
110
110
58
108
57
54
51
102
101
49
48
99
46
44
94
42
44
98
50
51
105
53
54
54
53
51
48
43
93
245
198
204
255
199
195
244
194
192
240
228
212
197
175
166
107
156
90
43
47
108
70
79
140
93
99
163
166
116
117
171
121
122
124
176
175
175
175
175
123
117
114
154
152
94
139
128
112
57
105
99
94
96
99
98
94
39
40
40
39
38
88
85
84
32
30
81
79
77
75
74
21
20
71
18
17
68
14
66
65
63
61
8
7
6
58
58
57
57
4
56
1
1
1
1
53
55
56
57
58
59
61
64
67
19
21
24
25
78
79
79
81
81
81
80
78
77
23
21
73
21
21
22
75
77
78
27
28
30
29
82
30
30
28
77
76
77
77
76
24
75
64
66
16
16
17
18
70
20
71
71
72
19
16
66
24
23
21
77
83
37
43
47
50
111
115
117
67
119
67
68
114
119
156
179
166
157
170
188
144
140
140
141
189
188
139
183
184
136
136
191
192
192
196
146
143
137
186
197
148
185
125
129
177
173
103
139
134
88
87
134
136
83
81
131
133
77
71
66
57
53
56
118
118
115
58
118
75
79
127
116
61
62
62
114
116
65
69
121
120
62
63
119
118
73
74
77
124
119
64
64
65
116
55
54
106
103
101
98
43
42
43
45
46
100
101
52
57
109
110
110
111
58
108
110
55
53
51
102
102
49
47
45
45
45
46
100
103
53
107
107
56
56
56
106
104
101
97
94
230
237
245
250
247
192
242
242
242
189
177
200
186
167
172
159
144
69
44
105
109
118
73
82
140
94
160
110
112
113
115
118
118
117
117
116
168
168
117
117
163
108
101
150
143
85
77
61
110
104
98
42
96
47
45
43
40
40
40
40
90
89
86
32
32
30
29
27
77
75
22
21
21
19
18
17
16
14
66
65
63
9
60
7
58
58
58
57
57
4
4
2
2
2
2
3
56
58
58
59
60
9
64
67
71
20
24
25
26
79
28
29
81
81
80
78
76
74
72
71
21
22
23
76
77
79
27
26
80
29
81
82
82
80
76
76
24
24
76
76
76
17
16
16
16
70
19
73
25
22
69
72
24
31
87
85
85
78
78
82
34
88
45
49
58
62
118
69
123
115
67
108
70
112
183
165
160
169
133
143
140
139
194
191
137
141
185
184
136
135
191
192
140
195
197
193
135
135
145
198
186
179
132
128
171
164
102
144
145
93
138
140
136
82
83
141
142
137
125
113
55
57
67
65
114
110
59
59
105
101
61
70
70
69
66
61
105
91
87
115
52
56
71
81
136
127
76
123
66
63
61
116
125
57
58
57
108
107
103
99
100
100
49
50
51
53
56
57
110
111
112
112
111
58
111
108
53
52
103
103
102
47
46
45
46
48
103
54
56
109
109
58
58
109
108
103
100
97
95
195
197
201
157
169
171
172
227
214
145
124
155
159
155
131
69
59
53
52
49
39
108
64
72
129
135
150
101
159
160
110
111
113
165
164
113
164
111
110
162
155
152
92
137
78
123
119
107
51
46
42
93
95
44
43
45
93
93
93
92
91
89
86
84
32
30
29
27
77
75
75
74
73
20
19
18
69
66
66
65
63
61
60
7
5
57
56
56
4
3
3
4
3
55
3
4
5
59
59
7
8
9
11
14
16
19
22
23
24
76
78
79
79
28
27
24
75
73
20
20
74
75
77
78
79
79
27
78
80
80
80
81
80
78
23
22
21
23
24
76
77
29
24
23
22
75
23
75
71
19
20
21
75
78
29
16
24
78
78
31
35
85
89
94
53
55
109
63
67
117
128
118
79
109
175
166
112
114
180
194
137
137
144
188
187
140
133
185
137
135
189
190
190
192
194
138
132
138
192
190
184
181
136
137
169
117
111
96
138
89
139
135
136
139
143
149
154
106
105
98
139
127
119
70
73
79
95
118
182
183
116
166
116
121
130
188
191
188
133
114
124
94
98
116
126
64
121
119
115
111
56
58
124
62
117
68
122
124
69
65
60
58
57
107
106
106
56
59
60
113
114
115
115
60
62
58
54
53
52
103
102
102
102
101
49
104
107
110
110
111
60
112
111
58
108
49
99
97
97
195
192
141
147
158
203
143
173
153
88
88
91
127
104
113
55
57
58
99
104
106
101
108
115
69
125
140
144
96
96
147
96
98
153
154
155
102
101
98
149
88
85
136
128
68
114
111
101
45
94
40
91
42
43
43
100
94
94
94
94
93
91
88
85
32
30
29
27
78
76
75
23
22
21
19
18
17
66
66
65
63
9
60
7
55
55
55
54
54
2
1
55
55
3
3
4
5
59
58
6
6
7
9
12
15
16
71
19
20
21
22
22
74
76
76
23
23
22
22
21
22
76
78
78
78
78
78
32
33
85
84
84
30
28
23
20
72
74
75
25
26
25
78
78
27
26
25
24
76
69
5
6
68
83
94
83
39
77
21
27
33
32
96
50
61
63
117
71
76
142
144
82
150
166
171
116
168
165
175
192
187
138
146
184
185
138
134
134
138
136
189
138
137
191
193
136
130
192
188
131
129
131
138
192
185
125
113
150
74
76
133
132
133
134
133
136
142
146
97
99
147
140
148
167
181
174
179
184
135
187
134
136
190
191
191
139
192
192
193
135
115
97
127
100
67
96
135
130
121
113
58
62
73
66
121
128
82
137
86
82
129
76
71
67
65
115
116
60
61
63
64
117
117
64
62
60
108
54
52
104
102
106
105
103
103
53
107
111
110
111
60
112
59
57
55
98
97
96
96
124
85
94
94
150
146
138
144
84
79
79
114
105
103
107
54
53
52
50
106
110
102
102
105
60
65
72
129
79
81
83
85
137
134
133
135
81
79
130
127
66
64
66
112
52
47
47
43
92
40
42
42
44
96
96
44
42
42
42
94
93
91
88
87
85
32
31
29
28
78
74
22
21
20
19
19
18
15
66
65
62
61
59
58
57
4
3
2
2
2
2
4
55
54
2
2
55
57
4
4
5
5
6
59
7
60
64
65
15
16
70
19
20
22
73
73
20
20
19
19
22
23
26
28
29
29
29
86
33
31
30
31
31
30
26
26
26
27
80
80
28
26
84
88
88
85
83
30
24
18
136
159
194
147
148
165
179
157
83
70
50
81
36
47
70
130
137
91
94
98
99
90
146
160
119
170
165
163
171
132
133
191
149
184
184
138
136
133
134
131
135
135
136
137
136
186
186
142
135
126
126
187
138
137
127
177
164
155
68
66
117
118
67
117
114
73
78
76
66
125
148
173
134
122
167
189
190
139
191
189
189
137
191
191
192
143
147
198
195
179
166
167
108
138
137
165
148
83
116
70
120
124
126
66
121
125
78
81
83
84
136
135
131
126
123
68
64
70
69
120
66
66
66
67
61
111
108
53
51
51
103
104
52
104
104
53
54
56
111
59
111
112
113
60
57
102
47
96
42
102
110
115
115
123
72
69
74
69
66
119
107
107
111
108
114
118
114
47
46
49
53
51
51
107
111
67
72
70
71
72
125
126
71
122
123
122
121
119
63
55
104
105
99
95
40
92
91
38
43
44
43
96
95
95
43
42
42
42
94
93
91
88
35
33
32
30
29
79
77
74
21
21
20
19
18
18
15
66
65
63
9
8
6
5
4
3
2
1
2
2
3
2
54
54
54
55
56
3
3
55
3
56
56
4
56
61
62
63
65
67
68
16
20
20
20
19
19
19
19
72
75
78
28
29
30
30
34
33
83
82
82
81
28
27
78
79
80
81
81
29
17
33
91
95
42
87
27
86
24
139
195
138
184
183
199
136
149
142
142
83
74
100
104
127
137
144
100
108
101
103
143
144
107
120
174
163
161
167
182
184
192
150
132
182
136
137
134
187
185
186
187
188
137
136
134
186
145
135
126
178
189
189
135
128
125
113
153
58
57
57
54
105
103
105
67
66
58
62
88
119
135
183
179
123
135
188
189
189
186
130
131
184
133
137
141
196
192
136
124
166
162
155
148
141
153
198
133
111
64
69
78
127
121
72
127
80
82
84
137
142
140
135
130
126
121
64
72
70
70
120
67
67
68
112
111
109
54
53
53
106
103
104
53
106
107
55
56
56
55
57
58
60
59
58
51
48
96
95
71
73
73
122
116
116
62
66
61
60
117
127
143
107
115
116
170
174
166
84
108
99
47
51
56
110
111
113
57
57
110
112
113
62
63
113
59
107
103
98
39
36
89
88
35
88
90
39
40
95
95
94
42
94
92
92
94
94
94
94
93
91
88
86
32
31
30
28
78
77
21
21
20
71
70
70
69
67
66
13
10
9
7
6
4
3
2
1
0
1
1
53
53
54
54
55
55
55
53
1
53
53
53
53
1
1
55
57
58
60
61
62
63
68
68
68
16
16
16
15
70
73
76
79
29
29
82
33
33
32
83
81
79
77
79
79
80
30
83
83
84
90
38
33
82
32
38
43
110
73
129
159
183
183
176
190
137
125
158
135
120
115
133
127
85
96
155
162
117
109
107
138
82
98
169
123
113
107
110
178
184
193
203
184
177
129
136
133
134
187
183
132
133
135
134
134
185
201
136
125
179
140
136
133
185
176
167
155
41
45
43
93
87
40
48
32
52
138
172
182
182
171
175
130
131
183
134
187
187
133
132
133
183
134
138
191
189
179
123
161
163
110
156
161
186
129
193
142
116
52
108
125
80
77
78
80
134
84
85
139
140
138
134
128
70
65
60
66
118
66
119
117
65
117
117
117
62
58
55
105
52
49
102
103
52
52
51
49
51
102
102
52
55
57
56
105
49
46
96
73
74
75
77
73
72
73
68
56
107
125
105
154
150
156
106
104
102
118
116
106
109
108
109
111
112
56
58
52
103
101
98
45
44
43
89
87
86
32
30
80
80
84
34
34
87
87
38
39
38
90
91
39
91
39
39
95
95
95
95
94
91
88
85
33
31
82
28
27
25
72
72
71
71
70
69
16
13
12
11
9
7
5
4
3
54
1
0
0
52
1
1
2
3
56
5
4
56
54
2
54
53
53
52
52
0
0
53
54
56
5
59
59
64
65
65
66
66
66
66
67
70
22
77
27
28
80
29
32
84
31
82
80
25
79
80
81
83
33
34
86
96
81
31
26
89
86
141
118
183
190
185
166
117
122
186
189
184
129
126
166
151
140
143
88
98
111
163
151
166
159
77
79
98
117
123
119
109
106
120
128
191
202
188
176
178
188
183
184
134
182
131
132
135
134
186
185
204
138
126
180
193
187
182
187
176
172
161
87
97
96
91
47
38
70
119
166
139
127
176
176
179
126
127
130
131
133
135
187
189
145
148
195
196
143
140
136
133
134
182
180
176
130
141
137
130
181
178
184
110
88
131
130
132
131
81
133
83
84
137
83
132
129
124
121
66
63
69
69
123
124
124
125
126
124
124
71
68
117
62
60
106
105
103
100
46
45
96
100
100
98
98
49
51
104
53
49
45
95
124
71
73
125
68
68
71
56
60
123
140
150
97
99
150
160
164
105
106
112
162
117
114
60
112
110
56
59
50
101
97
40
36
85
85
31
30
28
29
29
82
30
30
31
33
86
34
35
36
89
88
90
90
38
39
40
43
43
95
95
94
39
36
85
84
83
82
80
27
25
20
72
71
70
70
17
16
12
64
10
8
6
5
56
55
54
1
0
0
52
53
53
2
4
5
58
57
56
55
3
2
54
53
1
52
52
0
52
54
55
5
6
7
64
64
65
65
66
65
13
66
69
21
24
26
27
28
80
83
32
32
31
80
78
80
28
29
84
85
86
35
41
77
22
1
45
85
143
109
194
168
180
120
125
109
179
189
125
168
170
170
113
157
105
77
135
157
110
97
169
160
76
131
100
119
175
174
161
157
118
127
191
202
190
124
126
188
182
183
133
129
182
132
134
134
186
185
204
190
177
180
192
186
182
188
175
121
111
88
99
97
100
53
30
57
164
188
166
181
178
127
184
119
123
134
183
183
132
133
188
199
152
145
145
143
140
135
138
141
138
132
178
186
149
135
127
129
129
192
181
170
160
71
79
132
132
81
82
84
84
77
127
123
69
65
63
114
119
120
121
123
124
124
73
72
74
126
124
122
68
66
58
56
53
101
97
96
95
100
98
97
97
99
101
101
53
50
97
94
150
160
172
179
136
137
136
127
110
116
176
148
101
100
108
167
164
161
107
106
168
139
109
55
65
55
112
102
100
93
36
32
30
26
28
25
25
26
26
78
28
28
30
31
31
32
84
81
82
83
84
88
90
92
93
94
44
44
96
95
93
91
37
34
85
82
80
78
77
25
18
19
19
18
17
15
65
10
9
8
8
8
7
56
57
57
3
1
1
1
2
55
55
56
56
57
58
7
57
57
4
56
56
3
55
55
0
52
53
54
55
5
6
8
8
9
62
63
63
63
14
68
70
22
24
26
26
77
77
77
25
25
25
77
75
26
28
82
32
34
35
88
59
33
104
145
206
196
125
170
169
118
123
127
183
109
114
128
127
121
170
171
174
108
99
148
141
143
102
114
104
125
128
145
160
113
115
118
165
180
183
181
132
136
131
125
140
138
182
182
132
178
129
134
187
136
134
125
180
185
186
185
131
127
127
125
129
120
66
87
97
91
75
89
94
123
112
183
176
128
132
136
189
189
136
133
132
133
136
192
190
134
191
138
137
185
184
183
132
130
182
188
194
142
134
130
183
128
120
167
165
185
129
123
77
133
127
121
120
69
64
63
63
60
59
56
53
117
119
122
126
128
129
79
79
131
130
129
128
74
125
74
73
72
67
61
107
102
45
44
96
96
98
99
46
39
91
91
39
226
236
247
253
206
209
209
201
188
181
225
186
127
120
129
129
181
181
111
112
175
132
58
56
114
56
58
52
99
91
85
82
29
24
77
75
76
76
24
78
78
78
28
29
31
32
32
79
79
81
83
86
38
40
93
95
98
98
98
96
43
41
38
88
86
83
81
79
26
25
19
19
18
17
16
14
13
11
10
9
9
61
59
57
59
6
5
55
2
3
55
5
5
5
58
7
8
60
59
59
7
7
6
58
58
57
4
3
2
3
3
4
5
6
7
60
61
9
10
62
13
14
67
69
70
71
72
23
75
22
74
74
74
74
75
25
27
30
84
85
34
112
105
119
198
194
199
188
136
126
121
123
126
181
182
121
115
118
124
124
122
120
172
169
105
103
100
145
136
151
96
140
143
151
158
111
111
113
168
125
128
182
132
137
134
127
133
134
183
132
129
124
128
135
187
188
185
125
130
134
134
132
182
125
121
117
172
117
63
77
41
19
103
163
137
170
181
117
179
183
136
139
188
184
129
133
136
190
191
190
136
188
138
189
186
184
183
182
129
124
182
189
191
190
191
141
141
125
110
171
126
191
174
120
75
129
72
66
116
64
112
111
58
57
53
50
97
52
106
110
114
118
68
70
129
128
128
75
76
78
79
78
77
127
73
69
65
61
49
99
97
96
94
94
91
89
89
89
37
247
252
204
206
211
208
203
253
245
189
186
217
200
184
187
184
184
133
118
115
115
75
59
109
60
57
58
105
99
91
83
29
29
76
76
23
75
75
76
77
26
26
80
81
82
84
32
29
81
82
83
35
38
40
42
43
98
98
98
97
96
42
39
37
87
84
81
79
26
25
20
71
70
69
67
66
14
12
11
10
10
62
61
6
8
7
6
55
3
3
4
5
5
6
7
7
8
61
60
60
8
7
59
59
58
58
4
4
3
3
4
5
58
58
59
60
9
9
10
10
65
66
67
68
69
70
70
73
73
73
20
21
21
72
73
75
77
27
81
82
31
97
149
131
187
208
146
152
135
131
179
176
124
180
183
177
120
116
169
170
173
123
112
118
110
157
156
98
91
138
143
153
153
153
104
161
161
111
115
121
126
183
184
188
135
127
183
185
183
132
128
123
127
134
186
188
186
178
130
185
185
131
129
176
174
117
168
171
14
18
84
35
90
127
123
178
179
167
178
131
135
190
185
129
178
188
189
188
135
133
136
190
134
133
184
183
131
184
131
126
183
136
135
186
196
199
188
122
109
124
186
140
124
73
126
124
70
68
69
113
61
114
111
57
53
50
97
47
48
105
57
61
64
120
126
74
74
73
75
129
132
76
76
127
72
121
117
63
53
102
99
97
96
93
90
87
87
87
35
255
214
218
218
255
255
215
255
255
205
198
243
221
204
195
191
139
135
188
166
76
71
63
111
60
61
112
58
101
91
82
81
82
78
75
23
76
76
77
26
26
26
80
80
27
28
82
35
38
87
36
91
93
41
42
41
98
98
98
96
95
41
90
90
89
33
30
27
26
25
24
22
20
18
17
17
17
16
15
66
66
66
13
10
61
60
7
5
4
5
5
56
5
57
58
7
8
8
8
60
60
8
59
7
7
6
4
4
56
5
59
61
62
8
8
9
10
11
11
63
65
14
67
70
71
20
73
72
72
72
20
20
19
19
23
23
77
78
28
28
29
39
142
193
183
215
149
145
138
135
189
185
182
179
124
183
178
122
170
165
161
162
117
113
114
116
113
161
159
84
139
112
119
166
108
107
161
160
114
112
172
186
188
185
187
130
128
132
130
181
130
123
124
181
184
137
137
177
130
132
184
182
128
124
178
125
125
180
16
22
103
161
175
174
124
130
122
187
132
135
136
189
185
182
181
187
184
129
130
133
136
186
186
133
184
183
183
131
132
125
184
134
135
137
146
141
128
179
118
131
143
189
107
72
126
124
123
70
123
116
63
63
62
60
109
53
49
98
50
55
112
65
69
74
124
126
75
127
76
128
129
129
128
125
71
68
117
115
59
56
54
50
48
44
41
87
35
35
35
222
223
225
255
255
255
223
218
255
255
250
255
197
173
167
151
212
154
106
103
78
64
116
111
61
119
111
62
106
96
85
80
80
80
77
79
78
77
77
26
31
84
85
84
32
87
88
85
33
38
38
92
93
41
42
96
96
96
43
93
41
40
39
89
86
30
28
27
26
75
74
22
21
20
19
19
18
19
18
69
68
66
65
12
12
12
11
9
7
6
57
56
5
7
8
8
8
7
7
60
60
8
8
6
57
4
6
58
7
59
60
60
8
9
10
11
65
66
67
67
14
68
69
20
74
75
24
21
21
22
23
22
23
23
27
81
30
81
29
83
32
38
110
186
145
147
197
200
200
191
139
146
145
136
126
182
187
172
171
174
164
147
105
117
166
114
122
175
168
141
157
141
160
117
111
166
108
166
154
163
168
122
195
185
188
134
173
132
134
174
127
128
125
131
184
185
137
178
124
136
131
182
175
183
177
188
125
142
16
108
162
172
126
183
132
128
131
135
136
189
191
195
141
184
176
178
179
182
183
132
134
135
137
198
145
182
176
134
131
130
184
187
191
194
138
132
133
180
178
131
138
187
105
70
75
128
73
70
70
121
119
68
64
113
109
55
53
104
106
57
114
118
123
79
76
74
122
119
118
66
68
81
129
124
69
65
115
113
56
108
107
53
50
97
40
38
36
35
35
225
225
226
227
227
255
225
222
255
255
202
255
194
168
205
194
198
142
109
156
85
122
118
112
112
66
60
114
108
47
89
83
82
29
80
81
80
29
81
82
33
35
86
86
86
37
39
37
36
38
39
40
93
93
94
95
96
44
43
41
41
92
39
38
36
31
29
28
80
77
74
22
21
21
72
19
18
19
71
70
68
67
66
65
12
12
11
9
8
58
58
3
4
6
7
7
59
58
59
59
60
61
60
7
6
58
58
59
7
59
60
8
8
10
10
64
65
66
67
15
67
68
18
20
73
74
23
23
23
24
25
26
25
77
82
84
85
32
33
86
88
30
110
184
142
144
144
148
147
141
140
198
145
138
129
175
181
176
122
174
117
109
154
166
170
167
171
122
122
101
154
151
149
156
110
159
159
168
158
111
115
172
193
185
187
134
173
131
133
175
127
128
177
130
132
185
136
177
175
187
131
183
175
183
179
188
177
142
35
75
124
174
179
184
186
130
133
187
189
190
140
197
196
135
127
176
179
181
183
131
181
181
188
193
140
132
180
136
134
181
186
192
192
191
189
135
130
125
182
133
134
189
157
66
123
74
74
73
73
125
124
124
68
64
60
109
108
104
105
57
112
117
69
126
130
128
72
67
64
114
114
129
74
70
68
118
116
62
58
110
110
55
52
99
43
93
40
38
38
226
226
228
229
229
255
255
227
255
255
214
206
242
217
151
204
196
137
128
157
141
139
124
61
112
115
65
115
59
56
49
93
85
83
35
32
86
37
40
94
42
41
39
39
40
43
98
98
45
42
42
95
43
94
95
95
44
44
43
41
93
92
39
39
36
84
30
29
80
77
74
22
22
21
21
20
72
72
20
71
70
69
16
16
66
65
64
10
61
8
7
3
3
56
56
57
57
57
59
60
61
62
11
11
62
62
60
8
61
61
9
9
9
11
64
65
66
67
16
69
70
18
19
21
21
74
74
27
28
29
29
31
84
83
32
36
37
37
90
92
94
19
113
176
137
137
145
148
199
145
142
144
195
192
189
131
128
131
128
171
114
116
158
158
171
118
116
119
126
177
111
110
148
91
96
94
146
106
111
112
114
171
183
184
133
133
173
127
131
176
125
126
175
129
131
131
135
177
173
185
129
131
176
182
131
187
182
190
83
111
136
127
130
187
188
133
133
186
185
189
140
146
147
141
136
133
184
183
182
181
179
177
182
127
127
134
189
133
135
188
191
140
189
184
133
187
185
122
184
187
126
135
129
112
66
71
71
122
123
69
116
116
61
57
54
105
107
111
114
118
70
74
128
131
128
74
72
119
113
56
102
111
110
57
56
109
108
53
53
106
54
53
50
46
94
91
37
34
33
225
226
255
255
229
227
255
255
255
219
215
195
236
172
157
154
150
143
134
113
86
135
120
66
67
112
121
64
61
61
59
105
97
90
91
37
40
43
47
101
49
48
99
99
47
51
105
104
51
48
47
100
99
98
97
96
96
96
43
93
93
92
91
39
36
84
82
29
80
77
74
74
22
22
22
21
73
71
19
71
70
18
69
69
15
15
14
64
63
61
9
58
5
5
57
57
58
7
62
63
12
13
13
65
12
11
11
63
62
10
10
9
61
65
65
67
68
69
18
70
74
23
24
26
27
27
80
82
32
34
35
37
89
37
38
93
94
43
44
98
101
32
129
174
186
130
146
147
150
197
190
139
141
192
191
140
132
124
126
178
173
116
170
162
159
116
123
123
171
177
180
156
171
111
92
148
133
94
109
116
120
118
165
132
132
133
173
124
129
127
176
178
122
128
182
130
186
181
174
184
128
133
176
181
183
186
141
126
93
109
166
180
130
133
133
131
129
181
132
133
134
136
136
135
135
146
191
184
181
180
181
181
171
122
125
181
184
134
187
192
136
132
130
183
130
179
185
175
123
186
195
138
59
124
76
77
125
120
66
60
55
106
103
103
53
55
63
63
117
122
74
77
131
131
129
76
75
124
68
64
60
53
103
100
47
100
102
101
101
103
52
52
50
100
96
90
36
33
32
224
255
255
255
255
255
226
255
255
216
255
235
176
222
216
204
201
193
127
118
137
127
115
68
71
112
121
64
64
116
116
112
55
96
94
42
44
47
102
104
106
54
53
53
105
108
58
56
107
50
50
50
101
99
46
45
96
96
95
41
41
92
91
41
38
86
84
83
31
28
22
22
22
22
22
22
22
70
70
70
18
17
69
69
16
15
15
64
63
62
61
60
59
58
6
6
60
61
64
65
13
14
66
13
12
11
64
63
63
11
10
10
62
65
66
67
68
18
70
19
24
25
26
29
30
31
84
86
36
37
39
93
94
43
44
101
102
102
103
106
108
44
139
122
186
179
199
200
203
196
187
138
140
139
188
189
189
120
171
125
125
171
170
115
103
110
122
125
172
174
126
112
165
113
155
144
136
148
111
172
123
118
104
132
131
133
121
123
128
128
176
177
174
128
182
181
186
182
123
132
128
133
176
179
128
131
142
116
143
161
165
180
182
130
131
131
128
126
184
131
131
129
128
181
183
140
186
181
179
180
125
121
169
178
131
128
129
139
190
187
134
134
132
182
180
180
178
177
121
183
195
119
46
123
126
124
119
61
59
107
103
48
46
96
98
51
111
117
118
71
75
129
130
78
74
74
71
67
63
111
108
49
47
42
39
92
94
96
95
96
98
98
97
95
39
87
33
31
30
219
255
225
224
223
255
255
255
213
211
248
215
165
172
159
150
183
164
170
107
89
132
106
107
69
115
119
61
120
122
122
67
65
62
58
50
51
104
107
108
108
55
61
61
62
114
114
64
63
109
108
107
106
52
52
50
99
96
93
92
40
93
92
42
41
39
88
85
31
28
27
79
79
79
27
25
25
75
72
71
18
17
16
67
51
5
13
69
67
9
4
8
65
67
68
15
16
13
22
61
57
71
28
27
28
33
68
9
7
7
58
56
55
64
14
69
70
19
73
73
23
27
31
33
35
37
91
95
48
52
106
108
107
108
108
59
113
115
116
116
116
54
191
185
195
192
131
149
202
204
173
171
182
190
193
193
134
135
177
164
118
136
114
112
114
103
147
161
132
116
168
133
117
169
175
111
150
141
145
163
171
179
179
110
186
124
133
166
180
132
127
127
168
128
131
129
136
183
174
177
184
127
125
173
169
126
103
129
152
109
121
178
176
129
188
176
124
183
192
128
119
119
124
179
182
170
173
177
177
124
126
181
185
185
135
137
136
133
183
175
120
117
120
125
131
131
187
179
117
113
92
45
39
38
90
87
35
87
83
76
25
72
71
71
19
21
84
84
33
88
38
92
94
94
45
43
40
36
35
36
38
30
28
26
23
74
73
72
12
14
70
71
72
20
19
15
14
12
11
219
221
222
218
216
255
208
208
200
189
182
179
178
177
171
172
166
210
196
172
146
112
64
117
63
113
64
66
120
123
124
70
70
122
119
60
60
111
112
60
115
116
66
118
65
65
116
115
62
110
110
109
55
53
105
102
46
45
44
96
97
96
92
41
40
91
37
35
34
32
83
83
83
82
82
80
80
74
72
71
70
17
16
67
3
61
68
19
16
63
57
57
12
18
20
17
66
64
2
18
74
62
4
12
16
9
9
11
14
69
68
62
5
10
63
14
18
23
28
83
43
48
51
52
55
58
59
60
115
117
119
120
68
69
124
128
130
131
80
80
132
58
156
196
190
135
131
137
198
199
178
170
174
187
196
186
134
133
129
124
117
163
123
119
163
109
108
156
152
180
175
177
130
172
162
115
162
149
142
160
115
171
171
106
124
175
132
171
179
182
129
127
171
123
127
178
182
184
175
177
183
127
125
120
120
108
144
128
154
122
117
180
181
179
177
183
183
181
173
120
122
178
177
176
177
174
172
119
171
123
181
183
184
133
133
133
183
126
125
122
124
128
129
128
125
124
115
116
119
85
82
26
35
39
89
35
33
27
20
56
53
0
0
0
3
4
12
13
17
24
31
36
37
38
30
80
25
22
20
21
24
31
30
30
27
77
73
17
11
65
67
67
70
21
22
23
23
21
20
217
219
255
255
255
255
206
203
198
193
193
201
202
201
254
255
253
246
232
208
186
134
61
62
66
109
66
67
121
124
73
73
74
129
126
120
67
118
116
117
120
120
69
120
119
66
117
115
63
60
59
58
56
107
105
103
47
46
98
99
99
46
92
92
40
39
90
37
36
87
84
84
31
83
81
80
28
22
72
71
69
17
68
67
6
11
70
72
69
11
5
60
63
69
74
73
16
11
16
39
43
21
65
78
76
9
10
71
73
16
13
12
16
12
15
18
24
30
37
93
52
56
113
63
65
68
71
125
126
127
76
78
78
79
83
137
139
89
90
90
89
113
210
199
134
183
129
130
137
194
185
174
122
131
142
135
137
182
182
131
121
159
118
118
163
113
114
159
147
167
126
170
131
125
165
167
165
154
144
152
158
114
123
106
117
176
184
177
127
181
129
125
172
172
175
176
179
186
176
176
131
178
176
119
118
96
135
75
157
180
116
125
129
128
123
134
132
175
117
120
176
179
178
177
179
124
120
116
117
122
183
183
184
183
183
182
180
124
122
128
133
137
134
181
169
113
114
167
138
103
99
101
93
49
47
97
93
86
23
3
51
0
0
1
7
11
21
19
77
32
40
96
98
45
39
88
84
79
76
76
77
33
35
90
91
38
35
85
74
73
72
72
74
77
28
32
31
30
29
203
206
208
255
255
255
255
255
214
255
255
220
221
255
255
255
255
255
248
243
235
219
99
68
123
105
64
64
122
126
77
77
80
85
83
84
82
131
129
127
72
72
122
122
69
68
66
65
116
62
61
60
111
109
107
54
103
102
101
101
49
49
45
94
94
93
92
91
90
89
33
32
82
81
28
27
25
74
71
70
69
69
67
66
63
68
73
21
17
12
58
66
12
65
66
63
9
15
137
95
91
77
126
130
62
40
66
56
56
14
25
76
21
17
21
78
34
42
101
106
66
71
75
78
81
84
138
144
144
146
95
98
100
153
152
103
104
105
157
157
105
137
190
202
138
127
177
176
179
138
143
137
132
184
131
134
138
181
180
183
182
175
109
163
116
117
116
114
113
91
116
116
123
185
180
118
112
167
155
138
84
95
120
114
108
179
182
135
181
132
130
175
121
168
171
127
177
188
124
124
181
175
173
115
96
81
122
71
111
177
170
120
177
180
129
128
122
114
125
127
179
177
180
180
126
121
121
122
124
128
129
181
180
179
178
178
124
174
173
129
132
131
124
170
159
149
145
104
44
54
45
102
104
66
63
111
105
97
86
67
0
0
47
56
15
26
41
104
108
113
66
122
70
68
119
115
56
102
97
94
93
47
48
103
104
50
98
94
95
94
90
88
87
87
89
93
94
43
44
186
189
192
195
206
211
255
222
221
255
255
229
255
255
255
255
255
223
213
207
254
250
239
111
55
119
101
115
71
75
78
79
82
139
137
143
90
89
138
133
124
69
120
120
119
120
119
117
117
63
62
61
60
110
108
107
107
104
49
48
49
49
49
97
97
44
42
92
39
37
37
36
87
85
32
30
81
21
19
70
69
68
67
66
12
66
17
17
14
60
57
57
65
70
14
9
24
126
167
112
114
167
110
94
78
69
137
63
84
8
3
69
86
84
90
97
53
113
119
69
131
135
141
145
95
98
153
100
101
154
156
161
112
165
165
115
116
117
169
168
116
177
118
151
199
131
179
128
135
194
138
192
195
190
180
170
177
188
130
176
178
133
130
167
170
174
167
111
113
173
144
174
174
171
126
127
117
125
163
146
78
69
84
122
157
181
179
141
182
134
131
173
122
113
172
128
178
188
124
122
126
119
117
165
124
77
66
69
116
116
176
126
174
176
128
113
112
171
125
126
177
124
127
172
161
115
122
182
186
184
127
126
126
127
179
178
125
177
177
183
179
116
155
151
135
117
38
36
18
10
23
83
48
55
104
99
94
88
80
64
57
49
45
52
12
78
96
106
56
61
118
69
72
125
115
111
54
48
44
43
43
44
98
100
103
51
103
102
39
91
90
37
90
90
90
91
92
95
97
185
192
253
204
206
211
255
225
226
255
255
255
255
255
255
255
255
255
255
255
255
255
255
211
137
126
51
119
66
71
78
82
135
141
145
139
89
89
87
137
128
69
65
119
122
122
120
118
117
117
117
116
62
60
111
110
107
53
51
103
103
102
99
97
44
43
94
93
40
39
92
38
35
87
85
81
27
22
75
74
70
17
70
69
59
10
14
15
12
60
58
66
64
18
11
4
99
151
105
101
160
168
167
159
89
71
142
149
121
17
9
80
75
36
94
100
107
116
71
77
136
90
94
96
98
101
103
108
160
161
163
165
116
169
173
123
124
125
125
176
176
179
166
126
141
144
187
181
139
194
141
144
196
186
125
131
127
125
182
132
182
127
129
125
155
161
176
176
165
166
165
158
178
124
116
127
119
127
175
142
86
128
114
113
113
170
182
184
183
180
128
169
122
109
115
129
124
183
168
124
128
172
118
92
127
71
113
121
170
121
125
116
132
135
121
118
174
170
121
123
178
126
119
115
165
129
179
178
180
182
177
121
127
130
130
179
127
180
177
171
163
156
102
152
111
38
26
12
3
57
8
15
45
102
99
44
93
90
84
66
60
56
51
5
23
82
97
107
57
112
65
68
123
72
67
114
107
49
47
99
46
52
103
100
47
99
100
46
41
41
40
39
89
90
39
39
93
95
98
209
255
255
255
255
255
255
255
255
227
228
255
229
229
255
255
229
255
255
255
217
215
217
215
218
147
75
61
69
70
73
130
136
143
143
145
147
95
145
91
85
79
70
119
116
63
65
115
113
114
113
61
60
61
111
111
56
106
104
52
52
51
48
46
46
97
95
42
41
91
92
39
90
88
85
83
29
77
78
76
70
67
66
12
4
59
61
62
9
6
58
14
12
18
64
60
44
86
90
140
151
166
172
169
155
136
131
90
100
76
33
17
81
38
43
50
110
119
76
81
93
98
104
109
164
117
118
174
172
173
174
175
124
177
179
180
130
131
131
131
130
133
176
176
182
142
200
197
189
186
143
142
135
180
176
133
129
123
126
129
129
180
176
179
172
108
106
114
177
111
111
109
145
112
135
123
125
177
177
106
92
80
74
121
111
127
177
133
181
181
131
122
123
109
113
124
125
131
116
172
175
165
104
76
119
112
62
84
173
173
183
180
122
116
113
117
173
176
122
176
123
118
111
116
173
127
131
184
129
123
176
129
124
180
182
131
131
182
124
155
156
100
140
123
44
38
14
5
3
58
9
63
77
86
87
36
86
82
77
67
67
63
86
58
46
82
100
103
53
57
59
64
117
119
115
60
56
53
52
52
102
48
46
45
97
96
93
36
34
84
31
31
32
32
33
42
94
95
96
255
255
255
255
255
255
226
228
255
229
255
255
229
229
255
255
229
228
225
225
225
226
215
218
215
170
114
117
125
124
124
129
83
90
140
91
94
93
143
90
139
82
77
123
115
61
63
62
59
60
60
61
60
61
61
61
58
108
106
53
53
53
49
49
100
99
45
44
94
92
92
94
92
88
85
87
83
76
26
23
19
69
70
15
6
60
63
11
11
9
11
22
19
66
56
54
29
67
129
127
138
153
112
117
164
147
82
133
143
104
83
37
9
92
99
106
61
124
133
138
97
155
162
167
120
176
179
179
178
126
127
180
181
182
183
186
188
190
138
138
190
182
137
131
179
182
190
190
130
182
143
140
132
130
131
133
130
175
123
125
127
128
135
179
181
129
120
109
105
116
166
163
169
156
100
118
128
126
181
172
102
88
82
74
116
97
172
124
135
175
182
126
124
111
113
119
175
175
110
107
165
113
142
109
120
109
67
95
122
181
192
175
112
161
170
171
169
121
126
171
112
110
119
122
123
134
181
176
122
122
124
124
131
131
180
125
175
167
108
100
87
74
72
128
51
31
64
59
9
17
34
107
140
83
88
145
147
144
141
88
77
150
80
63
81
127
71
100
49
52
55
58
60
113
110
56
52
52
104
105
51
48
99
99
98
96
41
36
82
79
25
26
28
30
29
93
94
96
98
255
255
255
255
255
228
229
229
229
255
255
229
229
255
255
255
228
227
226
226
227
226
255
255
214
197
119
119
127
126
126
77
82
140
140
141
91
91
88
140
139
82
80
127
69
65
64
62
111
114
62
61
113
113
61
62
58
109
107
54
54
54
50
102
101
48
46
44
94
92
91
95
41
87
85
86
85
22
23
21
69
15
15
14
61
63
64
13
64
12
13
77
75
69
55
0
18
106
127
122
130
92
102
110
160
96
78
131
136
101
151
110
10
93
100
56
64
126
135
140
103
111
168
172
124
127
130
179
178
126
127
180
182
131
185
187
138
139
193
192
140
181
194
142
136
131
179
176
125
128
139
138
135
134
134
132
182
176
123
124
125
178
186
128
181
187
183
118
106
104
173
103
169
168
102
104
122
126
182
176
110
96
138
134
55
78
171
173
132
125
177
125
173
113
113
116
122
125
115
109
107
102
137
114
66
58
125
151
176
186
139
167
111
114
173
170
168
118
119
115
110
164
174
124
122
133
179
173
171
122
124
122
124
177
174
120
118
102
91
81
79
126
121
114
44
36
40
99
59
72
131
131
71
61
65
123
126
128
76
73
76
69
121
119
125
108
42
45
99
102
105
55
57
109
55
104
102
49
49
102
50
102
101
47
47
46
42
37
84
81
25
77
81
82
82
92
94
96
98
255
255
255
227
229
229
229
229
255
255
229
229
229
255
255
229
228
226
255
255
228
255
255
255
255
199
110
60
129
131
132
79
78
135
88
88
141
89
139
140
139
83
134
133
78
125
120
116
116
117
117
116
63
115
114
113
59
57
56
55
107
107
103
104
51
49
47
45
95
92
89
43
41
33
83
86
85
86
35
84
77
73
20
69
65
66
16
17
67
67
70
72
27
23
60
0
58
35
121
115
67
76
137
95
97
140
64
133
152
101
156
85
40
95
102
58
66
128
137
144
157
110
114
168
171
174
176
177
125
179
128
130
185
134
185
137
138
140
141
141
141
133
201
159
156
187
164
104
115
124
179
184
137
188
187
130
182
127
176
175
175
175
170
183
127
174
183
192
192
162
91
122
112
155
111
114
103
170
179
178
127
113
148
122
137
68
117
178
168
133
169
175
119
116
114
113
120
117
119
161
137
53
111
120
56
114
138
161
130
189
180
109
119
125
121
114
170
174
151
110
122
177
171
124
130
174
176
126
123
118
120
125
173
176
124
121
161
58
34
78
128
125
69
69
124
125
61
60
109
106
53
56
56
114
64
68
74
134
85
78
134
74
74
124
71
78
69
40
42
97
99
102
103
103
106
102
97
42
42
96
97
102
47
45
95
95
42
40
37
32
80
79
82
32
82
93
94
94
94
255
255
228
228
228
228
228
228
255
228
228
228
255
255
229
229
229
228
225
225
255
223
221
217
203
241
190
133
77
76
127
128
76
79
79
80
81
82
135
136
134
81
136
135
81
81
80
126
72
123
122
120
68
67
119
116
115
62
59
109
108
56
56
110
50
43
43
97
48
52
31
89
130
177
152
68
41
125
136
112
75
72
27
77
68
30
51
117
63
51
94
39
40
49
59
117
119
126
117
117
66
72
133
90
91
89
64
63
121
75
92
149
130
40
121
71
116
121
76
147
145
99
106
159
159
113
174
178
119
116
118
177
188
196
192
127
123
124
134
147
157
137
147
202
201
144
187
179
171
121
184
187
187
183
180
181
183
185
186
183
179
121
118
119
129
186
136
188
188
182
126
96
102
170
118
103
107
171
162
175
122
112
171
96
84
75
133
155
165
103
162
183
132
120
169
151
154
146
141
134
89
3
55
56
55
91
97
162
171
171
168
169
175
165
165
162
148
160
165
169
122
178
179
126
125
115
171
123
128
129
118
111
172
170
108
140
119
65
75
111
112
60
62
61
113
111
115
64
65
119
68
71
124
124
125
76
78
79
79
77
126
68
71
123
109
40
71
89
41
46
101
50
101
105
109
53
45
37
31
82
84
44
45
46
49
100
46
43
92
39
89
85
81
27
79
92
92
92
92
255
255
228
228
228
255
228
228
228
228
228
255
255
255
229
229
229
228
225
225
255
255
220
214
200
240
138
135
73
72
124
124
74
78
131
130
79
131
133
82
135
83
85
84
84
85
138
83
80
127
125
123
122
121
121
118
117
63
60
110
108
56
58
62
50
43
96
100
45
45
77
69
104
113
116
171
176
161
102
83
99
69
9
9
52
33
72
93
96
90
136
128
122
68
125
130
133
81
66
65
116
122
79
137
88
85
117
63
67
124
140
149
138
43
67
120
113
119
74
91
139
146
101
102
154
161
117
118
167
166
170
176
133
190
187
182
180
182
137
147
206
143
141
195
196
145
142
187
178
123
131
187
186
182
178
189
186
176
174
123
124
124
126
122
122
125
185
192
145
119
134
99
94
112
118
106
100
177
170
113
118
114
172
102
87
136
114
91
104
125
148
151
183
171
169
132
142
144
127
71
70
2
60
51
63
94
97
112
162
163
174
167
172
166
116
151
145
121
169
174
127
180
175
174
174
128
126
123
122
175
172
169
165
151
132
65
59
68
125
113
61
62
115
114
61
60
65
118
119
120
122
125
74
71
124
126
129
131
132
130
124
127
131
78
78
141
146
91
42
46
99
100
100
104
105
52
44
37
32
82
82
39
94
98
49
51
50
47
100
99
95
90
84
79
78
40
92
92
92
255
228
228
255
255
228
228
228
228
228
255
255
255
255
229
255
229
228
255
225
225
255
255
255
239
223
133
142
121
120
121
70
72
129
130
130
78
77
130
80
86
87
143
142
89
89
143
87
85
84
134
131
129
127
125
69
120
118
62
59
59
111
113
109
109
107
99
39
44
143
97
61
87
160
170
175
122
157
85
142
87
106
83
72
51
40
132
146
97
154
153
149
94
89
136
132
81
82
67
65
114
116
70
128
78
76
66
60
112
117
130
91
97
94
57
111
101
108
115
73
76
136
92
94
147
101
109
154
163
169
174
178
130
132
187
186
136
189
143
201
206
137
140
195
144
199
149
203
202
144
125
172
175
180
186
187
184
174
171
117
120
176
124
124
168
118
124
186
192
182
173
133
123
102
100
116
121
156
165
109
109
120
117
116
163
92
65
117
128
146
130
65
19
106
123
135
130
101
71
125
108
57
64
55
67
132
150
117
143
116
117
177
114
116
112
113
183
176
184
131
127
173
166
117
121
177
126
128
127
119
140
126
117
114
111
58
57
103
99
64
64
115
115
114
62
62
64
64
66
67
68
70
72
122
123
74
128
131
79
80
127
130
129
124
130
143
91
37
40
44
99
98
97
100
48
46
43
38
86
86
33
37
88
88
37
41
45
51
105
104
101
96
90
85
31
40
40
40
40
228
228
255
255
255
228
228
228
228
255
255
228
255
255
255
255
229
228
255
255
255
255
255
255
250
168
173
139
125
124
73
73
75
131
133
137
83
81
80
81
140
143
146
145
144
145
147
91
89
144
141
138
135
132
129
71
70
68
65
62
113
113
115
109
111
102
38
56
100
149
180
163
109
163
157
156
106
137
131
79
86
90
148
104
142
150
105
158
158
109
108
99
101
151
145
143
95
97
122
65
59
110
114
67
69
69
63
52
52
61
68
131
143
39
106
109
41
47
108
63
64
123
80
83
136
144
101
146
159
166
172
123
126
179
178
183
186
187
188
187
136
141
193
196
147
203
152
204
199
139
126
178
184
140
146
141
192
183
183
129
128
177
173
176
133
129
117
101
143
185
185
175
129
186
123
157
156
166
159
119
113
157
171
172
171
111
82
130
131
132
43
46
58
110
74
68
79
71
42
53
108
41
51
41
59
91
67
101
152
166
113
103
109
97
99
181
175
185
181
123
169
112
113
109
159
107
96
81
122
115
114
115
58
109
109
107
105
58
61
62
114
61
61
61
65
66
116
117
65
66
121
122
70
127
128
77
130
131
80
80
138
139
87
88
143
138
55
78
84
92
46
47
98
96
104
52
49
96
92
35
85
89
88
35
34
89
94
100
50
102
101
97
92
35
32
39
39
39
39
228
228
255
255
255
228
255
228
228
255
255
228
228
228
229
255
255
255
226
255
255
255
224
223
205
223
170
134
127
75
75
75
129
81
133
139
137
82
81
81
141
145
93
93
93
146
149
94
93
94
91
88
85
81
130
124
124
69
65
114
113
61
64
60
113
51
42
122
167
176
129
162
106
109
97
91
88
77
78
74
74
80
136
90
113
163
108
157
156
105
104
105
157
102
149
152
106
106
124
117
111
109
111
116
65
117
114
101
49
60
67
75
139
91
54
58
40
45
107
62
60
119
128
79
132
88
96
146
157
112
117
174
176
178
125
131
187
186
133
130
181
143
190
139
144
203
153
201
192
133
183
188
141
144
197
129
183
131
179
177
123
178
131
138
142
185
174
109
154
173
127
132
178
175
129
187
153
154
167
151
112
173
157
171
168
122
83
142
141
55
39
100
122
53
118
101
117
84
45
101
56
58
55
45
56
102
49
67
160
158
164
156
133
93
170
173
181
177
176
117
165
111
112
106
100
124
118
111
107
55
110
113
109
110
111
114
63
119
119
60
60
59
60
61
65
119
117
66
66
121
122
123
123
128
77
78
78
80
80
132
138
83
135
87
152
111
66
73
80
91
46
101
97
95
100
49
47
97
94
40
38
88
88
36
37
40
43
97
102
102
101
46
40
34
31
36
36
88
88
255
228
228
255
255
228
255
228
228
255
228
228
228
228
229
255
255
255
227
255
228
226
228
226
218
255
146
92
81
76
126
128
80
84
134
136
137
88
88
89
140
140
91
92
93
94
146
93
93
94
93
91
89
87
84
127
126
124
121
115
114
60
62
60
59
50
46
108
116
125
130
169
106
102
103
100
92
93
91
82
127
71
124
129
100
103
107
109
160
157
101
101
152
101
152
97
149
149
78
72
115
109
107
109
111
61
58
50
100
104
111
121
76
43
44
51
43
41
52
55
55
112
117
65
65
71
132
139
92
97
102
162
169
119
110
108
89
91
144
144
153
107
114
121
182
189
196
148
143
146
148
145
139
135
183
116
118
174
124
178
129
133
192
191
132
185
136
194
199
125
125
128
128
180
128
126
181
124
115
158
160
107
102
103
99
109
154
143
85
124
101
112
40
26
54
84
70
95
105
98
27
57
65
52
46
37
36
56
100
93
134
118
138
108
168
163
109
159
164
115
114
105
127
120
66
57
109
110
109
57
59
111
113
113
115
65
66
119
120
59
59
113
115
118
123
125
118
67
69
122
124
127
129
128
75
76
130
79
79
142
133
140
145
95
152
159
106
81
101
43
55
101
95
92
90
42
99
99
46
44
43
90
36
34
32
33
37
94
93
93
93
38
33
28
80
81
79
77
77
228
228
255
255
255
255
228
228
228
255
228
228
228
228
229
255
255
255
228
228
228
228
229
228
220
219
194
154
145
130
77
85
84
139
85
140
141
144
145
94
146
146
88
141
144
147
148
147
146
146
144
90
88
87
84
79
133
128
121
61
56
108
111
105
52
49
96
150
108
165
175
175
115
102
97
154
155
154
102
151
141
129
123
71
83
138
143
97
155
161
113
111
160
155
153
103
102
98
89
133
121
111
106
53
55
108
59
48
41
42
105
115
66
83
87
41
32
83
45
50
96
46
48
46
99
106
115
126
128
133
88
150
160
114
170
152
78
74
81
85
144
137
95
95
144
143
149
159
182
140
200
197
193
191
189
158
203
190
141
145
197
139
178
169
119
175
125
174
173
120
119
118
172
175
127
180
178
125
125
164
157
159
166
159
105
99
149
89
131
131
62
70
117
105
97
12
30
45
61
84
47
88
32
35
9
0
64
53
66
108
62
150
157
161
156
99
102
104
96
84
71
65
116
62
58
120
119
118
117
116
62
60
113
61
60
112
112
60
59
116
116
116
117
119
72
75
66
72
132
132
128
124
73
127
126
129
132
133
133
89
99
157
110
112
112
161
104
111
114
93
105
53
49
35
85
91
94
45
45
44
97
94
92
37
34
35
90
93
94
41
38
35
32
32
85
77
74
71
69
228
228
228
228
228
255
228
255
255
255
228
255
255
255
229
255
255
255
228
228
255
255
224
225
255
221
197
179
116
138
130
84
80
88
138
140
141
144
146
147
95
95
89
143
144
147
148
148
148
94
144
141
139
139
85
81
83
130
122
61
55
53
56
106
50
98
90
87
103
164
121
124
168
103
98
155
158
102
103
102
93
134
125
70
75
78
135
91
151
160
167
165
109
107
106
158
159
105
94
137
124
114
106
105
105
106
112
50
40
41
104
62
116
81
33
38
79
78
90
44
38
41
43
42
94
102
59
66
122
74
82
94
157
109
161
109
90
132
134
89
94
102
147
139
79
75
75
130
137
153
193
201
200
138
182
204
152
196
137
130
178
124
125
127
123
171
116
170
171
124
173
166
166
170
174
127
179
180
180
171
112
110
113
140
148
73
134
78
69
90
87
102
94
49
50
24
26
34
53
84
103
80
73
26
8
0
14
55
54
51
68
161
155
149
94
100
148
89
74
65
57
108
63
62
59
120
119
67
66
117
115
61
114
61
112
111
58
58
110
117
65
116
117
67
73
74
77
81
83
79
123
120
72
133
131
132
135
86
87
101
164
164
111
108
104
103
109
112
60
39
104
51
47
32
34
90
41
43
95
95
95
99
97
42
41
41
95
98
98
44
40
38
36
88
87
80
76
72
70
228
228
228
255
228
228
255
255
255
228
228
255
255
228
228
255
255
255
227
255
255
255
227
227
255
255
251
187
152
98
127
134
77
89
137
85
88
89
144
94
94
147
93
92
90
142
142
145
146
146
92
140
138
138
138
84
87
83
75
66
110
105
51
53
98
43
85
127
94
107
169
164
108
108
160
160
161
108
106
104
101
93
81
69
114
62
64
69
129
140
151
113
114
166
111
108
108
161
100
91
77
63
108
105
105
54
57
50
40
93
106
113
112
75
30
39
78
22
35
91
85
87
90
88
86
90
45
45
52
111
67
78
141
94
146
167
110
101
156
105
100
147
143
89
141
138
133
128
75
68
116
124
138
100
162
164
169
181
182
182
129
131
184
137
135
128
177
129
184
124
175
172
169
115
116
114
116
181
185
167
170
166
104
154
144
133
39
15
0
0
38
47
101
45
54
103
91
10
36
101
89
78
84
31
26
15
24
40
15
34
125
86
142
143
87
72
114
103
105
57
60
110
103
107
60
107
108
58
59
113
116
64
64
64
117
116
64
116
115
64
67
121
125
75
77
129
134
79
127
123
70
72
77
88
139
141
144
144
92
154
152
99
150
150
96
95
112
99
55
97
63
59
97
87
34
39
94
97
98
100
100
102
51
52
54
55
55
105
100
46
42
42
92
90
86
83
78
73
69
229
229
229
255
255
255
255
255
229
229
229
229
229
255
255
255
255
255
227
229
255
255
255
224
223
220
196
232
155
108
79
82
135
140
87
88
88
90
144
94
98
98
86
89
88
136
134
135
133
139
89
91
94
97
148
145
94
85
129
72
71
69
57
53
96
87
40
112
137
91
107
159
109
113
168
169
113
159
163
108
151
147
94
135
122
121
114
57
63
75
135
106
110
168
171
117
108
153
95
87
70
103
43
102
63
69
92
82
28
94
60
57
89
73
73
81
73
25
35
32
85
85
85
82
30
29
82
41
45
47
54
62
73
133
140
142
150
115
114
99
96
137
139
85
136
136
138
89
82
81
79
78
130
79
79
118
118
68
68
69
70
124
73
87
121
129
180
122
116
185
185
177
119
113
165
166
105
100
103
125
129
174
106
149
143
139
143
82
61
42
5
0
0
102
31
52
64
41
36
45
92
13
26
23
46
30
52
26
0
36
54
65
65
113
106
104
51
100
113
61
60
59
114
115
117
68
66
114
111
111
115
116
57
59
62
65
67
121
68
78
75
121
122
72
76
128
129
130
131
136
144
95
95
115
151
130
116
116
125
136
142
80
141
151
152
168
104
73
63
57
59
59
54
48
96
95
94
95
97
102
53
109
108
55
55
107
54
53
52
51
48
44
91
35
32
33
80
73
67
229
255
229
229
255
255
229
255
229
229
229
229
255
255
255
228
255
228
228
229
228
228
255
255
255
255
245
178
150
158
132
82
83
87
86
141
142
90
143
145
147
95
100
100
96
143
90
144
142
142
88
85
82
81
134
139
118
70
76
132
131
124
57
60
53
88
80
53
91
90
105
105
108
164
168
116
113
159
110
107
151
148
95
137
67
119
117
115
63
68
131
153
160
166
117
167
107
151
146
85
120
52
45
103
112
63
95
84
30
94
111
57
37
71
72
28
75
78
86
83
84
32
31
29
80
27
80
89
40
43
49
109
67
126
135
132
78
97
162
157
152
85
87
139
136
84
86
88
137
84
132
130
78
78
78
122
122
124
125
126
75
77
76
128
134
94
161
123
132
123
125
127
177
124
175
174
169
109
104
97
155
114
117
102
146
83
129
130
73
69
108
73
4
46
103
60
37
38
92
90
62
66
59
72
39
70
0
44
71
37
48
98
99
98
98
109
113
113
103
56
62
66
58
102
96
100
53
61
67
70
66
115
119
68
69
70
71
71
71
122
123
123
125
128
75
126
88
136
132
131
139
95
106
91
81
70
116
119
76
86
133
140
98
153
155
165
83
67
112
108
58
57
104
101
95
95
43
96
98
102
53
56
108
108
108
107
107
106
104
51
48
44
41
36
85
31
79
73
68
255
227
227
227
255
255
227
255
228
228
255
228
255
255
255
255
255
255
255
255
255
229
226
222
218
255
233
164
184
155
131
76
81
137
84
142
142
91
92
145
147
95
160
100
95
93
90
79
130
156
164
175
183
186
188
144
145
140
129
163
143
122
100
96
49
94
30
41
74
104
101
101
156
160
163
114
115
107
107
106
155
155
156
152
69
63
116
122
66
111
119
143
154
162
166
113
108
100
142
76
61
105
103
102
47
46
51
94
85
39
55
54
33
67
70
25
24
77
81
78
25
25
25
22
74
22
22
26
29
83
35
95
103
110
117
68
76
68
110
129
111
80
136
137
84
84
83
133
86
85
134
133
131
131
131
131
131
79
131
130
131
78
133
134
84
133
128
70
66
60
76
119
182
131
127
124
118
111
109
109
107
101
87
155
155
102
89
128
64
108
87
86
100
37
23
71
100
41
66
66
87
49
36
39
79
64
4
17
105
47
36
47
103
105
106
110
59
58
112
115
119
70
122
68
118
122
68
65
64
119
132
84
72
71
121
119
118
66
67
124
124
123
121
69
134
140
145
94
93
91
84
74
58
44
53
117
129
84
139
142
104
156
88
144
167
105
40
112
112
61
59
107
103
49
97
98
47
101
102
51
52
58
57
57
57
56
107
108
103
103
49
47
44
92
89
28
25
73
19
226
226
226
255
227
227
227
255
228
228
255
228
255
255
255
255
255
255
255
255
255
255
255
218
213
255
219
147
182
167
142
77
83
138
140
141
89
92
95
96
101
102
146
89
98
172
183
173
177
128
131
185
185
133
186
196
144
190
185
134
189
137
126
145
119
107
125
148
101
146
98
99
153
154
156
107
112
110
160
159
159
162
164
162
133
67
58
114
68
119
118
134
95
104
160
111
114
161
138
123
111
108
105
43
35
87
63
55
89
32
47
98
25
13
67
69
71
70
18
18
18
19
19
16
68
16
17
21
23
25
30
36
98
51
107
110
103
121
160
118
95
134
80
81
134
134
81
79
82
132
131
132
81
82
135
146
146
142
89
87
137
136
130
130
79
133
135
84
85
85
136
130
126
72
72
75
110
117
130
119
114
117
119
102
146
86
81
135
135
82
60
54
100
87
92
65
55
0
45
61
89
92
58
35
50
80
96
43
114
105
32
39
101
111
116
118
67
117
124
122
119
66
127
136
140
136
135
80
76
71
112
109
122
71
123
124
74
77
130
131
135
88
90
140
126
122
113
59
56
52
51
54
63
49
62
79
91
147
145
95
92
153
162
111
141
103
100
59
114
64
114
111
57
97
98
46
98
45
47
47
100
102
103
52
53
54
107
109
53
52
52
49
44
41
37
28
77
74
72
226
226
255
255
255
226
226
227
255
227
255
255
227
255
255
255
255
227
225
255
255
255
255
255
255
247
161
144
139
127
100
134
88
91
146
144
146
147
96
151
101
101
144
138
99
179
196
135
194
137
136
135
186
134
189
195
193
139
191
191
194
194
188
127
155
85
144
105
108
141
149
151
152
100
153
104
111
115
163
159
107
160
160
159
134
124
61
58
117
121
120
128
141
151
102
107
114
114
84
122
112
58
53
40
83
86
66
59
90
83
96
42
22
65
14
64
67
16
14
15
17
18
16
15
66
67
15
19
73
23
79
86
43
49
56
66
132
155
182
128
153
138
82
82
83
84
83
82
81
132
78
78
79
78
79
141
141
140
87
87
138
138
84
84
88
87
135
131
128
137
88
92
141
138
83
80
59
124
147
156
155
110
113
108
104
148
76
122
121
69
86
53
78
79
97
80
74
54
50
0
65
78
40
26
29
57
30
40
96
92
85
54
114
121
120
66
118
118
119
73
82
91
91
138
134
126
123
119
117
67
80
84
127
128
130
81
83
137
137
132
132
81
79
76
111
54
40
46
52
109
109
56
55
59
66
128
84
142
146
102
94
102
162
142
102
84
48
54
110
111
111
112
61
97
44
42
41
39
91
93
43
46
47
48
50
105
107
57
55
54
104
100
45
92
36
80
78
76
75
222
255
255
221
255
255
255
255
255
255
255
255
226
227
229
229
229
229
225
223
255
255
254
191
235
178
161
205
141
143
142
139
192
153
156
150
211
210
154
207
190
185
122
113
115
133
145
140
137
188
187
133
185
183
130
131
140
141
143
196
197
194
189
183
186
131
118
101
143
150
142
144
149
100
152
151
156
171
118
163
104
154
156
158
132
130
124
117
116
68
66
69
133
93
100
105
162
114
90
116
106
59
56
45
90
92
69
62
46
91
91
79
62
60
61
63
63
65
14
15
13
12
10
62
62
63
11
13
19
21
27
34
42
48
56
61
118
131
108
175
179
99
92
89
88
87
86
136
136
82
80
81
82
80
79
127
128
78
76
127
124
124
80
82
87
90
146
150
154
156
154
99
100
102
104
105
102
101
149
137
128
119
61
126
122
119
74
126
67
61
48
75
78
31
34
43
49
59
88
47
29
36
18
0
0
0
14
81
78
36
100
61
64
121
124
128
129
129
62
117
120
122
72
75
130
134
82
81
133
133
133
133
89
141
140
137
81
121
118
103
103
102
49
49
46
45
47
98
45
95
94
97
57
143
131
115
111
74
95
106
178
86
46
29
85
38
33
46
102
105
106
55
106
95
39
35
84
84
33
35
91
44
44
98
48
103
107
59
58
56
104
98
94
90
36
84
83
81
80
217
217
255
217
219
255
255
220
221
255
255
255
255
228
229
255
229
229
225
223
222
255
255
252
189
181
231
232
227
231
235
185
190
255
213
217
219
255
255
210
255
251
181
164
201
198
197
196
145
142
194
193
191
191
191
140
195
143
143
142
193
192
139
138
187
132
132
130
123
99
93
92
145
151
155
153
152
158
112
111
106
102
102
104
86
132
75
75
71
64
65
108
101
57
80
153
162
116
154
124
56
58
111
105
102
103
59
56
52
93
75
61
53
59
8
59
60
61
61
60
11
8
5
56
55
55
55
58
9
12
69
24
30
34
40
36
85
177
156
147
106
112
110
108
157
98
90
137
140
86
81
80
79
76
74
124
125
75
76
127
76
127
74
76
129
77
131
133
136
71
71
78
82
140
144
148
105
108
112
124
179
181
128
105
107
104
80
125
128
82
81
127
111
101
96
84
78
103
115
106
71
53
46
79
54
5
17
81
91
101
59
48
50
105
55
109
110
57
64
118
120
119
66
120
121
71
70
69
67
117
115
114
111
111
111
111
111
58
109
114
62
62
112
60
110
109
53
54
55
54
106
107
113
136
132
77
78
83
88
98
51
42
32
79
28
29
33
45
50
107
58
58
55
92
32
28
77
78
27
28
84
96
46
100
52
106
107
54
54
104
100
95
92
36
33
29
80
79
79
213
213
214
215
216
217
255
215
217
218
221
225
255
228
229
255
229
255
255
224
255
255
255
255
198
240
236
239
183
187
243
192
196
255
255
219
218
217
255
213
212
197
203
195
137
190
192
188
189
143
196
197
145
146
199
149
197
195
195
141
140
139
190
189
135
135
190
191
135
115
149
91
88
144
98
152
152
154
160
113
109
105
103
156
86
78
75
131
124
113
115
112
97
47
127
151
161
116
156
126
55
109
57
105
107
110
106
53
107
92
67
51
49
58
58
58
58
58
58
5
5
55
2
53
1
1
54
7
12
66
70
24
31
86
40
34
74
125
116
95
159
103
162
165
164
158
148
141
90
140
136
84
83
132
131
124
73
74
127
127
75
76
78
81
81
80
132
136
138
125
125
129
131
131
132
131
131
79
133
146
100
103
155
84
89
91
72
62
110
112
106
117
110
84
84
78
73
81
106
65
82
43
18
56
54
3
12
24
36
96
52
41
94
46
48
51
51
104
107
57
58
110
57
110
113
57
56
55
55
105
104
103
56
108
56
56
57
111
111
111
59
59
57
57
56
55
50
51
52
53
54
107
56
59
118
133
149
99
77
36
37
95
93
34
25
76
93
45
51
108
110
59
56
91
83
78
24
24
25
79
84
46
100
104
107
56
107
105
102
48
96
93
88
34
84
27
79
78
78
208
209
255
211
211
255
255
211
212
255
218
225
227
228
228
228
255
255
255
226
224
222
255
255
255
255
191
189
248
253
207
208
212
255
255
255
221
228
227
224
255
235
204
149
145
141
191
189
190
141
142
195
143
144
198
148
144
144
196
195
142
141
138
185
186
188
137
191
192
147
165
101
88
84
87
91
97
100
158
109
162
162
109
158
131
74
127
129
126
115
113
75
61
59
77
149
160
165
148
69
52
51
100
102
61
121
101
95
95
86
67
0
50
59
59
5
56
54
54
0
0
48
49
50
53
3
56
5
9
64
69
24
31
87
42
44
52
153
185
170
120
115
104
151
151
151
152
99
105
153
146
91
87
136
133
133
133
78
76
128
128
127
77
79
78
129
131
81
83
99
150
146
143
142
141
88
95
144
140
130
125
119
114
80
128
123
120
68
66
66
67
110
97
35
18
54
2
0
50
15
0
36
0
47
56
12
73
79
80
80
27
26
29
31
35
43
46
100
98
100
103
104
53
55
110
54
55
55
56
109
110
111
55
55
56
56
55
54
106
107
55
106
106
53
53
53
52
51
51
104
56
57
55
49
60
124
122
50
82
49
106
57
54
42
80
73
38
43
48
54
108
110
56
94
86
82
28
28
30
32
37
50
104
107
108
107
103
98
93
91
87
83
81
78
25
77
78
79
80
205
206
255
255
255
255
255
210
211
213
217
255
225
227
227
227
255
255
255
227
225
227
226
255
255
255
206
203
255
255
215
218
221
227
226
228
224
227
255
218
210
171
210
161
162
158
204
144
140
139
137
135
185
183
183
132
144
145
199
201
200
198
190
138
133
183
133
189
194
140
131
172
106
98
143
88
89
100
100
101
103
108
163
156
75
77
130
129
77
76
118
112
62
67
75
90
105
116
139
119
55
51
98
48
67
80
97
82
75
21
18
61
54
10
8
7
56
2
1
0
0
48
49
0
51
53
53
6
11
14
72
80
36
94
95
110
94
124
193
198
186
172
108
155
154
154
154
101
94
92
144
147
148
148
95
95
144
137
135
80
130
130
74
74
122
120
119
120
70
57
60
69
72
75
126
126
126
124
70
125
127
128
128
115
119
72
66
59
55
53
96
49
47
93
85
78
26
66
48
17
18
1
36
57
63
16
18
26
99
43
34
85
87
35
38
43
44
47
50
51
105
52
101
102
103
52
52
52
51
50
101
101
100
50
52
54
107
104
102
104
52
103
51
103
103
103
103
100
47
100
103
106
52
118
103
94
46
107
112
62
106
96
43
100
101
94
35
41
45
50
52
107
56
46
88
32
30
31
33
87
40
48
101
49
48
45
41
89
85
32
81
78
23
21
20
26
79
81
82
206
206
255
255
255
255
255
255
217
219
222
255
228
228
228
228
228
255
255
228
228
255
255
224
255
221
255
217
255
255
255
255
224
229
229
229
229
229
229
215
255
211
198
151
147
144
200
193
193
191
191
191
191
191
138
137
195
196
196
197
144
144
193
191
139
192
193
142
141
141
193
191
133
118
146
128
75
86
91
99
106
118
178
177
129
72
73
74
74
79
78
69
80
132
133
144
100
156
130
113
103
104
51
51
104
52
109
100
84
74
19
19
16
10
7
55
51
48
0
0
0
51
51
0
0
54
56
65
14
16
22
31
93
100
100
101
89
60
112
191
133
191
176
160
100
100
94
138
88
81
126
130
137
143
147
95
94
141
139
85
134
133
83
84
133
133
132
130
130
78
130
133
134
84
85
85
132
133
134
131
131
79
80
122
116
58
54
46
95
97
101
55
55
87
80
74
16
56
61
4
59
5
0
6
70
83
29
24
35
32
88
89
92
96
97
99
50
54
53
53
53
52
51
103
102
102
50
50
49
49
48
99
102
103
51
51
52
104
104
50
104
55
56
109
108
54
106
105
105
107
108
112
63
114
116
65
62
106
102
109
104
101
44
93
92
94
50
52
108
58
56
108
107
49
92
88
34
35
89
91
93
45
48
49
48
98
43
38
84
29
26
23
20
19
19
78
79
80
82
204
205
206
255
255
255
255
255
220
222
255
255
229
229
228
255
228
255
228
228
228
255
255
227
255
224
222
221
255
255
255
255
226
229
229
255
255
229
229
224
255
212
200
200
146
144
194
197
200
143
195
195
196
195
144
197
193
193
142
195
196
144
143
142
193
192
191
192
140
143
191
189
135
132
172
154
136
81
86
95
100
161
168
171
140
134
131
80
81
86
137
116
124
77
130
133
140
95
68
56
103
106
55
58
111
110
102
84
72
19
24
24
20
14
62
57
52
48
49
0
0
0
1
1
3
7
9
19
20
72
76
31
93
100
112
59
110
45
137
137
138
178
176
173
111
100
95
96
91
91
145
93
90
86
135
84
84
86
138
87
87
140
88
140
140
140
140
140
140
136
136
140
141
91
92
144
149
144
139
130
74
120
115
106
50
46
41
96
107
117
76
122
111
88
83
25
72
62
21
16
63
22
9
5
61
86
44
37
43
97
98
93
42
94
94
38
91
92
45
46
98
98
98
99
47
52
52
52
52
51
51
103
102
102
50
50
51
103
51
47
100
51
54
108
107
107
50
102
103
55
60
64
69
55
114
59
45
89
94
100
101
98
43
40
39
40
100
103
106
109
57
109
109
51
97
91
37
90
91
39
41
101
49
50
50
99
42
90
85
32
29
27
27
28
81
84
84
86
87
205
207
209
255
255
255
221
223
225
255
255
229
229
255
228
228
228
255
228
228
228
255
227
255
255
255
222
255
255
228
227
227
227
255
227
255
255
229
229
255
223
206
200
195
148
205
198
197
143
143
194
194
194
194
195
194
192
140
141
141
142
142
195
196
142
193
191
189
191
195
143
191
186
187
188
127
109
135
85
139
143
148
99
157
109
99
142
134
78
138
144
69
118
124
127
123
127
83
55
52
54
111
60
64
64
112
88
77
77
33
36
31
25
20
68
61
53
49
48
0
0
52
2
4
8
11
14
82
79
26
78
84
92
98
49
54
51
51
109
138
177
192
119
117
117
115
167
169
118
166
155
100
99
97
95
134
82
81
81
80
80
79
78
130
131
130
130
130
131
134
133
80
131
78
77
128
127
121
115
113
58
106
100
106
49
44
58
120
124
72
61
106
99
92
35
28
76
71
30
28
70
33
25
10
55
28
54
111
107
106
99
102
102
101
49
101
100
99
96
96
97
45
98
46
46
45
45
46
47
47
47
100
49
49
49
101
49
49
49
50
103
105
56
110
60
60
58
59
60
63
66
68
70
55
65
60
92
84
40
44
44
43
41
39
38
38
44
98
50
107
107
109
111
54
51
98
42
42
43
42
43
103
104
104
51
48
98
95
92
91
88
87
36
89
91
89
90
92
93
207
208
210
213
255
255
255
225
226
228
229
229
229
229
228
228
228
228
228
255
228
255
255
255
255
255
223
222
255
255
229
228
226
255
255
255
228
229
255
255
255
224
155
194
199
207
147
147
141
194
193
193
141
192
191
139
141
194
193
192
192
141
142
144
143
141
139
138
191
193
144
192
136
134
188
186
174
143
138
137
139
143
92
95
164
104
96
85
130
81
141
126
62
67
72
118
120
75
104
52
57
113
114
65
65
110
89
32
34
38
38
85
29
24
18
10
54
49
47
47
49
52
54
57
9
13
16
86
82
79
79
31
39
98
45
103
98
107
51
63
102
194
184
179
127
129
179
175
174
166
152
150
98
151
151
138
85
82
81
79
78
78
129
129
77
127
127
75
75
76
75
73
71
122
68
67
66
114
59
57
56
53
50
46
51
58
133
137
129
118
115
109
52
43
34
79
76
27
33
86
25
86
31
71
62
22
47
62
108
106
48
102
101
100
100
102
49
48
46
98
98
98
99
47
46
47
47
48
48
48
49
49
47
100
48
48
48
49
101
100
48
103
52
54
56
56
54
107
111
63
120
124
127
105
61
57
94
32
36
40
42
94
41
39
38
91
43
43
48
52
106
56
59
107
54
101
96
44
44
43
44
52
52
51
103
102
47
46
46
43
41
39
90
39
41
38
91
93
94
255
211
255
255
221
223
224
227
228
229
229
229
229
228
228
255
255
228
228
228
255
255
255
255
255
228
227
227
229
229
229
255
255
225
225
255
255
255
255
229
255
222
171
196
193
199
141
151
143
197
196
195
194
192
138
137
144
195
193
192
191
190
192
143
143
143
142
140
191
189
134
138
191
136
136
191
187
156
143
133
134
84
83
135
153
155
158
96
78
74
128
129
55
107
116
108
109
113
50
54
62
119
117
120
117
107
104
49
46
91
30
81
85
80
21
12
4
0
0
0
48
51
54
58
63
67
71
86
84
29
29
31
37
43
53
105
112
54
55
112
56
131
193
195
140
195
190
174
117
110
157
159
107
158
156
95
147
144
141
139
86
137
131
77
75
73
124
70
70
71
71
72
72
124
72
72
117
116
61
103
99
98
98
74
86
90
126
73
73
123
112
55
52
38
80
78
30
41
41
43
39
84
91
91
31
16
79
52
51
106
55
110
108
105
104
53
50
99
100
99
98
98
44
43
95
92
92
93
94
43
44
45
99
99
47
47
47
47
47
105
54
53
54
55
110
109
106
107
111
62
118
67
68
115
116
116
111
101
91
95
41
42
42
40
39
90
41
37
43
48
103
54
57
108
110
104
100
99
46
44
44
49
49
103
102
103
102
102
105
51
48
44
41
41
41
38
91
93
94
216
217
255
255
255
255
226
228
228
255
228
255
255
228
228
255
255
255
255
255
255
228
228
228
227
227
226
226
229
255
228
226
225
255
255
255
255
255
255
221
218
195
131
183
186
136
137
138
139
140
192
193
193
140
139
189
193
193
193
192
192
139
191
191
191
139
140
140
140
190
137
135
136
187
185
184
131
127
112
142
126
69
69
125
138
90
145
143
83
74
121
67
62
106
106
112
57
102
55
63
70
68
109
100
105
115
64
51
42
90
36
35
31
30
27
72
11
3
0
0
52
55
58
60
64
69
73
86
34
34
86
89
39
41
47
52
106
108
61
65
121
110
89
116
189
195
186
172
115
110
160
161
162
163
162
154
102
99
150
147
144
90
87
142
138
84
85
133
129
124
123
71
71
68
64
61
53
52
103
108
64
73
78
132
77
76
131
77
69
112
114
109
51
89
86
88
39
48
104
46
36
90
97
98
91
88
86
91
54
106
104
51
104
105
54
57
57
110
50
101
100
49
48
45
94
94
94
94
94
43
45
98
96
46
99
48
102
100
47
48
48
49
103
105
60
113
113
109
114
119
121
125
77
71
70
117
109
101
96
97
98
45
93
92
38
89
84
37
41
46
101
103
104
109
56
106
102
101
100
100
45
49
100
100
99
100
48
101
100
102
103
104
51
48
96
94
43
46
100
217
218
255
255
225
226
255
255
228
228
255
255
255
255
228
255
255
255
255
255
228
228
228
228
227
227
226
255
255
255
255
255
226
226
255
227
229
255
255
255
217
189
170
120
177
130
133
136
188
190
139
141
141
141
193
139
139
139
139
192
192
140
139
190
189
137
137
137
137
139
188
135
185
183
129
128
180
126
118
156
135
119
114
66
80
82
86
85
82
75
119
64
63
110
105
107
57
105
113
118
119
112
103
103
114
126
119
54
45
41
91
36
33
31
78
20
11
56
0
0
52
55
59
11
67
21
76
84
34
35
87
89
91
92
96
48
103
105
110
116
120
126
66
136
166
187
188
180
124
173
167
167
169
120
122
158
158
158
103
101
98
97
94
147
139
136
84
82
79
67
119
121
67
63
109
105
49
102
106
71
78
131
78
70
124
127
129
71
63
55
62
109
101
33
85
91
45
102
107
52
39
39
99
103
91
91
41
42
47
102
105
100
101
103
53
57
111
59
53
52
51
51
49
97
95
41
42
43
44
45
98
98
99
99
99
48
48
98
97
98
42
40
45
107
112
108
113
111
63
119
119
123
127
71
61
51
46
47
47
97
51
47
94
91
37
36
84
90
42
98
101
101
102
105
106
104
101
100
99
98
44
46
98
97
96
96
45
46
44
48
51
106
106
103
46
42
44
49
104
222
255
225
226
255
255
255
255
228
228
228
228
228
228
255
255
255
255
255
255
228
228
228
228
227
227
226
226
255
223
225
255
255
255
229
228
220
255
255
255
197
131
114
114
166
166
119
130
186
186
188
190
141
142
142
142
138
138
138
138
190
138
189
190
189
188
186
186
187
137
141
138
186
181
125
121
170
166
115
165
105
145
128
115
118
66
68
73
76
75
123
113
64
122
119
106
56
60
71
121
122
134
153
163
155
141
116
105
99
98
98
95
41
85
78
18
64
59
2
0
53
59
64
18
22
28
83
85
40
43
45
44
94
93
90
90
92
44
50
58
116
120
136
137
85
93
111
180
184
186
136
134
130
126
123
163
163
163
160
158
103
152
150
146
83
78
75
74
74
73
120
111
108
107
104
103
113
119
73
71
121
122
123
118
68
123
118
115
113
59
52
105
103
90
88
95
49
104
108
106
44
36
43
102
102
100
46
46
50
50
101
102
102
50
50
52
104
52
109
56
56
108
107
103
101
48
48
47
46
97
95
95
43
95
95
44
45
100
101
101
103
52
54
110
114
113
118
112
61
118
124
77
49
110
107
52
51
51
103
99
44
39
34
32
31
32
83
85
88
91
42
44
98
52
102
49
47
46
45
43
39
44
94
92
90
89
91
42
42
94
44
45
46
100
49
44
98
102
105
255
255
227
228
255
229
228
228
255
228
228
228
228
228
228
255
255
255
255
255
255
228
255
255
227
227
226
226
255
255
219
221
255
255
255
255
229
228
255
219
164
123
110
161
160
161
112
122
178
181
183
187
190
193
142
143
142
194
192
191
190
138
135
192
192
138
189
187
185
183
128
129
129
179
175
119
166
159
104
100
153
101
95
86
102
101
101
54
59
119
74
69
64
79
85
109
90
95
137
162
188
193
187
124
111
98
72
57
49
47
101
101
100
84
76
16
63
8
3
0
57
63
18
22
27
31
33
33
43
48
101
99
95
90
38
34
35
39
98
56
62
120
130
136
89
93
98
99
110
165
178
128
126
174
170
125
125
122
119
115
162
159
156
97
91
86
79
77
131
118
115
113
114
117
118
119
67
69
123
71
123
74
78
118
65
63
61
113
111
58
49
50
50
89
90
47
109
107
107
106
50
39
92
95
105
101
47
46
49
49
47
102
50
101
101
48
47
99
97
100
53
110
111
107
102
51
48
45
94
93
95
97
97
97
96
96
45
100
101
100
105
110
113
114
69
70
70
69
70
123
74
82
113
117
65
63
60
56
104
96
92
88
34
32
32
31
79
82
84
34
36
37
90
46
46
46
45
44
95
41
88
89
33
82
80
79
81
83
41
42
94
95
45
47
101
53
105
104
104
255
255
255
255
229
229
229
228
228
255
255
228
255
255
255
255
255
255
255
255
255
228
228
255
255
255
226
226
255
255
255
218
218
255
255
255
229
224
255
255
186
177
156
157
106
110
113
120
175
128
182
186
138
140
142
143
196
194
193
140
190
190
187
193
192
140
139
188
186
128
121
175
176
177
175
120
115
160
153
95
146
95
96
95
44
96
96
46
105
115
73
73
116
81
88
55
82
86
160
178
138
136
182
178
118
108
76
61
51
48
50
101
101
31
23
67
11
7
3
50
58
12
19
75
79
83
33
85
95
99
101
99
42
36
33
81
30
33
41
103
109
64
130
134
84
142
150
155
107
103
151
156
112
172
127
184
183
179
176
171
166
163
102
95
91
86
130
75
77
119
118
118
119
67
117
64
72
70
69
74
76
127
74
63
62
60
62
60
58
106
103
51
48
86
38
50
113
109
108
107
105
42
40
42
49
100
99
46
45
99
100
100
100
100
100
47
48
47
51
101
45
45
106
59
61
63
59
105
99
95
44
45
100
99
98
96
97
47
99
47
48
106
111
117
122
122
73
74
75
69
116
123
62
73
68
113
110
56
53
93
93
39
37
87
33
84
25
32
85
87
35
86
87
41
46
45
44
44
42
39
87
85
29
26
24
23
76
79
39
42
97
100
102
102
102
109
108
106
105
255
255
255
255
228
255
255
255
255
255
255
255
255
255
255
229
255
255
229
229
255
229
229
229
255
255
228
255
255
255
255
255
255
255
191
165
228
249
255
255
219
255
193
112
101
106
108
108
164
121
176
178
130
184
132
132
189
137
140
193
195
144
144
191
190
189
186
184
129
126
116
115
164
161
158
157
104
105
154
97
93
89
136
131
68
116
104
98
97
95
51
83
82
77
63
38
85
122
133
134
135
133
130
176
117
113
88
71
113
109
54
50
48
35
29
73
18
15
61
57
68
22
24
80
87
89
90
93
92
42
44
42
39
88
89
88
90
91
94
100
106
74
136
140
143
148
156
162
170
178
132
186
137
138
136
178
179
175
161
141
79
80
82
85
67
59
58
63
120
123
124
125
126
73
124
71
69
67
117
68
120
118
116
68
123
127
67
60
54
103
105
49
94
85
42
50
105
107
57
106
104
48
43
43
45
48
102
50
98
99
100
53
105
106
106
48
45
95
103
51
102
45
41
43
45
50
106
106
103
55
66
62
103
102
49
101
99
46
46
97
44
45
48
52
114
119
122
71
69
64
56
51
53
67
116
113
110
55
51
93
92
38
37
87
33
31
29
34
85
85
34
34
34
88
88
89
88
90
41
42
91
78
73
18
17
21
77
80
37
41
97
51
54
108
110
109
109
109
109
255
255
255
255
255
255
255
255
255
228
228
255
255
255
255
229
255
255
255
255
228
228
227
227
227
226
226
255
255
229
229
255
255
255
255
189
171
158
152
199
194
218
251
205
113
154
152
153
105
107
113
120
125
182
133
133
189
190
190
190
140
142
147
146
196
193
189
184
181
125
115
114
164
108
103
151
147
87
140
139
141
87
83
76
48
53
103
97
96
91
31
82
76
19
13
7
14
48
115
115
115
167
113
111
108
106
95
81
70
115
58
53
101
93
87
30
24
19
67
67
24
29
31
35
39
95
95
98
95
42
42
40
40
39
91
38
41
43
97
103
110
63
77
135
89
148
155
160
172
171
170
171
120
117
164
149
95
84
72
60
58
64
70
73
117
114
64
72
129
126
126
125
72
122
120
66
69
69
120
117
116
117
117
124
128
129
63
55
53
104
57
98
87
37
47
104
107
58
105
103
104
51
47
40
42
48
105
104
97
47
51
103
101
101
105
54
47
91
80
85
92
47
49
45
41
91
95
45
97
48
50
97
98
100
102
102
50
45
43
95
101
49
39
25
22
78
70
68
21
31
100
66
136
62
60
57
55
54
50
41
89
89
36
87
86
85
84
38
89
89
38
40
41
95
42
40
89
87
86
34
34
81
80
77
23
75
77
27
29
32
35
40
45
101
105
111
59
59
111
255
228
228
228
228
255
255
255
255
255
255
255
229
229
255
228
255
255
255
227
227
227
226
226
226
255
255
255
255
229
255
255
228
221
214
255
209
206
193
164
148
211
225
203
127
107
97
103
97
101
107
114
173
126
130
133
190
190
136
136
189
191
142
142
142
141
140
187
181
121
113
165
163
107
103
150
146
138
84
134
133
133
79
75
50
104
46
42
96
92
31
24
73
19
70
69
77
52
107
160
160
160
160
108
159
159
149
85
74
118
59
54
51
40
88
84
26
18
16
18
25
82
84
34
40
95
94
99
45
43
41
39
91
39
40
39
42
44
46
104
111
60
76
84
90
97
104
108
167
113
166
165
159
150
143
77
79
137
78
120
117
121
126
77
71
120
124
130
136
72
72
73
72
71
121
120
118
70
124
114
61
65
122
71
125
125
61
55
107
108
108
96
85
41
101
105
106
59
50
51
105
104
103
41
41
46
103
104
98
47
49
101
46
44
99
106
103
47
82
80
29
36
99
96
90
94
95
42
41
42
43
92
40
43
44
98
46
41
91
97
105
103
89
73
15
17
69
69
76
36
55
124
139
113
111
108
106
52
50
93
91
89
37
37
36
35
87
40
40
94
42
43
96
97
40
39
39
89
86
32
32
81
79
77
74
74
76
27
28
29
32
87
92
99
103
111
59
59
111
255
255
255
255
255
229
229
229
229
255
255
229
229
255
228
228
255
255
227
227
227
255
255
227
227
255
227
227
255
255
255
229
229
255
229
219
224
255
255
217
206
251
156
142
183
123
115
161
98
101
102
153
155
157
110
167
178
126
127
181
182
182
131
184
133
185
184
130
126
121
115
164
158
99
94
140
137
135
80
77
75
73
73
122
111
51
51
69
80
122
61
77
70
60
102
97
105
128
97
149
150
151
152
156
159
160
148
87
129
121
62
108
53
40
37
88
81
18
68
75
81
85
87
87
92
95
42
96
99
46
41
37
88
88
39
38
93
94
96
50
57
56
126
83
91
98
103
105
155
102
109
156
142
133
78
69
125
136
133
125
122
73
130
132
129
75
76
82
137
125
74
74
73
72
123
121
122
121
67
119
122
72
125
74
69
114
110
109
56
54
47
90
86
96
99
102
105
56
47
55
58
103
108
98
43
43
46
101
103
99
95
44
44
96
44
49
103
104
108
104
45
38
87
38
92
91
89
89
39
42
40
92
91
92
40
42
94
93
93
46
95
80
61
54
74
30
96
55
62
119
119
117
59
110
108
106
106
52
103
95
94
42
42
42
42
43
95
94
46
101
103
102
100
92
40
39
37
34
84
33
36
93
89
83
75
71
71
24
31
83
31
34
38
43
102
110
110
110
110
255
228
255
228
228
229
255
229
229
255
255
226
229
255
229
229
255
228
227
255
227
229
229
255
255
229
226
225
255
255
255
227
229
229
255
255
229
229
228
226
255
255
220
214
243
165
201
174
174
162
161
159
106
104
152
147
108
109
161
163
114
117
122
123
175
175
173
120
170
167
112
162
103
96
141
135
132
125
71
71
128
76
71
118
106
43
99
122
88
87
87
91
145
150
95
70
101
64
135
141
142
141
92
149
99
96
148
138
76
68
63
110
107
96
37
31
78
76
76
75
83
86
90
92
93
41
41
98
95
40
38
87
33
84
82
87
37
38
94
98
102
102
63
70
128
82
138
139
145
142
106
111
156
149
93
77
80
134
138
81
128
133
141
135
135
85
82
85
141
128
129
129
128
126
70
69
68
65
64
69
125
127
127
67
61
112
107
111
60
50
37
88
89
100
102
50
47
104
53
51
104
100
99
110
50
41
90
96
104
104
53
41
43
97
97
46
49
103
102
52
55
56
99
41
89
96
95
95
46
49
98
94
39
41
42
42
95
102
106
50
79
56
4
75
44
99
102
115
72
124
119
108
92
111
110
108
105
104
102
101
46
96
92
91
41
44
48
106
105
106
106
103
46
37
90
94
45
40
85
84
93
112
57
51
94
83
76
23
33
37
93
42
41
43
96
104
105
55
108
255
228
228
228
228
228
255
255
255
228
227
225
255
255
228
255
255
226
255
255
229
228
228
227
227
228
255
255
220
221
222
224
255
255
255
255
255
229
229
255
255
255
255
255
220
203
185
155
146
187
179
169
109
157
157
110
99
98
149
148
147
148
97
103
156
158
107
109
161
160
102
153
149
93
89
136
133
75
73
130
137
137
126
107
54
66
134
144
148
96
98
144
148
155
108
103
83
60
123
81
140
140
87
88
92
93
139
80
75
68
62
57
105
98
93
86
30
81
79
80
80
32
88
89
38
38
37
93
90
36
86
83
29
28
87
90
91
40
42
98
101
107
64
70
128
133
138
141
89
140
153
105
160
165
170
162
106
88
90
88
139
90
89
143
135
82
84
134
130
77
129
128
74
72
71
70
72
71
71
124
73
71
70
116
58
58
55
109
57
48
89
89
91
100
50
50
49
107
53
48
101
104
101
104
47
47
48
49
47
104
59
52
48
43
41
45
49
102
104
106
110
60
58
106
104
94
93
41
43
97
97
96
42
42
43
98
101
115
69
57
60
65
120
118
54
103
110
113
114
113
109
52
96
56
57
58
59
109
107
104
52
49
98
44
46
101
50
113
111
107
103
100
46
44
100
97
40
37
88
86
86
95
52
63
116
110
47
39
37
38
95
97
99
102
105
107
56
57
57
229
255
255
228
255
255
255
255
255
225
225
255
225
226
255
224
223
255
222
224
225
224
225
226
255
255
255
226
255
255
223
224
226
255
255
255
255
229
229
255
255
255
255
255
220
205
188
169
156
153
144
135
126
171
165
110
102
100
98
147
145
143
143
146
148
98
99
153
153
100
96
148
146
91
140
137
135
79
81
86
142
87
129
68
85
150
105
100
145
141
83
85
86
88
90
146
90
72
112
71
83
140
139
85
87
89
82
77
73
68
62
56
51
96
92
87
31
29
29
29
33
36
38
93
94
41
40
43
41
91
88
34
33
84
85
88
89
88
38
42
96
107
115
120
125
131
83
87
144
147
103
105
158
112
117
164
161
141
90
144
142
94
88
93
138
135
136
133
126
78
78
77
75
73
72
71
126
74
126
126
72
69
66
60
57
110
107
57
56
46
90
90
93
100
51
51
50
109
106
47
47
56
50
50
102
101
46
46
48
104
56
58
52
45
41
45
48
101
51
54
109
112
113
112
110
94
42
41
93
93
92
38
39
38
92
94
99
113
117
115
69
127
75
69
55
104
59
57
55
54
106
53
53
55
57
112
113
113
59
105
113
59
56
55
55
57
58
108
107
105
102
49
47
44
95
93
42
46
102
100
93
87
94
54
62
116
110
50
92
94
97
100
103
107
59
61
62
63
63
229
229
229
229
255
255
255
255
223
220
255
255
210
208
255
210
212
214
213
213
212
212
212
213
255
255
255
222
229
255
255
229
228
227
255
227
255
227
226
255
255
255
255
255
255
253
183
173
199
192
192
195
146
197
192
128
117
167
163
107
103
101
98
147
146
94
94
146
92
90
145
145
91
92
145
147
97
152
151
96
139
132
129
88
105
156
99
94
146
150
144
79
83
86
86
139
141
89
121
67
70
79
138
87
84
136
81
77
74
70
64
58
54
45
94
93
91
91
39
40
52
54
57
110
110
57
56
61
59
57
108
105
52
103
102
53
105
105
55
110
113
119
124
73
76
79
137
141
91
100
165
167
172
172
119
116
119
141
131
127
73
128
134
87
96
145
82
74
72
135
134
130
129
128
127
127
131
130
74
72
70
67
116
110
56
58
58
59
54
43
90
92
96
101
49
50
52
57
108
49
46
109
103
99
56
49
94
92
104
52
47
60
111
57
105
100
50
54
54
107
109
59
63
116
116
108
57
57
53
49
95
42
39
39
42
49
110
122
72
72
64
56
105
57
119
118
113
57
55
55
108
58
59
107
109
112
116
117
63
60
108
107
52
103
102
50
48
116
117
117
63
60
54
44
101
96
93
94
98
52
58
51
99
100
55
66
124
121
111
58
55
55
110
62
62
70
123
124
73
229
229
229
255
255
255
255
255
255
255
255
200
192
187
215
221
177
185
191
189
240
180
176
222
222
177
255
255
229
229
229
229
229
255
255
224
255
255
255
255
255
255
255
219
217
207
183
141
145
136
133
135
140
96
156
166
173
172
168
112
110
108
157
105
105
105
159
107
106
105
154
101
99
99
153
160
113
105
151
94
150
156
162
114
107
104
104
158
157
152
151
152
145
90
90
88
137
143
113
86
117
118
79
88
140
139
85
132
127
123
119
62
59
108
108
107
109
111
111
111
63
66
121
121
122
69
68
126
72
123
69
68
67
66
64
68
69
69
71
127
130
89
91
90
89
91
148
101
110
115
166
170
125
175
170
141
148
108
93
146
103
115
157
103
133
128
102
90
96
87
85
80
131
131
131
130
81
130
73
69
68
67
66
109
56
111
111
61
107
95
90
93
98
101
100
50
52
54
110
52
47
55
103
48
54
57
54
46
102
55
56
55
114
121
118
103
52
56
61
114
114
62
64
66
67
71
75
131
78
75
122
120
67
116
63
62
62
50
45
95
43
98
101
54
110
110
115
116
64
115
113
59
56
56
58
112
114
63
117
64
64
113
111
109
108
56
53
105
105
52
104
53
55
57
62
121
126
121
57
48
46
64
65
116
60
107
108
114
75
121
116
61
62
62
114
116
117
118
68
228
229
255
255
255
255
227
224
255
202
190
222
212
204
199
199
205
163
176
172
216
214
200
133
130
149
255
255
255
229
255
255
229
228
255
255
255
255
229
228
255
229
226
225
216
201
180
189
122
105
87
132
143
102
152
152
154
154
157
158
107
107
159
104
105
158
160
161
109
107
156
106
107
110
164
167
169
115
117
120
121
174
122
120
174
121
118
112
106
150
146
143
89
86
137
84
84
138
152
160
144
116
113
83
93
83
82
136
137
79
130
130
74
118
117
64
115
116
116
64
68
121
72
127
126
125
123
73
74
125
74
74
73
125
122
71
72
73
77
82
86
92
143
144
95
99
156
157
108
110
170
120
125
181
184
134
186
187
188
192
145
149
152
198
191
117
86
123
127
81
86
87
88
142
138
129
69
65
116
127
134
140
143
96
58
65
113
110
51
42
81
40
62
105
89
40
52
48
102
99
41
53
53
99
100
49
103
100
46
52
57
63
58
114
71
57
45
96
106
66
82
92
78
119
115
62
67
128
85
91
94
144
140
134
77
123
118
55
52
106
53
104
103
104
103
101
50
52
105
105
51
51
55
59
60
114
117
67
120
68
62
113
110
54
102
48
52
104
105
105
52
53
106
99
51
111
122
130
83
80
77
76
136
138
81
77
64
107
111
119
120
70
74
74
76
75
71
68
119
228
229
255
255
255
255
227
219
255
204
186
153
197
196
191
139
140
197
149
145
192
185
186
141
160
189
225
224
229
255
255
255
229
255
255
255
255
228
229
229
255
225
224
213
241
215
198
187
130
127
117
154
141
84
83
73
124
125
126
128
127
127
125
72
74
131
136
88
93
148
145
96
99
156
161
114
169
115
167
167
115
115
117
117
114
113
110
107
102
149
92
90
142
142
141
142
89
90
95
148
155
105
89
121
72
92
138
138
86
81
134
137
82
126
126
74
126
128
129
77
129
128
127
127
126
71
121
125
70
122
120
66
65
65
118
121
69
70
73
78
81
135
90
93
97
97
149
150
157
161
119
124
128
184
135
136
189
191
192
143
148
153
154
203
199
179
152
137
138
86
140
88
86
138
135
79
80
76
124
119
64
62
60
57
118
71
106
129
78
95
88
94
107
52
44
101
112
111
65
65
110
111
115
111
108
110
62
114
111
61
116
63
68
127
131
81
69
109
55
57
119
126
68
118
119
115
119
128
85
144
151
151
151
94
91
87
84
74
123
115
113
111
109
107
51
49
48
102
103
103
50
101
103
52
107
109
112
62
114
61
61
112
110
52
48
97
46
51
104
51
49
54
112
114
56
56
105
102
48
47
99
92
101
107
116
128
81
82
81
80
73
68
122
68
63
76
77
78
130
228
228
229
255
255
255
255
255
255
255
255
178
161
147
139
137
185
183
132
135
190
202
221
244
255
255
255
227
229
229
255
255
229
255
255
255
255
226
229
255
222
255
255
248
228
208
196
181
175
169
124
172
152
89
90
80
130
131
134
85
87
141
142
91
91
144
93
94
96
150
155
104
105
160
162
164
165
166
112
110
108
109
110
163
106
105
103
153
99
97
93
90
142
143
142
141
141
140
135
138
144
153
161
160
147
134
86
91
144
139
136
80
74
75
75
128
129
79
133
135
78
127
123
69
119
64
61
116
113
112
112
113
62
115
113
118
67
69
123
75
78
80
82
83
137
89
93
95
147
152
112
117
173
125
127
185
188
139
192
194
146
149
151
150
203
141
124
114
165
166
161
96
91
139
140
144
91
141
137
122
113
51
45
83
123
61
79
113
148
90
45
96
98
51
57
115
117
59
67
71
68
110
112
115
110
111
60
62
62
114
114
61
70
127
128
86
83
123
58
108
111
67
121
118
117
117
121
130
140
96
159
107
155
102
99
150
147
86
82
125
123
66
63
112
53
51
101
100
48
100
101
48
48
56
56
108
110
57
108
106
52
52
105
51
50
101
52
54
60
63
63
116
63
58
45
42
38
89
43
53
65
79
78
123
117
69
67
117
75
73
117
64
70
72
124
125
77
81
81
228
228
255
255
255
255
255
255
255
255
255
250
231
217
150
144
189
182
131
138
197
166
239
255
255
255
225
225
255
255
229
229
229
228
228
255
255
227
255
255
216
255
252
244
177
163
153
130
171
111
122
121
104
89
138
133
88
142
145
148
98
153
154
97
97
150
99
102
157
162
162
111
162
164
164
111
162
164
162
160
107
107
160
109
102
101
102
100
98
97
147
143
90
141
139
86
135
134
129
134
134
139
158
120
163
142
87
92
143
136
78
74
118
72
72
125
74
76
78
131
78
74
70
68
66
116
114
114
111
58
59
112
114
115
60
67
69
124
75
78
81
83
134
135
86
91
95
98
148
151
113
117
173
124
178
185
135
140
193
194
145
149
203
152
155
148
139
134
133
142
185
113
101
141
84
87
141
142
139
127
121
113
107
139
123
57
106
124
142
40
48
46
43
103
112
118
65
56
115
120
66
57
57
59
109
56
109
111
112
113
113
63
67
70
123
130
79
77
117
112
59
65
73
119
63
69
125
132
142
99
110
112
163
162
108
158
157
93
88
75
73
69
117
114
106
52
102
101
47
100
102
102
47
58
57
108
108
58
111
115
60
61
115
115
63
115
117
75
82
87
137
136
81
73
120
60
50
43
41
47
56
66
125
127
128
81
79
75
123
122
113
106
57
109
109
65
67
120
119
228
228
229
228
255
255
228
226
224
223
255
255
255
207
194
185
222
208
204
162
174
194
255
255
255
229
255
255
229
229
255
255
255
255
228
226
255
227
255
255
208
255
202
193
178
164
155
134
122
170
122
122
109
92
136
153
156
157
159
159
107
107
158
104
103
155
155
105
159
163
163
112
164
164
112
110
109
159
159
160
108
108
107
106
100
152
101
152
152
150
149
90
87
134
75
124
121
67
71
71
73
78
90
103
167
176
91
140
81
70
66
66
113
123
70
70
71
72
73
125
63
59
109
108
55
106
104
104
98
43
42
42
43
96
44
52
57
112
64
121
72
70
128
133
135
85
136
84
140
145
105
108
111
113
166
170
121
127
129
130
132
135
138
139
198
200
149
151
152
163
212
203
186
160
139
77
74
72
74
79
133
132
80
69
67
115
154
128
65
48
101
103
45
50
114
61
56
60
115
119
123
63
114
63
64
62
112
112
65
67
120
120
63
63
120
117
73
89
83
72
112
115
131
126
68
79
135
142
149
106
169
171
170
169
115
165
110
96
142
77
74
121
119
64
109
106
104
102
99
101
104
104
100
108
107
107
109
63
123
137
78
81
134
133
80
80
133
131
136
86
135
80
79
80
134
83
134
81
130
126
123
81
134
127
64
59
110
62
78
80
74
67
121
122
74
76
124
120
119
227
228
227
228
229
255
229
229
228
226
226
255
255
255
255
255
248
241
232
236
192
210
218
226
255
255
224
255
255
229
255
229
229
255
255
228
227
255
255
255
207
255
250
187
174
167
162
138
128
173
126
124
162
146
91
98
107
159
109
112
115
167
162
99
98
148
149
97
100
104
158
157
105
105
159
108
107
155
156
159
160
110
161
160
107
158
105
103
152
149
94
84
131
125
118
114
58
55
63
111
64
69
72
127
92
113
113
92
78
124
68
114
55
106
106
54
55
58
112
113
56
54
105
104
50
102
102
100
97
94
91
37
34
84
32
91
94
97
101
105
108
61
69
124
126
128
131
79
87
134
135
89
92
94
147
151
152
159
112
118
121
123
179
131
195
200
151
151
203
206
208
204
202
193
165
135
127
69
66
72
78
82
86
57
68
146
219
124
63
100
101
107
107
106
108
54
104
117
65
121
77
76
70
65
68
120
70
72
75
75
75
107
138
138
132
139
124
84
74
68
118
121
125
70
69
85
90
148
102
108
119
120
115
116
166
161
104
150
145
131
77
126
121
65
60
112
57
58
59
59
59
59
57
115
116
116
64
64
65
67
121
122
122
72
73
75
79
74
125
132
85
79
75
81
73
77
73
75
84
83
80
143
97
142
133
81
127
115
74
124
73
77
72
58
45
97
97
97
96
227
227
228
228
228
255
255
228
255
227
227
225
255
255
222
215
207
202
246
249
255
217
222
228
229
255
223
221
255
255
255
229
255
228
229
229
255
255
255
207
206
209
246
187
178
224
166
140
129
133
131
175
162
151
149
99
103
106
110
110
109
160
165
106
105
104
103
155
104
107
161
162
162
107
106
106
105
156
156
106
159
109
160
160
109
108
158
104
101
97
145
133
128
123
118
60
55
102
109
109
60
65
67
120
130
145
174
106
85
122
116
110
52
50
49
100
102
104
108
110
54
54
54
106
53
52
52
104
100
96
40
37
87
85
32
91
94
43
47
51
106
58
66
124
128
130
129
126
81
126
125
76
78
78
79
84
86
147
101
158
163
166
173
125
190
143
147
201
203
147
153
210
161
158
142
120
148
136
127
120
124
130
81
63
87
170
219
178
71
102
104
108
109
54
53
107
107
119
115
64
70
72
66
113
66
64
65
67
125
73
74
120
125
147
166
95
134
124
109
107
111
117
68
70
126
141
92
149
154
105
112
113
112
165
163
106
102
95
91
129
127
72
68
116
61
60
60
111
60
59
61
62
63
63
118
119
68
119
115
58
114
114
114
62
114
115
65
72
129
134
77
68
120
109
139
122
102
98
100
88
77
77
132
124
117
69
123
120
84
121
103
97
97
44
93
89
92
97
100
228
228
228
255
255
255
255
229
255
227
229
229
255
255
255
217
214
255
255
255
255
216
218
221
224
225
255
229
255
255
255
229
255
226
225
255
218
255
213
208
251
249
251
197
193
240
182
212
206
137
124
160
102
104
161
162
112
112
165
167
169
166
105
101
152
99
99
100
154
106
106
111
169
118
116
111
109
104
103
104
157
157
158
158
111
110
160
157
153
148
143
79
76
124
121
65
59
105
108
109
58
60
60
110
111
63
118
131
112
133
63
112
115
55
51
46
97
98
49
102
50
51
105
54
54
53
52
102
98
43
40
88
86
85
88
94
96
46
47
50
52
59
60
119
127
131
132
78
67
61
57
55
52
51
105
105
109
72
79
85
145
151
110
168
184
137
142
147
149
147
205
215
168
174
175
225
219
210
202
184
178
174
172
118
133
145
200
185
101
68
58
109
114
65
60
116
71
63
110
58
63
116
58
106
113
116
68
125
130
79
132
134
127
109
87
200
158
97
121
109
51
54
69
78
136
141
142
144
143
91
96
98
101
155
154
98
148
143
86
130
75
73
69
119
116
65
113
61
61
113
63
65
121
123
71
122
122
121
120
68
65
116
112
108
103
49
46
92
95
88
37
61
94
215
184
95
121
121
123
111
46
79
88
99
100
93
137
127
116
115
61
109
107
104
49
101
107
116
122
228
255
228
228
255
255
228
229
229
255
255
255
255
255
255
255
255
255
255
255
255
255
255
212
215
218
229
229
255
255
255
229
228
222
220
255
255
255
255
205
195
244
238
235
177
170
164
216
218
204
129
107
99
102
105
160
157
158
158
157
157
107
113
166
164
109
107
106
105
159
167
115
115
167
116
165
162
104
102
154
153
153
101
102
160
159
157
103
151
95
91
135
133
78
76
126
124
120
119
65
60
59
111
112
112
60
87
119
133
170
86
66
115
106
50
47
45
96
96
43
99
98
99
47
48
49
102
99
44
42
92
90
36
36
88
92
94
42
44
99
101
108
65
121
121
121
121
67
68
61
98
89
80
24
77
76
84
106
113
72
82
142
152
159
178
181
135
193
199
144
144
148
151
153
210
216
160
214
162
156
148
194
191
154
202
195
131
189
186
107
77
62
65
70
121
83
102
146
143
87
85
134
139
146
131
136
87
135
125
134
92
86
51
116
68
166
214
117
151
135
68
113
64
71
129
126
126
73
124
71
77
132
80
136
85
84
137
135
80
74
72
70
119
117
115
65
64
65
69
71
73
75
130
129
76
126
123
124
71
72
63
114
110
55
52
50
48
84
92
40
59
101
112
77
129
102
84
83
86
97
46
10
18
34
38
85
100
127
87
85
128
60
48
50
56
105
108
111
113
228
255
255
255
227
228
255
229
229
228
255
255
255
228
204
203
255
255
255
255
216
255
255
255
212
216
227
229
225
255
255
255
255
255
219
219
255
255
255
202
195
193
238
232
222
211
202
151
156
213
188
164
102
101
101
103
107
162
167
166
114
121
198
213
210
154
150
147
198
199
189
130
123
169
115
164
108
103
101
153
152
151
152
100
106
157
156
102
151
95
92
137
135
131
77
128
127
125
71
118
61
110
112
115
62
62
78
109
190
184
97
67
59
49
48
45
44
43
42
41
99
97
44
45
46
48
101
99
97
43
42
92
38
37
92
95
97
46
47
102
104
106
120
123
68
116
112
110
55
102
88
79
71
69
69
68
76
100
56
67
78
139
96
156
174
178
184
191
197
193
138
141
196
198
202
208
217
168
169
159
151
146
143
156
149
195
128
137
193
172
86
65
115
68
70
90
113
155
143
73
56
54
124
141
144
146
92
130
110
68
80
72
105
107
60
131
185
214
159
148
82
124
116
121
75
119
119
118
116
64
69
125
125
77
80
79
132
80
76
71
70
120
116
115
115
63
66
69
124
127
130
131
132
128
128
127
126
73
71
68
66
63
59
54
49
45
94
90
94
36
57
105
173
138
51
34
27
27
28
88
86
0
12
87
93
84
98
73
79
81
75
63
55
55
105
104
106
107
107
228
255
255
228
228
255
255
255
229
229
255
255
223
222
216
214
213
255
255
255
216
216
216
255
255
255
255
255
225
225
227
255
255
255
226
220
255
215
203
248
232
218
147
194
192
198
204
208
210
156
214
205
142
194
195
183
132
131
133
138
147
207
217
172
180
244
201
255
255
253
252
197
191
238
178
167
157
140
181
171
111
108
159
114
105
157
155
102
102
154
99
92
90
138
84
82
132
80
69
120
68
120
118
65
62
114
112
72
158
183
184
108
81
96
44
46
49
52
53
108
103
44
39
89
37
38
38
104
94
37
35
90
93
94
40
100
102
49
103
107
111
113
117
69
69
118
113
109
50
46
84
78
72
70
69
71
28
52
62
124
135
90
98
100
163
170
174
127
129
135
138
145
197
197
200
201
198
198
147
147
146
199
199
132
134
135
137
187
182
176
117
110
156
142
132
127
128
122
54
38
33
89
101
63
78
125
123
124
124
123
121
61
67
114
115
57
116
147
192
193
148
146
73
75
67
67
116
115
115
62
61
116
113
115
117
119
118
115
114
122
65
63
64
118
121
121
121
128
131
131
130
132
130
134
131
127
124
70
67
114
112
58
53
101
46
94
88
32
45
83
31
78
160
109
115
110
43
30
80
83
86
21
33
96
89
76
82
51
69
113
107
53
47
44
54
98
94
91
92
255
228
228
228
228
255
255
255
255
255
255
224
223
222
217
216
215
214
215
216
217
218
221
255
255
255
229
228
255
226
227
228
255
255
255
219
216
208
195
238
212
198
196
149
211
223
233
245
249
254
202
184
211
146
141
198
201
209
167
173
228
232
241
202
208
255
217
255
218
218
213
211
208
204
200
247
241
173
170
213
149
130
166
107
108
157
155
101
102
153
100
93
144
92
90
141
86
84
77
128
76
76
76
74
122
66
115
116
126
162
201
142
102
108
49
52
107
54
51
104
46
46
99
99
95
40
36
84
85
37
38
38
89
91
42
100
102
51
105
108
111
109
111
112
62
61
57
54
51
100
87
82
79
78
78
81
86
51
58
119
127
81
86
89
151
157
162
114
117
127
129
134
186
187
138
140
194
194
193
191
137
137
188
178
125
126
180
179
124
173
169
113
161
146
133
122
116
51
42
84
81
82
85
90
51
56
115
120
77
74
123
124
77
70
117
76
75
79
131
163
157
119
93
84
84
123
65
60
111
108
54
107
106
108
112
113
113
113
114
59
59
110
112
114
122
124
76
134
86
138
137
87
136
134
132
127
71
68
117
110
108
52
46
93
39
89
85
32
31
83
75
28
120
139
129
102
24
14
71
80
84
35
87
94
94
37
96
106
46
88
78
76
81
93
58
118
113
110
109
255
228
228
228
255
255
228
226
255
255
255
225
223
222
219
219
218
255
218
219
221
225
255
255
255
255
227
226
255
226
227
228
255
226
255
255
215
203
194
241
213
145
144
207
172
185
194
255
255
208
212
255
251
243
175
148
158
220
231
239
243
193
205
209
255
216
218
218
255
218
222
255
255
255
255
254
197
181
177
174
170
158
138
173
161
158
104
103
155
156
101
96
148
93
92
142
86
135
131
128
74
75
77
75
123
67
63
111
58
137
131
143
122
63
102
49
51
100
96
98
50
50
103
103
48
42
38
99
39
36
83
29
88
96
43
99
101
51
53
56
110
107
108
109
59
58
107
53
52
49
40
36
86
87
87
36
40
53
60
67
126
131
137
88
149
155
160
112
114
177
179
184
132
186
138
140
194
142
193
190
136
136
187
181
179
125
176
174
171
169
168
168
166
105
96
84
128
117
105
39
30
80
85
38
101
56
114
117
75
75
73
125
130
127
119
75
79
134
124
130
144
148
148
83
138
124
65
112
110
109
106
55
56
58
113
113
60
58
58
106
107
108
58
60
69
73
79
85
88
88
140
90
87
137
134
129
72
69
65
109
106
50
44
38
37
34
32
35
21
26
31
74
93
135
72
38
20
24
76
73
27
81
78
84
88
88
90
44
45
33
76
79
92
107
66
118
113
107
105
255
255
255
255
228
228
228
226
255
255
228
226
225
224
255
255
255
255
227
227
255
255
255
255
229
228
229
255
255
227
228
228
255
226
255
255
255
255
194
233
158
154
163
231
247
255
206
215
255
217
214
255
255
210
255
255
195
198
253
255
203
204
255
255
221
224
255
255
255
255
215
216
255
218
255
255
197
249
190
185
186
235
225
159
131
127
172
115
164
109
158
152
150
97
147
147
95
95
150
144
136
132
130
76
69
115
117
69
70
126
152
181
195
86
60
53
54
52
54
111
101
108
65
69
68
63
59
104
37
42
96
38
36
37
96
97
47
50
53
54
107
107
104
53
107
107
54
53
52
53
106
106
105
104
104
50
52
59
118
73
78
133
138
140
149
154
159
163
113
119
173
180
129
185
191
195
193
192
140
138
189
189
136
133
130
125
171
169
114
113
164
115
115
117
171
162
101
129
122
56
44
37
37
34
85
45
56
111
129
81
130
122
120
123
74
68
68
118
128
85
63
159
177
158
93
78
120
112
58
59
56
108
53
54
107
55
54
51
103
101
102
53
53
55
65
71
79
85
142
142
89
91
141
138
82
77
124
67
62
105
102
47
95
92
38
36
30
28
22
24
78
73
70
88
51
50
57
50
33
40
56
94
86
86
93
94
95
47
48
45
41
93
47
54
59
115
109
100
45
255
228
255
255
228
228
228
228
255
255
228
228
255
255
255
255
255
255
228
229
255
255
255
255
229
229
255
255
255
228
228
255
255
255
255
255
255
253
247
176
159
172
252
255
255
255
255
222
255
216
219
255
223
221
255
255
255
255
255
255
255
207
255
255
222
255
255
255
224
255
223
222
255
255
255
255
255
193
194
245
246
245
242
186
165
157
199
186
120
117
164
153
101
156
160
107
108
113
128
125
117
154
137
126
70
123
88
93
98
154
150
165
198
127
94
69
112
135
171
191
222
236
190
190
186
182
230
221
200
147
51
32
33
96
98
44
49
105
51
52
55
104
107
110
59
58
105
101
65
67
120
119
65
117
64
64
113
117
68
124
77
83
139
88
148
153
159
162
112
172
173
128
130
184
186
134
137
188
138
140
191
188
133
137
131
124
114
111
109
107
106
107
109
171
172
164
102
146
139
127
116
44
36
31
31
35
94
102
118
124
127
75
72
121
122
74
127
73
69
61
78
123
177
159
109
97
135
115
57
64
111
111
54
53
51
52
52
107
108
44
44
47
51
57
67
123
129
134
137
138
139
90
138
131
127
123
118
61
57
103
101
48
99
95
94
38
33
86
31
81
79
79
78
73
77
91
31
30
60
71
53
91
89
36
39
93
97
51
100
101
50
41
32
39
101
103
25
57
57
255
255
255
255
255
228
255
255
255
228
228
228
255
255
255
255
255
255
229
255
255
255
255
255
229
229
255
255
228
227
227
255
255
255
255
255
255
253
247
182
168
232
200
205
255
255
222
222
255
255
219
221
222
255
255
255
255
255
255
255
255
255
255
223
224
227
228
226
255
226
225
224
224
255
255
255
255
199
199
250
249
248
245
188
183
181
225
208
134
176
171
164
110
111
115
117
171
123
135
132
125
110
93
79
125
123
93
95
98
101
93
102
179
137
101
84
149
171
138
150
178
185
186
237
185
186
237
229
213
185
147
107
37
95
97
42
47
102
99
97
98
103
40
90
40
100
111
66
111
112
118
71
72
122
69
68
117
119
71
74
79
83
139
139
93
152
106
163
165
172
122
130
132
186
187
135
138
189
139
141
192
137
134
139
186
179
117
114
163
108
110
110
162
166
115
111
157
150
143
133
121
101
40
33
26
29
89
96
115
123
127
69
66
115
116
122
122
69
70
114
69
71
81
122
147
104
88
75
119
109
111
52
53
52
53
53
106
104
52
43
44
98
50
55
66
121
127
80
82
134
134
84
79
75
123
118
113
58
106
102
100
99
47
45
94
90
84
84
82
27
77
77
76
72
81
92
85
84
103
53
35
79
37
50
57
106
100
44
54
45
41
42
46
108
107
63
57
54
58
255
255
255
255
255
255
255
255
255
228
228
228
228
228
255
255
228
228
255
228
255
255
255
228
228
228
255
255
229
229
229
255
255
223
219
255
206
193
189
188
243
251
202
206
255
255
220
255
255
255
222
223
223
221
255
255
255
255
205
205
255
255
219
224
226
229
229
255
255
229
255
255
228
255
255
226
223
217
255
255
211
207
204
198
188
191
246
184
164
206
201
189
133
132
138
195
198
198
144
197
194
181
112
146
136
79
101
105
115
122
119
119
126
214
198
191
217
222
170
195
197
194
189
185
240
244
246
246
220
220
205
157
61
49
99
104
50
100
101
57
65
141
121
132
186
182
179
126
99
86
118
121
72
73
70
129
125
125
75
76
80
84
88
89
93
99
106
115
120
174
177
136
138
139
140
191
196
195
197
199
198
143
192
190
186
181
174
170
168
164
168
168
115
107
108
109
160
102
96
138
77
57
101
42
35
86
89
96
63
124
76
68
68
118
66
69
121
69
63
131
120
113
119
66
145
211
124
91
133
122
101
60
51
50
103
102
50
47
46
94
95
96
100
104
114
118
118
72
74
126
124
125
118
65
113
107
104
102
49
48
96
99
48
48
96
91
31
31
28
24
74
73
73
71
76
82
33
39
39
28
74
46
46
96
96
99
104
103
43
56
127
129
111
37
22
79
94
99
87
255
255
228
228
228
228
228
255
255
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
255
255
229
229
229
229
227
217
255
255
194
237
238
244
254
206
206
255
255
255
255
255
255
255
223
223
222
220
255
255
213
214
212
209
208
212
218
255
255
226
227
227
227
229
255
255
226
255
255
227
224
255
255
255
220
218
255
212
196
242
240
187
185
236
229
152
152
156
216
220
218
164
153
153
202
190
123
109
154
151
105
118
189
200
208
211
207
220
202
198
218
173
173
237
196
199
252
251
198
193
240
234
173
159
210
191
140
42
93
99
44
99
66
92
110
159
120
123
122
170
170
171
142
129
84
72
121
126
131
128
124
71
72
72
74
78
84
88
96
101
108
117
124
174
176
185
135
138
193
194
198
198
199
150
148
146
195
183
127
172
168
167
115
115
166
117
119
116
166
161
155
100
95
138
130
67
63
60
56
105
103
104
67
70
123
125
126
76
75
127
129
79
83
76
82
91
134
131
74
130
144
155
156
128
111
40
48
97
93
91
39
46
48
93
95
44
98
102
59
60
112
117
69
122
122
121
113
57
52
101
97
98
47
101
98
100
48
47
96
92
32
32
79
75
20
20
21
71
70
19
77
30
26
22
30
56
124
129
62
45
96
111
132
112
92
79
17
21
84
104
91
80
81
255
255
255
228
228
228
228
255
228
228
228
228
228
228
228
228
228
255
255
228
228
228
228
255
255
228
255
227
229
255
229
226
255
255
255
201
193
240
191
249
255
210
208
255
255
255
221
223
223
255
223
222
255
219
216
255
210
213
212
208
208
213
218
255
255
255
227
255
227
229
255
255
255
255
255
226
225
255
225
223
222
221
255
255
209
201
247
191
188
239
232
157
160
221
229
231
175
172
163
162
208
143
179
165
108
159
164
180
200
212
223
229
223
226
208
145
149
157
170
180
192
195
248
250
199
196
245
235
174
162
212
193
141
42
95
92
41
56
82
106
117
123
174
123
175
177
179
181
137
132
101
79
120
122
126
75
122
67
68
68
71
73
79
84
94
99
105
115
122
122
123
181
184
188
192
142
143
195
196
147
146
143
192
130
125
119
113
115
116
118
119
172
172
172
171
166
107
102
97
88
133
76
75
126
68
64
113
64
76
78
129
131
81
83
136
136
87
90
146
89
93
100
88
87
92
125
155
191
184
147
126
97
93
92
90
89
90
95
97
94
94
44
46
102
57
111
112
116
68
120
67
117
107
104
48
44
94
95
44
49
48
48
48
46
95
90
33
83
79
21
17
17
70
70
71
70
75
27
24
30
94
66
67
57
43
42
56
74
112
89
22
22
29
92
97
95
75
76
48
255
255
255
255
228
228
255
255
228
228
228
228
228
228
255
255
228
255
228
228
228
229
255
255
255
255
255
255
255
255
255
255
255
255
204
199
195
192
195
255
255
254
212
212
255
255
214
220
223
224
227
255
255
255
213
208
202
200
200
206
211
213
255
255
255
219
221
224
255
255
255
255
255
255
255
255
222
221
221
255
220
220
255
255
216
214
255
203
195
237
229
167
178
237
182
177
172
171
228
219
153
147
197
187
120
169
197
226
188
198
208
212
211
245
228
212
146
140
207
181
193
199
197
243
191
196
202
248
222
159
210
179
70
87
34
32
53
133
102
116
123
120
175
180
180
123
179
184
128
138
110
91
74
63
114
68
119
114
113
114
66
121
75
80
145
148
101
159
165
119
173
178
182
185
186
134
141
139
189
139
138
188
133
126
178
175
117
168
118
119
117
170
171
172
169
114
113
104
99
91
134
75
77
130
131
135
139
87
139
91
146
140
139
88
148
110
110
107
161
161
107
155
152
95
89
127
127
106
158
199
91
130
102
87
47
48
25
50
34
48
100
99
100
103
112
114
112
64
64
112
55
50
88
99
42
40
90
91
43
45
49
47
96
94
93
91
85
74
18
11
6
58
63
66
66
73
72
64
77
49
53
83
23
42
84
150
121
31
32
44
55
56
95
81
78
107
69
85
79
255
255
255
228
228
228
255
228
228
228
255
228
228
228
255
228
255
255
228
228
228
255
255
255
255
227
255
255
255
255
255
255
255
255
200
200
252
250
196
194
255
255
255
255
255
255
212
215
218
221
219
215
215
255
255
255
252
199
201
202
203
204
255
255
217
217
221
255
255
229
255
255
255
228
255
255
223
220
220
255
255
219
220
220
221
255
255
211
255
251
189
179
234
182
179
177
228
224
216
216
159
156
209
202
146
150
246
212
255
255
224
226
255
255
195
230
217
204
201
211
177
183
184
186
188
189
188
190
170
163
186
79
43
94
98
30
42
75
163
176
121
122
121
176
177
177
182
188
135
140
109
91
76
118
120
68
66
111
109
108
110
113
116
121
132
137
90
149
154
110
162
165
116
119
123
125
181
128
179
180
129
180
128
178
177
177
171
119
121
122
174
174
172
119
120
171
170
165
109
102
148
143
91
92
149
97
98
153
158
158
160
164
162
159
162
170
119
170
173
175
122
119
164
157
150
143
67
112
96
89
128
89
81
114
91
93
52
29
45
45
96
95
96
46
106
57
65
66
62
109
104
50
44
99
43
41
91
93
43
45
45
95
93
91
89
86
29
17
18
18
65
7
4
58
65
58
58
15
74
75
23
77
87
72
80
0
58
34
52
104
100
42
33
31
43
91
35
65
144
255
255
255
255
255
255
255
228
255
255
228
228
255
255
228
228
228
255
255
228
228
228
255
255
255
255
255
255
255
255
218
216
255
204
201
254
255
255
197
191
201
255
255
255
255
255
255
255
216
219
255
255
209
210
209
201
198
198
252
252
249
196
210
255
215
217
255
255
255
255
255
255
255
255
255
222
219
255
255
255
255
255
220
255
255
255
215
213
255
205
192
235
234
230
174
175
228
225
222
226
226
227
228
224
173
234
210
220
222
222
224
226
226
255
203
241
228
161
204
209
221
234
235
182
188
249
203
201
173
155
175
130
100
96
96
37
44
73
157
171
167
126
175
175
123
124
127
131
138
137
102
87
72
115
117
70
120
112
109
55
108
110
112
116
127
132
137
143
148
106
106
158
160
112
118
173
174
122
174
175
124
125
178
174
173
171
116
116
118
119
177
175
121
120
121
173
175
167
112
108
103
151
99
101
157
103
156
159
115
114
165
170
167
112
111
170
172
174
123
123
122
171
163
154
145
130
70
55
110
50
159
120
122
125
110
94
95
91
89
97
44
43
44
45
52
54
60
61
60
106
103
49
41
45
42
40
91
92
94
42
43
92
89
87
33
31
25
24
72
66
62
7
6
62
0
13
13
0
6
37
114
121
40
12
8
23
89
92
91
92
42
40
36
33
42
40
46
71
85
255
255
255
255
255
228
255
255
255
255
255
255
255
255
255
228
255
255
255
228
228
229
229
228
255
255
255
255
255
255
218
215
214
210
209
255
255
206
202
198
198
201
204
255
255
255
255
255
210
213
255
255
255
205
202
194
192
244
243
244
240
185
190
251
206
212
216
255
255
255
255
255
255
227
227
224
255
255
255
255
255
255
255
255
255
224
219
255
255
208
200
244
239
232
226
229
235
239
184
192
249
251
253
200
204
216
224
224
224
225
226
227
227
222
216
255
247
172
201
139
146
193
194
206
162
200
180
165
99
89
142
155
151
78
60
48
44
54
133
168
190
175
173
172
125
133
136
137
131
123
86
76
67
115
122
70
122
115
110
107
54
55
57
111
66
124
128
132
134
92
94
97
148
98
155
161
109
110
110
163
166
170
123
122
122
121
119
120
175
177
179
126
125
123
124
178
178
167
166
112
111
109
109
110
162
163
164
167
121
173
173
172
170
114
113
115
171
172
124
124
120
167
156
146
85
80
76
68
42
97
45
138
197
149
120
112
52
50
41
46
44
43
43
44
49
52
53
58
60
111
109
53
41
42
40
39
91
92
93
39
37
87
84
82
27
25
71
73
66
63
66
11
1
0
0
10
43
132
94
124
85
10
24
80
73
24
41
101
105
47
41
34
80
77
28
40
97
105
57
255
255
255
255
228
228
255
255
255
228
255
255
255
255
255
228
228
255
255
255
255
229
229
229
255
255
228
255
255
255
217
214
214
218
255
255
211
206
255
255
197
189
192
243
193
194
248
253
203
254
255
255
254
196
190
184
186
235
182
183
234
176
170
218
216
219
181
251
255
255
255
255
255
255
255
214
209
198
251
253
255
255
255
255
255
224
221
255
255
214
255
205
201
247
189
243
254
212
211
217
255
255
224
223
225
229
255
255
225
227
226
225
255
218
209
210
214
247
206
123
160
219
206
188
170
148
127
127
77
137
125
118
126
78
72
51
52
48
45
113
136
174
196
149
150
142
126
110
94
81
52
51
50
105
65
117
117
111
106
103
102
50
55
107
112
116
120
121
122
124
130
83
81
82
137
141
97
99
100
154
156
111
116
170
170
118
117
119
174
177
125
125
178
178
128
128
127
169
169
170
118
117
118
119
118
123
128
129
180
183
134
186
184
130
178
172
120
174
119
117
163
156
143
135
75
117
69
50
54
44
55
24
160
136
114
126
65
39
53
45
43
93
40
40
97
99
99
49
48
97
94
43
38
100
46
97
98
99
98
95
36
33
31
80
79
75
69
21
15
11
57
0
0
38
118
108
71
23
0
9
17
74
69
82
105
56
41
40
95
91
34
33
81
25
23
30
85
92
44
255
255
255
255
228
255
255
228
228
228
255
255
255
255
255
228
228
228
255
255
255
255
228
228
228
255
255
255
255
224
222
221
255
255
255
211
210
207
205
253
249
247
246
242
193
199
248
251
198
250
249
201
202
246
181
239
182
182
179
229
225
170
164
146
195
191
142
214
239
255
211
212
212
255
255
255
197
196
198
253
255
213
255
255
255
255
255
215
215
255
255
206
254
248
192
250
208
217
255
255
223
224
226
228
255
229
255
255
255
255
255
221
255
217
213
215
213
195
160
180
209
215
145
118
107
154
143
83
81
81
69
123
126
118
72
55
43
43
95
96
101
59
141
101
154
91
74
61
44
46
103
105
54
55
55
110
111
108
105
101
100
46
47
102
109
110
59
63
66
66
118
120
123
126
129
79
81
85
142
148
100
104
107
113
114
116
119
120
120
120
125
179
181
184
132
131
131
122
174
174
174
173
174
174
122
124
127
129
132
184
184
133
132
128
177
172
119
119
119
165
160
154
83
129
75
69
60
52
46
42
96
88
87
125
138
88
128
104
102
96
96
96
44
44
97
97
43
42
41
40
39
38
90
95
45
98
48
48
45
89
45
31
80
86
79
63
21
69
5
6
55
54
42
126
80
89
6
5
9
10
14
69
82
100
108
102
93
39
39
89
87
31
26
77
78
32
35
39
93
255
255
255
228
228
228
228
228
255
228
255
255
255
255
255
255
228
228
255
255
255
255
255
228
228
228
228
228
225
224
225
225
255
255
216
209
255
255
255
255
199
250
240
187
175
231
200
192
249
198
195
244
238
223
205
202
156
159
161
213
156
147
181
174
124
179
185
148
169
190
201
202
203
204
201
195
186
228
177
181
192
255
255
217
222
255
215
216
255
255
213
255
255
195
249
210
224
255
224
225
226
227
229
255
255
229
229
255
228
255
226
224
224
214
214
255
203
179
156
146
129
142
202
144
134
180
122
106
90
86
142
155
146
114
98
52
106
103
100
98
96
102
42
37
35
37
40
42
37
93
48
50
50
49
48
102
102
49
46
95
93
39
92
91
96
49
55
59
61
63
64
63
115
115
114
62
120
123
129
142
97
106
111
120
121
122
177
178
126
126
128
128
182
183
184
131
131
134
132
131
181
177
177
177
181
132
185
185
184
183
182
184
131
130
180
174
121
119
113
105
149
143
77
74
128
68
67
116
108
96
47
97
97
82
84
131
152
116
102
96
97
44
95
92
87
87
33
32
33
32
34
35
89
97
46
46
98
47
44
87
84
38
85
72
65
69
69
52
60
37
136
164
85
7
1
0
3
4
0
4
10
27
102
109
38
28
88
89
84
83
80
78
24
78
81
38
42
47
103
255
255
255
228
228
228
228
228
255
255
255
255
255
255
255
255
255
228
255
255
255
228
228
228
228
228
228
228
226
255
225
255
255
218
215
255
255
213
255
255
193
243
237
171
143
139
161
161
218
176
173
221
214
203
192
187
178
128
130
182
179
172
163
163
107
112
134
163
186
197
247
249
253
206
207
204
199
186
228
167
171
239
253
255
255
210
209
210
255
210
209
255
253
193
202
218
255
229
227
227
227
228
228
255
255
255
228
255
228
226
226
226
226
219
255
255
194
166
153
205
187
191
147
140
129
132
139
186
194
134
175
173
150
109
100
40
97
92
92
95
93
38
45
48
49
47
96
44
100
97
37
35
89
38
39
42
93
40
41
92
89
86
85
30
32
91
98
102
51
58
58
61
114
63
116
116
126
130
135
149
156
164
170
175
124
177
181
181
129
129
182
181
181
180
128
127
127
133
133
131
131
130
131
186
185
136
137
136
184
182
181
179
179
179
177
119
116
165
163
156
96
90
80
79
134
124
120
69
119
111
43
28
82
100
40
56
156
78
71
105
103
100
95
91
85
84
27
27
80
80
28
31
33
93
92
92
92
40
39
84
83
80
27
23
66
73
149
180
168
66
19
69
73
61
9
0
51
12
8
54
17
62
45
81
24
26
24
79
74
73
72
71
20
24
31
37
95
101
54
255
255
255
228
228
228
228
228
228
255
255
255
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
227
255
255
255
225
220
217
220
255
216
255
255
192
189
239
218
197
194
205
218
166
220
167
162
204
143
134
128
177
178
126
126
174
171
114
162
158
110
131
212
180
190
243
245
197
255
205
205
203
192
180
166
165
229
243
251
212
208
207
255
211
211
211
255
200
197
209
255
255
229
228
228
228
228
255
255
227
255
255
255
226
225
224
224
225
218
255
205
184
166
209
207
182
130
138
190
191
201
157
207
207
212
212
207
173
124
93
84
43
92
41
95
35
41
97
99
50
103
105
105
103
100
90
88
88
38
39
41
39
39
41
93
90
85
83
30
33
37
41
44
98
103
104
106
57
112
116
117
130
134
140
101
108
165
169
176
177
178
181
130
130
182
182
182
127
125
125
124
124
181
129
181
180
130
130
185
185
136
136
137
184
183
129
126
176
176
173
116
114
112
162
156
151
147
83
82
135
127
122
69
68
63
47
82
80
44
99
102
132
98
64
111
107
50
44
38
87
87
82
83
82
82
30
30
31
89
89
36
88
89
35
31
79
82
72
12
34
81
186
135
43
8
12
77
65
54
7
0
4
8
0
1
82
44
74
8
15
76
23
24
18
15
67
68
71
77
32
36
94
101
54
255
255
228
255
255
228
228
255
255
255
255
255
255
255
255
255
255
228
255
255
255
228
228
228
228
228
228
228
227
225
255
255
224
223
223
219
255
255
255
255
248
243
150
124
182
194
185
166
153
201
150
145
139
186
132
127
123
178
178
177
123
116
106
101
157
117
136
204
166
195
199
251
201
255
206
208
208
255
245
182
179
186
196
203
195
192
192
249
251
253
255
194
187
191
255
255
228
225
255
255
226
226
225
255
224
224
255
255
225
223
222
222
221
255
250
172
160
166
169
215
188
122
128
145
164
219
209
158
159
216
207
200
136
116
64
19
76
21
30
91
32
39
44
99
102
50
102
50
48
101
104
51
49
99
97
94
90
39
42
44
91
35
31
86
90
36
35
37
40
107
106
106
57
115
121
125
139
93
155
118
122
126
128
179
180
183
185
185
186
185
130
128
125
173
172
121
121
180
127
178
177
173
122
125
183
185
187
135
184
183
130
127
126
123
172
115
167
115
107
157
156
156
141
81
80
74
73
125
120
111
63
110
94
96
99
101
108
86
99
63
57
100
91
34
88
37
92
38
36
34
32
30
30
83
82
30
83
32
33
31
79
115
157
171
91
50
30
24
10
18
77
9
0
0
4
8
57
51
72
55
105
56
66
20
19
73
25
21
12
11
10
64
68
76
83
91
44
52
57
255
255
255
255
255
255
255
228
228
228
228
228
228
255
255
255
228
228
228
228
228
228
228
228
228
255
255
255
255
255
224
223
222
222
221
255
255
255
255
212
188
164
180
172
166
166
165
156
103
152
151
156
170
181
188
144
141
144
196
190
130
125
114
108
114
128
143
207
161
225
186
242
245
193
195
200
253
250
242
180
224
224
177
182
243
189
188
240
242
242
240
169
167
231
255
255
225
225
228
228
228
228
228
255
255
228
255
255
255
255
255
255
255
240
163
134
172
118
113
159
179
178
126
136
133
178
134
136
171
164
159
155
103
103
108
26
15
18
71
75
81
29
91
93
96
98
104
108
104
106
112
61
60
112
59
53
53
95
91
37
36
33
33
86
35
33
34
36
38
41
46
54
55
60
120
126
90
97
159
176
128
133
135
138
194
144
194
194
190
133
131
131
183
180
177
175
122
173
172
171
172
172
169
167
167
167
167
117
123
174
174
121
120
117
113
104
100
99
150
150
99
152
93
88
138
142
86
82
129
117
89
84
47
51
101
104
108
42
55
124
114
104
49
48
46
47
38
32
28
29
86
34
19
20
75
80
79
30
49
180
159
89
114
91
81
81
23
12
58
0
0
2
4
1
9
49
67
103
107
81
63
66
68
17
18
71
18
18
13
10
11
13
66
69
74
89
42
49
106
228
255
255
255
255
255
255
228
228
228
228
228
228
255
255
228
228
228
228
228
228
255
228
228
228
255
255
255
255
255
225
224
223
222
255
255
255
217
215
209
226
196
184
181
180
131
183
166
107
145
150
110
127
193
197
200
201
155
157
203
191
184
122
121
123
132
145
157
163
222
233
236
238
185
187
244
249
243
180
172
222
220
165
167
231
183
238
235
175
223
223
209
215
232
255
255
221
255
255
255
227
255
227
227
255
227
223
220
255
255
255
255
253
233
155
184
171
163
92
127
173
188
191
137
123
168
128
179
163
160
105
103
103
104
113
35
11
69
68
14
75
77
86
90
92
96
101
105
105
54
112
114
114
113
60
60
60
50
43
92
35
82
83
84
31
31
32
87
89
41
45
105
106
113
124
80
94
100
161
125
130
187
189
143
147
148
199
199
144
140
136
135
187
128
124
173
119
119
170
168
168
113
162
159
160
108
160
162
116
167
167
167
167
112
161
102
100
149
150
151
153
153
97
94
143
162
149
85
131
122
100
97
45
49
48
50
107
88
84
127
122
113
51
48
44
37
42
39
36
86
32
34
41
83
68
10
35
136
170
152
71
48
81
82
87
27
68
64
58
51
0
1
2
0
57
50
87
65
38
56
57
17
17
70
71
70
69
69
13
63
10
12
65
13
18
88
93
100
105
228
255
255
255
255
255
255
228
228
228
228
228
255
255
228
255
228
228
255
228
228
255
228
228
255
228
228
228
226
227
228
255
226
223
222
255
212
207
251
237
210
142
142
205
217
168
216
219
170
171
172
169
166
162
212
210
216
216
215
212
209
205
182
190
181
176
181
142
153
224
228
173
170
171
177
232
227
161
209
213
223
221
156
151
205
209
212
203
140
190
200
162
168
182
252
255
255
255
255
255
255
227
228
227
255
255
255
216
255
211
255
202
191
159
147
196
149
145
178
109
98
174
189
137
180
179
137
174
181
127
112
149
147
104
108
36
5
66
64
5
71
72
31
35
89
93
98
104
103
53
61
115
116
115
114
115
65
59
54
101
43
89
87
35
85
85
35
39
94
44
48
52
55
114
74
86
96
153
162
125
131
188
192
196
148
202
201
203
149
145
199
145
142
133
179
174
120
107
106
157
105
103
152
150
148
95
94
147
154
154
155
154
154
153
152
97
95
93
93
92
145
146
148
147
96
140
147
152
95
82
61
110
112
118
119
111
106
104
40
36
106
118
110
48
54
55
90
99
55
101
89
31
47
145
171
175
88
97
27
37
87
96
95
84
74
71
64
65
16
17
10
0
43
47
38
76
29
4
1
66
69
22
74
73
21
20
17
68
15
12
10
62
62
9
13
82
87
94
99
255
228
228
255
255
255
228
228
228
228
228
228
255
228
255
255
228
255
255
228
228
255
228
228
255
255
228
228
255
229
229
255
255
255
255
211
197
189
183
176
168
160
216
222
173
221
166
171
223
172
180
186
239
244
201
210
209
206
203
198
196
191
220
201
206
212
211
204
144
153
222
222
167
163
162
163
162
154
212
217
167
165
213
159
157
151
195
193
142
147
150
210
219
176
185
195
255
255
255
223
223
223
223
223
255
255
255
254
255
255
251
235
164
159
157
149
136
184
190
146
131
138
149
147
193
191
190
181
125
127
169
154
100
108
99
16
58
7
6
59
9
18
79
81
32
34
39
96
49
51
112
114
63
115
64
60
115
108
52
50
46
93
38
37
86
35
37
42
99
49
52
55
57
61
72
81
140
147
103
121
129
135
191
193
196
146
146
201
149
199
196
143
140
184
178
122
172
158
157
102
101
148
92
90
83
81
78
80
86
88
141
95
95
147
94
93
91
90
138
135
131
77
82
87
142
150
148
83
75
105
200
178
65
63
72
78
129
147
90
67
131
139
130
104
33
44
112
102
103
130
162
167
54
89
36
90
102
118
122
41
37
84
78
77
27
25
73
92
96
45
95
85
73
60
56
47
44
54
65
11
65
23
23
23
22
21
72
70
19
15
11
62
61
60
12
21
78
84
89
228
228
228
228
255
255
255
228
228
228
228
228
228
228
228
255
255
255
255
255
255
255
228
228
228
228
228
228
255
255
229
229
255
255
255
255
244
180
231
230
172
214
213
215
216
216
169
177
224
223
235
246
251
204
212
215
216
219
217
212
207
205
193
227
222
222
177
179
167
188
136
193
194
189
186
139
147
155
161
163
158
155
209
209
157
148
139
139
198
150
148
217
227
185
187
187
195
206
255
219
255
255
220
220
255
255
201
195
198
198
243
175
205
200
198
201
151
147
193
189
136
139
198
194
186
184
132
191
171
171
166
101
96
154
149
62
60
58
56
58
6
69
77
80
29
31
88
92
42
45
106
109
110
58
58
60
114
55
50
48
45
93
90
89
34
33
37
43
47
49
53
56
57
61
70
129
137
92
101
170
127
134
139
140
195
145
198
201
150
199
141
140
137
182
177
121
119
160
157
103
100
93
90
138
135
81
80
132
138
89
141
146
93
144
144
91
91
141
137
132
127
71
77
83
87
88
94
94
103
145
194
81
47
85
32
37
39
71
73
54
67
138
143
72
40
100
60
140
166
111
132
99
80
84
48
65
69
61
105
113
40
27
22
78
77
20
108
56
55
108
108
105
95
72
63
44
45
53
0
7
25
76
23
22
21
20
70
70
70
67
65
11
9
8
66
18
23
82
87
255
255
228
228
228
255
255
255
255
228
228
228
228
255
228
228
255
255
255
255
255
255
228
228
255
228
228
228
255
255
255
229
255
255
255
215
199
241
230
216
165
222
221
222
218
218
172
169
223
232
249
208
255
221
223
255
255
255
229
227
255
255
255
255
251
243
189
186
181
230
162
197
125
115
169
176
183
134
145
151
149
196
146
152
157
209
141
126
187
196
147
165
229
237
239
239
190
192
198
200
203
255
255
254
251
251
174
179
199
197
181
169
160
214
170
220
154
145
149
205
184
176
189
197
130
170
174
186
142
140
123
98
141
113
88
68
70
17
64
61
63
66
20
24
28
84
86
35
40
41
43
98
100
49
50
106
104
48
44
93
38
89
86
34
34
86
88
40
43
46
52
114
116
68
72
77
83
142
149
159
165
121
129
133
185
135
192
192
142
142
140
137
134
179
175
118
114
155
154
101
100
94
140
135
78
74
72
127
130
80
134
137
85
136
136
83
133
78
69
117
113
58
58
117
126
133
131
146
54
100
100
35
31
80
14
5
11
16
79
82
22
70
3
5
0
40
50
12
19
20
23
31
102
105
116
125
128
131
80
62
97
30
19
77
89
99
116
72
123
125
70
63
112
99
83
67
48
0
0
8
18
20
74
74
74
78
82
82
26
22
66
9
8
11
68
15
72
79
83
255
255
255
228
228
255
255
255
255
228
228
228
228
228
228
228
228
228
228
255
255
255
255
255
255
228
228
228
255
255
255
229
255
255
222
215
255
247
173
149
203
211
153
212
212
213
216
219
227
242
204
213
219
225
255
255
229
229
229
229
229
229
255
255
216
255
196
186
230
230
234
222
191
157
96
159
164
171
180
139
148
152
155
161
159
155
193
182
188
201
156
155
161
222
231
237
237
181
186
186
183
182
235
239
238
183
160
170
181
229
216
212
163
223
235
182
220
160
154
196
182
127
190
146
134
104
128
145
97
86
111
98
100
91
81
67
66
14
63
12
67
68
20
77
79
81
83
32
84
85
36
89
90
38
91
91
38
34
85
31
31
82
29
82
32
86
37
41
45
52
108
118
68
70
126
130
78
135
139
147
151
159
163
165
168
173
182
132
132
132
183
182
129
178
175
118
166
154
99
94
142
137
133
130
127
123
70
73
129
131
83
78
129
76
77
75
70
66
62
107
103
99
43
98
102
116
130
155
69
124
86
35
29
0
28
0
0
0
51
69
16
72
0
0
10
67
139
115
57
111
97
93
110
114
69
77
80
82
134
120
51
88
26
86
102
114
69
124
122
73
72
67
68
59
55
40
70
54
0
1
11
11
71
80
88
43
48
50
89
83
19
11
11
65
71
15
72
77
81
228
228
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
228
228
228
255
255
255
255
228
228
228
228
255
255
255
229
255
255
221
214
255
245
225
201
195
144
152
211
212
210
210
218
230
245
255
213
255
255
255
255
255
229
228
255
228
227
225
255
218
209
196
237
231
174
174
225
202
164
92
150
157
159
161
117
131
144
150
203
156
148
191
188
146
216
224
213
161
165
171
179
235
238
234
232
176
173
227
227
216
152
142
207
206
159
221
227
226
227
234
235
230
175
162
192
169
119
131
193
193
117
134
118
141
131
102
44
53
110
95
16
64
67
18
70
69
18
22
78
28
29
31
83
32
33
34
36
36
37
37
34
33
28
27
27
79
79
26
79
30
33
37
44
48
108
113
120
71
72
128
131
136
136
140
92
96
153
156
104
106
164
175
125
126
127
182
129
129
126
122
117
165
103
151
145
140
134
131
128
74
70
69
125
130
133
84
76
128
75
76
125
120
66
59
106
100
97
38
91
94
59
126
159
73
113
18
0
27
27
32
0
0
0
0
18
12
63
0
0
100
163
183
148
68
103
36
39
64
65
69
75
132
83
134
123
111
98
35
39
52
115
117
122
121
123
122
67
68
115
108
99
80
62
2
4
62
62
72
32
93
48
105
105
97
88
74
11
10
13
17
71
75
80
83
228
228
228
255
255
255
255
255
255
255
228
228
228
228
228
228
228
228
228
228
228
255
255
255
228
228
255
228
229
255
255
255
255
255
216
213
255
242
215
187
118
163
182
198
156
156
155
160
227
241
253
255
255
255
255
255
224
224
225
255
226
255
255
220
218
208
250
191
187
168
162
218
206
122
146
139
95
111
158
110
125
141
199
197
150
151
211
165
166
180
242
241
182
176
173
168
215
215
206
208
200
184
172
165
152
87
136
193
179
182
144
153
211
240
244
239
235
238
223
194
153
154
103
163
190
142
163
57
143
135
48
95
90
92
52
28
20
21
26
28
78
18
21
75
24
24
25
25
79
28
27
28
28
29
29
23
73
68
15
67
67
15
18
21
29
35
43
51
56
117
69
76
76
77
80
82
140
139
138
86
86
139
139
83
86
142
102
108
165
167
171
120
122
123
120
116
163
151
149
144
139
128
123
120
68
66
117
121
76
79
82
123
124
124
75
124
119
64
61
106
100
99
41
38
89
85
85
190
89
61
58
41
58
45
34
0
31
58
0
6
6
16
20
40
96
99
156
182
158
61
52
55
62
70
72
129
136
142
92
139
74
68
112
109
112
116
63
76
74
126
125
69
73
122
114
113
48
26
63
63
71
74
33
44
49
103
104
51
51
41
24
14
67
21
27
29
84
87
90
228
255
228
228
228
255
255
255
255
255
228
228
228
228
228
228
228
229
255
229
229
229
255
255
255
255
255
229
255
255
255
255
255
208
205
255
253
231
194
112
110
155
157
154
109
126
139
206
219
174
237
251
208
255
255
255
225
228
255
255
229
255
255
255
212
202
249
195
190
175
169
219
196
115
151
84
79
154
155
162
177
139
187
131
142
149
162
227
230
175
229
231
172
221
219
214
207
192
120
166
139
103
100
97
89
121
171
183
182
140
155
158
154
216
219
217
216
219
212
143
113
114
104
87
106
125
108
94
102
103
41
89
95
45
54
90
84
82
28
24
21
14
70
71
70
17
17
17
74
73
20
19
19
71
71
21
72
66
63
59
56
3
62
15
31
41
49
57
63
72
73
78
81
82
134
134
142
138
82
73
125
125
125
77
78
134
144
93
97
103
150
155
161
114
118
169
166
151
93
88
86
130
124
122
120
114
117
71
71
122
116
123
73
74
73
117
114
112
60
105
99
98
47
43
92
93
47
136
98
66
36
22
0
32
0
0
53
44
34
67
7
9
27
48
50
90
84
112
186
203
92
64
35
65
116
130
135
128
87
133
128
123
119
63
114
61
113
124
67
64
66
124
80
124
112
50
42
33
25
72
23
19
31
44
102
53
55
109
96
90
78
15
16
25
31
33
86
88
89
228
255
255
228
228
228
255
255
255
255
255
255
228
228
228
255
255
255
255
255
255
229
255
229
229
229
255
255
229
225
255
255
222
206
255
255
184
210
130
112
170
164
164
104
153
157
159
160
170
203
220
189
202
211
255
229
226
255
255
225
224
224
219
255
255
255
194
243
187
175
173
219
192
163
95
84
81
93
147
152
169
133
183
178
199
210
171
228
227
225
227
226
221
220
220
218
161
147
184
162
128
42
94
94
91
124
170
130
184
193
152
156
209
218
170
165
168
228
160
130
113
114
158
96
104
169
164
102
51
100
92
90
44
45
53
89
84
81
77
21
17
14
68
69
16
15
15
68
69
17
17
69
69
69
69
18
70
65
63
60
6
5
10
67
82
91
101
110
65
72
75
80
133
134
133
132
83
82
81
128
125
123
121
122
71
127
134
84
88
94
95
153
157
111
113
112
109
97
92
87
85
75
69
67
116
111
115
67
69
120
115
120
70
72
70
115
112
112
109
53
100
100
50
47
96
86
38
127
157
97
48
5
0
0
0
30
31
48
78
32
83
30
36
44
50
41
33
102
157
196
170
121
108
74
119
124
80
133
136
137
130
125
120
64
61
112
114
123
119
63
66
72
131
124
61
53
97
86
77
73
25
25
89
100
52
106
107
106
95
89
78
17
20
81
84
33
34
87
89
228
228
228
228
228
228
228
228
255
255
255
255
255
228
229
229
255
255
255
255
229
229
255
229
229
229
255
229
226
227
255
222
214
200
200
189
151
173
113
108
158
157
159
101
98
151
151
101
160
163
186
162
182
194
254
209
219
222
223
221
220
221
215
255
251
245
188
239
184
177
223
153
126
153
141
137
138
83
81
83
95
167
172
171
135
210
226
170
165
224
230
179
174
226
175
224
218
203
112
121
95
85
86
85
36
123
97
114
189
208
211
205
205
212
220
226
172
162
136
156
84
58
94
93
87
104
148
120
113
40
87
40
42
94
93
32
26
74
19
15
63
65
61
8
9
10
63
63
59
8
12
66
67
67
68
18
69
64
11
9
8
8
10
16
36
98
106
115
120
123
73
132
133
131
128
124
67
70
124
73
70
118
115
66
63
65
121
123
77
83
142
148
99
101
102
100
97
141
85
82
79
67
62
61
113
59
61
116
66
64
108
58
60
62
63
59
59
60
109
108
107
107
105
100
44
108
90
33
96
116
119
24
1
0
0
57
91
156
69
38
106
114
107
102
49
86
88
30
43
93
129
147
116
129
86
73
115
126
78
141
135
131
122
114
57
110
117
122
119
65
66
71
127
121
60
105
99
35
75
72
81
39
100
56
58
58
110
106
40
30
22
74
30
86
82
84
85
86
35
255
255
255
228
228
228
228
228
228
255
255
255
255
228
229
229
255
255
255
255
229
229
255
255
228
255
228
228
255
255
219
209
199
184
231
152
136
129
131
173
158
105
104
104
155
102
99
94
93
144
145
96
104
177
151
179
191
195
198
249
249
197
190
232
231
229
227
169
214
146
146
129
165
151
85
135
136
137
137
132
133
94
104
162
182
201
219
224
171
173
229
171
168
172
174
223
216
199
116
78
82
39
85
84
35
53
86
86
96
172
192
200
153
155
159
212
188
157
142
140
134
114
49
40
74
82
122
108
85
51
37
87
84
82
23
21
19
17
14
11
62
58
2
3
59
62
61
60
58
7
14
68
69
17
68
18
16
11
8
9
10
9
17
24
45
53
57
60
113
64
117
123
123
122
67
66
115
62
61
59
60
61
112
57
56
56
62
115
120
73
84
140
144
145
146
144
140
132
128
73
70
114
63
66
118
66
68
118
66
65
104
53
55
110
60
61
64
66
66
65
117
114
105
100
97
96
100
105
52
56
138
139
144
84
96
114
159
103
31
69
70
62
102
98
102
94
87
80
81
88
120
127
97
61
85
83
60
55
70
141
144
137
125
111
54
57
69
69
119
67
68
70
123
117
59
54
47
36
26
25
84
93
100
108
60
64
63
58
34
24
70
72
77
78
76
85
32
32
32
255
255
255
228
228
228
228
228
228
255
255
255
255
255
255
229
229
255
255
255
255
255
255
255
228
255
255
255
255
255
255
199
242
226
216
162
153
150
198
184
108
100
106
105
157
155
155
103
102
146
144
87
84
143
107
127
153
159
216
219
223
174
171
218
217
214
211
154
198
185
136
171
159
93
79
78
136
129
82
130
128
84
91
149
168
132
204
217
222
169
171
170
166
170
224
219
158
140
76
83
82
34
27
86
40
47
140
145
92
103
120
181
134
134
132
170
147
136
133
127
121
116
107
41
21
24
100
147
149
111
39
84
26
25
19
19
17
13
10
8
7
54
0
3
9
63
62
7
5
59
66
68
68
67
15
14
12
9
9
11
66
67
74
80
94
47
52
55
111
112
113
116
65
66
65
64
112
59
111
109
109
57
57
51
51
106
113
114
117
71
78
83
139
140
90
139
136
128
124
69
66
62
119
125
121
121
69
118
66
63
101
104
54
109
111
64
67
70
69
70
121
119
58
106
104
58
113
119
70
71
76
79
77
77
80
88
80
56
80
123
121
65
111
103
96
95
90
83
79
77
100
108
132
65
69
74
71
59
118
143
147
140
73
111
53
56
70
121
121
69
69
70
122
65
64
108
100
90
32
31
36
42
49
54
111
115
115
55
84
74
68
71
74
22
76
33
84
31
30
255
255
255
228
228
228
228
228
228
255
255
255
228
228
255
255
255
229
229
255
255
255
255
255
227
227
223
221
255
255
248
234
223
215
164
163
149
197
204
156
143
127
170
165
114
112
156
153
147
95
91
142
99
160
163
107
111
105
151
152
164
175
124
175
175
123
124
124
123
169
173
160
89
75
71
73
75
73
73
70
121
68
69
70
126
84
93
171
210
175
170
172
168
164
211
203
188
117
91
62
81
70
30
46
48
44
62
129
91
97
100
165
179
93
83
129
126
123
70
68
57
113
116
98
24
74
82
76
114
138
97
30
27
18
17
66
12
8
3
0
0
0
6
62
64
64
10
9
9
60
63
66
66
63
60
58
57
57
9
68
22
78
74
80
89
92
95
99
104
100
100
50
52
54
56
58
108
58
58
106
105
55
56
101
103
106
115
118
121
71
72
73
126
78
78
128
125
66
62
62
64
111
116
124
72
117
114
115
60
107
106
105
107
57
111
117
70
74
75
73
70
121
66
64
114
111
63
65
116
115
117
115
66
83
92
138
77
82
82
113
119
127
130
124
44
39
48
45
36
30
30
52
141
121
107
103
134
70
114
144
147
140
74
58
101
105
124
126
126
75
75
72
120
60
62
115
110
48
89
34
92
96
47
53
58
58
105
99
78
72
68
14
17
22
30
31
84
33
33
255
255
228
228
228
228
228
228
255
255
255
228
228
228
255
255
255
229
228
228
255
255
226
226
226
226
218
214
202
249
246
249
203
203
198
199
240
233
225
214
152
144
170
165
114
116
112
154
143
141
91
97
157
161
108
108
157
106
104
147
144
152
176
177
176
175
176
124
122
168
151
91
78
70
118
67
66
68
67
67
118
117
66
66
66
115
109
72
160
181
184
189
136
134
182
175
117
110
115
72
33
77
85
36
39
45
54
58
61
112
117
130
141
129
60
58
65
120
116
111
60
66
59
91
80
79
79
40
107
150
114
36
25
70
64
1
0
0
0
0
0
2
59
61
62
61
59
6
10
61
61
8
58
53
0
0
1
14
20
77
27
28
31
28
26
81
84
88
89
32
33
38
42
99
102
104
104
105
54
52
103
104
54
50
104
55
114
118
121
121
123
122
122
73
72
69
118
65
62
62
113
108
111
63
62
110
108
55
46
98
101
53
55
58
110
114
66
69
125
124
71
71
118
115
111
107
54
51
99
95
41
96
116
127
133
134
84
95
95
79
84
90
142
135
117
118
64
64
108
99
38
39
127
205
108
106
47
130
89
90
146
139
126
61
106
55
71
125
129
79
77
70
112
105
57
60
111
105
49
47
101
96
46
102
103
49
44
36
25
73
69
67
19
27
90
90
90
91
40
255
255
228
228
228
228
228
228
228
255
228
228
228
228
255
255
255
229
228
228
255
255
255
255
255
226
255
255
255
255
205
209
213
255
255
211
205
200
240
224
210
200
121
165
164
114
112
104
144
139
92
102
162
164
108
111
162
164
107
150
142
93
108
162
115
173
179
127
120
100
134
77
69
65
116
64
116
116
64
64
64
63
115
115
59
60
108
70
153
167
109
167
167
167
163
159
104
156
119
69
29
77
32
32
87
48
108
111
112
112
116
74
82
131
59
107
60
60
110
109
65
68
52
32
80
83
79
79
101
106
74
42
24
63
61
48
0
0
0
0
48
55
59
60
60
59
57
55
9
8
58
3
0
48
46
49
54
72
26
81
29
29
31
27
74
24
79
78
76
73
22
30
35
40
98
100
100
101
50
51
51
103
103
102
52
106
113
115
118
118
120
120
119
120
68
116
114
60
59
110
110
109
57
59
110
53
49
96
88
92
47
54
56
58
59
61
116
118
123
69
70
122
66
61
56
51
48
46
97
95
47
52
68
73
130
134
88
100
149
144
147
149
150
91
125
126
129
128
120
58
47
41
106
188
134
129
88
70
98
91
92
86
74
114
109
110
71
73
129
133
77
66
106
102
53
58
58
106
54
105
105
98
47
101
100
44
88
29
21
20
20
73
23
29
37
90
91
40
41
255
255
228
228
255
255
228
228
228
255
255
228
228
228
255
255
255
255
255
255
255
255
255
225
255
218
205
251
251
208
217
255
255
255
255
255
213
215
211
251
223
148
122
164
160
158
104
105
98
137
90
100
109
109
107
162
155
103
102
154
155
103
92
73
70
119
66
65
63
58
59
59
60
111
112
62
115
111
60
61
113
113
112
59
59
61
108
116
141
155
106
107
158
157
156
104
104
156
157
58
20
70
77
75
77
87
108
116
119
123
75
79
81
71
54
104
106
52
55
114
107
101
88
23
78
32
28
80
73
103
151
120
31
57
6
0
0
0
0
50
53
54
55
4
55
54
52
51
53
52
46
0
0
0
0
7
64
79
31
83
82
80
75
74
72
16
63
4
0
57
58
68
75
82
35
38
95
95
97
51
52
50
100
98
47
49
105
57
58
111
63
60
111
59
59
110
107
101
103
104
103
55
54
49
43
36
80
76
78
35
44
50
52
54
57
57
111
112
117
64
115
62
59
54
51
46
93
40
43
44
98
55
60
64
122
82
92
100
99
151
153
156
156
152
80
127
130
129
124
117
111
105
45
63
130
133
124
55
86
89
87
79
123
115
59
58
117
119
124
74
67
51
37
43
101
107
107
51
49
100
104
54
51
99
40
31
76
19
17
23
29
31
84
83
32
35
88
38
39
255
255
255
255
255
228
228
228
228
228
255
228
228
228
255
255
255
229
255
255
255
255
255
255
212
206
192
187
210
211
213
255
255
255
255
255
255
216
215
212
231
198
162
159
109
109
155
153
94
80
135
88
97
102
101
100
98
103
103
152
98
97
142
132
77
124
70
68
68
116
113
114
62
60
58
57
58
109
111
60
112
112
111
57
55
112
108
109
123
79
136
158
101
151
151
153
150
144
67
34
7
62
79
90
94
97
115
66
64
65
70
125
124
47
24
26
34
32
27
26
75
74
78
77
26
28
24
22
32
83
110
145
102
67
0
0
0
47
0
50
52
51
0
0
0
0
51
50
45
44
0
0
41
50
5
75
76
80
82
81
80
79
74
23
65
56
50
0
0
53
55
65
71
78
84
88
94
94
97
105
55
52
48
42
42
44
100
50
51
51
56
54
105
54
55
54
106
103
105
104
101
49
44
35
25
72
70
74
31
31
33
90
93
45
48
101
52
104
114
111
56
54
52
101
99
94
88
38
97
99
101
59
65
119
73
80
134
73
70
93
144
145
147
147
138
135
122
124
123
67
66
118
63
51
83
133
175
63
109
138
81
126
120
62
110
57
59
56
112
114
52
86
74
85
49
57
54
43
36
88
45
59
52
95
85
22
68
66
19
25
80
26
76
75
25
36
89
91
40
255
255
255
255
255
255
229
229
229
255
255
229
229
255
255
255
227
227
228
227
227
226
222
214
206
243
239
198
213
255
255
255
218
255
255
215
255
255
255
212
182
135
162
159
158
108
160
145
85
84
83
136
90
96
99
149
150
148
95
97
152
149
76
74
74
125
124
122
121
120
113
113
113
61
112
112
59
55
54
58
57
103
106
110
59
59
56
108
115
125
78
87
87
146
98
140
130
74
38
76
63
12
23
88
99
105
106
114
119
120
70
74
130
98
79
21
26
80
26
22
23
75
75
73
70
66
11
15
20
58
96
106
126
27
2
51
52
50
0
2
51
56
51
0
0
49
45
42
42
37
34
41
54
64
69
77
78
79
78
76
76
76
25
22
58
51
0
0
47
50
53
13
22
31
39
94
100
100
102
102
47
45
42
38
86
83
87
34
87
92
54
106
105
54
55
55
106
97
94
92
95
101
98
43
84
28
75
73
26
30
31
37
38
91
92
47
50
52
102
51
51
49
45
93
92
44
95
94
95
96
52
55
60
64
70
75
128
70
67
129
132
138
148
156
150
143
77
76
74
73
64
53
58
65
70
102
196
150
53
154
146
89
84
74
113
103
94
99
45
91
84
28
85
110
106
53
48
40
87
35
40
41
34
78
70
12
61
63
21
28
83
82
29
28
31
90
90
90
91
255
255
255
255
255
255
229
229
229
255
255
229
229
255
255
255
227
255
255
224
222
214
255
192
183
230
244
202
215
255
255
255
255
255
255
218
255
255
255
212
230
175
107
106
156
156
103
141
83
80
79
129
74
127
132
143
94
95
96
95
92
138
75
73
73
72
123
122
69
67
113
114
61
113
111
111
59
59
55
54
54
53
106
54
57
63
120
123
128
84
87
81
75
68
63
110
112
103
69
69
69
16
14
18
29
94
108
62
69
126
69
57
99
78
24
29
31
79
72
16
10
58
55
3
57
60
11
10
63
31
70
103
92
54
24
58
58
54
54
2
51
51
50
50
47
45
40
36
29
0
0
10
17
73
73
80
77
22
24
75
72
18
14
58
47
0
0
0
0
53
56
68
76
30
34
36
91
92
42
45
98
45
44
93
93
42
40
36
89
40
41
94
47
51
48
96
92
100
96
91
89
90
38
39
88
88
86
84
31
30
81
86
34
32
84
31
32
33
39
92
91
91
39
37
37
93
93
94
96
98
108
58
57
58
59
111
111
105
52
49
114
131
87
88
144
148
147
91
140
88
87
82
79
77
69
69
118
185
76
89
149
89
80
72
118
59
102
99
40
82
73
18
21
32
97
93
89
30
26
28
87
90
87
82
76
19
67
68
68
22
77
78
26
28
81
89
90
90
90
228
255
255
255
228
228
228
229
229
255
255
255
229
255
255
229
228
255
217
211
208
246
239
179
175
178
192
195
207
213
255
255
255
255
255
255
255
221
255
214
153
153
155
103
103
102
99
89
137
81
81
80
128
121
118
121
69
73
128
75
71
68
121
122
122
120
119
66
66
116
112
61
60
111
111
58
110
110
57
51
50
107
103
49
72
134
142
144
142
88
85
140
138
79
111
92
86
81
77
22
21
73
71
17
18
20
85
34
33
31
29
81
31
29
28
79
20
12
58
57
51
51
51
53
55
56
6
4
55
55
31
79
99
86
47
61
59
55
54
3
2
49
0
0
0
32
30
30
0
0
12
70
21
23
24
26
76
73
16
8
0
0
0
39
47
0
0
3
59
57
7
14
19
74
77
78
84
85
35
90
91
39
39
93
43
46
45
42
45
45
96
92
39
39
39
93
43
106
101
94
36
83
32
38
91
96
46
46
37
31
79
76
76
22
20
18
71
71
73
21
74
75
78
80
29
28
81
31
34
90
98
101
101
49
50
101
102
101
48
46
51
62
73
84
95
149
155
153
151
100
103
102
89
65
121
99
59
120
122
59
138
84
84
86
88
84
69
130
115
41
75
13
11
14
68
73
78
29
31
33
88
94
94
91
33
24
70
69
75
79
80
83
86
89
90
37
89
89
89
255
255
227
227
227
227
255
229
229
229
229
229
229
229
255
229
228
224
211
203
250
240
237
179
174
177
188
241
255
209
255
255
215
219
255
255
255
218
215
255
184
145
98
100
152
151
96
87
85
128
129
131
77
74
123
120
67
122
72
70
68
119
123
119
67
67
118
64
63
114
112
59
58
58
110
110
109
106
109
102
49
107
100
47
136
139
86
83
133
135
138
134
134
132
117
94
28
27
76
19
68
72
77
77
78
79
37
42
94
90
36
38
40
29
25
72
12
4
52
53
49
51
53
55
55
56
56
1
53
49
68
60
91
93
61
13
61
57
54
2
2
49
0
0
0
30
0
0
0
57
67
18
19
73
22
22
73
14
6
0
0
0
0
38
0
0
0
55
60
60
8
11
13
69
72
73
28
29
83
87
37
38
40
39
39
42
97
98
49
50
101
44
93
89
90
95
100
105
101
44
38
30
84
91
39
47
100
47
40
33
29
24
75
72
71
15
15
15
65
15
15
68
72
74
23
27
28
30
85
90
45
98
95
96
45
99
98
98
46
50
49
55
65
131
145
93
99
100
101
101
156
155
85
57
110
94
35
92
186
54
74
76
81
138
142
90
83
92
129
107
83
66
7
56
60
65
72
78
81
31
34
95
43
42
87
78
72
72
83
84
85
87
92
94
95
37
89
37
38
255
226
226
255
255
255
255
255
228
228
228
228
228
228
255
255
226
220
201
191
237
188
239
232
221
166
180
182
238
245
250
200
203
209
255
212
210
255
252
229
153
91
87
141
143
142
87
84
83
85
133
128
74
73
124
115
121
119
118
117
117
116
116
64
64
63
62
114
113
112
57
58
57
56
107
55
55
48
109
103
100
106
96
97
127
81
86
143
150
152
148
99
87
88
86
114
35
28
27
76
73
22
23
76
80
35
37
86
89
41
43
41
90
16
10
59
54
50
47
0
0
0
48
50
52
2
55
50
1
0
0
82
124
149
138
76
69
8
54
51
0
0
36
31
30
0
0
62
6
11
73
72
18
17
68
67
14
0
0
28
0
0
52
4
19
20
17
62
57
10
8
56
58
10
14
70
19
20
76
88
93
98
100
91
85
80
87
94
48
104
105
54
106
46
44
97
99
92
92
43
42
91
92
45
42
96
98
45
44
93
90
35
83
79
74
12
9
8
7
7
7
8
64
67
15
19
20
75
77
29
33
87
86
35
37
91
38
34
32
47
46
47
52
62
133
138
143
152
156
157
155
97
74
110
27
33
22
53
182
66
54
58
64
121
127
82
99
106
152
138
64
92
72
57
66
66
66
65
65
14
18
92
94
95
91
33
32
87
95
40
89
92
96
46
97
91
91
91
92
229
228
227
255
255
255
255
255
226
226
226
227
228
228
229
228
225
217
253
252
251
242
188
179
217
204
164
228
233
230
226
225
227
184
186
185
177
171
160
184
142
97
143
146
145
140
87
86
133
133
80
130
127
73
71
67
117
116
114
113
113
113
57
57
56
54
53
104
104
104
102
50
52
103
103
52
51
51
49
98
99
101
99
105
138
86
88
146
151
154
153
96
89
93
94
126
47
38
33
29
24
26
30
33
32
29
85
85
32
32
33
30
26
15
5
3
54
1
50
50
0
51
0
0
48
0
0
47
0
4
5
60
90
135
143
89
13
7
54
49
0
0
35
44
3
8
11
65
68
16
15
68
13
9
4
49
38
26
26
32
41
49
63
20
84
82
77
67
59
61
56
1
2
2
58
62
16
20
77
84
87
92
42
39
92
91
88
37
43
101
111
61
114
57
51
45
90
33
88
93
96
98
100
100
95
94
39
39
42
97
99
83
81
27
74
66
10
61
58
2
55
59
60
62
14
20
21
74
24
24
25
76
30
33
85
31
29
34
91
92
95
98
48
51
118
72
133
139
144
145
142
83
57
90
76
76
28
32
144
155
45
33
82
37
43
53
133
145
151
154
149
139
127
103
88
27
71
68
64
9
13
82
35
42
98
46
46
47
43
44
95
95
43
93
93
88
84
84
36
229
228
227
255
255
255
255
255
226
226
227
255
255
228
255
255
255
255
255
201
201
195
192
179
210
141
200
212
218
223
228
226
220
222
173
167
212
153
138
111
85
96
138
140
141
138
86
84
133
82
81
130
128
74
71
69
118
116
61
60
59
58
53
53
104
103
101
100
100
101
99
47
48
99
99
99
99
47
47
43
96
99
45
52
140
140
141
94
100
156
154
93
94
152
94
72
53
44
41
37
33
31
83
83
79
24
83
84
33
34
35
31
26
70
60
5
55
52
49
47
0
49
0
0
0
0
0
45
55
59
2
52
79
122
144
101
72
6
51
44
44
39
45
3
12
65
14
17
70
14
12
15
11
2
45
0
28
26
0
40
54
67
80
87
95
91
82
67
56
59
51
0
0
52
56
7
9
66
72
83
35
39
93
102
48
98
93
42
97
101
56
61
116
55
47
38
34
87
89
91
43
100
102
102
97
41
38
37
95
99
101
33
31
28
77
69
65
63
9
7
59
61
61
62
13
22
74
73
20
21
22
22
28
82
82
29
26
84
88
89
91
93
94
43
56
115
124
131
85
138
83
76
105
31
27
81
83
26
76
169
104
85
75
76
77
84
116
131
140
151
154
153
96
132
112
100
31
19
11
7
61
79
33
42
49
52
51
51
44
44
44
95
42
39
36
87
85
85
88
255
228
227
255
255
218
255
221
222
224
226
255
255
226
224
222
255
255
255
255
207
202
190
171
157
146
175
165
122
185
201
211
164
158
157
151
196
185
121
109
92
88
85
85
84
137
135
134
82
80
78
129
127
75
76
77
72
69
65
63
61
59
53
104
102
101
47
45
45
97
95
43
95
94
42
93
93
42
42
39
92
97
99
52
70
135
148
101
98
96
150
102
103
152
79
57
48
47
46
96
95
94
93
91
89
86
37
39
40
41
41
37
31
24
61
55
53
51
50
0
0
46
39
0
0
0
0
49
55
58
59
59
70
39
141
74
31
1
0
0
42
54
64
14
66
67
16
17
13
12
3
0
0
32
0
0
26
0
1
65
82
95
99
49
98
90
78
10
0
8
0
0
44
45
0
1
58
63
69
24
27
30
85
101
49
49
52
53
104
51
54
112
115
50
41
87
85
99
97
42
42
100
51
51
97
93
91
91
96
48
49
39
38
37
36
80
76
73
16
68
66
63
10
62
10
72
72
71
71
21
26
27
29
82
82
81
80
82
32
30
84
34
32
33
43
101
56
62
120
124
76
76
115
100
94
89
38
33
111
184
132
44
26
25
65
13
32
45
55
122
132
142
150
153
150
142
127
110
40
27
69
67
22
84
95
53
56
108
52
47
41
86
31
31
32
33
88
91
91
227
255
255
226
219
215
255
255
216
219
255
255
222
221
215
214
255
255
218
216
214
255
194
182
229
172
132
111
111
110
108
157
105
114
119
114
169
168
111
113
166
159
152
93
86
137
134
132
85
135
82
79
129
126
128
77
73
70
66
116
63
112
106
51
102
100
97
96
43
42
91
90
38
37
89
36
35
84
35
32
83
92
98
48
54
61
70
130
133
137
140
86
76
121
62
51
47
102
99
99
99
100
100
102
105
108
48
46
43
41
93
37
31
16
8
56
56
0
0
0
43
41
38
0
45
48
0
0
0
51
56
57
58
14
57
94
110
74
58
55
56
10
17
67
67
16
13
7
7
0
33
29
27
0
0
0
0
8
80
44
107
113
115
57
86
77
66
0
0
45
0
0
40
0
0
53
61
11
65
71
22
27
31
80
88
45
55
107
108
57
63
112
106
100
45
94
92
102
97
93
40
97
47
100
96
96
97
97
46
46
46
99
99
100
47
41
37
34
29
31
27
72
70
69
14
76
77
78
80
80
30
30
32
30
82
82
31
29
28
27
29
30
32
33
97
103
52
57
111
115
121
128
128
114
106
40
46
95
50
140
99
46
24
77
18
21
30
36
40
41
43
103
118
139
144
151
100
145
137
126
62
29
81
84
90
99
105
107
55
101
94
87
30
28
28
84
93
98
97
255
255
229
228
222
255
213
255
255
255
255
255
218
221
220
221
222
221
213
206
255
248
195
246
239
230
152
129
113
110
112
104
114
164
166
161
160
107
157
158
161
162
157
99
89
134
133
132
141
137
138
138
134
130
126
77
68
67
118
117
64
113
104
50
48
98
96
97
43
38
37
36
86
87
86
34
32
78
79
81
32
36
92
96
47
49
52
55
56
108
107
103
99
94
41
44
47
49
99
101
104
104
50
52
56
59
120
117
63
60
102
40
32
13
10
7
4
1
0
0
46
47
0
0
45
46
0
53
58
1
1
7
10
8
79
93
130
98
80
76
76
15
13
12
9
7
4
54
0
31
26
26
0
0
27
28
0
15
35
101
108
58
61
48
65
51
43
0
0
37
36
0
41
44
53
61
10
13
65
69
77
86
38
45
97
44
45
97
45
45
47
97
94
32
24
72
19
91
42
96
44
44
97
99
96
44
44
45
45
98
98
46
98
99
100
100
100
98
43
42
39
35
29
25
24
26
28
33
89
39
38
86
80
74
71
70
20
84
88
19
24
29
30
34
104
108
112
100
36
41
112
122
137
79
79
117
110
106
46
142
119
67
34
82
25
74
84
33
39
93
36
27
81
62
69
133
92
98
155
157
150
82
126
115
105
103
106
61
64
109
50
47
45
40
30
26
88
98
103
255
229
229
227
220
255
255
255
255
255
220
218
255
255
255
255
225
255
255
255
255
204
201
254
250
241
209
184
115
109
111
156
165
161
110
160
158
106
156
157
160
108
159
102
91
81
132
133
137
136
86
86
83
79
127
129
122
119
115
61
59
56
104
101
99
97
96
96
94
38
37
35
85
85
33
33
83
79
79
27
29
31
35
90
43
45
48
102
103
50
48
42
40
36
36
92
96
46
47
103
105
106
53
53
56
112
114
58
57
52
44
36
29
15
14
13
12
9
57
54
50
51
0
0
48
48
0
5
62
6
3
58
57
54
67
88
84
108
86
78
27
21
14
15
13
9
52
0
0
28
0
0
28
27
26
28
31
63
31
44
52
55
101
89
5
0
39
0
0
0
37
40
45
48
54
60
57
10
15
76
84
40
41
97
95
40
38
90
38
41
97
94
36
77
73
73
76
90
40
44
98
97
97
47
45
45
45
45
45
98
97
45
98
47
101
100
100
99
45
95
41
38
31
29
27
82
33
36
91
92
38
34
76
73
70
71
21
31
34
24
79
81
81
36
110
113
68
107
89
37
55
123
138
80
81
121
113
105
97
191
122
69
35
83
78
22
84
42
46
98
39
28
25
44
52
65
78
87
148
155
103
98
91
133
122
62
59
58
58
110
108
53
48
39
32
27
87
96
102
229
229
229
255
220
208
195
187
245
252
209
220
222
255
226
255
228
255
255
255
221
221
217
255
255
255
185
159
176
103
104
154
160
103
103
99
151
151
153
154
155
155
159
109
93
77
129
135
133
137
86
85
85
81
131
129
124
120
62
58
54
104
100
99
98
96
94
43
94
90
35
85
82
29
29
28
77
73
72
70
69
17
20
23
76
26
30
84
83
28
23
71
71
19
22
79
32
37
49
53
57
58
58
57
60
115
114
59
56
51
46
41
38
33
33
86
32
27
22
68
55
52
51
50
46
43
44
44
55
5
57
56
1
52
0
68
95
133
100
85
38
33
75
18
12
53
0
0
28
27
0
0
27
0
0
26
0
48
64
77
33
90
81
72
0
0
0
0
0
62
59
58
6
5
62
12
69
22
28
87
89
37
87
32
27
72
67
17
74
29
83
30
26
78
81
88
43
36
92
46
49
100
99
98
47
46
98
98
45
96
96
94
97
46
99
101
100
100
96
96
42
40
87
86
33
38
90
90
38
91
89
34
32
85
87
90
41
92
91
88
83
77
76
88
124
130
135
79
108
82
84
105
77
80
136
130
70
110
94
181
131
75
39
85
80
26
34
97
50
52
101
95
87
75
28
36
46
53
113
125
86
105
157
156
100
93
82
71
55
56
108
107
102
46
42
35
37
93
99
229
255
255
255
255
255
202
191
192
246
253
255
217
219
225
225
226
227
255
255
255
255
255
221
255
215
208
191
204
160
99
97
96
99
100
147
146
93
94
96
154
103
107
99
134
125
130
134
138
139
139
86
86
87
85
129
122
69
66
116
113
108
97
97
96
93
41
40
93
89
85
83
28
27
26
75
72
12
64
63
63
63
12
65
60
9
9
62
61
58
55
5
59
63
65
69
73
27
94
48
54
59
60
62
116
119
116
113
108
102
49
50
51
102
100
98
42
89
82
25
18
11
10
8
57
52
52
49
47
0
0
0
51
57
19
55
86
141
65
98
94
93
33
20
6
48
44
0
0
40
30
0
0
0
0
0
26
36
0
5
63
67
14
9
6
11
16
72
74
75
76
72
65
11
16
21
27
81
33
39
95
46
97
72
15
61
6
10
68
23
22
26
84
97
47
51
56
94
98
50
52
50
49
101
99
99
98
44
41
40
39
37
39
92
94
96
96
96
41
40
40
39
87
87
35
36
87
87
88
39
46
45
103
104
108
110
57
95
91
40
32
21
67
26
70
82
143
98
84
109
92
39
68
71
77
75
126
67
49
174
133
77
41
38
88
33
35
47
54
56
105
104
50
83
80
26
78
81
84
40
51
137
142
99
106
159
156
98
80
121
56
50
103
105
103
49
43
94
99
255
255
255
255
255
255
255
198
249
196
201
255
255
220
255
255
255
227
255
255
255
224
223
224
221
216
255
197
224
170
153
95
142
146
96
148
146
143
143
93
154
105
105
143
126
125
132
131
141
88
87
86
88
89
86
131
70
67
117
114
59
55
100
44
42
93
92
40
40
88
86
84
28
26
24
74
71
13
13
12
64
63
61
60
56
3
4
55
53
0
51
1
56
59
62
12
68
72
90
96
52
57
60
63
117
121
114
111
104
99
99
49
52
53
51
49
46
42
89
33
23
15
13
64
61
6
5
57
47
0
48
50
59
70
27
103
82
92
127
104
93
98
35
24
13
57
54
52
0
46
37
0
26
27
0
0
26
36
46
52
3
7
61
9
18
27
36
94
97
39
85
80
80
80
31
31
31
33
90
97
101
48
46
78
21
15
63
66
70
74
78
29
86
45
46
48
103
100
50
52
53
51
102
50
47
99
97
43
39
38
37
33
35
37
91
93
94
42
40
40
40
39
90
88
37
38
90
37
91
96
107
108
114
114
117
118
62
45
91
88
31
18
63
69
63
77
83
139
79
63
49
40
55
118
71
71
126
123
54
120
130
76
41
92
91
36
35
98
104
107
103
103
54
40
87
29
24
25
78
80
86
63
71
82
93
101
104
156
92
135
70
59
54
51
51
106
98
95
100
255
255
255
255
211
202
245
251
197
200
255
255
222
229
255
255
255
255
255
255
255
228
225
223
224
255
255
201
183
195
152
87
93
133
85
86
142
147
149
97
147
94
142
130
126
76
127
85
89
85
99
110
165
166
166
90
69
112
119
64
97
51
40
94
40
38
88
36
35
83
84
83
28
76
21
19
17
13
64
64
64
12
12
64
5
56
52
49
47
45
0
0
52
58
7
9
63
67
85
96
54
58
112
115
118
118
61
107
101
98
99
100
50
56
56
107
105
101
97
92
80
20
67
63
8
6
8
56
0
0
60
69
78
85
97
106
129
98
141
113
44
51
91
87
32
27
20
68
59
59
0
0
30
27
26
0
0
0
46
54
59
7
12
21
44
108
68
127
128
70
74
118
111
55
53
99
99
39
92
101
56
55
46
39
28
22
67
70
26
81
32
34
36
42
95
96
97
56
57
57
57
107
106
53
50
100
45
42
40
39
88
84
84
32
32
85
86
87
85
86
34
86
85
88
89
84
89
42
47
51
117
121
127
79
81
73
119
45
81
86
70
57
58
13
33
48
54
54
51
99
96
95
38
95
118
126
123
122
62
114
184
133
49
97
40
36
93
90
40
44
101
106
109
55
104
46
36
78
18
68
67
22
30
44
56
67
80
146
155
153
149
89
77
62
49
49
102
50
49
255
255
255
211
207
203
250
245
247
202
212
255
255
255
255
255
255
255
255
255
255
255
226
255
227
222
255
249
189
193
145
79
83
78
78
72
121
65
66
122
80
80
128
71
72
74
71
94
154
169
174
177
174
173
125
170
175
148
124
66
61
49
50
96
94
38
36
35
35
84
83
29
26
75
72
69
16
14
13
65
64
63
10
9
7
58
56
54
53
0
52
50
2
7
9
10
14
19
35
45
54
57
57
112
112
59
52
45
40
90
92
95
46
101
102
103
103
102
47
96
74
65
9
5
3
4
7
4
12
72
78
80
85
38
100
113
74
94
154
133
105
49
55
105
48
93
87
30
25
74
11
2
0
44
43
52
3
7
10
18
74
74
23
82
105
116
74
135
141
162
166
158
146
134
71
111
106
45
44
45
49
47
88
26
15
9
62
70
29
34
37
39
42
101
105
55
57
60
61
61
112
110
56
55
105
102
45
93
89
87
84
76
76
24
24
77
77
78
79
29
29
80
79
30
31
90
94
101
55
60
126
131
85
87
84
73
115
87
73
69
61
58
61
12
10
14
21
22
24
79
84
90
99
42
103
106
63
70
60
120
178
127
46
101
101
97
38
40
39
90
91
43
49
110
107
55
52
98
88
76
65
7
10
18
30
42
105
65
89
93
149
149
146
138
77
41
39
38
40
255
255
215
211
255
255
251
193
247
253
255
222
255
255
255
226
227
255
255
229
255
255
255
229
228
222
255
253
188
138
91
129
78
130
129
81
127
70
70
128
83
134
125
72
75
75
71
100
162
176
127
127
176
178
129
178
183
118
90
120
62
102
101
98
43
39
36
35
34
85
83
81
78
74
71
17
16
15
14
13
12
10
10
61
58
5
4
3
2
54
54
0
2
59
9
64
16
21
91
99
53
57
58
111
111
109
50
95
89
86
88
41
96
98
98
98
47
46
42
92
68
60
3
1
0
1
5
9
72
81
31
33
89
97
101
114
121
88
105
144
113
46
111
111
54
46
39
88
86
83
20
15
11
9
8
62
65
14
18
76
80
81
82
85
99
56
67
80
90
116
121
113
152
137
70
56
52
43
41
90
39
34
75
22
62
57
59
69
29
34
91
42
97
107
60
63
65
114
114
62
63
60
110
109
106
50
46
93
88
33
31
74
74
22
21
22
73
73
24
25
25
76
76
26
28
33
91
99
106
111
126
132
135
135
77
66
105
24
63
64
60
58
10
64
58
5
64
12
16
22
29
89
104
49
50
50
62
122
58
170
176
130
102
104
100
42
41
94
40
36
34
36
41
108
108
110
110
54
46
85
73
64
11
12
18
82
96
107
73
79
140
145
146
142
85
110
103
95
91
255
255
210
209
255
253
245
195
245
245
252
255
255
255
226
255
255
227
255
255
229
227
255
229
255
255
218
199
161
114
136
133
130
134
128
126
71
122
71
73
121
117
125
73
76
72
68
156
115
115
117
121
176
177
176
173
176
146
189
94
62
113
101
46
43
41
91
90
88
83
30
28
25
21
70
16
14
11
11
11
9
8
8
59
3
55
54
0
52
53
2
0
2
57
59
9
13
20
88
95
101
53
57
112
111
108
49
42
35
32
30
30
84
86
33
32
82
78
21
18
4
0
51
52
1
2
6
24
77
30
33
35
92
99
48
106
108
64
92
154
135
47
109
110
108
52
47
44
89
85
27
27
26
26
26
82
85
85
35
93
44
96
99
94
92
92
43
57
72
147
98
140
129
64
50
39
43
93
96
90
87
26
11
73
61
55
63
21
32
84
38
92
94
56
63
69
124
116
115
116
115
111
108
108
54
51
45
94
88
33
83
75
75
22
73
71
18
70
68
17
18
19
21
76
80
83
37
47
106
110
71
128
133
76
119
56
94
16
8
64
61
6
6
60
54
52
46
43
0
1
10
71
96
47
52
53
115
125
66
125
178
134
56
107
49
43
57
99
96
90
83
26
28
95
100
50
53
55
54
103
99
31
79
19
13
66
21
84
97
102
59
68
129
84
88
141
133
123
64
250
197
196
246
249
247
243
188
188
191
199
210
255
218
255
255
255
228
255
255
229
255
255
255
255
255
254
172
177
140
128
134
130
82
126
127
75
128
126
73
128
130
86
139
139
85
86
181
137
141
139
192
193
139
136
184
185
179
183
160
60
98
92
43
42
43
95
41
90
81
29
27
24
20
17
67
65
8
8
7
7
7
59
7
6
5
56
2
53
54
1
0
1
55
55
4
61
67
78
32
91
98
104
57
57
53
46
41
34
26
73
69
67
19
18
18
69
14
9
7
2
2
58
9
10
11
14
25
22
29
86
34
34
34
46
95
98
46
71
99
98
62
58
110
113
112
58
54
110
104
94
93
41
39
37
45
99
47
50
108
59
60
60
56
109
100
39
93
105
59
112
99
89
28
72
16
24
29
38
89
84
20
3
60
49
0
12
22
30
29
35
86
89
50
56
63
66
114
115
114
113
110
106
53
54
50
46
42
89
87
86
73
73
19
18
67
66
66
63
12
15
17
75
80
83
29
87
96
50
106
114
65
124
118
108
47
35
14
10
63
62
8
59
56
43
36
34
29
29
39
51
60
92
97
62
116
116
121
67
117
173
71
46
57
67
119
111
49
48
95
86
24
20
79
31
36
44
102
106
56
54
53
52
46
87
74
13
11
71
72
24
32
42
54
117
136
139
90
91
252
198
196
197
195
242
237
239
187
188
193
207
214
255
255
229
255
255
228
226
229
255
255
255
255
255
244
207
157
140
75
75
131
128
131
126
126
131
131
122
132
87
83
84
78
74
87
186
140
136
187
187
190
192
140
145
183
186
194
135
89
97
85
88
38
39
40
40
38
33
84
82
78
23
21
70
66
12
63
10
10
63
63
9
2
1
0
0
48
47
0
0
0
0
51
1
55
60
71
26
34
93
96
48
52
55
49
40
85
79
74
16
13
10
7
59
62
13
13
65
63
60
61
14
15
64
60
63
68
19
23
26
81
32
34
84
89
44
57
79
99
93
51
103
102
113
75
71
53
89
84
93
102
107
57
44
47
57
62
65
116
115
60
57
103
48
47
101
102
91
92
97
97
94
35
29
28
87
90
80
22
13
57
55
52
0
7
12
20
28
82
89
44
55
110
112
114
60
112
111
109
104
48
46
49
46
43
41
88
84
28
76
75
23
21
17
67
14
11
13
17
74
82
83
85
36
42
49
107
58
117
67
67
60
51
42
33
18
66
15
14
63
56
1
0
0
44
44
0
52
60
66
81
50
122
72
69
71
61
178
116
67
49
67
127
123
119
58
56
97
31
20
17
68
13
67
71
26
32
41
99
105
53
101
39
33
80
73
3
4
10
70
75
76
32
69
133
92
94
209
206
201
194
188
189
192
230
227
173
176
246
255
255
221
227
255
255
227
255
255
226
225
255
255
219
178
172
128
123
72
79
133
126
76
75
122
71
121
116
73
125
132
132
75
73
140
178
177
137
137
189
138
137
136
133
149
143
161
101
82
38
91
86
34
37
38
37
36
32
86
83
79
76
74
70
67
62
59
56
54
54
52
0
0
0
48
46
45
45
45
43
0
0
47
49
0
56
62
66
20
29
38
44
47
48
98
42
89
33
25
70
12
5
59
61
68
72
76
77
24
24
74
72
71
17
16
64
58
2
54
58
62
65
7
66
73
25
37
62
139
105
55
102
105
64
126
70
58
47
47
53
110
111
110
102
102
107
57
112
113
114
58
57
104
101
50
51
53
89
92
92
90
89
38
40
40
93
92
84
23
11
51
53
51
0
64
68
75
81
85
38
45
106
56
58
112
108
108
107
54
50
99
98
100
96
95
43
40
37
86
81
28
25
22
73
73
21
25
26
29
84
35
36
88
33
37
44
102
54
115
118
70
65
57
47
38
78
75
67
15
7
0
0
0
0
37
0
0
13
26
35
104
65
129
75
124
124
63
122
170
127
60
129
135
129
70
54
104
101
41
35
29
14
14
61
56
1
3
64
73
81
33
37
39
95
96
94
81
73
13
7
4
57
12
33
47
64
75
211
211
255
255
191
241
190
191
184
176
174
234
238
187
198
212
255
221
226
225
255
255
255
255
255
212
193
130
122
71
73
75
126
124
74
69
64
62
59
60
78
75
124
123
119
67
134
161
155
168
122
125
177
180
131
126
172
109
108
74
29
83
85
35
88
88
38
90
90
38
37
86
83
80
77
74
18
14
62
56
0
50
46
44
40
39
39
37
37
37
38
40
40
42
0
0
0
0
60
61
66
23
87
95
46
98
101
48
42
35
27
71
68
25
81
85
88
90
91
41
42
41
37
82
76
20
19
14
4
50
44
40
37
36
0
0
5
6
15
36
111
161
59
99
106
62
67
117
114
57
58
61
111
107
103
105
103
100
49
50
103
52
51
51
101
48
47
48
50
46
47
40
33
84
90
95
92
37
85
84
25
13
4
4
54
55
64
68
20
77
81
34
91
97
48
51
53
103
104
51
51
49
100
98
99
46
98
98
45
94
92
35
33
31
28
29
84
85
85
33
34
34
33
31
83
80
82
87
95
102
63
68
78
76
123
63
106
100
100
64
62
6
2
0
45
47
45
0
54
62
22
34
65
118
67
65
117
119
67
174
158
71
59
124
125
69
64
107
59
62
63
114
60
44
39
86
77
15
58
53
0
6
6
12
19
79
85
87
93
94
93
89
83
77
68
12
17
25
33
213
255
255
255
196
243
240
239
176
162
154
211
214
215
231
197
255
211
221
255
255
255
223
216
210
255
180
125
73
74
74
72
70
70
71
118
114
60
108
109
80
77
121
122
118
66
130
156
149
159
113
113
162
161
111
103
147
83
36
73
79
77
79
34
87
88
36
89
89
90
39
36
85
81
79
76
19
15
63
4
0
0
0
44
0
36
35
0
0
35
36
0
0
41
0
0
0
0
8
10
67
76
85
93
97
100
101
100
93
35
29
25
76
86
91
94
95
95
95
97
48
44
40
34
27
72
68
64
3
0
0
0
33
31
0
0
1
4
63
83
52
157
116
50
108
113
64
66
64
113
114
114
58
53
101
107
53
48
47
99
99
48
47
48
101
48
47
100
102
51
49
41
34
30
83
86
85
30
79
81
22
68
12
9
7
57
63
64
16
22
76
81
33
91
94
47
49
101
101
50
51
50
101
100
49
48
99
48
47
96
42
36
35
86
86
87
89
37
90
91
38
36
33
84
30
73
75
79
36
98
114
67
76
77
125
66
58
55
109
69
10
56
54
1
0
48
0
0
52
57
66
26
59
65
61
111
62
65
120
172
105
124
113
123
124
68
118
115
69
74
74
124
124
66
63
111
103
40
79
66
3
0
0
0
0
9
18
78
87
93
47
102
101
94
32
14
13
16
21
255
216
255
255
255
248
191
185
216
187
117
177
137
144
196
219
234
189
203
255
255
204
201
194
193
187
107
128
65
67
69
70
71
66
61
115
63
61
103
100
74
72
122
74
73
68
76
100
150
151
103
100
143
139
91
81
71
52
22
81
75
67
73
29
30
82
31
33
34
88
93
90
34
83
80
25
72
65
60
54
0
0
0
42
0
38
37
0
0
0
39
0
0
41
0
0
0
0
6
11
70
76
81
86
94
99
97
94
89
86
36
41
46
103
110
113
113
112
60
60
51
97
93
36
29
70
62
5
0
37
0
35
39
0
0
0
0
7
16
85
50
148
128
61
116
116
61
69
70
71
120
115
58
104
101
111
58
52
50
100
97
94
99
100
52
104
104
53
54
52
49
41
90
84
25
23
81
79
77
25
72
73
79
19
14
61
59
59
64
17
66
70
22
81
85
38
42
47
100
101
50
103
50
102
104
103
103
50
49
98
44
37
38
38
93
94
94
42
38
36
35
32
77
75
20
6
59
13
75
87
106
112
62
65
62
108
49
50
107
108
36
16
63
64
63
66
10
14
17
22
26
33
112
75
64
111
64
118
122
170
99
68
109
116
114
113
116
65
72
127
69
114
115
127
129
128
127
73
67
113
105
93
79
14
57
54
51
55
73
81
37
44
103
110
107
39
35
36
42
255
255
255
255
201
247
243
188
179
151
176
105
106
119
122
185
152
220
235
236
236
175
224
218
163
151
139
139
74
68
64
66
67
63
115
60
111
109
56
58
119
121
118
117
119
70
70
77
136
148
135
119
60
62
117
63
52
37
24
22
20
68
73
77
26
79
82
85
34
36
35
35
34
84
81
76
73
66
10
5
0
46
44
0
0
42
39
0
0
0
41
44
44
0
44
45
49
2
12
71
75
77
82
89
90
87
92
93
44
47
51
57
112
120
73
74
125
123
69
120
53
41
85
81
24
16
8
6
55
51
47
45
42
0
0
0
3
14
25
38
46
85
141
70
62
117
68
70
72
128
128
122
62
110
55
57
55
101
100
47
46
45
50
100
102
107
111
61
114
106
106
48
42
89
86
33
83
82
79
22
76
78
81
28
27
23
58
53
52
3
5
8
12
19
24
30
34
45
46
99
50
51
103
103
50
51
51
49
45
97
47
42
42
42
42
94
93
94
93
95
96
43
82
75
71
66
15
18
74
79
94
46
52
51
99
44
38
82
45
116
111
48
34
32
91
87
95
48
54
57
59
114
123
131
78
77
129
122
114
167
103
58
39
45
93
88
111
117
121
121
61
98
89
44
51
56
58
57
55
58
110
103
50
50
47
95
88
30
79
30
35
95
102
106
105
55
55
56
57
255
255
219
217
207
203
200
240
185
164
191
158
101
108
155
108
121
192
218
216
211
156
210
156
149
182
140
149
128
122
65
66
67
115
114
60
111
109
57
110
116
118
112
113
118
121
69
62
63
84
128
119
117
66
118
56
44
35
26
25
24
19
18
75
76
77
80
83
85
36
36
35
33
30
79
75
73
66
63
57
0
0
0
43
43
42
41
40
0
0
44
46
48
0
0
49
53
7
68
74
26
79
28
32
88
37
89
94
48
53
111
117
70
77
132
134
82
78
74
70
102
41
33
82
27
21
67
64
61
58
54
0
0
0
0
0
9
72
33
44
103
129
149
128
61
64
120
67
69
125
127
70
117
113
60
56
55
49
100
47
47
99
52
102
106
59
60
114
114
108
106
99
94
91
88
87
35
87
83
21
20
77
82
82
31
30
66
58
1
51
3
7
11
21
77
32
36
47
48
102
51
53
52
52
50
52
104
50
98
99
48
41
94
41
42
93
40
41
41
96
99
49
41
86
79
73
20
72
71
22
34
38
45
45
93
36
32
74
34
65
118
115
103
97
53
54
109
113
119
122
126
75
127
132
77
79
136
125
108
161
100
56
33
34
26
75
105
113
115
114
55
44
82
66
24
29
83
83
84
38
97
97
99
51
53
53
49
45
92
93
95
47
51
105
105
113
60
60
60
255
218
219
220
219
217
216
255
255
193
178
197
173
151
148
94
95
154
124
128
181
187
128
171
156
142
85
85
129
122
64
64
64
114
114
111
59
58
57
109
113
62
66
64
67
123
122
114
61
52
46
91
88
39
42
94
90
88
87
87
85
80
22
22
22
76
26
30
32
86
91
37
86
31
28
77
23
15
64
59
2
0
0
48
45
45
45
0
0
0
0
55
4
5
6
7
62
66
73
76
28
80
78
24
81
34
87
43
50
57
115
121
73
84
135
135
81
76
119
61
98
92
89
87
35
32
82
76
72
69
65
62
7
4
6
17
25
33
42
101
106
61
108
94
67
59
64
112
112
117
63
59
109
108
109
50
50
51
104
105
55
55
102
101
105
57
109
108
107
63
55
87
83
32
87
89
32
86
33
24
23
80
34
91
93
44
36
77
67
61
62
65
17
27
84
89
41
51
104
105
55
109
108
108
105
104
102
101
47
46
97
94
42
41
41
39
39
39
86
34
89
95
58
60
111
51
99
94
90
87
87
89
36
38
88
85
84
77
32
63
125
131
126
66
64
69
123
72
127
131
131
128
66
64
106
111
131
83
63
147
151
59
36
31
15
59
24
49
53
56
57
54
43
54
0
47
50
52
52
53
56
63
64
14
18
73
26
28
91
92
42
45
47
103
106
109
57
57
57
217
218
220
255
224
224
224
255
223
220
255
239
217
187
150
94
92
98
120
177
177
181
122
171
166
105
96
76
72
64
58
58
112
111
61
60
110
107
106
56
63
66
67
64
64
121
122
118
117
107
51
98
95
42
41
36
37
91
90
36
85
85
82
78
27
28
29
82
32
85
89
37
89
87
32
81
25
20
18
13
9
6
56
56
59
7
7
8
8
9
9
63
64
12
12
12
66
67
24
21
75
79
77
73
71
73
28
33
92
98
54
115
121
83
83
132
126
117
110
56
97
42
39
90
38
39
39
33
31
28
26
24
73
19
22
29
34
38
44
102
106
48
104
117
136
56
54
103
105
55
49
99
101
109
113
52
54
58
110
108
52
50
45
44
94
97
46
47
98
104
98
82
82
30
28
79
80
29
31
88
90
39
40
48
102
104
53
100
94
36
72
73
21
75
80
35
40
52
105
107
109
109
110
108
108
104
48
46
44
39
88
88
36
35
33
83
31
31
81
30
32
85
43
51
56
77
76
75
124
118
105
100
98
101
95
88
36
31
87
104
113
124
82
82
119
115
67
120
118
62
54
101
100
116
114
121
135
140
76
90
94
56
35
31
17
59
5
27
91
50
107
110
109
87
12
57
54
58
60
6
55
51
51
0
0
48
48
49
1
6
14
72
77
83
89
95
45
49
52
217
218
220
255
255
255
226
226
225
255
224
205
242
162
100
147
93
103
184
185
129
129
126
181
176
164
91
64
70
62
57
109
110
59
61
61
110
108
106
55
117
120
115
112
61
67
69
62
60
112
107
48
95
96
47
102
89
38
38
34
32
32
84
28
29
81
30
83
84
33
37
38
38
89
86
82
26
24
21
69
64
9
8
59
64
13
14
13
13
66
12
13
65
66
14
14
14
68
76
20
72
25
79
73
17
17
24
29
36
95
104
114
121
78
80
128
119
110
54
103
97
43
92
39
39
92
93
36
34
85
83
80
27
25
25
82
85
39
97
103
108
97
154
123
142
108
50
101
50
51
98
97
50
111
118
55
109
61
59
106
101
44
90
36
33
35
90
37
38
46
92
85
33
31
79
73
27
79
82
40
95
95
42
50
104
106
58
54
101
45
29
79
25
25
30
37
43
104
105
107
58
58
110
109
108
104
47
45
42
90
85
33
32
83
82
79
79
26
82
84
34
86
86
41
98
126
76
131
80
78
65
60
102
106
98
37
36
31
85
100
54
68
82
139
121
62
53
54
52
44
87
81
85
115
69
76
137
135
72
86
149
59
36
33
23
66
10
69
86
48
51
54
57
43
68
58
51
57
9
9
59
4
55
55
54
51
47
44
0
0
55
62
68
21
80
87
90
43
48
209
211
217
255
255
255
228
229
255
255
255
215
205
196
160
170
157
121
177
180
175
176
127
169
109
164
145
89
64
106
52
55
54
59
109
56
59
113
60
61
122
122
70
67
122
119
57
63
105
55
104
98
92
89
88
90
89
89
37
37
90
91
39
36
88
34
31
27
79
84
92
40
41
93
91
89
85
26
77
76
74
73
20
21
75
23
75
25
25
77
26
22
72
69
17
16
15
13
64
9
8
9
64
64
60
4
9
18
27
89
98
54
111
63
115
113
108
102
45
93
91
37
90
41
42
42
94
44
44
94
91
86
82
78
23
28
35
43
103
109
111
121
70
102
169
140
52
93
99
46
101
64
71
117
111
115
116
59
52
95
87
83
80
28
29
32
87
89
38
45
94
87
34
32
83
30
27
28
31
38
94
98
48
101
102
107
63
64
63
60
58
99
35
28
32
36
90
96
46
49
52
54
106
105
51
102
98
42
35
83
82
30
32
33
81
81
83
30
37
32
79
76
19
17
67
87
95
105
116
124
136
87
78
72
60
45
90
32
79
84
84
91
112
83
85
126
100
31
18
14
62
57
9
86
58
73
123
119
65
81
148
73
43
33
88
74
64
57
55
13
34
45
46
55
47
81
11
5
6
59
58
6
8
62
62
58
1
0
46
45
0
0
54
60
64
67
69
73
76
255
212
221
255
255
255
255
227
255
255
255
255
215
206
190
148
169
112
114
117
167
164
112
110
109
112
148
138
66
55
103
104
102
107
106
58
114
116
63
64
123
71
67
65
115
58
53
43
88
37
87
84
81
80
81
32
89
92
94
96
96
97
47
95
94
92
90
87
35
92
96
45
99
100
100
100
98
39
90
36
35
85
33
33
91
39
39
91
89
36
34
79
77
21
20
19
18
66
61
6
1
51
50
49
46
44
44
0
1
65
25
32
87
92
89
90
40
91
83
78
81
30
32
37
42
45
46
46
43
92
87
82
78
23
16
26
85
95
103
59
116
127
70
91
112
153
71
45
100
48
107
117
120
65
64
118
117
53
96
87
81
77
20
73
79
33
39
42
44
53
102
94
39
37
87
85
38
38
37
91
92
42
95
101
47
48
62
120
123
124
65
62
108
40
37
39
95
94
44
45
100
100
99
45
47
96
40
36
79
75
74
30
37
45
98
97
93
36
35
82
74
69
66
14
14
10
65
71
82
95
122
78
82
83
80
119
104
84
78
32
79
78
86
106
92
153
136
63
90
23
17
10
2
22
102
73
78
73
118
138
144
76
46
32
90
85
60
4
48
45
3
18
34
101
51
102
38
19
60
61
10
12
63
63
64
63
8
4
50
49
0
0
53
57
7
11
11
11
11
251
255
255
224
255
255
255
255
255
255
227
255
217
209
193
155
172
162
115
115
111
110
159
106
106
158
144
130
117
55
103
105
103
107
106
57
113
116
63
116
121
69
117
116
112
56
106
88
32
34
82
77
74
73
77
85
93
95
47
47
98
46
100
96
96
43
94
93
42
48
47
49
103
106
106
104
103
46
45
43
41
40
39
39
96
96
96
95
93
38
35
78
75
20
70
69
15
64
60
55
0
0
43
43
0
46
43
42
48
58
16
75
78
32
30
32
34
33
80
75
23
78
84
91
96
99
48
95
91
87
81
77
72
69
70
80
87
94
102
111
116
127
123
135
105
107
135
104
51
103
60
65
117
63
66
117
115
102
94
86
80
26
20
75
36
94
99
98
98
55
52
97
95
92
91
89
38
40
93
95
95
42
41
48
46
98
111
119
71
72
68
121
118
51
44
95
97
46
48
102
104
103
49
48
98
44
41
36
29
77
76
80
37
46
102
107
53
50
42
89
81
74
69
17
15
57
61
66
75
87
109
115
122
129
81
76
65
44
87
32
32
83
83
90
130
93
154
138
64
43
25
12
5
22
106
135
92
86
127
147
93
83
105
33
37
34
6
5
5
47
39
2
81
93
51
107
101
82
67
65
11
13
63
63
11
64
11
7
51
0
1
54
53
3
5
12
12
11
63
228
245
255
216
225
227
225
226
255
255
228
225
218
209
190
162
126
161
128
128
125
126
166
160
105
149
87
120
102
41
42
99
46
46
43
52
56
60
59
112
114
114
116
116
58
109
114
34
35
30
27
75
21
73
77
33
38
96
51
52
103
101
105
105
53
51
48
46
45
51
55
56
110
112
112
111
109
107
54
50
49
47
47
47
47
99
98
44
40
87
82
18
16
12
62
60
5
2
47
46
0
0
0
0
0
0
2
4
5
60
13
70
75
76
77
76
24
23
74
73
77
81
87
40
41
89
34
34
79
22
69
63
7
4
62
22
28
85
93
51
110
123
124
67
86
109
153
122
52
105
60
56
50
104
111
54
51
92
34
29
78
27
27
83
93
98
48
48
100
101
47
43
95
95
43
94
90
92
42
100
102
51
52
52
56
111
111
113
68
73
126
124
71
61
56
106
54
62
63
116
117
61
59
57
107
107
106
104
51
50
101
93
97
49
103
114
119
68
74
69
60
52
92
86
31
72
70
17
74
29
96
100
106
114
69
74
78
75
70
108
58
58
56
57
121
129
90
147
93
81
60
37
8
65
103
140
153
141
66
77
86
140
116
36
39
47
29
26
10
0
0
39
51
86
44
50
54
52
39
74
12
63
60
5
60
63
11
8
54
4
7
58
4
56
58
9
10
11
12
224
231
242
201
255
225
226
223
255
255
221
220
215
205
190
146
112
161
172
124
177
126
120
164
111
168
77
45
85
36
39
39
90
90
90
40
45
104
108
56
59
61
106
101
49
106
53
30
76
68
14
67
69
70
18
28
36
41
47
104
107
108
110
61
57
52
49
100
47
44
108
109
111
113
113
115
62
58
55
52
103
102
102
100
42
42
41
39
34
79
74
9
5
0
46
45
44
0
48
49
0
0
0
0
0
2
65
17
19
19
72
73
74
75
73
68
64
64
70
76
30
81
80
26
25
25
26
23
67
11
8
4
0
0
45
11
20
26
85
44
53
59
68
62
65
99
167
136
46
97
107
40
35
91
91
43
42
37
34
30
29
82
34
87
91
44
46
43
40
42
41
35
88
36
39
92
94
98
50
52
104
106
57
110
61
62
110
55
55
56
111
109
54
55
57
56
55
113
114
115
117
65
66
67
119
119
119
119
67
67
67
116
119
122
121
125
133
141
144
87
132
131
123
118
65
54
51
45
92
38
94
98
51
56
116
125
81
89
91
133
128
70
70
76
92
97
95
98
148
143
89
132
79
18
36
128
154
131
93
31
95
55
65
48
88
111
34
4
0
0
0
36
37
63
91
48
53
52
50
43
24
10
4
2
58
10
10
58
55
57
60
60
60
61
63
13
14
16
17
224
180
189
198
255
255
218
221
255
255
255
220
212
201
233
197
118
116
168
119
173
175
119
112
106
155
122
45
88
87
87
87
88
87
87
91
94
99
50
50
101
50
51
49
102
102
96
75
73
68
66
15
16
16
17
27
89
94
101
53
57
109
58
59
108
51
49
100
100
99
58
59
60
113
114
62
62
56
55
51
51
50
102
99
49
47
41
86
28
20
66
7
3
49
44
44
44
0
46
0
0
0
0
0
2
4
66
18
20
20
21
22
76
73
72
17
14
68
72
75
77
26
27
24
74
71
71
17
10
58
56
54
50
0
44
59
16
73
28
40
101
109
68
58
112
90
112
146
104
45
53
40
85
39
41
95
41
89
85
30
29
81
32
32
87
39
42
40
89
38
36
32
84
84
33
35
91
96
48
53
54
108
59
65
120
69
64
114
114
115
111
58
57
59
61
60
59
113
112
109
109
58
111
111
111
111
59
60
60
113
61
64
119
122
124
131
137
143
136
79
78
131
125
123
71
64
115
112
109
55
55
56
58
60
117
121
126
134
84
133
131
73
66
115
77
87
90
92
141
86
89
144
116
23
34
121
145
129
93
74
82
45
60
101
85
44
18
0
0
0
37
37
0
5
81
94
103
105
54
48
32
6
4
4
7
7
5
58
55
5
58
59
60
61
64
13
14
16
17
171
179
188
192
204
208
255
255
255
255
204
198
235
221
206
180
114
116
157
156
104
157
156
98
139
135
128
119
45
90
83
81
83
83
30
28
82
87
39
42
97
98
44
43
42
89
80
67
67
16
65
12
65
14
15
80
90
94
101
105
55
108
57
106
102
96
41
94
98
50
57
58
60
61
61
59
58
50
48
47
46
46
45
44
96
93
88
82
75
15
10
0
0
43
41
41
0
0
0
0
45
47
0
52
5
10
16
72
74
76
25
27
81
23
19
20
21
74
70
66
62
10
10
9
59
57
3
3
50
49
0
45
42
39
39
0
50
56
13
26
36
32
101
96
95
59
83
94
125
51
44
41
37
41
46
97
96
38
87
83
80
81
28
28
81
82
83
82
81
82
29
27
79
81
83
31
37
41
46
56
61
64
66
119
120
68
68
119
118
118
118
119
121
78
81
134
134
131
124
115
109
107
106
103
105
104
52
52
51
102
102
106
55
58
113
67
117
115
120
123
76
79
123
123
74
69
122
124
124
73
74
75
130
76
74
72
124
127
76
84
87
87
77
115
106
110
124
80
85
87
91
97
97
63
57
118
122
103
78
75
17
82
106
115
42
21
8
43
0
0
39
41
0
0
58
76
95
107
61
59
51
9
6
55
56
4
2
55
55
4
57
5
6
9
65
68
69
18
20
216
173
181
183
191
197
201
255
253
252
195
178
219
211
209
132
121
130
183
182
129
175
165
97
137
138
135
71
52
98
90
33
83
81
28
30
80
79
78
79
24
22
22
20
67
64
67
65
6
66
64
65
67
68
68
77
84
36
42
47
48
48
49
97
93
89
35
36
39
42
102
103
53
54
53
103
99
91
88
87
87
36
36
88
38
91
91
86
79
67
6
46
43
39
0
39
0
40
0
40
40
40
0
0
0
55
9
65
17
71
22
24
78
26
21
19
71
17
12
7
55
49
47
0
1
3
5
52
48
0
0
0
0
0
34
33
32
37
0
4
11
0
77
35
89
82
39
69
88
68
37
90
42
96
93
44
43
39
34
32
82
31
28
82
82
81
30
32
85
75
75
24
26
27
81
81
41
42
45
55
58
59
58
61
112
58
60
111
109
54
48
101
104
117
73
131
133
137
134
76
120
107
51
50
106
105
102
48
45
43
94
39
43
50
56
116
117
119
115
114
63
64
106
103
105
58
58
107
106
55
60
62
62
62
63
65
119
121
68
68
72
80
86
138
114
48
96
94
90
86
85
37
54
105
116
84
138
54
22
71
20
75
91
62
61
88
69
60
1
0
41
0
0
51
51
10
25
40
51
107
107
35
70
53
49
54
56
54
3
57
60
61
61
10
11
64
13
15
16
212
169
175
225
225
176
231
236
183
234
228
211
153
204
139
121
171
184
130
183
186
184
175
106
144
88
82
122
106
102
96
38
33
30
29
85
82
26
24
23
18
67
66
16
14
11
11
13
9
61
61
63
66
67
66
73
28
32
38
42
44
44
96
91
89
34
33
34
35
37
45
98
101
50
101
97
93
33
31
82
82
31
32
83
36
35
86
83
23
15
58
46
43
39
38
38
0
37
0
0
38
0
0
0
0
0
4
8
13
15
70
72
74
23
19
17
16
15
12
62
55
49
49
2
5
60
8
54
51
0
49
45
41
36
0
0
27
27
31
39
0
0
59
23
79
66
17
53
141
76
34
85
94
96
86
40
91
87
85
30
81
29
27
29
82
82
31
34
88
78
78
29
32
32
85
86
92
41
42
49
103
50
48
105
103
102
102
102
98
43
37
89
39
54
117
123
127
132
134
81
74
107
103
50
52
102
102
48
99
97
46
41
99
107
59
115
117
120
63
113
111
62
110
108
56
63
114
112
110
56
53
51
53
54
54
108
110
117
68
63
67
73
82
87
129
68
65
108
99
87
78
73
76
87
102
127
81
54
26
24
78
25
36
63
75
52
17
12
6
0
0
0
46
45
0
3
66
81
44
104
106
46
80
60
0
0
0
52
57
59
10
11
10
10
10
9
10
64
65
168
217
214
210
198
146
201
194
146
195
193
140
125
168
170
120
123
178
132
136
140
177
181
179
162
145
131
114
104
110
108
43
35
87
82
81
27
25
22
20
67
65
65
64
63
10
62
60
8
59
8
9
10
62
11
16
81
31
34
37
38
39
37
82
29
27
23
21
23
84
38
92
93
93
91
88
86
72
16
14
70
23
24
24
75
24
26
79
77
72
65
57
52
46
42
0
0
0
35
38
0
0
31
30
0
0
0
56
61
64
68
72
75
68
18
19
19
18
66
63
60
60
12
12
60
59
11
14
62
59
3
47
40
35
32
0
0
0
0
32
0
0
0
42
47
56
17
30
114
124
53
40
40
91
86
89
89
33
84
84
33
88
30
27
21
75
80
33
38
107
107
53
50
99
44
41
90
89
37
86
83
27
26
78
76
73
71
19
70
18
30
85
32
84
94
107
118
119
123
125
71
71
64
107
117
116
63
114
117
69
73
122
124
73
70
119
120
122
71
70
70
70
70
67
65
118
115
110
53
49
45
95
88
88
88
87
85
83
82
38
39
41
98
51
100
97
50
50
49
45
38
35
36
24
85
96
44
38
43
52
86
37
57
89
103
85
28
28
78
70
3
0
34
44
0
44
46
56
20
89
101
54
98
84
67
51
0
0
5
9
11
64
66
17
16
6
6
6
58
180
224
218
216
151
141
187
118
116
162
160
152
105
120
125
176
174
171
168
117
171
174
125
173
151
76
125
120
65
64
58
99
43
94
87
83
82
27
25
21
68
15
12
64
64
10
61
59
6
59
60
9
8
8
9
13
25
27
82
84
33
85
81
24
73
17
14
64
67
27
34
35
89
91
39
34
81
74
66
60
6
57
6
11
72
72
19
70
70
69
69
61
57
52
0
0
0
0
29
28
26
26
26
27
30
0
0
47
51
54
6
63
66
16
19
22
24
23
21
71
67
70
24
28
80
81
84
86
76
21
17
61
50
0
32
0
0
27
0
0
0
0
0
37
42
47
50
2
91
123
65
41
33
30
77
82
31
29
29
81
29
83
33
37
44
100
104
107
109
107
108
53
104
101
46
43
82
81
81
76
17
9
4
0
0
54
54
5
12
18
79
84
91
105
62
74
134
149
150
96
144
143
86
133
135
79
128
125
68
63
110
106
54
55
54
49
48
100
95
42
44
48
54
54
54
104
50
46
43
43
99
101
102
103
104
52
48
36
83
31
81
81
83
90
101
52
47
100
100
97
41
35
31
36
20
67
31
56
127
53
30
92
113
89
100
88
50
37
36
86
81
74
11
0
0
43
42
0
0
63
82
102
106
54
39
68
53
49
7
11
66
66
15
16
67
9
8
59
58
234
228
224
169
154
146
195
129
119
158
152
95
104
124
122
122
172
170
167
168
170
116
120
168
94
70
121
68
68
116
108
99
45
95
90
32
83
82
26
24
19
18
13
13
12
63
62
6
5
7
60
60
8
7
7
12
22
75
78
27
28
80
77
74
70
13
61
61
65
76
30
32
34
89
36
84
79
15
10
3
53
51
0
54
67
16
16
17
18
18
69
62
7
2
50
45
0
31
28
0
26
27
30
34
36
0
0
51
53
5
7
12
67
67
73
76
77
25
25
24
23
28
33
89
91
92
94
93
28
75
71
9
0
0
0
0
0
0
0
0
29
26
0
31
38
44
47
0
72
114
74
47
86
84
28
79
80
27
27
79
78
80
35
39
105
57
112
60
61
47
47
46
95
40
89
88
28
29
79
71
11
54
0
0
0
58
19
27
37
98
123
75
133
139
89
146
147
151
148
91
86
129
124
119
75
70
115
112
58
52
99
41
41
41
92
34
84
83
84
85
34
38
48
50
102
102
47
43
41
41
49
103
105
106
109
58
55
93
37
32
84
86
36
94
104
107
51
102
101
96
89
30
72
69
18
34
113
79
131
28
20
26
42
115
72
70
109
95
88
27
21
73
71
64
53
54
0
0
0
3
23
48
107
109
100
31
66
54
9
64
66
14
14
68
67
9
8
6
4
239
188
238
231
157
159
219
144
133
163
92
86
141
149
170
120
121
172
166
165
165
116
110
155
140
73
124
67
61
110
106
103
100
96
94
38
36
33
31
28
23
73
16
16
69
68
66
61
59
8
9
9
8
6
7
10
18
70
20
22
21
72
68
67
64
59
57
60
64
16
71
25
32
86
82
79
26
59
0
45
46
0
46
45
51
3
61
65
15
14
10
6
56
0
48
45
41
36
0
0
30
33
39
45
0
2
5
7
59
7
60
10
12
65
69
19
20
22
27
30
41
45
47
101
50
50
98
49
90
82
70
4
0
0
0
0
0
27
26
0
29
0
0
32
0
50
61
17
23
53
143
69
41
79
26
84
82
28
28
80
81
82
35
39
100
51
104
52
51
97
96
93
38
35
32
30
78
26
26
40
106
120
128
85
142
148
99
96
96
148
131
79
77
70
65
113
111
107
106
109
118
78
81
85
80
123
111
102
96
93
92
21
20
72
74
81
82
84
85
85
34
90
47
49
51
105
102
47
42
42
46
99
102
101
100
46
41
83
79
30
36
46
56
63
123
125
122
67
61
56
49
41
80
77
30
95
96
28
15
12
70
68
16
72
26
35
103
103
104
102
95
33
76
63
18
13
58
52
49
0
7
36
94
100
49
48
93
75
58
61
63
63
65
67
64
8
7
57
4
209
204
199
244
166
155
204
196
154
140
108
89
142
142
145
99
107
113
115
114
114
160
139
67
55
52
112
105
105
107
110
110
52
47
49
39
38
36
32
30
78
24
21
21
74
74
71
12
9
61
62
10
9
8
8
64
68
16
18
19
18
16
11
6
2
1
2
6
8
59
63
75
32
31
75
73
28
74
56
40
37
41
41
40
44
45
46
48
50
0
1
0
0
0
0
41
41
0
0
49
52
53
1
4
11
70
70
18
16
67
14
13
15
12
14
13
65
69
24
32
45
49
102
52
54
52
99
92
87
74
4
39
28
26
0
26
0
0
0
29
31
0
50
51
1
61
71
30
33
39
146
140
54
85
87
87
32
79
28
30
34
89
92
93
94
43
97
98
98
121
126
93
104
114
121
123
180
180
126
114
155
146
89
78
125
120
63
62
113
111
54
102
45
37
35
85
84
89
36
96
111
128
83
87
88
138
135
130
120
120
121
54
47
92
34
85
83
83
41
40
90
91
96
45
45
45
44
42
92
92
40
92
95
41
41
92
94
51
52
59
65
70
74
76
132
135
78
75
72
71
73
73
69
102
79
62
60
7
9
57
63
64
64
12
14
65
3
4
78
101
56
48
87
80
72
64
58
9
17
18
64
72
87
46
48
101
101
93
53
56
58
7
8
11
63
65
12
11
10
217
214
255
255
180
161
200
197
201
154
181
143
101
86
75
133
142
95
91
141
140
126
123
66
61
59
58
111
111
58
57
56
55
48
44
40
35
86
86
80
79
72
22
75
77
25
23
17
14
64
64
63
9
61
61
62
18
18
19
71
19
16
8
6
0
0
7
16
60
51
62
20
26
24
75
79
83
92
2
40
43
35
35
0
35
0
0
0
42
0
46
48
0
0
0
0
0
0
49
53
58
60
61
11
16
73
75
21
20
69
14
13
64
2
0
53
60
15
25
32
95
101
101
49
49
97
92
91
75
11
0
38
29
26
31
27
28
32
0
0
35
0
55
58
10
69
27
35
33
47
69
141
73
41
84
77
30
27
25
30
87
88
33
40
111
119
130
145
157
176
178
133
186
183
177
171
109
155
150
139
73
66
65
60
111
110
103
46
92
89
37
37
88
27
26
28
32
92
92
94
103
78
90
95
149
147
144
138
136
84
134
125
117
55
49
45
91
86
40
38
88
90
45
46
45
41
42
94
92
36
90
92
90
38
36
85
38
54
105
117
114
60
60
63
121
122
64
65
65
64
118
68
51
80
71
9
57
57
61
58
60
62
64
64
63
60
57
53
7
16
21
22
73
21
73
70
70
19
17
62
58
60
21
36
96
98
99
94
63
58
57
59
5
2
3
58
11
17
22
224
255
255
255
250
182
170
143
193
199
191
155
104
100
94
133
119
63
72
121
117
65
117
115
114
113
59
59
63
61
59
109
107
49
97
92
35
85
85
27
27
21
75
76
77
77
24
21
19
72
71
69
68
67
15
15
71
70
71
72
71
69
63
11
6
0
54
60
55
2
2
9
17
77
84
88
34
40
6
42
44
41
0
0
0
0
0
0
39
37
37
36
0
0
0
0
0
46
5
61
66
18
20
24
81
85
29
29
77
69
9
52
46
0
0
2
9
14
70
74
93
44
45
97
96
41
36
79
61
0
0
0
0
28
26
0
0
40
0
46
0
2
70
76
27
29
30
31
86
89
110
137
133
54
42
97
55
73
79
145
160
117
132
133
184
179
122
168
112
106
101
84
77
124
119
63
54
99
93
85
81
30
33
33
86
89
90
88
85
83
29
25
72
69
71
22
23
30
87
92
99
124
89
153
159
162
164
162
111
109
156
156
97
89
84
72
114
54
41
39
88
87
91
93
41
40
92
91
37
35
85
86
28
80
27
25
28
35
85
87
90
39
40
41
96
98
57
113
61
53
95
88
78
77
77
22
16
9
58
61
65
14
68
67
67
65
61
0
0
0
0
44
44
0
48
52
58
16
20
18
68
8
10
9
8
11
14
65
0
49
50
55
59
58
3
64
69
74
26
255
255
255
255
255
198
241
168
152
193
132
96
95
152
158
97
83
72
64
116
117
65
66
120
121
122
68
66
64
61
58
107
104
98
95
93
34
84
83
26
25
21
25
77
26
26
26
24
24
74
73
71
69
69
16
16
20
19
70
70
71
19
65
57
60
60
61
65
13
79
79
21
16
21
30
92
97
39
20
62
64
68
15
61
53
0
0
45
40
35
31
0
0
30
33
38
44
50
3
8
67
70
21
26
31
87
85
82
76
18
64
58
55
0
0
46
53
58
64
70
30
32
31
82
82
27
75
67
1
0
0
40
0
0
50
53
5
9
13
68
68
16
21
25
30
89
45
50
126
134
94
144
86
87
95
122
127
131
174
161
152
96
82
79
78
77
72
63
56
50
47
90
36
32
27
23
31
33
36
96
98
48
48
45
43
94
85
78
72
67
62
4
0
56
61
63
63
17
23
83
40
121
90
157
115
117
167
163
163
163
109
112
107
152
94
73
113
52
46
46
46
45
46
48
101
91
89
35
32
83
26
24
28
27
27
29
83
82
82
78
78
77
27
87
110
67
67
54
38
31
30
83
78
29
78
75
22
22
71
57
11
10
62
10
63
64
59
57
56
2
0
51
49
48
0
48
48
52
3
55
58
19
18
66
9
63
67
71
74
70
62
55
50
48
43
38
41
0
0
227
223
219
255
255
252
191
171
208
189
123
99
97
155
154
150
90
131
63
63
67
67
68
70
123
125
71
70
66
62
58
106
103
96
94
93
33
31
30
24
77
73
24
76
77
25
25
25
25
74
73
71
18
16
67
67
19
70
69
69
70
18
66
60
17
21
72
74
23
37
91
82
24
26
34
39
97
31
23
71
74
28
26
71
64
10
5
52
47
39
31
0
0
29
32
38
0
0
55
61
67
71
20
24
82
88
83
79
22
17
66
62
61
0
0
51
55
59
13
70
77
27
25
77
76
22
18
13
3
0
47
50
53
5
63
10
14
21
26
81
81
28
42
53
68
82
149
106
118
128
133
111
91
139
143
96
93
92
90
85
134
135
134
76
63
58
54
48
43
35
35
90
39
39
38
88
34
40
97
101
103
48
95
97
96
94
30
21
65
60
54
0
0
2
6
60
63
15
19
81
41
74
93
107
120
173
171
165
165
165
163
113
160
103
95
125
113
54
51
53
55
57
58
112
113
103
100
95
90
88
24
21
20
17
18
23
78
79
28
22
74
78
88
101
123
76
108
91
73
16
21
78
26
29
76
73
75
26
23
59
9
7
57
7
61
63
58
5
4
2
54
53
52
0
1
0
47
0
0
49
52
7
9
61
8
63
72
82
97
95
87
23
64
58
52
0
0
0
0
255
225
220
217
255
252
245
227
166
142
119
106
150
148
105
100
144
136
126
74
75
70
70
70
123
124
72
73
72
69
62
57
106
49
97
93
86
83
28
23
26
21
75
75
75
23
24
26
27
76
76
22
71
18
17
68
69
68
15
15
68
68
14
62
78
33
28
74
67
73
75
22
27
85
84
23
14
25
33
39
46
52
99
39
29
25
19
63
5
0
36
0
31
30
33
38
0
1
63
67
71
76
77
81
86
91
90
91
91
35
80
74
70
67
14
70
20
18
69
70
24
25
22
21
74
72
16
66
10
8
61
65
18
22
42
63
75
87
104
175
189
123
137
139
136
128
119
112
172
158
149
93
94
149
147
62
107
114
68
64
108
105
97
51
59
58
56
51
49
98
44
91
41
93
94
94
45
51
108
109
113
111
106
45
95
37
17
5
0
37
46
0
1
4
7
63
15
16
20
82
98
87
103
113
167
172
174
122
120
116
164
163
158
101
92
72
114
109
109
64
72
78
79
132
81
80
78
75
126
126
119
63
116
108
50
49
96
32
33
26
32
46
115
125
52
35
81
20
12
12
65
66
25
18
74
78
79
76
22
73
61
5
55
5
62
64
58
13
8
55
51
0
52
47
0
0
48
0
1
52
52
2
58
5
0
52
67
88
96
105
107
43
78
66
56
0
1
3
4
224
223
255
255
211
207
255
242
172
162
155
176
173
168
158
95
85
135
126
76
133
129
72
70
122
67
63
66
69
68
64
57
53
48
44
93
90
87
31
28
76
76
25
24
75
76
77
77
75
74
73
17
14
12
11
62
56
6
7
10
65
14
16
16
22
24
21
70
71
15
14
7
3
4
9
13
18
85
91
98
103
110
112
58
42
36
79
71
66
57
47
0
0
0
0
61
81
54
6
19
33
41
97
91
40
49
99
101
104
49
43
36
35
88
32
28
25
26
79
27
37
93
92
32
25
21
20
89
118
138
159
123
133
140
133
133
183
178
172
165
160
159
96
141
136
80
76
72
130
124
70
67
117
74
87
89
120
111
66
62
54
102
45
44
92
37
35
34
34
87
88
90
38
42
98
101
50
51
104
107
104
100
96
93
86
77
61
54
0
0
1
2
4
7
10
13
14
27
29
84
93
68
80
140
143
145
95
99
103
103
102
167
163
104
96
75
67
115
117
120
124
73
70
124
74
79
79
79
131
131
130
78
128
132
133
131
129
74
69
66
69
129
136
133
59
57
50
42
36
84
80
21
23
73
75
26
80
83
32
83
81
24
70
14
14
12
5
0
0
51
50
0
49
47
1
0
1
2
55
56
57
56
3
4
58
57
7
18
96
98
101
47
37
23
9
0
0
0
0
225
223
221
255
215
211
207
192
230
172
168
187
178
119
115
102
141
85
133
134
138
131
73
69
69
68
65
119
121
120
115
56
52
47
42
92
90
87
84
80
76
77
26
25
76
24
25
24
74
21
19
67
64
61
7
6
53
55
56
6
60
63
13
16
19
73
70
68
17
14
11
5
2
55
58
10
16
32
39
99
106
112
117
63
49
94
86
78
72
65
57
52
57
8
10
15
85
114
38
42
35
59
36
88
110
106
47
103
54
51
45
40
92
95
40
38
87
87
34
34
32
27
78
32
49
71
138
161
182
139
143
141
134
130
173
167
163
105
153
151
149
135
74
71
68
64
62
60
119
63
65
64
64
71
132
93
78
53
55
58
53
98
99
44
35
32
29
29
29
82
33
41
44
46
52
106
51
50
103
103
48
96
92
86
79
19
65
60
6
6
4
57
60
64
14
16
17
26
77
77
29
50
112
69
121
123
127
131
87
88
88
101
150
95
91
129
65
57
109
111
114
114
111
113
64
122
71
72
126
76
78
132
79
82
83
135
135
80
74
71
74
133
139
140
83
83
80
76
74
124
120
59
54
107
110
61
64
118
117
64
65
61
107
104
50
47
40
34
32
79
72
14
8
1
3
54
54
53
51
50
0
56
55
3
6
59
60
14
88
95
46
44
93
35
17
37
0
0
0
221
220
218
255
216
212
210
202
247
240
184
147
177
116
119
166
157
94
134
140
95
138
136
81
79
79
135
134
130
124
112
102
98
45
41
39
91
37
88
85
80
26
27
25
24
75
76
72
19
17
66
62
58
55
51
0
46
47
50
2
6
10
18
71
77
81
29
27
25
63
9
4
52
52
54
4
9
79
36
44
50
56
114
115
60
54
96
35
78
71
66
13
18
78
85
91
39
38
149
172
69
21
109
123
101
53
44
99
49
47
42
41
95
97
40
89
88
90
41
43
89
110
181
192
142
140
137
132
120
164
105
152
150
96
137
134
80
76
124
119
117
119
66
67
68
68
67
65
62
113
114
114
60
115
118
82
85
53
99
106
107
98
44
38
76
22
21
23
25
35
91
103
53
54
54
55
55
52
101
43
39
87
84
81
76
22
73
69
68
15
18
19
72
74
75
75
77
19
16
13
11
63
63
65
68
73
78
85
49
52
52
115
114
63
69
75
121
63
47
38
30
80
84
26
19
74
24
28
33
38
47
102
109
57
57
113
122
129
72
65
71
79
135
138
85
84
83
85
86
87
140
142
89
85
87
90
93
94
145
143
89
141
140
139
86
84
77
129
128
75
125
69
67
65
58
107
104
99
95
90
35
25
76
22
21
74
73
17
13
81
93
39
37
89
77
44
0
0
0
220
219
218
219
220
217
215
255
255
198
193
163
135
129
124
166
153
142
137
134
130
90
97
98
142
133
130
130
137
80
72
65
113
99
90
93
41
40
39
36
30
29
26
76
22
73
72
68
13
63
61
5
2
50
48
45
51
53
56
12
20
31
43
99
100
48
45
43
94
79
20
68
64
9
58
59
64
83
38
44
46
100
103
105
49
44
36
26
19
67
67
78
29
33
92
98
52
55
75
86
90
158
114
99
93
50
98
90
91
94
42
41
40
32
97
117
141
165
186
145
127
178
171
107
142
125
61
49
105
109
114
119
123
126
84
85
85
82
131
128
74
80
126
70
67
61
56
52
46
98
94
94
43
95
42
53
74
123
103
42
93
92
34
28
68
68
21
80
85
96
100
108
109
108
108
109
53
47
42
30
26
74
72
74
25
28
76
71
74
26
30
30
31
81
80
81
82
19
67
9
5
3
2
5
57
61
63
15
21
21
19
79
84
94
52
65
66
118
114
53
41
82
17
10
6
58
6
59
62
64
15
67
68
17
23
86
99
94
29
26
34
41
95
99
107
53
62
120
70
69
123
126
70
78
76
128
76
77
78
132
82
83
138
87
138
82
77
134
81
79
128
73
70
67
70
69
120
67
66
65
65
114
118
119
63
61
61
59
48
100
102
53
52
97
87
55
0
0
0
221
220
255
221
255
255
255
215
212
201
196
170
196
190
132
117
100
144
94
85
126
134
145
97
141
132
78
78
123
122
68
66
66
50
90
92
40
40
91
36
30
29
78
76
22
71
71
15
12
10
8
4
52
49
0
0
54
5
62
69
28
91
106
59
58
105
99
98
46
36
78
74
70
15
11
61
67
27
35
40
93
93
43
44
94
37
30
22
15
14
16
19
79
91
47
104
58
64
64
66
101
143
158
127
111
59
55
95
90
91
38
34
30
106
86
116
136
140
189
132
109
136
59
42
87
34
87
94
96
100
107
64
72
130
125
130
82
85
140
89
90
125
121
117
62
57
50
46
95
93
37
38
93
41
92
98
70
77
105
35
33
88
30
25
14
68
75
83
89
45
48
109
110
58
110
111
103
46
39
25
21
18
66
17
23
29
23
70
74
28
31
32
33
31
82
82
83
75
70
11
6
7
11
66
61
65
67
72
79
79
27
17
26
91
50
60
61
114
115
110
101
85
62
58
58
5
6
8
62
12
16
18
12
15
74
84
93
72
1
2
9
12
63
66
74
21
78
85
38
40
94
99
41
99
97
44
43
43
97
49
52
56
114
65
117
64
114
58
59
60
114
116
66
68
70
69
120
66
64
62
112
113
68
70
66
64
66
65
61
52
102
58
115
109
98
84
76
19
20
215
216
217
218
255
255
220
255
255
255
255
183
210
192
190
184
125
172
146
85
136
92
143
141
136
77
68
67
70
120
66
64
60
47
48
95
83
39
86
81
75
25
28
22
17
15
67
8
6
56
53
0
0
0
0
0
62
68
27
38
100
58
72
75
128
126
122
119
115
49
86
81
23
18
14
14
66
19
74
79
84
36
37
37
81
76
20
15
9
57
60
24
31
41
49
105
109
62
63
122
124
106
40
65
121
161
43
51
113
84
31
77
162
179
128
116
103
141
70
106
27
17
13
63
63
12
15
77
88
43
49
56
113
119
122
131
80
83
86
82
77
122
111
52
45
89
30
77
72
20
25
30
88
95
98
101
53
85
132
52
32
80
81
29
34
90
95
99
100
51
51
56
58
57
105
102
96
89
31
17
15
15
68
14
69
21
23
76
77
25
28
85
88
89
92
93
91
89
32
25
21
21
71
18
74
75
75
76
84
33
33
75
21
22
79
46
54
111
57
106
105
51
77
63
5
0
0
2
55
1
0
1
5
56
58
60
6
52
54
1
3
56
56
53
52
1
58
57
4
56
56
55
0
45
42
0
0
0
39
0
11
65
69
19
73
73
18
11
59
56
55
58
60
8
14
68
18
22
77
80
82
40
42
45
48
102
103
51
51
49
47
47
101
104
104
106
106
52
47
205
207
210
214
255
255
217
212
255
255
254
224
146
126
168
116
169
174
168
148
79
90
91
91
88
133
125
72
66
114
114
65
64
108
106
50
93
51
97
39
83
80
31
76
70
68
67
6
4
54
48
44
0
0
0
1
14
72
31
43
55
66
81
139
141
87
83
130
124
55
41
33
24
67
63
62
62
59
61
13
17
71
73
21
21
69
65
60
1
0
52
62
71
32
44
51
108
113
64
54
99
107
59
36
21
31
181
159
105
73
131
193
132
88
118
55
50
95
89
87
28
26
26
77
76
77
81
23
30
86
39
97
104
110
114
66
117
117
65
59
105
55
94
85
25
17
61
57
61
63
74
80
34
41
95
103
53
67
132
131
106
79
97
49
106
52
51
104
106
107
107
56
53
49
43
39
32
82
79
72
69
68
68
61
64
67
19
72
74
24
32
36
91
92
98
102
102
97
94
88
32
81
79
27
83
83
84
85
36
35
35
77
26
24
72
73
30
92
99
105
52
47
102
96
33
10
4
0
47
0
0
50
47
44
0
0
45
0
0
0
0
51
53
53
52
52
53
0
0
0
52
51
0
0
37
0
34
32
31
37
0
49
55
9
13
65
11
18
65
56
49
0
0
0
44
42
40
0
38
39
0
0
0
47
50
54
5
8
11
12
14
15
14
19
82
109
60
61
110
250
200
205
209
214
255
255
211
211
255
196
216
139
120
163
111
165
169
122
156
136
82
88
93
90
136
135
89
76
67
114
117
121
113
56
52
99
111
105
48
38
32
84
77
71
69
67
57
55
0
0
0
41
39
39
50
12
19
82
93
53
64
79
139
140
140
83
78
125
54
39
32
73
65
9
7
60
59
61
11
14
68
69
68
17
12
7
52
0
0
41
52
63
78
90
99
105
58
56
57
114
59
49
50
46
83
168
199
97
54
88
107
103
62
98
43
45
46
97
97
29
24
79
80
27
76
76
23
28
83
89
94
101
105
60
61
111
110
55
49
95
96
29
74
66
8
2
51
54
58
72
30
36
41
44
104
103
55
72
82
117
39
104
107
56
53
53
54
108
110
108
104
101
96
40
34
34
32
80
71
69
66
64
9
63
65
15
18
21
24
28
35
38
94
101
105
54
46
95
91
87
83
82
31
34
86
87
88
35
85
83
29
28
76
22
74
74
74
33
96
102
47
104
105
100
84
20
58
47
0
0
49
42
0
0
38
37
0
0
0
0
49
51
52
53
53
54
1
1
2
1
53
0
0
38
0
0
36
35
35
0
0
48
4
8
63
12
18
14
7
52
0
0
0
0
44
40
0
0
37
0
0
0
0
0
43
0
0
47
48
0
0
0
0
65
96
50
53
103
179
183
189
196
203
255
255
204
204
246
226
201
189
178
166
119
117
164
120
155
132
71
71
124
129
136
149
99
98
92
137
81
129
125
74
121
114
119
104
96
96
90
85
26
19
16
14
55
53
0
0
42
41
0
35
43
1
8
19
30
93
51
66
121
124
124
68
65
59
91
78
72
65
60
57
3
3
1
1
53
54
1
0
51
44
0
0
0
0
0
41
54
62
74
84
39
97
52
61
103
94
47
51
94
90
101
169
182
195
153
111
53
38
108
57
52
102
49
98
91
34
31
81
78
22
72
73
71
28
34
38
43
47
103
53
106
102
98
95
87
80
60
0
0
0
0
40
40
0
1
22
32
92
98
100
101
102
52
64
77
128
120
100
101
106
108
56
52
49
47
43
89
89
89
87
86
86
30
25
14
10
60
58
2
3
55
55
6
9
13
23
30
91
49
56
60
113
100
98
97
93
38
40
42
44
45
96
95
36
31
25
31
29
77
23
71
66
8
10
16
80
43
50
103
104
106
101
91
78
9
0
0
0
0
29
29
28
0
37
46
46
46
50
53
4
3
55
54
2
2
54
52
47
0
0
36
39
40
0
0
0
33
37
0
47
53
7
68
70
70
66
7
52
45
0
0
0
0
0
37
39
41
0
0
0
0
48
0
48
46
45
0
0
39
0
27
88
95
44
157
168
178
180
187
192
247
244
174
158
197
183
128
172
172
116
114
115
104
138
123
63
65
70
129
131
139
145
151
154
121
128
154
130
94
129
108
112
110
90
59
87
34
25
70
15
69
17
0
54
50
45
40
39
0
0
37
0
1
9
72
30
50
105
105
53
103
98
91
28
73
68
8
53
49
45
40
0
0
38
0
0
0
0
0
0
0
49
2
9
19
85
88
91
43
45
48
49
46
42
45
43
86
97
135
119
97
92
67
31
65
118
172
91
42
68
108
91
44
83
74
69
16
20
78
85
88
75
88
40
92
39
40
41
90
92
37
83
71
58
0
0
30
27
0
27
0
0
0
1
72
27
81
82
82
83
42
58
58
113
71
134
114
96
104
109
45
38
43
34
33
86
38
39
88
84
30
25
20
62
3
0
44
50
49
0
39
0
50
58
18
30
95
57
63
117
117
112
111
108
105
49
49
50
106
103
47
46
94
87
28
34
29
23
18
14
13
13
14
13
61
10
27
41
104
47
103
104
48
49
25
55
0
0
0
37
39
38
43
46
48
51
53
2
0
51
0
0
48
47
48
48
47
0
0
0
39
36
0
0
0
40
0
0
0
0
5
58
62
66
68
15
10
43
0
0
40
0
0
43
0
0
0
48
0
0
49
0
0
46
43
0
0
46
50
72
81
90
94
204
208
211
159
165
166
165
213
200
189
180
176
177
172
175
173
169
115
152
85
73
75
66
57
57
114
136
145
149
149
162
120
109
145
98
77
111
63
110
89
115
101
93
35
32
26
70
73
18
9
56
49
0
0
0
35
38
43
0
5
66
77
94
46
47
47
97
93
35
25
18
64
5
0
0
43
40
37
37
0
0
40
41
42
0
42
0
2
8
69
79
95
46
48
52
105
105
53
46
46
43
89
97
73
106
118
134
97
32
28
84
68
118
52
84
49
52
49
31
30
74
73
22
27
85
91
41
34
38
38
89
35
35
36
83
76
19
13
4
0
0
33
29
0
0
27
0
32
40
48
12
15
71
26
32
92
100
59
57
111
68
128
128
53
42
99
92
31
83
84
84
87
89
88
86
83
27
24
71
62
56
50
45
40
0
0
40
0
3
64
72
85
97
59
65
119
65
117
113
110
54
50
50
103
105
50
46
97
94
88
30
32
28
22
18
15
14
65
65
12
8
60
70
80
36
45
51
104
101
100
94
32
68
57
44
0
36
42
0
0
52
55
5
6
3
1
1
0
0
0
49
0
48
51
0
0
0
0
0
1
0
0
0
0
0
47
2
7
64
15
67
65
11
1
0
43
41
0
0
0
0
47
0
0
0
0
48
47
49
0
43
41
0
0
50
66
22
32
38
212
207
196
132
118
166
108
108
159
161
107
98
153
151
103
102
151
144
131
74
72
129
126
127
81
138
138
139
98
163
177
125
162
155
99
80
122
78
130
114
127
116
95
79
78
39
39
25
23
77
71
10
3
0
46
42
44
0
50
54
7
63
70
25
78
78
26
76
20
14
9
57
51
0
0
44
41
42
41
41
43
44
44
44
42
43
0
10
23
35
100
64
65
119
119
115
110
105
96
90
34
49
85
123
114
77
80
31
40
80
86
41
21
136
188
76
39
35
98
82
84
86
90
38
40
39
40
90
84
84
32
31
27
23
16
52
44
0
0
0
0
29
28
0
26
26
26
28
28
0
0
48
63
79
92
98
102
52
49
48
52
108
133
67
27
75
81
29
76
80
84
35
84
81
27
26
21
69
65
54
0
43
39
0
0
0
0
0
3
12
27
89
103
117
121
122
68
73
121
114
107
50
103
104
51
48
47
96
90
32
27
24
23
73
72
70
66
63
65
64
9
57
52
2
56
15
27
41
101
106
54
49
102
94
84
72
9
0
0
2
56
60
63
11
7
6
1
51
49
0
0
1
52
49
48
51
6
12
18
27
31
25
68
59
54
50
0
1
62
18
18
67
68
19
60
54
46
44
0
0
47
48
0
0
49
0
0
0
47
45
0
41
43
0
0
0
3
12
74
156
211
206
189
151
142
136
83
83
88
89
77
76
71
74
128
77
79
130
130
79
69
124
124
122
113
63
72
90
91
99
110
168
166
99
145
125
66
67
72
165
119
203
154
106
85
83
38
33
32
29
27
25
74
73
16
11
10
11
64
15
16
66
15
15
15
15
66
63
60
6
3
50
46
0
45
0
0
0
0
39
38
36
35
33
0
0
6
24
92
107
76
131
134
132
127
118
109
103
94
62
104
120
99
114
36
22
18
69
83
76
12
23
34
2
105
148
125
117
26
46
98
42
36
30
28
29
90
88
33
28
20
10
54
52
47
43
0
31
26
26
0
27
26
26
26
27
28
28
28
0
62
80
89
92
96
45
102
103
101
98
97
104
115
105
32
72
74
27
79
28
29
27
26
24
24
69
15
8
0
0
37
0
0
29
30
36
0
5
15
77
89
50
63
66
65
63
73
68
60
104
94
93
93
40
40
91
90
30
26
24
21
72
70
18
14
62
7
9
62
61
59
54
2
2
53
54
7
18
34
57
113
112
60
108
99
42
34
82
69
16
15
66
64
10
9
4
55
52
53
2
2
1
3
0
3
16
28
32
45
45
88
76
66
9
5
1
48
58
15
20
73
73
18
71
15
60
51
0
0
45
49
0
51
50
49
49
0
0
0
0
0
0
0
1
53
0
0
7
161
216
213
200
164
148
136
81
76
77
127
121
124
70
73
74
75
129
130
127
73
60
116
122
124
70
71
76
84
84
93
102
154
159
158
156
138
126
70
121
152
110
185
113
89
65
42
37
85
87
35
87
88
88
86
27
17
68
17
71
21
22
69
15
15
15
14
65
62
60
5
0
47
44
43
0
0
0
0
0
0
0
31
30
29
30
38
3
23
92
55
76
132
82
81
128
118
107
100
105
84
115
110
78
101
84
21
8
8
74
62
57
28
11
78
63
95
205
67
113
47
47
41
35
83
84
34
90
88
30
76
67
59
56
53
48
46
0
35
27
26
29
28
0
0
28
29
0
0
32
55
18
27
33
34
91
93
99
100
96
91
86
82
102
120
46
26
73
78
28
26
76
77
77
76
23
70
67
12
4
52
46
41
0
32
32
35
0
3
12
22
35
48
60
62
60
57
68
64
109
101
36
86
83
81
30
84
84
29
27
26
73
71
69
15
65
61
7
7
60
59
6
53
53
2
0
0
3
9
70
94
104
53
56
108
104
49
48
44
87
84
78
21
16
11
11
58
56
54
0
1
2
0
4
0
2
16
29
33
43
96
88
75
66
10
9
5
56
62
68
18
21
76
72
75
74
16
7
0
0
47
50
50
0
51
50
49
47
0
0
0
48
50
0
3
7
0
0
2
216
224
224
157
132
173
160
93
129
66
65
119
118
111
68
68
68
71
88
150
156
144
135
128
73
73
78
136
110
103
90
90
153
158
179
163
146
132
139
150
151
165
167
95
83
134
81
62
46
43
43
97
105
108
105
95
81
87
32
74
76
35
30
74
71
70
70
16
63
62
0
0
0
0
31
30
0
0
0
26
26
26
26
26
26
31
37
50
19
42
58
118
73
80
76
116
59
49
96
85
114
107
80
52
90
90
78
19
14
14
17
73
76
22
78
85
90
41
87
211
55
24
47
94
82
94
46
78
76
81
73
19
22
16
17
7
58
5
1
0
0
0
0
0
0
0
0
0
38
48
68
22
25
30
86
82
34
38
29
20
72
77
20
28
122
122
48
80
74
24
25
71
75
74
72
25
21
70
16
17
16
11
8
0
0
42
0
0
0
56
17
26
37
102
105
50
46
116
111
102
94
81
74
19
18
69
17
19
24
76
76
75
74
72
17
63
61
8
4
4
56
2
50
47
0
45
0
0
6
62
68
17
22
28
38
45
48
47
46
100
100
48
46
40
20
64
60
8
6
58
56
54
0
0
0
49
59
70
23
29
76
23
20
18
16
66
63
16
14
64
67
24
31
25
81
79
25
21
67
58
51
46
47
49
49
49
48
46
48
0
0
54
56
5
7
54
54
52
51
217
220
212
192
174
125
126
147
134
72
121
120
130
133
136
83
80
77
67
62
111
97
107
119
126
75
166
138
132
181
177
180
130
160
168
113
100
128
118
128
90
147
111
51
50
52
52
55
48
103
49
52
112
116
113
110
101
40
91
98
95
29
37
74
65
57
56
2
0
0
39
0
0
0
28
28
0
0
0
27
26
0
29
32
37
0
48
58
22
42
56
118
69
70
66
61
54
43
73
102
107
133
109
99
97
43
88
85
32
33
34
88
89
89
85
89
100
92
28
33
152
84
48
71
97
111
92
70
85
36
45
47
41
92
87
74
69
66
8
0
0
36
28
0
0
32
0
52
57
60
20
74
76
29
31
89
29
13
9
61
14
72
81
29
52
124
127
105
27
30
27
74
20
18
71
23
23
76
24
29
30
29
28
15
14
13
7
5
54
54
61
69
75
86
92
93
91
101
96
90
82
70
64
9
8
61
61
12
72
73
73
24
23
21
69
64
11
62
5
5
4
2
46
0
0
42
43
46
0
2
5
57
59
59
7
60
64
81
36
97
98
101
49
47
39
88
24
19
11
5
52
50
48
43
40
39
0
2
58
66
71
72
71
70
17
16
67
20
23
77
78
83
38
40
41
92
90
33
26
69
61
0
53
53
0
0
0
44
46
0
0
0
53
4
7
55
54
52
50
213
210
198
183
175
178
178
106
87
125
123
126
82
85
133
132
131
128
67
63
112
70
70
119
107
42
115
85
83
113
174
157
107
133
118
100
92
70
55
119
93
146
96
37
81
74
73
105
61
54
34
33
108
65
107
117
101
50
104
102
90
83
60
80
69
6
3
2
0
0
0
35
0
0
30
30
0
0
0
0
31
0
36
39
0
1
58
14
27
96
108
68
121
118
64
60
104
94
140
109
101
120
101
100
99
44
40
92
93
43
43
44
97
94
95
91
96
95
40
45
120
198
135
91
68
54
114
93
36
47
63
105
40
99
99
83
23
69
62
53
0
0
26
28
0
42
54
8
8
61
16
70
72
24
26
81
71
58
60
63
18
75
84
84
40
116
131
118
93
82
25
29
26
74
75
26
25
77
79
83
84
32
32
79
79
76
70
15
64
63
68
74
78
83
36
38
89
93
89
83
77
14
9
5
57
5
7
10
71
73
20
24
23
21
70
65
64
62
9
60
58
55
0
0
0
39
41
0
45
0
0
50
0
51
48
45
49
15
22
33
88
94
98
47
43
42
90
84
75
15
6
0
42
43
0
37
41
48
52
63
65
67
68
68
15
15
18
22
28
32
32
33
39
45
48
99
98
93
35
26
17
3
1
50
0
0
0
45
45
45
0
0
1
3
6
55
54
52
50
143
188
180
176
128
176
171
173
91
122
127
86
137
131
134
131
126
122
121
70
123
100
45
44
42
39
105
116
134
151
156
135
70
96
85
98
102
93
84
85
79
126
126
133
87
128
106
86
24
21
28
20
60
76
107
102
109
105
96
94
113
132
103
84
75
15
11
9
3
0
45
45
0
0
0
0
41
45
44
0
45
47
51
2
67
20
25
29
89
100
110
71
125
118
65
65
104
101
160
160
140
63
108
109
108
56
106
107
107
54
53
105
104
108
105
46
45
47
41
31
24
16
124
190
72
59
68
17
139
78
64
128
132
68
61
96
33
22
62
51
0
0
31
44
6
14
67
14
16
67
17
19
71
19
19
54
51
60
17
21
23
27
30
88
83
90
110
122
124
44
27
96
42
93
43
92
97
47
101
101
99
101
48
106
102
98
90
89
39
40
40
42
41
34
35
33
30
27
77
73
71
11
6
2
2
3
6
11
21
75
75
22
21
20
70
66
12
63
65
63
62
58
51
0
0
39
0
0
37
0
0
40
0
0
0
0
45
49
51
6
12
20
25
30
91
43
98
98
46
95
37
27
7
0
0
38
38
0
39
51
54
57
60
8
58
8
15
25
30
33
32
33
38
43
52
53
54
105
102
42
35
22
10
49
46
0
0
48
41
41
42
45
0
1
6
57
56
55
54
176
178
180
178
168
172
128
155
130
121
77
81
132
131
74
124
121
66
62
60
111
126
53
38
100
122
122
111
82
80
101
78
97
119
159
119
114
97
78
63
46
53
131
138
87
69
46
30
21
12
44
0
1
52
46
111
113
65
86
116
121
91
83
87
82
28
25
21
13
62
58
58
5
57
4
2
53
51
50
49
49
51
54
57
71
77
83
33
39
100
109
67
73
119
117
117
101
105
123
103
128
115
116
117
66
127
135
78
72
117
110
106
52
55
53
46
30
24
79
78
27
38
98
106
90
130
144
44
77
138
92
82
136
125
67
104
91
78
63
0
0
43
58
65
13
13
71
78
69
67
14
13
9
3
52
54
2
12
14
13
15
17
24
84
37
36
95
58
71
129
96
98
98
51
59
106
107
58
62
62
62
116
66
73
71
120
60
56
53
104
95
46
43
34
85
82
79
75
73
19
68
11
59
56
4
5
7
13
24
78
79
20
71
71
16
12
11
62
61
8
59
4
50
46
0
0
0
0
36
35
0
0
34
37
0
0
0
0
1
59
7
59
58
63
41
106
113
114
61
60
54
45
27
29
22
63
2
0
41
49
0
0
3
3
1
53
62
68
70
73
76
83
92
95
100
102
53
109
108
103
99
39
86
76
61
50
46
0
0
39
40
0
47
52
57
6
58
6
5
112
169
116
111
120
120
113
132
126
68
67
126
125
123
66
64
115
62
60
60
113
134
69
58
58
108
98
48
34
108
112
101
104
91
157
115
183
177
137
106
30
67
41
95
110
74
110
53
25
31
68
48
52
63
52
93
104
89
121
127
108
75
102
92
87
84
81
27
22
60
68
67
65
11
9
60
60
7
5
57
57
57
6
8
70
74
79
30
35
44
101
107
60
116
114
112
111
125
165
94
132
128
129
134
139
137
84
77
74
125
71
62
52
40
34
83
28
26
80
82
30
39
95
94
102
79
163
178
70
70
139
88
66
120
117
51
45
29
66
67
21
75
66
68
20
69
67
64
66
19
13
54
47
0
0
4
57
61
64
16
20
23
23
30
35
34
90
51
62
124
115
91
103
112
112
112
121
70
72
74
125
124
71
76
75
74
70
63
56
50
99
93
37
84
81
75
19
13
15
18
71
66
11
8
5
8
12
18
77
76
22
25
74
71
16
14
65
62
4
3
53
0
0
0
44
37
0
0
37
37
0
0
40
42
45
50
53
5
6
8
56
57
64
18
29
87
36
35
89
90
87
82
79
83
29
26
24
19
64
45
0
47
0
0
0
43
44
0
56
13
19
24
81
91
96
96
46
50
105
103
98
91
91
87
21
5
46
0
0
40
0
0
41
0
50
11
65
15
15
89
98
105
158
102
89
128
73
67
61
58
118
68
120
115
112
109
105
52
53
106
102
89
27
27
82
91
99
102
47
56
126
129
68
148
173
171
152
70
107
98
81
14
52
93
81
55
82
42
22
4
53
50
0
54
62
55
113
171
88
82
66
103
95
41
38
35
83
79
72
66
14
13
64
63
62
9
9
62
62
10
9
9
8
11
65
14
66
70
78
82
40
44
98
100
101
105
72
155
143
138
139
138
88
92
92
93
144
84
76
71
67
64
42
28
71
66
14
73
27
26
84
95
105
57
66
127
163
138
55
22
23
86
133
110
93
37
32
87
37
30
37
76
71
13
8
8
64
60
53
0
0
50
58
9
61
62
66
16
18
19
72
21
23
26
79
84
38
42
111
119
99
50
61
120
72
123
127
131
132
130
75
73
127
74
72
119
114
109
105
46
94
88
21
18
18
71
75
75
75
24
74
21
19
72
72
71
20
23
21
20
75
72
67
64
60
57
4
1
52
51
48
0
0
42
0
0
0
32
0
0
0
39
0
46
52
57
12
13
15
17
24
35
43
102
102
44
34
25
21
69
65
70
28
29
30
33
34
34
81
16
11
55
48
0
44
0
0
1
62
16
22
77
82
87
85
32
32
86
89
38
92
91
34
25
14
57
50
0
0
0
0
39
0
0
13
15
70
20
85
83
80
76
76
127
124
72
66
58
52
48
100
49
99
100
102
52
47
44
93
88
86
33
37
43
55
112
108
107
48
95
95
43
106
136
106
171
106
80
97
90
46
42
76
26
45
21
34
50
27
0
0
0
0
76
35
55
144
147
108
86
92
40
38
36
34
32
30
77
62
11
10
61
60
7
6
57
55
1
0
0
44
0
0
44
43
45
52
63
18
28
33
89
95
102
57
75
94
139
140
143
141
88
143
141
140
83
78
78
130
124
65
61
108
104
95
32
26
75
80
84
90
49
59
72
83
114
108
191
160
114
81
80
64
101
96
89
38
38
31
88
71
70
18
10
0
46
0
0
40
52
59
58
2
56
57
8
10
63
64
65
67
68
20
76
26
25
75
18
102
117
54
51
58
71
126
129
133
135
79
74
71
69
65
111
100
95
89
86
28
27
23
15
16
73
25
33
34
87
86
34
86
33
86
84
30
30
83
82
29
73
70
13
61
56
2
0
0
49
0
47
0
0
42
0
0
32
28
0
0
36
0
0
0
52
58
15
17
16
26
92
52
61
56
49
92
75
57
43
34
30
33
57
11
71
79
85
35
36
92
38
34
27
71
61
0
3
58
62
69
73
23
23
17
14
62
59
60
65
21
33
83
81
78
74
14
56
41
40
40
0
0
0
0
67
71
75
26
90
138
135
80
75
70
67
66
64
111
51
41
38
37
29
30
30
31
32
83
84
84
87
38
38
41
100
101
55
115
60
53
108
50
42
44
74
111
179
169
91
89
111
46
40
39
34
100
48
54
53
33
3
0
0
0
6
16
110
141
137
145
144
78
61
38
74
67
10
0
0
0
0
42
40
0
40
43
0
0
0
37
38
40
0
0
0
0
6
17
21
74
31
94
105
62
65
76
95
82
128
130
77
78
132
128
126
72
71
74
129
128
73
70
69
70
65
56
50
99
88
90
92
45
106
114
117
109
81
59
152
187
131
125
22
116
116
50
43
84
68
82
72
66
2
0
34
33
0
45
60
9
9
62
63
63
8
0
48
48
49
49
51
55
15
18
18
70
69
63
75
117
71
54
45
54
62
116
117
64
113
110
56
53
99
40
29
27
23
73
72
72
21
29
83
83
30
38
40
43
97
96
95
40
39
90
36
87
82
77
22
11
9
5
2
0
0
0
0
48
0
0
0
43
42
0
0
32
28
28
29
0
0
0
0
53
7
16
69
83
44
59
68
72
59
47
78
63
0
0
35
30
26
0
37
42
50
60
19
40
97
101
53
55
103
95
81
27
76
71
69
66
64
5
7
8
6
4
3
58
63
72
21
23
75
70
65
59
42
39
36
0
0
43
47
6
10
17
21
153
145
137
132
72
72
72
63
62
58
104
92
38
89
30
29
79
78
81
85
36
40
43
44
42
43
103
52
60
61
58
59
118
108
54
35
113
97
123
179
101
146
160
132
28
17
93
81
118
71
46
43
35
3
37
41
0
15
90
110
129
150
80
42
83
72
17
73
74
58
0
0
0
35
0
33
34
0
0
36
35
0
0
45
46
46
47
0
11
21
23
21
31
43
56
66
119
127
149
81
124
73
125
127
128
123
71
74
124
70
74
130
131
76
73
124
69
65
117
118
50
39
86
92
105
64
67
57
75
81
58
90
185
89
70
79
103
56
34
26
36
72
20
64
47
34
35
0
0
56
64
61
9
14
19
17
65
50
45
0
0
44
0
0
65
15
16
68
68
70
67
111
127
60
45
50
55
57
109
108
106
51
50
46
41
35
25
24
74
73
75
22
25
87
89
34
82
89
91
95
99
98
95
41
40
38
88
86
78
71
67
8
5
1
50
49
0
0
0
0
0
47
44
43
43
0
0
32
29
27
26
27
0
0
0
0
2
10
63
87
49
63
71
73
59
96
79
13
50
0
36
28
26
0
38
39
41
49
63
91
52
56
111
112
56
49
87
95
37
28
21
16
64
3
59
61
60
7
5
58
63
14
18
73
72
69
11
59
0
0
34
34
40
45
48
2
7
13
17
142
142
141
138
129
76
76
77
76
69
110
50
46
94
35
83
83
36
45
100
51
53
53
53
52
105
105
53
61
62
64
64
62
108
104
101
95
97
118
96
120
166
148
157
147
66
95
26
66
77
96
58
58
50
89
0
4
59
14
42
74
124
31
28
24
19
12
9
58
52
0
0
0
0
43
0
40
0
37
38
40
0
0
46
55
59
7
6
11
74
83
43
44
50
55
56
58
125
146
74
118
65
54
102
53
104
110
115
117
67
70
129
133
82
79
131
77
76
127
74
71
71
118
112
57
62
66
118
113
113
112
65
80
98
135
121
77
20
110
37
32
71
0
45
41
0
58
11
19
77
86
91
92
34
29
27
68
52
45
37
32
30
0
0
7
9
64
69
72
21
20
31
102
117
113
49
87
38
41
92
88
88
37
35
35
87
83
80
26
74
20
24
82
95
47
48
100
97
45
45
97
44
41
92
91
86
82
29
67
7
57
53
0
0
0
47
0
0
0
0
0
50
44
0
0
35
34
32
28
28
0
0
0
30
33
0
46
52
66
40
54
121
127
78
117
101
85
17
4
49
41
29
29
33
32
34
0
51
62
89
48
111
115
114
67
67
52
102
101
47
43
38
83
23
17
64
61
62
62
9
9
67
16
18
18
18
15
12
1
0
0
45
43
42
47
54
2
7
12
132
83
140
142
139
85
82
76
76
74
70
65
115
112
52
102
104
107
56
62
119
64
116
116
64
63
111
58
55
56
111
60
61
59
109
105
51
49
97
99
135
100
135
178
159
80
54
43
52
106
51
44
34
28
27
25
4
62
30
110
67
52
37
23
16
62
59
5
4
4
58
59
8
8
9
61
8
6
56
54
55
2
0
2
9
65
68
17
24
89
47
102
105
105
105
103
45
58
97
68
99
48
44
85
83
89
100
106
111
113
65
70
75
88
88
87
85
81
78
76
75
75
127
126
125
122
119
114
126
83
137
131
119
110
100
177
155
61
94
77
28
63
6
66
72
29
90
92
48
57
118
115
59
56
104
47
35
4
0
0
28
0
0
0
2
8
66
20
76
25
31
71
75
96
64
123
100
84
24
32
80
26
81
31
32
83
32
32
82
29
30
85
87
96
100
103
105
48
47
45
44
38
86
85
83
80
76
21
62
3
0
48
48
0
0
0
0
0
0
50
51
48
0
0
0
34
33
0
28
27
26
0
26
28
29
33
37
43
58
36
51
118
74
77
115
47
37
25
10
54
46
0
0
31
30
0
0
2
15
96
115
130
135
130
130
130
79
75
127
125
122
65
59
48
40
36
32
31
79
73
68
21
17
15
16
20
72
69
59
5
4
4
56
53
54
57
56
7
13
130
132
84
88
141
138
82
133
79
77
76
72
122
122
114
112
113
115
61
64
122
117
117
65
65
63
58
57
54
54
108
110
111
110
57
52
55
57
56
54
120
129
169
172
171
106
79
26
21
40
44
46
41
30
19
19
24
26
40
111
59
45
32
18
10
3
2
3
53
59
12
13
16
19
72
72
72
73
68
12
64
62
57
3
9
68
75
29
35
44
49
104
107
103
101
100
88
98
100
71
46
39
39
29
77
31
44
103
109
61
63
120
123
136
87
90
90
87
134
132
79
76
75
129
129
127
73
67
84
90
143
136
129
121
60
103
179
80
57
96
80
20
27
36
89
42
53
109
115
70
125
69
65
115
61
55
43
62
46
0
0
0
32
0
0
7
67
20
76
27
32
70
68
32
55
68
64
93
74
29
30
80
80
30
31
31
84
83
31
32
89
37
91
95
98
100
51
100
100
97
42
88
85
83
78
76
22
69
61
3
0
0
50
49
0
49
49
49
48
0
0
0
39
38
0
0
31
0
0
0
26
26
30
32
32
0
0
42
57
33
100
116
71
75
115
100
90
26
12
55
49
41
0
31
0
0
0
53
68
98
118
84
93
91
141
87
86
83
136
135
130
125
118
55
49
45
42
41
38
83
79
28
23
21
21
75
75
17
63
59
58
8
8
57
57
62
61
64
68
131
130
76
78
136
135
82
82
79
130
82
84
139
91
137
131
73
73
121
65
117
113
113
63
63
62
55
54
51
51
102
102
102
100
47
48
100
100
48
103
62
66
117
132
97
108
169
123
120
135
69
54
44
89
36
72
77
57
44
91
37
44
15
61
0
0
0
0
52
68
25
26
30
86
88
37
36
86
79
21
71
67
61
4
22
83
92
46
50
53
104
102
51
41
91
94
75
74
92
77
96
72
71
70
65
68
30
43
54
61
68
126
130
131
79
80
82
86
141
144
90
90
88
86
138
87
87
84
135
78
77
132
84
85
85
72
106
161
130
110
115
35
44
56
111
117
72
74
134
136
85
85
83
76
69
61
102
77
68
57
0
0
45
48
59
67
21
77
79
84
24
24
70
64
74
41
65
109
92
69
24
79
75
83
83
81
82
81
31
85
87
37
38
94
43
43
96
101
99
95
91
85
30
31
75
76
24
72
70
64
57
3
3
55
54
53
51
51
42
0
0
0
0
30
31
30
31
0
0
0
0
0
36
38
0
0
0
0
53
28
39
104
108
57
47
85
74
65
55
47
46
0
0
0
0
0
40
54
73
114
130
96
105
107
111
112
106
153
152
99
95
139
129
64
58
105
100
99
46
42
92
94
42
94
41
90
86
80
22
15
64
66
68
14
67
67
67
70
75
131
126
68
67
125
128
76
131
130
131
132
89
97
154
159
94
83
132
126
119
113
115
109
105
105
105
103
53
49
101
98
96
94
40
93
41
39
91
45
104
110
61
107
122
128
132
95
144
133
165
178
172
89
121
125
140
142
129
131
141
122
89
103
33
7
43
45
0
47
11
25
88
98
100
94
37
38
90
87
27
18
12
13
73
91
43
50
108
111
108
54
46
48
93
84
26
19
24
75
122
93
63
7
58
54
56
18
31
99
114
124
77
79
86
138
85
132
127
75
130
135
138
139
85
81
129
75
85
78
75
74
124
72
72
128
116
116
116
121
100
194
84
21
53
128
117
62
79
88
142
151
144
81
68
53
49
100
91
29
70
8
3
52
4
17
21
24
78
26
25
25
23
21
72
70
69
97
120
120
14
70
77
76
70
74
79
73
17
17
73
72
31
44
50
43
87
83
96
42
41
94
96
42
39
89
86
30
78
74
73
71
64
12
10
58
5
52
47
0
31
28
27
26
26
28
26
29
34
35
0
0
42
45
48
0
0
40
48
4
15
19
24
80
79
13
8
0
0
45
44
0
0
32
0
30
32
41
59
31
118
142
153
163
115
114
111
155
160
163
165
162
156
148
73
114
54
45
93
92
92
42
44
44
44
98
47
99
97
86
33
83
79
75
20
19
24
23
21
22
123
119
114
60
67
121
121
125
125
126
76
86
146
151
159
147
84
133
127
118
112
110
105
102
102
101
99
49
47
98
96
95
93
39
38
40
88
87
91
43
107
114
109
120
74
130
137
146
104
141
130
161
146
148
157
142
130
131
128
128
139
142
91
57
48
70
34
28
0
7
79
79
30
36
41
44
92
86
27
21
17
18
76
81
94
98
49
104
108
109
107
47
43
86
80
80
24
26
124
124
46
19
65
63
6
6
21
87
99
110
68
77
136
85
86
86
136
133
79
80
134
135
134
79
75
125
124
80
74
70
69
118
114
60
110
111
117
119
64
73
144
177
64
0
45
70
114
126
71
121
135
136
83
131
121
103
49
93
84
74
66
8
57
8
70
74
26
27
27
26
77
75
21
18
17
68
79
108
125
80
15
15
70
63
67
20
16
13
14
18
26
36
98
103
95
87
83
44
42
92
93
96
95
93
38
35
31
80
75
22
22
68
69
66
62
7
1
0
0
31
28
27
0
26
28
0
30
35
37
42
0
45
49
0
0
47
44
0
6
9
11
15
15
64
53
0
44
42
0
0
36
33
26
30
0
0
37
52
75
117
135
93
102
157
158
161
160
109
112
113
108
156
148
74
63
54
44
92
91
91
41
100
99
47
46
48
48
46
38
90
37
34
31
28
77
81
27
24
75
61
110
107
52
54
109
110
56
111
114
65
78
138
92
155
146
86
135
126
66
61
104
46
43
95
95
38
92
40
40
92
38
89
85
84
84
30
81
80
26
90
102
51
65
71
123
136
180
148
111
93
131
79
78
69
52
51
42
28
68
63
81
170
167
91
77
132
69
35
53
58
67
78
81
28
25
79
20
18
19
76
84
40
44
103
101
100
102
54
106
104
39
34
76
25
85
84
30
63
74
110
84
77
75
18
69
70
80
39
49
57
67
125
80
84
140
93
146
90
84
80
77
73
68
63
58
106
103
43
40
90
88
87
86
94
101
105
62
64
59
110
125
156
64
34
76
130
45
0
32
55
83
106
114
107
100
46
93
88
30
78
75
74
75
78
81
82
83
85
81
79
21
18
67
13
12
67
78
49
104
75
7
11
56
57
5
6
9
68
74
34
43
103
106
101
96
42
45
43
93
93
45
46
44
42
91
88
86
30
29
30
78
25
22
68
60
1
0
0
30
26
26
0
0
0
30
36
0
0
48
3
1
6
2
0
52
56
63
12
61
59
2
0
39
39
44
0
43
40
0
0
33
0
0
0
29
28
0
47
84
54
61
122
126
131
140
151
108
111
113
109
156
149
78
67
109
99
96
98
101
53
54
104
102
102
102
103
50
46
98
98
46
46
45
41
41
36
82
77
51
102
46
43
38
90
93
97
100
104
58
122
128
81
138
133
79
132
125
118
62
57
52
49
51
50
43
95
39
38
87
33
32
84
83
30
29
81
82
26
77
81
41
106
57
113
87
153
135
127
123
72
77
126
113
99
46
39
86
33
27
63
41
14
84
137
132
157
145
110
15
7
52
54
61
65
12
23
83
90
92
91
39
41
97
100
101
100
45
91
85
26
81
80
28
31
81
31
50
72
119
92
81
77
22
74
71
19
29
45
111
115
115
74
80
81
86
90
139
133
76
71
66
111
101
36
79
73
0
0
0
32
35
36
50
67
70
18
70
81
46
108
160
194
149
136
85
31
110
103
26
26
44
84
101
40
38
33
31
82
81
29
33
87
37
37
88
89
89
77
22
14
10
9
60
60
63
3
9
113
109
80
0
0
0
35
35
45
58
69
80
88
44
54
108
58
59
45
44
95
96
45
43
41
92
89
87
86
33
33
85
82
81
24
17
59
52
0
0
0
27
0
26
0
0
0
0
0
0
0
58
4
1
53
2
8
64
15
66
62
56
0
0
0
43
0
0
0
42
0
0
34
26
26
26
27
0
0
26
0
0
2
73
87
100
61
127
140
92
95
95
145
142
76
65
110
104
105
110
63
68
75
71
118
113
109
105
48
51
101
98
99
50
50
48
42
90
85
81
51
103
100
95
85
34
35
40
95
99
52
116
123
128
129
126
126
130
72
66
116
112
107
105
105
52
45
45
92
89
86
31
30
84
86
83
29
28
81
29
27
31
40
94
98
61
80
69
115
115
114
61
63
62
56
41
91
86
78
26
35
38
4
0
0
45
112
147
131
85
106
86
61
0
0
3
10
82
88
41
43
43
42
41
94
44
44
91
83
24
22
21
77
77
79
30
79
80
41
71
73
101
88
81
72
18
71
15
18
31
99
112
118
73
79
131
133
86
138
132
124
116
109
49
39
26
69
59
0
0
0
26
26
28
0
0
7
9
59
74
101
44
67
132
182
138
148
87
33
55
26
26
48
81
46
38
37
31
31
82
83
31
35
37
40
92
92
39
38
23
72
63
8
59
6
7
58
4
56
97
113
96
15
0
0
0
26
39
3
66
26
32
92
49
54
59
61
46
96
96
47
46
94
90
37
36
86
84
83
85
33
31
82
77
18
61
55
0
0
0
29
0
0
0
28
35
0
43
46
49
56
2
51
54
59
13
70
70
17
8
52
42
37
0
0
51
49
46
43
0
0
0
27
26
26
26
0
0
26
26
0
0
2
16
81
96
111
124
127
79
80
133
133
121
113
107
51
104
110
61
64
74
124
121
68
66
115
59
110
105
101
101
103
53
105
94
91
88
86
115
53
97
97
95
36
32
32
82
32
37
99
53
59
113
113
115
117
64
62
112
109
56
54
53
51
43
40
92
88
33
31
82
83
82
82
29
27
80
83
35
35
79
73
35
55
51
43
107
99
50
51
103
100
97
38
35
85
31
32
36
89
31
31
21
0
36
7
64
196
166
155
79
46
72
13
21
92
38
41
41
90
90
88
38
29
20
68
65
9
8
63
66
17
72
75
24
24
24
103
71
59
87
82
78
11
12
9
60
68
24
92
109
117
75
130
132
136
83
130
114
106
44
30
19
60
48
38
27
0
26
26
0
0
0
33
34
32
0
0
74
10
76
147
60
109
195
131
57
14
0
26
0
0
28
31
24
29
81
74
73
26
35
35
40
40
90
86
30
22
18
4
1
1
55
56
58
3
4
0
32
59
56
80
59
0
0
0
0
8
20
73
74
34
42
51
108
48
49
99
94
93
39
35
35
31
80
79
83
32
32
33
83
28
23
11
6
1
0
0
36
33
0
0
34
42
43
45
0
0
57
59
49
62
74
27
80
26
20
59
46
0
44
52
54
54
55
55
54
0
0
0
0
27
27
0
0
26
26
27
0
0
36
46
2
7
25
92
95
99
51
53
105
103
103
49
45
92
39
43
49
63
116
66
66
68
123
128
86
81
125
118
112
56
108
94
92
90
89
125
64
54
51
42
37
89
82
28
30
87
92
43
47
44
46
101
105
58
60
61
108
107
53
52
50
92
36
37
87
85
85
33
34
85
34
32
30
31
32
85
84
70
23
34
33
70
70
26
84
85
33
33
84
82
81
32
29
29
81
31
33
34
33
80
27
77
61
44
11
77
173
147
181
105
94
73
25
23
81
85
80
79
79
8
3
0
52
52
0
0
55
5
9
12
66
16
68
59
25
68
81
55
97
85
0
0
0
48
57
63
74
84
55
63
118
121
72
74
124
103
95
85
71
61
50
39
0
26
26
26
0
0
0
0
0
26
26
0
0
58
80
101
139
129
75
0
76
127
51
25
18
0
0
16
73
20
11
62
68
73
73
82
31
33
34
32
28
77
69
14
4
54
54
56
4
2
58
65
6
15
38
53
112
82
4
3
51
52
57
62
61
63
75
32
39
44
91
42
40
89
89
36
32
29
27
24
26
30
31
31
88
87
33
29
20
15
65
55
52
48
0
0
41
41
42
40
41
45
50
0
50
57
16
25
80
81
23
14
53
49
0
1
58
60
12
11
9
8
56
52
46
39
0
32
30
28
27
27
0
0
0
0
0
0
54
11
8
64
71
78
35
95
104
47
43
90
83
23
20
21
28
86
45
106
63
121
127
81
83
138
88
137
80
127
106
99
92
89
79
120
109
50
40
37
90
82
29
84
89
91
93
43
41
43
99
102
108
61
63
58
109
107
54
52
93
89
87
85
83
83
33
34
33
35
85
32
32
31
30
29
14
20
79
73
11
20
72
79
81
28
27
78
25
24
29
28
78
78
78
29
32
37
36
28
75
80
29
0
53
120
179
138
127
119
105
45
26
70
74
78
79
19
0
48
0
48
48
0
0
50
0
5
8
11
11
63
64
81
129
145
65
111
57
27
0
0
55
46
0
53
88
96
105
59
62
63
62
113
95
36
28
66
5
0
0
0
26
26
26
26
26
26
0
0
0
0
0
38
56
102
97
135
121
93
45
39
127
130
65
49
0
0
7
68
27
20
66
68
17
66
79
27
80
28
26
22
20
14
64
54
52
52
55
55
61
10
18
70
69
31
50
67
46
71
3
9
10
5
59
58
61
74
29
35
39
35
37
90
87
36
35
31
27
25
24
26
84
85
85
87
87
85
31
75
71
16
60
57
0
0
46
44
42
0
0
39
43
48
0
0
63
20
27
80
29
20
10
0
0
2
58
59
12
15
66
13
11
60
3
0
43
0
0
0
31
29
0
0
0
32
0
0
2
55
60
13
15
19
77
85
40
50
47
44
89
80
19
11
9
12
19
30
41
105
62
71
85
137
137
136
136
135
82
62
105
95
90
91
126
107
45
92
90
89
91
37
38
93
43
95
98
98
103
108
111
62
118
121
70
68
118
118
61
46
92
90
86
29
26
27
33
87
90
89
85
83
30
23
72
22
16
66
63
61
12
3
13
65
13
11
61
58
4
13
15
69
71
72
21
78
32
32
36
40
85
21
43
90
82
25
44
92
134
139
154
130
104
77
48
37
0
0
0
0
42
40
0
0
48
51
3
59
62
62
10
52
109
173
193
192
207
170
211
90
31
34
0
0
67
52
78
38
48
52
48
97
97
79
22
68
57
51
43
33
32
0
0
0
0
26
26
27
26
0
0
26
0
3
46
33
61
113
85
94
73
0
0
102
110
47
62
57
82
34
15
4
6
16
24
22
20
68
67
13
8
5
10
4
0
0
50
55
58
18
20
22
90
86
82
37
110
120
101
45
10
19
8
5
57
61
71
75
24
24
77
28
81
81
31
30
27
24
24
77
29
88
89
90
85
33
32
30
24
72
18
12
61
56
52
47
0
0
0
0
37
37
0
0
0
18
78
83
82
30
17
4
0
2
6
58
61
16
17
68
67
13
62
59
3
51
0
0
44
42
0
0
40
41
41
46
4
12
68
72
71
20
23
79
84
39
47
44
93
87
25
16
60
58
60
11
69
24
33
44
55
120
123
128
131
80
77
73
79
129
128
128
154
131
106
97
101
97
93
43
40
38
40
43
98
103
96
103
113
66
70
127
130
78
77
128
125
122
105
47
48
93
85
27
27
37
93
90
88
86
31
27
17
66
80
72
74
26
71
16
19
66
66
13
11
8
2
0
42
49
57
66
70
22
27
21
86
39
32
86
46
101
62
44
45
54
34
9
40
195
137
185
170
129
82
0
0
0
46
47
46
44
0
0
55
59
62
65
66
66
165
161
159
169
164
134
142
143
65
100
180
87
24
53
2
5
10
18
74
73
75
81
65
61
58
50
44
39
29
0
0
0
0
0
26
26
0
36
0
0
0
0
26
0
44
44
46
52
110
92
41
50
40
138
65
38
68
13
0
0
58
61
62
14
19
16
61
58
55
50
0
0
0
0
42
53
12
20
26
92
96
105
53
47
52
52
116
125
75
46
0
10
2
56
58
65
66
12
10
65
68
19
72
75
22
18
19
71
74
79
36
36
37
36
87
34
31
25
72
71
15
12
60
57
0
0
40
0
36
38
34
32
0
59
73
79
82
82
31
16
2
7
9
9
60
64
22
18
66
64
11
9
58
57
4
60
60
58
56
56
56
57
2
50
0
8
16
72
77
77
26
27
29
83
84
85
32
29
76
17
10
59
60
13
17
75
80
31
34
35
90
36
87
88
38
95
101
111
118
127
130
169
131
101
96
96
99
48
49
47
99
100
44
46
51
47
104
110
116
71
125
127
131
84
137
132
123
102
42
38
83
77
72
69
81
38
36
91
40
37
84
75
74
72
69
69
71
70
67
67
61
61
9
5
0
0
0
48
46
47
48
56
11
25
76
88
43
95
41
45
52
62
61
56
103
100
48
93
138
125
143
125
112
153
57
0
44
56
3
2
63
15
0
63
55
52
63
1
9
194
192
132
100
76
102
134
131
104
125
157
159
123
88
130
69
38
63
4
10
65
62
44
0
29
0
0
0
0
0
0
0
0
26
26
0
0
0
33
0
0
0
87
120
118
104
47
57
108
87
34
0
0
65
131
80
51
39
13
58
39
0
0
1
61
60
53
0
0
45
42
38
0
37
47
54
10
21
83
90
43
53
110
113
61
72
91
121
112
71
0
50
4
3
59
74
60
54
9
67
75
23
17
72
69
67
63
14
73
77
29
32
85
84
83
82
81
25
73
69
70
66
61
4
50
46
44
41
42
0
0
41
0
68
28
35
37
36
31
50
48
0
50
0
5
62
11
10
12
61
58
3
53
53
55
56
6
8
61
61
10
14
68
16
11
64
20
76
26
31
31
79
73
72
21
72
70
17
14
10
59
58
7
18
17
69
19
74
78
79
77
23
69
63
7
11
73
100
54
114
65
141
119
106
54
47
49
102
46
45
46
48
48
52
110
109
114
120
74
131
134
136
137
90
143
138
79
109
100
46
38
32
28
76
77
81
36
37
38
36
84
76
23
71
18
70
72
72
68
70
68
66
64
62
9
9
14
74
74
76
26
81
33
39
100
104
54
54
55
60
58
108
58
58
107
105
100
40
15
75
51
97
131
136
122
80
36
1
0
54
47
0
0
42
3
10
0
11
67
130
136
117
96
97
149
154
123
196
148
121
106
117
117
102
94
93
78
52
21
0
0
0
0
0
0
0
35
0
32
28
26
26
26
26
0
0
27
26
26
26
26
26
0
43
125
62
46
104
119
23
0
68
14
21
149
124
70
95
53
48
1
40
57
56
56
52
0
0
40
36
33
32
33
43
0
60
71
83
89
44
53
110
60
60
91
95
104
119
52
22
0
5
0
45
0
0
49
48
58
64
61
57
61
58
59
62
68
73
26
27
26
26
33
83
83
81
24
20
68
66
63
57
53
47
43
41
0
0
0
0
0
0
68
30
36
37
34
79
45
0
0
41
44
48
0
58
5
5
56
53
0
0
48
49
55
58
60
62
63
65
70
18
20
68
70
28
34
37
32
84
80
72
16
15
7
60
62
11
12
63
11
11
10
8
5
3
3
2
1
0
51
50
46
41
38
0
0
3
68
26
115
57
60
116
106
109
110
108
53
51
51
50
54
60
63
120
126
131
83
86
139
139
90
89
138
79
110
99
45
39
34
32
31
28
82
86
88
91
90
85
26
26
23
19
72
21
21
16
69
71
71
19
72
74
28
41
54
108
112
62
62
60
108
104
48
47
50
53
54
102
96
98
96
92
37
91
38
31
34
33
78
85
67
114
139
135
105
103
57
39
36
44
0
0
36
85
101
148
149
98
160
201
132
148
142
95
182
188
199
188
162
152
108
133
64
63
73
123
52
33
26
26
0
41
0
26
26
30
27
26
26
26
26
26
0
0
28
32
0
0
54
54
31
77
28
44
50
95
23
0
83
66
75
83
90
168
162
76
81
60
73
41
52
0
52
50
0
0
0
0
30
29
39
46
2
15
76
82
39
101
53
54
105
48
96
85
92
54
102
35
61
52
0
0
0
53
54
2
6
55
54
58
56
61
68
72
77
28
26
25
25
31
83
81
80
74
18
66
61
6
54
0
0
0
0
0
46
43
43
46
58
75
83
87
87
83
74
38
0
0
0
0
41
41
42
0
0
0
43
41
0
0
39
0
51
54
58
60
63
71
71
74
73
26
37
42
45
87
87
28
71
11
8
0
59
10
12
64
10
8
57
56
54
50
0
48
0
0
0
49
48
46
43
0
43
33
0
0
33
65
62
117
118
54
56
108
111
108
106
54
104
57
63
64
120
76
80
85
87
88
138
140
87
83
78
109
44
44
90
84
31
32
29
30
34
89
91
90
87
29
28
24
22
21
21
20
66
67
71
71
72
23
28
89
104
65
67
70
72
71
120
113
55
50
46
48
48
45
43
36
90
90
34
34
38
93
32
33
39
92
76
17
104
196
197
189
109
65
70
33
0
0
0
74
156
152
163
121
63
126
165
88
68
84
90
122
180
182
177
167
152
140
144
124
56
104
108
61
65
46
26
0
26
0
0
29
31
27
26
26
0
0
26
29
0
0
0
0
0
57
60
6
8
76
116
149
105
62
26
103
62
80
62
27
93
179
91
89
64
67
51
52
49
50
49
0
0
0
31
30
28
0
44
53
63
71
26
87
97
49
49
99
51
45
83
77
95
55
58
67
49
0
0
39
56
9
3
55
52
54
5
56
62
69
21
24
79
78
78
26
83
82
80
79
73
68
63
7
5
1
0
0
0
45
48
50
47
46
49
61
25
83
87
85
81
20
38
36
0
0
0
0
36
36
0
0
38
0
0
0
0
35
42
45
49
0
4
60
68
71
73
73
78
90
42
96
89
87
27
69
10
7
52
7
9
62
62
8
57
53
2
51
50
0
0
49
0
0
0
0
0
0
0
40
35
0
30
28
155
148
143
134
62
62
59
59
108
54
54
56
62
70
119
123
129
134
86
88
143
139
140
139
83
79
108
95
46
89
29
27
29
24
25
86
89
40
92
37
32
31
27
76
22
21
71
62
11
68
70
75
28
88
97
113
70
124
127
127
74
122
117
54
100
94
38
30
20
17
5
64
18
21
23
27
30
30
40
94
84
28
34
80
62
129
179
185
137
142
105
0
32
107
151
145
198
136
41
60
126
114
99
110
132
141
106
158
106
106
156
149
141
138
138
73
108
97
93
92
119
126
31
0
0
29
28
29
27
0
26
0
0
0
26
27
26
26
26
0
0
27
0
0
42
35
39
0
0
1
121
77
26
39
27
36
37
161
98
97
73
66
4
51
47
45
0
0
0
0
0
28
37
42
49
8
13
20
81
39
43
43
41
60
103
89
75
82
51
71
71
72
47
44
43
52
1
48
47
46
0
50
50
7
16
17
19
71
73
24
26
81
80
78
77
19
13
9
4
2
0
0
1
52
51
51
1
0
0
0
59
24
31
34
85
80
20
0
38
29
31
0
29
27
28
0
0
31
30
30
0
0
29
0
34
39
0
0
53
62
16
19
71
77
88
93
93
91
88
26
15
61
9
7
5
58
59
6
56
54
53
0
50
47
46
46
46
45
0
47
0
46
44
42
0
34
33
31
30
156
155
103
98
72
64
63
58
106
103
53
57
62
68
75
79
136
139
145
146
91
91
89
138
133
127
53
96
93
86
81
79
77
21
24
79
84
88
39
39
32
81
79
25
24
74
68
64
16
14
67
21
30
93
52
65
72
74
125
118
62
57
98
86
80
72
13
7
1
0
33
33
39
48
2
6
13
79
29
31
29
26
76
74
69
62
0
36
95
144
162
122
133
201
147
132
120
98
37
103
125
67
43
100
122
126
89
94
91
143
145
140
132
115
75
135
124
53
40
29
25
47
74
75
49
59
0
0
0
0
0
0
37
33
28
0
28
28
0
0
0
26
26
0
28
30
35
0
0
38
28
98
54
27
33
42
31
69
180
149
99
88
62
4
48
0
0
0
0
0
0
0
34
41
48
55
11
66
74
32
92
98
52
117
115
112
54
102
104
109
124
60
34
48
0
1
0
57
3
0
46
50
56
8
12
68
72
20
25
25
22
25
23
21
19
13
60
57
53
0
0
50
0
0
0
0
0
0
0
0
10
22
27
87
88
86
76
0
0
0
38
0
0
0
0
0
31
0
0
32
32
32
28
0
0
0
0
0
51
8
13
66
70
77
84
89
90
87
84
27
20
65
61
9
59
60
10
11
11
63
60
0
0
43
45
0
0
0
50
47
45
43
43
0
0
0
31
30
27
156
154
101
151
131
121
116
56
104
102
51
56
113
66
76
81
87
91
146
146
90
143
141
135
131
126
52
96
91
33
79
78
75
17
72
79
32
37
39
93
87
84
79
28
28
78
70
64
69
64
70
80
37
44
52
118
122
122
65
109
101
96
85
78
73
65
57
1
0
37
27
0
0
0
0
0
6
75
77
80
79
79
27
81
81
31
7
0
66
69
181
183
141
200
138
177
165
133
84
48
72
122
101
100
62
63
81
138
83
81
81
132
127
113
68
124
117
55
45
31
29
33
102
119
71
47
15
0
0
0
0
39
39
41
0
0
0
28
26
26
0
0
26
27
0
0
31
32
30
0
0
41
82
30
35
39
49
39
73
128
142
80
87
13
26
37
52
0
0
0
0
34
0
0
0
2
11
66
18
36
97
104
56
124
73
126
72
118
59
55
115
76
61
51
4
8
0
6
2
48
44
49
4
8
63
71
23
23
24
76
76
76
22
72
70
64
8
5
0
51
0
0
0
0
0
0
0
51
0
0
8
73
81
88
38
36
79
0
0
0
0
39
35
32
0
0
37
41
42
0
0
0
32
29
0
0
0
0
2
65
67
69
72
25
83
87
88
85
31
78
21
15
63
10
7
61
11
65
66
66
11
0
0
0
44
0
0
0
47
46
45
45
44
41
38
0
0
32
29
98
147
147
149
132
117
56
107
100
95
43
48
55
62
118
126
81
86
145
145
89
139
84
79
126
120
49
42
89
31
25
75
74
17
19
26
30
35
90
92
91
39
36
83
80
82
32
24
72
78
35
47
106
57
58
115
113
110
50
90
80
75
68
4
55
53
52
49
42
0
0
0
31
35
37
39
0
58
66
75
83
35
88
89
43
29
15
74
56
44
42
180
185
179
117
162
145
106
82
99
118
70
60
111
66
72
120
125
70
68
67
68
69
108
104
97
94
48
50
94
40
42
84
76
36
103
54
67
0
26
0
0
0
41
0
0
28
30
29
29
0
26
31
32
31
0
27
26
27
0
0
68
119
82
44
35
38
48
9
0
54
142
48
14
11
34
33
32
42
30
32
33
0
0
0
0
7
8
16
40
52
59
63
70
79
87
96
92
79
67
59
121
72
81
63
65
23
14
63
57
54
4
9
64
12
20
26
24
20
21
22
74
71
68
65
62
6
4
1
0
0
0
0
51
0
57
56
57
56
2
11
73
82
90
41
41
89
56
1
49
0
46
43
40
45
48
55
8
64
64
12
10
54
39
0
42
45
0
5
67
70
72
23
25
79
81
86
83
82
27
22
16
64
63
11
12
66
68
68
65
8
3
0
45
0
0
48
51
0
0
0
43
41
39
39
0
0
38
33
107
160
163
111
86
69
59
107
96
34
81
86
44
55
115
122
75
130
139
88
138
83
80
75
121
115
47
40
29
23
71
70
69
16
18
22
27
83
87
90
92
40
91
89
90
93
92
43
47
56
59
117
121
70
67
60
54
101
89
21
10
5
52
0
0
0
45
45
40
0
0
27
30
33
34
34
0
46
52
61
70
24
31
35
34
97
90
80
10
27
145
182
176
165
106
98
117
30
31
100
113
68
67
64
68
130
111
59
60
113
113
112
61
46
96
96
88
32
38
94
33
84
86
81
31
38
91
38
57
24
0
0
0
0
39
26
26
0
0
29
31
35
35
33
31
0
26
0
0
0
0
41
93
128
35
0
0
0
0
0
37
0
108
157
18
26
6
47
26
30
31
0
0
0
36
41
43
0
60
82
93
104
59
117
79
92
100
102
148
85
70
55
54
116
97
81
80
29
81
82
29
76
21
20
21
24
78
77
78
25
21
21
17
13
10
7
4
3
4
54
54
1
53
53
2
57
58
5
4
0
8
70
81
88
42
45
45
66
11
7
58
55
53
51
59
62
21
80
34
38
38
38
27
65
11
7
59
59
9
16
70
73
23
24
76
26
86
84
83
29
24
69
12
60
5
8
63
65
65
9
57
3
0
47
50
52
0
1
1
52
0
44
40
0
45
61
15
72
70
168
169
172
120
91
74
65
107
96
32
25
82
93
104
120
72
76
129
136
85
137
82
79
125
68
63
46
40
25
19
67
67
15
14
17
73
76
81
34
89
92
92
88
92
45
97
91
47
59
64
65
121
125
74
70
58
53
48
34
17
6
51
44
0
39
34
31
0
29
26
30
30
31
0
36
37
42
45
49
2
62
69
26
34
84
80
73
30
31
48
106
174
114
104
101
92
106
76
31
47
113
120
121
63
65
126
108
54
58
112
111
110
111
94
95
100
38
80
32
40
80
91
99
90
79
26
29
83
102
61
28
0
26
35
39
26
26
0
0
0
0
0
0
0
30
0
0
0
0
0
0
36
78
133
105
0
0
2
0
0
35
0
32
174
41
29
14
24
0
0
31
0
28
30
0
0
0
0
57
75
87
99
108
113
128
89
94
149
146
83
73
109
52
123
60
37
74
24
28
32
36
88
85
30
25
27
80
79
81
27
22
20
16
12
9
58
56
3
57
55
54
1
53
1
3
57
56
4
2
0
5
68
81
87
94
46
47
18
13
63
10
60
56
3
11
15
26
85
40
44
46
97
34
74
72
15
12
62
64
17
17
21
23
24
24
26
35
33
32
29
24
69
64
58
0
4
60
63
12
9
57
2
0
49
52
53
52
53
48
48
47
44
43
48
56
28
35
39
36
115
111
102
93
75
78
85
65
96
32
82
83
92
98
114
122
130
133
84
82
80
77
73
121
66
115
104
99
91
83
76
72
70
64
65
66
72
78
85
89
92
93
89
90
94
102
105
115
121
127
78
135
134
77
79
117
55
42
29
18
5
0
33
28
27
27
26
26
26
26
28
30
32
0
36
39
43
0
47
0
2
61
71
78
89
93
48
45
88
125
164
162
185
114
98
128
81
6
80
44
110
117
119
115
113
118
97
50
62
107
98
98
96
99
36
35
39
32
30
46
98
94
97
48
88
76
77
77
90
99
48
72
37
26
30
27
27
0
29
27
26
28
0
0
0
0
0
0
0
0
0
27
0
40
66
35
0
0
0
0
33
28
34
26
161
120
37
68
56
51
24
0
0
29
33
40
41
45
52
70
77
88
98
100
108
115
121
121
119
117
116
114
110
59
65
56
94
32
92
94
98
101
96
52
92
90
85
82
75
73
70
66
65
62
59
58
58
58
59
60
59
59
56
54
52
58
56
57
60
6
6
62
75
85
93
94
43
33
72
69
68
63
61
64
67
77
37
45
54
110
112
110
97
40
34
27
23
69
11
10
12
14
16
18
19
22
29
29
27
77
74
68
60
6
5
6
7
8
58
58
57
55
55
57
56
57
55
54
49
54
50
47
52
8
19
46
54
51
42
100
101
154
100
80
74
73
82
52
34
87
90
95
98
61
122
78
82
84
84
81
79
129
123
119
115
106
101
97
90
83
81
78
71
71
72
77
81
85
88
89
89
86
88
93
102
107
120
126
132
136
141
87
130
127
105
93
28
16
61
0
48
33
27
27
26
26
26
26
27
30
32
34
0
38
41
46
52
1
1
3
5
63
69
78
93
94
38
129
166
147
167
183
164
90
108
66
56
80
44
110
117
67
115
61
118
97
99
107
99
90
92
39
45
34
85
38
30
81
97
105
102
52
55
95
78
73
68
82
88
105
108
73
33
28
0
0
0
30
28
0
28
0
0
0
0
0
26
0
0
0
41
0
2
64
82
25
0
0
0
33
29
64
87
176
146
134
131
26
7
42
8
0
26
30
0
38
0
49
62
68
77
86
90
96
101
104
107
107
107
113
112
107
103
61
66
67
43
96
99
105
108
106
109
102
98
92
85
73
68
64
61
60
58
56
58
59
59
60
61
60
8
59
56
55
5
56
57
9
59
5
9
73
82
89
89
40
90
81
71
69
64
61
63
68
27
44
53
115
120
123
122
110
104
45
36
28
19
11
6
8
9
12
13
14
17
24
25
24
23
74
67
7
4
3
4
5
6
57
57
56
56
56
58
58
59
57
57
5
66
71
74
82
36
44
55
61
53
41
255
255
255
252
143
169
173
172
122
121
122
123
173
171
174
174
122
124
178
178
179
179
180
183
184
186
185
132
139
138
136
137
139
146
199
152
208
211
216
219
174
175
183
185
187
190
192
193
193
245
191
245
192
193
193
243
238
238
185
184
180
177
173
222
218
212
211
159
156
202
154
204
150
146
193
191
188
183
181
177
173
121
122
124
120
120
121
122
174
123
124
125
126
127
178
179
178
125
128
127
125
124
124
176
124
125
124
177
178
179
179
180
180
177
126
125
179
128
127
128
132
129
129
128
129
130
131
183
182
181
180
180
181
181
183
183
181
178
125
126
127
183
182
181
179
126
124
174
119
118
162
107
105
153
150
103
102
149
145
92
141
88
86
85
81
133
131
77
76
76
75
127
73
124
71
71
70
69
122
118
116
115
114
123
71
68
60
57
57
56
61
62
117
109
107
108
112
71
77
83
83
136
141
91
144
147
146
146
94
89
84
89
87
88
142
143
141
140
140
142
144
144
141
88
86
137
138
138
140
141
141
138
139
144
96
91
85
82
80
139
83
78
125
74
132
135
77
131
81
81
134
83
80
76
75
72
118
116
60
109
108
53
111
73
86
143
140
148
98
146
136
126
121
119
121
66
122
77
84
90
147
135
137
138
139
141
88
139
136
136
133
128
126
129
83
81
77
121
62
255
255
251
236
180
163
167
170
118
118
118
120
119
170
122
122
123
125
129
181
182
186
186
189
189
190
135
134
139
139
139
140
143
149
151
154
208
213
217
220
172
174
182
182
185
188
188
188
189
189
188
241
242
242
191
188
234
234
233
178
176
173
220
214
211
205
204
152
201
193
194
193
191
136
185
185
131
128
125
122
118
119
119
121
119
172
121
122
121
122
123
175
176
177
175
175
122
121
126
125
124
123
122
123
124
176
177
178
179
179
180
181
181
176
177
178
125
126
125
125
123
123
122
124
126
126
127
176
178
178
178
179
179
179
176
179
178
177
177
179
129
184
183
130
180
178
176
174
115
114
106
103
102
97
94
98
97
146
144
90
89
88
85
84
134
132
130
128
127
125
125
124
122
121
68
68
66
65
66
115
114
115
114
121
67
66
58
56
56
54
51
51
104
100
99
102
104
63
66
70
123
130
135
87
144
147
150
148
98
93
89
87
87
87
140
142
142
141
138
138
138
137
82
82
82
133
132
133
134
133
131
130
127
134
140
137
82
132
130
84
134
78
73
71
76
79
80
133
135
135
85
84
135
128
75
71
120
116
62
59
113
57
56
59
117
125
142
146
148
149
145
140
133
113
119
117
66
73
80
81
136
138
138
140
141
142
142
141
138
136
133
127
123
71
78
77
76
123
67
214
207
198
176
167
161
168
166
115
113
113
115
116
116
120
121
122
126
132
133
187
193
193
195
195
196
193
191
141
141
193
194
197
204
207
211
214
167
222
222
175
176
232
233
235
236
186
185
183
185
236
235
184
182
181
179
228
227
175
174
224
220
216
209
207
204
151
149
198
188
184
183
130
183
129
127
126
121
119
171
117
116
116
117
171
171
172
173
122
124
174
175
174
173
172
172
169
117
122
122
121
120
120
121
122
123
125
125
126
179
128
128
129
175
175
123
123
121
122
122
170
119
119
121
123
125
179
182
129
180
179
178
177
177
179
181
129
129
130
133
188
185
132
130
127
125
123
121
116
115
107
104
154
98
95
94
93
91
142
140
89
88
84
83
133
130
128
128
75
73
124
120
118
117
64
63
63
63
62
62
113
112
60
116
116
115
58
55
55
53
51
51
104
104
103
104
53
110
58
60
113
124
131
134
85
142
146
94
95
96
95
83
134
83
135
140
140
139
135
135
133
130
76
74
75
78
78
130
76
77
125
125
124
74
78
82
137
137
138
135
83
133
78
74
126
129
82
83
137
137
86
85
135
127
74
71
67
117
63
62
58
56
58
110
110
110
127
143
145
143
143
144
142
126
63
59
59
65
69
71
127
142
142
142
144
143
142
140
134
133
130
124
67
65
69
74
76
75
71
210
203
195
171
161
158
164
165
113
111
112
115
114
115
118
119
173
178
133
135
189
194
142
197
197
146
196
195
143
143
196
196
199
208
208
216
219
221
224
225
177
231
231
233
235
237
185
184
183
236
234
182
180
178
175
224
224
224
171
170
219
216
212
209
205
202
150
149
196
185
183
182
181
179
178
124
124
118
119
169
168
167
169
169
172
173
174
173
122
123
124
175
174
172
171
170
170
170
121
120
119
119
119
120
121
122
124
125
125
126
127
127
128
174
122
122
122
121
119
171
170
116
117
119
121
123
124
180
179
178
177
176
176
123
179
181
130
129
131
134
136
133
131
181
126
124
121
120
168
167
107
104
102
98
95
95
95
143
141
141
139
86
83
84
132
130
129
128
75
72
123
120
118
116
114
61
62
61
61
113
112
111
111
114
115
115
58
55
53
54
49
49
49
50
51
103
100
108
108
56
59
122
126
129
77
84
89
90
93
146
94
80
79
80
134
137
138
137
133
133
131
130
74
71
70
76
76
128
75
75
74
72
124
123
76
81
86
90
145
136
137
86
81
129
75
77
80
133
135
137
137
137
82
75
124
71
119
65
63
114
111
58
111
112
111
108
116
135
138
141
142
90
91
137
69
64
63
117
67
69
126
141
141
142
141
142
140
137
77
77
127
122
65
62
65
73
77
129
74
213
206
200
174
162
165
115
114
112
110
162
164
112
113
168
169
171
177
133
135
190
142
143
146
146
149
147
199
202
150
150
152
156
162
165
220
223
227
177
177
180
181
233
234
184
186
186
185
235
182
179
178
174
172
219
215
214
214
161
160
158
207
203
204
150
198
145
145
193
181
177
176
175
174
172
118
117
118
169
168
117
169
168
168
172
172
173
174
124
123
176
178
122
120
171
170
169
169
171
170
170
169
118
119
121
121
174
175
176
177
125
126
126
121
121
120
119
171
170
170
168
167
115
116
117
118
119
119
121
123
177
179
126
127
180
180
128
127
128
131
133
132
130
128
125
122
119
117
164
163
103
152
150
94
91
98
96
145
142
139
137
138
136
83
133
131
128
127
74
73
72
68
65
63
63
62
112
114
62
112
114
113
113
114
115
114
110
56
56
57
107
55
55
57
57
105
103
105
104
54
56
118
121
121
69
78
136
86
89
143
145
78
77
76
79
133
132
132
130
131
80
78
71
67
117
121
121
121
70
71
72
72
73
69
122
131
84
94
100
88
91
92
89
82
76
77
129
130
80
81
134
82
81
124
71
122
121
66
66
117
69
65
62
112
110
107
108
67
128
140
145
148
98
97
151
89
82
129
73
75
79
140
140
141
139
138
136
80
69
121
69
67
62
59
113
70
76
81
80
214
206
205
182
161
160
110
112
114
114
164
163
161
163
169
171
173
176
182
186
138
142
143
146
148
150
150
150
153
154
153
208
160
169
169
175
177
177
180
182
185
183
238
239
238
238
186
234
233
178
175
170
165
163
213
206
203
203
204
153
154
153
200
198
196
193
139
138
134
127
175
172
169
167
114
116
116
116
169
168
167
169
170
171
174
174
175
176
123
124
177
126
125
124
121
172
170
170
170
169
169
168
117
118
119
120
172
173
173
173
122
122
122
120
120
119
118
117
169
168
172
172
172
120
121
121
121
124
123
123
175
177
127
126
181
180
179
127
128
129
181
180
178
177
122
120
117
168
162
162
155
153
152
148
93
97
95
91
142
142
139
137
137
135
131
131
130
76
125
124
71
69
67
65
64
65
63
115
64
114
112
112
111
110
110
112
111
111
110
58
56
56
56
55
109
108
108
112
110
59
58
115
115
116
68
121
124
127
134
137
140
76
78
80
82
132
131
130
78
77
128
127
72
71
70
123
121
120
68
70
70
69
72
74
126
127
82
150
96
93
93
93
89
86
77
74
129
130
79
80
80
80
132
127
73
126
124
71
70
123
67
67
66
66
63
61
57
75
76
79
83
93
100
106
103
106
104
101
95
93
94
143
143
140
85
79
74
70
63
115
114
115
64
65
66
67
129
85
86
255
210
208
235
160
161
113
115
115
116
165
164
162
163
117
171
120
175
180
184
135
142
143
146
148
151
150
150
204
153
155
159
215
221
223
228
176
178
233
234
234
234
239
239
239
187
237
232
230
229
173
169
165
163
158
205
199
199
199
151
152
151
147
148
196
191
188
186
131
126
174
170
165
163
112
113
114
117
116
116
169
117
170
171
123
123
123
176
176
175
175
125
125
124
123
120
170
170
117
117
168
168
168
169
118
119
120
120
120
121
121
122
122
118
118
117
116
167
169
168
171
172
173
173
122
123
123
177
175
123
124
124
177
124
126
177
176
177
123
124
176
125
176
175
120
119
116
166
161
109
154
152
151
148
93
97
95
92
143
89
86
138
137
135
132
131
130
76
74
126
126
122
120
118
119
66
64
65
65
114
115
114
114
112
112
112
111
111
59
59
56
56
56
57
57
109
108
111
111
57
58
112
113
61
65
118
68
70
129
133
137
129
79
80
134
134
79
79
78
78
129
129
76
75
74
74
123
121
120
121
123
123
72
75
76
75
79
96
100
94
95
145
143
140
129
75
76
129
130
130
78
79
129
75
74
74
124
123
72
72
70
70
69
66
66
63
58
123
122
123
75
84
91
155
157
108
110
110
159
155
153
144
142
140
138
79
73
68
60
111
113
114
64
66
70
69
129
136
86
216
212
255
230
105
163
118
117
120
121
174
170
169
116
119
173
123
125
179
180
183
140
141
144
146
148
148
148
150
153
159
162
168
226
225
225
227
229
229
231
233
233
245
193
191
190
240
234
231
231
177
225
170
166
164
158
197
196
195
196
145
147
143
148
143
136
182
178
125
121
123
119
165
110
110
163
114
114
116
115
115
115
169
119
123
123
123
122
174
174
175
124
176
173
121
120
119
119
116
116
116
116
168
168
167
115
117
117
118
118
119
119
119
170
117
169
170
169
168
169
119
120
121
124
125
125
178
175
176
175
124
123
122
122
119
170
169
169
170
170
170
172
171
170
168
166
164
163
159
158
152
151
150
147
145
99
96
91
89
87
86
83
135
134
131
79
80
78
128
129
128
125
125
123
121
68
68
67
66
66
117
116
115
113
113
113
112
112
60
60
57
57
57
56
56
107
107
60
60
58
59
111
112
59
59
113
62
63
121
126
130
130
80
82
85
85
82
80
129
127
128
129
77
76
75
79
76
72
123
123
124
72
69
123
73
72
124
139
97
146
146
145
92
89
134
130
74
75
128
128
128
127
124
76
76
126
126
126
73
126
73
73
72
122
120
66
66
110
58
111
113
66
125
141
149
153
105
110
168
166
159
92
140
83
79
75
70
63
58
59
113
117
69
74
128
126
129
134
138
255
205
249
216
159
170
173
176
126
128
129
127
125
175
176
178
180
182
129
180
182
187
188
191
141
143
143
143
146
151
156
164
170
224
172
176
178
179
183
186
241
241
197
198
198
196
195
242
239
237
233
229
225
171
167
162
199
197
143
196
196
143
193
195
139
134
128
126
175
170
169
114
110
108
160
162
161
164
112
111
111
113
115
116
117
118
170
171
120
173
173
172
172
172
169
169
117
116
114
115
115
116
115
166
113
112
165
166
166
114
115
115
167
167
115
168
167
166
167
167
118
120
120
122
122
122
174
174
175
176
176
124
122
119
116
115
167
166
166
165
165
167
114
114
164
163
109
160
156
156
151
150
97
94
144
152
149
143
91
89
85
83
82
132
80
80
80
78
76
79
78
77
75
73
71
72
69
68
70
67
66
65
65
63
115
114
114
112
112
112
57
57
56
56
55
55
107
107
108
57
111
112
113
59
115
116
63
64
119
124
128
83
86
86
88
85
81
131
131
130
79
80
130
127
126
82
80
76
128
128
123
122
122
120
120
122
124
129
137
145
92
145
145
90
82
132
76
76
75
126
123
122
67
77
128
127
126
125
74
75
72
70
69
70
123
123
75
93
100
53
58
61
65
128
137
141
97
154
159
109
162
99
91
84
78
75
72
66
111
114
66
69
73
79
133
131
129
131
137
255
202
193
160
160
171
173
177
179
181
131
130
179
177
177
179
129
131
129
129
182
185
186
189
139
194
141
141
197
200
208
216
222
172
172
173
173
177
181
184
240
241
198
199
199
199
197
244
243
237
232
229
224
222
168
161
201
199
196
196
196
195
193
193
138
133
180
179
175
169
165
111
109
107
159
160
159
163
110
110
110
112
114
116
167
168
169
170
171
120
121
171
171
170
168
168
116
116
114
114
115
116
115
114
112
111
112
112
113
113
114
166
166
165
113
166
165
113
165
165
118
119
119
173
121
121
121
122
175
177
177
175
122
171
116
114
115
166
167
165
166
113
113
113
111
110
108
107
156
156
151
97
97
94
144
153
150
144
92
89
86
83
82
80
80
80
80
78
128
131
79
77
127
125
72
125
121
69
70
67
66
117
118
63
63
63
114
112
112
112
109
109
57
54
53
53
105
106
107
108
109
112
61
59
116
117
64
64
69
75
130
138
87
87
89
85
82
79
132
80
81
81
131
128
127
134
81
78
78
130
123
121
122
118
119
123
71
128
135
91
92
145
143
143
84
82
75
74
125
125
71
122
67
77
129
74
73
125
125
74
72
71
70
69
123
126
129
40
98
107
112
113
63
123
135
88
146
151
156
161
165
102
95
84
78
75
72
69
113
116
67
70
76
132
135
80
76
78
84
255
250
227
144
110
171
174
178
182
132
186
191
192
192
196
144
144
144
140
138
135
183
133
133
132
131
184
187
197
149
207
212
216
167
166
174
177
182
239
191
243
243
246
193
193
194
196
242
188
180
177
224
220
215
162
159
206
205
148
144
194
193
190
185
133
130
179
175
170
167
109
110
110
162
161
159
158
157
157
158
106
107
108
109
112
113
165
165
164
112
112
162
162
162
162
110
110
110
112
112
164
163
163
162
162
162
109
110
110
163
163
163
163
164
112
164
164
164
164
113
113
164
164
165
166
167
116
117
173
123
177
177
125
177
124
125
125
122
121
172
171
169
115
115
113
111
112
163
162
160
104
105
156
153
151
149
95
143
141
88
83
134
132
81
80
81
132
131
131
134
134
132
129
127
123
122
119
69
70
70
69
122
121
109
57
58
61
61
113
114
114
113
60
57
57
54
104
108
58
60
114
113
113
59
63
115
64
68
65
121
127
138
88
88
142
141
88
139
90
90
91
91
94
93
146
141
86
83
132
129
120
116
115
115
117
120
125
136
87
88
142
144
92
140
86
138
137
75
71
120
112
116
114
64
63
61
115
117
68
68
123
68
67
65
63
113
125
46
47
101
43
35
37
92
107
59
74
144
98
157
162
159
83
151
127
71
87
55
64
69
73
78
135
137
142
88
87
86
138
189
220
146
125
115
125
177
182
184
136
193
146
150
203
207
154
154
152
199
197
193
189
136
187
185
131
130
130
137
144
205
209
157
160
216
221
172
177
234
237
237
236
238
188
190
191
191
181
178
176
173
221
215
211
211
214
157
153
149
144
193
190
130
125
123
122
119
114
113
108
106
106
159
159
106
105
156
154
154
154
155
155
156
156
107
107
159
159
108
108
107
106
157
106
106
108
159
160
163
163
163
163
163
163
163
163
161
162
162
162
163
163
163
164
112
111
163
163
111
110
161
161
162
163
165
167
116
118
172
122
123
122
122
122
123
125
126
124
123
175
174
165
112
110
109
107
107
160
155
103
100
101
151
148
94
100
98
94
144
88
137
134
134
134
82
81
133
132
132
136
135
132
76
125
124
123
118
118
119
69
120
121
120
109
57
58
60
60
111
112
111
114
114
57
106
55
109
118
69
77
85
136
128
121
122
117
63
118
69
71
123
135
134
137
139
141
140
141
93
96
96
98
100
101
152
136
82
80
81
131
123
66
123
119
68
121
126
82
84
134
134
84
85
85
83
85
129
80
76
71
125
117
111
63
60
59
62
115
66
66
67
117
64
63
61
61
74
97
94
94
34
21
19
80
35
40
51
120
131
142
150
166
94
153
138
116
58
49
65
69
72
77
134
139
142
141
88
86
84
220
200
184
122
122
180
178
182
184
188
141
147
150
204
210
157
157
155
148
198
196
194
193
191
189
135
131
130
137
143
203
207
155
160
216
220
223
228
233
236
183
182
235
235
239
188
185
176
174
172
169
166
212
211
208
210
204
149
145
141
189
185
126
175
176
172
116
112
161
156
156
157
106
106
106
105
156
153
153
153
153
102
102
154
106
106
156
157
105
105
104
156
156
155
105
106
159
159
111
111
163
163
111
111
163
163
161
162
162
162
111
111
111
112
112
111
163
162
162
162
160
160
108
110
112
114
167
169
120
121
174
174
121
121
123
125
178
177
125
124
176
164
111
109
108
160
158
158
103
103
99
152
98
94
93
100
150
94
92
89
84
133
136
136
135
82
133
132
80
137
84
80
76
73
123
122
117
119
118
68
121
120
69
58
59
58
111
111
58
112
59
60
114
108
53
55
58
65
123
132
89
92
138
78
120
115
112
114
65
120
123
80
81
136
137
141
139
142
143
93
95
97
101
99
101
133
131
131
80
78
74
70
125
122
120
121
126
131
131
131
80
81
81
82
82
83
84
80
73
119
118
118
65
62
62
59
60
64
116
64
64
64
62
114
113
60
72
100
93
38
29
68
63
17
19
81
97
109
117
130
142
165
136
141
131
59
61
71
64
68
71
75
134
138
144
140
87
85
135
193
175
165
168
127
133
134
130
186
189
140
146
201
201
155
155
155
154
203
201
200
147
199
197
196
144
137
133
191
191
192
143
199
209
212
218
221
225
229
232
179
178
232
234
234
233
177
171
222
215
163
161
159
206
203
198
140
189
134
133
130
125
168
165
112
113
111
109
107
104
157
158
107
108
108
107
158
154
154
154
102
102
154
154
102
102
103
103
103
102
154
152
153
155
105
105
107
109
161
161
161
162
110
111
163
163
162
163
163
164
112
112
112
114
114
113
164
163
162
162
160
107
107
108
109
110
163
165
117
119
173
173
174
122
122
125
127
127
127
127
179
170
117
114
112
164
161
162
159
158
153
153
151
97
95
100
99
94
92
141
137
134
137
137
137
136
84
83
83
86
85
77
74
72
124
123
122
69
69
66
118
116
63
62
61
112
112
112
59
58
62
61
110
107
105
49
48
63
67
77
144
161
159
150
136
128
119
114
109
115
125
72
73
76
129
132
134
135
83
86
141
145
147
148
95
78
76
74
125
127
78
77
78
72
118
66
119
122
119
77
79
79
130
76
79
80
77
133
117
132
104
96
77
72
70
119
119
67
67
63
63
61
60
59
58
57
122
123
54
93
30
69
57
54
7
14
79
91
102
120
135
160
146
184
158
90
112
71
62
118
70
74
130
137
142
137
136
82
81
173
153
130
120
127
129
132
130
182
185
136
142
196
201
156
155
154
151
148
201
201
198
198
197
145
143
189
188
189
189
190
192
196
207
159
166
169
173
176
177
179
180
229
229
227
226
173
168
217
210
210
210
208
205
198
131
138
134
129
124
120
117
109
155
103
104
104
104
104
105
156
157
158
159
108
108
107
157
105
103
102
100
150
149
102
102
102
101
102
102
154
102
103
154
104
106
160
161
161
161
162
163
164
164
165
165
164
165
114
115
116
116
117
115
165
163
162
162
163
163
162
108
107
107
159
159
160
165
113
115
169
171
173
175
126
128
181
180
180
179
127
132
126
124
176
174
172
168
117
113
104
155
152
150
96
94
94
89
85
134
133
134
84
86
136
85
84
83
134
135
133
78
76
75
74
72
124
72
123
123
67
64
60
59
58
112
115
115
63
61
60
58
107
103
107
110
59
69
76
87
154
169
117
167
114
101
90
136
74
75
79
68
116
115
115
113
115
121
73
76
128
128
135
137
83
74
65
76
76
60
138
118
121
95
57
90
110
70
114
82
121
131
125
89
79
108
84
125
82
148
114
134
82
121
135
116
128
73
74
115
110
123
44
65
56
60
111
89
63
110
118
68
15
55
64
71
76
40
115
93
59
133
162
174
68
81
99
143
105
116
78
68
72
83
78
85
84
82
133
182
163
137
125
124
126
130
130
131
184
135
139
193
195
152
152
203
203
148
148
199
197
197
144
144
142
190
189
187
187
188
190
194
205
156
162
166
169
172
174
176
178
173
173
225
224
171
164
163
157
208
207
205
149
195
180
134
131
125
173
169
112
106
102
154
155
103
103
104
105
105
158
159
160
109
109
108
158
105
104
102
100
151
150
100
101
101
102
101
154
154
103
155
157
156
158
107
109
110
110
110
111
164
113
165
166
165
114
115
116
116
117
117
115
165
164
163
163
112
112
111
109
107
106
106
158
159
112
164
114
168
169
172
173
173
124
178
177
177
177
177
185
128
126
179
177
121
117
169
167
106
156
154
153
151
144
91
90
87
87
137
86
83
135
86
85
86
85
137
136
134
131
75
74
73
71
123
122
121
122
66
64
60
61
61
60
63
115
114
61
61
110
108
109
113
117
68
75
80
89
154
169
171
117
173
161
152
148
88
87
89
116
60
109
109
107
55
59
59
64
120
122
126
124
68
62
63
59
70
82
73
147
135
59
62
103
79
78
69
73
142
116
81
87
128
138
127
136
74
135
153
149
54
134
131
125
130
85
77
117
121
106
114
68
102
69
65
81
89
55
62
95
82
24
19
36
110
99
45
92
111
77
114
155
98
77
159
126
118
111
124
72
73
82
78
83
83
81
80
201
187
161
136
170
120
125
125
123
124
181
130
183
135
140
142
144
200
199
144
145
194
194
195
193
141
136
134
185
133
135
189
141
150
204
152
207
211
162
165
171
173
219
219
167
166
164
160
158
157
154
202
197
192
133
122
173
170
166
161
159
105
150
148
149
149
99
101
104
105
107
159
160
161
109
109
160
156
155
102
153
151
150
149
99
100
99
100
102
155
155
106
106
157
158
160
109
108
113
113
114
114
167
116
117
117
118
118
119
119
120
120
120
165
165
165
114
114
114
167
112
110
108
106
157
156
104
108
160
161
111
112
114
116
120
123
125
177
126
126
178
185
181
180
178
121
118
115
161
155
143
139
134
131
129
126
125
75
77
131
78
81
82
84
138
139
140
142
142
137
136
133
131
78
125
122
123
122
120
120
65
63
60
67
64
60
61
115
116
64
112
110
111
117
72
80
134
138
91
96
103
168
174
123
116
157
95
140
133
83
136
70
60
52
50
46
45
46
47
55
63
119
120
63
59
62
56
69
69
56
103
146
115
102
64
150
111
147
116
148
73
95
99
113
63
93
72
145
124
106
110
102
187
140
101
128
127
161
128
116
116
52
103
100
116
152
108
70
91
108
83
47
90
90
67
103
103
135
119
135
130
64
110
132
110
60
184
134
173
113
114
129
74
128
79
79
79
78
129
204
191
163
133
116
119
121
117
116
117
172
173
174
178
127
131
186
189
193
193
143
192
194
141
141
139
134
133
134
135
137
192
143
149
203
199
201
205
209
160
171
226
220
220
168
220
218
214
160
157
154
152
198
191
130
115
163
161
158
156
102
102
149
146
145
147
148
151
154
105
108
109
162
162
162
161
160
157
157
156
155
154
153
153
103
103
104
157
156
157
106
107
107
160
159
159
160
161
164
165
113
114
115
116
116
116
117
117
117
117
169
169
169
165
166
114
114
113
113
164
164
162
108
106
157
157
105
105
157
158
107
108
110
111
114
118
122
123
177
126
179
178
175
169
111
109
160
158
156
155
157
106
156
151
149
95
145
139
138
138
136
136
141
142
144
91
146
147
149
87
87
137
135
79
76
72
70
69
119
121
118
62
60
119
116
61
62
62
62
61
111
110
110
122
77
85
142
146
104
161
160
115
117
114
106
93
73
53
48
51
103
111
104
46
42
42
46
51
64
71
79
82
132
79
78
68
65
58
62
72
74
154
122
120
78
89
96
160
116
89
116
117
94
44
92
66
137
109
156
122
75
66
143
133
109
117
61
137
123
121
111
49
79
97
125
141
122
106
101
114
128
117
49
66
109
144
118
98
113
57
92
64
56
100
113
98
133
175
185
86
129
130
125
130
129
78
77
76
127
203
190
159
126
114
167
115
118
169
168
118
114
116
117
121
122
178
181
187
137
140
140
194
141
141
140
186
186
133
134
136
139
195
200
201
198
149
153
209
213
224
229
170
170
222
221
221
216
163
155
207
203
197
190
180
162
160
157
154
153
101
99
96
146
145
95
149
150
153
156
108
108
161
161
161
108
106
105
105
104
156
155
154
154
106
106
107
107
160
158
107
159
159
160
109
159
160
161
164
164
164
165
114
115
167
168
168
168
115
167
167
167
167
166
114
114
166
164
163
162
163
161
107
158
106
106
107
157
157
157
158
159
109
110
163
171
125
180
185
136
138
134
180
173
167
165
166
116
119
120
125
179
123
171
165
170
114
103
102
152
146
146
145
147
95
95
96
150
151
86
88
139
136
133
77
73
121
119
118
119
118
62
111
117
115
63
62
62
112
109
110
110
59
74
136
146
100
103
115
173
169
118
169
162
98
85
115
94
83
31
81
97
93
92
38
37
98
55
70
81
90
146
140
137
82
69
68
63
69
79
69
91
103
104
104
80
75
125
108
71
116
105
125
54
81
59
90
70
69
102
160
149
92
96
106
110
121
133
78
109
69
133
112
80
67
130
84
50
79
52
62
114
103
65
109
82
77
139
105
112
65
112
105
77
89
149
65
164
163
91
89
78
128
135
76
130
77
76
127
246
228
136
107
123
173
174
172
170
169
170
172
119
120
110
161
163
167
124
130
132
136
137
136
188
184
182
183
137
185
130
131
189
193
191
197
150
157
163
218
229
233
173
175
176
175
229
224
165
161
160
153
144
185
174
162
157
154
151
147
92
93
92
90
143
146
145
143
144
147
153
156
157
158
157
156
103
106
106
104
103
156
158
110
160
161
110
111
112
112
163
162
162
163
163
112
164
164
163
164
166
113
112
110
164
163
164
163
163
164
166
170
171
168
115
114
163
162
161
108
162
161
161
109
110
110
109
158
160
162
165
169
119
120
171
179
132
188
195
150
155
141
187
175
167
166
114
112
116
117
125
179
181
178
176
174
166
154
100
94
139
134
126
75
74
75
74
73
127
83
83
134
132
130
76
76
75
70
116
114
112
105
100
113
61
60
113
112
113
113
112
112
64
91
104
170
129
127
183
190
195
139
131
176
167
100
79
57
38
84
76
89
34
31
34
44
58
67
82
143
152
152
128
119
63
34
38
44
51
109
117
118
70
120
121
74
74
125
129
106
53
52
49
47
56
63
67
73
77
128
73
67
106
109
60
61
115
118
116
110
61
60
114
67
68
68
76
67
67
68
68
119
116
112
112
114
63
62
116
118
119
76
71
66
71
80
140
146
98
100
100
94
87
132
133
125
126
127
128
242
176
193
164
172
176
178
181
179
178
179
181
180
129
111
162
111
164
117
122
125
128
129
130
180
180
179
129
135
187
185
131
130
134
137
148
154
161
167
223
233
186
180
182
235
234
234
229
171
163
160
151
140
129
117
152
100
97
146
144
90
90
92
91
144
146
93
143
144
148
151
152
152
153
153
153
102
100
104
108
163
111
111
159
161
161
111
112
112
111
163
162
162
110
110
111
111
164
159
109
111
110
159
108
107
109
110
162
161
110
110
163
164
167
165
164
164
164
164
112
162
161
110
109
110
110
161
158
162
162
164
168
118
169
170
179
131
191
200
211
218
218
164
156
147
144
140
134
132
131
132
186
183
179
176
176
168
152
147
142
84
80
78
83
90
147
100
104
158
116
116
116
168
115
114
113
161
106
100
144
140
132
127
130
77
74
67
63
112
111
55
50
48
60
73
88
152
99
102
108
110
103
103
103
157
153
93
77
101
91
83
103
97
89
85
30
35
40
55
65
132
138
124
116
112
53
110
116
121
130
87
88
140
135
80
77
126
123
126
113
114
59
108
104
57
64
68
73
79
79
79
127
117
113
112
113
63
66
67
120
119
117
66
67
68
67
69
68
68
119
67
117
114
109
108
109
57
110
111
112
113
63
62
59
112
116
125
133
146
150
152
98
91
86
83
129
130
131
132
244
179
200
172
172
179
182
182
181
181
181
131
131
131
114
166
112
163
166
117
120
124
126
127
177
177
179
129
186
187
135
131
127
131
136
200
154
214
221
225
234
238
231
233
234
233
233
175
169
160
156
146
136
179
116
99
97
95
93
89
89
89
92
92
92
94
93
143
144
147
148
148
97
97
150
152
101
102
104
108
111
112
161
158
159
160
161
109
109
109
160
107
159
107
107
108
108
161
107
108
161
162
160
160
108
108
107
107
157
105
157
158
156
163
163
162
162
110
162
162
111
110
111
110
109
110
162
159
161
162
163
167
168
167
166
174
179
187
199
211
222
220
223
216
157
149
143
137
136
186
132
182
180
124
172
164
159
144
139
83
78
76
76
81
94
101
108
166
117
119
120
173
173
120
120
120
175
119
115
165
164
108
157
105
103
152
92
88
85
136
77
70
64
65
70
130
139
88
93
95
93
140
143
147
155
105
156
93
113
101
40
56
102
93
89
82
33
37
41
106
123
137
81
75
123
62
117
123
128
82
89
143
90
86
79
129
123
120
125
111
111
109
107
103
103
110
67
125
128
80
79
128
68
61
61
60
61
64
120
124
125
125
75
76
129
76
78
72
72
125
123
69
118
114
113
113
60
114
113
114
62
65
64
114
114
117
122
133
145
149
100
100
146
142
137
132
133
134
135
253
191
227
201
179
188
188
187
184
183
184
135
136
136
124
124
172
170
169
119
121
123
124
124
174
174
177
128
182
183
131
127
124
132
191
198
153
163
171
175
236
239
190
192
244
241
187
177
222
207
146
136
128
122
167
151
97
95
90
88
88
88
90
93
93
95
93
93
143
146
143
143
92
93
95
97
151
157
157
158
105
104
157
157
158
158
159
159
159
158
157
103
103
103
104
104
105
157
156
106
160
159
159
106
158
107
152
152
150
97
149
147
147
156
155
157
104
105
157
159
114
112
112
110
161
160
159
107
107
161
161
162
162
161
107
112
167
175
189
205
215
221
175
168
213
204
196
190
184
180
171
118
115
110
109
154
148
138
134
79
81
133
133
137
96
104
111
117
119
115
115
168
168
170
169
169
115
113
111
164
164
165
166
106
104
104
157
105
103
103
157
154
103
103
151
149
153
105
108
108
105
99
154
156
162
117
124
119
94
83
128
120
112
52
97
83
76
22
81
90
107
121
133
82
134
74
130
131
133
135
85
86
83
129
125
121
68
64
68
57
58
55
106
48
44
49
54
113
119
69
123
122
62
55
54
54
107
110
114
69
70
123
74
131
132
80
86
87
137
136
82
82
78
75
125
125
126
127
128
129
129
79
79
130
77
127
130
138
147
150
99
101
101
96
145
140
141
142
91
255
255
247
222
186
197
194
196
195
143
143
144
145
145
134
184
181
179
178
180
128
121
121
172
171
168
120
123
179
178
177
124
126
137
194
149
157
168
176
181
240
244
193
195
193
187
235
224
217
211
201
188
178
170
110
92
98
95
92
89
86
139
141
92
94
93
93
93
145
146
141
89
91
92
94
97
152
153
154
157
105
105
103
153
155
156
156
157
156
103
153
151
99
99
100
100
101
101
148
150
101
152
152
99
153
152
151
149
149
147
145
91
141
152
153
101
154
156
105
107
114
164
165
163
161
108
107
106
106
106
106
159
158
158
109
161
163
118
183
198
157
164
222
216
209
202
195
135
182
178
168
113
110
109
107
158
155
140
135
133
132
135
132
136
90
92
97
98
99
96
149
148
148
147
95
147
93
92
143
143
146
96
151
145
146
96
149
99
98
151
154
152
153
105
105
105
108
170
116
169
167
164
108
105
104
110
113
110
152
143
137
131
125
118
115
104
97
96
100
102
107
113
120
120
120
65
119
120
122
123
125
73
79
73
122
120
118
111
61
91
41
90
86
81
76
79
32
38
96
49
51
50
45
46
100
99
50
104
106
60
65
67
120
125
74
72
127
136
84
83
81
81
80
78
78
130
79
80
133
134
134
81
79
129
129
76
130
130
87
141
145
150
103
105
157
144
145
146
95
211
255
255
232
186
201
203
201
149
149
203
203
150
202
193
189
183
179
125
125
124
122
121
120
170
170
118
117
172
173
121
122
125
139
144
150
155
215
223
177
186
241
243
245
245
240
235
222
164
206
196
181
121
117
164
97
94
92
89
88
89
141
138
142
91
91
92
93
144
143
84
86
143
146
148
147
94
97
151
156
104
101
100
153
157
155
152
151
100
100
100
94
94
95
148
149
150
99
93
94
148
150
149
150
151
151
151
153
97
146
144
141
138
150
150
99
154
155
158
158
162
161
160
159
159
106
105
104
103
105
105
156
158
104
155
153
161
173
192
155
165
164
216
213
155
150
196
190
183
182
128
126
121
114
112
164
156
139
137
135
134
135
80
83
85
88
88
140
138
137
86
84
79
78
77
75
72
70
122
122
72
77
133
132
132
136
141
143
91
92
145
94
96
98
100
101
105
112
114
116
169
164
159
158
148
92
92
94
143
141
143
132
78
131
81
124
113
106
112
113
114
113
59
59
59
109
58
111
111
111
115
117
64
63
63
61
113
110
59
91
88
82
75
69
59
61
14
74
30
36
89
38
36
38
91
38
41
96
101
57
56
60
60
64
119
121
69
75
77
77
130
78
130
78
78
79
80
130
130
129
131
83
81
130
126
124
71
75
77
82
91
96
100
102
104
95
146
144
92
208
252
195
176
141
204
204
204
152
152
205
153
152
202
196
142
136
184
182
128
128
136
186
183
177
174
116
114
116
117
118
119
123
138
196
205
158
165
224
229
184
187
238
240
239
234
227
163
209
198
189
177
118
112
108
93
91
141
87
87
140
141
138
138
139
140
141
90
91
90
135
137
88
93
147
148
148
97
150
154
155
101
100
152
154
152
148
94
94
93
92
92
92
145
145
145
145
145
88
90
92
146
148
150
150
97
101
100
148
143
143
85
135
144
145
147
152
154
156
160
161
160
160
161
109
108
107
108
108
107
107
107
108
104
157
158
166
177
139
152
159
200
160
156
150
144
189
184
128
127
122
119
114
108
104
164
157
139
135
135
82
81
85
83
79
79
80
132
132
142
89
83
78
77
78
78
74
72
120
115
61
64
64
68
120
121
124
122
69
70
69
120
68
70
72
78
83
89
142
144
145
142
88
85
83
128
124
72
129
84
91
132
86
95
100
95
89
84
125
125
122
67
63
66
68
55
55
109
107
104
103
101
104
105
56
111
58
60
59
84
79
73
63
54
0
0
49
56
65
72
76
77
77
43
95
96
98
101
105
111
56
57
57
58
59
57
56
114
114
116
118
71
72
77
79
80
80
130
128
125
124
71
124
122
66
62
112
63
67
72
80
89
94
96
99
97
145
140
136
210
196
180
165
142
148
206
155
152
205
153
152
154
153
203
150
146
197
143
143
142
139
191
191
137
137
134
184
126
127
127
127
130
144
201
207
159
166
171
174
230
232
179
233
233
227
222
207
201
136
129
122
116
111
105
95
90
88
138
138
141
142
141
138
138
138
138
139
87
88
136
137
140
91
94
98
99
154
102
103
156
105
157
156
93
91
90
90
91
93
145
145
145
145
93
144
92
92
140
141
143
144
146
148
150
99
98
150
146
141
138
135
132
89
139
141
94
150
155
108
160
110
109
110
162
161
109
110
159
160
162
162
110
109
162
162
116
122
131
137
142
150
203
195
135
131
131
129
124
121
114
110
105
100
148
147
141
131
132
135
84
85
85
82
128
129
132
132
81
136
135
128
73
73
126
127
78
77
77
125
124
126
76
83
134
135
133
131
129
127
78
130
75
68
71
74
130
139
140
140
140
137
84
83
73
122
123
74
79
83
87
81
93
155
158
154
96
89
77
127
125
68
70
73
77
59
112
113
110
105
96
39
45
99
51
54
56
109
110
91
86
78
67
56
41
0
0
58
14
21
78
83
86
51
50
101
102
106
58
116
65
66
119
117
64
63
108
108
58
61
117
70
74
81
80
82
137
136
132
128
125
125
125
123
67
63
60
61
61
65
123
81
89
94
97
102
149
141
83
210
249
181
166
143
145
153
153
202
201
149
152
152
153
156
206
153
153
206
206
152
200
200
146
145
141
135
186
131
131
130
129
182
193
198
207
211
164
168
171
174
227
174
176
228
222
217
152
144
134
128
122
117
111
106
96
147
144
142
141
141
142
142
140
140
139
138
137
138
88
138
139
141
91
94
96
99
154
102
102
103
157
159
157
91
89
88
89
144
146
147
94
94
146
94
94
94
94
90
91
144
144
146
148
150
99
99
150
145
140
86
133
128
85
85
137
89
148
152
157
162
110
111
112
165
164
161
162
162
163
165
167
168
115
115
164
113
117
122
127
130
146
191
185
180
127
127
124
115
112
103
151
95
90
86
87
136
129
78
82
84
84
82
133
129
130
131
132
79
129
129
125
124
70
123
123
74
73
74
125
126
128
79
136
136
136
132
130
128
126
126
127
74
75
77
82
138
143
91
91
142
139
86
85
125
124
126
79
81
82
84
86
96
155
156
152
145
84
77
76
72
68
69
73
77
57
59
114
113
109
99
96
98
45
49
50
51
107
109
93
89
29
18
7
46
47
0
7
17
24
30
85
91
106
103
103
103
106
59
118
67
66
118
117
64
62
106
52
54
109
61
66
71
77
79
84
139
140
137
130
127
127
74
73
69
117
61
60
113
117
121
128
136
143
95
104
150
143
85
204
203
194
183
149
139
199
199
196
195
144
149
203
205
161
211
213
215
219
167
220
221
221
169
167
163
157
207
147
145
194
191
137
144
147
153
209
214
165
166
168
169
218
221
218
213
155
143
134
185
129
177
121
115
110
154
152
149
148
146
93
93
142
145
91
141
138
136
138
138
88
90
143
144
93
95
149
151
151
98
100
154
155
154
95
93
143
143
144
145
93
94
94
95
148
97
98
99
147
147
146
94
94
148
150
149
106
155
148
89
87
81
76
81
78
80
135
142
147
152
163
163
164
113
166
166
165
168
170
171
122
125
127
128
122
164
159
159
160
162
113
121
168
170
124
126
123
166
167
112
102
97
143
87
83
81
130
129
131
132
79
76
84
83
130
127
126
123
68
62
116
118
117
65
65
64
69
70
71
124
123
126
128
133
132
131
129
126
124
122
74
76
77
78
132
83
86
156
155
153
98
93
92
93
90
139
139
88
88
141
92
96
154
156
154
156
95
80
80
78
74
71
66
67
69
43
101
108
113
115
62
60
102
98
98
96
95
51
106
42
39
31
72
63
0
0
0
7
16
24
29
87
93
104
103
101
52
108
60
68
121
121
68
69
68
117
109
52
53
108
111
115
68
76
129
134
140
142
86
82
129
122
72
71
68
115
111
109
114
112
60
65
74
136
90
159
155
97
93
220
215
202
196
141
119
187
187
192
198
149
153
155
208
219
220
224
225
225
229
178
231
179
182
182
181
231
230
230
228
223
221
167
159
157
155
159
161
215
215
157
157
204
204
204
203
152
143
189
184
182
178
175
170
166
162
159
105
103
100
98
99
99
95
93
92
90
90
140
136
84
84
138
140
142
144
146
148
150
98
98
98
98
98
95
94
94
145
146
92
94
93
93
92
92
91
92
94
158
157
103
101
99
99
152
152
107
162
161
108
109
108
104
97
94
92
144
146
150
154
108
160
166
118
172
171
170
174
179
129
132
132
132
131
131
117
165
165
166
164
112
118
163
113
114
114
165
168
171
174
168
110
155
146
86
78
75
70
122
123
72
73
75
76
125
126
125
125
73
68
68
117
119
120
69
69
117
118
119
119
121
121
124
68
69
124
124
127
129
130
81
83
87
93
96
149
151
160
157
155
99
92
142
89
83
83
81
82
91
143
92
86
140
140
140
135
78
74
73
70
72
72
72
70
66
74
126
122
122
70
121
64
65
59
56
49
97
97
100
102
52
52
51
97
83
30
23
22
22
25
34
42
99
119
120
119
67
65
65
63
68
67
69
122
69
119
117
110
111
113
112
61
63
68
126
131
136
90
93
94
92
86
131
75
126
122
115
111
108
56
58
59
64
123
129
144
145
91
88
224
224
219
216
155
118
119
179
183
138
142
147
150
204
216
218
224
226
231
185
187
239
187
190
189
189
239
238
186
236
179
229
227
167
217
214
161
158
154
150
146
147
197
197
196
145
145
142
138
135
134
186
183
180
174
167
110
109
159
156
102
100
98
94
94
92
90
90
88
84
84
85
138
139
141
144
145
146
146
148
96
96
96
96
98
97
95
94
94
94
92
94
143
143
144
93
92
94
156
157
157
104
157
158
108
109
166
169
168
117
119
117
116
107
105
101
99
100
102
105
107
110
114
172
119
118
118
127
132
137
138
139
190
136
134
122
169
166
165
111
107
105
103
101
151
151
106
116
174
179
184
132
130
126
172
102
96
77
70
65
115
63
66
67
71
123
124
124
126
67
68
121
69
69
69
69
119
66
117
115
117
119
68
63
66
120
125
126
131
132
85
86
92
100
104
157
107
115
113
113
163
153
151
95
98
95
93
90
144
145
92
90
142
140
139
84
82
82
129
76
74
73
70
66
114
68
117
112
57
57
114
62
68
121
124
75
124
109
103
108
106
52
104
108
105
103
48
46
96
96
46
51
58
60
115
117
120
70
120
65
68
67
118
118
64
116
115
110
109
110
112
61
114
118
120
123
76
83
87
91
93
90
84
132
128
124
117
111
50
51
53
52
51
107
114
134
86
89
88
224
226
221
218
210
171
115
123
179
185
189
195
146
149
214
217
223
226
181
187
190
191
191
193
193
192
242
241
188
185
233
230
228
168
166
217
164
211
154
149
145
147
200
145
144
145
144
140
139
136
135
135
184
181
176
115
110
109
108
158
103
100
97
147
93
90
89
88
87
82
84
138
139
140
141
90
142
146
146
148
96
96
96
148
150
149
96
94
93
93
94
93
144
142
143
92
94
96
152
153
104
104
156
158
109
111
118
120
174
174
123
176
172
113
161
104
102
101
102
105
106
109
114
116
168
117
119
132
133
133
134
134
137
137
135
123
118
115
166
109
157
150
97
94
92
148
161
120
130
135
140
138
135
130
122
113
105
135
76
69
117
117
63
64
68
122
71
123
123
121
69
70
71
71
70
68
67
66
116
113
114
64
67
66
70
72
127
128
129
132
86
88
93
102
105
157
106
116
117
167
165
158
103
99
101
100
99
151
149
146
143
92
144
142
140
135
82
133
131
127
126
127
123
66
62
118
64
114
60
59
59
110
64
119
125
78
131
120
62
66
61
56
109
112
119
121
117
116
113
111
110
59
116
62
64
66
70
70
122
66
66
119
66
64
63
114
111
110
109
111
111
60
61
66
67
121
126
77
84
88
92
90
88
136
79
72
119
112
50
53
54
51
49
103
111
128
82
87
88
224
225
222
219
166
124
164
169
175
178
182
192
144
147
211
214
220
224
180
187
190
195
195
198
198
197
247
246
242
188
183
181
179
171
168
165
216
211
207
202
199
200
202
203
154
155
158
153
149
204
200
196
192
186
182
176
112
112
163
161
158
102
97
149
95
92
91
90
89
84
137
137
137
138
87
87
141
144
92
92
94
94
94
147
146
146
93
92
145
145
94
93
143
143
144
92
94
96
151
151
102
104
104
107
163
164
175
127
182
182
185
185
184
124
121
117
165
160
107
107
105
104
107
109
162
167
121
129
183
185
135
134
136
135
132
120
116
113
111
105
154
145
138
86
90
102
172
184
150
151
149
143
188
126
118
113
110
147
140
80
128
127
68
72
73
72
72
123
124
127
126
128
127
72
71
68
68
66
117
110
111
61
64
68
71
74
76
127
129
131
82
84
141
151
100
152
150
118
116
168
168
166
113
112
162
108
160
161
107
105
154
153
151
151
146
140
135
133
130
77
76
75
72
68
64
113
113
62
62
65
68
119
116
114
115
66
71
74
126
120
121
119
120
119
127
133
139
139
140
136
128
72
71
71
71
72
74
75
127
73
66
65
66
63
114
112
108
109
59
59
60
60
62
66
66
120
69
73
79
136
89
90
91
88
82
76
73
118
103
52
52
51
51
52
53
70
80
88
90
255
255
255
216
186
138
152
164
170
176
128
137
141
197
207
211
218
223
178
184
238
189
241
243
243
242
187
186
183
181
178
175
173
215
160
159
206
201
201
201
201
205
212
214
165
167
168
168
170
165
215
208
203
199
193
181
115
112
162
164
163
155
150
147
146
146
143
90
89
88
139
138
138
86
89
88
88
90
91
143
93
93
94
146
147
95
95
93
145
145
93
94
145
145
143
144
93
95
94
97
101
104
106
112
170
176
180
187
193
197
197
196
194
184
126
122
172
170
114
111
107
103
103
104
107
165
119
126
186
189
139
140
191
189
135
116
113
111
108
151
140
91
81
86
97
111
125
186
191
197
145
141
188
182
176
118
116
99
96
144
136
79
81
74
128
75
121
121
75
73
124
126
126
126
71
121
71
68
62
108
111
62
116
118
121
71
74
127
77
80
133
136
140
146
147
147
98
116
114
163
162
164
117
118
165
163
161
159
157
155
103
110
162
161
159
151
147
143
142
85
77
75
75
71
66
59
111
61
64
71
79
132
125
126
125
69
65
120
124
59
63
121
127
130
81
137
137
142
144
92
138
130
69
74
129
80
131
131
130
81
70
72
123
68
63
59
111
116
63
62
60
60
60
61
64
68
70
75
135
141
144
148
95
93
90
137
76
68
57
107
55
55
51
50
48
59
70
83
90
255
255
220
217
185
141
157
164
118
123
129
136
142
145
203
207
214
218
173
230
233
236
237
240
240
188
188
187
234
232
177
175
173
164
161
210
206
201
201
201
202
206
211
215
167
169
171
172
172
170
165
158
206
200
194
183
117
113
111
163
109
105
151
148
147
145
144
143
88
87
87
87
85
136
139
140
86
141
143
143
93
93
146
145
94
94
94
94
94
92
144
145
144
144
92
91
92
94
94
97
101
105
108
114
174
180
135
139
197
200
149
147
197
187
129
123
173
170
166
163
157
100
153
154
157
163
117
173
182
186
188
189
134
135
185
169
112
109
156
148
139
140
79
84
93
106
175
183
186
189
191
191
191
185
177
176
120
158
101
149
143
83
82
129
79
76
120
116
67
72
124
126
128
128
124
122
122
120
115
112
112
114
64
65
66
69
124
127
78
81
135
139
91
96
150
152
101
115
114
163
160
163
112
114
165
163
109
108
105
103
103
161
110
109
110
103
152
148
93
87
83
81
80
75
70
60
112
113
64
69
79
133
79
131
76
71
66
115
117
106
59
64
69
74
81
137
135
135
136
135
84
83
123
128
130
133
134
136
134
131
124
123
121
67
64
60
111
118
117
64
62
114
113
113
65
67
122
128
135
141
144
151
149
95
144
138
132
124
110
109
108
53
51
50
101
57
68
81
88
255
255
223
219
235
194
162
111
117
124
127
135
141
144
194
198
152
156
212
217
219
223
224
227
177
178
178
230
229
175
224
169
167
156
205
200
197
141
142
143
198
151
211
214
169
175
228
228
176
174
169
163
156
201
194
181
121
116
162
161
159
104
103
99
149
148
146
145
91
90
89
86
137
136
136
137
134
136
138
140
90
92
92
94
95
95
95
93
93
145
145
143
142
89
141
90
91
93
96
152
157
107
111
118
178
185
187
139
195
195
194
192
190
135
180
176
117
112
161
159
151
147
94
95
150
156
163
165
173
175
180
128
127
180
181
172
113
102
147
89
139
133
76
76
77
135
149
162
172
176
182
180
176
171
169
177
174
166
161
158
151
147
143
88
86
82
75
69
120
124
121
119
120
120
121
121
116
114
114
113
110
110
110
58
60
60
64
118
122
73
127
130
85
91
145
147
150
102
156
157
159
108
109
108
159
158
105
104
103
101
102
161
109
110
108
108
106
104
98
95
95
97
93
142
86
80
77
125
123
122
125
128
78
77
75
71
120
119
120
44
47
53
57
62
124
129
78
76
75
128
80
83
83
83
133
131
134
136
136
129
132
127
121
66
117
115
58
118
117
117
116
63
115
114
64
69
125
128
134
139
145
151
150
149
147
91
138
131
116
113
108
101
99
98
100
108
117
76
135
255
255
255
255
239
197
163
164
170
176
181
188
192
197
143
146
151
153
207
211
160
164
164
166
166
164
213
212
167
165
161
159
157
147
143
143
139
135
136
190
141
146
155
211
165
168
222
171
170
168
165
158
204
195
188
124
118
113
110
163
160
103
100
99
97
97
147
145
145
92
86
84
134
132
133
133
132
132
83
85
140
90
90
93
96
96
96
96
96
146
146
143
90
142
90
90
91
93
149
153
158
161
113
117
178
184
135
137
191
192
140
139
137
128
177
169
108
102
152
152
145
142
91
92
95
102
159
158
164
168
119
121
173
175
172
166
159
96
88
83
133
133
73
69
117
115
117
123
123
129
150
149
146
151
105
110
166
162
158
103
98
92
139
86
84
139
141
144
93
85
131
118
115
114
61
61
105
105
53
53
104
104
51
54
56
54
105
109
115
66
76
133
139
97
152
155
158
98
151
153
156
110
110
112
157
155
155
154
152
151
149
158
104
103
102
99
97
95
94
93
93
95
94
145
94
98
95
88
136
133
127
125
126
72
70
68
121
123
70
57
59
57
55
53
111
112
119
125
80
81
133
133
94
89
85
135
134
133
82
83
84
132
72
67
65
63
114
114
114
112
113
112
61
113
63
68
127
128
131
135
142
151
151
150
148
146
142
136
120
116
56
51
99
97
46
105
58
66
124
221
255
255
255
245
153
170
165
171
177
182
188
192
197
143
146
151
153
154
209
158
162
214
216
216
215
212
211
212
211
156
156
156
149
199
199
143
139
192
193
196
148
153
156
160
214
215
166
165
165
160
153
199
191
185
173
115
111
109
162
110
104
98
98
97
95
145
145
143
144
85
82
132
131
132
133
132
131
81
136
139
141
90
92
148
148
96
96
96
94
146
144
144
91
91
91
93
146
149
153
157
160
112
115
175
181
133
134
137
190
136
136
135
126
173
164
104
97
95
148
142
140
143
145
96
101
105
154
158
161
111
116
168
170
167
158
152
91
84
79
127
131
70
67
115
110
109
57
106
105
119
73
77
85
90
97
100
100
148
145
87
84
79
80
83
141
145
149
148
95
91
131
73
66
59
55
54
53
53
52
104
104
103
103
50
51
52
57
116
120
129
133
141
99
103
157
108
101
152
153
154
157
159
109
157
157
155
101
149
148
148
151
99
97
96
94
144
144
141
88
88
90
143
145
146
148
95
143
140
139
132
129
129
75
72
73
127
131
77
70
68
64
57
51
49
103
112
66
75
80
83
88
94
84
87
87
138
136
134
135
136
133
125
67
61
59
117
112
111
112
111
111
60
61
63
120
125
127
130
133
141
150
97
149
150
146
142
85
120
117
60
52
47
45
44
54
58
65
70
255
229
225
218
246
215
131
119
174
180
187
194
145
141
200
150
153
157
160
212
211
212
212
212
212
213
213
213
159
211
209
209
156
154
154
151
201
198
144
198
206
157
205
207
210
162
216
165
165
165
161
155
149
143
134
123
108
107
157
156
102
150
96
96
97
97
98
96
95
93
90
90
141
140
140
139
138
82
83
135
138
139
140
89
143
143
90
90
91
92
146
145
93
92
93
94
96
151
150
153
157
163
114
119
174
176
125
127
129
132
133
132
183
164
161
157
153
100
150
149
144
145
146
148
97
96
95
163
158
105
106
108
108
159
155
146
89
84
80
77
127
69
68
69
118
115
112
58
61
60
108
108
61
71
78
65
69
134
135
134
80
78
82
82
83
135
136
138
139
136
136
138
137
133
70
62
102
46
40
44
48
101
48
50
52
107
70
78
135
139
146
147
147
99
100
100
151
156
155
156
156
154
103
104
105
104
103
102
150
150
97
94
92
89
138
140
90
142
137
85
85
139
93
96
150
137
136
137
137
137
134
132
131
78
76
74
129
130
131
115
113
59
53
50
42
39
50
50
51
107
60
60
58
76
79
83
89
93
94
85
130
130
126
66
56
99
99
43
46
48
53
59
64
71
125
126
124
125
71
70
69
85
89
92
146
147
93
90
133
124
61
53
51
50
98
109
60
66
124
229
228
223
217
201
230
150
114
171
181
140
145
150
152
205
207
210
161
162
213
212
209
209
209
209
209
209
157
211
212
211
211
211
157
157
207
205
202
198
146
150
203
203
205
207
157
210
210
158
157
154
150
146
140
130
115
104
103
154
152
149
145
143
95
93
95
95
94
93
92
89
89
87
88
86
136
135
83
135
135
138
139
140
140
142
142
89
89
90
92
146
148
149
98
100
103
158
161
163
110
162
163
166
169
175
178
123
121
120
119
117
114
163
158
153
150
146
92
92
92
141
142
91
93
94
93
92
147
94
97
151
151
152
150
149
88
134
128
71
68
117
119
118
64
64
113
110
109
54
54
53
50
101
101
50
46
49
111
115
117
120
68
65
65
66
70
131
138
143
78
80
83
136
137
139
88
134
74
66
105
103
48
46
56
109
110
121
77
82
138
144
143
145
96
97
97
148
152
101
153
151
149
99
98
99
100
101
102
152
150
97
93
93
92
142
140
139
137
79
78
77
128
81
82
83
133
133
134
81
81
75
75
73
71
71
125
128
130
128
122
122
68
66
63
58
57
56
55
55
108
60
63
65
76
72
72
76
86
92
95
143
135
72
65
61
56
41
45
99
102
56
113
118
124
126
127
125
73
70
69
68
79
81
85
89
143
90
90
83
79
71
119
116
112
107
63
64
67
69
229
226
223
255
255
187
217
115
170
180
195
148
155
158
156
210
160
163
163
162
161
210
210
210
209
209
209
208
214
213
213
215
162
162
212
211
209
206
202
149
148
148
151
151
152
152
153
203
151
151
149
146
143
137
127
112
102
101
99
97
147
143
141
142
91
92
94
92
92
91
88
87
138
138
137
135
134
135
136
86
138
139
140
140
89
141
89
89
90
92
146
149
98
100
155
159
162
165
162
109
161
162
164
167
168
170
175
120
119
169
166
111
161
153
148
143
89
89
143
144
143
143
92
93
94
94
92
147
93
93
148
147
145
145
133
126
124
121
121
118
116
118
116
114
60
58
58
109
108
108
52
50
101
101
49
48
104
110
113
115
66
67
66
65
61
64
70
131
84
71
127
132
81
135
139
91
146
86
79
117
111
53
100
60
112
114
124
78
85
89
90
143
93
95
96
95
147
153
102
151
149
150
98
99
98
100
101
103
100
150
148
94
95
96
95
143
139
136
79
77
128
126
128
76
77
130
129
77
77
126
70
67
65
65
66
70
123
124
122
119
67
66
65
65
114
114
63
62
59
113
63
69
124
125
73
72
124
130
138
150
93
86
77
68
62
55
97
95
97
102
55
111
117
125
127
127
75
74
70
68
67
127
129
80
83
138
140
89
84
80
128
71
67
117
110
120
69
70
123
225
223
222
217
255
252
233
127
122
179
195
208
161
163
161
163
218
221
170
169
168
167
219
218
218
217
216
215
218
220
221
223
173
170
168
220
219
216
215
160
154
152
149
147
145
143
142
190
138
140
138
188
134
131
175
163
104
102
100
98
147
142
139
138
137
139
89
90
90
90
86
137
137
137
136
138
138
141
89
89
141
142
142
142
141
141
90
90
92
94
148
152
102
104
159
161
110
111
112
114
169
169
169
167
165
160
159
157
102
103
155
154
153
144
142
88
88
142
145
147
145
144
93
95
96
147
146
145
86
82
134
132
131
130
136
128
126
124
123
120
118
117
114
111
110
57
56
56
53
102
50
55
111
116
67
71
123
122
120
118
64
64
65
65
69
73
78
135
87
72
128
136
136
137
137
137
88
89
90
141
135
129
73
71
71
121
71
75
83
86
89
144
93
95
146
94
145
153
151
149
97
100
102
104
101
101
101
153
99
97
97
99
100
101
101
149
146
90
88
136
131
77
127
126
125
122
122
69
68
118
109
104
49
45
44
46
49
51
50
107
108
111
116
65
120
123
71
122
122
122
124
130
135
125
129
134
131
124
124
138
84
86
86
79
69
60
107
40
94
99
52
57
61
121
127
75
77
74
74
71
71
119
121
70
72
127
131
82
81
80
79
76
70
119
116
123
72
74
75
224
224
255
218
255
252
181
141
125
175
141
161
163
163
163
165
221
172
175
175
227
172
171
223
222
221
167
167
222
223
228
230
179
178
176
176
176
174
173
221
212
209
147
145
142
190
188
183
131
135
184
182
128
126
174
168
161
160
106
101
98
95
142
135
136
136
139
141
142
142
134
135
137
138
87
88
91
143
143
144
92
92
92
94
142
142
143
92
94
96
150
160
161
110
111
112
111
110
112
111
111
162
110
110
161
161
150
148
146
147
145
93
144
150
148
93
92
90
142
89
90
89
142
142
91
142
141
99
140
86
136
138
141
91
132
127
76
78
130
77
78
65
113
111
107
55
107
108
53
54
118
127
132
134
133
85
85
82
133
128
124
121
70
74
139
143
94
146
146
129
125
121
126
130
134
135
136
137
139
143
146
149
97
105
153
145
135
82
84
87
88
143
144
94
147
93
93
145
91
91
90
97
101
103
103
102
99
146
146
95
96
94
147
96
97
98
97
95
146
141
137
132
127
125
72
73
73
71
69
66
108
103
90
83
26
25
80
31
32
30
86
89
95
100
107
58
64
66
65
66
69
125
77
76
126
129
80
136
82
67
134
80
80
81
80
75
57
44
98
101
54
58
63
72
72
74
76
76
76
76
128
117
117
64
118
118
122
127
80
81
80
75
71
120
121
81
84
89
146
228
223
255
255
255
255
251
159
118
118
147
151
220
223
167
169
171
225
175
175
175
174
175
227
226
224
171
172
227
228
228
229
177
179
178
178
177
176
175
171
216
213
153
147
139
186
185
186
187
134
186
187
186
183
175
166
162
158
102
99
94
92
140
135
135
137
137
139
141
143
137
139
141
89
88
90
91
146
147
147
94
94
96
95
149
149
148
94
93
94
149
155
156
159
109
112
113
114
113
113
113
163
110
107
157
154
151
148
147
146
145
93
93
145
91
90
90
89
88
87
91
92
143
88
89
143
145
97
95
93
89
85
85
87
134
130
76
75
125
127
75
70
65
109
105
107
107
57
52
62
80
136
138
139
139
137
84
84
137
133
127
122
75
78
138
140
88
140
139
72
75
71
65
117
124
79
80
134
137
88
92
96
98
106
108
106
151
147
95
94
84
87
140
144
143
144
91
86
88
87
143
147
99
101
102
100
99
148
143
142
139
91
92
145
95
97
96
94
99
94
140
132
127
124
73
72
72
71
120
64
106
99
39
87
30
81
26
77
77
15
20
78
87
94
103
106
60
58
61
121
125
123
67
68
125
130
83
82
79
129
126
79
83
86
84
79
68
103
99
99
51
59
68
74
73
74
77
131
79
79
129
117
62
61
64
65
118
121
123
73
127
128
80
134
135
98
98
99
101
229
228
255
255
255
255
255
226
129
115
187
203
162
217
220
221
171
225
228
228
176
175
228
176
227
224
172
225
229
229
177
179
229
180
179
229
176
175
224
222
160
157
202
198
193
189
135
131
183
132
184
184
183
180
173
165
159
103
99
94
92
90
136
138
86
137
137
137
138
138
83
85
139
90
90
91
93
149
149
150
98
98
97
97
149
149
148
146
93
93
148
153
155
157
108
110
111
111
110
111
111
163
161
104
100
98
92
143
143
143
142
92
93
96
95
95
93
92
142
142
144
143
91
89
91
94
95
91
145
148
147
145
87
83
87
84
81
131
129
126
73
69
64
61
109
105
105
106
65
76
90
93
94
148
95
88
139
138
137
136
132
76
78
80
135
137
85
135
82
80
131
73
120
116
60
58
64
118
71
82
89
96
100
157
108
111
162
159
107
107
159
159
155
92
85
79
76
76
77
78
132
140
93
97
148
148
94
92
133
129
127
130
79
81
136
144
146
147
153
98
146
142
132
76
73
74
75
73
71
118
107
100
39
35
34
32
31
83
31
16
19
75
80
33
93
97
44
45
101
109
115
117
118
70
124
76
131
132
132
129
125
76
131
84
85
87
135
122
118
112
60
64
122
72
71
72
127
130
130
132
80
67
65
63
117
66
65
67
80
83
87
89
93
97
152
152
152
151
151
229
229
229
255
255
255
255
237
139
112
177
200
157
213
219
220
223
173
177
177
178
228
229
177
176
226
225
226
224
225
225
224
172
171
222
222
170
169
169
167
212
157
200
197
193
191
137
129
178
127
126
126
125
122
168
162
155
152
94
91
90
88
134
133
82
81
134
84
138
139
84
86
87
88
89
93
96
152
152
152
151
153
152
100
148
148
148
147
93
92
94
149
151
153
155
156
105
105
106
107
108
105
103
100
96
93
92
141
141
143
146
149
151
98
98
98
96
97
95
145
142
140
88
139
141
92
95
95
141
141
145
149
94
90
81
81
79
78
129
127
76
74
61
60
108
107
112
118
80
89
98
100
103
154
154
98
149
147
145
142
87
83
80
83
135
83
84
83
82
129
127
128
130
128
70
65
111
111
62
75
82
88
91
145
149
155
161
161
161
160
157
156
154
98
96
95
94
89
139
136
133
134
84
86
137
140
89
86
80
74
123
125
127
130
136
94
99
103
154
154
154
99
88
80
77
79
129
128
73
68
106
102
100
97
97
95
97
46
48
41
93
42
44
46
49
51
54
111
69
76
80
129
59
74
125
74
75
79
134
131
129
129
131
81
136
138
89
87
136
132
77
75
76
76
78
79
132
133
132
133
80
71
70
72
77
81
80
81
90
144
94
95
94
94
145
144
91
89
139
229
229
229
255
255
255
255
238
196
114
122
146
205
212
164
166
169
171
175
228
228
227
228
229
176
225
224
173
171
171
223
222
221
219
220
218
218
168
167
166
160
158
148
197
141
190
188
180
178
124
123
122
121
170
165
160
153
150
146
92
89
139
84
79
132
133
82
84
138
141
137
138
87
88
89
92
148
152
152
152
153
153
100
100
95
96
97
95
93
92
93
147
148
150
152
153
154
154
104
156
156
103
99
97
95
94
144
143
89
91
146
150
152
99
100
99
99
98
96
146
141
139
138
136
137
141
93
92
88
141
92
95
148
95
84
81
78
76
127
127
129
122
111
113
111
110
66
74
85
91
101
100
103
104
102
102
102
152
150
147
88
84
82
82
83
84
84
84
136
130
129
130
130
127
69
63
113
112
116
75
82
86
88
141
145
151
105
105
158
158
102
153
99
94
145
145
93
92
144
143
141
138
86
88
136
136
136
135
129
127
125
126
125
129
79
92
97
101
156
155
154
153
91
84
132
132
78
127
124
119
107
100
103
50
48
50
102
105
54
105
105
54
109
110
108
57
63
71
79
85
88
83
60
74
72
71
72
77
79
128
128
128
130
131
81
84
86
89
140
139
85
135
133
133
133
134
82
83
134
136
136
132
80
82
87
90
87
89
95
97
148
148
147
144
141
140
138
135
133
229
229
229
255
255
255
251
245
207
173
121
138
143
153
163
165
168
171
175
228
229
229
230
178
177
175
226
175
172
172
171
170
220
218
166
213
214
217
165
165
163
161
150
198
192
188
185
180
179
120
119
117
168
165
161
157
153
150
146
144
143
142
85
85
136
136
137
137
135
136
140
140
88
87
88
143
147
151
151
151
152
152
152
99
95
96
97
148
93
92
91
143
144
146
148
149
149
149
101
152
149
96
95
94
96
149
91
89
88
87
91
147
150
100
100
101
100
151
97
98
140
136
132
131
131
136
88
82
93
96
96
94
93
147
98
87
79
74
125
126
127
125
75
83
87
83
85
94
92
98
103
104
156
106
106
109
110
164
160
100
90
137
133
134
86
88
91
92
146
126
127
128
127
74
71
69
115
115
115
129
84
88
142
78
133
136
86
87
142
142
143
88
85
136
137
139
140
88
142
147
98
157
105
107
104
156
153
96
141
137
136
134
82
136
138
147
101
156
154
103
100
100
93
89
88
131
131
128
124
117
104
101
101
50
102
52
53
109
109
116
66
69
71
71
67
65
127
131
84
83
84
136
64
70
66
63
63
69
71
119
120
68
71
129
132
82
85
82
85
89
92
143
140
137
80
80
82
83
139
144
147
152
100
101
101
152
95
92
88
88
142
143
142
139
85
121
118
114
110
255
220
255
255
255
255
250
239
156
122
169
140
148
156
209
160
165
168
227
230
180
178
234
236
182
179
230
231
176
228
176
173
173
169
219
219
167
168
166
166
160
159
208
207
154
149
145
190
187
131
127
120
168
166
166
112
163
162
104
153
150
148
94
91
143
142
142
143
143
142
137
138
86
87
140
142
142
145
147
96
149
149
150
149
91
92
93
145
92
143
142
143
90
90
90
90
88
88
144
144
146
147
95
94
145
144
85
84
136
136
86
141
143
92
93
92
93
92
91
89
86
81
79
79
133
136
86
83
84
86
142
91
89
89
92
138
134
127
125
123
71
77
87
88
89
143
146
151
152
103
160
159
158
107
107
98
153
153
147
88
82
132
79
133
138
140
89
92
92
80
79
125
122
66
61
60
60
113
117
118
70
74
77
71
72
73
73
74
72
72
72
126
77
86
92
148
97
97
98
100
97
93
94
93
95
146
146
95
97
93
91
89
90
91
93
152
156
159
104
103
103
102
148
93
89
138
133
127
68
115
107
106
107
107
110
111
62
70
124
62
64
68
125
74
77
78
80
141
147
147
94
89
103
46
50
56
115
124
75
74
126
124
70
71
70
70
122
68
71
125
77
132
136
92
145
92
91
144
97
101
107
166
165
110
107
152
92
84
127
125
70
120
119
117
61
104
103
101
100
221
217
219
217
209
203
243
174
153
129
123
137
199
207
209
212
217
220
225
178
180
178
181
234
233
179
229
230
226
225
224
169
168
165
163
212
213
214
164
163
160
159
212
211
209
152
148
140
137
135
130
121
115
113
164
111
109
160
157
154
151
149
94
91
89
89
141
141
140
140
136
84
85
86
86
140
141
143
146
95
147
148
149
96
92
93
92
91
142
141
88
90
90
89
89
89
89
87
142
143
143
144
145
92
144
141
135
132
132
134
84
87
86
88
87
88
88
88
86
85
84
80
129
129
130
130
131
77
85
139
86
87
138
140
140
135
133
131
128
127
73
82
141
143
144
146
148
100
153
154
158
156
103
102
155
149
149
147
144
86
81
79
77
131
135
136
84
84
86
73
72
120
117
114
61
59
60
62
117
69
70
74
77
67
69
71
72
70
120
68
64
67
69
77
79
83
84
86
88
90
142
141
88
138
143
142
141
144
147
145
143
145
146
97
98
157
161
112
110
108
107
157
150
146
89
84
79
73
119
111
102
100
103
104
106
108
60
120
123
63
64
67
71
75
77
132
81
140
144
143
140
80
95
32
89
95
55
65
72
70
123
123
70
67
67
65
65
64
67
72
129
133
137
139
142
91
147
97
99
100
105
163
163
109
105
151
139
127
119
65
62
60
112
112
108
98
97
95
93
218
214
255
255
251
241
176
147
140
130
178
135
198
207
154
157
214
219
172
175
179
229
176
178
230
229
173
172
222
220
216
213
211
154
206
206
156
157
158
159
155
154
160
159
209
204
200
193
137
133
180
172
167
165
112
112
107
159
157
155
101
150
95
89
88
86
137
82
83
84
80
80
81
82
134
136
137
139
90
91
144
145
146
146
144
94
94
93
141
140
141
139
139
139
138
138
138
138
87
88
90
91
90
90
90
90
137
84
81
80
131
78
78
85
85
85
85
136
84
85
137
136
82
130
129
128
128
127
135
84
83
134
134
85
139
136
86
142
143
141
87
91
94
95
148
149
151
152
149
150
152
151
97
97
98
147
146
141
86
83
83
82
133
133
133
131
79
78
78
74
126
124
123
124
122
69
66
67
70
74
74
129
129
122
123
72
70
67
66
65
116
65
64
63
115
117
66
67
67
122
121
120
119
116
118
116
118
120
123
123
72
84
139
88
92
101
157
162
166
168
113
163
156
151
149
146
92
86
131
126
115
114
57
110
110
112
60
117
122
64
65
118
69
71
74
75
129
133
137
137
82
72
100
73
25
33
43
54
61
117
114
63
113
114
113
114
60
68
68
68
72
126
129
136
78
83
142
144
145
144
145
151
148
144
85
129
121
113
111
109
106
57
110
59
58
42
93
91
89
219
215
213
209
245
180
165
152
143
181
176
192
197
146
151
155
211
215
167
172
174
226
174
173
225
226
172
169
168
165
213
207
205
150
201
205
203
203
153
154
160
162
165
164
215
212
209
151
149
191
188
181
178
174
119
112
104
155
155
154
152
149
91
89
85
82
80
78
78
78
76
77
77
130
131
81
81
83
86
140
141
142
144
144
145
92
92
143
140
87
137
139
137
137
137
137
137
84
83
84
86
86
87
88
88
87
137
134
82
133
132
131
79
136
133
133
133
134
136
136
139
137
85
84
134
132
129
134
129
77
79
135
137
86
86
86
87
87
143
147
99
101
100
99
151
100
151
152
150
152
148
143
87
86
86
139
138
136
82
80
79
80
133
133
79
78
77
76
76
81
133
130
130
131
132
130
74
76
77
78
76
77
77
73
71
121
115
62
62
62
108
57
59
111
63
116
116
119
119
118
64
54
50
42
44
42
96
44
95
98
99
120
69
126
131
143
148
103
155
105
104
155
155
153
152
147
147
143
140
85
131
129
130
131
131
81
81
138
141
134
134
133
134
133
134
135
135
136
137
137
136
131
123
99
44
45
101
56
60
118
116
114
114
114
112
112
113
126
126
126
74
75
128
78
76
75
74
75
130
134
135
134
130
126
122
117
114
112
113
110
58
59
63
66
68
57
108
105
103
224
220
219
214
197
183
169
212
199
182
174
192
144
140
150
153
209
214
167
169
225
226
224
224
172
174
169
218
220
165
159
155
152
149
149
201
201
200
151
153
216
166
168
220
220
216
162
157
155
196
193
187
183
179
121
111
102
103
103
154
152
147
143
139
85
82
79
75
75
130
128
128
77
129
78
80
81
134
137
139
140
141
144
143
143
92
144
141
138
137
85
87
87
85
137
137
137
85
79
132
134
136
86
86
85
85
132
132
133
133
131
131
131
133
132
131
132
133
134
135
136
137
86
85
81
131
129
136
127
75
130
136
86
85
135
136
85
84
88
93
99
158
102
153
154
101
152
100
153
101
146
139
83
81
80
84
136
135
81
80
130
129
132
79
78
77
76
75
75
83
132
131
77
79
80
78
77
77
80
79
78
77
78
73
71
66
113
112
60
61
110
111
58
107
57
56
57
121
69
68
117
50
96
38
34
33
33
33
84
86
89
109
60
117
124
83
141
147
96
98
149
149
151
150
149
141
140
139
86
84
80
131
130
133
134
135
138
143
145
144
143
142
141
141
88
140
144
144
143
142
142
85
81
115
61
59
60
65
120
127
125
125
72
70
121
120
67
124
126
128
130
130
77
74
130
126
71
71
76
132
134
125
125
123
122
67
64
115
115
60
60
61
65
69
121
121
119
117
115
227
227
226
225
212
206
254
239
223
193
180
191
142
148
151
206
210
162
166
169
223
222
224
223
221
222
220
219
215
210
154
153
148
145
197
196
144
147
150
154
212
214
168
169
223
222
169
162
159
203
199
193
189
187
182
118
107
104
98
95
146
145
141
138
135
77
74
74
126
124
123
125
126
127
75
76
79
134
136
137
137
139
142
143
142
142
142
141
140
85
81
82
80
132
132
133
132
134
78
132
134
132
132
80
82
82
134
132
133
133
133
134
134
133
133
80
81
81
82
80
82
81
81
133
133
82
134
134
130
75
128
129
130
79
80
132
134
136
140
140
89
102
103
105
109
161
161
160
102
97
135
129
74
69
66
71
123
125
127
127
125
125
75
76
76
128
127
127
75
128
132
137
85
85
84
82
84
84
82
78
77
79
80
75
74
70
116
113
112
111
55
56
56
107
105
53
51
60
58
109
54
43
88
29
25
24
21
74
23
23
18
38
41
98
54
69
123
129
136
138
85
86
135
132
130
127
126
126
71
71
73
76
75
78
132
133
134
140
91
141
141
89
89
88
87
139
140
88
140
139
138
84
82
85
82
131
78
77
128
134
138
137
84
84
83
134
81
81
133
81
135
84
85
135
133
78
75
75
79
133
133
128
128
128
126
73
72
71
122
69
69
122
121
123
124
130
131
133
134
229
229
229
227
221
255
255
255
247
227
149
186
193
142
203
206
159
164
168
170
173
224
223
221
169
218
214
213
158
154
201
200
197
138
192
194
195
195
146
150
156
158
221
222
172
223
170
163
211
210
206
199
196
193
188
176
108
103
150
145
142
141
140
132
129
125
121
120
69
68
123
123
123
122
122
125
77
133
136
136
137
137
87
138
90
90
90
89
86
84
133
81
80
132
129
130
79
80
129
130
132
132
129
129
130
131
134
134
82
83
135
84
84
135
135
84
84
82
81
81
79
80
133
131
132
133
133
137
86
85
85
84
135
135
77
75
130
80
135
136
86
94
95
98
154
157
105
157
154
96
80
73
67
63
112
69
68
68
122
122
123
122
74
73
126
126
128
128
77
76
133
92
93
93
141
140
138
136
84
82
133
136
84
78
77
75
67
64
114
113
56
107
54
105
104
105
104
55
105
101
44
42
40
35
31
29
82
29
31
80
25
41
95
97
102
60
62
66
66
68
67
67
115
112
58
53
54
53
105
55
57
110
57
61
65
120
124
132
84
139
138
137
83
82
81
82
81
79
78
77
75
128
131
88
85
134
134
133
130
132
134
134
133
133
133
134
135
75
77
80
83
84
84
140
95
92
89
85
84
136
84
134
83
84
86
86
84
135
81
79
76
126
123
69
120
129
131
133
135
229
229
227
226
222
220
255
255
204
189
213
132
191
192
203
206
159
162
168
170
224
224
223
169
168
217
213
212
153
149
146
198
142
135
137
194
192
194
144
148
155
209
220
170
172
223
222
216
161
209
205
198
195
192
188
176
163
106
152
146
143
142
137
131
128
124
120
120
68
67
70
123
122
121
121
124
128
132
135
136
85
86
87
86
90
142
142
141
87
135
133
80
79
78
78
76
77
78
128
130
131
131
77
77
130
130
135
83
82
83
84
85
85
136
86
86
84
83
82
81
79
80
131
131
132
133
133
137
87
86
86
85
136
134
77
75
76
130
81
83
85
89
89
92
147
98
99
98
147
92
133
76
70
64
112
72
70
69
121
122
120
119
70
71
122
122
71
124
73
75
80
90
91
90
140
139
138
138
85
133
133
136
139
79
78
77
69
67
115
115
109
109
109
106
107
106
108
57
107
102
46
43
42
92
88
88
37
89
92
90
35
99
99
101
104
63
116
66
63
64
62
112
109
106
51
45
46
46
44
44
44
97
46
51
56
61
65
74
130
130
130
76
76
74
75
76
73
72
69
69
69
120
71
80
77
76
129
129
126
77
128
127
74
74
74
129
131
125
76
79
81
136
139
147
102
102
97
92
88
87
87
89
88
86
85
86
86
139
136
82
79
73
70
67
66
73
74
128
130
255
226
226
225
223
220
255
255
251
247
235
124
181
185
201
204
156
160
163
168
222
220
168
166
164
162
160
159
154
151
201
201
198
137
137
194
192
191
141
145
204
207
216
167
222
223
224
220
166
213
209
150
147
196
192
180
117
114
108
103
98
92
131
132
129
123
69
68
69
67
68
69
71
123
123
125
127
129
81
84
86
88
141
88
142
91
90
89
140
138
133
132
77
76
75
75
74
75
72
74
128
78
78
79
81
135
83
84
85
85
86
87
87
88
89
88
88
86
83
80
78
77
78
80
133
134
82
82
133
130
78
79
131
129
76
73
121
121
122
124
74
80
80
82
88
92
147
94
145
139
129
127
72
69
65
76
75
71
122
72
124
127
76
76
73
124
123
126
75
75
79
84
85
84
135
136
87
86
136
128
77
80
82
129
129
126
72
122
122
120
115
115
113
109
111
113
114
116
114
109
52
45
44
93
42
43
45
98
100
98
94
98
97
100
51
59
61
115
116
115
60
57
102
97
95
88
88
36
37
36
89
89
90
97
51
57
114
121
72
65
64
62
113
61
63
63
62
62
60
60
111
109
108
58
56
57
59
111
57
61
116
114
59
57
59
60
62
114
116
121
124
126
135
158
105
107
105
101
94
86
84
86
86
86
88
90
144
145
143
141
84
130
74
69
68
60
61
114
116
255
255
229
229
228
223
255
255
245
240
228
186
144
151
149
203
206
161
168
170
223
219
167
169
168
166
213
212
211
208
205
202
200
143
138
139
193
193
195
198
209
213
166
168
224
173
227
226
172
166
217
212
156
150
196
188
118
165
107
101
96
143
81
73
125
125
70
66
62
66
71
125
126
128
130
130
130
132
136
86
87
140
144
92
88
86
83
81
81
133
131
129
129
128
75
75
74
73
124
125
124
72
72
123
126
128
79
81
83
82
83
85
87
84
86
87
84
133
130
128
127
127
75
128
130
80
82
127
131
133
81
133
134
81
130
126
123
123
122
122
69
81
83
86
86
140
91
92
142
141
136
133
130
126
124
75
73
69
68
68
122
123
120
69
68
66
117
114
60
73
76
133
131
79
80
81
76
125
123
66
68
68
122
121
124
74
76
129
132
79
81
81
78
123
120
119
118
130
78
77
121
106
103
49
49
46
43
43
43
97
97
116
116
62
61
62
62
64
113
113
62
64
64
113
112
100
98
43
42
95
89
33
83
89
97
52
109
116
66
73
79
80
125
68
68
68
69
70
71
73
72
123
122
75
72
70
68
66
66
64
59
110
55
52
51
48
48
110
112
115
118
124
83
107
107
104
98
91
133
68
54
67
120
123
75
81
138
142
140
139
84
83
81
78
126
121
69
120
118
226
255
255
229
228
223
255
255
252
248
181
129
191
150
150
204
207
211
217
168
169
167
221
169
168
166
164
162
209
206
203
149
148
143
141
142
195
197
147
148
211
215
218
220
172
173
227
227
173
167
217
160
155
150
144
189
173
168
161
102
97
145
84
75
127
126
124
68
64
68
122
71
73
126
76
76
128
79
82
85
137
139
91
91
143
140
84
81
80
80
131
129
129
128
75
74
74
73
123
124
73
71
71
123
126
127
78
80
134
82
83
84
86
83
84
85
136
132
130
128
125
125
126
74
128
78
131
128
130
131
131
79
131
79
76
73
71
70
71
69
67
75
130
81
82
83
139
87
139
138
134
133
130
126
124
131
77
75
74
74
74
75
125
125
74
125
70
68
67
75
77
136
134
80
79
80
127
126
122
66
120
120
121
122
71
73
77
131
131
133
136
133
131
124
123
121
122
76
76
73
120
104
103
52
104
101
47
47
101
101
101
68
68
65
65
61
61
62
61
62
63
65
65
64
113
103
100
45
95
94
90
35
35
40
100
107
59
66
120
126
131
80
75
68
67
68
68
69
70
72
126
124
124
128
75
71
121
118
118
115
62
59
109
56
54
53
49
56
60
115
118
124
82
104
158
157
100
91
79
64
105
113
116
119
124
77
82
137
137
84
83
83
83
80
76
70
121
120
117
255
255
255
255
255
255
255
255
209
255
187
129
130
143
201
203
206
209
216
217
165
170
170
170
169
170
166
165
160
157
206
202
151
152
201
201
150
203
153
155
217
221
218
168
170
172
174
228
227
170
167
160
207
202
147
196
181
123
115
157
100
148
88
82
134
131
128
125
124
124
69
71
124
126
75
75
75
78
82
84
137
139
91
144
149
144
86
82
80
79
130
128
127
127
126
73
72
124
122
123
71
69
120
121
122
123
75
78
131
80
79
81
82
82
81
78
129
129
129
127
124
121
121
122
123
125
125
127
77
77
128
127
76
75
124
121
67
65
62
112
109
113
119
123
124
126
128
130
80
131
133
133
131
130
128
81
132
130
77
78
77
77
127
129
77
78
78
78
78
135
136
140
138
135
132
128
74
125
120
67
68
68
121
125
126
128
134
134
137
138
138
138
136
133
80
79
78
72
123
117
59
55
58
60
58
57
110
111
62
64
64
130
129
74
73
119
118
116
118
119
119
70
71
120
118
57
106
101
45
96
44
44
45
49
104
57
61
65
67
77
132
132
75
71
68
67
67
68
120
123
125
74
129
129
129
127
125
120
118
113
60
62
114
116
64
60
56
107
56
60
115
119
126
95
98
152
149
137
67
103
94
112
116
122
129
81
83
84
79
80
83
86
140
88
85
77
127
123
118
255
255
228
255
255
255
255
255
208
249
240
198
126
126
199
203
206
158
163
166
219
218
169
169
169
168
166
165
165
164
162
215
214
213
157
153
154
156
207
157
218
222
164
165
219
220
223
227
227
171
169
164
160
156
205
202
184
127
120
165
159
152
143
139
84
133
130
128
127
72
69
69
123
124
124
72
72
72
76
131
132
135
87
88
148
145
141
85
135
81
131
128
128
127
126
125
125
124
121
122
121
120
119
118
118
120
123
72
73
74
127
127
128
131
131
128
127
126
126
123
123
120
119
67
119
120
121
124
125
126
127
74
73
73
124
117
65
63
63
113
112
119
74
77
129
131
81
133
134
81
135
134
132
130
128
136
136
137
136
134
133
134
82
82
135
84
85
86
138
142
139
139
140
137
134
130
127
72
72
71
71
72
73
134
135
138
92
145
146
148
147
97
100
98
92
87
84
81
129
123
116
115
117
119
67
67
121
124
74
75
74
81
80
80
129
125
123
124
122
123
123
126
126
124
70
65
62
59
106
103
104
105
103
52
106
55
107
112
62
81
134
80
74
71
66
63
65
65
117
119
121
124
128
127
128
128
127
123
119
60
110
111
60
114
64
64
63
53
55
109
110
113
119
83
87
87
136
127
114
102
93
111
63
69
76
80
82
133
82
82
135
137
140
89
141
136
134
131
127
255
255
255
255
255
255
255
255
255
201
246
202
124
121
197
199
150
206
214
164
216
218
166
166
167
167
164
163
164
164
216
217
217
213
156
156
157
209
210
212
221
225
215
164
218
218
221
226
175
171
170
166
163
160
208
203
136
131
125
171
165
158
144
142
136
80
130
129
129
71
69
70
123
124
124
124
71
70
74
77
130
133
137
139
145
143
140
138
137
134
130
75
75
74
126
125
124
123
121
69
122
119
118
64
66
119
120
70
72
71
124
126
128
129
78
130
129
125
123
122
120
118
117
62
63
63
116
120
122
123
71
72
72
71
123
117
64
66
69
71
124
125
79
82
134
136
84
84
134
83
81
80
129
75
125
85
137
137
138
136
134
80
84
83
83
83
84
85
86
91
141
138
137
139
137
132
129
76
73
75
75
74
75
139
140
144
149
151
153
155
157
105
104
100
95
93
89
87
134
127
123
120
70
71
76
75
131
133
135
135
81
86
85
135
131
74
72
70
125
125
124
125
127
125
71
67
67
63
58
55
106
107
107
53
54
107
107
111
114
134
82
79
74
69
66
114
115
64
116
115
118
121
73
124
125
127
127
125
120
60
59
60
114
116
66
67
69
53
108
109
110
112
117
131
135
135
79
125
117
108
48
63
118
71
77
81
83
135
85
136
83
84
86
88
141
135
134
132
130
255
255
255
255
255
229
229
218
219
213
210
172
127
150
186
189
196
200
204
207
211
214
214
162
162
162
213
163
217
218
220
219
166
161
210
213
212
211
164
169
174
224
215
217
221
223
226
231
178
178
174
168
216
162
213
157
143
190
184
177
119
162
100
95
91
86
134
130
76
74
70
123
124
125
125
125
124
71
72
126
128
130
132
133
141
140
139
137
83
131
76
73
72
71
71
123
124
125
73
70
70
70
68
68
66
66
116
66
67
69
124
124
73
74
74
126
126
126
125
125
120
117
63
62
62
60
113
118
115
62
61
61
62
62
61
72
75
78
133
136
137
136
90
92
144
144
143
89
137
135
133
133
129
70
64
81
80
130
130
133
134
135
82
83
79
80
80
81
133
143
142
137
85
84
82
134
137
78
126
77
80
135
135
147
97
96
153
156
162
112
114
113
161
155
154
103
102
142
139
134
132
134
81
82
84
141
144
145
144
144
147
144
142
138
134
127
73
72
70
70
123
124
125
126
126
127
123
121
119
113
57
109
60
58
55
56
109
57
58
77
77
75
125
122
116
114
112
111
57
108
56
58
113
116
119
121
121
121
121
118
61
61
116
118
120
122
76
61
113
112
114
115
117
122
127
125
72
122
117
112
59
70
73
78
83
86
88
139
144
143
143
142
141
89
140
134
81
131
128
255
255
255
229
229
229
229
224
220
216
212
187
193
152
181
134
191
194
199
203
205
210
212
212
159
211
211
211
215
216
218
167
167
162
213
212
210
159
163
168
224
225
165
167
222
224
227
179
178
179
228
222
166
216
215
158
146
141
187
178
172
113
100
96
92
85
134
132
80
78
75
128
128
128
127
126
125
70
70
71
72
72
73
74
135
135
134
133
79
76
73
71
70
69
68
68
121
122
123
71
71
69
69
67
67
65
115
116
66
69
69
123
71
75
75
125
125
125
125
123
120
117
116
62
62
62
114
112
61
61
61
62
118
119
74
83
87
141
144
148
150
146
151
101
152
150
146
142
138
136
130
127
71
66
62
73
125
128
129
131
133
136
81
81
81
82
83
84
84
138
85
85
87
87
88
139
85
82
134
135
138
137
137
143
93
93
151
155
159
161
112
110
109
104
153
152
97
94
144
141
140
139
139
85
88
89
145
144
142
144
144
137
136
134
129
126
72
72
71
72
71
124
126
127
127
128
124
120
118
116
113
112
63
62
61
59
59
59
109
121
69
68
119
65
61
112
107
105
53
52
52
106
110
106
108
113
115
116
113
111
112
62
116
120
124
125
127
72
72
124
73
123
124
121
126
127
72
123
121
117
64
72
74
79
83
87
89
143
142
142
142
141
140
87
87
132
131
129
125
255
255
255
255
229
229
229
228
255
255
255
247
201
155
178
181
186
189
196
199
201
155
209
209
209
210
210
209
213
214
215
164
164
163
212
210
210
160
161
165
224
226
218
168
171
172
175
178
177
173
222
217
162
212
210
205
145
141
135
128
172
165
155
148
144
139
134
81
132
79
78
78
78
78
129
127
74
124
72
72
72
72
72
72
81
133
80
131
77
75
73
71
122
69
120
120
68
69
121
69
121
121
120
68
66
118
114
116
65
67
67
68
69
72
72
124
124
122
70
70
118
117
115
113
112
112
111
112
60
62
63
65
119
122
125
81
84
87
142
145
148
152
106
108
105
101
95
90
137
134
75
71
66
65
62
69
71
74
76
130
134
135
81
82
83
137
138
141
90
139
139
139
88
87
88
88
85
83
137
139
87
87
139
140
140
143
147
153
158
158
163
162
161
107
103
99
96
152
149
144
142
142
88
89
87
140
140
142
142
89
89
80
131
130
128
126
125
125
72
70
71
72
125
126
127
74
71
121
119
117
113
114
119
116
115
62
62
111
111
116
116
116
114
114
57
56
104
50
49
49
102
103
107
49
104
108
60
114
112
109
60
63
118
121
125
126
128
129
78
78
77
77
74
70
127
126
124
123
122
67
118
123
73
76
80
135
138
141
140
140
139
139
138
85
85
79
130
127
123
255
255
255
255
255
229
229
229
224
223
255
255
228
119
125
129
185
189
194
197
149
153
153
205
206
154
153
205
207
208
209
157
159
161
212
211
212
211
159
161
220
223
217
167
169
169
171
172
171
170
220
215
161
211
208
149
140
188
131
126
173
169
158
100
94
141
137
83
132
129
80
80
81
81
132
131
130
129
77
77
128
128
75
75
76
77
77
77
76
74
72
122
121
67
118
117
65
66
66
67
118
119
120
118
67
117
115
114
64
65
66
68
66
69
121
121
119
119
67
67
115
115
113
111
110
108
55
59
61
62
64
66
121
123
124
131
83
86
142
147
152
156
107
160
105
100
94
91
82
79
120
61
59
60
61
63
66
72
74
128
131
80
83
86
90
144
145
147
147
147
147
146
145
144
142
141
89
142
143
142
89
91
93
139
139
141
145
149
153
153
108
108
107
103
101
97
94
105
152
146
143
143
93
92
89
139
136
135
135
134
133
128
75
74
126
127
127
126
127
74
73
72
71
70
122
71
66
117
117
118
116
66
68
120
120
121
120
118
118
114
113
112
110
109
104
50
47
47
44
95
42
41
45
41
44
48
53
58
112
115
117
120
126
129
132
131
131
141
90
140
137
83
80
74
125
124
124
123
123
122
122
119
119
120
69
123
127
78
81
132
132
131
78
77
77
75
126
123
119
255
255
255
229
229
229
229
255
222
227
222
255
253
148
134
189
194
199
204
154
209
204
204
205
153
153
152
204
207
208
157
159
212
165
166
160
161
161
210
157
163
219
215
164
166
166
167
220
166
162
161
209
207
205
202
141
135
131
179
124
173
117
108
104
149
143
138
135
81
75
79
80
81
82
134
134
81
77
129
129
129
129
129
129
128
128
129
77
128
127
126
122
121
120
118
117
65
65
64
65
117
117
118
117
66
64
116
115
64
64
66
67
67
66
66
66
118
118
64
64
61
61
113
112
56
53
52
57
56
57
58
61
115
116
121
126
77
134
139
145
149
150
150
148
146
90
138
135
126
123
108
103
49
55
111
110
111
67
121
122
71
72
135
136
142
143
144
143
143
141
90
94
94
93
144
143
150
150
149
143
143
149
101
90
91
91
145
148
149
151
104
102
153
95
93
91
89
94
149
149
99
96
143
86
86
82
130
129
129
127
125
124
124
72
123
124
125
124
129
128
126
123
121
119
67
68
64
115
117
116
117
67
67
67
69
73
73
123
122
114
61
113
110
106
100
99
48
47
94
92
37
35
37
35
88
92
43
49
57
67
72
127
132
134
84
85
135
98
95
144
140
83
80
75
124
70
122
121
71
71
72
120
119
117
116
117
68
71
73
125
125
72
71
70
70
123
123
120
66
255
255
255
229
229
229
255
255
229
229
224
218
241
149
134
172
189
195
156
156
158
204
201
148
148
150
208
156
157
159
160
162
216
214
162
162
160
160
212
212
165
219
214
162
163
164
164
164
164
207
203
148
145
144
194
134
126
123
122
118
114
110
102
96
146
145
141
137
82
81
79
132
81
82
83
80
79
76
127
126
124
122
122
122
121
121
122
70
124
123
122
121
68
118
118
117
65
65
64
64
115
116
117
116
66
67
116
117
118
118
119
120
69
68
67
119
118
118
65
65
61
62
114
113
60
59
58
54
56
55
56
56
111
62
117
124
128
132
86
141
143
143
94
144
144
92
139
133
123
119
105
101
101
103
106
114
116
69
70
71
74
76
133
136
141
142
142
92
93
139
88
91
92
92
143
143
140
141
142
93
91
88
85
86
85
85
91
92
146
146
98
97
99
101
102
102
101
94
148
147
94
92
93
94
138
135
131
127
120
66
66
115
118
71
71
119
121
121
121
120
118
116
66
67
68
73
68
117
116
116
65
68
122
123
126
129
127
124
125
65
64
113
111
108
99
97
45
44
93
36
86
86
34
36
38
42
49
56
61
70
77
80
137
138
88
89
139
87
86
85
84
83
81
81
139
86
85
86
86
87
87
93
89
85
135
84
86
138
85
133
129
72
67
62
58
60
113
63
117
255
255
255
255
229
255
255
229
229
229
222
255
245
162
144
174
134
193
161
158
209
155
152
150
150
152
158
158
155
156
210
212
159
211
209
205
154
156
157
211
213
214
207
155
155
155
206
205
203
203
198
194
138
136
183
126
170
168
165
113
110
107
153
147
93
92
88
85
83
81
81
133
134
134
82
80
79
78
129
127
126
123
123
123
121
122
70
71
72
71
122
122
68
118
67
65
65
65
63
114
114
114
63
114
63
64
113
114
115
114
115
116
117
65
65
117
116
116
64
64
61
62
114
114
113
112
59
55
56
54
55
55
57
111
114
120
125
129
132
136
138
85
88
139
139
139
134
127
122
65
50
100
101
105
108
113
115
119
67
120
71
125
127
78
136
136
137
139
88
89
142
146
95
95
146
146
147
146
95
97
96
93
90
88
139
138
90
92
91
91
143
146
97
101
99
97
96
93
95
146
145
145
146
146
142
139
134
76
65
62
60
110
112
115
66
67
67
67
118
117
66
65
65
66
65
68
117
114
116
116
65
120
116
118
69
122
120
120
121
59
58
110
108
52
46
45
92
91
39
34
84
86
35
31
34
41
49
107
62
71
81
83
85
86
86
85
81
82
132
130
128
75
75
131
75
77
82
88
92
98
102
106
102
98
147
145
91
90
134
130
127
124
67
60
108
110
59
60
61
255
255
255
255
229
229
229
229
229
228
223
211
247
172
153
176
182
193
163
158
211
160
155
205
153
152
157
158
150
151
205
206
207
204
204
148
150
152
207
207
208
155
200
200
148
199
198
196
194
192
188
182
178
174
171
167
160
158
156
103
102
102
95
93
91
141
86
86
84
83
136
135
135
134
134
79
79
78
129
76
74
71
123
124
122
123
71
72
73
72
71
123
69
67
67
65
64
64
113
112
111
111
111
110
59
60
110
110
111
109
110
111
111
59
59
111
111
60
60
60
60
61
114
114
113
60
112
110
59
58
56
56
59
113
116
121
124
129
80
134
135
88
91
141
141
140
135
129
122
117
53
53
55
57
110
111
113
115
115
115
65
67
71
74
132
133
134
136
86
88
141
93
94
95
147
147
145
143
90
91
90
88
86
89
88
86
142
144
92
92
96
151
154
107
107
106
105
100
150
149
147
147
148
149
150
149
146
91
85
82
80
70
120
120
119
118
65
65
65
66
67
68
119
119
66
68
117
115
119
117
65
67
119
117
67
117
116
65
66
104
52
52
101
99
44
45
91
90
90
86
86
34
37
37
40
46
54
113
118
126
74
77
131
133
82
80
78
125
122
120
118
118
67
74
74
79
86
91
93
96
100
165
110
159
155
151
95
87
132
130
126
121
65
113
109
117
64
64
64
255
255
255
255
255
255
229
229
227
227
255
255
194
173
154
123
181
192
159
157
160
161
155
206
151
204
207
209
150
151
150
203
204
201
148
147
148
200
202
203
149
149
144
144
143
143
143
139
191
187
183
177
171
117
115
110
105
155
154
101
152
149
93
90
90
88
86
84
85
85
137
137
83
82
81
79
131
130
77
75
74
71
71
71
70
71
72
72
74
72
71
71
70
67
67
65
64
63
112
111
110
109
110
108
57
58
57
57
57
56
108
109
109
57
57
57
57
58
58
58
60
61
114
114
62
61
60
111
112
111
59
60
114
116
118
123
127
130
133
136
139
142
92
145
144
91
86
132
123
118
110
59
61
113
112
111
112
61
61
61
62
116
120
123
130
79
133
135
136
140
141
93
95
147
148
148
92
90
140
140
140
138
136
90
88
139
143
146
95
149
152
154
156
160
109
110
110
104
103
100
148
148
147
147
95
95
146
93
90
88
87
74
72
122
68
67
67
66
68
68
68
69
121
122
69
70
120
120
69
121
118
66
68
68
67
64
114
114
64
48
48
48
100
98
42
95
92
39
91
89
88
38
39
44
46
52
108
61
117
124
71
73
76
77
77
76
75
119
118
116
115
116
117
122
121
128
85
92
95
100
106
165
162
109
105
100
94
139
131
129
125
70
118
112
108
68
67
66
65
255
255
255
255
255
255
255
255
225
255
255
255
192
169
203
120
179
191
205
155
164
161
210
154
203
202
204
153
198
199
148
149
201
199
146
144
141
191
189
189
136
189
134
134
135
134
135
186
185
129
124
117
165
110
110
108
101
100
98
148
149
146
87
88
87
85
86
136
84
136
139
86
84
82
81
131
132
128
75
74
72
70
70
122
71
123
124
72
74
73
72
72
70
68
67
65
63
63
58
58
109
108
108
106
55
56
56
56
57
55
107
107
107
104
52
53
53
54
54
106
57
59
60
61
60
60
59
113
115
115
116
117
68
71
69
126
78
83
87
144
145
142
93
143
90
91
138
131
71
69
119
121
122
118
62
58
111
111
110
110
59
112
114
117
124
74
75
77
131
139
141
93
147
148
149
149
93
91
141
140
87
86
136
143
90
90
95
152
101
102
149
151
99
154
105
110
112
116
112
108
155
150
149
148
100
100
100
98
95
92
91
75
72
69
69
73
73
124
75
74
74
124
126
75
75
130
126
73
74
75
120
120
69
66
64
60
109
108
107
46
46
47
47
46
44
97
94
43
41
92
41
93
96
104
53
57
58
61
115
118
124
124
73
72
70
67
64
112
112
113
114
116
115
118
125
81
91
99
101
105
163
165
165
162
159
156
148
142
79
77
74
72
68
115
111
72
71
68
66
255
255
255
255
255
255
255
255
255
255
255
254
188
170
231
195
119
128
202
151
158
205
203
201
200
200
201
202
148
146
195
194
195
192
192
185
132
131
129
179
179
179
174
176
126
128
178
173
172
116
112
111
160
159
155
97
96
96
96
94
92
89
86
85
83
135
134
134
133
131
133
81
82
82
134
131
130
125
72
71
72
71
71
70
71
123
122
122
123
123
122
68
67
66
66
65
63
62
115
113
58
108
56
55
56
58
58
110
111
58
58
59
111
111
59
59
111
59
111
111
61
113
62
62
63
63
63
117
122
121
120
120
120
70
123
126
131
138
93
96
150
145
90
141
139
135
132
128
74
69
119
71
73
121
64
64
114
58
57
57
59
112
113
113
114
64
68
72
126
134
84
92
94
147
94
94
146
146
93
141
139
137
136
141
91
93
144
146
95
99
100
153
103
157
159
163
114
119
172
172
170
164
108
106
156
153
99
98
98
96
93
82
81
82
134
136
138
139
135
134
132
132
81
79
130
130
82
83
134
130
75
76
70
68
65
64
62
109
106
101
49
49
48
48
49
101
101
50
47
49
49
51
102
116
115
113
60
111
62
69
121
124
72
69
118
63
65
59
59
60
61
115
116
121
129
84
94
101
102
159
164
166
163
161
104
150
144
140
77
76
124
72
70
119
115
75
74
73
71
227
227
255
255
255
255
255
255
255
255
255
249
234
162
234
207
179
175
203
203
205
201
148
198
146
147
200
200
199
145
139
138
189
186
185
181
128
124
123
174
173
122
168
170
120
171
120
116
165
112
160
159
156
156
152
146
145
145
92
90
89
86
82
84
134
132
133
132
131
75
80
132
81
81
133
130
128
123
122
121
69
69
69
68
71
71
122
121
122
121
68
67
66
65
117
116
62
61
62
113
111
109
57
56
58
59
111
111
112
58
58
58
110
114
114
62
114
114
114
114
115
115
115
64
64
64
64
68
122
122
122
122
123
123
124
127
132
140
96
100
154
146
92
90
139
134
76
73
120
67
120
121
122
120
118
117
63
58
57
57
59
111
112
111
114
65
69
73
128
134
136
142
92
92
92
91
95
147
95
92
141
138
136
142
89
141
143
93
92
145
146
151
101
104
158
160
109
170
171
119
171
118
115
164
162
159
102
99
96
147
93
90
90
91
143
141
141
88
137
136
136
135
135
134
80
81
82
81
132
132
75
73
69
68
66
63
62
58
109
104
52
104
105
51
103
105
106
53
53
53
53
107
106
117
117
115
113
115
64
70
69
124
124
70
68
118
66
63
62
61
62
116
119
126
134
88
96
154
103
106
162
159
160
157
102
97
92
89
79
77
74
70
70
67
65
77
76
75
125
218
218
218
255
255
220
220
255
213
255
255
192
176
156
206
212
191
171
142
144
147
143
142
141
194
195
146
148
194
191
185
130
129
177
173
171
118
116
166
165
166
112
162
163
162
163
111
108
159
106
104
101
151
151
149
142
140
139
138
136
82
80
79
131
131
129
128
127
76
124
129
129
77
77
128
125
71
69
120
119
68
68
121
120
122
69
68
118
66
64
115
63
63
114
114
112
59
58
59
111
111
111
59
58
112
112
61
61
61
60
112
112
112
64
116
116
64
116
64
64
119
119
118
118
66
66
66
70
123
72
74
73
74
72
73
130
85
94
99
103
105
96
91
90
84
78
70
116
111
116
120
119
117
117
118
112
111
57
58
60
62
64
110
111
114
118
71
128
131
138
138
140
89
89
88
88
92
94
96
97
96
93
143
90
139
139
95
96
145
142
144
146
96
97
100
104
161
168
117
171
122
124
174
173
117
111
105
101
146
147
148
152
154
107
107
101
150
146
145
144
91
91
89
138
135
83
78
76
129
132
127
122
71
67
117
65
63
60
113
60
61
59
112
59
59
109
113
58
57
55
108
110
108
121
119
117
63
65
118
122
70
70
123
71
71
124
123
71
70
69
121
72
75
136
92
96
152
104
104
105
105
96
96
98
97
95
142
139
137
133
128
122
121
120
68
77
128
127
125
205
208
213
255
255
219
255
255
213
255
255
251
186
168
144
152
181
160
137
137
148
143
142
193
193
142
145
144
188
185
129
127
123
172
170
116
167
166
162
161
110
110
158
158
158
158
156
104
105
153
98
97
147
148
144
87
135
134
132
131
130
77
78
130
128
128
127
127
126
122
125
73
125
124
123
67
65
65
116
115
65
65
118
118
66
66
65
63
64
114
113
113
112
111
111
110
56
55
55
56
109
110
60
111
112
112
59
61
114
114
115
116
65
68
120
120
120
120
68
68
122
122
122
121
69
68
68
72
70
71
74
127
75
73
73
79
87
93
99
102
103
91
89
85
81
74
64
110
114
117
68
69
118
117
115
61
112
108
55
108
58
59
60
60
115
118
71
75
78
138
138
84
84
83
83
135
139
141
92
99
103
105
106
106
156
155
102
98
144
141
139
143
94
100
154
158
162
171
120
174
174
121
119
116
113
110
158
154
92
92
147
160
163
169
120
121
170
168
162
160
157
102
94
140
135
130
77
77
77
77
126
123
70
67
116
116
62
64
117
118
117
67
66
116
64
65
116
61
58
58
58
112
111
120
119
117
63
63
118
121
121
68
69
123
126
128
76
76
77
78
80
83
85
91
98
152
102
105
157
157
104
95
93
92
90
88
87
85
136
133
129
126
125
122
121
129
128
127
125
201
205
211
217
255
219
217
219
214
213
255
253
190
225
151
152
122
103
190
189
199
143
142
193
193
142
196
196
135
132
181
178
175
172
169
168
115
166
162
162
110
110
104
104
104
104
155
155
101
99
96
95
93
146
91
85
83
81
79
79
77
77
78
78
128
128
127
127
126
122
123
123
123
123
69
65
63
62
61
61
114
115
116
64
65
64
64
62
115
114
61
60
111
110
111
109
107
54
54
107
56
58
111
111
59
60
59
112
62
62
64
65
66
70
70
122
122
122
70
70
71
122
122
121
68
68
120
123
69
70
126
129
75
73
73
80
139
145
99
101
101
89
88
84
80
71
115
108
64
65
68
122
119
117
113
116
62
56
106
106
106
107
61
61
115
118
71
75
77
86
137
135
135
82
82
134
139
88
143
153
106
110
164
166
164
161
156
149
91
88
135
141
147
104
157
158
161
173
173
175
174
119
117
112
164
110
159
152
91
91
92
104
161
166
120
122
121
118
167
164
109
105
148
141
135
129
78
77
78
76
125
126
122
121
118
63
61
63
64
67
118
119
120
118
66
65
119
114
61
60
112
61
111
120
118
117
63
63
116
121
121
120
67
71
127
129
127
77
78
80
83
86
140
145
151
152
102
105
158
158
156
145
145
91
88
86
138
137
84
133
129
127
125
70
68
129
128
127
125
193
255
255
212
214
216
210
212
209
205
203
255
247
237
220
137
106
102
139
141
138
185
183
183
180
124
178
178
178
176
122
120
171
169
169
165
113
111
110
160
108
109
102
103
154
153
151
147
92
93
93
93
94
144
144
142
83
82
82
80
79
78
128
128
128
127
127
125
123
119
122
120
116
114
60
60
61
62
63
115
117
118
67
120
66
66
65
64
116
115
62
63
114
112
112
111
111
111
109
110
110
58
57
56
59
113
111
112
61
60
62
65
68
122
71
123
123
123
71
69
123
123
120
116
62
114
115
113
59
62
63
116
63
63
65
73
133
141
146
148
96
90
86
84
132
127
122
118
118
65
61
111
109
56
54
103
103
52
53
53
104
106
61
66
71
124
73
76
78
75
127
128
135
88
93
146
147
146
144
88
95
104
107
152
147
144
145
143
80
69
116
109
98
122
131
129
125
129
144
169
132
125
119
118
160
159
154
92
75
129
82
108
163
166
117
119
117
166
169
114
111
106
147
142
139
121
118
116
63
61
62
119
116
115
114
61
61
115
115
119
120
124
125
76
78
75
126
125
71
70
67
64
111
119
65
62
62
61
116
125
124
126
77
80
133
137
87
86
86
83
84
86
141
147
147
148
98
101
155
156
154
147
144
85
83
83
137
137
138
138
137
136
134
79
77
121
121
121
120
255
255
255
219
220
220
255
219
255
212
208
255
255
251
180
210
184
169
119
126
124
126
176
122
119
116
119
118
173
119
117
119
172
171
121
120
115
107
103
157
107
105
158
157
156
156
101
95
95
93
146
144
143
142
140
137
134
82
81
80
79
130
129
127
127
126
74
72
70
118
117
116
62
61
60
61
113
114
114
115
116
117
118
66
65
64
64
115
64
63
114
116
115
62
61
60
60
61
112
113
114
112
111
56
57
110
109
111
111
109
59
62
117
123
124
72
73
74
126
123
124
124
69
67
66
65
117
113
112
113
114
114
63
61
62
65
122
129
135
141
91
84
133
131
129
125
121
118
115
115
62
114
115
63
61
111
110
107
56
54
54
57
112
63
72
74
126
73
72
66
121
136
92
100
100
145
135
119
116
145
114
137
155
123
131
134
169
160
152
95
83
130
126
125
82
89
88
203
177
143
129
127
141
125
163
134
69
78
93
140
81
111
165
169
172
121
118
168
115
112
110
106
95
89
136
121
67
67
119
65
60
115
117
65
65
64
64
66
118
120
122
121
122
69
69
70
72
72
122
70
67
64
111
121
67
117
117
116
118
123
76
78
80
84
138
139
89
84
84
136
84
86
88
144
147
148
97
98
151
151
99
89
85
81
80
135
136
136
133
133
133
80
80
77
75
121
121
121
120
255
255
255
224
223
222
220
222
255
216
210
207
254
248
236
219
200
179
109
121
118
174
169
115
111
110
163
164
160
109
162
163
113
167
169
168
164
157
154
155
155
154
159
158
158
155
102
99
149
94
92
92
91
90
86
83
82
82
81
81
80
131
131
128
128
76
75
73
71
68
65
116
63
62
61
113
113
113
114
114
115
116
116
65
64
63
63
114
63
63
114
116
63
62
61
60
60
61
112
114
114
113
111
56
108
109
107
109
109
107
56
59
114
123
125
72
74
74
126
124
125
123
70
121
68
67
118
116
113
113
114
114
114
113
60
61
65
123
131
135
137
134
129
126
125
70
67
63
114
62
114
115
116
116
115
115
113
108
106
106
56
61
112
116
72
127
128
75
74
67
72
143
96
96
89
133
124
122
128
149
105
120
131
134
135
134
121
115
101
91
96
89
85
64
72
134
82
160
135
149
123
161
132
131
158
132
70
131
149
143
85
166
168
171
173
121
119
117
113
110
107
103
91
85
82
69
120
120
120
66
61
117
119
119
68
69
70
70
122
123
122
122
121
121
68
69
70
122
70
68
66
115
59
69
120
118
117
65
118
121
76
78
81
84
86
87
141
134
134
136
136
85
86
91
147
147
98
99
151
151
99
89
86
83
134
136
137
135
131
79
79
79
78
77
127
121
121
121
121
255
255
255
229
227
224
223
221
255
255
214
207
199
193
178
173
222
193
148
113
161
164
106
102
150
147
151
98
89
142
146
96
100
151
155
155
157
154
99
97
99
151
156
155
154
152
153
101
101
96
95
93
91
88
84
80
133
133
81
81
80
80
131
132
80
80
79
77
75
71
119
118
66
64
115
113
112
111
111
112
112
112
113
113
62
62
114
113
63
63
114
115
62
60
60
59
111
111
57
59
113
113
59
56
55
108
109
109
109
107
56
59
61
121
124
72
74
74
75
125
124
122
121
122
122
68
66
66
62
64
117
116
115
114
59
61
63
67
70
71
123
126
122
121
68
67
64
58
61
59
114
114
63
113
114
113
113
113
60
57
109
112
117
119
123
128
133
82
81
75
137
154
97
83
68
116
126
150
113
103
89
119
96
44
85
77
92
45
90
24
101
98
110
59
107
36
52
89
96
119
149
96
143
151
148
152
102
154
94
97
104
177
179
127
128
125
122
116
108
156
149
91
81
79
77
71
121
120
119
66
67
124
72
126
126
76
130
129
77
77
127
72
123
119
66
68
120
120
122
69
67
115
111
117
117
117
118
120
70
71
124
127
78
82
135
136
135
133
133
135
136
85
85
89
142
145
146
94
146
145
93
139
135
80
81
82
134
131
124
125
76
75
76
74
125
122
122
121
69
255
255
255
255
255
255
227
223
255
255
255
207
203
193
179
183
231
197
142
106
158
104
95
141
138
136
137
85
73
128
80
84
141
143
92
90
96
148
149
150
94
92
146
143
140
138
141
147
96
95
95
95
90
88
83
77
135
135
83
135
134
81
78
80
80
79
78
77
77
76
121
121
68
119
117
116
115
112
112
112
112
112
112
112
56
57
111
112
114
113
60
61
60
60
60
59
58
109
109
57
109
109
58
56
56
56
107
108
111
111
61
63
63
122
124
123
71
123
123
122
125
125
72
123
121
119
66
67
66
66
117
118
118
118
66
64
63
65
66
120
121
70
117
116
66
67
116
111
61
60
116
116
65
62
62
107
57
112
113
60
60
63
114
68
80
84
85
136
138
138
138
152
148
137
81
136
87
95
72
151
114
49
35
0
26
28
26
36
31
27
29
26
26
26
26
0
0
25
128
138
123
95
81
132
161
166
120
118
95
110
173
124
177
179
128
124
118
115
164
155
146
138
131
126
124
120
120
122
122
124
126
73
77
129
81
83
138
139
139
83
130
73
123
122
69
122
119
119
118
65
117
116
113
116
116
65
118
120
69
69
124
124
74
77
131
132
133
132
133
134
137
138
86
89
91
142
89
91
145
148
93
86
137
135
79
78
127
127
72
74
74
126
75
74
70
116
117
120
122
255
255
227
229
255
255
255
255
255
255
255
255
251
239
228
233
232
201
139
100
102
154
143
137
133
78
80
132
124
125
128
131
135
82
84
84
140
90
142
144
141
139
145
87
81
130
80
90
148
94
147
145
91
87
136
129
82
134
134
82
133
132
77
78
130
130
77
76
75
74
121
121
120
119
65
64
115
112
112
60
112
112
112
112
109
57
58
58
112
112
60
60
112
111
111
110
109
109
108
56
57
57
57
55
56
56
56
109
111
111
61
62
63
122
72
71
71
122
123
122
72
73
71
70
69
67
118
119
67
66
119
118
118
120
118
65
66
118
119
120
69
70
119
118
119
66
117
112
115
114
64
66
66
65
118
110
111
113
62
113
114
66
67
73
83
85
88
88
140
143
141
88
144
150
159
164
151
118
108
94
53
0
0
0
34
0
35
49
42
38
42
38
38
0
0
36
43
45
71
103
113
126
102
109
164
159
105
104
108
171
177
121
123
125
126
123
171
168
163
154
94
87
133
128
126
123
123
124
126
125
126
74
78
79
135
137
138
140
139
133
79
74
125
123
121
121
120
120
120
66
66
65
114
114
63
62
63
116
118
119
121
71
125
128
79
132
131
132
133
136
137
139
86
89
142
141
88
88
91
142
142
137
136
134
78
77
74
74
72
74
74
74
127
74
71
117
118
120
122
255
255
225
226
225
222
221
255
214
212
255
255
245
227
227
225
220
148
93
147
99
150
140
83
130
130
133
131
130
79
77
79
132
74
73
126
75
77
79
81
79
129
140
133
71
118
65
77
135
141
142
142
90
86
135
128
81
81
81
81
132
131
76
75
127
126
74
73
72
71
121
121
120
67
65
64
115
112
60
60
59
59
111
111
110
109
55
54
108
108
110
109
109
108
109
108
108
108
53
54
54
55
56
55
56
57
59
60
113
112
113
114
62
70
72
71
70
69
122
120
69
69
68
68
67
67
119
120
121
121
120
122
121
120
120
121
120
120
122
70
70
68
118
117
119
119
66
63
115
114
64
66
68
122
69
115
116
117
65
119
68
73
128
81
90
94
96
96
148
149
146
82
98
177
134
168
81
125
74
0
26
0
65
0
0
0
33
45
39
37
39
38
40
45
40
41
0
0
0
0
0
62
128
152
159
91
89
148
179
181
170
170
119
121
121
172
168
164
160
157
152
146
139
136
136
135
133
133
132
80
129
128
133
82
85
141
91
91
143
132
80
79
130
130
121
119
118
119
118
119
65
63
58
107
108
56
109
110
111
60
64
66
120
123
74
75
129
134
135
138
139
140
139
140
141
139
87
84
82
80
130
129
128
127
123
122
70
69
72
73
128
77
78
129
126
120
120
120
121
222
255
255
223
221
218
255
255
210
205
201
246
236
221
217
198
131
131
104
92
94
91
135
81
79
131
139
88
96
144
140
137
132
69
117
111
109
57
59
61
58
108
73
123
119
118
117
69
126
133
86
89
141
86
82
77
131
132
132
132
79
78
75
72
71
71
70
69
68
68
69
121
68
67
117
64
63
112
60
59
111
110
109
109
108
107
106
53
106
106
106
105
105
105
106
106
54
54
54
54
56
58
59
59
61
113
114
115
116
116
65
66
67
70
72
122
69
68
120
119
117
117
116
65
66
67
120
120
122
123
72
71
121
119
71
72
73
73
71
70
69
63
63
66
120
121
119
64
63
63
61
64
67
122
70
115
63
116
120
72
128
131
135
139
94
97
150
99
99
150
151
118
120
109
134
96
43
0
29
26
26
53
55
42
0
0
36
48
46
0
0
0
44
50
51
50
47
40
0
0
26
69
106
118
115
138
108
173
164
103
95
168
117
119
170
166
163
109
108
159
157
155
147
145
94
92
144
142
91
89
86
136
138
138
88
89
141
140
87
125
126
127
127
127
69
67
120
119
119
67
67
64
57
98
98
101
49
103
103
54
56
60
63
66
69
125
74
85
138
139
141
141
141
139
137
85
84
80
75
71
122
124
71
70
121
120
120
121
73
73
128
131
133
133
132
121
120
119
118
218
219
220
219
217
255
255
213
206
202
196
185
231
220
197
181
118
127
102
84
89
141
133
131
129
134
92
93
154
100
145
140
134
121
114
56
105
104
53
106
52
49
125
69
67
65
119
73
79
78
85
87
89
86
83
130
133
133
134
134
133
79
129
124
72
72
71
70
69
68
69
69
68
67
117
116
63
60
60
59
111
110
109
56
54
54
54
54
107
105
104
104
104
104
105
105
53
54
55
108
109
111
114
114
115
116
115
116
118
118
68
69
70
70
124
122
69
67
67
66
116
115
115
116
65
67
120
119
122
126
125
71
121
121
72
75
75
74
72
122
121
62
62
66
120
120
120
116
65
63
61
62
65
120
121
61
113
114
67
72
129
134
140
143
97
100
154
154
103
149
162
147
130
92
55
21
57
0
37
46
44
0
0
0
0
0
0
37
0
0
34
0
36
44
45
44
40
28
29
0
0
30
64
99
66
152
178
189
101
87
134
164
114
115
117
167
167
165
159
161
108
104
149
150
149
95
95
95
94
92
141
141
139
138
87
89
140
137
84
71
121
70
123
124
121
119
72
123
123
70
122
120
110
96
96
96
45
47
101
51
53
56
61
65
67
123
72
86
87
86
139
139
87
138
81
82
81
130
72
68
66
72
123
122
121
69
69
122
125
75
130
133
135
135
135
120
118
117
115
217
215
209
209
255
255
201
203
204
204
248
189
181
213
140
124
128
135
82
83
153
154
154
155
151
146
91
89
145
143
85
79
124
113
110
51
101
100
101
102
44
93
39
41
48
51
55
120
130
88
140
138
143
94
143
135
132
132
132
132
130
130
127
126
76
74
125
123
72
70
117
65
64
115
63
114
61
62
62
61
114
112
59
58
57
57
109
108
108
108
107
103
103
102
103
103
105
106
110
110
111
112
115
117
66
66
66
64
116
117
116
116
65
119
120
119
67
66
66
68
117
67
119
120
70
72
76
77
78
78
129
74
73
124
71
73
73
70
121
119
118
97
27
22
30
45
115
127
69
54
28
36
56
78
89
43
44
111
120
128
134
137
93
93
146
94
92
88
88
111
107
181
142
40
4
0
34
45
29
26
43
1
0
32
0
0
28
27
0
0
0
34
34
37
39
0
0
0
0
0
0
22
26
46
43
76
157
218
105
92
163
235
147
99
69
100
130
147
190
128
119
112
137
112
96
120
68
71
131
139
148
148
150
151
98
96
93
86
83
116
137
120
132
105
103
74
79
150
160
94
68
55
140
103
52
52
104
54
56
61
65
118
120
70
124
124
74
84
84
85
86
84
84
133
81
78
74
72
125
124
123
109
58
58
59
65
70
128
83
84
136
81
81
77
72
68
65
60
58
247
199
203
204
192
185
234
187
240
239
178
170
159
137
141
136
187
124
79
83
143
153
153
155
151
149
147
94
100
97
146
141
83
68
114
108
105
103
102
51
46
95
96
48
51
55
58
70
80
136
137
136
137
139
137
132
132
133
133
80
79
78
127
126
76
74
125
123
124
122
66
65
64
115
64
63
114
62
62
113
114
112
59
58
58
110
110
109
57
56
56
53
53
53
53
53
107
108
111
112
113
113
116
118
67
69
68
66
119
119
119
118
118
122
121
119
118
64
65
117
67
67
68
121
125
126
75
77
79
79
132
77
77
76
123
123
72
69
120
120
119
159
98
95
90
86
138
136
82
129
124
73
72
71
123
71
70
122
127
134
89
92
96
96
99
152
153
99
99
104
98
161
148
118
70
0
34
44
29
26
42
0
0
35
0
0
0
28
0
32
0
0
33
0
0
0
0
0
33
0
26
8
11
34
34
83
164
213
112
103
166
154
114
124
176
145
89
102
174
180
116
97
139
154
165
176
179
134
186
178
157
151
150
150
152
154
104
113
114
71
62
58
113
113
66
68
77
133
134
74
64
52
89
56
55
55
55
56
106
106
107
109
59
62
117
120
71
83
84
85
86
85
85
82
133
78
75
73
124
124
122
59
60
61
64
69
126
133
86
137
136
82
80
76
73
68
117
62
59
232
237
243
246
188
183
235
237
238
240
181
159
149
132
151
141
126
108
87
148
148
152
153
157
152
99
100
99
100
98
96
93
86
123
115
57
53
52
51
49
96
93
101
101
102
56
60
72
79
133
134
133
135
84
80
75
133
133
81
81
79
131
128
126
76
74
125
123
124
122
66
65
65
115
116
63
114
62
114
113
114
60
59
58
58
110
110
109
57
56
56
54
54
54
54
55
108
110
112
113
114
113
116
118
119
68
68
69
119
120
68
69
121
122
121
119
117
118
116
115
119
68
69
122
125
127
75
75
129
131
131
129
129
128
70
71
71
68
120
120
120
92
95
93
136
124
61
106
110
62
123
122
65
58
52
90
141
135
136
138
142
144
150
151
104
106
107
108
161
147
143
149
144
120
17
0
34
43
29
0
0
0
44
37
0
0
0
28
0
0
0
0
0
0
0
0
27
0
32
28
26
0
0
0
0
74
104
201
164
158
166
71
96
127
140
103
139
139
153
165
111
99
100
168
179
171
116
106
143
126
64
65
113
111
60
60
110
55
106
93
47
64
74
66
116
122
79
126
122
127
130
118
69
58
59
57
57
56
105
103
106
108
112
115
119
121
74
85
86
87
86
86
85
82
135
133
75
74
125
125
124
62
63
63
68
71
129
134
86
137
135
83
131
74
124
121
118
63
61
199
200
204
209
167
221
171
228
218
205
189
175
180
127
119
163
103
99
103
102
142
155
158
109
105
105
110
110
159
158
158
102
97
139
133
75
71
66
63
112
102
99
110
106
54
56
112
70
74
75
76
129
130
78
75
75
134
134
134
133
132
131
128
126
76
74
73
71
124
122
119
118
117
116
65
64
115
114
114
113
114
112
59
58
57
109
108
108
56
55
55
56
55
55
55
56
109
111
113
113
112
61
63
65
67
67
68
69
68
68
67
120
120
69
120
68
119
65
64
66
120
123
125
126
127
127
127
127
129
130
130
128
127
126
69
69
68
67
120
120
121
57
71
73
117
104
94
94
103
78
171
160
135
105
34
66
74
131
131
85
139
138
142
147
102
102
105
108
112
132
134
144
87
53
0
0
0
0
29
26
0
0
38
35
34
0
0
29
0
0
0
0
0
0
0
0
0
0
30
26
26
0
0
0
0
43
62
158
155
156
160
88
89
95
108
176
168
97
84
87
107
182
172
144
69
90
101
111
54
88
0
0
0
0
39
53
13
27
28
41
101
125
145
141
128
75
130
116
116
142
118
115
93
64
65
66
118
117
60
56
104
106
109
113
117
122
77
86
87
88
141
142
139
86
86
133
78
75
125
125
124
121
71
70
74
130
134
139
138
137
82
132
127
72
68
68
66
64
64
211
208
208
162
172
167
160
139
173
163
167
177
163
142
156
153
104
109
102
110
163
158
160
164
111
112
170
172
109
108
159
104
102
150
93
91
85
79
75
122
59
107
130
126
121
122
125
76
76
131
78
132
81
81
79
82
134
134
82
82
133
132
129
126
76
74
125
71
124
122
119
67
66
65
117
64
115
114
114
113
114
112
111
58
55
55
55
54
54
54
105
107
107
55
55
56
109
111
111
59
59
112
62
115
66
67
120
120
67
68
69
69
121
120
120
119
67
68
68
67
70
72
126
129
129
129
129
133
82
135
134
131
77
128
69
67
119
118
119
121
70
81
130
127
125
124
128
133
145
147
68
42
70
55
48
64
75
80
85
101
116
122
139
95
101
99
149
99
102
139
82
93
142
93
0
0
0
0
33
30
0
0
0
31
0
0
0
0
0
0
31
32
0
32
0
0
0
40
33
0
0
0
0
26
0
0
26
121
104
107
160
168
105
145
88
99
156
155
97
149
149
144
116
102
94
51
54
53
0
38
0
0
0
26
26
0
0
29
32
0
16
59
133
118
94
51
80
85
106
134
156
107
73
119
122
125
127
126
72
65
61
65
65
69
72
129
137
83
84
87
88
141
141
88
86
136
131
76
74
72
122
128
75
128
75
79
83
138
136
134
132
129
126
70
66
69
68
119
67
155
116
125
126
129
178
120
180
173
170
172
160
152
152
148
147
98
100
104
109
168
160
157
107
110
110
111
168
107
109
107
161
158
150
146
94
89
86
134
129
120
117
143
138
133
132
134
137
135
85
87
89
90
140
88
86
81
133
81
81
80
79
128
127
128
75
74
72
73
123
118
118
65
116
65
65
64
115
114
113
113
112
110
109
57
56
55
54
54
54
54
108
107
106
54
54
107
109
109
57
58
58
111
110
58
59
115
116
66
65
119
68
69
66
119
119
66
66
65
67
70
74
129
131
80
80
133
135
82
133
80
78
78
78
72
73
73
71
124
124
72
95
121
109
107
114
127
79
117
81
107
91
47
0
0
0
65
83
86
99
101
97
114
76
86
136
131
128
75
132
75
142
127
24
0
0
0
0
0
0
0
0
0
31
0
37
0
30
0
28
30
30
31
0
0
0
27
48
0
0
33
31
0
0
0
0
0
99
115
115
153
142
154
162
154
83
87
98
147
135
106
15
0
0
0
0
0
0
0
31
0
0
0
46
0
0
0
31
26
26
26
0
0
58
16
16
69
9
105
138
125
105
99
119
119
120
69
69
68
66
67
122
71
73
75
76
79
139
139
137
85
86
139
91
137
133
131
75
70
70
124
126
74
76
76
77
80
81
134
81
130
130
128
74
71
128
125
122
120
140
148
153
153
108
111
108
166
111
111
165
156
104
111
145
150
157
105
97
98
103
160
105
103
105
106
108
165
156
157
156
155
153
95
92
143
89
138
135
81
125
122
142
138
134
133
135
137
136
91
143
142
142
141
141
87
81
81
81
81
80
79
76
127
128
75
125
72
124
122
118
65
65
116
65
64
64
63
114
113
114
112
59
57
57
56
55
54
53
54
106
107
106
106
106
106
107
108
56
56
56
108
109
109
56
56
113
114
115
117
119
120
68
66
66
66
65
65
67
67
123
126
129
79
81
82
134
135
82
81
132
129
128
76
73
73
126
124
73
73
73
95
130
123
127
89
147
92
132
82
46
67
0
0
34
0
35
0
62
92
112
123
109
117
127
126
70
68
123
131
76
138
68
16
0
0
0
0
0
30
40
34
0
0
0
0
36
31
32
30
29
30
31
0
0
0
27
46
36
30
0
0
27
0
0
0
0
83
113
114
93
85
140
143
141
91
90
134
123
110
82
0
0
0
0
0
0
0
0
0
0
0
47
48
0
0
0
26
26
0
0
0
0
27
41
0
8
19
118
144
73
103
95
117
118
119
69
70
67
119
125
74
126
72
125
126
74
85
85
137
137
136
86
142
134
133
129
74
72
72
124
125
74
75
77
78
78
80
78
77
77
77
77
76
74
79
128
124
123
115
117
168
164
160
159
105
161
105
105
162
174
138
154
139
141
199
207
152
127
103
146
93
96
101
155
152
154
100
151
151
151
150
98
98
147
96
147
145
141
87
84
139
138
138
138
138
139
139
141
140
140
138
136
135
133
133
133
133
133
80
79
128
126
127
126
125
71
123
122
65
65
64
63
64
64
63
63
62
61
113
60
58
57
56
55
54
53
52
53
53
105
105
106
106
107
107
107
105
53
105
105
106
106
54
54
108
110
111
113
114
115
116
114
114
116
64
64
64
66
69
124
128
131
81
81
134
82
82
82
133
128
126
125
73
126
75
74
127
127
76
107
105
102
103
108
59
48
37
15
12
31
3
11
9
0
0
0
33
31
36
48
79
31
50
61
118
125
77
80
75
125
53
54
26
0
0
0
0
31
39
30
0
0
0
0
36
31
32
33
27
28
29
29
28
28
27
34
0
0
0
0
0
34
43
26
0
8
102
106
76
97
122
102
53
64
76
119
88
41
26
26
0
0
0
26
0
31
0
0
0
49
50
53
56
57
1
39
35
56
0
0
0
0
31
0
28
31
55
63
114
116
121
116
115
118
119
68
68
123
72
71
68
63
59
55
106
125
126
127
129
130
132
135
136
137
135
130
74
72
70
67
120
71
72
72
73
73
74
74
75
77
81
81
81
135
79
128
126
168
117
170
171
166
165
166
159
96
147
164
144
191
136
119
122
123
125
149
150
196
149
149
151
152
152
95
97
100
149
147
143
87
85
137
134
135
137
140
142
148
148
138
85
85
138
135
133
80
77
76
76
75
76
75
74
81
81
81
81
80
79
128
125
127
125
124
70
71
69
116
116
115
115
116
115
62
61
112
59
60
58
56
55
55
54
53
52
52
52
53
53
54
55
56
57
56
108
107
55
55
54
54
106
54
54
54
109
110
112
113
115
115
110
113
113
114
114
117
65
118
122
74
129
79
82
134
130
81
82
81
77
127
73
73
127
76
127
77
78
78
109
131
95
138
120
72
76
59
44
0
0
0
0
0
51
50
37
0
0
0
26
26
0
73
52
138
150
95
84
73
64
45
0
0
26
36
53
40
0
35
26
0
0
0
0
0
0
0
0
26
27
0
0
0
28
27
26
0
0
26
29
26
34
49
0
0
0
146
102
66
74
85
77
99
78
79
15
31
26
26
32
36
0
0
0
0
0
38
30
26
0
0
26
0
0
0
0
0
26
27
40
43
0
0
0
0
0
0
3
82
116
130
108
56
58
60
62
118
120
118
116
59
54
50
45
42
70
123
128
130
134
84
90
90
143
90
88
84
81
80
122
121
119
67
65
64
117
125
125
126
127
77
82
134
136
81
77
127
113
112
165
165
160
160
163
95
97
162
178
186
134
135
163
175
128
124
135
143
198
155
153
99
152
150
95
97
152
148
144
86
80
76
76
76
80
83
88
92
154
156
83
84
84
82
81
128
75
74
73
73
72
72
73
74
81
81
81
81
80
79
76
125
126
125
124
122
71
69
64
116
115
114
116
115
114
112
112
58
59
57
56
107
107
106
53
52
52
104
105
105
54
56
57
58
109
108
108
108
55
55
54
55
54
54
55
56
110
111
113
62
115
112
112
113
113
114
116
116
118
121
73
76
78
81
134
129
80
82
82
78
127
126
126
75
76
128
129
130
79
146
176
136
106
110
92
86
0
4
27
46
0
0
0
60
13
0
26
26
0
0
0
0
54
89
135
106
104
87
74
63
97
0
26
26
38
55
39
27
0
26
26
0
0
0
0
0
29
0
0
26
0
0
0
28
27
26
26
0
0
27
26
33
50
26
0
0
144
155
117
66
91
87
51
40
5
26
26
35
45
45
26
37
58
49
46
0
0
26
26
0
0
0
26
0
26
38
45
0
0
35
44
0
0
0
0
0
0
0
34
84
69
53
54
56
59
60
64
68
114
110
105
49
44
40
36
68
69
124
76
80
136
90
91
93
145
144
141
139
86
72
72
69
117
116
116
117
124
124
125
126
130
132
134
84
133
129
126
119
129
191
196
150
202
201
141
126
133
196
174
129
128
119
128
179
179
133
137
202
176
148
97
108
98
103
92
151
144
89
87
87
88
91
88
88
89
88
140
139
137
85
86
86
84
136
132
130
131
132
133
83
84
137
86
83
83
83
83
81
79
77
126
125
123
121
119
66
66
69
70
70
69
68
66
116
61
60
59
59
59
58
107
106
106
52
51
51
51
104
106
106
55
107
108
109
110
110
110
57
57
57
56
108
56
53
53
106
107
108
58
59
61
61
114
115
115
115
63
64
118
120
69
123
125
73
128
128
76
76
74
126
126
122
73
75
128
130
80
81
128
143
76
111
69
42
0
0
0
57
71
4
0
0
0
0
0
0
0
0
0
0
0
0
52
57
19
89
98
103
80
46
11
0
26
0
0
0
0
26
28
0
0
0
0
0
0
0
0
0
26
0
0
31
32
30
0
30
26
0
0
0
0
0
0
0
2
118
86
61
165
67
26
25
0
26
37
33
0
33
0
28
31
34
0
0
0
0
36
0
31
36
0
34
32
34
34
0
5
0
26
26
0
26
0
0
22
15
0
0
26
1
47
56
64
64
66
68
73
117
113
107
99
42
36
29
58
111
120
127
81
139
95
97
151
96
146
141
86
136
88
88
87
135
130
126
121
67
66
67
68
122
124
71
71
123
123
71
182
193
254
255
209
255
255
203
190
186
232
199
141
134
141
140
196
147
138
142
209
169
97
96
155
99
101
94
150
142
138
137
86
86
87
86
87
86
86
137
135
135
83
84
86
84
136
130
127
129
131
131
83
84
137
139
85
85
85
84
83
81
78
128
126
124
122
120
67
66
70
70
69
68
67
65
64
62
61
60
60
112
110
108
108
107
54
53
52
53
105
108
56
56
57
110
59
59
112
112
60
60
59
111
111
110
57
56
55
56
56
57
58
59
60
113
114
61
62
62
63
116
117
116
117
118
119
74
74
74
126
124
124
124
123
126
128
128
130
131
80
132
126
93
95
33
26
0
0
0
0
61
6
0
26
0
0
0
0
0
0
0
29
33
0
0
0
0
46
45
61
89
131
103
17
0
0
0
0
0
0
26
26
33
30
26
0
33
0
0
0
26
0
0
31
32
29
0
0
0
0
0
0
0
0
0
0
20
133
144
70
38
94
56
34
26
26
0
28
0
0
0
26
0
0
0
0
0
0
0
0
33
35
34
32
31
30
30
0
0
0
26
26
26
26
30
3
66
0
0
0
0
87
43
52
59
60
60
62
67
114
112
109
53
49
44
90
53
56
62
65
70
74
78
85
137
135
133
82
84
84
91
90
143
141
138
134
132
69
68
67
64
116
114
113
119
119
67
67
196
201
204
206
207
255
249
248
243
187
187
170
153
137
197
195
148
151
145
145
149
113
99
149
154
100
101
96
98
142
136
136
86
86
86
86
85
85
138
136
83
135
135
136
85
84
84
80
129
130
79
80
83
84
86
87
85
85
85
85
84
82
79
77
127
125
122
120
67
66
71
122
121
120
118
117
65
63
62
61
113
113
112
109
109
108
107
53
53
53
54
56
56
57
58
110
59
60
113
113
61
60
112
112
59
111
57
57
56
56
57
110
111
111
60
113
62
61
62
62
115
116
117
115
116
117
117
125
125
125
73
123
123
123
122
124
126
126
128
129
78
110
137
66
54
0
26
44
43
39
42
53
52
34
0
42
35
0
0
0
29
34
26
36
0
41
44
0
38
65
88
93
146
127
39
54
0
0
0
0
0
26
26
32
0
26
0
0
0
0
0
26
0
0
31
32
30
0
26
26
26
0
0
33
0
0
26
80
87
86
62
20
100
47
0
26
26
26
27
29
27
26
26
26
26
37
37
0
0
0
34
36
32
0
0
30
30
32
0
0
0
0
0
26
0
0
49
59
0
0
0
26
84
48
103
105
55
59
65
112
114
113
111
109
53
51
100
53
106
110
61
63
66
120
126
76
76
128
77
131
84
91
91
142
139
136
135
133
124
122
118
65
115
111
108
117
117
117
117
255
209
211
211
255
255
205
255
255
197
191
187
166
149
205
151
152
152
213
197
108
106
101
152
154
154
154
99
98
140
133
134
137
85
85
85
86
138
84
85
81
81
135
135
82
80
82
86
86
83
84
136
138
85
86
85
85
85
85
136
83
81
78
78
129
126
123
120
67
66
72
70
120
118
65
65
65
64
63
114
114
114
61
58
110
109
56
55
54
55
55
55
56
56
109
110
59
59
61
113
113
113
112
60
60
59
57
57
57
110
112
114
115
113
61
62
63
63
63
63
115
116
117
117
118
67
120
125
125
125
125
123
71
71
72
73
127
126
128
129
78
67
82
18
0
0
0
0
49
0
30
38
43
39
0
34
32
30
29
0
27
30
0
33
34
0
32
26
26
39
47
63
100
109
85
42
0
0
0
0
43
27
26
29
32
27
0
0
0
28
0
26
26
27
29
0
0
30
0
0
26
28
0
0
0
0
0
80
114
57
97
78
73
43
0
0
0
0
32
32
27
26
28
38
44
38
35
0
0
0
35
33
33
32
0
28
0
0
0
0
0
0
0
0
0
0
37
55
0
0
0
26
10
45
48
101
104
107
110
107
56
57
110
110
110
109
57
107
56
59
113
62
64
64
114
117
122
123
75
132
134
141
140
140
85
84
135
133
129
126
71
66
64
112
56
114
62
62
62
219
220
255
255
255
255
217
212
255
255
246
252
193
169
176
162
172
170
130
131
161
100
153
150
153
160
151
102
100
93
136
131
83
137
84
86
137
136
136
83
86
87
140
139
87
87
140
136
81
86
86
137
138
85
86
140
135
83
82
81
81
80
79
129
126
123
69
68
119
116
120
68
67
66
117
117
64
65
116
115
114
112
111
58
113
61
60
59
109
56
107
55
56
58
111
111
59
58
112
113
113
113
61
59
58
57
59
59
60
112
113
113
61
62
63
64
118
118
119
67
64
118
119
119
121
122
71
74
74
75
76
126
127
75
128
79
80
130
130
132
133
107
87
42
0
0
0
11
9
0
0
0
42
41
39
26
33
26
30
0
31
26
28
37
28
0
0
0
26
35
41
0
101
152
107
136
27
0
0
28
34
0
34
30
33
0
0
0
0
26
0
0
0
0
0
30
34
41
26
0
0
31
0
0
40
34
26
60
56
77
85
44
37
26
26
0
0
39
45
40
33
31
0
54
57
30
32
33
34
0
34
35
37
44
43
28
0
0
0
0
0
26
26
39
29
0
37
50
0
0
26
26
72
44
50
53
103
102
50
103
102
50
49
100
100
100
52
57
109
56
58
59
113
64
62
63
116
117
120
74
80
92
140
137
82
80
131
130
73
125
124
69
66
112
55
117
63
62
114
223
223
224
255
255
255
223
218
255
255
251
253
192
164
214
205
210
158
185
184
116
156
155
151
152
157
100
154
102
96
86
134
135
138
139
88
139
88
138
139
88
88
141
141
141
89
91
140
84
86
87
85
138
137
138
139
135
83
82
81
81
132
79
78
76
124
70
69
121
118
120
68
67
67
118
117
64
65
117
116
114
113
60
59
61
61
60
59
110
108
56
54
55
57
58
110
110
109
112
112
113
114
113
60
59
111
111
112
112
112
113
113
61
63
63
117
118
118
119
67
65
66
68
67
120
121
70
76
76
77
130
129
129
129
131
82
83
80
133
135
137
117
34
0
0
39
6
65
4
0
26
32
35
37
35
26
26
30
33
0
0
0
26
34
29
26
26
0
0
43
31
30
66
120
151
134
92
51
26
26
26
32
0
0
0
0
26
0
0
26
0
0
26
0
0
30
33
44
26
26
32
0
0
0
37
27
26
39
0
9
10
34
28
26
26
0
0
45
46
42
0
34
56
65
19
28
31
34
36
0
30
30
37
40
39
28
26
0
0
29
0
0
28
38
28
26
31
0
45
0
26
26
85
94
100
51
104
104
54
105
103
51
49
99
98
99
49
105
53
53
106
108
58
114
118
119
67
67
122
72
127
87
83
81
82
132
133
80
77
77
129
125
69
115
111
119
66
64
116
255
228
229
229
255
255
255
228
255
255
213
204
239
213
210
213
208
153
152
132
173
173
110
99
151
154
157
155
105
102
98
144
138
140
92
89
143
94
149
149
147
94
146
146
95
95
150
149
93
90
90
140
140
138
139
139
83
135
82
81
133
132
131
79
76
125
123
70
121
118
118
66
66
65
65
64
116
116
64
115
114
61
60
60
63
62
61
60
111
58
57
54
106
107
107
108
108
108
112
113
114
63
64
64
63
115
113
113
114
114
62
62
62
64
117
118
119
119
68
69
120
68
69
68
68
121
121
131
80
81
134
81
134
134
81
85
86
84
137
139
141
116
25
0
0
2
17
4
0
0
0
36
31
29
31
0
27
0
0
31
30
0
26
26
29
0
0
0
26
53
30
0
0
7
42
49
82
8
26
26
0
38
63
30
31
32
0
0
0
0
0
27
0
0
30
29
33
49
26
27
0
0
0
36
40
0
0
26
3
0
26
0
0
0
0
0
0
0
44
35
0
0
11
28
39
0
0
37
35
35
31
27
30
26
26
30
0
26
0
35
0
0
27
34
26
26
30
0
44
26
26
33
35
91
97
51
53
106
104
51
44
44
40
38
38
92
98
60
60
115
118
122
72
127
73
74
74
125
69
67
116
117
117
65
68
123
73
73
76
129
77
77
73
67
115
120
66
63
114
223
255
255
255
255
255
255
255
255
255
212
190
230
216
216
163
161
209
156
140
116
167
103
104
106
150
159
102
106
107
105
154
148
145
148
94
97
100
154
156
154
99
154
154
154
103
157
155
99
96
95
145
144
142
141
140
135
135
134
133
133
132
131
79
76
125
123
70
121
118
118
118
66
66
66
65
117
115
63
63
114
62
113
113
64
64
63
114
113
111
59
57
56
108
108
108
109
110
115
116
65
66
66
118
65
64
116
116
115
63
63
62
62
118
118
120
121
121
70
70
124
73
74
73
74
74
127
133
83
85
86
86
139
87
85
141
90
89
142
144
147
160
17
26
29
49
63
34
0
26
57
51
36
27
26
0
0
0
0
34
0
0
0
26
26
0
0
0
27
29
39
26
36
35
0
56
1
4
42
26
26
38
53
0
30
32
26
26
0
28
0
27
0
0
29
28
32
45
26
26
26
0
0
40
47
0
0
0
61
41
26
0
0
0
0
0
0
0
0
0
0
0
0
21
38
1
0
38
0
34
0
0
0
0
26
26
0
0
26
40
0
0
26
34
26
26
26
0
0
30
31
57
50
106
111
61
111
109
108
51
46
44
42
95
46
52
64
67
69
126
130
135
137
87
85
84
83
80
74
70
66
57
108
108
58
62
67
70
126
130
81
80
79
127
123
121
67
116
115
221
221
255
255
255
255
255
255
215
212
255
226
218
212
223
213
160
207
150
145
167
159
150
106
110
150
160
102
109
109
162
161
158
151
151
99
101
104
157
159
157
105
108
108
160
160
110
107
155
98
98
95
146
143
90
141
135
135
134
133
133
132
131
81
78
127
125
124
72
69
66
118
66
66
66
66
66
114
114
114
62
61
113
61
65
64
64
114
113
112
111
111
110
109
109
57
59
60
117
118
66
67
67
66
65
64
117
116
64
64
63
63
115
118
67
120
121
122
122
123
74
75
76
76
77
78
131
137
87
88
142
142
143
92
91
96
149
96
149
152
154
105
14
26
26
46
58
26
0
0
61
57
41
27
26
42
40
0
0
0
0
0
0
0
0
0
0
0
32
26
33
36
29
0
26
32
47
59
52
26
26
0
0
0
0
32
26
0
0
0
0
0
0
0
29
0
32
42
26
0
0
0
26
42
0
0
0
26
61
43
26
30
26
0
26
37
43
40
0
0
0
0
0
66
34
0
0
0
0
0
0
0
0
27
29
0
0
0
28
36
26
0
26
33
26
26
0
36
36
0
0
48
99
106
109
111
107
104
105
51
46
44
41
93
46
52
65
69
73
129
135
138
89
90
86
135
80
75
67
113
110
52
50
101
102
106
113
117
123
126
128
77
75
123
69
67
65
115
114
213
217
219
219
219
255
255
255
211
255
247
215
165
172
165
157
136
173
139
139
130
130
162
166
127
167
157
147
162
164
164
111
109
110
108
102
107
111
166
169
118
117
118
118
119
169
116
113
111
155
152
149
146
142
88
138
138
135
132
131
131
132
131
81
80
78
127
124
70
67
66
118
118
120
68
67
119
119
117
118
65
65
64
63
88
71
47
88
96
110
118
99
88
88
103
67
74
68
67
78
157
179
115
80
59
64
77
69
54
46
110
135
156
112
114
116
117
69
122
122
74
78
81
84
86
88
142
145
98
102
156
158
157
106
106
107
161
163
162
163
163
48
36
26
26
27
7
1
26
0
6
18
52
0
0
38
0
0
26
0
0
45
0
0
0
0
0
0
2
0
31
0
0
0
0
0
0
0
0
27
0
0
29
0
0
0
0
26
0
0
0
0
26
0
0
0
0
0
27
26
0
0
0
29
36
1
36
26
26
29
37
26
26
29
36
26
26
31
40
28
26
0
26
27
0
0
0
0
0
0
0
0
0
0
26
27
0
0
26
28
26
26
0
0
0
0
34
26
0
0
2
51
112
102
100
96
41
38
36
35
40
40
40
42
41
39
98
89
92
97
102
55
59
117
120
67
65
60
58
58
57
111
111
108
52
103
102
100
95
98
101
104
55
55
54
48
47
45
96
214
216
217
214
212
255
205
205
197
187
232
230
177
176
176
176
170
215
212
195
178
153
111
117
116
165
159
159
159
162
114
112
114
170
169
112
112
165
168
171
124
125
123
123
120
120
170
165
110
156
154
99
95
91
141
139
85
84
83
135
136
135
131
132
79
78
76
74
73
71
122
122
122
121
123
70
122
119
117
116
65
65
64
63
78
62
96
35
44
113
123
104
99
53
68
79
78
120
28
59
130
123
56
48
97
48
77
78
71
116
113
115
67
60
61
64
68
75
131
134
95
99
102
106
108
111
112
164
167
167
169
118
118
118
122
175
177
179
128
180
180
106
10
26
0
42
9
10
0
26
26
57
72
48
26
31
0
0
0
0
26
26
35
32
0
0
0
26
26
43
37
36
43
34
27
0
33
26
26
28
0
0
0
0
0
33
38
26
0
36
35
0
27
0
33
31
34
37
26
26
26
26
0
31
0
0
0
0
28
42
0
0
0
27
26
31
31
29
26
0
26
26
26
26
0
0
0
0
0
0
0
0
27
32
35
35
0
0
26
26
0
33
0
34
0
0
0
0
27
23
50
71
104
98
97
42
39
33
29
19
20
19
18
20
19
17
21
20
76
83
92
47
50
53
99
98
96
42
93
43
96
109
108
55
54
102
46
43
40
42
43
46
51
54
58
54
54
104
103
215
217
255
255
255
255
205
202
197
193
193
201
202
201
204
206
255
248
242
226
211
166
154
158
166
158
164
165
160
163
115
115
118
174
174
170
171
170
170
173
124
127
124
123
122
120
169
163
109
104
101
98
94
145
142
88
86
85
137
138
138
85
131
131
79
78
77
76
75
126
123
123
122
122
121
122
70
67
117
116
115
65
116
115
71
56
94
87
48
65
74
112
105
62
78
89
83
67
79
106
115
94
85
47
103
47
75
137
132
66
53
49
51
65
67
70
76
83
90
145
106
110
114
118
120
123
125
176
178
179
128
128
128
129
132
135
189
136
137
137
137
192
49
26
0
48
65
18
18
40
26
52
27
0
0
0
36
0
33
0
0
26
28
0
28
0
0
28
26
29
39
30
42
0
26
0
35
0
26
26
0
0
0
0
0
35
39
29
0
35
37
0
28
0
30
30
32
36
26
0
0
0
0
0
0
30
26
26
33
0
0
0
0
30
26
0
34
26
26
26
26
29
28
27
29
0
0
0
0
0
27
0
0
0
39
39
37
30
28
26
34
45
0
43
0
0
0
20
29
29
48
115
106
114
111
110
107
104
45
31
81
27
26
29
83
82
86
79
85
91
47
104
106
55
50
99
98
95
43
45
98
108
110
112
114
60
57
107
47
47
48
50
106
109
62
62
113
112
111
203
206
255
255
255
255
255
207
212
255
255
255
218
219
217
214
208
202
197
193
242
231
117
95
159
149
172
175
161
113
116
119
122
181
127
129
127
127
177
177
122
122
174
122
121
117
116
111
160
104
103
100
149
146
92
89
90
141
140
140
88
88
84
133
133
132
131
130
129
128
123
70
70
121
68
67
68
117
63
116
115
115
62
115
114
105
93
42
56
73
133
126
63
118
130
131
64
46
113
105
32
10
74
107
68
111
94
93
104
66
66
101
31
73
129
134
141
99
158
162
123
128
184
187
138
141
195
197
197
199
148
149
203
204
202
153
154
154
206
206
154
227
70
0
0
0
70
81
17
0
0
0
59
42
26
0
37
32
31
37
36
31
0
0
0
0
35
0
32
26
29
0
0
0
0
0
28
36
28
26
26
0
0
0
0
42
38
0
34
38
0
31
31
26
27
0
31
32
26
0
0
26
0
0
30
26
26
26
40
46
0
0
27
30
31
30
26
26
27
29
29
27
30
30
28
0
0
0
26
29
0
0
0
39
38
36
34
30
30
26
26
28
30
31
0
4
29
18
35
65
67
126
123
126
126
127
126
124
118
104
88
31
78
84
37
96
54
113
115
66
68
70
66
114
115
114
111
58
58
111
114
114
63
119
121
67
117
114
119
119
118
118
118
121
73
72
73
126
127
187
190
193
195
206
210
255
219
218
255
255
255
255
255
221
222
221
219
207
201
247
245
239
173
128
156
163
183
165
117
120
121
124
183
129
135
134
133
182
177
168
165
168
168
167
166
165
162
159
103
103
99
97
147
146
142
146
143
88
87
88
88
88
136
136
83
81
131
130
128
127
74
73
72
71
70
69
65
63
62
113
115
114
113
114
106
49
53
65
129
132
106
107
118
70
58
99
110
60
29
0
39
56
80
93
93
91
33
86
41
106
120
77
90
150
157
165
172
177
128
189
195
200
203
153
156
213
206
207
208
211
213
216
218
218
166
167
166
218
217
165
226
106
49
31
26
43
0
0
0
53
34
26
38
66
26
28
41
0
30
34
0
0
0
0
37
30
0
0
35
26
32
0
0
0
0
0
40
33
26
26
26
0
0
0
48
39
50
40
0
0
31
0
0
28
0
33
32
26
0
0
0
0
46
26
26
26
0
0
0
35
0
27
29
33
0
26
26
0
31
30
29
32
26
26
0
0
26
37
39
0
0
0
0
26
26
26
0
26
26
26
0
26
38
99
62
52
105
82
15
79
93
74
37
90
91
94
96
93
81
71
7
49
0
9
20
88
60
62
63
63
62
60
58
49
49
99
49
50
54
60
106
108
110
62
66
118
68
62
118
119
70
73
76
78
69
122
125
127
186
193
253
255
205
255
255
222
222
222
255
255
255
255
223
255
255
255
255
254
196
245
255
160
152
157
164
189
110
115
122
126
179
185
189
131
133
133
129
179
118
111
163
165
168
166
165
160
157
158
155
154
100
98
146
145
94
92
90
142
142
141
138
136
83
82
133
132
79
78
130
76
74
74
72
68
68
63
67
66
114
113
117
116
61
55
106
111
122
131
129
108
47
60
111
95
103
110
40
8
29
26
45
72
32
15
7
28
92
34
112
146
147
96
154
160
167
175
183
136
196
149
152
206
158
160
162
163
215
216
217
219
170
221
225
228
227
228
228
227
227
213
196
78
7
0
26
26
26
26
3
0
26
37
76
36
0
0
0
0
0
0
37
0
26
26
0
0
0
0
0
0
0
0
0
0
0
41
42
26
26
26
0
0
0
40
0
0
42
39
38
29
0
26
0
0
32
27
26
0
0
0
0
0
0
0
26
26
43
0
33
26
0
0
0
0
0
26
26
28
31
31
26
26
0
0
0
26
35
42
0
0
0
26
26
26
26
26
26
26
26
0
46
80
68
71
69
48
24
64
11
20
67
89
39
41
48
105
102
86
77
68
57
8
26
85
101
112
59
111
111
110
108
106
49
47
96
46
49
106
110
112
110
109
57
112
114
63
65
69
72
73
128
130
82
70
124
126
129
209
255
255
255
255
255
255
255
255
255
255
255
255
222
255
255
255
255
255
255
204
196
200
204
219
169
186
129
119
120
123
180
184
188
188
137
139
137
135
185
124
118
112
161
158
103
157
153
151
152
151
99
98
96
95
95
95
145
143
143
143
142
139
85
85
136
134
81
80
78
77
76
75
73
73
71
69
67
68
118
115
112
111
57
62
112
112
118
74
77
118
36
34
52
109
92
34
20
20
0
0
26
37
7
65
0
0
26
16
100
118
149
188
96
155
162
169
177
185
139
149
156
161
165
168
172
176
177
228
229
228
229
231
232
232
234
234
235
235
183
182
178
229
211
104
22
26
26
26
42
0
0
36
49
54
39
0
0
0
0
0
36
32
35
0
0
0
0
0
0
0
0
0
0
0
28
31
33
38
34
26
0
26
26
0
4
47
0
44
42
0
0
0
26
26
35
33
33
0
26
0
39
0
0
0
0
0
0
35
26
26
36
30
0
0
0
29
32
30
32
31
26
26
26
29
0
0
0
0
0
31
0
0
26
26
26
26
33
33
0
60
41
123
146
103
99
119
100
87
82
24
69
22
23
29
36
41
94
90
74
68
60
81
57
49
40
122
102
51
105
104
103
102
100
97
44
42
44
47
51
104
100
47
48
101
104
104
103
57
112
116
68
73
75
79
73
125
126
127
255
255
223
255
255
255
224
225
255
225
255
255
225
255
255
255
255
255
229
227
217
207
193
199
209
182
167
180
184
180
180
185
189
142
190
139
139
137
135
132
126
121
115
161
101
99
101
99
96
98
98
96
96
97
97
97
97
147
145
92
92
92
88
88
139
138
84
83
133
131
75
77
77
73
70
72
72
65
67
66
114
112
113
61
110
110
113
119
125
122
58
35
40
58
121
107
38
15
67
50
0
0
0
1
13
65
37
26
34
28
115
134
147
148
154
163
170
179
187
194
151
158
216
168
172
176
179
184
183
183
182
235
236
185
185
240
241
243
243
243
243
255
174
180
215
158
92
65
17
10
0
0
54
51
0
0
0
32
0
0
0
0
0
35
37
37
28
0
0
0
0
0
0
0
0
0
0
32
35
39
29
0
0
26
0
0
0
0
54
40
45
0
0
0
0
0
0
0
0
0
0
0
0
26
32
0
26
39
27
26
26
31
0
0
0
0
0
0
0
27
0
0
0
0
31
0
0
32
0
39
0
0
0
26
0
26
38
71
74
102
53
69
94
112
81
100
71
62
11
70
79
87
99
2
10
71
25
23
69
3
37
54
39
31
12
22
0
41
42
44
46
101
101
100
96
42
92
91
41
43
41
40
91
93
96
97
45
43
101
102
107
60
119
125
127
117
118
120
70
255
255
255
255
255
226
226
226
226
226
255
255
226
255
255
255
255
229
229
229
222
211
196
188
203
205
116
126
188
187
185
188
138
192
192
191
139
136
132
130
126
121
116
163
105
102
101
99
149
149
97
97
97
97
97
98
97
96
94
93
93
93
89
89
140
87
85
83
133
131
74
78
76
72
122
124
71
115
64
64
112
110
58
57
106
107
111
67
124
121
55
87
47
71
132
120
98
71
69
55
44
0
0
46
65
76
62
35
26
3
102
127
123
149
155
110
118
179
189
194
157
163
168
171
176
179
182
183
183
183
184
237
185
186
188
241
192
193
245
245
193
255
228
174
170
151
165
72
39
5
0
0
0
0
0
41
39
33
0
0
0
34
42
0
37
41
37
26
0
0
0
0
0
33
26
26
26
29
34
39
33
0
26
30
0
26
0
46
54
44
43
0
39
0
0
0
0
0
0
0
0
43
37
26
33
0
0
40
26
26
26
26
0
0
0
0
0
0
0
0
0
26
31
33
0
0
0
28
35
40
0
0
0
26
0
0
4
88
90
120
69
72
75
68
38
21
16
70
27
37
90
32
13
0
0
0
35
0
0
0
26
26
26
26
37
40
0
37
89
93
45
46
47
48
44
94
89
88
88
87
34
89
90
37
38
93
43
42
100
102
104
110
118
123
124
112
114
116
66
255
255
255
224
227
227
226
226
255
255
226
226
255
255
255
255
229
255
255
255
255
210
255
248
193
204
156
116
139
193
194
192
189
191
140
138
189
134
183
184
129
125
170
169
115
110
157
151
151
100
100
100
99
99
150
150
98
96
95
94
146
146
142
143
90
88
86
84
134
131
124
130
76
68
120
72
71
127
128
73
120
116
63
60
102
104
56
65
122
118
104
30
57
90
105
142
109
25
70
60
48
36
0
0
9
90
34
65
43
0
21
64
64
148
103
110
120
181
189
195
208
160
166
219
169
172
174
184
184
183
185
187
242
189
188
190
192
194
195
195
195
218
241
163
220
255
255
217
59
0
0
0
0
0
32
0
39
0
0
0
0
0
0
0
33
28
37
46
46
35
0
0
0
26
0
0
26
26
30
37
44
0
0
26
33
0
0
53
39
2
36
40
0
0
0
0
0
0
0
34
26
26
26
35
0
0
42
46
26
26
26
0
0
0
0
0
0
0
0
0
0
34
0
0
0
26
26
0
0
36
0
0
26
26
0
4
24
34
26
162
143
113
30
10
10
65
0
0
0
26
0
0
0
39
43
0
56
60
3
0
0
0
26
36
57
36
5
28
30
87
90
43
45
98
99
93
85
81
25
78
78
30
29
29
82
86
36
40
101
103
102
109
116
123
122
109
110
58
58
255
255
255
229
229
229
255
255
255
255
229
255
255
255
255
229
229
229
229
255
255
220
216
214
206
200
217
112
144
143
194
194
140
140
137
135
133
131
181
178
171
168
173
172
117
114
163
154
100
97
148
149
97
98
150
149
140
93
99
102
149
140
125
134
90
102
112
111
153
124
111
133
130
113
115
69
63
100
97
49
61
95
100
62
97
54
116
120
61
101
99
65
69
125
67
49
79
12
8
53
48
0
45
0
3
62
54
60
66
17
28
27
6
129
105
125
140
145
133
191
198
211
221
225
168
161
208
167
177
180
179
177
226
172
168
180
185
185
184
185
182
218
243
231
179
190
254
255
233
134
68
30
0
0
0
0
0
0
33
33
0
0
0
0
0
26
35
48
60
48
44
0
0
38
38
26
27
36
27
0
36
0
0
28
26
26
41
60
58
0
0
26
0
0
0
0
0
28
33
39
61
26
45
37
26
37
28
26
26
26
26
0
0
0
0
0
0
0
30
29
0
30
0
0
0
26
26
27
30
29
0
0
43
52
4
1
0
67
80
27
28
29
31
31
29
28
29
0
0
0
0
0
31
26
28
33
0
0
0
0
0
0
0
42
47
54
8
52
59
66
64
51
88
97
113
116
50
27
66
67
81
38
40
41
93
93
40
40
95
97
96
98
98
99
102
105
105
53
53
255
255
229
229
255
255
255
255
255
229
255
255
255
255
229
229
229
229
229
229
255
255
214
211
201
196
165
114
138
137
189
189
190
190
189
185
183
180
127
124
172
170
174
173
120
118
169
111
108
101
99
152
151
152
152
151
142
146
100
157
152
89
76
88
90
98
160
158
86
104
134
138
122
50
54
124
132
68
10
29
56
79
86
73
76
45
66
65
49
84
74
80
82
31
33
82
20
8
11
3
49
0
0
49
3
7
58
60
64
66
25
28
13
77
102
122
188
194
132
133
193
206
218
220
217
159
154
155
228
236
238
234
177
174
224
195
205
255
202
196
244
204
255
248
176
159
162
232
245
183
125
64
34
0
35
26
26
0
29
0
0
40
0
26
0
0
44
61
70
0
0
0
0
31
0
26
26
42
35
0
30
0
0
0
0
0
0
54
61
26
0
0
47
0
0
26
26
29
26
0
44
26
50
33
0
0
30
31
26
26
26
26
0
0
0
0
26
0
28
32
34
32
0
0
0
0
0
0
26
26
32
0
45
44
38
0
0
21
82
29
0
0
32
32
29
0
0
31
32
0
0
32
33
0
0
32
38
42
39
0
0
26
0
0
13
97
128
53
61
69
118
52
38
98
112
64
51
28
15
68
81
34
89
93
42
44
44
44
101
103
103
49
48
97
98
99
99
47
47
229
229
229
229
229
229
255
255
255
255
255
255
255
255
229
229
229
229
255
255
255
255
255
253
240
230
156
117
184
183
184
132
186
189
188
183
130
126
124
122
176
176
182
179
126
125
176
116
113
113
163
160
159
158
158
154
145
149
105
161
106
149
136
86
95
103
94
71
51
107
113
50
37
27
74
75
13
0
26
48
43
57
59
52
59
32
44
25
0
27
26
26
0
0
39
0
1
4
18
10
1
0
0
49
1
58
61
57
57
59
64
20
22
74
89
112
174
182
172
115
131
197
210
215
212
155
150
144
227
243
247
194
187
185
243
255
226
255
220
255
255
209
242
236
238
242
192
248
254
214
199
201
124
42
26
2
0
0
4
1
0
28
0
0
0
0
0
0
26
0
0
0
0
26
0
0
0
26
27
0
26
0
0
0
0
0
0
33
4
29
68
26
26
14
26
26
26
0
27
0
34
26
3
38
38
36
41
46
26
0
0
48
0
0
0
0
0
0
31
30
27
26
26
0
0
31
0
0
0
0
26
0
26
26
0
0
0
52
0
0
33
32
30
30
30
28
0
29
0
0
0
0
31
26
27
31
37
40
36
0
0
0
0
0
50
82
52
48
60
74
127
63
101
98
56
62
53
36
24
76
32
35
84
84
33
35
40
46
104
106
106
105
102
100
48
36
88
36
88
229
229
229
229
229
229
255
255
229
255
255
229
229
255
229
255
229
229
255
255
255
255
255
255
247
224
192
160
183
182
130
132
186
189
188
190
135
129
126
124
180
183
185
184
181
181
128
120
118
173
170
168
165
165
162
158
98
102
110
113
162
154
142
139
148
143
69
63
73
67
72
55
0
8
62
71
29
69
64
66
76
80
85
34
100
100
41
25
9
51
0
0
0
56
54
54
4
4
25
16
4
0
47
0
2
56
62
53
49
56
57
61
69
69
135
159
113
170
162
104
119
186
202
208
205
148
144
209
220
226
179
186
191
244
243
239
233
227
170
168
166
196
255
255
229
255
237
221
168
186
219
254
211
162
129
0
26
8
58
35
0
26
0
1
0
39
0
16
33
39
0
0
0
0
0
26
26
26
26
34
28
26
0
0
0
0
0
27
48
16
50
11
26
54
53
0
33
39
0
0
0
0
0
0
0
59
26
26
29
0
34
38
40
0
26
30
0
26
26
26
26
0
41
0
44
41
0
0
26
26
0
0
28
30
0
30
28
0
0
29
29
0
0
29
30
0
26
27
27
0
27
28
28
30
32
0
36
36
33
26
26
0
0
0
48
55
0
79
49
127
86
80
113
100
115
72
64
104
89
85
86
89
88
33
33
86
91
95
101
102
52
51
48
45
45
33
85
33
85
229
229
229
229
229
229
255
255
229
229
229
229
229
229
255
255
255
255
229
255
255
255
217
217
201
226
186
154
183
130
130
132
185
188
188
192
189
132
127
127
183
184
135
132
130
183
182
126
122
176
173
118
167
114
165
159
151
105
162
165
163
104
93
92
150
140
69
120
127
74
0
0
0
6
7
10
71
76
80
71
60
55
51
2
31
78
17
10
58
56
6
67
71
68
60
2
0
45
26
18
5
0
0
0
1
58
63
52
49
55
56
57
66
120
83
107
163
167
162
101
115
182
196
204
202
145
192
220
213
159
162
175
239
244
187
158
195
184
127
129
131
155
255
255
229
252
219
209
169
189
255
244
182
177
229
0
0
0
39
49
2
0
0
0
30
44
60
24
31
26
0
0
32
31
0
0
26
26
0
26
0
0
26
0
43
0
0
26
0
0
35
60
90
7
58
26
35
9
0
30
0
0
0
0
0
24
0
0
0
0
41
42
26
0
38
26
0
26
26
26
26
28
0
49
47
26
26
26
0
0
0
0
0
0
0
0
26
26
26
0
0
0
0
0
30
29
0
0
28
27
28
29
29
31
0
0
34
34
31
26
0
0
26
0
0
69
0
67
40
72
91
86
118
99
60
69
67
109
99
92
95
92
91
39
38
39
42
95
101
50
52
51
48
44
41
35
87
87
87
255
229
229
229
229
229
255
229
229
229
229
229
229
229
226
255
255
255
255
255
255
222
220
217
255
255
158
106
132
127
178
180
185
137
187
188
189
189
136
135
183
183
133
134
132
183
182
125
125
176
175
175
173
122
119
113
155
161
165
166
162
103
92
94
97
140
67
96
59
0
19
64
12
17
70
66
61
80
81
71
57
48
50
61
0
0
0
0
44
46
46
0
0
48
41
0
0
26
30
23
63
2
49
0
4
9
12
55
0
50
52
57
9
71
73
99
164
162
103
93
106
173
184
135
133
127
175
229
193
128
128
147
223
179
157
83
29
11
12
21
39
43
82
120
211
245
255
216
255
200
206
255
214
255
255
229
215
28
0
26
0
0
39
35
30
26
0
0
26
31
31
34
36
36
0
0
0
0
30
26
28
0
0
0
0
0
26
26
0
26
65
0
26
0
61
35
26
40
50
0
0
0
8
0
0
28
0
0
4
0
27
26
0
0
43
26
26
0
0
29
36
0
26
26
28
26
26
26
26
0
0
0
0
0
0
0
0
0
26
0
0
26
0
31
0
35
0
0
27
0
29
32
35
30
0
0
30
28
0
29
0
26
0
0
0
50
52
109
98
72
104
148
126
96
49
64
123
121
113
105
106
99
97
41
38
37
40
95
93
94
45
42
40
36
89
93
91
89
89
229
229
255
255
255
255
229
229
229
255
229
229
229
229
255
255
255
255
229
229
229
225
222
218
211
216
201
163
193
177
125
133
185
191
189
192
193
193
195
194
192
191
132
131
186
186
185
181
178
178
176
174
123
122
122
118
166
167
165
160
100
93
89
89
96
144
122
88
51
34
71
76
76
68
69
78
81
86
87
84
72
59
55
5
53
55
55
3
52
50
48
37
0
0
40
0
4
60
88
79
65
4
0
0
4
11
70
59
50
46
52
5
8
62
116
142
152
151
95
85
145
154
110
112
109
158
153
198
179
175
127
193
207
157
199
70
18
0
0
0
0
59
0
0
70
110
149
175
195
147
226
248
255
255
221
207
222
244
113
18
26
26
26
56
61
38
0
33
43
0
28
26
30
33
0
0
0
0
0
0
29
0
39
0
0
0
37
31
26
31
26
0
47
52
51
0
0
26
26
0
0
0
0
39
26
26
26
0
0
0
0
0
42
45
38
0
0
0
0
0
26
26
28
29
28
32
31
31
30
32
31
28
0
0
0
26
26
0
0
31
31
0
0
29
0
33
0
0
36
37
34
30
32
26
0
0
0
26
26
29
0
44
0
0
0
41
33
115
94
114
152
103
82
39
94
111
125
127
121
114
112
112
108
51
46
45
97
99
99
45
95
40
39
39
92
94
91
88
86
255
229
229
229
255
229
229
229
255
255
229
229
255
229
224
255
255
255
229
229
255
255
216
255
255
215
201
186
161
183
125
132
129
138
190
192
193
193
195
195
193
193
133
135
186
186
185
182
128
126
176
173
174
174
123
120
117
117
114
109
99
89
87
91
97
143
119
80
100
36
14
19
17
10
66
81
90
33
32
29
22
63
55
0
74
75
71
68
64
60
2
0
0
38
48
62
75
84
37
80
67
4
51
53
4
10
74
10
0
49
4
9
9
61
64
139
147
145
88
79
84
94
103
106
156
150
97
168
178
185
193
201
204
146
132
97
56
75
4
0
40
22
67
50
31
0
0
18
104
136
178
198
173
204
224
176
241
255
246
201
79
7
0
0
0
62
2
0
0
0
0
26
27
30
0
0
0
0
49
44
38
38
0
0
0
0
44
46
40
63
61
28
0
0
51
33
26
26
26
0
3
0
0
0
26
26
27
63
0
0
0
43
40
34
31
41
40
36
0
0
0
26
31
0
30
35
34
33
32
30
0
0
0
0
0
26
27
0
0
0
0
0
0
0
0
0
0
0
0
0
29
26
28
0
0
0
0
0
27
0
2
0
0
0
0
33
34
105
84
106
149
155
80
34
42
59
73
76
124
116
113
120
116
59
57
55
105
107
104
48
45
43
94
96
96
94
90
86
84
255
229
229
255
229
229
229
255
229
229
229
255
229
229
223
255
255
229
229
255
255
255
255
217
255
255
254
192
193
141
170
178
124
139
186
137
139
141
193
195
194
192
137
136
132
181
179
179
180
178
176
175
173
176
176
123
124
122
119
110
149
137
79
91
148
95
67
128
49
40
88
74
9
6
62
67
15
0
44
1
15
25
24
63
74
71
68
65
60
58
53
0
0
45
50
5
69
80
36
28
15
5
53
1
7
12
22
13
3
52
9
65
11
55
62
88
95
89
83
71
77
139
95
96
90
135
78
56
172
204
216
209
189
117
160
203
198
168
78
35
0
4
0
0
0
36
36
0
0
0
40
0
16
40
58
102
103
190
226
255
213
184
183
77
9
45
0
0
0
0
0
34
0
0
31
0
0
0
5
42
46
45
0
0
0
0
0
36
26
26
50
48
38
31
44
49
41
0
9
14
0
0
36
43
46
41
50
61
26
0
53
26
26
29
31
0
26
26
27
33
36
34
26
27
32
38
36
35
32
28
26
0
0
0
0
29
0
39
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
26
33
23
66
105
157
160
129
86
39
58
76
83
131
125
122
128
76
75
74
71
120
117
109
53
50
48
101
99
96
92
87
82
78
229
229
229
255
255
229
229
229
229
229
255
255
229
229
255
255
229
229
225
255
255
255
255
221
220
255
199
235
187
141
114
123
179
191
140
143
143
143
194
192
190
189
124
127
128
129
185
198
199
205
151
196
186
174
159
83
152
140
179
119
120
175
133
134
173
95
69
107
92
0
21
20
19
22
74
72
15
63
16
17
12
13
15
58
76
74
66
57
56
7
6
8
4
58
59
58
55
51
13
9
5
3
7
15
18
21
19
69
58
54
15
21
64
75
74
83
76
79
88
86
137
138
137
133
79
80
133
136
105
166
168
167
111
109
166
176
176
122
89
44
23
0
1
0
48
48
0
0
0
0
37
0
0
0
0
31
33
0
43
47
52
57
60
77
67
76
127
70
65
0
0
0
0
6
67
69
0
0
0
0
53
50
37
0
0
0
0
44
0
27
26
26
26
62
45
26
26
26
0
0
12
0
26
26
14
68
0
26
44
46
0
5
55
49
40
32
28
26
0
0
0
0
0
32
0
0
0
27
26
26
0
0
0
0
0
0
0
34
0
0
28
26
26
0
29
26
27
26
0
26
26
28
26
5
0
0
31
45
57
33
26
0
0
16
21
15
0
92
136
130
82
85
81
77
125
122
68
64
116
117
66
113
113
62
117
120
122
124
75
72
122
118
114
108
53
44
91
84
78
229
255
229
229
229
229
229
229
229
229
229
255
255
255
255
229
229
229
226
224
224
255
255
255
217
255
248
235
184
193
169
125
129
193
142
147
148
146
195
193
191
190
133
133
131
130
132
195
197
197
140
127
113
150
138
127
102
103
105
159
162
164
122
135
127
95
61
53
54
59
71
71
18
73
74
19
68
63
15
68
10
11
14
7
73
72
69
62
4
2
2
4
54
56
7
57
54
49
64
7
3
5
8
67
68
15
18
67
6
56
68
75
11
73
73
82
77
80
139
137
136
85
83
132
129
78
131
126
96
108
111
164
111
163
174
184
124
124
108
127
50
0
53
51
49
0
0
0
0
0
0
34
0
0
0
0
31
0
43
46
0
4
7
63
73
86
104
67
75
18
14
0
36
0
28
31
34
35
0
30
35
43
0
0
26
0
28
40
0
52
48
26
0
6
13
26
26
26
26
0
0
0
8
70
10
51
0
26
48
40
0
36
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
26
29
0
0
26
29
0
0
0
0
0
33
26
26
27
29
0
0
0
38
31
26
26
26
29
39
0
0
0
0
39
43
31
26
0
0
0
52
58
0
86
133
131
81
83
131
130
124
122
69
117
117
118
68
63
115
117
120
122
124
124
74
74
70
119
115
111
106
42
38
32
79
255
229
229
229
229
255
229
229
229
229
255
255
255
255
229
229
228
255
255
255
223
225
223
222
220
255
242
173
224
197
177
125
134
196
199
207
207
153
152
204
199
199
197
136
125
119
110
92
85
160
113
117
170
163
155
101
108
101
90
76
115
58
75
140
101
90
62
49
54
47
68
16
16
70
18
18
17
9
11
62
62
15
71
68
73
15
67
68
8
46
0
0
54
58
59
58
55
49
62
54
51
57
63
64
8
56
17
14
58
11
78
75
5
68
70
78
78
131
134
80
77
78
77
73
123
72
73
53
76
89
149
155
160
168
184
212
167
143
155
93
109
0
47
48
47
0
0
0
0
0
38
37
0
0
35
26
26
0
29
33
0
0
46
48
3
54
50
44
0
48
55
118
106
33
8
0
0
26
26
0
0
32
26
28
30
0
37
36
0
34
0
0
0
0
36
34
63
5
0
0
0
0
0
0
7
0
26
26
26
0
0
0
33
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
26
37
0
29
28
0
26
26
26
26
26
26
27
27
0
40
46
51
0
49
44
35
26
0
0
0
37
0
0
26
26
41
35
26
26
41
28
63
135
135
84
85
134
80
78
126
125
73
124
71
70
68
69
69
71
73
127
129
130
129
77
126
122
119
113
110
42
91
87
85
228
228
228
228
226
226
226
255
227
227
255
227
255
255
255
255
255
255
255
255
255
255
222
222
220
255
233
163
225
210
137
127
188
195
201
203
151
153
154
154
208
207
211
146
143
147
139
94
84
78
71
67
61
54
105
109
68
112
108
59
70
85
111
96
131
67
76
80
65
81
16
17
69
67
13
13
16
11
61
60
10
16
71
19
29
16
6
59
9
55
49
0
4
60
60
59
62
57
60
54
54
61
63
57
52
51
67
63
60
17
88
79
0
65
118
121
124
124
71
73
71
72
71
67
117
118
67
56
73
81
85
86
142
95
158
178
164
157
158
80
33
39
38
39
40
40
0
35
0
37
35
36
37
0
0
29
29
0
0
0
0
0
0
0
0
30
32
36
37
26
26
38
57
22
88
95
71
118
60
11
0
0
32
27
26
0
0
0
0
3
0
0
45
42
50
26
0
0
0
7
0
10
26
8
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
31
0
0
26
26
26
0
26
26
0
28
29
33
39
0
49
0
42
0
31
0
0
0
0
26
28
46
0
0
0
0
35
0
0
26
0
11
51
114
153
85
89
91
141
140
86
126
127
125
124
71
70
68
69
71
124
125
128
132
134
136
81
80
130
127
121
63
57
49
98
95
93
228
228
255
255
255
255
226
255
227
227
255
255
225
255
255
224
223
222
219
255
255
218
255
255
255
255
178
161
177
168
141
177
186
143
200
199
148
149
150
203
203
203
212
198
143
150
143
93
83
67
59
53
99
45
99
101
64
62
59
61
122
132
104
111
94
74
123
68
53
59
19
72
70
16
65
11
15
16
10
60
9
11
66
13
28
70
6
3
7
7
1
0
55
59
58
58
62
8
59
54
57
12
10
2
50
53
14
10
8
74
42
32
51
116
116
116
120
121
67
70
70
71
69
118
115
116
117
114
127
79
79
77
75
130
88
102
103
92
77
86
32
41
37
0
0
0
0
0
0
36
0
0
0
0
34
27
0
0
0
0
29
29
0
0
0
0
26
26
26
26
0
0
0
34
3
76
24
102
122
92
67
50
39
37
34
30
26
0
0
0
13
0
0
0
55
0
0
0
0
0
0
3
3
0
26
26
43
0
26
26
0
0
36
40
36
26
0
0
0
0
0
0
41
0
0
0
0
26
26
0
0
0
26
26
0
0
33
35
35
37
37
0
0
0
0
0
0
26
0
32
0
29
28
39
0
0
0
0
0
0
0
0
0
32
107
123
95
83
139
140
140
141
142
126
125
69
120
117
65
64
66
69
122
126
129
132
136
138
84
83
131
126
68
63
57
50
100
98
97
227
255
255
226
255
255
255
255
255
255
255
255
224
222
226
224
224
224
220
218
219
213
206
198
246
244
181
225
166
167
168
218
221
184
188
182
242
241
237
238
219
214
162
147
131
128
118
75
61
53
50
51
107
110
62
66
72
72
70
69
70
73
83
87
92
141
68
39
65
56
18
19
74
22
68
11
13
21
19
10
3
1
6
8
22
73
67
60
59
9
5
1
59
66
12
62
60
59
15
0
1
15
67
60
58
59
12
10
19
41
55
36
60
109
110
113
116
118
67
70
66
65
115
113
111
112
60
70
79
78
73
68
62
61
67
66
149
67
0
26
26
46
39
0
0
0
0
34
34
32
32
33
36
35
34
29
0
0
0
26
26
26
27
0
0
0
0
0
0
0
31
0
0
0
42
37
29
26
26
42
52
58
58
26
26
26
0
0
0
0
26
0
0
0
0
0
13
22
0
0
0
0
0
0
26
26
40
45
35
0
26
0
38
40
40
37
36
0
0
0
26
26
0
0
0
0
0
0
0
0
32
0
0
0
0
0
32
26
26
26
26
0
0
0
0
0
0
29
0
0
0
0
40
26
26
39
46
0
0
26
79
30
25
30
97
116
85
80
136
139
138
87
138
124
68
62
111
111
60
62
66
74
126
128
132
137
141
92
91
86
132
124
118
59
55
57
108
106
105
228
255
255
226
226
255
255
225
224
255
255
255
255
226
229
255
229
228
223
221
255
219
255
255
200
195
248
249
188
244
249
199
203
255
255
228
228
255
255
255
255
255
187
162
187
168
153
126
72
66
70
126
78
136
140
145
123
122
65
61
61
62
72
78
81
132
79
72
58
26
30
27
26
79
78
72
16
13
68
67
60
3
55
57
76
17
15
16
14
8
10
51
0
0
0
62
60
7
80
61
7
20
24
73
17
13
58
13
33
49
50
40
82
106
107
109
112
114
114
64
64
62
110
107
104
104
104
57
65
66
63
61
63
120
132
80
105
152
75
26
26
0
0
0
47
0
0
29
35
0
0
0
30
28
26
36
0
0
0
36
35
34
0
0
27
26
26
26
0
0
0
0
34
40
45
50
4
3
0
0
26
26
0
4
56
2
33
30
38
0
3
4
0
2
4
0
0
3
0
3
15
2
53
30
37
4
52
54
86
6
26
31
31
31
31
27
26
0
26
27
26
26
0
0
0
0
30
29
27
26
26
0
26
26
0
0
0
0
0
28
0
0
0
0
0
40
0
41
0
0
0
42
0
0
0
0
0
0
0
113
103
117
58
45
40
96
127
83
88
145
93
92
87
69
61
57
54
55
56
60
116
128
130
135
86
89
142
89
87
83
128
121
64
58
53
54
105
104
104
227
227
228
226
225
226
255
222
222
255
255
255
255
229
229
229
229
255
255
224
255
255
255
255
206
251
252
255
196
252
255
203
204
255
255
222
222
219
255
255
255
196
196
182
112
153
90
69
118
124
127
133
85
89
144
147
122
118
115
59
57
59
120
126
78
81
138
137
78
52
90
81
24
76
25
75
70
65
67
69
65
61
57
57
22
13
14
19
15
59
12
60
0
0
50
63
61
6
29
10
57
71
27
77
21
16
5
16
39
51
46
41
44
105
105
107
109
111
111
61
59
57
107
104
102
50
51
54
62
65
64
64
69
132
98
103
119
179
60
0
26
0
0
49
0
46
37
33
0
0
31
0
0
29
28
36
0
0
36
36
36
36
36
37
33
31
30
0
0
0
0
0
0
0
0
0
46
0
0
26
0
0
0
0
0
47
28
26
26
0
0
0
0
0
0
0
0
0
0
18
26
0
0
26
39
2
47
0
24
0
26
27
28
29
30
26
26
26
26
0
0
26
0
26
0
0
26
26
0
26
0
0
0
26
0
0
0
0
0
0
0
30
0
0
37
40
35
38
39
0
0
39
0
1
0
0
0
0
70
104
114
116
114
59
56
107
64
87
91
146
148
94
88
68
60
55
53
56
57
61
118
130
132
138
89
91
142
140
136
79
125
118
59
54
50
104
104
103
103
228
229
227
228
226
255
255
255
255
255
223
255
255
229
229
229
229
229
255
228
225
223
255
255
255
255
202
200
255
255
222
222
255
255
255
223
218
224
255
255
255
229
161
102
93
135
74
69
70
74
76
79
80
80
131
129
136
133
131
125
69
64
63
61
65
122
126
127
79
137
113
98
83
75
22
20
21
16
18
19
17
69
68
62
63
7
11
69
69
65
14
29
10
52
6
64
60
56
73
1
53
69
79
76
76
20
11
20
37
45
49
61
78
104
104
53
107
107
55
56
50
50
102
101
102
52
53
47
54
57
58
60
69
135
105
119
105
157
126
54
0
0
33
31
31
32
36
0
0
42
0
0
34
31
0
0
0
0
30
30
31
33
35
0
0
35
38
0
0
0
0
44
0
51
44
0
0
0
26
32
47
59
13
0
43
37
30
0
33
0
0
39
35
44
0
0
26
26
31
0
0
29
40
0
48
46
0
0
0
0
26
26
26
26
26
28
0
27
0
0
26
27
28
0
0
30
31
31
32
33
34
35
31
0
32
0
0
0
0
0
0
30
0
33
0
0
36
35
35
36
36
37
33
0
0
0
36
0
76
138
134
129
78
82
132
123
54
88
93
96
146
145
90
71
115
111
57
60
64
67
75
82
136
141
90
89
85
133
125
121
115
108
103
98
43
99
100
101
50
228
229
255
255
226
223
255
222
255
255
224
255
255
229
229
229
229
229
255
229
228
228
227
255
255
255
215
212
255
255
229
229
229
229
229
229
221
224
255
255
206
217
129
80
132
127
70
69
71
74
77
77
75
71
119
114
158
157
153
146
138
130
113
60
55
53
54
111
115
61
132
121
103
91
80
73
15
19
67
65
13
18
70
63
59
62
66
68
20
25
71
70
14
11
7
57
60
6
62
0
3
21
27
25
78
25
14
17
20
32
52
78
149
54
53
54
107
107
54
56
52
51
102
100
99
101
49
51
56
56
108
110
64
128
143
162
118
45
48
0
0
0
0
32
31
0
35
37
31
32
36
39
41
0
0
0
0
0
0
0
0
0
0
0
31
31
30
0
33
10
4
31
26
26
26
26
0
0
0
0
0
0
26
35
39
41
0
0
0
0
26
32
38
49
49
0
0
61
62
79
44
38
70
41
8
0
0
0
0
0
0
37
36
34
34
33
0
30
0
32
33
0
29
0
0
0
34
34
33
32
0
0
30
0
34
36
0
0
0
0
0
28
0
31
34
36
35
0
0
0
29
29
27
26
0
77
69
77
108
103
127
149
104
94
130
121
87
87
90
92
92
142
90
75
117
113
59
63
67
122
78
80
133
81
82
79
76
124
116
61
109
101
44
40
38
97
98
100
101
255
228
227
255
255
255
255
255
222
223
255
255
255
225
229
229
229
255
255
229
229
228
228
226
255
255
255
219
226
255
255
255
222
255
229
229
226
229
221
204
239
187
144
147
91
86
88
129
77
75
75
77
77
79
133
135
139
138
139
137
132
78
69
63
111
109
55
54
51
50
122
121
68
58
38
74
23
23
21
15
10
59
58
47
59
57
58
8
62
67
14
2
7
56
52
57
9
9
102
79
64
6
53
3
10
23
59
64
113
109
109
112
109
61
58
54
103
101
51
53
52
53
104
52
52
55
57
53
87
97
144
127
112
110
122
173
154
84
117
17
0
0
28
29
29
0
0
26
26
0
60
62
0
35
0
0
0
0
0
0
26
26
0
0
26
26
26
26
26
0
34
31
29
0
0
27
26
26
29
35
37
0
0
72
11
1
0
27
0
26
27
37
43
37
0
0
0
33
38
0
37
0
26
0
39
45
38
0
0
0
0
0
33
37
36
35
36
0
36
0
32
0
0
0
0
29
0
29
0
28
27
0
29
29
29
29
0
29
0
0
0
0
31
35
0
0
0
45
45
0
41
41
39
46
4
23
39
102
115
136
130
126
69
67
120
129
94
78
136
90
96
152
152
91
130
123
66
70
128
134
142
134
84
85
87
84
78
73
117
61
55
50
44
41
40
113
114
115
65
225
255
255
255
255
255
255
255
225
226
255
255
255
255
255
229
229
255
229
229
229
229
229
229
255
255
255
223
255
255
255
255
224
228
229
229
228
229
225
215
239
190
145
145
90
85
82
134
83
79
79
81
82
84
139
140
133
133
132
79
130
76
70
66
113
111
56
54
53
53
118
118
119
68
60
44
79
18
16
14
9
6
57
53
70
66
64
67
17
77
76
53
57
59
4
56
59
62
40
77
67
13
12
17
27
38
60
58
55
115
121
123
68
64
61
108
104
101
50
51
53
54
54
54
56
59
61
47
84
151
148
136
123
119
142
188
137
91
127
66
28
0
0
31
34
0
10
23
11
42
26
0
0
48
61
0
0
0
0
0
35
36
37
37
36
36
36
0
34
40
40
38
39
0
39
39
44
42
40
0
0
0
34
0
0
0
26
26
0
39
53
52
47
38
0
0
0
33
0
41
37
47
33
26
26
48
51
39
0
32
0
0
0
0
29
0
26
26
0
27
0
26
26
0
0
31
31
31
31
30
30
0
28
0
28
28
28
28
0
0
26
0
0
34
39
40
0
0
0
0
0
0
43
0
51
63
70
83
103
72
126
122
64
60
62
69
134
124
131
139
145
148
151
139
129
120
116
119
125
129
138
137
137
138
137
134
129
125
116
113
58
52
50
48
99
109
57
59
60
255
255
227
255
255
255
229
229
255
255
255
255
255
255
255
229
229
229
255
229
229
229
229
228
255
255
255
255
255
229
229
227
225
255
255
255
229
229
229
255
207
187
147
139
144
96
87
134
130
78
78
78
133
133
136
138
124
72
125
123
72
70
70
121
65
113
58
57
56
60
116
113
112
115
120
62
98
18
16
66
64
62
60
62
90
80
71
67
67
76
84
12
61
66
15
8
10
18
78
72
22
79
81
38
48
56
61
61
72
136
144
140
81
71
67
61
106
102
102
102
105
107
56
58
61
64
67
89
134
154
158
150
139
132
86
131
137
178
151
142
157
0
40
51
2
0
0
26
0
26
0
0
26
26
0
32
0
0
34
33
33
35
34
35
0
0
38
38
0
0
0
0
0
0
30
29
0
27
26
0
32
0
0
0
0
0
0
35
39
0
34
33
33
41
0
0
0
32
45
43
34
50
40
26
26
0
55
55
42
0
0
0
33
32
32
0
0
0
0
26
26
0
0
0
0
27
27
28
28
28
0
28
29
29
29
29
29
29
0
0
32
32
34
37
0
0
43
0
46
46
45
45
42
0
46
57
5
16
43
65
65
64
59
55
52
106
61
61
69
78
135
141
146
135
74
117
112
62
68
72
77
133
133
133
80
79
76
125
68
66
114
57
108
108
109
52
53
55
56
255
255
226
229
255
255
255
255
229
229
229
229
229
255
229
229
229
229
229
229
229
229
255
255
255
255
225
224
255
255
229
228
225
255
229
229
229
229
229
222
213
208
153
140
143
98
88
136
128
129
129
77
129
131
133
81
123
69
120
68
68
68
67
69
118
116
112
111
112
113
113
112
57
58
116
64
54
24
20
16
15
65
13
13
88
29
76
69
63
71
81
69
7
12
18
11
13
72
73
72
27
83
89
48
58
114
68
73
84
92
146
143
139
74
69
62
107
102
101
101
104
106
108
110
62
66
69
86
133
155
163
156
144
135
82
174
181
188
163
149
118
0
56
51
0
0
0
26
26
0
0
0
26
26
26
0
0
33
0
30
31
31
33
34
0
0
0
0
0
0
0
0
0
26
26
0
28
27
27
31
35
0
0
0
26
26
44
46
41
0
0
0
0
0
0
0
0
0
42
42
35
45
42
28
26
0
45
54
0
0
0
0
0
28
28
30
0
0
0
0
0
29
0
0
30
30
30
31
31
31
32
32
30
30
30
30
30
30
30
30
0
32
32
33
37
0
0
39
43
44
47
47
47
26
0
52
3
13
35
57
62
62
58
53
48
101
51
55
62
124
131
85
88
131
73
117
111
59
64
67
73
78
78
132
131
129
76
74
72
68
64
61
110
58
58
53
54
56
57
255
255
255
255
229
229
229
229
229
229
229
229
255
227
229
229
229
229
229
229
229
229
229
255
229
229
255
255
255
255
255
255
255
229
229
229
229
229
229
229
213
207
121
94
88
92
137
140
79
133
132
79
130
129
130
129
120
119
65
62
61
113
115
66
118
118
117
116
115
113
47
54
57
55
59
63
63
90
80
19
72
24
75
77
73
78
81
74
61
9
15
23
57
61
18
13
16
72
18
23
36
98
106
66
72
72
88
92
94
143
137
137
142
132
74
66
58
52
50
50
104
107
110
113
117
121
125
92
135
156
166
161
97
135
84
100
171
120
121
172
109
100
63
0
0
0
26
26
0
11
7
52
0
0
0
0
0
31
29
27
0
0
26
0
0
0
0
0
0
0
0
0
0
32
0
37
33
35
35
31
0
29
0
0
0
0
0
29
32
35
30
0
35
0
0
0
43
38
0
0
0
34
43
40
31
26
26
0
31
32
0
0
0
27
28
0
0
27
0
0
0
30
0
0
30
26
26
26
26
0
0
0
30
30
30
30
0
0
30
42
41
38
37
35
33
34
32
0
38
0
42
43
41
39
0
7
68
75
30
55
57
58
55
50
44
93
89
46
54
62
123
76
82
124
121
111
105
105
57
60
65
70
70
125
127
127
128
127
131
127
70
66
62
60
59
58
59
61
62
255
227
255
255
255
255
229
229
229
255
229
229
229
229
229
229
229
255
229
229
229
229
229
229
229
229
255
255
255
255
255
224
224
255
229
229
229
229
228
223
208
233
139
139
87
86
136
132
128
129
128
129
129
128
128
126
113
113
61
112
112
62
114
114
114
115
116
116
116
115
51
52
52
53
54
107
60
114
103
35
75
21
24
82
63
67
73
72
67
64
62
19
18
15
19
28
29
24
29
42
55
114
60
61
74
89
99
89
82
133
135
134
134
133
78
72
64
57
54
53
107
110
112
114
118
123
126
63
91
105
163
158
145
130
72
77
138
147
106
114
118
210
126
103
74
40
4
0
0
0
15
9
0
0
0
0
0
0
26
26
26
0
0
0
0
0
0
33
31
30
29
31
0
34
33
33
27
0
28
33
0
0
55
34
0
0
0
0
0
26
32
0
0
0
0
0
47
35
39
0
0
35
42
43
36
28
26
26
0
0
0
0
26
26
0
0
0
36
0
0
0
0
32
31
28
28
28
28
28
0
31
32
0
0
0
0
0
0
0
0
40
35
34
31
0
0
0
0
37
0
45
49
1
12
66
68
72
76
31
104
58
59
108
104
98
93
83
97
51
62
121
124
125
121
62
57
104
104
107
111
62
68
121
120
120
122
124
127
126
128
129
128
75
70
66
74
75
78
80
225
255
255
255
229
229
255
255
229
229
255
255
255
255
229
255
229
229
229
229
229
229
229
229
229
229
255
255
255
255
255
255
255
228
229
229
229
229
228
222
207
178
129
78
132
134
83
131
127
76
128
77
77
129
76
75
59
59
59
112
112
60
112
111
111
111
111
111
112
114
53
52
52
52
52
54
57
115
112
103
88
75
20
27
10
15
19
74
74
70
14
20
76
77
25
32
87
87
45
54
61
65
66
74
90
158
156
91
84
81
134
81
80
84
132
74
66
60
57
56
109
112
116
119
123
128
131
72
92
101
156
152
142
130
123
69
129
136
145
155
109
155
134
180
169
136
85
40
0
0
0
44
31
0
0
0
0
0
27
26
26
0
26
26
0
0
0
0
0
26
27
32
33
0
29
26
26
26
0
0
0
51
50
0
0
30
33
30
0
0
0
34
0
0
0
43
50
33
38
0
29
31
41
45
33
32
0
0
0
0
0
0
26
26
0
0
0
0
0
0
0
0
32
28
26
0
0
0
30
31
0
0
32
0
0
0
0
30
29
39
34
0
26
30
30
0
0
0
37
42
44
0
54
23
69
64
12
74
33
101
62
62
110
53
50
44
86
101
107
114
121
122
123
117
112
55
101
101
106
110
61
66
117
118
117
119
69
72
124
127
78
132
132
129
70
78
80
136
87
255
255
229
229
255
255
255
255
255
229
229
229
229
229
255
255
255
229
229
229
229
229
229
229
229
229
228
255
255
255
255
255
255
255
229
229
225
228
255
254
135
118
78
78
128
126
125
76
77
74
74
73
74
127
77
76
63
61
61
61
61
61
111
112
57
56
107
107
106
108
62
60
109
53
52
51
104
107
60
116
60
51
90
78
73
21
75
81
35
89
88
86
93
106
55
48
54
112
80
83
92
113
140
158
205
190
158
144
137
137
141
142
89
85
79
72
66
62
58
56
110
115
120
125
77
82
137
96
96
94
92
141
138
135
130
130
129
131
138
145
151
184
179
166
152
147
146
134
102
12
0
0
26
26
34
46
0
0
35
29
26
26
26
26
0
0
26
26
0
36
32
26
26
0
26
26
0
0
0
0
29
28
27
27
0
32
30
27
28
0
0
33
34
0
31
0
48
30
36
0
30
26
36
43
43
0
0
0
0
0
0
26
26
0
26
28
28
0
0
0
0
0
0
30
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
43
41
37
0
0
0
0
0
0
0
42
51
7
0
88
84
81
80
84
87
100
52
54
54
55
54
53
99
100
105
112
66
121
123
120
112
53
49
49
104
107
57
65
115
114
112
115
118
71
74
126
75
128
129
131
130
129
131
135
138
255
255
229
229
229
229
229
255
255
255
229
229
229
229
255
255
255
255
229
229
229
229
255
255
255
229
228
228
255
255
226
222
255
255
255
255
229
227
255
214
153
108
80
129
126
124
121
71
123
121
70
70
72
126
74
74
69
121
118
65
116
61
57
60
112
57
106
104
102
98
54
55
55
107
107
54
103
104
104
103
108
59
56
48
26
25
27
82
38
99
108
109
58
78
141
118
51
113
169
201
183
248
250
243
230
213
173
100
142
141
147
152
151
136
76
69
65
62
58
107
113
119
73
77
133
137
87
106
91
84
130
131
134
141
98
100
95
93
96
100
105
171
182
191
151
159
165
161
157
141
158
89
73
113
107
71
69
59
53
46
41
37
35
0
35
35
0
0
38
32
30
31
35
0
0
0
0
0
0
26
26
26
26
33
0
33
32
34
0
0
27
31
0
27
0
0
0
31
33
34
0
0
31
36
0
0
0
0
0
0
0
28
28
27
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
31
0
0
34
34
33
33
0
0
0
41
0
42
0
0
0
0
0
36
44
48
3
15
50
114
112
105
98
40
90
93
99
105
58
60
62
61
106
102
106
111
64
118
119
63
57
52
48
49
103
107
107
110
57
54
105
53
110
115
76
77
129
130
80
82
136
132
132
131
131
229
229
229
229
229
229
255
255
255
255
255
229
255
255
255
255
229
229
229
229
229
229
229
255
255
255
228
228
255
255
255
255
215
255
255
255
226
223
255
215
174
164
127
128
74
125
123
121
120
68
121
69
72
73
74
74
71
122
69
66
116
113
57
61
59
59
56
53
100
95
99
101
51
107
107
55
53
54
102
100
101
53
56
56
26
25
25
28
88
99
60
117
115
137
149
122
100
107
198
222
242
250
251
250
240
227
180
106
146
92
149
152
155
83
75
120
65
61
110
106
114
120
74
78
133
137
139
160
143
131
126
125
80
91
99
101
96
93
93
152
155
150
202
225
183
186
235
180
182
179
218
196
169
142
126
81
79
16
61
2
47
43
0
0
37
37
33
34
0
34
33
36
0
0
0
0
0
0
30
26
26
26
26
0
0
31
0
0
33
30
29
32
0
26
0
0
56
33
34
35
36
0
31
35
42
42
39
0
0
29
29
28
0
0
27
26
26
26
0
0
0
0
0
0
0
1
0
43
0
33
0
0
37
36
35
33
0
0
0
0
38
38
0
0
0
0
0
0
0
46
0
4
0
76
66
107
98
41
39
90
101
107
61
65
66
64
55
104
108
111
115
117
116
112
56
105
101
102
105
56
109
106
53
50
49
51
106
111
74
77
132
136
86
84
136
133
132
78
129
229
229
229
229
229
229
255
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
255
255
255
228
255
255
255
255
255
255
255
190
163
226
243
255
255
210
248
177
95
76
129
73
69
75
85
87
88
83
125
115
47
131
77
128
128
125
70
64
58
56
106
105
52
103
101
55
54
103
100
100
49
103
56
110
108
54
51
49
96
107
51
43
38
94
93
106
146
149
147
136
62
110
149
229
178
231
232
229
224
218
215
186
168
157
151
95
89
84
90
83
128
71
66
111
107
66
74
78
84
142
146
147
143
142
92
94
93
90
139
140
139
141
143
146
152
158
113
188
201
157
165
168
221
220
224
182
192
207
219
255
223
209
150
105
10
0
0
0
34
0
0
35
0
43
33
34
0
0
0
0
0
0
30
29
32
32
30
28
0
31
34
0
0
26
30
42
0
42
31
0
0
39
32
34
0
29
0
0
0
0
0
0
0
0
31
32
0
31
34
34
0
28
27
35
37
36
0
0
0
0
0
0
0
0
0
50
50
0
44
43
42
38
0
0
52
48
0
35
26
0
0
0
0
56
22
38
56
86
69
68
119
119
67
65
114
113
62
61
57
55
51
49
107
106
106
52
104
104
106
106
104
104
107
58
60
110
64
111
54
52
51
105
106
61
66
124
78
83
138
141
138
138
138
138
229
229
229
229
229
255
255
255
255
255
229
255
255
255
255
229
229
229
229
229
229
229
229
229
255
255
229
255
255
255
255
255
255
255
252
185
168
156
150
197
192
218
255
218
119
153
141
128
128
127
78
78
75
121
114
48
77
126
125
70
67
118
65
62
110
106
103
99
45
42
106
105
52
103
102
48
102
48
102
106
109
108
54
99
73
79
25
24
79
80
79
97
101
105
57
61
128
167
153
205
208
209
208
156
156
154
144
128
115
159
102
95
143
149
142
84
79
72
118
118
76
83
87
90
96
153
153
150
95
94
94
93
93
144
145
92
95
97
151
157
112
102
125
138
150
215
226
233
241
232
207
195
131
119
161
74
15
0
0
0
0
0
1
49
29
26
26
0
0
36
36
0
0
0
0
0
0
32
31
29
0
0
29
0
38
38
26
0
26
34
48
0
35
35
39
39
0
34
29
27
28
0
0
0
0
0
0
35
28
0
34
0
0
0
34
37
30
26
26
26
27
34
0
0
0
34
0
0
39
0
47
44
0
50
52
53
49
0
0
44
53
60
4
0
14
75
20
19
75
30
93
106
118
67
65
65
65
66
64
61
110
110
109
108
105
104
101
58
109
109
109
56
109
59
58
57
106
104
104
53
54
60
109
106
52
52
105
55
58
61
66
70
130
134
139
139
139
87
87
229
229
229
229
229
229
229
255
229
229
255
255
229
255
255
229
229
255
229
229
229
255
255
229
229
255
255
255
229
229
255
255
226
217
208
255
255
254
243
215
150
214
243
216
133
105
86
133
124
74
126
76
129
127
124
116
128
127
124
67
116
115
58
56
106
54
51
47
42
37
51
103
104
102
102
103
51
50
104
104
52
104
103
49
28
83
27
25
80
81
78
87
95
50
60
68
86
119
142
143
145
200
150
151
205
205
198
186
173
113
104
99
94
148
142
139
80
71
69
69
79
84
88
91
96
153
152
151
97
95
93
92
144
144
94
93
96
98
100
106
113
103
122
135
148
162
176
184
191
182
146
172
142
112
96
0
49
54
4
7
10
12
9
5
0
42
0
32
0
0
0
0
0
0
0
30
0
0
0
26
0
0
0
0
38
34
26
0
0
38
47
41
33
36
40
39
0
0
0
0
0
31
0
0
0
0
0
35
29
0
32
31
0
0
31
38
35
32
26
26
26
0
0
34
0
0
32
31
30
33
36
35
0
41
43
43
41
0
30
50
63
73
22
20
90
98
47
45
94
44
54
113
118
66
64
64
65
65
64
113
111
110
110
55
55
52
102
58
58
111
111
60
112
113
56
56
56
107
105
104
50
54
52
50
48
48
50
55
56
60
65
121
128
133
138
141
89
89
89
229
229
255
229
229
229
229
229
229
255
255
229
229
255
229
229
229
229
229
229
229
255
255
229
229
229
229
229
255
255
255
229
229
255
224
213
255
255
255
255
255
255
140
125
162
98
89
134
125
131
132
134
136
87
142
146
119
119
119
116
113
59
51
50
49
49
98
44
41
38
47
99
95
92
42
42
97
52
51
50
50
48
99
97
119
111
109
73
84
125
116
79
74
66
60
110
121
92
123
124
127
130
135
143
200
205
197
188
180
171
110
156
101
96
145
143
135
122
69
74
83
87
90
144
150
153
154
151
154
153
96
92
143
143
95
94
97
99
101
107
114
114
176
181
136
149
165
177
183
178
141
152
101
60
0
55
49
46
50
52
50
0
0
27
0
12
21
19
17
0
0
0
0
0
0
34
35
34
0
32
0
0
0
0
0
29
26
27
0
0
0
35
33
0
38
34
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
36
37
0
0
30
26
0
0
0
26
26
0
29
34
0
34
31
31
32
31
31
0
0
4
64
13
15
24
111
116
68
70
69
70
126
131
81
117
118
116
117
66
117
112
111
111
111
57
56
57
107
109
60
115
117
116
113
105
54
54
53
51
101
51
107
107
54
49
43
40
44
52
63
116
68
70
75
133
139
147
147
95
95
229
229
229
229
229
229
255
255
229
255
229
226
255
255
229
229
229
229
229
255
255
229
229
229
229
229
229
228
255
255
255
229
229
228
255
255
226
255
222
255
255
255
193
186
217
193
177
151
151
139
140
88
139
138
138
135
113
112
110
110
57
56
55
53
52
102
100
47
44
93
94
92
37
35
88
36
91
95
43
98
51
53
47
93
120
110
112
136
100
153
151
100
150
151
92
65
93
53
104
109
115
116
122
132
137
138
195
187
179
119
167
162
159
150
92
85
130
127
127
75
83
86
92
148
98
97
151
153
150
147
93
90
88
139
138
143
93
95
99
103
107
178
118
165
163
170
181
196
213
214
152
126
140
104
85
53
43
28
47
11
13
5
0
26
0
5
51
36
0
39
0
40
0
0
34
0
0
0
0
0
38
40
40
41
34
29
26
31
0
0
30
33
39
42
38
0
0
30
0
0
0
28
30
0
0
0
0
28
0
0
39
0
0
30
0
31
0
36
35
37
40
41
0
0
26
34
37
0
0
5
6
51
44
0
0
0
0
2
60
0
29
0
0
79
60
57
49
55
61
120
125
130
137
124
70
70
118
118
117
117
62
109
106
103
104
105
55
113
115
116
115
111
54
48
101
108
59
55
50
102
111
121
69
64
109
49
97
47
65
71
75
79
78
78
133
151
100
102
103
255
229
229
229
229
229
255
255
255
255
229
228
255
255
228
227
226
226
227
255
229
227
227
226
226
227
255
255
229
229
229
229
255
229
229
255
255
255
255
255
255
255
229
229
229
216
250
213
195
174
155
84
68
111
109
61
115
114
59
55
52
49
45
46
46
48
49
102
102
101
38
90
90
39
41
41
43
48
49
110
118
67
106
91
34
48
119
134
92
100
107
112
169
179
185
181
161
85
88
98
109
166
116
121
128
186
184
182
176
120
166
108
156
150
145
137
131
129
128
127
78
82
138
142
144
92
145
143
140
138
136
82
80
131
138
141
142
92
94
98
153
184
123
168
165
166
176
185
196
200
208
201
188
127
126
104
74
57
14
27
81
15
0
29
54
69
13
38
26
0
42
41
0
0
37
0
0
0
37
39
40
38
37
41
34
32
26
32
36
0
30
36
0
0
0
0
0
35
0
0
29
35
32
0
31
0
0
0
0
0
45
38
0
29
0
31
0
0
0
37
40
42
0
36
34
0
26
0
0
43
46
38
0
0
0
0
0
1
8
0
0
6
30
102
66
70
77
78
126
120
112
54
46
71
71
74
73
124
122
117
116
60
107
51
51
106
53
116
114
112
108
104
51
51
107
107
51
51
50
103
103
105
63
75
130
125
66
59
113
118
123
127
79
135
139
150
99
100
100
229
255
255
255
255
255
255
255
255
255
255
255
229
229
255
224
223
255
222
223
255
223
223
224
255
255
255
224
228
229
229
255
255
255
255
229
255
229
227
255
222
221
255
255
229
255
255
243
221
203
128
105
85
121
111
104
123
69
65
59
53
103
94
97
96
98
97
98
98
47
91
93
42
44
46
100
103
56
62
70
76
74
66
58
52
119
130
79
78
135
137
103
110
170
176
184
183
165
129
88
102
163
166
116
124
182
128
126
123
118
112
106
101
147
141
136
80
128
76
75
81
84
89
144
144
94
93
143
141
139
136
134
81
132
134
137
138
86
88
92
146
176
173
170
169
171
124
184
194
203
160
156
205
152
153
148
112
64
61
16
65
0
0
0
57
77
73
43
0
0
43
42
40
39
38
37
40
40
40
41
39
36
33
41
35
32
29
32
0
0
0
0
42
0
37
0
28
37
0
0
0
0
0
33
33
32
0
0
34
38
42
45
39
0
26
30
0
0
0
0
0
0
0
39
37
26
26
0
0
0
30
26
26
26
0
0
0
38
47
37
52
73
92
55
127
81
92
89
81
69
110
98
35
71
74
76
130
129
74
118
125
69
64
61
60
61
60
56
107
107
52
52
102
48
101
102
52
59
116
116
58
98
106
119
128
131
126
120
113
118
123
128
134
85
90
94
95
96
96
229
255
255
255
255
255
255
255
255
255
255
255
218
216
255
213
215
217
216
215
214
213
213
214
255
255
255
222
228
255
255
255
229
255
255
229
229
229
229
255
224
222
255
229
255
255
223
217
239
220
156
147
142
185
124
110
91
90
136
78
73
67
60
106
104
52
52
101
101
98
110
110
111
61
67
71
77
141
143
145
141
136
136
96
82
134
76
122
122
75
74
70
80
90
98
158
167
171
137
83
90
101
165
118
120
175
127
124
121
117
111
105
101
93
141
138
135
135
82
83
147
99
102
157
159
108
107
105
155
153
152
150
149
148
95
98
98
99
101
104
159
162
174
128
133
137
142
196
141
148
215
171
234
189
191
191
152
24
60
15
16
56
40
0
49
112
83
0
26
49
48
45
44
43
43
43
47
46
43
41
39
36
33
40
0
0
32
35
36
0
0
0
0
0
35
30
27
39
38
31
28
40
34
30
0
35
28
26
40
40
35
45
44
42
38
31
0
0
0
0
36
36
40
41
41
0
42
51
60
66
61
52
40
31
0
0
0
73
81
113
109
107
111
124
148
151
93
86
78
72
117
60
53
126
128
78
82
133
78
72
118
114
57
106
105
51
48
60
113
61
61
57
53
45
51
50
50
103
110
65
73
67
115
115
122
132
137
135
126
126
75
77
84
89
91
81
82
135
84
255
255
255
255
255
255
229
255
255
255
255
209
202
197
221
226
234
190
195
193
244
184
179
173
172
179
255
255
226
228
229
229
229
255
255
229
255
255
255
255
224
222
195
194
255
255
210
244
199
136
180
175
125
129
190
202
98
97
91
86
133
130
70
68
119
119
66
66
117
115
132
130
131
79
85
92
102
102
101
100
109
119
179
133
163
157
151
146
137
127
66
63
58
60
65
122
126
135
129
104
137
140
106
119
176
178
129
178
121
117
113
108
105
100
101
99
151
152
153
154
106
161
164
167
169
116
117
168
166
165
163
162
109
108
107
111
112
113
115
171
174
114
134
146
156
165
220
166
164
213
210
224
189
198
198
225
195
85
85
120
153
161
134
120
165
200
77
0
26
53
0
0
46
46
46
46
49
46
0
0
37
36
35
40
0
0
0
0
37
0
0
0
0
0
0
0
27
36
0
0
0
38
34
31
40
0
0
0
38
43
44
42
49
1
0
33
34
0
0
0
40
0
40
40
41
52
62
76
140
148
143
135
124
111
52
51
106
110
110
147
147
148
150
151
139
129
74
69
121
123
129
82
89
76
77
78
81
80
132
75
73
120
116
112
111
55
50
98
46
47
47
101
51
57
64
74
132
130
69
60
60
84
84
134
127
121
118
123
85
82
79
80
83
86
140
111
112
113
115
255
255
255
255
229
229
229
228
218
205
192
220
156
201
186
186
189
146
163
163
164
168
158
145
192
206
255
255
229
229
229
255
255
255
255
255
255
255
255
255
255
229
229
229
229
225
255
238
176
163
148
191
201
210
204
201
203
204
205
156
156
157
153
149
146
147
196
140
191
187
203
206
207
156
157
156
157
146
144
196
140
138
134
131
174
172
169
165
110
158
154
154
101
99
148
96
97
150
164
120
159
131
80
108
126
124
133
187
183
118
108
100
91
97
96
95
146
147
148
96
101
154
105
160
160
107
105
104
105
158
106
106
107
107
105
108
109
111
115
172
176
186
188
192
144
148
155
159
161
217
222
224
175
179
182
180
231
227
232
240
199
208
212
252
204
101
41
55
44
0
0
54
6
63
65
9
4
0
0
34
0
26
26
51
0
0
58
45
0
0
0
2
11
0
0
3
40
35
39
41
0
5
5
0
48
0
46
46
0
58
66
60
40
27
28
49
60
67
63
0
0
0
26
52
22
0
0
32
126
165
209
210
200
185
117
106
100
94
146
135
134
135
135
138
140
137
84
84
135
131
75
124
124
113
64
68
125
79
134
87
80
129
124
65
57
53
53
76
131
133
133
134
130
50
41
37
91
92
43
41
38
116
126
130
78
75
118
111
115
120
66
62
113
110
57
126
122
119
117
255
255
255
255
229
229
229
225
219
207
190
152
198
196
135
134
136
139
198
145
146
141
143
150
166
242
216
255
229
255
255
255
255
255
255
255
255
225
229
255
229
227
229
255
255
244
235
237
187
187
178
163
200
192
138
177
179
178
180
182
129
130
126
124
122
176
128
130
132
185
183
133
138
144
148
151
154
151
200
197
194
193
191
189
178
177
122
119
113
161
156
151
151
98
97
148
96
147
115
116
174
123
108
91
100
124
128
131
128
121
169
167
110
105
157
105
157
107
160
109
161
160
160
160
107
104
102
106
103
102
154
100
101
101
156
158
107
108
163
170
173
177
135
193
197
199
201
201
211
214
222
226
229
233
184
188
238
236
239
246
205
213
217
255
224
179
127
92
28
0
47
38
32
27
0
0
0
0
0
0
0
0
0
0
0
0
71
101
35
0
0
0
7
0
0
36
3
0
0
0
0
37
38
35
0
0
30
0
35
40
44
41
42
40
40
56
55
51
0
0
39
39
40
49
7
0
47
31
72
162
209
213
209
145
134
126
122
118
118
144
142
140
141
142
87
85
83
83
133
129
74
70
123
57
61
119
124
128
130
80
80
131
127
68
60
57
54
71
126
127
130
135
139
127
59
50
93
88
86
87
89
83
92
101
110
124
76
77
75
72
63
58
109
105
46
63
64
116
116
225
225
227
255
255
229
229
229
255
255
210
184
165
153
145
143
143
194
147
150
152
161
178
198
255
255
255
255
229
229
255
255
228
255
255
255
255
227
255
255
255
255
255
255
255
241
235
234
181
177
187
183
214
200
147
133
189
191
194
144
147
199
199
148
147
200
147
148
201
201
131
133
136
192
196
148
201
202
146
195
192
189
188
190
179
179
174
170
112
159
154
146
145
145
92
91
142
141
164
166
170
174
129
177
111
101
112
122
180
178
178
176
120
109
109
162
163
113
167
169
165
162
159
105
103
100
97
153
150
97
149
99
100
153
152
157
160
162
164
168
119
125
127
129
184
190
194
196
196
202
163
219
222
226
228
243
242
240
241
246
254
211
216
214
247
168
133
107
98
137
127
91
20
51
0
0
0
0
0
9
21
30
33
0
26
26
79
138
160
62
0
37
56
5
0
26
0
0
0
0
0
0
32
32
0
0
0
0
0
32
34
26
35
49
53
52
41
33
0
56
83
51
85
61
0
0
9
39
78
115
214
221
213
154
146
193
193
138
137
101
99
97
95
94
88
84
83
132
79
75
125
72
69
66
67
121
125
126
128
132
76
78
76
73
69
119
69
69
76
136
142
145
147
84
64
58
106
105
114
129
95
77
76
66
56
56
103
98
53
51
98
98
107
110
112
97
49
102
102
225
225
227
255
229
229
229
229
255
255
255
255
186
172
209
155
151
199
152
156
161
178
195
212
218
255
255
255
255
229
229
229
228
226
228
228
255
229
255
255
225
255
255
217
207
198
194
237
229
174
185
184
218
201
197
188
199
201
204
208
157
212
212
155
155
156
209
159
213
217
138
138
139
194
144
146
198
196
193
190
187
184
181
128
171
171
115
165
159
154
150
140
88
140
87
85
138
138
162
165
163
162
125
188
177
101
105
168
174
174
124
126
173
110
110
111
112
114
168
170
117
113
110
108
106
156
154
153
98
97
97
152
154
155
100
108
162
165
168
121
124
128
180
182
185
190
194
145
195
201
161
218
221
224
228
243
190
189
242
245
200
209
214
217
207
188
164
148
140
216
202
156
74
42
16
0
0
0
0
12
24
31
34
26
0
28
122
167
168
71
37
34
4
9
38
26
0
0
41
48
50
0
0
0
31
29
0
29
0
41
0
0
35
0
5
48
38
0
44
68
98
124
108
76
54
62
25
54
88
123
220
226
222
217
158
205
203
147
144
104
102
98
149
95
88
86
134
132
128
127
74
73
68
69
70
125
125
129
134
142
87
88
141
140
88
138
139
90
99
161
166
169
167
155
144
134
122
65
68
80
95
67
71
121
66
65
58
50
93
94
87
84
91
95
99
32
34
35
34
225
227
227
228
229
255
229
229
229
229
255
255
255
217
251
245
183
226
228
183
243
204
213
220
225
229
255
255
229
229
255
228
228
228
229
228
229
229
255
255
221
220
229
225
214
204
252
241
232
230
185
185
171
204
195
211
210
209
211
212
211
211
208
156
155
156
157
160
214
219
199
148
200
199
147
145
141
182
177
172
112
106
100
96
88
140
138
137
134
132
130
75
76
126
73
128
129
80
104
103
154
157
111
119
176
180
147
150
154
157
114
126
180
165
113
113
114
115
116
169
107
103
101
100
99
150
149
148
142
87
86
86
139
140
88
96
153
156
160
165
168
168
175
178
179
129
179
127
183
188
152
155
159
163
164
173
174
174
225
228
180
187
194
199
203
253
197
195
193
229
255
255
222
174
131
47
24
6
45
33
33
31
29
0
0
83
191
175
86
19
32
35
4
3
0
0
34
54
6
64
70
62
58
55
52
45
41
43
1
7
9
0
0
1
8
47
51
74
35
105
124
144
155
135
116
67
80
152
126
151
234
238
232
225
166
214
209
145
193
107
104
100
150
94
88
137
133
131
126
127
77
75
122
125
72
125
131
85
96
165
107
111
164
163
110
159
160
155
162
167
168
166
165
156
152
149
146
93
94
148
150
136
135
121
51
38
80
28
39
43
42
41
100
107
66
43
39
35
36
255
226
228
229
229
255
255
255
255
229
229
228
255
255
215
255
204
253
249
252
255
255
221
227
255
255
229
255
228
228
228
228
228
229
229
229
229
229
255
226
226
229
229
223
212
209
255
243
234
231
185
183
221
205
150
156
152
204
152
153
154
205
200
189
137
137
191
143
146
154
206
205
152
202
201
145
138
172
162
153
94
85
77
120
64
115
62
60
109
108
56
57
112
112
63
119
122
73
82
133
140
95
96
147
157
119
161
147
143
151
165
173
173
154
154
102
103
106
160
161
105
103
154
153
100
100
152
150
147
144
139
137
134
133
81
140
141
144
148
152
155
162
114
168
169
170
171
118
126
173
179
134
139
143
144
145
198
202
155
161
165
170
177
183
252
255
207
207
255
255
255
251
186
166
178
83
113
92
71
37
26
26
26
79
63
171
255
150
53
50
0
0
62
0
34
58
33
0
49
54
11
8
0
42
0
37
0
0
0
3
58
71
41
32
66
16
67
46
115
137
154
173
185
128
126
121
129
144
160
175
190
190
178
171
216
205
148
191
189
160
158
155
97
93
87
139
136
136
136
84
135
81
133
135
137
137
85
87
89
93
148
96
96
99
100
154
103
108
160
170
173
166
157
144
74
69
59
60
71
73
126
144
96
135
120
61
100
30
36
36
42
52
52
43
33
23
23
75
23
228
228
255
255
255
255
255
255
229
229
229
229
255
255
255
255
215
255
255
255
255
255
227
229
229
255
255
229
255
255
255
229
229
229
229
229
229
229
227
224
229
229
228
223
216
255
209
242
233
239
188
232
220
210
206
157
144
147
149
148
195
192
196
138
139
139
140
195
148
153
211
212
210
155
151
144
139
121
160
99
141
81
72
116
60
59
110
56
53
51
104
103
55
56
111
62
64
117
67
70
132
143
93
144
149
156
172
159
145
94
157
164
166
151
150
149
151
154
158
160
105
105
105
157
104
103
155
155
151
96
92
87
137
135
134
140
143
93
97
150
153
160
164
168
170
170
165
163
117
113
116
122
124
127
128
130
132
192
197
202
156
213
170
177
244
252
204
255
208
204
206
199
195
186
164
138
159
139
117
77
63
55
50
120
109
162
255
146
51
0
0
0
14
0
0
13
97
0
42
44
0
51
0
33
0
0
0
0
0
0
2
44
42
48
53
26
79
92
105
133
159
180
141
140
195
189
144
154
164
173
181
180
173
167
211
200
194
185
181
158
156
99
96
90
85
84
136
135
134
135
83
85
85
137
139
140
89
141
139
83
86
85
87
86
86
139
89
107
165
170
167
152
148
167
132
105
78
72
74
118
110
127
128
115
105
51
99
91
53
38
76
72
26
29
28
18
23
80
83
229
229
255
255
255
255
255
228
255
229
229
229
255
255
229
229
255
255
255
255
255
255
255
229
229
255
255
229
255
255
227
227
229
228
229
255
255
229
229
229
225
255
255
229
229
255
255
255
254
187
174
213
207
210
213
163
154
152
203
202
200
196
131
127
126
129
130
187
192
200
147
154
211
214
211
204
146
130
122
112
154
146
138
133
127
73
122
120
64
59
108
51
51
53
54
55
52
100
44
51
117
132
90
145
141
137
173
182
167
95
91
103
165
161
105
101
152
153
156
157
105
107
109
110
110
109
108
158
102
99
96
90
140
137
141
145
95
97
98
101
103
109
107
110
167
168
114
111
101
96
148
98
97
100
154
154
159
177
134
141
202
206
164
169
237
245
199
255
211
208
255
255
255
225
255
225
222
255
255
180
223
215
212
230
184
244
245
208
139
27
61
67
22
0
0
58
81
2
51
52
56
54
46
0
0
0
0
54
18
23
78
118
115
47
73
109
109
102
95
115
93
121
140
133
180
193
143
146
199
149
152
151
150
200
144
138
186
179
174
157
153
99
94
142
87
85
133
134
82
135
85
88
144
145
93
92
141
140
139
85
82
80
128
124
67
64
61
124
127
121
67
88
114
213
170
124
91
36
39
84
22
69
78
141
141
134
123
113
99
98
96
40
89
86
31
33
39
100
106
229
255
229
255
255
255
226
227
224
255
223
255
255
255
255
229
255
255
255
255
255
255
255
255
228
227
229
229
255
255
255
226
227
226
225
255
255
255
227
229
225
255
255
255
255
255
203
255
255
250
176
156
149
152
208
212
202
151
200
196
193
139
139
191
139
138
191
140
195
201
196
145
200
203
205
207
205
142
136
130
125
170
164
110
150
148
146
89
136
78
71
113
108
53
50
49
45
41
36
43
110
129
93
154
154
144
148
172
188
127
106
97
153
161
106
103
153
152
152
152
156
156
105
105
106
107
108
158
101
99
97
94
93
90
143
146
93
94
96
99
100
160
112
112
160
157
153
151
98
94
136
131
72
73
126
131
140
168
180
140
149
206
214
167
233
240
247
254
255
213
255
255
255
255
255
255
210
211
214
220
220
255
255
255
255
221
227
229
198
141
99
83
79
59
46
0
0
53
101
46
97
92
94
45
27
30
34
85
88
50
115
64
55
105
129
126
177
45
26
42
76
112
112
86
120
165
113
112
163
110
114
169
118
172
121
122
174
174
119
98
97
145
141
138
83
82
83
83
87
91
94
96
100
151
98
94
142
141
87
85
74
71
119
64
58
56
54
105
114
114
83
122
127
74
117
83
60
7
15
30
37
0
4
22
28
78
96
123
134
130
118
100
84
30
86
85
88
91
93
229
255
255
255
255
255
255
225
225
223
255
255
224
223
229
229
255
255
255
224
227
255
255
255
227
225
227
228
220
255
255
255
255
255
224
228
255
255
255
227
225
224
220
216
206
196
189
193
200
255
235
211
149
151
152
155
153
209
210
205
149
152
224
239
184
183
234
235
235
240
213
156
151
202
204
205
151
145
141
137
131
177
120
118
105
155
152
95
142
135
75
116
58
52
101
98
95
42
36
44
56
76
95
158
159
150
139
162
191
140
114
95
146
156
103
101
100
99
98
98
156
155
102
103
104
106
159
158
104
100
99
97
95
94
95
149
99
98
99
102
156
158
167
114
107
152
145
142
138
133
127
70
64
64
67
123
82
114
126
139
201
207
159
166
232
237
244
252
255
255
255
255
255
255
206
205
208
209
210
255
217
218
220
229
253
213
171
235
214
163
113
87
27
63
47
0
0
117
104
88
73
68
82
44
43
97
44
86
78
41
108
100
112
161
194
108
152
82
20
41
80
115
156
125
52
153
153
153
150
150
103
159
107
111
114
115
117
120
116
95
94
142
138
136
132
80
82
86
142
147
150
152
154
150
98
95
92
90
138
131
128
71
67
61
106
50
46
108
113
109
77
124
187
135
91
67
58
59
12
25
28
0
0
75
83
78
94
125
79
130
120
52
91
35
83
83
85
86
86
229
229
229
229
229
255
255
255
229
229
255
255
225
224
229
229
255
255
255
227
228
226
224
255
255
255
255
229
229
229
255
255
255
255
229
226
255
255
255
255
255
255
203
196
192
195
197
195
196
194
251
244
183
186
241
233
174
173
172
177
184
242
246
199
206
255
223
255
255
255
255
210
207
203
251
244
184
169
158
146
134
129
178
130
118
166
160
100
94
136
127
110
54
49
47
98
97
46
46
46
49
54
63
69
79
141
148
157
183
143
183
147
60
146
94
98
103
107
109
111
159
98
92
89
89
87
139
163
153
96
95
99
102
101
97
154
101
98
98
152
156
154
158
108
109
107
103
151
92
91
81
130
75
72
72
73
81
105
114
122
134
142
150
155
219
228
234
239
189
244
247
202
255
255
255
255
255
255
203
199
196
246
194
202
200
193
176
162
196
179
111
96
136
119
106
102
103
85
118
100
92
91
104
67
84
135
134
138
139
137
136
74
143
157
172
117
102
104
171
148
45
54
93
179
138
176
171
163
157
150
85
85
79
82
138
143
144
148
150
76
74
73
76
134
145
148
151
159
163
165
167
169
167
160
158
155
98
95
142
135
132
127
69
117
61
108
101
50
65
105
108
104
136
133
133
122
45
23
12
7
55
2
14
78
71
58
65
87
109
101
45
43
92
37
99
80
77
71
72
229
229
229
229
255
255
255
255
229
255
255
226
225
224
255
255
255
255
227
226
225
226
226
227
255
255
228
227
255
255
229
229
229
228
255
255
255
255
255
255
247
235
190
195
202
212
218
255
255
255
229
255
244
180
179
186
238
244
202
255
255
255
255
226
227
229
229
229
255
229
222
222
221
220
255
255
214
202
197
189
226
206
188
128
123
168
161
99
142
133
123
54
52
52
54
107
109
57
115
114
115
117
69
73
79
84
144
143
149
176
205
188
145
156
99
103
109
109
108
161
104
102
155
154
150
92
140
135
138
90
93
93
147
149
100
104
157
103
157
158
161
156
159
107
107
104
101
99
96
93
136
133
80
79
80
79
86
103
109
169
178
187
140
144
158
217
170
176
179
184
186
191
246
249
199
201
203
201
249
243
239
236
235
178
175
172
216
208
147
189
129
123
118
153
141
129
123
72
113
101
93
89
40
47
62
70
132
138
96
94
144
125
89
151
163
140
133
121
153
163
145
100
85
136
143
154
146
141
86
82
74
76
75
77
134
137
139
141
90
70
71
123
127
133
149
154
109
169
122
124
176
180
177
163
159
155
100
95
142
133
129
72
116
110
55
50
46
47
49
102
45
54
95
113
150
119
86
68
65
15
13
29
84
90
92
89
97
110
52
40
81
79
82
92
56
71
119
112
110
255
229
229
229
255
229
229
228
255
255
255
227
225
255
255
255
255
228
226
227
226
229
229
255
255
255
226
225
255
255
229
229
255
255
255
255
226
220
255
255
246
232
184
247
208
220
226
255
255
229
229
255
255
255
208
181
192
202
255
255
255
221
227
229
255
229
229
229
228
227
229
255
226
255
255
255
221
209
206
202
250
235
214
143
127
171
162
99
142
131
70
55
105
54
56
112
112
114
71
69
65
117
67
124
124
128
138
135
131
152
190
145
171
158
95
97
100
151
98
154
106
106
157
154
99
91
139
145
138
137
135
83
143
154
101
105
107
106
107
162
164
160
159
160
108
105
101
99
98
95
88
86
138
138
86
85
89
102
110
169
177
183
191
143
156
215
170
174
176
182
184
189
192
196
199
201
203
201
249
242
238
235
234
173
169
165
159
205
199
193
191
189
187
126
118
107
151
139
126
110
97
92
45
51
63
74
135
138
150
99
95
125
139
151
108
139
143
189
165
154
153
194
127
112
112
137
78
125
74
74
73
75
78
79
84
136
82
133
134
119
121
123
127
134
149
106
113
122
128
129
183
132
183
166
163
157
101
98
92
134
128
72
63
109
53
50
45
50
37
45
50
97
68
108
95
109
85
82
76
69
17
83
83
90
96
46
105
58
61
46
87
88
97
109
66
77
122
115
112
255
229
229
229
229
229
229
228
255
255
229
228
227
255
255
255
255
255
229
229
255
255
255
255
226
225
226
255
255
229
229
229
229
229
229
255
255
255
255
255
191
187
244
255
255
255
225
229
228
227
226
255
255
226
255
255
221
224
227
255
225
224
228
229
229
229
255
255
225
255
221
224
255
255
255
255
217
222
215
211
255
255
251
183
151
142
128
114
150
137
126
110
109
60
65
72
132
86
104
147
133
124
119
63
111
111
128
135
137
144
164
139
203
111
87
82
86
87
90
98
142
149
158
160
105
100
148
136
125
81
139
137
87
92
152
158
106
109
112
111
112
164
109
108
106
158
103
100
99
100
152
151
100
99
99
92
93
156
164
173
178
185
191
142
156
215
221
225
175
176
230
237
189
247
252
255
254
199
196
190
239
236
183
164
161
157
203
202
149
200
199
150
153
208
208
202
140
103
146
131
63
106
54
53
53
68
133
140
157
109
105
92
144
149
107
115
173
174
182
133
96
173
147
110
89
110
103
100
50
59
68
74
74
77
130
130
75
69
120
118
121
124
129
133
98
108
119
179
184
135
136
137
135
168
112
109
104
99
94
83
130
125
120
114
57
52
44
39
36
38
42
41
41
63
78
74
79
69
47
51
64
112
53
108
118
120
125
80
78
71
61
56
107
108
110
104
44
36
83
255
229
229
229
229
229
229
229
255
255
229
229
255
255
255
255
255
255
229
228
255
255
255
255
226
226
226
255
255
227
227
255
255
255
255
255
222
255
255
204
192
205
255
255
255
255
255
227
223
219
221
255
229
229
229
255
229
226
228
255
229
222
255
255
227
255
255
255
223
255
226
227
255
255
255
255
221
213
215
255
255
255
255
209
189
177
212
189
113
99
137
120
69
76
86
96
156
167
146
139
173
149
124
107
104
108
139
99
161
169
115
129
214
178
94
71
66
145
133
156
240
254
255
255
201
196
242
187
223
176
85
71
80
147
152
102
108
112
108
109
112
108
109
110
108
157
150
145
158
159
160
160
106
107
106
97
146
154
158
112
121
181
188
191
203
211
218
223
224
229
230
185
190
246
247
195
198
195
194
192
241
235
180
167
162
156
148
199
147
144
142
144
145
203
201
193
131
120
164
149
136
113
54
52
53
60
124
132
96
102
105
131
174
163
153
98
151
155
103
97
111
146
165
133
73
111
100
85
36
50
115
124
71
72
125
72
124
124
123
66
120
124
129
138
156
162
171
177
131
133
135
137
134
113
109
106
101
98
94
139
133
130
126
121
114
56
49
42
94
92
93
43
45
47
53
119
59
56
85
96
75
117
64
63
121
126
133
138
132
126
69
53
91
90
96
93
14
45
44
229
255
255
255
229
229
255
255
255
229
229
229
255
255
255
255
255
255
255
255
255
255
255
255
228
226
255
255
226
226
226
255
255
255
229
255
227
223
220
208
199
255
255
255
255
229
229
225
222
255
221
224
227
229
228
225
225
222
224
255
255
255
225
229
229
255
255
224
223
222
229
228
255
255
255
255
222
215
255
255
255
255
255
210
210
203
241
164
183
164
151
85
86
91
153
111
172
128
157
151
132
108
79
60
51
105
142
99
161
166
109
117
144
124
91
76
145
171
142
156
188
245
246
242
242
241
240
240
231
209
178
143
80
144
149
98
103
158
154
100
100
102
90
86
87
143
151
157
150
151
156
161
110
160
108
96
145
151
105
110
118
179
185
188
199
207
215
222
224
229
231
187
192
248
248
248
199
248
247
193
242
184
181
172
220
214
207
204
201
146
146
145
193
191
138
132
126
173
113
152
87
118
58
54
50
108
117
127
93
101
105
135
125
163
149
136
135
136
92
88
147
146
135
165
184
116
102
43
93
93
110
112
65
69
72
73
126
123
69
67
68
124
79
137
155
161
168
175
127
180
129
130
124
109
159
154
99
96
92
138
135
133
76
71
117
58
100
92
90
90
39
41
43
97
106
119
60
59
78
80
114
107
64
79
89
86
133
129
81
69
57
51
101
106
101
67
61
58
10
229
255
255
229
255
255
255
255
255
255
229
229
229
229
229
229
229
229
255
255
255
255
255
229
255
255
255
255
224
225
226
255
255
255
229
255
226
215
215
215
255
255
221
225
255
255
229
224
221
255
223
226
229
229
228
255
255
255
223
221
255
255
227
255
229
229
229
255
255
225
229
229
229
255
255
255
229
226
255
255
224
221
217
213
219
255
255
253
175
211
200
132
180
180
140
202
206
158
223
220
153
181
100
75
63
60
145
156
174
183
183
184
138
139
124
122
151
160
164
192
196
193
185
233
233
237
237
251
231
236
227
188
99
93
145
154
153
149
148
103
111
180
159
168
220
214
210
209
182
169
149
153
106
106
103
143
141
144
99
103
111
120
127
132
142
203
211
219
227
231
234
245
198
201
253
252
255
254
253
199
196
190
239
229
225
221
214
211
205
199
201
147
142
127
125
125
174
117
110
151
88
68
114
110
107
111
114
71
92
100
105
126
171
161
151
135
130
130
75
146
139
135
144
143
170
178
93
62
107
102
91
108
54
58
116
121
71
73
73
119
69
72
130
136
150
156
159
113
168
169
167
167
159
102
98
146
91
93
93
90
138
135
82
78
122
113
48
39
36
35
33
35
89
90
98
106
60
66
68
57
54
128
76
124
72
73
128
123
56
65
133
131
107
84
14
88
103
110
47
255
255
229
229
229
229
229
255
255
255
229
229
229
229
229
229
229
229
255
255
229
229
229
229
229
229
255
255
225
225
226
228
229
229
255
255
215
255
212
255
255
229
228
255
255
255
255
255
226
255
227
228
229
229
255
255
255
229
255
225
255
255
227
255
255
229
255
255
255
224
255
255
228
229
255
228
227
255
255
227
226
225
221
219
255
255
255
255
210
255
246
218
217
221
231
235
183
182
182
176
216
191
114
92
82
131
96
117
140
207
215
217
161
149
133
132
156
167
171
187
199
202
252
250
246
241
233
233
179
172
228
218
122
80
135
145
139
141
158
130
147
185
144
147
144
193
191
192
164
202
161
150
149
155
160
134
78
83
87
91
99
107
118
125
138
198
155
166
173
231
233
242
195
200
254
255
255
255
255
254
198
193
242
226
170
163
209
208
154
152
148
149
149
141
189
184
177
105
99
141
134
71
69
71
71
126
125
78
93
95
96
91
147
152
157
161
162
108
109
98
102
113
166
117
115
59
125
134
84
109
94
79
93
96
101
107
113
131
84
120
121
72
76
133
92
97
150
156
108
160
160
159
149
147
93
141
139
143
145
146
142
140
84
79
123
113
49
42
90
86
31
31
86
87
86
90
47
55
54
52
60
90
104
158
86
64
110
119
130
55
87
72
12
14
79
83
19
11
15
255
255
255
229
229
229
255
255
255
229
229
229
255
229
229
229
255
255
255
255
229
229
229
229
255
255
255
255
224
224
224
224
255
255
255
255
255
255
217
255
255
229
229
229
255
255
229
229
229
228
229
229
255
229
255
255
255
229
255
255
224
255
255
226
255
229
228
255
255
255
255
255
255
255
255
228
226
255
227
226
224
225
255
255
255
255
255
255
216
255
255
177
181
240
248
250
192
241
192
186
222
144
118
150
88
141
105
128
151
216
228
233
175
158
143
136
144
157
172
184
200
200
252
252
252
246
242
231
231
173
229
218
120
79
134
135
135
148
171
193
150
195
195
141
194
196
198
148
155
205
175
157
148
149
155
128
74
77
81
85
93
101
111
120
135
195
150
161
168
179
232
238
244
250
253
203
204
254
252
199
196
190
187
175
169
161
155
156
157
156
156
154
153
151
202
142
135
156
98
88
133
78
80
134
83
82
135
89
101
103
101
128
85
149
163
179
131
130
181
117
115
123
120
125
135
60
89
123
166
128
107
81
82
88
95
105
114
132
137
120
122
73
75
132
90
94
148
154
105
157
154
152
142
143
89
85
138
140
144
96
92
90
85
77
122
114
50
93
89
83
28
28
81
84
87
89
97
101
50
59
72
101
100
138
119
111
67
77
107
81
13
14
22
85
94
71
0
4
32
255
255
255
255
229
229
255
255
229
229
255
229
229
229
255
255
255
255
255
255
229
229
255
255
229
229
255
255
255
255
255
226
255
255
229
225
255
255
221
255
255
255
229
228
228
255
228
229
229
229
229
255
255
255
229
255
255
255
255
255
255
223
255
255
227
227
228
229
255
255
255
255
225
255
255
255
226
229
229
229
229
229
227
255
221
221
255
216
211
255
200
196
207
255
210
201
195
245
239
229
162
152
203
190
121
115
138
163
177
184
244
197
194
188
171
151
135
128
140
167
183
192
246
246
247
255
211
234
220
219
229
207
108
132
135
130
146
168
185
143
145
147
200
204
149
192
193
144
139
200
170
149
133
70
69
66
67
121
123
78
87
95
104
112
180
183
136
197
203
175
228
233
239
242
191
191
198
245
243
242
187
236
180
160
159
159
158
158
214
218
215
215
216
212
156
151
148
182
116
94
70
48
54
122
87
161
178
133
125
121
121
167
115
120
182
205
155
155
210
210
157
203
197
139
133
135
123
78
154
169
93
89
77
31
61
128
60
84
118
77
129
131
135
137
137
135
126
124
72
122
121
72
67
135
81
80
133
135
89
92
95
92
139
132
128
122
112
72
70
16
15
24
87
99
105
113
112
106
116
87
90
24
20
42
138
157
131
91
37
47
111
59
101
91
41
91
2
73
122
255
255
255
229
229
229
255
229
229
229
229
229
229
255
255
255
255
255
255
229
229
255
255
255
229
229
255
255
255
255
227
227
255
255
255
226
255
255
220
218
255
255
229
229
255
255
255
226
255
255
226
255
255
255
255
255
255
255
223
222
255
217
255
255
229
228
229
229
255
229
255
255
255
229
255
255
229
228
229
255
228
228
229
227
226
222
255
221
255
255
210
206
255
255
202
198
197
244
225
224
167
212
212
151
145
145
187
202
255
255
214
216
255
255
190
169
206
192
188
197
169
177
183
189
246
251
198
184
226
177
209
112
135
141
147
130
83
113
194
204
146
149
146
148
146
196
198
150
148
204
171
153
137
129
130
72
73
72
125
77
84
142
150
156
172
177
132
139
144
164
216
218
221
172
176
178
182
181
231
230
229
228
175
163
214
215
161
163
167
221
220
219
217
211
209
207
205
192
181
161
140
122
74
89
163
126
139
146
147
194
189
194
141
139
196
213
164
166
222
222
170
166
208
146
139
146
111
139
102
128
145
109
110
105
95
109
77
63
132
73
127
129
131
134
133
129
130
73
70
117
65
71
74
128
127
74
127
132
83
88
87
84
131
126
120
115
54
30
31
35
31
29
27
85
95
87
87
95
101
101
47
77
88
76
90
9
72
99
114
112
109
103
46
48
62
81
28
60
142
255
255
255
255
229
229
229
229
229
229
229
229
255
255
255
229
255
255
255
255
229
255
255
255
255
255
255
255
255
255
226
226
227
255
255
255
255
255
221
215
223
229
229
255
255
255
255
255
227
255
255
255
220
224
255
255
255
255
255
255
255
212
224
255
229
229
255
229
229
255
255
255
224
227
229
228
226
255
227
227
227
227
229
229
255
255
222
223
227
221
213
255
255
252
195
195
245
240
231
235
234
232
231
170
171
178
204
212
255
255
255
255
255
255
250
180
217
149
191
197
160
177
183
187
249
255
216
200
234
172
149
166
144
143
146
137
140
111
191
149
140
150
146
196
144
143
143
146
203
203
168
151
138
131
133
77
78
128
77
80
85
91
149
155
171
176
129
135
140
158
158
210
212
164
169
224
225
225
224
224
225
173
174
213
162
214
160
162
216
218
223
220
165
159
156
208
208
197
135
117
153
136
141
102
173
133
197
206
158
151
197
149
146
146
148
213
217
219
169
171
169
216
204
195
133
128
112
86
126
102
189
148
101
109
106
100
112
71
72
125
74
76
80
80
81
76
127
122
66
63
63
69
122
123
68
69
121
126
78
134
133
130
125
120
64
58
50
48
96
91
87
33
30
34
21
34
32
18
23
106
130
74
46
21
20
39
53
110
105
105
107
55
52
54
64
34
95
122
139
255
255
255
255
229
229
229
229
229
229
229
255
255
255
255
229
255
255
229
229
229
229
255
255
255
255
229
229
255
255
224
226
226
229
229
255
255
255
225
221
221
224
225
224
255
255
255
255
227
226
255
255
255
219
219
214
255
255
255
255
255
198
202
255
216
225
227
225
255
255
255
255
255
229
229
229
255
255
219
220
222
223
228
255
255
227
226
224
226
223
216
255
255
250
241
189
246
246
245
199
253
253
201
196
198
210
218
220
255
255
255
255
229
219
255
252
238
161
137
127
139
139
196
215
173
216
198
182
174
117
177
195
198
128
164
148
88
94
169
199
221
198
196
195
146
151
154
154
151
193
158
150
142
140
94
90
144
141
140
89
93
98
102
160
170
176
180
184
134
142
144
144
195
145
150
207
155
156
208
211
214
166
170
169
223
222
168
170
223
226
226
170
167
160
158
212
211
201
194
133
122
162
166
124
187
200
210
217
168
215
212
210
156
153
154
158
214
217
167
168
215
208
194
183
122
118
113
105
130
128
106
183
179
126
97
45
51
78
75
73
74
76
78
81
80
127
69
69
68
67
68
70
118
113
61
62
116
121
125
127
127
124
119
114
57
51
95
111
103
97
96
37
21
3
3
15
99
137
148
126
87
79
42
48
42
48
66
126
129
123
65
60
108
56
60
49
106
117
123
255
255
255
255
229
229
229
229
229
229
229
255
255
255
255
255
255
255
229
255
255
255
229
255
255
255
229
255
255
228
224
221
223
229
255
255
229
227
255
255
224
216
215
216
218
221
255
255
225
255
255
255
216
209
203
200
255
255
198
194
240
179
170
165
218
222
183
202
215
255
255
255
222
255
255
255
220
212
212
255
218
221
228
255
255
229
228
227
255
229
229
221
216
255
198
248
255
213
218
223
255
255
222
219
218
225
255
255
255
255
255
255
255
255
255
255
255
235
142
113
156
168
160
200
135
169
149
157
162
174
115
164
174
127
175
151
98
90
85
98
121
147
219
224
224
165
149
132
117
106
134
134
134
139
98
95
147
147
145
94
97
102
108
162
170
174
126
127
180
173
176
180
126
124
127
131
138
142
197
200
205
162
167
225
225
224
222
171
224
225
172
171
169
164
163
162
212
206
205
200
144
139
141
200
154
165
175
179
232
232
232
232
231
174
223
215
162
162
158
155
201
192
124
116
109
94
103
92
157
147
137
34
151
162
134
97
48
55
78
68
121
122
74
76
128
125
118
115
59
54
107
111
61
123
69
124
126
78
133
134
75
72
67
63
111
104
96
104
97
90
79
66
7
41
118
161
125
78
57
69
78
102
97
110
82
84
70
68
127
122
67
66
66
63
62
50
107
114
120
255
255
255
255
255
229
229
229
229
229
255
255
255
255
255
255
255
255
229
255
255
255
229
229
255
255
255
255
255
229
227
228
255
255
255
227
229
228
255
255
255
255
255
255
221
228
255
255
224
255
215
215
216
255
193
252
249
246
240
233
224
165
156
139
190
187
193
213
240
255
255
218
219
255
255
255
210
210
255
255
220
226
229
229
255
255
255
225
228
228
255
255
255
255
198
253
255
215
255
255
227
225
225
223
223
223
228
255
255
255
255
255
255
255
211
255
255
238
149
120
154
165
153
132
179
178
170
169
171
172
113
168
173
166
172
155
89
87
86
85
89
86
166
179
180
166
97
87
70
73
134
138
141
91
91
143
145
147
148
146
97
99
102
108
167
168
117
121
176
112
164
165
113
116
116
118
123
126
185
197
151
156
159
222
223
224
174
172
172
170
174
172
224
223
170
169
169
162
212
209
207
204
206
210
163
170
176
179
236
236
236
235
232
177
224
215
161
159
156
202
195
188
115
109
105
96
94
95
151
151
134
107
83
156
158
111
107
111
118
115
118
70
75
79
129
123
63
57
104
103
105
57
116
123
72
127
80
84
136
131
139
73
119
69
113
92
101
91
26
25
69
66
50
127
82
90
11
65
73
24
84
98
111
76
85
79
69
69
123
123
121
67
65
64
65
58
60
118
120
255
255
255
255
229
229
229
229
255
255
255
255
255
255
255
255
255
229
229
255
229
229
255
255
255
229
229
229
255
229
229
255
255
255
226
222
255
255
255
255
228
255
255
216
206
213
229
226
228
226
217
210
252
235
215
210
212
212
208
203
194
128
110
106
110
169
179
197
220
190
210
255
213
215
255
255
254
246
246
249
208
255
229
229
255
255
228
229
255
255
255
255
255
255
253
255
255
255
255
255
255
229
229
255
255
229
229
255
255
255
255
255
255
214
255
255
249
171
147
138
128
147
162
163
159
156
153
144
128
126
184
197
190
160
92
100
154
153
148
146
145
137
75
71
68
68
71
73
70
125
82
138
140
139
138
137
140
143
91
92
92
94
97
96
103
108
164
168
170
164
110
108
157
102
99
99
107
112
172
193
152
163
170
228
229
230
232
230
178
176
176
177
229
228
229
176
176
176
176
228
176
174
226
227
231
233
234
237
240
239
241
241
188
185
231
219
160
155
147
136
127
120
103
101
155
98
101
159
156
146
84
69
106
78
120
161
129
102
90
104
109
62
119
122
120
115
108
105
49
101
107
59
121
130
78
81
136
86
85
130
127
128
121
105
94
95
91
57
65
92
140
168
89
13
9
11
19
24
23
31
93
111
131
136
64
53
112
114
114
116
116
114
61
63
65
69
125
131
133
255
255
255
255
229
229
229
255
255
255
255
255
255
255
255
255
229
229
229
255
229
229
229
229
255
255
229
229
255
255
255
255
255
222
221
255
255
229
255
255
224
255
255
201
178
177
201
201
204
207
198
241
230
214
200
193
177
124
121
167
160
98
87
92
92
155
183
216
243
206
255
255
255
255
223
255
255
255
247
238
242
255
255
255
255
255
225
229
255
229
229
255
255
202
255
255
255
255
229
229
229
255
255
255
255
255
255
255
255
255
255
255
255
220
255
255
188
158
145
197
187
198
163
162
157
164
174
170
178
221
210
208
136
96
89
88
145
143
146
150
148
81
86
88
87
86
81
78
134
131
74
124
127
129
130
130
130
82
85
88
87
86
88
85
87
94
153
157
155
160
160
105
103
102
100
152
112
118
127
151
163
174
232
228
229
230
233
233
178
178
179
179
231
231
231
179
181
176
178
183
188
193
195
245
242
240
187
188
241
242
244
241
239
237
230
216
155
148
140
131
122
115
103
103
158
163
159
105
101
91
72
54
104
114
100
104
140
42
31
104
106
109
113
115
116
115
105
51
101
104
107
62
122
125
127
126
128
77
75
120
115
110
52
44
82
85
155
175
166
64
21
22
29
25
28
19
26
40
38
86
49
89
123
103
96
42
41
96
99
101
103
102
53
56
61
69
126
131
137
255
255
255
255
229
229
229
255
255
255
229
255
229
255
229
255
255
229
229
229
255
229
229
229
229
229
229
229
255
255
255
255
227
224
223
255
255
229
255
255
223
255
255
198
180
180
247
255
204
202
194
182
219
205
141
132
122
173
168
162
155
96
91
92
93
104
185
219
242
255
255
255
255
255
255
255
255
255
251
237
184
247
255
255
229
227
226
255
255
255
255
255
215
206
213
255
255
222
229
255
255
255
255
255
229
229
255
255
222
255
255
255
255
220
255
201
178
159
200
200
184
138
154
214
220
183
195
189
241
245
193
188
156
159
132
129
93
94
150
152
95
88
90
143
92
144
144
90
88
136
127
125
126
128
129
127
127
79
83
88
138
136
84
83
86
90
146
147
149
155
153
151
98
99
100
153
168
124
134
157
167
177
235
229
230
231
231
232
179
231
231
181
179
232
180
182
182
174
229
234
242
198
198
196
243
190
187
187
242
244
193
190
239
236
229
213
206
145
140
184
175
170
107
103
157
170
109
102
94
85
68
54
107
119
116
107
121
107
11
51
105
54
56
59
117
117
58
56
107
107
112
116
125
120
120
67
121
122
70
61
108
104
39
25
42
86
184
131
92
9
16
34
26
24
33
26
31
38
28
30
60
70
96
28
83
89
36
38
39
41
95
99
48
104
110
121
125
132
136
255
255
229
229
255
229
229
255
255
255
229
255
255
255
229
255
229
229
255
255
255
229
229
229
229
229
229
229
255
255
255
255
226
226
226
226
255
255
255
255
229
255
182
156
168
233
227
210
192
185
177
168
206
197
139
130
123
173
171
165
104
96
86
87
96
116
194
217
183
219
255
255
255
255
223
228
255
255
255
203
197
204
214
255
255
214
215
255
255
255
255
214
202
202
255
255
223
220
229
229
229
229
229
255
229
229
255
255
220
255
255
209
208
215
198
168
154
159
161
208
192
132
144
223
248
255
196
191
190
247
238
231
167
150
152
116
74
75
141
152
94
89
94
147
146
144
91
89
85
138
139
140
137
137
135
126
125
129
83
89
139
84
82
137
89
85
84
86
141
159
158
98
100
101
159
162
179
187
150
176
184
192
197
230
231
233
235
235
235
234
181
179
179
231
232
181
181
225
177
234
242
248
195
192
243
239
186
186
243
246
196
194
190
235
229
212
205
148
136
182
178
177
162
103
100
173
114
155
85
70
79
82
126
132
130
116
100
85
33
50
49
48
50
53
65
68
69
65
63
115
117
120
127
109
110
58
113
114
62
55
48
130
115
123
89
43
18
74
63
74
86
22
20
79
35
40
88
80
101
81
76
78
87
37
31
81
34
30
29
32
36
90
95
100
107
123
127
133
138
229
255
229
255
229
229
255
229
229
229
255
255
229
255
255
255
255
229
255
255
255
229
229
229
255
255
255
255
255
255
255
229
227
228
255
255
255
229
229
229
214
244
231
223
215
163
210
195
141
186
182
185
194
204
155
162
186
138
137
182
174
169
161
106
113
183
201
215
224
238
255
255
255
214
216
221
255
255
255
203
249
249
201
208
212
210
206
205
205
255
251
174
171
232
254
255
220
220
229
229
229
255
255
255
255
229
225
255
224
255
255
255
255
221
153
137
183
184
128
168
177
176
130
149
160
214
176
167
202
196
140
190
190
142
202
127
120
75
131
138
92
79
86
140
88
142
145
149
92
94
146
95
94
91
90
88
140
131
130
129
77
74
77
130
79
79
131
133
83
73
80
93
153
160
172
181
149
156
218
181
185
187
189
246
250
201
253
254
253
196
194
194
243
237
234
231
178
178
229
229
228
230
228
226
173
172
173
174
178
231
230
223
171
168
166
158
205
201
197
192
135
182
111
102
151
147
143
140
138
128
102
44
58
60
107
108
109
39
52
39
32
81
35
46
70
81
79
76
73
70
123
63
41
106
109
113
58
53
60
158
122
96
18
7
15
36
112
103
96
86
29
28
29
27
36
80
98
130
81
100
26
23
26
27
29
82
30
27
20
20
25
34
43
52
116
123
128
135
140
229
255
229
229
229
229
229
229
229
229
229
229
229
255
255
255
255
255
255
255
255
255
255
229
255
255
255
229
255
229
229
229
228
255
255
255
255
229
229
229
255
227
233
230
227
176
227
205
197
178
180
189
151
214
165
216
201
156
157
202
192
183
176
126
181
192
209
223
232
241
254
255
255
206
208
255
255
255
204
195
195
245
189
191
200
204
205
200
191
236
235
163
167
234
255
255
218
220
228
228
228
255
255
228
255
226
221
220
218
211
255
255
203
164
147
134
182
177
159
137
173
188
143
150
147
149
165
158
194
140
138
137
190
195
207
137
117
126
128
75
87
75
84
137
87
88
145
147
93
94
97
96
96
95
94
95
96
87
135
132
128
124
125
128
76
75
76
130
80
76
80
144
152
162
176
135
150
158
220
234
185
241
191
198
202
205
255
255
255
202
198
198
195
237
181
229
175
175
226
225
223
170
217
214
215
164
215
218
171
223
222
217
217
164
214
156
153
201
196
194
190
183
117
110
105
167
155
143
140
133
110
107
53
55
104
50
51
29
22
39
37
34
34
40
58
61
73
126
70
63
58
54
55
52
89
30
53
96
174
134
45
18
57
16
87
46
109
102
94
84
80
80
29
28
89
83
119
94
62
74
18
27
27
81
82
82
80
78
20
18
22
28
35
42
105
122
127
134
139
255
229
229
229
229
229
229
229
229
229
255
255
255
255
229
229
229
255
255
255
255
255
255
255
255
255
255
229
227
227
228
227
228
227
229
229
227
225
255
255
244
177
187
250
210
210
206
255
205
202
199
194
187
182
177
225
181
179
229
228
173
219
147
156
148
198
205
218
181
201
198
195
191
192
250
255
249
237
232
184
196
246
180
175
175
180
232
170
157
206
213
171
173
187
255
255
223
255
255
255
223
223
223
223
255
255
217
211
211
208
207
201
188
149
144
203
162
214
193
121
102
124
141
145
145
201
163
204
160
157
144
130
132
195
150
139
111
124
72
67
81
73
81
85
87
88
91
148
145
95
98
152
153
150
97
97
99
94
92
88
82
130
128
76
127
126
75
81
84
81
86
145
152
162
178
138
200
207
217
178
183
240
243
250
202
255
255
255
210
206
255
207
202
190
237
231
177
162
161
212
210
155
202
200
198
144
144
198
204
153
205
205
206
204
205
151
149
146
142
189
184
181
172
117
115
98
158
163
106
94
122
117
116
117
113
102
93
83
17
0
70
33
33
29
48
106
94
107
113
56
93
32
44
137
160
110
73
28
10
30
36
104
114
109
54
108
105
88
90
90
84
74
70
28
75
61
64
33
23
78
24
34
34
86
84
32
81
78
76
21
71
75
77
26
33
116
121
128
81
255
229
229
255
229
229
229
229
229
229
255
255
255
229
255
255
229
229
255
229
229
229
229
229
255
255
255
255
255
224
225
227
229
255
229
223
215
210
211
209
207
201
255
255
212
207
204
203
253
201
205
207
206
207
214
221
228
226
221
217
215
211
190
170
177
184
237
230
173
184
193
245
190
238
239
240
187
178
235
240
244
242
238
184
178
172
165
161
161
165
165
223
176
184
193
201
255
255
255
217
217
217
217
217
255
255
251
194
197
249
244
229
159
159
160
209
201
198
205
214
140
146
156
154
148
201
203
210
156
158
202
188
136
147
141
117
111
64
64
68
71
72
132
134
84
84
89
143
145
95
153
154
155
155
101
94
149
92
91
89
86
133
130
129
128
128
78
83
87
90
94
98
101
109
120
130
190
198
154
224
231
185
241
247
250
200
202
207
209
207
205
204
200
242
237
233
231
213
160
156
152
196
138
133
126
123
122
176
132
134
187
147
145
198
198
145
143
141
186
180
173
114
111
115
116
168
166
153
94
173
214
190
71
115
118
118
112
121
62
39
103
113
54
32
20
84
101
91
93
119
152
155
44
63
6
55
8
24
35
40
107
118
123
124
66
56
85
25
82
35
88
85
30
33
34
29
26
33
36
77
20
46
45
42
89
34
83
80
82
80
77
75
73
72
24
56
113
119
72
255
229
229
229
229
229
229
229
229
255
255
255
255
255
229
229
229
229
229
229
229
229
229
229
255
255
255
255
255
224
225
225
255
255
255
255
255
204
255
255
214
255
250
252
252
251
203
208
253
250
255
255
255
217
224
223
229
255
229
227
224
221
210
193
242
243
200
203
244
215
213
218
219
214
211
215
223
178
236
238
235
232
234
234
231
222
159
160
217
221
165
230
239
193
195
194
202
211
215
215
255
255
215
213
255
255
193
188
191
191
237
221
200
201
203
209
215
213
208
205
149
149
208
149
140
138
138
219
201
204
147
135
133
141
192
111
113
112
61
65
67
71
131
133
81
83
138
141
89
89
147
150
98
98
98
149
151
93
89
88
137
133
130
129
74
125
76
133
137
92
148
152
154
107
117
125
186
141
203
220
176
184
189
194
197
200
202
207
209
255
201
201
249
240
236
180
178
214
212
208
150
138
183
125
122
121
119
173
181
133
187
196
144
196
197
195
194
139
184
176
169
110
109
112
114
111
117
117
179
218
212
147
110
89
82
81
77
99
99
85
99
119
128
59
80
88
100
127
153
149
118
35
69
58
68
23
22
12
64
110
112
116
67
122
108
35
98
18
20
76
29
86
36
35
35
21
76
81
21
25
36
102
101
94
90
83
79
77
81
81
80
27
25
23
26
53
58
65
70
255
255
229
229
229
229
255
255
255
255
255
255
255
255
229
229
229
229
229
229
229
229
229
229
229
229
229
229
255
224
224
227
229
255
255
227
218
255
255
251
206
255
255
255
253
252
206
200
251
255
255
226
227
229
229
255
255
255
229
229
255
255
224
218
255
255
202
201
249
247
243
226
154
144
195
202
209
160
223
229
223
218
220
226
231
231
213
147
206
215
165
180
243
251
251
249
200
202
198
200
202
255
255
252
247
247
220
174
195
194
177
165
208
221
176
228
213
156
216
172
206
197
205
154
132
115
170
218
174
172
157
134
178
153
131
116
120
71
118
115
118
123
75
79
133
136
137
138
87
86
86
140
142
89
142
145
92
88
85
134
132
131
129
77
74
126
128
131
134
92
149
158
160
110
116
122
127
135
194
207
215
171
179
190
190
192
197
251
202
254
252
198
246
238
235
229
226
211
208
204
147
134
177
118
110
105
104
161
116
119
175
188
188
187
188
186
182
125
168
160
152
95
91
96
105
111
109
176
85
132
129
114
106
97
76
60
9
57
67
77
70
70
58
9
0
40
45
55
8
6
61
19
91
80
84
32
26
24
33
51
107
106
100
95
89
23
4
0
0
0
5
60
70
32
32
28
18
71
80
36
42
53
101
93
84
80
78
25
31
33
82
29
30
34
90
103
108
63
67
255
255
255
229
229
229
255
255
255
255
229
255
255
255
255
255
255
229
229
229
229
255
255
255
255
229
229
229
255
255
227
229
229
255
229
227
255
255
201
180
189
250
239
246
247
246
197
197
202
214
224
228
229
229
229
255
224
224
227
227
255
255
255
227
255
255
255
251
246
248
211
251
168
134
125
134
191
196
205
216
222
226
230
236
230
226
212
200
207
219
173
169
175
237
245
249
250
192
195
194
189
187
188
243
242
237
163
171
183
231
219
215
218
229
238
184
224
166
167
164
213
156
163
212
138
99
116
177
131
172
148
135
140
80
73
114
114
63
61
114
119
126
76
132
134
134
133
82
80
81
79
132
133
79
132
136
83
78
78
129
127
127
75
73
75
127
130
134
138
151
155
162
108
110
166
169
119
177
183
193
202
209
215
227
230
183
190
193
194
245
244
243
189
237
235
178
227
212
153
145
189
173
165
106
102
97
97
104
165
169
121
128
179
178
126
121
117
109
104
147
139
134
73
75
80
96
162
190
105
160
126
72
63
5
54
53
0
0
56
68
71
81
7
0
26
130
143
112
99
97
79
74
92
83
83
30
25
24
28
91
39
86
78
75
73
11
0
0
0
0
0
0
1
22
33
35
26
22
77
34
46
89
89
86
78
73
19
18
74
80
30
31
37
94
99
104
109
114
66
229
229
255
255
255
255
255
255
255
255
229
229
229
229
255
255
255
255
255
229
255
255
255
255
255
229
229
229
229
255
229
229
255
255
229
227
255
255
198
179
179
182
186
245
246
244
191
196
205
255
224
226
255
255
229
255
255
222
223
255
227
228
255
255
229
221
255
254
250
195
205
204
233
141
121
127
132
186
134
142
153
167
173
226
227
219
210
205
217
234
240
229
176
179
185
193
248
251
194
242
186
183
185
184
223
158
146
212
160
165
228
232
232
232
235
183
229
180
174
213
205
205
211
210
198
112
122
152
176
166
139
134
94
151
139
62
111
115
118
118
117
75
79
132
134
81
82
132
81
80
79
78
78
79
131
80
79
76
74
74
127
126
73
72
127
128
132
138
142
154
159
164
163
112
166
170
122
177
182
140
146
205
208
168
170
176
237
240
189
241
243
243
189
185
182
177
174
161
207
198
187
170
160
103
100
95
94
153
164
170
122
126
178
177
125
170
111
106
100
143
135
129
69
121
122
141
159
141
162
152
61
25
15
13
14
11
0
0
11
16
12
69
3
2
68
177
190
146
108
84
66
67
40
24
24
22
21
21
24
35
89
83
74
70
16
8
0
0
0
44
43
0
0
69
24
33
83
26
79
90
101
81
83
80
71
62
59
58
68
76
77
79
34
43
100
108
112
117
120
255
229
229
255
255
255
255
255
229
255
229
229
229
229
229
229
255
229
255
255
255
255
255
255
255
255
255
229
229
255
255
255
255
227
225
225
255
255
187
163
150
145
218
234
192
190
189
191
201
211
255
255
255
255
255
255
219
219
255
255
255
255
229
229
229
229
255
218
214
199
194
250
236
152
124
115
124
138
131
135
148
164
222
218
168
169
230
181
183
197
255
255
196
190
188
182
177
177
225
224
216
148
187
127
164
99
198
203
190
194
208
216
223
242
189
182
231
238
233
215
192
194
189
184
197
136
150
92
181
173
87
134
131
82
96
74
118
119
72
126
124
75
128
130
131
77
75
75
127
127
73
71
123
123
69
72
122
118
64
117
117
118
67
70
76
82
139
147
152
164
166
170
168
167
170
118
126
178
179
134
136
191
193
151
153
209
167
172
229
230
233
182
182
182
232
228
224
159
154
144
185
164
152
93
91
87
141
148
109
115
171
173
173
173
122
167
161
104
97
141
133
129
69
63
63
113
166
223
177
152
102
88
53
38
24
13
13
33
19
0
0
18
31
58
117
113
110
126
142
88
20
20
25
12
10
64
68
21
26
39
90
38
82
76
71
10
0
20
16
63
3
0
2
65
22
37
41
35
33
95
111
27
27
20
4
40
30
29
52
63
14
21
86
102
112
119
122
125
76
255
255
229
229
229
229
255
255
255
229
229
229
229
229
229
229
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
218
219
255
255
255
174
150
153
148
199
194
149
164
175
183
193
196
204
255
220
255
255
255
222
225
255
255
225
227
229
224
218
213
255
214
213
203
239
239
215
189
122
107
104
127
181
185
149
161
156
153
162
169
185
250
204
204
255
255
255
253
248
190
235
168
150
198
176
145
93
89
129
154
186
191
187
196
159
165
216
217
222
172
173
234
229
165
191
195
133
115
136
154
137
84
116
136
89
148
104
104
104
71
115
113
65
66
65
62
118
119
66
65
65
65
122
121
68
67
119
119
119
56
110
112
112
111
111
58
118
69
76
81
86
90
146
151
152
154
157
158
161
161
171
119
117
117
171
173
176
123
124
184
201
154
161
168
219
224
229
181
234
233
229
158
150
142
186
166
155
97
90
85
139
148
101
155
150
157
107
109
108
155
150
149
96
88
132
126
122
65
114
120
129
169
188
160
139
73
21
24
10
5
26
57
0
2
5
21
43
60
61
110
109
70
115
155
33
22
53
18
13
22
23
15
31
39
40
37
29
18
6
0
0
0
2
6
59
54
0
0
4
24
43
49
46
46
49
40
48
50
46
0
0
46
60
71
73
20
28
39
45
66
119
121
70
255
255
255
229
229
229
255
255
229
229
229
229
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
229
225
255
255
226
216
255
255
207
185
162
150
212
209
154
144
193
195
195
190
144
173
188
205
216
223
255
229
255
255
255
255
223
223
222
229
255
255
209
255
210
200
191
238
211
184
118
109
158
119
172
178
193
155
152
147
167
180
193
251
201
200
255
255
251
250
249
246
189
175
162
194
165
84
87
86
131
157
185
138
189
197
159
163
219
167
175
174
179
242
231
151
141
142
187
126
134
148
143
92
65
78
139
146
105
101
103
124
115
114
114
115
62
62
116
117
64
63
115
116
117
65
65
117
117
117
117
56
58
59
112
112
113
112
118
119
126
130
136
143
148
151
99
156
157
158
157
159
112
113
116
117
171
169
117
114
117
175
190
195
151
160
163
220
226
176
178
226
223
156
149
139
185
163
98
92
87
81
85
91
97
151
146
154
104
106
157
153
151
148
146
141
80
130
75
72
118
112
119
160
195
191
149
55
32
26
17
8
3
9
36
21
30
43
52
58
60
110
105
61
92
154
116
79
61
25
68
70
23
74
81
40
39
36
27
16
6
0
0
49
54
60
61
55
0
0
8
81
46
49
46
43
49
0
48
49
43
37
0
39
57
17
20
74
31
93
95
66
119
68
70
255
255
255
255
255
255
255
255
255
255
255
255
255
255
228
255
255
255
255
255
255
255
255
255
228
226
255
255
255
229
255
255
220
211
255
255
225
201
144
145
200
201
198
140
135
188
187
133
189
192
210
184
202
255
255
225
229
255
229
229
228
229
225
216
255
255
255
255
208
203
190
175
147
176
166
161
163
160
107
107
172
190
194
141
157
180
248
193
189
199
255
255
253
253
254
250
244
228
142
153
132
75
79
79
76
157
166
176
196
216
167
163
166
167
178
186
189
183
161
184
116
93
127
127
68
139
131
112
72
66
128
141
96
94
141
121
116
114
113
113
114
113
109
56
57
58
111
111
107
56
60
114
115
115
116
60
59
59
60
61
63
63
116
66
130
134
138
143
146
147
97
153
154
152
149
148
91
96
155
110
109
106
155
106
106
109
171
177
134
142
203
210
161
162
161
159
155
195
137
130
174
96
85
80
77
73
76
80
87
140
132
142
94
96
99
98
98
99
148
147
144
142
84
129
125
133
117
64
131
153
163
69
43
80
23
83
112
114
77
34
112
129
126
118
103
88
96
38
42
75
96
53
74
79
87
25
67
78
28
34
31
28
75
65
5
0
0
0
58
65
69
65
8
56
17
88
49
49
37
33
38
41
0
0
0
0
26
0
0
7
16
27
41
46
92
114
115
64
117
255
255
255
229
229
255
255
255
255
255
255
229
255
255
255
255
255
228
228
228
228
228
255
255
229
255
229
229
255
255
255
217
207
249
247
222
209
209
213
207
197
198
140
140
191
138
135
127
126
176
177
125
186
207
232
255
215
217
255
255
255
215
206
250
249
250
197
194
241
176
169
152
190
175
162
162
165
166
166
159
158
170
129
133
152
224
243
246
194
197
253
194
191
194
250
247
240
170
144
109
118
81
78
78
77
87
105
100
106
183
203
214
170
172
176
181
212
184
173
174
173
155
88
81
62
70
110
104
93
72
119
126
129
78
68
66
116
115
115
117
117
106
50
51
107
110
109
108
54
55
62
116
117
117
64
64
62
60
60
61
62
60
65
69
83
86
87
85
84
85
138
142
142
89
84
85
82
83
136
139
90
92
146
94
93
96
157
160
169
123
136
192
198
199
199
197
193
180
174
166
160
139
82
81
78
76
76
127
80
81
121
136
86
142
94
100
104
108
107
109
158
155
143
137
133
122
126
82
84
89
174
175
127
166
173
187
174
111
36
85
87
83
124
114
100
86
81
28
87
41
61
97
28
61
90
45
79
20
78
74
75
20
68
62
58
4
55
47
56
65
73
72
69
65
74
88
96
38
26
17
15
33
0
30
26
0
26
0
0
0
11
25
88
38
85
60
111
111
111
255
255
255
255
229
255
255
255
255
255
255
229
255
255
255
255
228
228
228
228
255
255
255
255
229
255
255
255
229
229
221
209
252
238
232
180
174
175
227
216
196
190
141
141
193
191
139
139
138
182
178
121
170
177
193
162
184
188
245
246
247
196
192
239
238
237
236
179
225
163
162
145
132
119
106
107
165
160
110
159
155
161
115
121
193
209
227
241
244
192
192
192
189
244
246
243
182
164
155
114
118
126
72
80
82
84
161
160
104
116
187
198
206
154
153
194
175
167
167
165
163
158
99
84
64
67
91
92
105
128
64
118
65
69
64
117
118
117
116
115
114
102
47
51
109
111
58
55
53
55
114
116
116
115
63
60
61
58
61
63
64
117
69
70
77
78
79
80
81
82
133
135
84
82
81
80
76
78
131
134
136
84
86
85
87
142
153
155
161
116
125
130
188
189
191
188
185
172
168
108
100
83
82
85
77
75
76
73
77
75
113
135
138
141
145
103
108
113
114
166
165
162
152
146
144
138
141
95
101
102
109
112
160
155
154
157
145
61
85
150
95
89
80
119
94
88
28
26
33
35
50
89
70
14
77
93
94
82
77
73
20
70
66
60
58
58
62
44
51
64
72
75
71
15
77
86
90
33
20
9
2
33
0
30
26
26
26
0
0
0
11
25
85
33
85
59
110
109
108
229
255
255
229
255
255
255
255
255
255
255
229
229
255
255
255
228
228
228
229
255
255
255
255
229
229
228
226
255
255
255
194
235
228
178
179
169
218
228
236
173
159
205
200
149
147
191
188
131
131
127
129
190
199
202
146
149
143
187
186
195
154
150
150
202
202
151
154
155
201
201
189
118
106
104
158
108
107
104
102
152
149
96
97
103
165
121
198
236
197
191
193
189
238
233
227
162
143
118
143
115
110
75
91
92
82
86
148
160
114
173
188
151
119
111
107
159
160
109
111
104
161
111
92
70
68
75
83
126
152
116
54
57
53
111
118
118
116
111
106
103
46
54
58
60
112
58
57
57
108
111
114
62
59
56
55
54
54
108
115
120
124
116
119
71
69
71
73
75
124
70
69
70
70
72
71
69
71
126
124
124
126
78
81
135
138
147
152
103
107
108
111
165
121
121
171
168
107
102
97
95
131
131
136
79
72
69
71
123
121
120
136
138
142
146
159
114
120
174
174
170
168
112
110
160
142
94
96
95
94
146
143
91
156
162
153
141
142
88
158
156
102
150
140
52
39
37
85
86
38
42
57
117
77
70
77
63
99
78
23
71
70
67
62
60
61
67
42
49
10
72
76
21
14
71
80
31
23
57
0
0
42
40
38
0
0
0
31
42
2
12
21
81
38
45
58
59
112
112
255
255
229
229
229
229
255
255
255
255
229
229
229
229
255
255
226
228
229
229
255
255
229
255
229
229
228
224
215
255
255
208
214
214
209
212
202
248
244
234
175
166
206
201
150
152
149
191
180
127
129
135
196
200
199
147
142
144
192
181
176
130
153
153
204
206
207
157
207
203
185
176
113
105
155
155
104
105
104
101
152
150
97
96
102
152
144
156
137
155
157
210
210
210
206
202
146
141
141
100
119
117
130
81
83
85
80
80
82
83
142
157
119
106
91
92
153
159
159
158
161
168
160
88
76
75
74
61
124
163
126
50
47
98
101
107
106
52
49
48
47
50
55
57
110
109
55
54
58
109
109
108
106
49
46
44
47
57
63
68
120
121
70
65
111
114
115
119
66
60
61
61
63
64
65
67
64
65
66
119
118
121
123
79
133
84
141
145
96
97
99
101
156
161
110
162
159
103
100
96
143
131
129
80
128
124
70
70
116
118
121
139
89
93
149
159
112
116
174
175
121
120
167
109
105
147
93
90
136
129
70
69
139
146
100
149
150
159
159
178
172
114
156
152
135
128
60
50
41
40
93
99
133
174
81
85
28
108
55
31
84
27
76
69
65
12
17
0
55
17
77
79
74
63
67
74
78
76
11
0
0
0
0
48
49
48
0
0
0
57
65
22
34
50
66
68
68
121
122
229
255
229
229
255
229
229
255
229
229
229
229
229
229
255
255
226
228
229
229
229
229
229
255
255
255
255
255
255
255
255
219
223
255
255
220
216
212
255
241
229
167
157
201
200
150
148
141
181
174
127
137
197
199
144
147
198
147
142
182
121
122
137
139
196
203
210
213
154
189
171
113
107
104
154
155
157
156
104
101
151
150
148
147
102
101
147
157
134
143
136
191
191
191
190
188
189
191
194
149
115
115
77
77
81
87
136
135
134
136
91
106
116
110
91
141
98
101
152
155
166
169
153
81
128
78
126
109
173
173
138
55
41
89
98
50
48
47
45
46
99
103
55
56
56
107
53
51
57
108
106
103
48
44
94
90
95
113
67
68
68
68
67
115
109
111
111
58
56
52
51
55
57
58
62
114
62
61
62
65
117
117
119
130
80
82
137
140
143
144
147
97
149
155
104
155
153
99
96
94
142
81
79
78
127
70
66
117
111
117
74
90
92
96
98
106
163
166
172
121
173
172
113
108
103
95
92
87
135
131
77
78
90
94
149
152
157
167
165
184
179
170
111
106
94
87
76
64
50
44
94
96
110
163
112
57
16
47
64
39
38
36
30
73
67
65
14
2
10
76
31
32
26
67
65
20
28
81
22
5
0
0
0
49
0
0
0
43
49
56
66
77
91
56
71
71
124
125
126
255
255
229
229
255
255
229
229
229
229
229
229
229
229
255
255
226
226
229
229
229
229
255
255
255
229
217
255
255
255
255
255
255
255
255
255
220
222
219
255
235
160
160
150
198
196
140
139
184
170
123
131
140
141
136
139
133
133
130
180
181
129
118
100
98
149
150
100
101
98
151
151
101
102
156
157
159
154
103
101
153
151
148
93
108
110
153
158
125
137
136
133
185
186
187
137
193
196
180
136
104
108
70
71
123
76
138
144
145
151
106
114
118
101
85
139
91
92
99
160
155
148
134
69
124
77
125
121
152
172
160
127
44
27
39
49
49
47
47
47
98
102
51
52
51
102
100
99
101
100
94
39
39
42
45
96
101
114
66
66
65
115
110
110
110
106
101
44
39
41
42
45
102
104
55
56
59
57
59
65
66
64
114
127
76
76
129
130
131
132
85
84
86
92
95
95
95
89
90
141
86
84
80
75
68
62
108
107
112
73
82
88
90
94
98
103
159
161
168
115
163
110
105
100
95
100
92
89
140
135
130
82
86
86
144
154
164
121
173
168
115
114
116
115
99
89
83
72
56
45
87
81
72
51
115
114
48
76
53
53
52
46
91
78
18
10
58
19
27
88
41
89
30
25
77
83
38
39
35
20
0
0
0
39
0
0
0
42
42
53
66
82
98
63
78
72
125
127
128
229
255
255
255
255
229
255
255
229
229
255
255
229
229
255
255
226
226
229
255
229
229
255
255
222
218
206
201
221
222
255
255
255
255
255
255
255
222
222
220
188
157
202
199
147
147
191
186
127
165
165
169
178
180
179
126
177
127
180
176
174
119
165
158
156
153
104
105
158
157
156
157
106
104
103
103
103
102
102
103
153
151
150
94
107
111
157
153
112
115
116
134
130
182
132
138
138
133
142
112
91
100
124
138
140
138
94
94
92
96
102
162
163
130
55
61
71
72
71
72
123
121
124
123
72
71
67
122
114
154
171
150
113
35
33
49
53
52
48
44
93
99
47
48
48
47
99
98
93
92
84
32
89
46
53
108
109
113
62
113
112
111
57
58
103
96
40
39
42
37
39
45
99
102
54
105
58
110
110
118
68
65
64
72
71
71
123
123
124
124
78
77
130
87
91
92
92
143
145
142
85
80
73
64
105
104
103
111
72
74
130
130
81
87
92
150
100
154
164
161
106
102
97
144
142
99
93
91
145
143
135
88
91
92
95
102
157
149
95
95
97
100
105
109
103
96
76
71
59
43
85
76
61
46
71
114
149
82
76
111
57
51
40
28
67
59
0
23
30
89
38
32
27
81
86
42
46
97
36
21
7
0
28
30
34
0
0
38
43
51
60
73
90
109
77
75
128
130
131
255
255
255
255
255
255
255
255
255
255
255
228
228
228
255
255
229
255
255
255
225
227
224
223
218
255
255
224
224
227
255
255
221
217
215
214
255
255
255
217
189
144
193
192
191
142
194
181
121
120
169
169
174
178
180
176
183
181
180
182
185
182
160
158
106
158
103
102
153
152
153
153
152
99
100
151
100
97
96
102
153
149
152
157
111
109
104
154
159
114
117
123
122
130
134
125
116
112
87
123
110
110
119
132
138
143
140
146
149
149
99
100
156
139
122
66
75
132
79
77
81
133
133
128
125
119
64
90
122
141
162
162
76
36
23
46
55
110
60
61
108
99
44
45
46
47
97
94
94
86
78
83
91
98
103
96
101
111
115
115
114
111
58
54
95
93
44
50
56
98
99
102
104
55
110
111
114
115
118
125
74
74
72
40
47
60
145
146
142
129
71
107
97
55
68
134
141
145
90
89
144
154
151
97
136
130
121
112
104
51
48
63
64
68
71
83
87
91
144
94
94
94
141
137
85
79
78
129
129
130
135
137
90
93
99
101
154
148
93
90
93
97
105
111
101
92
75
71
68
64
53
41
95
34
41
74
167
121
22
116
54
47
43
88
80
76
76
59
56
48
91
32
35
55
106
105
51
45
96
47
54
0
38
31
26
0
0
0
0
67
80
88
45
52
59
119
119
119
120
255
255
255
255
228
255
255
228
255
255
255
228
228
255
255
227
229
255
255
255
228
223
255
204
251
250
255
225
255
255
255
255
222
219
217
217
215
255
217
218
189
185
194
193
191
193
139
127
173
170
167
163
159
159
162
172
179
180
181
180
177
171
109
105
105
104
104
103
102
101
153
153
100
99
149
150
97
98
97
96
150
150
151
100
106
110
165
167
118
123
125
117
110
105
100
96
152
143
118
118
116
115
60
61
71
133
144
96
101
103
150
138
128
120
120
126
133
131
126
72
69
65
62
59
61
114
65
83
113
115
139
161
148
63
97
103
111
112
60
59
108
96
45
46
98
97
92
88
26
30
42
49
52
54
106
102
103
112
120
120
117
61
54
94
84
92
48
51
48
51
104
109
111
113
112
59
111
113
64
123
124
74
73
50
55
65
81
79
125
65
53
96
95
57
67
125
127
87
135
80
78
129
74
71
118
114
112
110
62
64
116
113
61
60
63
67
70
73
133
83
135
134
83
133
80
130
130
130
132
132
88
90
89
90
90
88
139
133
79
65
130
145
100
99
97
152
94
87
134
130
75
120
115
57
102
102
152
167
55
59
63
53
44
92
90
36
35
103
45
36
27
23
26
38
102
99
94
87
32
33
40
57
56
0
0
0
44
0
10
24
34
93
50
56
61
118
67
119
119
255
255
255
255
227
227
255
228
228
255
255
255
228
255
255
222
255
255
255
255
255
255
211
204
199
200
210
214
215
219
221
218
216
217
215
216
255
255
223
223
218
168
195
195
142
143
140
130
178
174
122
119
165
157
152
154
155
107
161
108
104
101
155
156
104
103
102
101
101
152
150
151
98
97
148
94
148
95
96
142
90
149
94
92
116
124
184
183
179
177
173
175
122
115
150
133
129
124
127
122
121
119
117
62
60
61
121
70
69
64
112
112
114
71
124
124
122
116
112
113
58
58
58
57
59
110
60
74
105
92
107
92
108
149
120
100
105
107
109
110
109
97
43
39
34
84
80
79
37
41
50
53
55
54
55
52
107
118
69
65
55
45
84
85
86
90
43
51
109
109
59
61
113
115
115
112
115
115
115
115
116
64
64
69
71
74
69
61
108
50
93
85
83
94
103
112
66
78
73
70
63
103
46
96
93
96
101
108
74
81
82
103
103
50
51
53
108
110
113
63
65
118
120
121
121
118
119
121
123
75
134
136
84
84
83
134
134
133
80
68
74
83
93
151
155
154
156
149
143
141
90
140
123
112
116
95
55
168
114
43
65
111
110
114
119
68
61
120
54
35
21
17
70
79
32
34
38
38
88
34
37
38
90
89
84
26
24
27
43
52
55
62
66
122
122
65
65
65
65
255
226
226
226
226
226
255
228
228
255
255
228
228
228
255
220
224
255
255
255
255
255
255
209
201
200
205
255
210
216
219
217
216
219
217
255
221
225
223
217
149
163
192
193
193
141
138
131
129
120
171
120
117
112
159
155
153
156
158
105
103
154
158
154
102
102
101
100
99
150
150
97
96
95
146
145
146
91
146
141
141
147
141
88
177
177
124
119
169
169
171
170
169
168
158
136
73
72
74
67
116
120
122
70
120
121
76
78
129
126
121
71
125
71
121
117
114
108
106
57
56
58
60
111
59
110
58
69
53
89
95
130
105
159
79
99
103
104
106
107
57
47
42
35
83
80
31
31
46
48
105
52
51
50
51
52
107
115
61
109
101
92
80
84
90
89
92
98
105
113
59
59
61
113
112
113
115
114
114
113
112
113
62
80
129
129
119
112
104
95
88
26
26
83
94
105
113
120
118
62
56
43
92
93
87
93
100
110
78
84
85
50
103
101
48
103
105
106
106
54
55
57
112
115
63
64
117
119
122
126
80
133
130
130
131
132
134
133
81
78
76
79
140
151
156
100
101
99
94
91
142
139
117
106
107
93
86
92
183
42
58
107
112
119
73
78
78
124
113
43
77
64
12
18
22
28
33
90
88
36
90
104
106
103
47
40
90
43
62
67
68
70
127
127
72
66
66
118
67
228
228
228
228
228
255
255
255
229
229
229
229
229
229
255
255
222
226
255
255
255
255
255
255
201
192
196
196
247
252
255
255
255
212
255
255
218
218
213
196
174
166
182
184
135
134
133
131
130
131
179
120
117
115
164
154
156
154
153
100
152
151
153
153
101
102
101
101
152
151
97
97
96
95
145
144
91
84
145
140
138
144
135
136
162
115
120
175
181
183
178
133
175
176
178
156
80
73
74
71
121
119
68
68
125
129
75
125
125
129
130
77
74
58
55
105
105
103
102
54
56
55
55
107
57
57
110
115
54
41
88
109
93
115
105
102
102
49
100
101
51
47
36
80
79
85
45
53
47
50
57
107
50
49
46
103
53
47
40
37
92
93
99
46
51
52
102
97
93
110
56
52
54
58
61
113
59
57
108
110
112
115
115
145
134
123
108
100
37
79
69
11
12
18
28
89
99
91
94
46
99
48
52
110
107
113
116
121
128
129
75
59
108
105
101
97
97
96
96
44
45
47
102
104
53
55
56
111
113
64
70
123
122
125
127
128
127
123
71
135
80
79
82
87
150
97
98
152
100
147
141
82
108
102
72
79
20
104
179
57
41
43
50
55
66
129
101
129
123
61
43
25
9
6
20
26
29
83
86
37
43
122
122
122
119
61
63
70
85
83
133
131
129
125
67
120
120
120
121
229
229
229
255
255
255
255
255
229
229
229
229
229
229
255
255
225
225
255
255
255
255
227
217
250
230
181
192
197
244
238
237
237
193
196
196
189
187
179
155
168
177
185
190
137
186
132
133
180
128
126
122
118
115
111
106
152
151
149
148
150
150
96
98
97
95
148
147
147
149
148
96
94
93
145
145
92
92
142
137
139
142
140
147
170
118
120
177
182
185
183
128
175
181
185
168
92
83
77
73
69
68
72
75
72
70
124
122
121
121
121
118
114
57
50
49
105
106
105
55
59
58
55
52
105
50
48
107
50
54
50
96
120
159
160
107
36
39
93
95
45
39
84
91
49
51
52
104
107
52
52
105
101
97
92
93
84
76
25
29
85
34
40
41
48
101
101
95
90
102
97
46
47
50
103
107
57
58
109
106
105
105
55
74
125
118
95
82
70
60
59
3
5
23
34
40
95
78
83
88
43
61
71
134
85
88
137
78
115
110
107
104
102
48
98
93
92
93
92
90
91
96
44
45
49
52
107
108
57
57
59
112
118
122
122
68
67
72
129
132
135
137
135
134
139
87
91
144
144
139
81
69
40
73
62
66
21
27
139
147
35
23
20
28
39
104
140
119
72
75
70
60
49
34
27
25
80
86
92
98
56
119
70
75
128
127
74
77
133
135
135
131
124
64
57
118
114
114
66
229
229
229
229
255
255
255
255
229
229
229
229
229
229
255
255
226
255
255
229
229
229
227
212
240
168
219
229
186
241
192
189
234
233
187
181
227
223
160
136
115
126
180
182
185
182
131
183
180
127
126
122
118
115
111
107
153
151
148
149
148
149
146
94
147
146
145
144
144
147
93
93
93
92
144
143
142
142
90
85
86
90
89
96
173
172
121
123
181
184
184
175
178
188
131
113
96
89
83
77
73
72
72
72
66
63
120
122
121
122
123
119
114
113
54
52
107
106
104
105
60
57
51
47
49
47
45
48
110
112
102
93
113
95
161
115
90
33
87
88
40
33
90
100
106
106
53
53
106
50
49
52
102
93
84
80
76
73
23
27
34
37
42
94
50
50
48
42
86
97
91
88
42
98
101
52
51
51
106
105
54
54
54
67
64
110
88
24
65
54
0
52
6
26
87
91
96
83
85
90
45
65
131
143
147
95
90
80
111
103
99
49
50
48
98
95
94
95
43
42
93
95
43
45
48
51
105
104
51
51
54
55
63
116
119
65
64
69
125
132
132
133
130
75
80
80
85
138
86
82
75
65
89
67
11
70
75
22
73
164
97
24
15
18
21
85
73
112
69
77
78
75
69
109
94
91
35
87
89
95
105
118
69
75
77
76
75
78
129
132
133
128
70
61
53
64
114
114
117
229
229
229
255
255
255
255
255
226
228
229
229
255
229
229
229
255
255
255
227
227
255
214
196
183
171
199
190
203
212
226
183
186
178
228
170
217
207
147
137
124
173
126
125
125
177
178
178
126
122
121
118
168
166
165
113
159
156
155
152
152
150
94
147
146
147
145
145
93
95
97
96
95
146
93
90
89
140
89
87
138
144
95
99
104
115
180
132
127
124
178
132
134
184
114
93
140
139
135
133
132
130
77
75
125
123
72
74
127
128
128
124
66
67
107
102
105
105
105
55
59
54
47
42
45
45
44
50
111
116
114
109
109
119
158
133
95
22
21
29
38
96
103
103
101
101
51
52
100
101
45
91
85
79
77
78
78
31
31
31
86
33
28
26
34
37
39
32
26
97
36
31
87
88
41
44
100
103
52
51
50
50
104
101
44
90
21
11
2
0
47
56
65
27
83
89
41
56
105
51
51
67
78
85
138
83
78
122
106
48
43
49
51
51
51
50
49
49
46
48
97
96
42
44
43
44
96
95
97
98
55
56
60
113
113
114
63
64
118
127
127
127
72
68
69
69
70
70
125
125
73
69
105
93
36
35
40
38
118
187
134
43
24
22
67
70
94
99
57
66
71
74
77
128
127
72
66
107
48
43
40
61
114
118
121
123
123
125
128
130
126
121
63
58
54
66
121
124
72
229
255
255
229
224
220
255
255
221
224
255
228
227
226
229
228
255
255
227
226
255
255
207
199
197
195
160
142
147
145
141
137
134
138
143
138
194
194
140
142
199
194
189
130
126
124
174
174
179
175
174
118
166
163
162
110
108
105
104
153
102
151
97
95
148
146
145
146
93
93
97
96
95
144
91
90
87
135
86
82
134
141
148
99
89
94
103
109
164
165
168
166
158
152
95
86
137
140
131
131
131
132
81
83
138
141
82
80
77
127
125
121
63
60
106
104
108
107
52
53
52
102
99
46
51
52
52
51
110
112
116
112
102
96
72
98
116
90
34
94
102
45
50
100
98
97
42
39
39
35
78
76
78
28
31
24
25
40
97
94
89
80
20
12
58
13
72
21
16
84
83
85
32
32
37
47
105
54
54
103
104
55
59
32
84
82
10
53
47
48
56
60
64
22
25
77
25
70
117
113
111
115
64
64
110
110
110
108
56
53
53
54
55
109
59
59
58
58
56
60
58
105
103
101
45
96
97
100
101
104
54
56
59
60
111
112
63
61
62
71
73
125
70
67
123
126
68
69
119
117
69
73
70
123
116
53
63
114
70
154
108
52
79
81
73
79
92
112
61
57
53
52
112
121
123
76
79
75
71
64
56
80
126
119
115
113
115
117
128
129
127
124
67
64
61
65
126
131
130
255
255
224
226
255
255
255
255
255
255
255
255
224
224
255
255
228
255
224
220
255
255
211
212
255
249
170
147
186
132
138
134
198
197
144
190
133
184
133
138
200
205
194
138
126
120
172
172
180
174
174
173
168
160
157
104
109
108
161
160
107
103
149
97
97
148
149
151
99
95
96
95
145
144
92
92
88
132
133
133
84
87
143
147
91
93
93
96
149
147
145
138
134
127
74
75
130
132
137
137
140
86
83
83
85
138
145
89
88
83
127
116
57
50
101
98
98
97
95
41
96
99
51
52
49
52
55
45
51
45
46
50
50
100
113
121
154
117
97
90
87
43
43
44
46
46
98
99
31
79
72
74
24
23
74
70
16
26
85
86
88
36
43
37
76
20
21
71
73
72
20
32
37
39
95
97
89
32
79
81
93
104
58
0
40
0
59
62
63
65
69
72
79
46
55
115
123
109
111
113
115
113
116
117
114
65
65
66
69
122
122
116
117
117
64
61
61
60
57
58
57
108
106
53
54
41
44
47
100
52
58
62
60
60
110
109
57
62
64
55
60
114
61
63
130
135
139
127
61
64
133
139
97
92
91
79
125
118
56
139
164
56
77
77
81
88
109
35
91
94
88
82
83
115
121
79
87
91
94
93
84
82
128
66
61
112
119
76
136
130
69
116
61
54
44
57
119
129
82
255
220
225
225
255
255
255
227
255
255
229
225
255
255
255
255
229
255
255
255
255
218
218
218
255
255
228
202
136
131
137
184
197
194
140
188
183
183
184
189
199
203
143
141
128
119
171
171
175
174
174
121
166
161
158
104
111
162
106
104
102
101
149
148
148
149
149
150
99
95
96
94
144
143
91
91
139
133
133
131
81
82
86
141
86
88
91
145
144
143
139
80
75
71
69
73
127
77
85
87
87
88
84
82
137
139
139
83
80
76
70
112
53
53
52
105
106
51
101
100
100
103
106
105
104
104
54
51
107
50
48
49
97
94
101
114
107
127
100
92
38
48
44
47
50
48
94
36
78
76
22
24
25
22
72
73
69
76
85
88
35
40
88
83
18
66
67
67
16
68
17
29
38
43
99
98
89
33
32
33
42
49
51
48
49
0
61
10
12
67
70
71
20
89
99
111
122
108
110
113
114
114
114
115
63
63
66
66
69
122
122
118
117
117
117
115
113
61
59
111
59
58
108
108
108
99
48
50
103
104
57
58
53
53
54
55
56
112
61
60
63
114
60
65
135
140
94
133
62
59
126
140
150
93
93
83
128
120
55
139
168
111
78
79
82
36
109
95
98
99
94
83
79
97
106
115
75
82
89
146
92
96
89
80
73
67
68
71
76
76
75
125
66
58
49
56
116
125
131
255
255
255
255
229
225
214
207
213
255
224
227
255
255
228
255
255
255
255
255
229
229
229
229
229
227
198
171
195
176
180
183
192
136
132
128
178
179
182
186
142
146
146
147
133
115
169
173
170
174
121
119
115
112
161
155
114
112
106
101
100
98
149
151
150
150
150
152
152
98
93
91
140
87
87
84
133
128
127
122
69
70
72
75
75
77
78
132
131
127
70
62
62
60
115
118
71
76
82
86
88
89
86
84
137
140
138
83
79
76
72
67
116
68
122
123
70
68
116
113
102
100
101
102
98
98
99
93
103
105
102
100
94
90
84
91
113
147
59
42
45
58
104
102
99
92
81
21
75
74
24
23
23
23
22
78
73
77
31
88
39
41
34
28
13
63
65
66
15
20
21
36
45
51
58
60
110
104
46
28
20
12
59
68
64
63
13
15
17
74
72
69
16
83
94
112
71
48
104
110
62
112
113
112
61
63
115
115
65
65
117
116
64
65
118
118
63
63
114
113
61
60
113
113
112
109
106
104
47
45
42
42
44
48
105
113
64
114
61
77
123
113
109
65
97
102
105
101
129
49
103
120
90
92
150
93
87
74
108
184
180
122
84
84
87
42
113
99
52
55
105
99
93
81
85
43
50
57
65
75
89
93
147
146
92
86
77
70
60
67
125
129
129
75
74
56
110
114
120
255
255
255
255
255
255
223
213
214
213
255
255
223
222
225
226
227
229
255
255
255
255
255
228
225
224
217
200
221
179
173
175
128
132
131
178
175
174
123
128
141
146
147
139
174
164
168
171
172
174
120
118
118
117
166
158
164
111
111
110
108
157
150
152
152
152
100
102
154
152
92
142
87
83
82
132
129
119
119
118
118
65
66
119
118
67
67
117
116
113
58
56
58
111
114
117
121
75
73
79
84
87
138
138
139
142
138
84
79
128
74
77
78
81
134
132
78
127
121
64
61
56
109
108
105
103
103
103
98
98
95
90
90
91
101
74
99
97
69
48
43
115
110
98
89
82
83
87
86
86
77
22
21
24
26
32
79
82
35
39
39
43
39
35
76
76
24
22
23
77
81
91
93
96
54
60
61
103
39
8
49
0
30
70
17
66
20
25
30
32
80
81
85
105
63
71
79
102
105
57
61
59
109
111
111
111
112
59
58
59
59
59
61
63
115
117
117
117
61
62
61
61
113
112
111
59
106
100
94
36
34
31
90
95
105
111
115
109
53
80
71
57
99
105
144
103
161
168
102
75
55
53
80
82
90
91
92
84
66
180
186
127
91
91
96
50
61
105
59
63
113
111
110
94
92
38
93
44
48
56
68
79
136
90
94
147
141
136
73
68
61
64
125
136
86
64
110
109
114
255
255
255
255
229
229
226
220
219
217
255
255
224
223
226
227
228
229
229
228
228
228
229
229
227
222
217
203
187
187
174
122
172
179
181
178
175
172
173
127
141
148
145
183
166
164
170
167
123
122
119
118
118
118
115
159
111
108
107
158
106
106
103
101
101
153
154
104
104
152
142
140
85
83
133
131
128
68
68
120
120
119
117
116
118
65
63
114
61
58
55
56
111
112
113
115
119
122
121
127
82
85
138
139
140
143
85
82
129
126
126
131
82
86
83
81
80
78
127
73
64
58
58
112
108
54
53
113
48
45
95
93
97
103
105
118
93
98
129
52
41
115
57
49
42
37
89
39
37
90
84
26
74
72
21
86
83
33
91
40
42
42
94
90
88
88
37
36
35
41
89
41
97
101
54
53
50
42
86
60
48
0
26
75
73
72
25
32
36
37
38
91
43
59
63
69
128
103
53
57
57
56
109
110
55
109
110
58
57
56
55
58
58
60
62
117
117
65
62
64
63
63
114
114
62
63
59
51
44
92
88
33
91
95
104
111
62
53
50
75
68
52
91
95
82
148
153
157
96
79
62
52
117
127
82
85
142
141
72
129
186
128
41
95
99
52
60
105
111
115
111
111
63
105
102
96
42
45
47
101
56
67
74
80
89
92
144
141
81
76
69
67
68
73
79
69
113
110
115
224
255
255
255
229
225
219
255
222
221
255
255
228
229
228
228
228
228
228
228
228
229
226
225
255
255
255
204
194
157
172
113
123
168
119
172
173
176
181
130
134
137
184
172
166
116
112
118
121
115
128
138
142
143
143
118
105
98
106
106
91
100
97
153
100
100
101
101
100
96
139
138
135
131
76
74
73
69
69
123
123
123
124
124
122
66
115
112
109
55
52
55
109
115
116
66
120
122
116
127
136
86
138
139
140
141
84
80
127
127
128
132
82
90
89
88
87
85
134
80
70
62
59
57
53
54
56
59
46
47
104
108
113
113
120
118
136
155
89
61
41
60
105
103
52
53
50
48
96
98
38
29
73
70
69
87
38
35
90
96
47
46
50
105
111
112
60
60
108
63
119
56
47
42
37
31
81
70
69
68
71
14
55
83
77
74
28
35
43
46
48
47
47
54
109
113
115
54
56
56
58
56
109
57
109
108
107
55
56
55
107
109
57
60
60
64
117
65
64
64
63
114
111
113
114
58
60
56
52
97
38
36
39
99
104
105
106
98
34
63
46
30
81
83
100
114
121
121
118
112
106
102
94
98
123
134
136
138
78
123
188
133
48
47
46
47
112
104
53
108
114
118
121
123
119
116
56
49
45
95
98
52
110
119
124
76
133
141
141
142
86
82
74
64
53
70
123
123
122
228
255
255
226
229
229
255
255
255
225
229
255
229
255
255
229
229
229
228
228
255
255
255
255
255
255
255
248
197
152
110
101
111
113
114
107
101
98
99
106
119
121
171
114
114
114
107
125
184
198
203
204
199
200
152
146
206
180
158
104
103
95
157
155
101
100
98
98
98
146
137
135
132
129
128
126
73
72
73
125
124
124
125
124
70
69
67
116
63
61
61
56
60
116
119
119
71
76
72
79
88
88
140
140
138
83
78
72
122
121
126
130
83
84
85
87
139
139
86
137
118
110
53
52
51
52
55
56
60
65
66
116
114
64
120
123
81
99
156
134
104
49
111
113
61
110
57
58
54
106
46
40
34
30
81
92
40
38
41
48
103
104
51
109
66
67
69
70
125
140
92
79
114
99
32
18
13
6
62
30
96
101
96
86
76
75
30
91
48
50
51
49
100
100
102
52
51
55
55
57
58
57
56
59
111
109
55
106
106
104
102
104
104
55
55
60
62
63
66
67
64
62
109
111
60
64
117
65
63
57
50
48
49
52
103
100
98
87
23
31
74
69
72
75
21
78
86
88
88
89
91
93
96
85
98
107
68
132
72
126
179
126
42
46
100
101
49
63
111
109
109
59
114
122
121
71
70
118
60
103
40
52
53
108
114
120
125
129
91
90
91
90
84
76
67
64
114
61
63
255
228
227
228
229
255
255
222
255
255
255
229
255
255
255
229
229
255
255
228
255
255
224
227
255
255
255
252
196
147
106
100
107
167
166
115
109
102
103
111
122
123
118
115
117
115
107
129
191
202
154
153
203
203
155
207
210
147
121
103
101
147
155
154
102
98
96
96
96
146
137
135
132
129
126
126
73
75
74
74
73
73
73
124
120
67
118
115
63
113
62
56
60
115
118
119
71
77
78
86
90
91
89
141
139
83
77
71
120
119
124
77
82
82
83
135
138
138
136
133
112
105
102
50
48
51
55
59
67
123
69
65
118
120
120
125
76
93
161
148
117
43
111
114
62
58
58
58
60
112
54
49
45
43
42
95
97
91
40
46
102
103
104
107
60
63
66
73
81
90
94
86
71
52
33
67
61
54
6
27
42
100
95
42
83
27
83
92
51
53
104
101
98
98
49
51
52
56
56
58
58
58
59
60
111
109
109
107
104
104
50
102
102
53
54
59
114
115
65
65
65
62
110
109
59
58
62
64
63
59
54
51
52
101
46
41
88
75
67
17
64
10
68
17
67
70
77
77
79
30
34
38
99
87
41
46
117
129
119
174
125
125
42
45
95
42
49
68
63
58
53
52
56
67
119
123
124
72
66
109
97
51
50
50
54
114
122
131
85
87
142
144
142
135
75
128
121
113
109
255
255
225
255
255
255
255
226
255
255
255
255
255
255
229
255
255
255
255
255
229
226
227
227
223
255
255
250
219
122
98
154
159
171
165
162
106
157
106
108
160
158
169
118
118
110
103
185
193
140
141
144
200
202
152
201
196
167
161
123
98
153
151
151
101
99
150
96
147
140
83
81
130
128
125
123
72
72
72
74
73
72
125
124
59
59
110
109
108
109
56
54
107
110
60
62
66
71
132
136
142
92
145
145
142
137
79
73
121
118
68
69
125
75
126
72
72
122
118
116
53
100
101
103
51
55
58
68
117
66
65
64
117
119
64
66
116
73
100
161
142
37
102
106
109
59
59
61
110
109
56
56
56
56
56
52
104
97
43
98
103
104
109
109
108
107
55
66
80
80
87
89
130
62
93
72
13
57
57
67
24
27
71
106
41
36
94
102
109
107
54
101
99
102
51
106
107
109
108
58
59
109
109
112
60
59
58
56
108
53
103
103
105
54
108
113
115
115
115
64
63
61
112
113
116
56
59
66
68
119
114
59
57
50
42
36
28
16
64
51
51
0
0
58
61
64
59
55
55
8
12
15
34
23
33
40
110
125
70
178
173
123
44
95
37
36
107
131
75
118
105
97
42
102
107
57
113
66
66
119
66
49
98
41
39
45
55
68
133
135
87
89
144
146
146
144
136
126
67
255
255
255
255
255
255
255
219
217
217
220
255
255
255
255
255
255
255
255
255
229
226
255
229
226
255
255
222
181
148
142
156
159
119
165
165
162
162
161
161
167
171
185
183
129
123
121
209
216
217
214
164
218
217
214
213
200
146
153
135
93
136
142
148
98
99
99
151
146
136
82
81
78
74
124
122
123
121
69
71
71
71
124
125
61
60
111
108
107
106
54
51
105
105
106
53
110
117
73
79
135
138
142
144
89
83
77
72
120
114
112
111
110
61
62
61
62
111
54
53
104
105
110
63
63
64
121
119
112
115
116
61
56
53
62
107
108
107
82
161
159
48
48
102
110
116
67
67
128
125
119
119
69
67
65
62
114
51
101
106
58
113
66
68
128
121
58
114
71
63
67
73
67
56
90
70
60
0
0
0
54
50
0
93
29
29
96
52
57
54
54
101
100
51
54
57
60
107
109
108
109
107
108
57
61
60
58
58
109
109
108
103
103
51
107
110
114
114
114
115
63
63
116
118
121
52
56
115
67
65
58
53
106
97
87
30
24
15
66
42
42
0
46
0
0
0
47
42
40
0
0
2
25
17
38
47
107
118
118
167
165
111
31
41
51
55
105
85
133
126
111
45
88
86
88
41
49
57
115
65
66
52
55
107
53
101
48
54
120
120
67
70
125
131
138
127
130
133
134
255
255
255
255
255
255
255
255
213
214
215
255
255
255
255
255
255
255
222
218
222
255
255
255
227
217
195
212
183
166
101
103
159
160
163
161
162
170
172
163
123
130
131
182
123
114
124
214
216
210
205
204
155
209
158
163
134
140
154
102
62
131
134
140
92
94
94
93
90
82
137
135
79
128
128
125
121
122
121
120
70
123
71
69
64
63
112
110
107
107
53
52
51
106
106
55
110
113
71
75
80
135
133
81
82
82
77
121
118
116
115
111
108
67
64
61
114
114
112
109
104
100
101
53
56
104
100
117
114
111
109
54
50
48
48
100
108
119
83
161
181
69
41
91
81
82
94
52
58
64
116
113
106
102
98
41
95
53
57
110
105
99
93
90
91
41
49
109
61
21
24
35
89
35
79
71
69
25
80
26
79
75
19
42
91
38
43
47
52
55
103
104
54
52
101
48
48
50
52
103
52
53
54
108
64
65
67
70
121
119
66
111
111
61
60
112
111
110
107
108
109
111
113
112
61
59
66
74
132
83
83
83
80
120
57
47
38
25
74
20
19
64
4
0
48
46
56
62
65
72
27
31
41
23
43
47
45
50
92
161
154
106
88
106
115
111
107
58
56
50
38
34
87
92
39
95
98
52
58
63
69
106
106
101
40
34
82
76
17
23
38
106
118
127
86
72
136
147
149
255
255
255
255
215
217
221
255
255
202
203
255
255
255
222
229
255
255
224
255
255
224
223
255
255
224
183
128
155
150
99
108
162
160
163
162
160
163
161
158
118
118
181
179
120
116
178
209
204
212
210
209
158
157
156
205
157
155
176
123
59
73
140
138
89
89
90
88
86
80
136
133
129
128
126
124
121
118
118
115
115
115
114
60
61
60
110
107
106
104
53
49
49
50
103
103
106
109
115
118
70
73
78
79
79
77
128
125
124
71
117
112
107
58
112
113
115
117
119
117
63
61
111
110
108
55
53
113
103
95
92
39
40
93
84
90
96
103
62
89
113
87
47
94
86
35
93
46
54
60
116
60
54
101
45
92
93
49
103
105
104
100
92
36
86
89
93
47
51
13
70
81
86
35
41
95
41
42
41
37
84
76
12
40
38
39
48
104
109
112
111
59
60
57
55
54
105
102
102
104
54
53
107
107
114
115
64
66
68
66
115
113
112
60
58
112
115
116
117
118
118
118
65
63
63
52
56
64
68
73
77
76
76
69
61
50
43
34
33
21
19
10
0
0
0
2
57
66
77
89
46
52
114
108
120
67
116
62
52
107
155
110
91
107
111
51
42
53
107
105
50
48
47
38
40
89
83
27
29
34
95
101
103
53
106
55
107
103
92
88
31
31
33
90
49
45
59
76
87
228
229
255
255
217
255
255
224
218
210
208
255
255
222
212
226
255
229
229
229
255
255
229
255
255
222
154
142
155
104
158
160
160
108
113
108
157
155
154
155
123
120
172
172
166
111
175
196
187
197
201
150
203
204
155
150
138
130
81
103
116
122
134
86
140
140
88
136
134
78
81
78
127
125
122
122
68
68
118
115
61
60
111
109
104
103
101
100
100
98
99
97
98
99
99
100
51
53
63
63
65
71
78
83
83
81
135
83
80
74
119
115
112
123
73
76
76
128
127
127
74
72
68
61
108
52
50
105
46
40
37
33
31
31
32
36
37
34
90
111
132
149
56
42
90
35
32
83
87
90
45
43
39
87
85
81
83
87
90
41
93
38
32
28
73
70
72
74
23
10
16
27
83
90
49
111
109
53
47
46
93
82
24
40
91
92
101
104
108
113
115
116
115
113
60
60
62
103
104
54
54
56
107
107
58
59
113
114
64
61
111
111
60
58
59
115
118
120
120
119
117
63
56
54
104
97
100
52
59
117
124
125
131
75
70
63
56
55
57
67
13
11
8
59
13
21
26
84
87
92
99
104
124
134
81
128
128
71
67
162
143
49
31
93
90
29
20
109
64
70
125
129
77
68
64
59
104
41
32
23
19
100
99
100
52
56
108
106
105
103
102
47
95
88
82
37
42
50
110
229
229
255
255
222
255
255
255
212
198
192
252
255
204
199
217
255
229
229
229
255
255
229
229
255
255
197
142
158
107
159
160
106
108
111
158
157
103
152
153
178
123
170
171
166
111
174
193
183
193
144
143
189
188
138
128
120
110
117
106
118
119
76
85
138
137
84
134
131
128
78
75
124
123
123
121
119
121
119
115
61
59
111
109
101
100
99
46
98
96
97
97
96
98
46
99
50
52
64
65
120
125
131
85
87
139
87
84
79
76
123
120
120
126
79
80
79
77
75
126
75
73
68
63
107
101
97
99
42
40
38
36
87
86
39
38
37
33
87
102
68
149
114
44
93
35
77
78
25
79
83
82
29
26
76
75
24
29
85
88
87
32
79
22
64
10
9
62
64
12
17
79
84
90
46
53
53
51
99
48
95
90
36
44
42
93
100
103
55
60
111
113
114
113
113
63
65
106
106
55
58
57
57
108
59
110
111
112
61
110
56
57
109
110
113
118
69
70
72
122
67
63
107
103
101
95
97
100
55
115
123
72
129
128
122
64
58
62
66
18
63
60
62
12
20
29
35
39
90
91
93
97
118
139
81
128
75
74
71
163
90
50
33
40
36
30
76
69
75
83
137
138
141
89
86
84
75
66
52
38
25
89
87
86
90
42
97
101
101
105
56
58
108
101
40
43
42
45
50
229
229
255
255
255
255
220
218
252
227
159
222
184
191
232
253
255
221
229
255
229
228
224
216
255
212
184
153
105
107
161
110
111
108
155
158
158
156
149
146
172
118
169
174
120
116
122
144
192
140
142
137
125
173
123
113
105
88
111
122
120
115
125
81
79
130
77
75
73
124
125
72
68
118
118
119
117
116
115
111
56
56
55
107
49
101
100
47
99
98
99
95
44
96
97
98
100
52
61
66
125
129
131
134
139
144
139
135
131
127
77
81
138
134
87
90
88
84
83
135
72
66
113
58
104
95
86
31
26
28
32
42
49
55
50
39
39
36
86
96
58
143
124
52
100
88
22
19
64
59
59
61
63
64
65
64
13
20
25
78
75
69
68
61
1
50
48
49
49
67
16
27
33
86
34
34
44
44
45
51
51
107
116
101
46
41
43
46
52
57
56
56
59
62
115
67
69
58
111
112
113
59
58
109
111
110
108
55
53
102
100
53
54
57
112
120
69
69
65
114
58
54
94
89
86
97
46
49
108
117
125
123
69
66
114
56
51
54
113
107
37
22
71
79
43
54
56
60
62
111
107
104
119
139
76
69
69
67
119
161
85
53
91
96
94
93
42
74
83
87
81
77
133
95
99
98
99
96
92
85
129
133
117
49
92
84
78
80
91
98
52
58
118
124
121
74
70
71
129
229
255
255
255
220
255
255
215
210
184
213
147
150
165
219
231
197
211
255
255
255
207
204
249
195
182
170
170
116
110
106
108
109
157
158
155
154
152
99
101
162
115
112
163
113
117
118
126
131
143
128
162
152
152
155
98
92
79
120
119
68
66
125
129
76
75
127
127
75
73
64
64
66
118
116
114
113
112
61
58
53
51
51
104
49
100
45
43
95
96
98
98
98
45
97
98
102
55
66
73
129
131
134
141
140
136
86
138
85
86
89
95
149
143
95
97
94
89
87
137
121
58
104
48
96
87
82
26
33
38
43
48
50
49
47
41
38
38
92
97
99
135
130
54
42
91
82
19
60
53
53
5
9
64
14
2
55
58
10
10
9
5
6
50
0
0
52
55
57
79
81
34
33
86
86
36
35
39
39
49
59
120
73
55
55
54
41
38
40
44
47
49
52
56
60
63
67
58
111
112
112
61
110
110
56
57
55
53
46
46
48
56
56
59
60
65
117
66
117
117
65
61
94
86
82
112
61
61
116
118
123
67
68
115
106
49
44
89
106
115
113
51
43
45
121
71
84
91
95
93
138
133
128
125
72
68
68
111
103
156
94
52
36
47
99
97
125
131
83
83
76
62
105
115
70
129
79
79
80
82
84
126
74
74
72
120
114
56
107
109
63
72
133
139
138
137
85
86
87
255
255
229
228
223
220
255
255
255
194
172
147
142
148
206
209
220
237
208
204
197
191
193
190
182
217
176
132
170
112
107
108
161
157
156
154
154
152
100
153
159
161
158
159
164
169
169
112
113
134
124
165
160
158
104
93
88
78
123
124
71
68
70
75
126
74
126
128
128
75
66
65
65
117
114
114
62
60
112
57
54
51
100
101
98
97
96
95
43
45
99
100
48
48
48
49
105
59
121
127
80
81
134
137
139
89
84
137
89
91
147
151
104
99
152
102
100
96
89
137
118
110
104
101
47
40
88
85
90
95
98
49
49
48
42
41
40
93
44
47
104
130
135
108
92
91
87
21
7
51
52
58
63
67
69
2
2
3
4
5
4
52
0
48
48
2
59
61
64
83
33
33
35
34
86
88
38
93
43
48
55
117
127
106
58
59
48
42
39
40
44
47
51
57
61
64
68
59
112
112
61
60
60
59
57
56
56
53
101
99
48
56
57
59
61
64
64
65
117
117
119
66
53
95
88
112
59
57
109
58
64
63
64
61
54
49
44
88
99
117
67
65
57
108
78
86
94
100
104
156
151
144
133
66
63
65
69
58
41
150
146
54
36
95
93
95
131
130
130
129
71
59
98
83
95
100
104
105
108
64
71
116
119
71
74
76
73
71
122
125
76
82
86
142
144
141
88
88
140
255
255
228
255
255
228
255
255
255
214
202
175
151
183
150
148
199
204
170
172
172
175
166
208
196
181
123
126
172
165
107
107
159
154
154
151
99
98
97
149
153
102
108
109
164
170
172
166
116
107
98
140
134
83
83
80
81
131
133
133
134
129
74
74
73
75
75
76
78
132
123
69
121
66
64
113
62
58
55
53
49
46
46
97
94
94
94
43
44
45
99
106
55
56
57
58
113
117
125
128
80
81
131
131
134
85
82
85
89
94
148
153
103
103
100
100
96
91
134
127
113
109
107
106
54
53
103
99
99
99
100
100
46
44
42
43
44
96
46
100
102
67
144
124
96
93
97
32
69
60
3
8
65
18
71
56
4
57
5
56
1
0
43
42
54
13
74
80
83
95
37
27
30
36
93
97
93
97
46
46
104
114
123
115
66
71
67
111
103
99
48
51
54
59
113
118
70
59
110
112
62
115
63
115
111
110
109
54
53
52
103
113
61
62
62
63
65
65
109
108
108
112
69
68
118
53
103
101
48
103
56
59
60
63
59
110
110
56
64
65
125
132
76
69
76
87
95
100
103
155
100
143
74
53
95
98
67
68
49
136
145
112
96
98
89
87
112
70
126
127
74
70
59
18
62
65
70
74
76
79
83
89
90
43
47
104
57
62
127
127
77
81
83
86
141
132
80
80
132
224
223
255
255
255
255
255
255
255
229
255
255
239
208
205
200
144
148
166
169
168
171
164
211
206
198
137
117
113
105
99
99
153
152
152
151
149
146
145
144
151
154
108
105
108
166
173
173
172
110
157
150
144
140
84
77
80
134
84
82
134
134
134
131
80
81
132
133
135
134
125
73
125
124
69
66
64
62
60
55
53
50
100
100
103
103
52
53
53
54
55
110
111
60
60
62
116
118
73
71
73
78
132
126
73
74
76
77
130
132
85
143
95
100
100
97
89
132
125
122
112
110
109
110
60
60
62
58
57
56
55
53
101
44
45
44
95
94
96
99
101
60
142
146
116
98
46
91
79
14
5
62
70
77
83
66
16
15
11
56
46
0
0
0
0
15
82
92
98
82
27
30
37
45
99
101
102
102
103
108
112
115
66
70
124
130
83
132
126
123
107
107
54
50
54
111
64
108
109
111
114
116
117
114
115
60
57
55
52
48
97
109
57
56
57
109
57
56
106
104
104
102
106
59
113
90
41
46
103
108
113
116
119
127
128
126
78
79
84
55
63
71
79
80
121
70
79
85
86
80
70
115
109
118
116
68
81
134
68
134
141
106
92
92
86
80
34
100
113
123
126
127
125
51
80
73
72
80
32
32
30
95
95
94
91
91
91
90
38
40
45
49
51
54
57
114
64
68
123
222
223
255
255
255
255
255
229
255
255
229
222
255
183
154
201
147
155
232
229
172
171
220
223
218
205
132
106
111
103
98
150
151
150
152
152
149
144
142
143
153
156
156
101
105
164
172
169
169
169
161
153
146
143
89
90
80
133
81
80
130
133
136
133
82
82
83
134
135
136
74
75
75
126
123
119
65
63
63
59
106
103
104
103
106
55
56
58
58
59
58
60
113
114
62
62
114
119
123
68
71
77
79
126
71
70
72
71
126
129
135
88
92
95
97
93
82
125
68
117
112
111
111
59
61
63
64
61
60
58
110
105
102
98
95
93
93
93
95
49
51
110
139
153
122
99
46
40
28
15
59
65
21
83
89
20
74
71
13
53
43
0
28
0
0
8
76
88
94
76
23
32
42
49
101
98
104
103
104
61
117
118
64
72
126
131
87
86
133
132
115
113
108
52
55
61
116
108
109
111
62
62
63
115
63
60
56
55
105
99
95
54
54
55
106
106
107
106
107
108
106
102
97
48
105
75
29
40
52
60
122
125
125
133
131
129
81
84
87
50
56
66
79
83
69
68
64
68
70
61
103
93
94
122
76
79
136
133
67
78
144
109
39
41
87
85
87
92
108
120
122
123
73
59
84
74
69
76
33
35
34
52
104
104
101
98
93
88
25
28
85
87
38
40
97
105
108
61
118
255
225
228
255
255
255
226
228
229
255
255
255
255
220
188
198
186
152
215
222
219
223
227
217
209
212
192
136
110
98
96
99
149
152
150
95
96
150
95
96
156
156
112
109
166
164
107
117
164
114
165
159
153
150
147
149
144
142
87
87
135
134
79
77
129
76
73
73
127
132
128
76
75
125
123
118
62
55
106
106
106
105
55
110
103
103
103
102
102
102
51
52
105
107
58
62
117
117
124
69
68
71
74
126
122
64
117
121
76
82
89
95
100
93
144
90
84
130
70
116
110
108
54
53
54
53
50
50
50
101
101
100
100
98
98
99
99
97
95
42
40
55
108
141
161
134
33
1
0
8
2
37
36
59
92
50
0
2
52
49
46
50
51
4
17
22
80
84
85
34
32
33
38
42
99
102
51
55
60
66
123
126
128
133
134
136
89
89
137
132
127
115
103
43
48
104
104
97
47
51
52
54
54
106
54
105
50
48
96
93
92
96
46
45
90
87
90
91
49
102
103
108
65
67
68
81
86
91
95
96
100
105
101
52
52
106
113
129
131
57
100
94
46
58
62
62
54
53
106
109
105
93
36
58
69
68
102
92
44
81
150
123
35
77
89
94
117
88
86
94
61
70
68
74
118
103
85
31
34
37
38
41
96
96
97
95
37
33
82
79
25
25
81
86
86
79
81
85
36
222
228
229
229
255
255
224
225
255
255
255
255
255
223
219
177
147
147
207
213
213
212
214
212
211
214
198
186
112
101
97
150
146
150
149
99
101
155
100
101
106
106
109
109
108
106
103
99
95
98
148
145
142
141
140
91
138
137
139
139
137
135
80
76
128
127
128
126
129
137
73
74
128
128
126
123
121
61
114
60
113
114
115
63
116
116
116
116
112
61
59
109
110
111
113
63
118
116
121
118
61
59
60
59
106
104
98
97
49
58
68
73
73
72
122
123
71
70
114
106
106
104
54
56
60
61
62
110
106
104
102
100
97
97
40
45
95
42
42
40
42
52
29
110
96
96
55
8
53
6
11
56
50
7
21
62
10
7
2
50
0
1
2
7
76
32
41
97
100
48
47
96
45
48
102
104
59
61
62
62
114
114
115
123
121
119
78
136
137
83
76
123
115
47
45
97
101
118
68
70
125
126
125
124
74
124
69
65
108
105
104
47
52
57
109
103
99
94
44
96
93
95
52
56
58
58
107
100
90
85
79
79
83
41
49
55
112
123
125
74
114
99
41
42
60
68
57
46
87
89
98
105
58
33
101
108
46
35
35
132
141
67
29
13
28
40
47
41
85
81
36
47
61
123
125
124
112
42
83
87
37
42
94
95
45
95
41
38
83
80
27
27
78
80
81
27
27
27
27
255
255
229
229
255
255
255
255
255
255
229
255
255
255
223
186
206
146
157
211
160
160
209
208
208
208
194
128
113
103
151
151
149
151
97
100
102
103
102
103
158
106
161
160
105
104
158
92
91
95
91
138
83
134
136
92
85
139
88
86
134
131
131
126
74
76
127
76
78
87
74
74
128
128
74
123
122
65
64
62
63
64
66
66
119
119
119
118
116
63
112
108
109
110
110
113
63
114
120
115
57
52
51
51
105
104
97
94
96
52
60
64
117
121
65
67
68
67
112
107
103
105
108
62
64
66
67
112
107
104
100
98
96
94
97
98
98
93
90
39
93
100
65
90
85
103
70
19
4
6
70
67
61
4
9
66
14
8
5
3
55
8
7
68
36
45
102
105
104
55
51
102
104
104
107
106
58
60
113
114
59
58
57
64
62
114
123
128
80
79
73
126
122
53
47
96
98
120
70
124
126
126
72
123
121
120
65
61
106
103
102
92
49
55
110
109
107
52
98
96
92
40
46
47
48
112
109
103
93
87
78
74
78
89
103
57
60
63
60
76
69
109
95
36
45
52
58
48
41
38
43
52
72
27
99
111
56
46
43
87
88
124
86
11
22
36
38
47
44
84
75
35
112
117
127
129
122
103
38
36
34
41
92
92
42
42
42
39
30
30
30
27
78
78
79
32
32
31
31
254
255
255
229
229
228
221
222
255
255
255
255
255
255
222
194
160
198
171
227
175
177
219
213
210
202
190
119
101
93
92
149
96
147
89
96
101
103
102
101
156
153
161
163
107
109
167
92
95
90
87
135
133
131
135
88
77
80
84
85
132
128
129
129
77
76
74
75
77
83
74
75
127
128
128
125
121
119
66
66
67
66
67
69
69
121
120
118
117
114
109
52
52
52
104
104
52
51
106
105
52
53
53
54
107
109
109
106
106
52
55
110
113
117
64
64
64
63
61
112
113
115
120
72
122
118
63
115
105
101
95
92
89
35
93
95
40
33
31
31
34
91
0
0
56
104
150
49
15
57
71
79
71
0
30
6
5
1
2
3
58
12
18
78
45
105
56
109
110
110
55
54
109
110
111
110
106
107
56
110
58
59
59
57
60
113
112
112
66
71
71
121
65
55
49
99
99
96
97
101
102
48
46
44
94
94
93
39
36
33
84
89
41
44
43
48
51
52
58
54
100
43
90
87
84
84
82
83
86
43
105
106
108
109
58
57
56
43
35
122
72
72
69
61
44
33
33
33
37
94
46
51
58
68
93
116
118
104
93
78
140
137
101
16
76
98
56
74
57
38
26
27
88
116
72
73
127
73
109
92
80
87
85
83
86
90
39
36
80
82
32
31
28
79
80
38
39
40
41
255
255
255
255
255
229
228
223
255
255
255
255
255
215
222
180
149
148
217
226
176
179
173
220
219
221
130
98
89
89
92
144
141
140
88
89
94
150
152
153
102
104
155
101
153
159
160
142
136
130
76
75
77
76
76
83
72
74
80
135
135
133
131
82
79
75
74
126
128
128
124
125
127
127
126
125
73
67
67
65
119
121
122
120
64
64
117
65
63
58
107
49
47
43
93
92
42
43
106
109
58
57
57
57
112
112
119
120
66
64
60
112
113
119
65
61
55
108
114
120
70
121
119
64
61
113
62
60
101
98
43
41
38
36
32
40
39
85
82
34
36
34
39
0
26
93
171
134
27
54
67
74
18
0
26
46
46
49
0
4
9
68
79
83
42
50
104
103
47
59
57
51
104
104
54
55
106
110
60
58
108
56
59
107
110
59
54
49
49
50
104
48
45
45
98
97
96
70
19
74
78
31
32
35
35
85
85
82
78
76
24
92
95
43
42
93
47
52
56
49
96
96
92
87
34
74
23
25
81
39
110
117
67
67
117
115
56
97
93
99
100
53
64
76
81
72
53
43
88
88
47
55
79
28
37
115
132
111
86
104
117
122
66
41
31
118
117
108
96
86
33
83
79
98
123
75
78
72
119
110
90
34
81
79
32
36
36
85
82
84
86
86
86
86
88
45
46
48
101
255
215
221
255
255
255
255
255
255
255
255
229
225
215
255
231
155
155
213
221
172
176
175
168
214
211
175
98
146
143
143
143
141
139
139
141
143
148
96
96
146
95
102
100
154
157
153
134
134
129
75
74
75
73
72
82
126
129
133
85
84
82
80
82
79
75
73
127
130
130
75
76
75
127
128
75
73
68
119
119
121
121
122
122
72
70
67
63
58
53
52
49
47
44
94
95
96
44
105
107
56
57
58
59
114
115
120
121
68
64
62
62
116
117
64
62
60
62
116
119
120
69
68
65
112
109
56
55
47
97
43
41
40
37
36
95
92
86
83
33
91
94
48
0
72
83
121
156
95
60
63
77
74
0
0
45
45
50
52
56
9
67
24
29
39
46
49
99
97
56
54
49
100
100
49
48
104
106
56
57
56
111
111
111
114
63
59
56
56
109
105
49
48
101
102
101
100
24
23
23
25
32
85
87
87
85
85
29
26
76
24
37
89
92
91
93
45
50
41
37
36
89
85
83
31
31
31
86
88
42
53
110
60
59
110
110
108
106
54
83
87
43
101
109
71
122
111
48
89
34
43
54
43
39
42
63
131
118
95
106
115
120
122
102
33
53
52
101
92
87
86
85
30
44
116
71
129
128
71
63
45
30
80
81
32
33
31
84
84
85
86
35
87
88
90
100
49
51
52
215
220
225
255
255
227
255
255
255
255
223
221
255
197
240
216
152
157
204
205
157
160
159
153
142
190
183
122
156
149
142
138
141
87
83
82
134
139
90
93
146
147
96
98
149
146
139
128
128
77
74
73
124
71
122
132
131
135
139
141
88
86
85
133
129
126
72
127
131
138
80
79
81
80
78
75
74
120
119
118
120
123
73
72
123
120
117
116
112
56
56
52
49
47
98
98
48
48
50
103
105
107
108
112
117
67
121
123
121
68
66
68
67
65
62
63
65
118
62
110
106
107
54
53
50
47
45
46
92
91
40
40
40
39
40
40
37
83
32
37
41
91
65
47
1
46
104
127
87
79
54
71
75
11
0
47
48
0
4
59
65
72
78
31
38
43
97
45
94
102
49
45
97
97
97
95
49
50
54
62
64
119
121
115
116
119
67
118
117
117
64
64
118
125
127
128
75
70
65
58
108
113
62
62
116
114
59
56
49
47
96
84
30
32
35
36
34
82
87
35
40
41
86
86
35
109
105
102
95
38
30
30
88
41
47
55
117
136
89
38
98
52
50
94
94
98
112
115
62
60
63
66
64
85
71
69
66
52
93
121
115
118
126
122
47
30
90
93
36
34
89
38
38
42
97
111
74
133
82
78
65
35
84
81
82
30
82
83
85
86
35
35
38
93
97
103
52
53
107
255
220
224
222
221
225
224
227
227
255
225
214
255
201
191
166
158
169
228
231
180
177
169
153
141
142
189
125
165
159
151
94
90
87
86
86
134
133
130
79
75
125
78
76
123
123
127
127
120
76
124
125
126
124
122
129
131
135
138
140
87
85
83
129
128
124
71
75
133
85
130
131
80
79
77
127
122
115
113
115
116
67
122
124
119
122
124
124
121
115
57
53
53
102
101
102
51
49
98
98
100
100
49
53
59
61
62
115
116
114
63
63
65
66
61
60
63
61
56
51
99
92
91
41
44
46
47
41
92
40
42
42
43
43
96
90
84
78
26
80
31
78
82
60
47
12
119
175
176
60
44
58
22
78
73
1
3
9
12
17
75
32
35
94
103
105
55
57
110
94
94
42
42
42
93
94
104
51
54
62
117
66
117
115
114
113
63
114
112
59
52
52
106
65
72
76
130
82
81
78
126
123
70
71
128
125
121
64
53
49
46
36
40
46
54
59
111
109
104
103
49
50
38
35
88
41
39
84
79
23
22
22
75
27
35
43
104
116
66
72
122
119
63
109
83
78
85
94
96
95
42
42
50
71
75
84
82
56
39
119
120
111
110
65
58
39
90
107
50
41
37
39
42
97
94
49
59
122
76
76
73
63
98
81
77
31
85
86
89
91
94
96
45
46
50
99
48
50
51
255
255
255
255
255
205
207
212
212
255
255
251
196
197
173
155
207
222
174
179
184
185
178
161
147
143
135
123
169
165
157
99
94
89
87
141
138
80
78
75
70
118
70
72
73
122
123
127
71
71
121
123
125
123
120
125
130
133
84
88
84
83
132
128
126
71
71
75
78
133
128
129
130
77
128
123
118
111
110
111
114
64
68
121
66
68
122
70
68
64
60
55
107
104
103
104
50
49
97
97
96
97
45
48
53
55
57
110
60
58
59
59
61
115
59
58
110
109
108
54
99
93
92
46
49
51
50
44
93
95
45
96
96
98
47
37
28
22
16
69
16
70
81
57
39
0
100
165
182
123
40
49
20
29
77
0
3
61
15
20
79
87
40
47
107
110
60
65
66
97
97
47
48
47
98
97
104
51
52
109
111
58
108
108
106
106
55
107
103
48
44
43
44
57
66
72
75
71
75
77
74
117
66
66
69
120
64
59
102
47
45
49
107
113
65
68
121
123
64
59
57
57
104
102
50
33
84
85
83
83
29
30
84
32
84
85
87
94
96
90
135
125
115
106
90
38
52
110
114
111
102
95
38
51
59
73
74
54
41
123
125
111
52
115
120
102
31
59
53
43
39
40
95
93
42
42
102
113
71
127
127
74
108
90
80
27
30
84
90
94
45
101
101
49
51
44
45
47
48
255
255
255
255
186
186
188
233
183
232
231
182
168
211
155
157
162
218
179
185
191
231
235
233
164
144
128
111
160
164
110
95
87
86
81
132
80
80
80
80
129
130
127
74
73
124
122
120
66
65
66
119
117
117
66
71
125
75
78
81
85
86
137
132
132
78
77
75
77
139
129
131
132
132
130
128
126
113
107
53
110
63
64
64
64
64
66
65
115
110
52
48
98
97
96
46
46
48
100
103
51
48
95
94
97
48
106
108
107
57
110
114
117
111
112
113
115
114
110
55
100
100
51
47
42
42
44
48
102
101
51
99
94
92
89
31
31
29
26
79
30
20
31
89
41
47
56
59
132
131
98
85
32
34
30
6
8
18
79
89
50
112
63
68
71
128
82
88
92
81
81
32
33
87
38
41
93
98
103
110
109
56
55
136
132
125
113
53
97
39
46
96
41
37
46
59
70
61
65
66
64
60
52
42
50
48
46
98
99
52
56
97
97
43
38
34
40
50
56
59
60
59
47
39
85
110
107
102
98
92
87
86
82
30
84
84
84
86
85
14
15
71
76
83
81
78
31
32
84
79
74
19
19
33
43
57
60
108
62
123
103
101
117
141
96
71
6
38
92
92
35
29
85
110
60
108
105
106
61
121
125
127
119
106
90
77
70
22
86
38
40
90
91
39
37
40
40
40
40
255
255
255
255
191
179
225
208
153
199
197
139
145
162
214
161
213
211
163
166
222
228
231
227
153
127
122
117
118
117
161
149
93
90
84
80
133
132
132
131
130
129
74
72
72
122
121
117
64
65
115
116
115
115
64
66
122
72
127
129
79
81
131
127
125
69
66
67
122
134
126
127
129
79
79
75
122
118
111
105
51
50
51
56
115
113
60
59
57
56
56
53
54
103
103
50
102
98
93
92
90
89
86
87
87
37
95
97
98
100
51
53
108
112
118
121
122
121
119
63
107
110
60
62
62
61
62
61
107
55
57
106
99
93
86
28
27
24
21
23
24
13
23
83
37
39
86
30
57
132
114
89
30
29
26
88
89
40
94
95
44
99
46
47
98
98
98
46
45
120
121
69
120
120
67
120
107
108
112
110
52
45
40
34
86
83
75
72
74
76
80
82
88
98
55
66
74
85
86
84
80
130
76
71
73
70
67
65
62
57
52
100
46
44
40
36
39
96
98
49
53
53
47
43
89
97
41
37
33
86
91
94
43
98
101
51
101
91
88
41
91
93
95
101
112
115
110
112
112
108
104
45
42
44
31
81
99
128
150
128
53
109
126
95
153
83
39
33
34
39
95
96
43
38
39
93
37
33
34
96
110
124
78
78
64
97
82
79
40
44
96
96
44
45
95
45
44
43
42
255
255
255
209
192
184
233
216
207
194
189
133
143
163
159
159
211
210
214
217
221
170
174
222
148
121
118
117
119
115
158
149
93
141
84
81
132
133
131
131
131
130
73
73
124
123
122
116
63
62
115
115
63
60
60
65
68
121
124
126
75
127
127
124
122
118
114
114
121
132
123
125
127
78
78
76
123
112
57
103
101
47
48
52
112
58
59
60
59
59
113
108
57
55
107
106
103
99
92
36
86
87
90
91
93
41
97
101
101
103
53
55
110
116
121
124
125
73
70
70
115
119
121
70
122
122
69
60
53
105
106
101
42
36
29
26
25
24
21
20
23
11
16
76
82
85
83
27
91
125
127
98
88
86
34
93
93
95
95
95
92
91
93
94
96
94
91
37
36
79
79
78
126
72
120
119
61
61
113
104
96
87
30
8
66
73
77
80
86
92
115
65
120
125
75
131
135
136
83
78
72
64
113
111
67
64
59
57
58
53
48
50
47
43
39
33
88
91
99
103
55
56
55
102
100
94
40
34
33
32
91
94
45
101
106
57
57
99
42
60
112
113
63
120
130
131
75
75
124
120
114
105
44
28
29
48
131
152
155
106
46
50
61
77
81
72
54
82
79
22
25
82
88
95
88
38
35
28
27
35
52
70
78
135
75
58
96
85
43
46
48
47
99
100
99
97
44
42
40
255
255
255
255
192
194
254
231
168
198
128
123
178
186
155
157
160
160
161
162
164
170
216
209
194
124
121
116
160
157
153
148
93
139
85
81
82
82
134
132
130
131
74
74
127
126
124
116
62
61
62
62
61
58
59
62
115
116
66
70
70
69
120
119
116
112
112
115
119
124
114
120
75
77
127
72
74
57
52
98
101
50
103
102
97
101
55
59
61
60
58
109
109
56
108
107
105
102
35
33
35
90
42
46
51
53
53
107
107
107
56
58
60
119
123
125
125
125
75
77
80
133
131
78
78
73
70
64
59
106
101
93
86
83
28
28
30
28
78
26
28
22
20
75
82
89
95
45
43
68
152
77
51
41
93
84
84
87
38
94
98
103
111
114
123
124
123
71
68
66
117
111
56
49
45
41
36
32
30
41
105
119
75
78
135
141
137
134
132
132
112
59
59
53
100
96
96
95
42
99
107
69
74
79
128
122
113
53
52
50
101
47
44
92
90
96
101
108
116
69
121
123
121
67
115
100
97
92
89
36
40
42
99
49
101
101
99
92
88
58
64
72
81
85
143
143
88
83
78
71
117
58
97
90
46
62
117
104
96
98
104
49
47
47
51
57
69
95
97
95
39
31
75
71
28
27
24
19
21
26
33
111
118
124
73
73
68
51
37
42
46
46
49
51
103
99
46
44
95
255
229
255
255
194
186
184
179
189
175
143
123
124
176
130
136
146
153
162
163
165
214
193
121
161
103
161
154
152
151
154
152
95
88
90
81
81
82
133
133
130
79
76
76
129
129
124
65
62
61
62
62
58
57
57
61
62
63
65
66
66
64
62
58
57
56
57
61
65
64
107
119
79
78
70
70
78
75
112
96
95
47
101
100
93
94
95
97
101
51
55
108
108
52
52
105
105
105
49
52
55
53
51
52
58
115
115
63
116
115
62
63
65
71
122
121
120
123
128
131
137
138
135
132
81
75
122
113
114
108
96
85
79
80
32
35
39
39
89
88
90
35
90
90
38
94
100
54
52
54
160
156
72
53
109
111
111
109
58
61
118
121
123
122
121
118
118
66
66
90
95
62
73
82
89
92
149
149
95
81
123
62
57
71
66
61
106
106
104
105
100
98
43
37
87
86
87
94
41
101
115
79
83
86
138
137
81
77
71
70
71
72
62
103
93
91
95
100
63
67
119
120
114
57
107
99
97
96
93
41
42
95
99
48
50
104
108
119
71
66
69
74
76
72
124
124
65
62
112
60
62
65
61
121
98
32
85
88
94
44
52
53
53
52
53
102
37
30
49
70
74
61
96
86
23
18
14
20
29
35
31
91
106
117
119
118
118
59
21
27
34
36
40
45
99
104
51
50
49
255
229
255
255
208
192
232
232
236
241
216
125
132
118
112
170
181
135
190
190
191
180
177
172
167
110
107
160
158
154
101
150
97
89
85
82
78
80
134
131
131
75
75
128
130
130
76
69
66
64
113
112
58
58
108
109
63
63
116
67
67
65
60
58
52
52
62
72
64
55
57
67
73
71
125
129
82
94
58
96
101
93
40
45
84
87
38
41
93
97
101
106
53
54
52
52
53
53
52
108
58
58
57
58
61
63
118
64
65
117
64
63
116
60
56
111
115
122
76
133
137
137
134
79
75
121
114
69
111
103
95
91
86
86
94
92
93
43
44
97
94
38
92
92
41
97
103
54
47
60
83
158
91
62
106
118
72
65
61
64
117
113
53
54
112
114
121
81
91
77
79
140
141
88
137
81
71
119
117
108
96
37
36
59
58
58
104
99
95
94
42
45
98
39
41
44
100
107
107
107
115
84
145
147
148
145
87
133
80
79
78
78
69
108
98
94
91
92
53
55
109
109
108
103
99
99
98
99
96
42
44
99
98
49
49
48
56
74
74
121
66
61
58
57
110
108
99
101
101
103
106
110
96
100
94
32
83
89
96
98
51
53
55
55
53
100
44
47
51
55
55
50
94
84
28
26
26
27
27
74
73
79
38
53
111
114
60
107
27
25
25
32
33
32
86
96
101
55
112
229
255
255
255
255
210
201
176
228
234
225
186
134
130
131
170
158
103
171
170
168
171
171
169
168
164
108
108
161
159
157
153
151
91
88
135
80
81
135
131
133
77
127
128
129
129
76
70
68
67
118
116
115
112
60
60
116
115
116
117
117
118
112
61
58
53
56
62
59
59
53
60
68
75
134
139
85
90
56
40
94
91
39
39
87
89
38
39
92
92
95
97
45
46
45
47
50
51
58
114
117
65
65
64
67
123
67
69
120
117
58
51
48
49
51
58
117
119
122
124
135
83
81
129
75
69
64
71
110
101
43
41
91
92
90
101
50
44
94
99
51
33
93
96
42
92
87
34
86
38
61
144
91
66
56
48
58
70
75
138
149
101
113
107
148
140
130
122
66
70
65
104
102
99
98
47
42
92
90
87
88
37
41
48
49
103
57
57
56
107
55
54
101
102
106
56
110
62
115
66
120
136
95
155
156
155
153
150
147
92
88
139
79
119
109
98
93
41
35
40
39
91
88
84
82
103
103
103
47
44
97
46
41
42
41
44
49
57
109
114
62
61
59
55
104
103
114
118
121
116
110
105
101
103
104
52
47
43
93
100
105
56
57
111
110
108
103
66
63
58
49
41
87
28
21
72
25
33
35
33
83
32
31
29
25
23
25
74
8
8
63
71
80
81
81
100
105
110
62
255
255
255
255
255
255
255
254
241
230
166
129
177
181
195
134
174
164
111
113
168
171
172
174
175
173
117
115
166
163
158
155
150
142
87
140
81
82
134
131
136
80
74
126
127
127
75
71
71
69
118
116
114
112
59
59
63
62
113
115
116
116
114
106
110
112
114
118
67
133
133
127
70
72
81
142
146
137
64
53
105
57
55
101
99
47
44
45
95
91
89
87
35
37
38
42
98
52
56
113
115
116
62
63
118
122
121
119
66
64
59
58
55
45
43
99
105
110
115
121
127
74
124
120
119
62
108
115
103
45
93
95
98
46
101
97
97
43
95
93
93
32
29
26
25
77
27
31
105
63
80
133
129
81
143
62
67
130
125
117
62
65
57
60
70
124
123
115
110
49
100
93
39
38
88
35
44
49
107
119
124
74
74
63
116
115
58
52
47
96
94
37
86
90
44
98
99
45
50
54
111
129
146
155
111
108
155
150
148
147
93
86
79
68
111
93
34
34
36
43
48
49
45
43
94
103
102
100
44
42
38
36
40
39
40
44
100
101
101
63
114
57
56
113
130
84
86
127
115
61
64
122
72
62
111
109
57
57
106
93
49
48
99
48
49
101
98
107
54
52
50
99
97
40
39
35
85
35
34
84
87
57
53
46
37
33
33
32
31
27
22
71
71
72
18
69
20
24
26
228
226
226
255
255
255
255
206
245
226
158
129
128
185
191
187
181
171
110
112
118
121
122
176
177
176
120
119
170
166
160
154
151
143
141
140
83
82
135
132
137
133
125
125
126
74
72
72
70
119
118
116
113
111
110
110
114
113
112
112
115
115
112
109
118
123
125
127
128
143
147
138
130
80
84
88
145
74
64
57
60
64
62
104
110
56
53
50
99
94
88
87
35
34
88
92
45
51
109
112
116
115
60
62
117
120
116
116
113
63
112
113
62
50
47
102
107
111
63
69
124
71
120
116
114
59
55
58
50
46
96
99
103
51
107
94
40
41
42
93
91
37
42
46
52
61
121
75
88
98
109
143
125
123
128
48
47
105
56
57
61
67
71
72
69
121
120
117
114
96
44
47
51
52
51
102
49
55
112
120
122
67
63
113
112
112
52
45
91
88
82
28
78
84
35
38
91
88
40
45
54
131
95
104
113
165
160
154
154
155
153
86
81
71
61
94
89
37
43
54
62
66
63
61
112
115
112
106
102
98
33
30
83
28
30
36
93
96
97
50
102
103
55
65
82
87
69
107
42
41
53
62
70
63
111
108
58
61
109
93
45
42
92
41
97
98
92
90
37
37
93
95
96
42
48
44
92
91
37
87
90
53
53
48
42
40
43
47
59
55
50
40
85
84
81
14
17
20
22
255
227
226
228
255
255
255
255
202
180
155
137
181
179
194
137
183
176
173
123
126
124
176
176
177
175
121
122
178
172
166
107
104
97
94
90
84
84
136
133
85
83
124
122
122
122
71
71
72
121
119
117
62
61
60
57
112
111
110
110
111
113
60
111
127
82
130
126
120
126
131
130
134
138
134
123
60
66
71
75
79
83
76
67
73
69
65
62
58
103
93
90
36
88
87
90
43
49
65
119
70
69
117
117
119
121
121
126
77
77
128
124
70
64
63
69
70
68
119
120
123
122
67
117
116
112
54
107
53
52
105
107
110
110
74
134
137
91
102
168
181
123
127
173
161
93
131
121
75
64
114
113
116
121
121
84
129
135
89
85
76
72
64
67
128
128
124
120
117
114
58
52
51
102
102
100
50
53
108
106
58
54
49
108
106
103
33
22
13
58
68
71
75
78
28
83
36
28
83
90
52
86
99
107
159
164
167
167
166
165
161
88
83
73
62
98
95
48
57
73
87
95
93
91
90
92
87
85
83
135
126
122
122
116
59
59
108
97
47
34
38
49
115
123
43
28
76
70
15
21
81
89
55
56
112
114
115
110
56
104
92
88
85
36
92
93
89
72
18
17
74
80
88
44
49
49
104
53
54
103
102
109
59
54
43
37
45
58
61
70
73
64
52
95
36
28
30
32
85
229
229
229
229
228
255
255
255
200
195
190
215
215
210
198
135
126
176
170
120
128
124
122
171
172
117
115
118
175
174
118
111
105
98
94
90
87
134
78
75
69
69
71
70
121
122
123
123
122
121
120
65
64
62
61
60
110
110
109
55
108
53
53
54
62
67
121
121
126
75
70
63
59
60
64
68
71
128
129
129
75
128
74
67
64
59
105
50
48
98
92
83
38
41
97
106
124
97
41
55
69
77
80
129
76
85
133
135
138
82
75
69
66
134
78
72
68
68
119
118
123
123
119
58
98
40
39
104
129
145
162
172
177
123
111
151
143
80
70
61
106
108
101
97
95
43
42
45
57
56
66
120
122
83
97
102
133
127
134
78
122
119
64
63
112
110
110
109
109
92
93
94
43
44
101
104
53
54
55
112
58
54
102
107
102
95
83
77
23
76
77
77
77
76
75
77
77
78
25
27
85
59
73
84
92
98
155
159
159
155
152
98
146
139
132
114
109
106
113
118
76
81
85
142
92
75
75
75
75
75
128
128
126
129
130
128
126
71
66
63
66
128
135
133
117
65
111
106
102
101
97
92
44
45
99
102
104
106
107
106
104
98
92
88
36
34
79
26
25
79
78
27
79
81
37
39
40
43
98
99
100
107
104
53
52
49
50
58
77
130
76
72
61
47
30
29
29
31
35
229
229
229
255
255
228
228
218
207
203
203
226
220
213
155
142
130
129
125
129
133
181
175
120
119
118
118
172
175
174
169
162
104
99
92
90
139
136
131
127
71
69
72
71
122
122
71
70
69
122
120
117
62
59
57
56
112
111
110
110
56
55
53
56
62
67
66
69
72
74
67
61
57
58
61
65
68
129
129
130
131
133
131
74
70
117
111
108
54
51
99
101
54
55
54
57
126
152
70
74
68
93
67
119
141
86
79
83
86
83
77
73
125
101
51
55
111
119
125
128
123
115
106
54
65
81
146
143
161
119
123
171
165
107
151
143
137
80
76
71
69
49
42
93
92
93
91
93
106
106
64
118
68
77
141
160
145
120
123
74
69
114
116
114
107
104
50
50
50
35
38
45
48
51
54
108
106
53
108
108
53
102
98
99
91
86
84
81
27
27
78
77
79
78
78
27
28
27
77
75
77
97
112
72
77
83
90
145
148
146
143
90
139
137
133
120
111
53
106
112
69
71
126
131
134
71
72
73
75
77
131
132
79
134
135
135
135
80
74
120
123
130
139
140
86
89
138
137
136
136
132
74
69
125
128
131
134
136
135
133
82
130
124
121
67
64
56
106
52
99
95
89
33
27
32
33
85
86
86
85
84
100
99
98
98
99
46
50
66
122
71
120
117
108
36
25
23
24
79
222
222
222
255
255
226
227
223
221
217
218
187
219
210
165
212
203
141
181
189
144
188
187
132
130
133
189
188
184
178
166
156
150
97
91
89
89
87
136
133
76
74
73
71
70
121
122
121
68
118
118
114
58
107
53
51
116
115
113
113
61
62
64
115
121
75
77
78
78
66
59
56
52
52
55
57
60
125
127
78
131
131
132
129
80
127
120
115
110
108
53
56
61
118
72
125
71
69
176
199
93
43
77
143
120
72
65
123
76
78
75
74
130
98
98
99
103
109
63
64
97
108
168
168
108
97
142
72
65
111
108
110
114
64
112
121
71
71
71
69
119
117
65
66
69
69
122
68
117
118
120
120
121
123
126
100
103
72
115
123
124
114
112
105
92
87
35
37
39
38
42
106
56
57
109
110
59
56
105
48
44
92
89
85
82
80
83
82
82
32
33
86
87
33
85
84
34
27
22
18
67
71
77
33
40
49
57
63
69
121
66
121
120
68
127
131
127
70
54
48
40
42
100
45
39
32
34
38
43
48
109
112
117
65
65
121
130
137
80
119
125
133
137
140
142
141
88
142
143
146
147
149
148
93
95
98
101
102
153
151
149
149
148
147
94
92
85
136
135
134
132
130
76
78
71
123
120
116
112
109
106
106
105
103
102
100
99
42
36
104
113
111
109
107
95
28
24
23
79
255
219
219
222
225
225
227
255
255
255
223
202
230
224
225
215
202
191
134
131
127
141
148
150
194
134
132
184
190
185
125
118
166
98
140
143
91
90
89
85
79
78
72
70
120
119
121
67
65
116
114
59
58
54
52
52
119
119
120
70
75
79
84
84
85
84
81
81
133
121
118
114
112
57
56
108
113
128
80
83
132
129
128
126
72
67
61
56
50
51
105
64
65
67
70
126
75
76
94
104
107
172
175
107
100
55
108
105
110
118
70
72
72
131
135
140
150
157
164
111
77
126
120
111
96
29
20
31
87
91
96
100
104
54
63
64
63
58
107
51
49
85
133
77
76
72
120
66
114
113
110
110
59
111
58
75
96
143
121
58
109
108
47
40
78
77
30
35
40
47
103
113
114
113
115
116
61
56
48
38
32
80
78
77
81
33
83
80
84
38
94
94
96
41
91
39
39
28
25
17
67
73
79
87
42
49
53
57
54
49
44
102
107
116
73
84
134
134
130
121
109
98
34
28
24
26
27
28
81
83
34
34
33
35
41
104
117
112
96
98
106
112
62
118
71
69
130
133
135
82
134
137
81
88
87
87
87
88
89
143
145
147
150
151
150
94
89
88
139
137
134
79
78
128
131
133
132
79
80
79
79
79
135
136
132
78
78
76
65
65
119
122
69
114
104
30
23
19
73
222
221
255
223
255
255
229
255
255
255
255
209
236
233
182
167
150
193
143
134
123
132
143
148
141
132
133
133
123
174
120
118
118
102
140
142
90
90
141
138
80
79
124
122
68
120
120
66
65
115
115
60
111
56
56
55
118
119
120
124
76
134
141
90
87
82
128
127
77
69
122
118
63
62
60
110
116
127
79
81
129
125
72
121
119
117
112
53
49
50
54
57
63
70
75
127
77
81
132
81
113
152
165
184
115
60
114
104
106
111
63
61
59
143
162
124
177
165
146
79
56
89
24
70
75
31
88
109
56
110
112
64
67
68
111
106
53
54
54
53
54
72
69
69
68
67
64
62
112
112
57
57
112
60
59
119
91
97
70
51
49
103
43
36
74
74
81
37
41
47
53
115
64
67
120
121
113
57
49
35
29
26
21
22
28
35
30
79
85
91
94
96
97
42
42
40
41
32
26
19
17
78
88
98
48
56
61
63
60
56
54
47
108
120
79
85
83
135
134
129
117
102
26
75
75
27
28
30
85
87
39
39
33
36
43
105
115
94
75
85
40
43
42
43
49
48
102
107
60
59
113
118
58
113
111
58
58
58
60
64
67
123
129
80
133
80
78
68
69
70
126
76
78
135
137
136
137
83
81
81
79
127
82
136
132
80
82
81
79
70
120
128
135
129
118
50
42
37
38
223
224
225
225
255
255
229
255
255
255
255
255
249
232
241
232
225
219
141
132
131
139
189
188
132
126
119
119
170
168
169
115
110
97
97
144
132
142
136
131
125
126
74
120
65
64
118
60
61
114
111
59
59
57
57
64
114
119
75
81
86
92
96
95
146
143
138
134
79
65
125
120
64
61
61
63
117
120
122
125
128
76
74
72
112
110
56
53
47
97
100
114
65
71
72
124
124
73
128
133
134
114
97
122
176
162
45
56
121
94
44
91
177
101
98
84
119
105
36
25
20
22
34
99
112
124
79
119
125
77
79
80
133
131
128
124
70
67
67
62
55
53
48
44
44
94
92
92
90
42
51
57
63
69
124
119
71
102
146
67
46
92
39
37
93
96
49
50
51
57
59
67
71
72
121
118
112
107
48
84
29
80
79
26
81
34
34
86
88
88
92
97
100
47
49
51
49
42
36
30
29
88
94
100
111
116
118
118
65
62
61
111
57
57
111
127
81
135
133
128
124
67
93
79
21
20
74
24
79
78
28
29
33
87
89
93
91
86
36
54
108
57
54
103
48
46
100
99
43
93
93
91
84
77
74
72
20
19
20
34
45
99
103
106
108
108
54
39
87
85
32
35
37
37
95
97
50
54
57
112
62
56
110
113
118
120
69
71
71
71
69
121
126
77
129
113
61
59
106
225
227
228
229
255
255
229
228
255
255
255
255
235
163
215
162
163
168
158
190
120
131
134
185
183
178
172
120
166
162
161
112
111
156
154
149
142
152
145
141
132
129
129
124
66
65
118
61
62
114
110
109
56
56
58
70
114
121
77
85
92
98
104
158
159
154
151
145
140
71
76
71
63
57
108
111
114
113
114
117
67
67
119
63
64
112
110
105
48
44
97
102
108
63
68
69
121
122
76
66
111
119
120
97
82
90
185
162
106
71
129
188
127
65
49
101
107
111
116
120
66
62
109
102
95
92
94
48
54
58
63
69
127
132
136
139
137
139
84
81
75
47
38
35
31
29
79
79
85
37
47
51
57
61
115
114
64
79
142
141
65
36
54
56
114
59
58
59
61
118
68
73
73
125
120
66
112
108
105
95
90
88
85
30
83
86
35
85
87
87
92
43
46
46
51
53
55
48
96
38
34
37
94
49
110
116
120
122
68
62
61
111
59
57
103
102
56
62
119
124
121
62
114
108
45
26
72
66
65
69
26
27
78
78
28
32
33
38
45
57
58
111
110
110
107
107
105
104
101
48
100
96
91
84
81
26
26
25
76
83
92
96
102
108
112
113
59
63
110
101
42
35
34
35
86
84
82
28
80
81
31
21
73
75
78
82
85
88
41
42
44
45
44
49
112
121
72
73
70
226
226
229
229
229
255
255
227
229
229
255
247
174
157
156
156
157
160
163
197
174
121
126
132
184
177
127
133
173
164
159
162
166
159
104
99
146
160
153
148
88
82
130
125
119
120
118
112
113
112
57
55
108
108
108
122
63
70
78
86
145
100
108
162
163
161
155
151
147
129
73
67
111
107
54
57
112
114
116
66
119
117
117
115
65
60
55
51
43
38
92
96
100
109
62
65
117
120
65
68
125
124
115
117
113
97
175
201
147
99
78
93
89
62
104
112
71
134
139
145
72
59
103
94
82
71
67
96
52
55
112
65
126
130
86
89
138
137
82
129
123
105
42
39
87
33
81
79
84
85
43
47
51
55
55
112
112
114
79
89
73
47
61
114
64
61
61
63
65
125
124
126
125
123
68
117
118
62
110
99
93
89
87
32
85
87
85
84
85
85
35
39
40
43
101
105
105
102
97
41
37
37
94
102
110
115
121
123
66
114
109
111
109
53
103
100
98
95
105
114
118
62
116
114
109
94
83
71
63
10
22
26
74
22
24
28
30
40
46
105
53
106
108
109
108
107
105
104
51
51
100
99
41
36
32
30
31
30
81
83
34
90
97
105
58
61
63
64
60
105
46
40
37
90
40
90
34
30
29
81
83
21
21
22
76
78
80
82
82
83
85
86
32
35
100
116
70
73
123
217
219
222
225
255
255
255
221
223
214
198
232
171
213
158
162
157
152
156
191
166
157
156
159
165
174
190
191
194
187
180
178
174
171
120
115
159
166
151
145
144
86
133
126
119
119
118
112
113
110
109
109
110
110
107
116
61
66
76
84
90
97
106
158
158
159
154
151
146
128
110
107
101
100
102
52
108
111
111
110
110
107
105
102
100
45
44
42
39
38
94
101
103
108
58
59
60
63
71
61
108
117
124
116
113
123
127
132
138
138
89
78
7
69
73
69
121
123
70
117
65
64
114
111
107
105
109
110
66
69
71
73
128
127
127
121
114
108
104
95
88
105
45
41
39
37
87
83
84
84
37
41
95
94
94
103
52
56
68
81
81
74
56
110
64
66
66
65
62
117
115
61
65
68
123
122
123
68
60
45
91
88
85
28
28
27
73
70
20
17
25
30
35
42
49
104
105
103
102
98
93
40
46
108
63
123
126
127
118
109
103
108
103
99
97
91
85
78
27
30
41
53
59
59
110
110
105
97
85
74
10
10
14
15
70
75
26
35
93
94
94
94
98
101
50
48
100
99
46
97
97
95
38
32
28
26
81
82
80
26
76
78
83
88
94
48
54
63
117
117
61
54
99
91
31
30
29
26
27
80
82
35
37
39
41
42
41
41
93
88
87
36
30
27
38
63
124
79
80
204
215
225
226
229
255
255
255
213
195
180
217
162
206
211
207
153
154
140
119
104
95
95
101
106
110
116
123
161
165
187
145
178
163
135
122
157
112
165
146
115
91
89
80
73
70
125
128
59
113
109
105
99
96
42
92
107
59
66
73
131
139
101
153
152
150
148
143
138
75
119
114
56
51
99
97
95
93
42
40
38
39
89
36
43
44
46
103
106
56
64
121
65
116
62
61
60
58
48
50
61
65
110
116
144
112
69
67
55
42
151
227
240
24
33
69
121
116
79
72
119
59
52
103
102
51
51
100
113
63
62
60
58
112
109
112
59
106
96
32
25
31
82
29
28
79
78
77
84
86
96
49
102
49
47
49
60
78
78
84
94
156
134
113
118
120
106
45
100
49
48
54
58
61
113
110
57
54
100
91
83
75
71
81
30
27
21
24
28
84
41
49
59
71
76
130
131
102
49
47
47
49
51
106
115
61
60
63
114
108
51
51
46
40
34
32
31
30
31
29
79
79
44
58
68
59
115
113
107
105
81
9
0
0
3
15
75
86
41
94
98
101
106
55
54
104
51
45
93
87
83
80
74
25
27
26
77
76
26
23
71
68
70
74
85
97
66
54
110
115
116
63
58
90
84
32
84
32
30
83
29
33
86
36
38
39
91
93
44
93
89
87
36
40
96
103
112
121
125
199
203
206
204
208
209
208
254
187
174
166
158
212
207
217
212
208
154
136
118
106
108
99
89
87
93
114
123
111
163
180
142
187
183
141
122
108
115
163
145
120
105
93
86
84
79
125
132
77
121
115
109
104
99
44
94
105
110
63
69
125
132
142
145
146
144
142
138
82
72
116
112
53
49
47
98
95
93
41
42
41
92
91
92
46
47
49
56
59
116
70
129
75
73
70
118
116
62
52
56
57
57
116
141
112
111
112
25
26
41
119
175
183
41
26
53
65
71
63
67
114
110
57
56
107
58
58
60
61
61
58
56
55
55
103
100
45
42
35
28
21
31
81
26
26
78
27
76
79
83
39
39
92
48
52
60
68
82
80
134
91
151
148
125
56
110
49
38
88
102
102
55
58
60
59
111
57
53
101
91
84
79
75
73
22
21
21
25
31
37
40
50
60
71
79
132
132
53
104
101
46
49
51
106
113
61
59
62
115
110
52
51
47
41
37
33
32
82
84
30
26
77
87
99
55
57
63
114
108
105
98
88
76
71
14
15
70
87
46
44
100
103
55
56
55
53
51
44
93
87
84
29
77
81
30
31
32
34
36
35
81
77
24
25
83
95
113
55
112
64
115
113
59
48
38
88
85
33
32
33
31
36
37
38
40
41
93
93
43
40
89
87
36
39
96
97
105
63
121
206
253
191
176
161
157
203
201
198
149
146
135
190
188
145
144
193
186
118
111
107
112
161
111
116
121
120
121
130
144
161
162
149
202
146
131
174
129
130
113
127
116
79
117
118
80
84
78
78
135
131
73
67
63
112
109
109
58
111
113
62
116
118
124
123
123
71
121
67
61
60
56
53
49
49
49
47
50
48
100
100
99
100
98
100
49
54
115
72
79
140
92
89
138
131
124
116
108
112
103
45
58
142
175
162
122
77
34
105
106
124
139
74
143
196
86
54
51
67
54
57
112
61
60
59
58
59
64
109
55
56
53
50
46
42
87
84
81
27
27
25
77
24
23
23
76
75
76
72
75
24
29
93
58
69
125
79
81
78
77
81
134
159
89
42
89
92
38
83
102
108
62
113
58
58
58
54
51
47
37
30
25
19
18
19
18
16
20
25
30
40
48
58
126
133
137
84
63
111
53
48
47
103
107
59
59
61
113
111
54
49
46
45
43
42
93
89
86
87
86
83
79
74
23
25
28
92
104
109
113
58
56
110
107
48
41
36
30
31
39
43
99
104
54
52
50
45
95
92
38
37
36
33
26
78
84
42
50
109
56
55
46
89
83
83
86
43
48
109
64
64
113
114
64
105
98
90
35
34
36
88
91
40
93
94
43
42
41
91
37
34
33
84
35
38
30
35
42
104
201
255
251
181
142
133
179
178
177
131
131
117
117
112
120
174
123
173
172
171
118
109
162
164
161
154
103
112
191
192
149
159
164
215
146
139
117
108
107
112
149
155
169
173
129
112
61
80
78
84
84
84
84
84
137
132
68
67
119
118
66
65
111
58
58
58
60
59
59
56
61
60
107
105
54
54
55
55
55
104
102
98
96
95
91
92
45
58
123
133
141
99
96
146
140
131
117
108
126
111
123
152
159
135
101
83
41
50
108
124
115
100
110
60
25
124
164
139
73
32
53
55
53
49
45
45
46
114
111
107
49
40
30
25
79
85
87
35
33
29
26
71
70
73
74
75
78
78
78
77
40
56
70
129
80
83
84
141
89
139
136
132
135
144
125
101
86
85
90
109
59
62
62
63
62
65
59
55
50
38
30
24
19
20
22
73
69
69
76
79
84
94
55
124
80
136
135
64
60
52
46
95
96
99
50
54
107
109
53
52
49
50
101
99
47
43
91
36
37
90
89
87
81
29
81
70
69
22
30
43
64
120
121
71
121
117
63
62
58
43
44
43
96
96
45
46
43
93
90
90
39
39
38
29
27
87
104
63
67
68
63
50
87
78
77
26
83
91
101
110
60
61
61
58
111
106
99
93
36
34
87
98
99
98
98
98
96
43
40
39
35
35
33
36
38
31
27
29
37
205
208
204
192
155
191
180
176
121
120
171
164
167
113
120
121
173
175
173
171
115
101
157
162
114
112
114
170
188
188
144
151
150
151
199
196
173
107
100
96
176
134
194
176
104
82
65
70
123
131
84
87
141
143
90
85
73
122
120
122
69
67
60
58
58
110
57
110
110
108
62
58
107
104
105
54
55
50
50
47
96
93
92
90
87
86
91
105
68
131
88
96
93
90
86
128
116
105
125
123
139
157
143
108
85
81
51
51
55
120
101
89
56
45
108
88
111
216
72
62
47
99
98
42
95
98
49
112
108
100
91
82
24
21
73
27
32
35
33
30
26
69
70
72
21
24
26
29
30
87
108
68
75
131
80
83
137
142
143
139
131
124
65
81
144
66
92
86
91
114
112
112
115
118
117
66
113
110
55
45
91
86
30
27
78
77
17
68
74
75
29
91
53
71
79
82
133
114
59
54
46
39
93
94
93
46
104
107
57
55
107
106
104
50
48
45
91
37
37
90
89
87
82
80
29
17
18
19
75
82
105
113
64
67
68
68
68
70
68
57
108
50
46
43
94
43
92
91
91
37
38
38
36
30
77
84
102
116
65
65
59
44
80
72
20
24
81
95
101
105
55
58
59
55
110
111
53
46
89
87
89
99
99
100
99
99
96
95
41
41
37
87
88
90
38
39
31
29
84
255
255
215
201
177
216
204
138
123
112
163
166
166
159
117
117
117
118
134
197
201
188
181
173
119
118
126
184
212
154
138
135
141
189
206
185
161
144
95
103
98
112
167
97
138
141
92
84
71
73
74
132
140
144
141
80
77
81
78
66
65
76
69
61
110
111
114
114
111
112
54
51
48
45
96
95
45
44
43
38
89
86
85
85
82
84
89
95
58
75
84
132
82
85
79
117
109
99
115
148
165
145
110
82
76
93
119
123
66
60
52
97
92
62
113
112
109
104
143
208
101
18
44
96
87
103
109
92
86
88
76
18
18
13
16
16
23
29
31
26
21
22
67
70
20
22
26
31
97
108
128
131
131
132
133
131
134
138
129
120
118
119
60
65
98
94
121
99
91
59
114
110
116
115
114
67
64
113
59
59
56
104
47
47
43
85
19
18
72
70
27
34
46
119
127
77
75
118
62
55
100
92
90
36
91
93
96
49
109
111
112
112
111
57
54
46
44
43
38
90
90
86
82
79
26
15
18
21
78
83
85
34
39
45
56
63
68
67
66
68
120
70
67
113
44
90
86
87
36
36
89
88
29
26
75
80
93
105
57
50
38
30
23
20
20
22
78
48
44
94
94
49
57
50
107
108
109
55
102
97
92
95
95
97
98
44
95
92
40
41
40
42
93
94
43
36
36
86
85
209
212
204
237
220
171
172
140
179
170
167
167
177
180
134
133
130
125
114
110
159
146
103
167
123
127
217
242
179
174
219
168
162
181
183
174
154
127
113
67
129
82
109
103
51
58
61
71
67
125
71
75
135
138
83
80
88
79
77
84
78
64
72
57
103
96
97
100
47
93
95
43
40
39
39
39
41
42
41
90
89
88
89
92
37
40
42
98
55
69
129
129
75
75
71
64
109
48
124
97
150
120
94
88
43
53
71
124
71
68
61
54
103
125
115
117
122
108
38
39
205
137
49
72
100
115
95
73
83
27
30
25
16
66
10
6
60
13
13
10
58
79
18
68
17
26
94
108
117
123
82
131
129
129
77
135
75
113
109
108
60
118
123
68
85
102
154
129
103
62
112
109
57
56
109
64
64
62
63
65
116
115
113
49
48
46
37
82
25
22
26
85
91
56
66
121
122
112
57
103
96
88
85
85
88
90
41
46
110
112
111
116
63
61
110
103
47
46
92
90
89
85
26
23
19
16
70
74
24
29
86
87
89
88
87
87
92
108
62
71
124
125
125
121
113
108
46
41
33
29
78
76
76
15
66
70
82
90
93
39
35
29
75
21
21
23
81
91
42
94
93
44
50
54
55
108
111
111
108
102
97
94
97
98
44
40
37
90
92
91
40
42
95
97
47
96
95
93
39
207
204
244
229
221
224
225
153
134
173
171
175
131
134
185
184
128
125
116
111
161
171
121
117
105
146
167
189
132
160
217
143
139
153
131
110
95
68
102
112
133
83
46
38
33
30
85
123
81
76
59
56
130
138
128
135
137
86
140
136
124
117
94
64
107
46
45
49
48
40
90
91
37
38
38
40
40
46
43
42
92
93
94
97
46
48
49
53
58
68
126
78
77
72
70
67
111
103
126
95
89
111
94
99
106
59
66
120
121
67
63
62
113
123
121
117
118
62
57
58
129
204
88
93
69
105
114
91
26
31
91
75
6
64
64
57
4
6
59
56
2
80
68
70
25
38
103
117
69
125
78
126
122
121
67
71
115
104
105
110
64
69
127
126
76
96
109
147
120
60
55
62
58
56
111
62
60
113
113
116
116
114
62
103
103
102
95
91
35
32
36
39
95
52
61
65
117
54
104
98
94
87
82
82
86
35
39
45
107
111
58
66
65
61
110
103
100
98
95
93
91
86
24
20
18
16
70
73
76
27
32
34
88
86
82
79
81
99
54
64
119
123
124
124
64
61
109
103
94
86
80
22
66
66
12
67
77
85
90
91
84
79
23
72
74
24
32
88
42
43
40
40
43
51
55
111
113
115
114
57
51
45
95
92
38
38
38
89
91
91
40
42
44
99
50
99
98
96
94
188
181
225
224
227
223
218
220
189
171
176
135
186
180
132
181
176
173
119
119
174
150
96
97
94
93
159
171
189
152
154
129
110
123
105
114
114
152
139
139
130
73
132
142
150
142
73
60
105
53
60
51
92
106
136
129
140
135
126
72
91
110
82
118
59
53
53
53
104
98
95
95
45
46
46
48
101
105
52
103
102
104
53
55
60
63
64
62
116
121
127
80
134
128
75
78
66
66
122
130
124
61
67
129
79
76
114
112
110
62
117
121
124
119
118
64
68
73
122
112
98
35
84
195
73
55
59
5
118
103
29
86
86
19
65
59
5
2
0
47
0
85
78
88
103
61
118
122
76
78
76
72
115
109
53
91
88
100
110
64
120
123
125
130
122
126
145
155
157
69
52
69
69
69
73
121
126
76
128
124
123
123
123
108
107
105
107
110
60
62
64
64
114
54
108
57
54
43
92
91
88
83
81
79
29
31
89
93
107
109
110
115
62
59
57
51
47
96
98
96
92
87
77
21
19
19
19
71
74
26
31
34
36
89
39
39
90
39
41
48
52
58
112
112
112
61
114
112
58
108
102
41
23
22
70
70
73
78
79
83
27
75
74
21
72
23
36
81
86
35
31
82
33
39
102
54
61
119
68
68
64
56
46
85
82
89
94
90
87
88
91
93
46
50
56
55
106
105
52
222
224
226
224
216
220
175
201
179
169
125
128
179
178
176
175
171
168
111
111
161
176
105
91
103
124
179
168
143
88
105
129
143
152
187
143
185
165
143
127
108
62
92
151
154
142
70
64
56
49
32
30
41
91
84
149
141
145
114
144
149
119
61
118
66
66
67
65
114
112
106
106
107
57
56
57
110
108
108
105
103
105
106
56
61
117
67
63
117
120
123
78
82
131
79
81
70
75
73
65
109
65
84
147
99
100
133
68
62
114
116
122
126
108
61
60
54
55
116
118
111
63
116
114
88
175
131
29
52
54
104
87
86
21
15
14
11
7
0
0
0
96
108
111
58
60
120
132
77
78
70
62
102
89
81
86
86
100
52
54
109
113
119
126
130
126
132
95
106
97
116
70
69
75
84
130
131
82
84
83
133
133
135
115
115
118
71
73
126
126
118
119
63
53
104
100
97
88
88
86
84
82
78
78
79
82
87
94
106
109
110
113
112
109
55
49
46
95
93
90
89
85
76
71
18
22
22
23
74
24
31
34
35
90
43
46
46
48
49
53
54
50
97
96
63
73
126
126
72
121
116
55
38
54
100
96
91
36
83
83
22
72
71
18
70
74
86
67
70
69
70
74
81
86
92
100
56
118
125
73
73
71
66
108
97
87
85
36
33
86
89
40
46
104
57
60
60
58
109
215
220
219
162
223
170
215
181
175
169
116
122
173
171
116
168
167
167
116
116
169
191
124
111
110
158
143
145
104
123
176
161
158
184
194
149
214
205
167
133
112
46
65
119
134
98
135
131
49
56
41
74
78
89
75
115
125
160
136
138
117
86
123
120
71
70
69
65
108
88
108
107
105
51
49
48
48
48
47
99
99
100
49
51
45
102
56
62
70
131
139
143
94
93
141
134
128
140
87
72
116
123
78
141
97
147
140
80
129
133
83
131
71
73
122
122
71
70
123
125
113
61
108
47
47
70
98
74
0
18
147
141
100
78
3
0
0
0
0
65
80
113
107
113
67
120
119
118
69
73
63
100
91
88
38
40
94
99
104
56
61
117
64
72
77
75
131
91
102
159
150
66
71
75
123
118
124
75
131
138
140
141
142
66
120
121
126
73
72
123
123
121
119
115
112
106
102
96
99
102
104
104
50
48
46
100
105
109
115
112
109
112
109
108
57
57
108
106
99
94
91
85
21
17
14
18
21
23
78
30
35
36
95
97
98
100
101
49
48
56
101
97
97
96
45
101
51
49
104
108
54
50
98
97
97
94
93
37
85
71
25
79
81
30
32
86
89
82
85
90
39
39
92
96
100
103
55
64
70
73
73
68
67
115
50
34
76
76
28
27
29
33
94
51
59
54
56
58
58
141
150
157
158
154
141
180
177
119
113
110
117
171
171
170
167
165
161
109
110
163
157
143
80
76
77
135
141
161
106
112
180
177
161
185
207
204
184
152
139
130
62
37
23
116
107
133
111
71
54
89
86
85
22
91
46
76
185
186
100
91
77
124
125
77
78
76
70
114
101
110
58
57
56
107
106
53
54
107
107
55
54
54
53
99
101
50
52
108
119
122
78
80
77
126
125
124
140
128
121
124
133
140
96
105
102
152
149
144
85
85
138
137
73
63
106
53
55
114
118
54
51
55
54
53
55
62
102
75
42
7
57
114
50
21
0
4
13
32
101
105
131
68
65
61
60
62
65
60
52
35
86
91
98
47
97
98
105
56
59
62
116
66
67
69
122
74
79
83
151
156
128
72
78
79
80
77
80
136
143
143
90
142
121
120
121
127
126
126
127
72
123
117
104
49
49
102
102
103
105
54
54
54
105
108
108
109
108
112
110
108
112
111
107
106
104
102
47
97
92
89
83
21
18
15
21
20
21
76
78
36
40
96
97
101
104
105
56
55
58
109
113
116
67
116
117
110
103
98
42
39
40
44
48
48
49
52
55
108
107
44
41
88
84
29
83
89
29
86
89
40
40
91
92
98
96
46
51
111
117
70
72
123
67
57
46
89
83
28
28
31
34
90
98
54
57
59
62
63
191
189
134
130
183
182
179
179
122
114
108
105
157
158
160
164
113
114
108
102
151
142
138
81
84
86
146
150
148
147
88
135
134
82
143
174
143
208
196
168
132
74
72
70
52
56
128
108
73
89
122
94
87
93
89
76
55
73
157
159
117
97
115
123
76
80
78
75
68
109
114
62
61
60
59
58
57
108
106
104
101
98
95
92
91
91
91
41
101
111
118
69
124
124
125
128
79
94
119
116
127
139
95
103
160
160
154
147
92
94
150
149
92
88
84
81
74
65
59
105
101
98
46
47
53
60
68
85
108
124
136
88
58
11
51
44
43
48
115
129
129
135
66
67
67
62
105
97
29
79
82
90
93
38
34
89
40
46
52
107
111
114
117
65
70
71
73
72
122
113
144
150
81
73
73
82
134
135
139
143
141
84
134
121
118
114
112
60
58
110
55
56
53
45
98
103
55
58
108
110
111
113
113
115
117
116
63
66
120
120
121
115
112
107
106
101
47
45
93
90
35
31
22
73
70
24
22
73
74
77
38
41
41
44
48
104
108
59
113
102
109
119
127
130
122
115
56
96
81
20
16
13
18
32
38
98
107
112
61
62
119
65
63
56
100
93
80
37
90
93
96
96
96
94
36
36
34
37
95
103
63
72
70
66
116
111
52
94
81
83
85
85
34
90
48
60
64
68
123
195
192
189
135
130
126
176
176
122
118
111
101
98
98
96
97
95
95
92
88
139
135
135
134
80
80
135
136
131
139
86
81
88
87
81
84
116
153
219
210
130
128
96
82
78
76
123
140
88
97
149
129
101
87
38
41
24
31
123
150
146
156
169
163
154
86
70
62
55
90
59
57
52
48
46
45
98
101
47
44
93
93
94
96
100
101
49
51
114
122
72
119
124
130
136
141
89
97
121
114
117
132
89
99
157
155
96
94
92
96
154
156
103
90
91
91
88
79
73
121
101
97
42
94
99
51
53
54
82
59
151
182
121
113
11
70
82
82
139
136
124
130
69
62
51
39
82
80
82
86
95
40
39
88
89
94
41
38
39
94
99
103
106
110
69
71
69
121
119
109
118
154
154
133
66
70
126
125
124
123
120
117
63
59
106
102
47
48
48
48
51
51
53
58
112
110
57
58
112
63
117
119
119
118
120
121
71
72
124
122
67
59
56
52
101
98
43
40
40
90
35
33
79
78
77
27
27
78
78
79
86
37
45
47
50
53
57
60
113
104
65
75
81
133
119
110
94
83
76
21
21
20
18
20
22
79
86
92
50
69
123
72
76
76
124
117
100
60
107
102
44
93
88
81
34
37
40
43
97
104
112
115
65
67
117
114
109
50
86
83
80
81
32
88
94
53
57
63
67
206
198
190
185
179
179
181
173
120
117
164
153
151
150
96
95
145
141
88
87
87
89
142
86
81
79
137
84
79
133
131
84
146
145
95
77
104
141
165
169
141
134
203
174
122
111
134
121
158
111
139
134
127
95
77
30
15
30
103
119
138
109
157
129
126
120
68
71
120
100
57
54
100
43
92
92
93
99
97
95
93
94
98
103
107
108
57
60
67
128
126
118
71
79
87
94
145
150
124
113
115
76
140
150
158
154
98
98
95
96
101
160
161
93
90
143
88
84
136
136
61
46
35
89
98
54
108
86
122
88
67
149
184
133
60
32
124
88
77
128
140
121
119
110
42
29
80
31
36
94
95
89
34
38
43
47
45
36
90
91
96
99
102
58
69
71
121
119
119
116
61
97
160
141
120
68
121
121
119
115
111
108
55
55
104
46
46
48
48
48
53
53
108
116
64
61
55
108
110
116
119
122
120
120
70
71
125
126
122
118
114
56
53
49
98
42
40
38
39
38
37
86
83
80
27
29
29
80
81
81
86
37
42
43
45
50
52
106
107
103
63
75
78
79
64
104
94
85
78
77
23
20
13
29
29
80
30
86
97
118
77
78
131
131
73
64
102
123
65
55
48
40
87
79
86
91
96
46
100
106
113
112
64
67
117
114
57
104
38
33
80
78
83
88
91
49
54
60
116
194
142
194
191
183
183
132
134
134
128
170
162
159
155
95
91
140
145
96
147
95
94
91
89
88
88
136
84
78
81
86
89
143
145
144
143
138
140
108
138
159
151
196
203
141
109
136
61
44
106
70
135
82
73
60
19
20
21
26
51
135
83
109
117
123
123
67
63
110
98
107
54
105
51
49
48
98
96
95
96
98
46
47
52
117
119
66
63
65
123
129
82
80
82
85
83
135
149
126
110
114
74
128
133
144
144
92
94
94
95
99
157
163
95
95
146
92
89
140
86
77
74
65
110
53
56
111
82
97
109
119
76
143
158
193
127
88
39
136
68
116
113
90
85
81
34
95
97
102
107
112
112
61
55
47
54
97
88
88
86
86
89
47
53
67
67
117
122
123
65
64
69
138
149
140
73
55
53
107
101
97
95
96
49
49
104
107
53
53
51
49
53
110
120
69
68
68
113
63
116
118
122
121
124
127
123
70
73
114
58
108
102
49
47
45
40
37
37
37
39
41
92
88
34
33
33
84
84
85
85
90
38
37
39
40
43
96
98
110
51
63
75
130
80
68
57
99
91
85
84
30
23
28
35
86
86
89
95
102
118
70
130
130
74
75
72
108
117
66
63
59
54
100
45
42
93
92
97
102
103
104
111
60
63
64
65
63
112
51
45
43
91
86
85
87
102
50
54
111
130
133
138
193
191
189
135
131
183
130
179
174
172
170
99
98
150
151
97
99
154
150
150
149
96
96
145
144
133
137
141
93
95
97
148
146
92
90
83
135
169
133
171
213
141
111
83
67
72
71
68
112
48
43
40
40
18
74
40
65
76
64
118
113
116
117
118
116
112
108
111
112
61
62
115
115
63
61
111
110
111
111
57
59
61
116
117
65
69
77
83
80
81
80
131
128
121
134
134
109
100
63
125
126
129
84
139
140
88
142
145
149
153
101
101
152
148
90
139
84
79
77
77
128
124
121
118
106
112
119
129
131
132
132
124
193
164
67
101
87
41
94
37
44
102
57
64
118
72
131
139
134
79
73
121
69
60
41
83
80
83
40
94
50
62
64
119
122
73
65
69
55
109
129
146
97
125
107
42
47
41
39
42
50
51
51
55
58
58
58
111
111
111
115
65
66
68
59
59
60
63
66
67
68
71
121
68
67
55
48
44
44
44
44
43
38
38
36
90
92
41
41
39
37
39
36
87
87
88
89
90
89
91
92
90
89
89
89
102
52
65
129
82
82
121
58
106
99
93
94
91
34
32
42
39
42
46
51
57
124
86
146
145
83
130
127
73
74
127
74
124
70
64
60
55
105
53
56
107
103
100
110
57
55
60
65
120
117
57
55
53
51
48
97
44
104
103
106
111
127
129
134
190
192
189
134
185
132
183
131
127
177
177
154
152
152
152
95
96
153
96
96
96
95
95
145
143
139
142
144
147
98
97
97
92
94
95
92
87
150
159
142
144
142
128
98
95
35
55
57
61
56
46
35
35
38
38
50
66
68
57
61
110
112
113
116
64
112
112
114
63
66
69
123
124
72
126
70
67
119
117
61
59
55
114
119
70
72
79
81
78
81
74
124
122
112
122
138
117
102
111
123
71
74
81
84
85
139
139
141
145
148
151
100
155
153
96
142
86
83
80
79
132
132
78
76
126
132
81
134
138
139
144
87
122
190
86
61
100
86
47
52
61
112
66
74
78
136
141
142
86
83
133
131
75
67
98
87
83
88
43
43
49
59
63
117
69
70
63
68
103
102
117
137
97
90
64
43
46
47
44
44
50
51
51
108
109
60
59
116
62
113
111
59
61
61
54
56
56
57
63
66
68
68
67
66
61
103
44
38
46
96
43
42
38
88
88
87
90
40
41
38
89
39
35
36
37
38
40
93
92
95
96
93
90
90
88
101
54
66
131
84
85
125
113
111
105
98
95
94
39
33
46
43
42
47
104
112
127
88
99
101
93
139
83
76
126
76
76
74
69
66
61
58
108
58
60
58
106
103
114
60
58
113
119
121
119
62
59
56
57
54
101
101
108
107
110
114
124
123
122
124
182
182
129
130
179
179
131
133
188
193
168
160
101
101
145
88
88
86
88
91
93
94
143
142
149
148
148
148
94
142
87
86
136
82
79
133
89
94
70
83
100
111
174
181
128
95
83
71
64
113
64
101
91
70
54
46
46
56
97
103
50
52
59
62
114
125
121
71
75
80
135
84
84
136
78
73
72
121
115
58
59
68
76
79
78
79
75
69
70
59
59
114
96
45
134
126
105
95
55
64
66
70
73
80
84
86
142
147
150
146
146
145
146
95
150
150
96
95
95
93
93
94
94
157
157
149
93
146
96
97
102
95
75
180
141
114
114
52
62
72
128
132
88
88
149
152
102
102
100
93
138
131
124
111
109
106
53
56
109
110
66
120
122
123
123
64
56
57
103
94
105
122
94
84
66
39
44
47
95
102
102
103
105
108
56
58
59
58
58
54
53
51
51
100
100
48
102
109
63
67
116
67
66
60
106
99
91
49
49
99
97
92
89
89
81
83
33
33
33
87
88
88
89
40
44
47
48
99
103
103
48
45
95
86
97
111
70
128
77
77
117
106
100
97
93
40
45
48
37
47
95
42
99
108
68
92
99
110
163
158
106
103
94
131
80
80
77
74
117
60
109
109
106
108
55
107
105
122
72
76
130
133
131
129
75
69
66
117
117
62
112
112
112
115
120
177
172
117
116
178
181
130
131
181
180
128
131
137
194
188
124
111
107
150
143
138
91
91
143
149
153
109
114
154
152
150
148
146
142
89
88
82
79
83
137
139
89
68
83
141
145
108
101
88
119
133
129
103
138
147
169
193
118
157
149
117
79
59
58
52
101
58
62
106
60
108
119
130
131
74
70
73
129
77
72
63
59
113
121
62
66
71
74
128
124
69
61
65
62
55
52
50
56
106
152
121
38
34
37
37
47
72
85
149
158
162
159
104
156
156
103
151
94
94
149
101
154
155
98
92
88
86
130
130
81
87
89
92
93
147
130
77
127
79
109
201
85
28
67
144
133
74
138
93
92
157
104
98
91
130
137
136
81
72
117
58
53
105
110
68
123
73
125
73
56
56
57
107
106
105
104
130
152
98
38
40
48
96
98
102
103
100
50
56
64
60
61
66
69
70
72
124
112
58
56
108
113
63
62
65
65
65
115
109
106
106
96
97
95
91
90
86
82
76
75
74
78
83
86
90
84
91
95
46
49
54
52
104
107
53
47
41
45
103
99
51
58
63
64
55
53
47
49
49
103
52
52
99
88
86
87
92
55
72
96
166
168
170
116
109
154
141
99
101
98
145
136
125
101
91
86
82
86
91
96
49
63
63
63
119
70
124
123
65
67
67
118
115
63
114
114
113
111
112
172
168
163
112
119
174
175
125
176
175
124
130
188
191
189
176
112
108
99
142
86
88
86
139
143
149
102
106
150
149
96
95
145
143
88
87
81
129
76
78
85
91
121
132
138
143
98
103
113
148
137
120
160
166
181
173
171
165
155
146
148
148
103
78
79
57
81
27
50
57
122
120
68
70
74
76
127
129
75
71
67
66
120
123
120
120
71
72
125
125
123
116
114
107
104
56
55
57
151
149
70
43
38
40
41
50
127
141
149
152
104
105
159
156
158
158
156
153
99
100
153
151
150
93
141
137
136
75
77
79
134
84
83
83
131
127
78
131
76
85
155
171
125
67
116
138
125
130
73
77
156
106
104
148
136
137
85
80
74
68
61
58
108
60
121
124
74
74
74
59
110
110
108
56
55
106
115
142
158
109
41
40
41
40
43
45
45
47
53
60
63
66
121
121
120
118
67
61
58
56
108
113
62
64
66
66
64
62
110
56
107
98
99
96
92
90
35
31
24
73
74
78
31
86
90
85
92
96
100
51
57
107
108
55
104
99
95
101
53
93
98
49
50
101
97
43
93
96
43
45
46
98
93
89
34
34
38
49
67
97
160
110
165
161
104
155
150
101
155
152
93
83
124
49
40
86
81
83
89
95
48
64
64
63
65
66
68
68
64
67
69
69
68
66
118
115
61
110
109
164
161
106
106
109
164
166
111
165
166
116
126
183
187
183
122
114
112
101
95
92
84
82
80
135
86
86
89
92
92
144
92
145
140
137
136
80
127
121
63
123
81
65
131
138
139
151
143
162
125
108
96
98
154
149
138
122
120
115
114
113
129
193
176
85
67
73
73
55
43
126
131
137
132
73
69
124
73
76
75
77
129
128
124
133
131
75
76
79
129
126
115
110
102
105
116
118
65
77
88
71
48
44
48
50
59
121
130
138
139
85
86
140
155
159
163
168
169
113
105
153
148
144
139
132
127
123
111
56
57
60
113
114
113
122
126
130
87
89
85
136
103
171
148
116
93
126
31
0
0
67
90
142
118
90
128
77
76
73
70
69
120
121
123
124
125
126
127
128
65
66
62
61
58
59
58
113
121
144
143
59
42
46
34
34
37
43
48
105
110
64
68
121
118
114
111
56
59
56
105
104
61
63
116
66
118
66
65
59
58
109
103
102
47
93
87
31
27
20
70
71
75
31
33
37
89
94
48
51
57
62
60
61
55
102
101
103
107
108
96
94
38
32
78
83
89
43
96
43
44
45
45
91
86
36
86
84
34
45
72
88
89
145
143
92
147
153
106
107
106
98
88
131
55
45
90
86
87
96
103
60
61
111
108
107
109
59
61
59
113
64
65
68
67
67
117
112
106
101
157
156
103
100
97
98
152
156
158
108
111
119
176
181
169
115
112
115
161
155
153
149
144
143
92
93
86
138
142
141
141
90
141
143
142
139
83
132
77
70
61
65
117
131
135
87
114
128
109
99
96
99
106
158
147
138
138
133
133
134
129
110
71
84
92
138
128
101
89
58
58
109
112
121
136
90
84
71
68
67
65
67
72
133
136
136
137
84
78
124
118
58
113
114
62
66
118
68
109
132
127
52
46
51
55
116
125
126
78
85
140
134
129
157
109
162
115
117
166
105
152
147
142
135
125
112
103
99
77
17
64
66
68
71
32
102
55
111
61
75
94
101
186
229
177
140
66
1
94
70
35
34
42
95
87
114
62
61
62
64
66
67
75
127
130
130
129
129
129
118
65
59
58
58
111
59
62
106
112
160
156
73
45
20
19
20
25
33
94
98
104
108
62
64
113
107
53
56
54
106
53
57
58
111
113
113
62
111
56
106
105
46
97
95
36
29
77
21
20
70
71
76
83
34
37
89
43
48
50
56
61
56
53
103
50
51
107
54
102
99
92
30
24
75
87
41
43
43
95
43
43
43
90
83
86
88
35
30
82
32
36
45
58
67
129
87
149
147
96
95
91
86
77
58
48
94
92
98
108
115
125
67
63
109
104
102
98
43
48
98
98
100
51
54
53
61
109
104
48
158
158
157
152
94
95
149
152
154
105
108
115
172
177
166
112
112
117
114
108
159
155
151
149
149
96
88
88
144
142
87
87
139
144
145
141
136
80
129
73
66
67
124
127
133
97
117
104
150
148
94
93
96
97
93
83
151
141
128
120
123
123
89
75
33
125
131
156
129
68
125
117
110
61
75
86
86
124
110
54
55
64
78
143
137
139
139
131
123
64
59
58
113
115
116
119
119
120
100
130
133
113
53
55
56
115
128
124
71
75
80
136
137
159
113
111
113
116
113
159
149
141
136
128
66
53
96
93
21
13
8
62
64
65
22
39
49
107
109
76
105
59
98
112
149
85
75
9
19
19
34
38
44
102
102
59
58
58
59
61
65
66
74
77
79
131
130
77
76
65
114
110
56
55
57
60
112
107
107
146
161
141
60
17
14
10
17
25
34
40
45
50
110
61
110
106
50
55
106
107
55
58
109
108
59
60
58
110
105
104
51
46
97
93
87
81
25
22
71
70
70
77
32
33
90
90
42
98
101
52
56
54
101
102
102
55
58
54
50
44
88
78
75
77
90
94
96
96
44
44
42
41
88
85
86
87
34
30
81
78
24
34
46
109
118
130
141
133
136
137
81
76
72
54
101
94
39
98
108
61
69
113
111
108
54
52
103
47
100
96
40
95
98
101
101
62
111
56
54
172
163
103
106
105
99
147
148
92
91
94
152
105
111
162
110
164
166
113
108
158
154
101
99
98
96
88
85
142
139
136
83
138
140
139
137
81
79
128
76
128
127
130
125
88
110
105
95
156
147
95
93
143
142
138
82
153
144
81
70
118
118
130
142
87
116
93
50
87
194
166
163
96
125
108
53
61
66
60
60
65
122
133
141
88
79
70
118
115
59
55
110
110
61
114
117
64
64
92
120
139
76
55
108
112
55
72
71
67
70
72
134
147
160
116
169
169
118
116
109
145
137
129
64
53
45
33
83
21
17
16
17
19
19
26
29
86
88
52
66
90
69
53
107
61
54
144
87
69
28
0
0
7
23
122
102
43
52
105
101
51
58
70
72
77
80
128
124
120
116
60
102
47
49
103
53
54
50
48
41
72
149
146
92
78
10
58
62
18
28
88
92
95
103
102
101
99
60
114
111
106
107
110
109
59
58
55
105
102
49
48
48
98
43
39
29
26
27
75
76
75
25
34
39
91
95
96
100
50
52
56
107
95
105
61
61
113
56
47
92
82
74
78
87
93
93
96
98
99
99
43
40
84
81
81
30
29
29
31
32
27
29
86
94
97
48
115
111
112
113
60
58
105
96
44
42
40
90
91
100
109
102
103
51
51
52
107
112
70
65
110
103
98
95
93
119
117
115
62
182
173
114
111
106
102
152
145
90
90
144
145
95
99
101
101
154
153
100
99
149
142
91
89
91
90
136
82
84
134
134
82
82
134
133
133
79
75
75
76
127
126
128
134
94
95
133
132
138
140
139
85
82
132
129
129
61
65
72
134
144
151
150
94
135
77
74
59
46
123
165
197
203
164
125
59
48
48
123
145
151
139
124
109
64
59
56
108
108
53
52
108
56
56
109
109
57
55
35
50
88
96
69
110
52
26
40
45
55
117
71
132
140
157
110
163
162
109
108
157
136
129
122
110
50
41
32
28
23
72
20
21
18
17
20
28
76
84
36
62
127
151
69
87
75
40
41
133
178
79
1
0
0
6
71
92
39
85
88
97
51
54
65
68
74
76
74
71
120
112
109
101
98
97
98
46
42
94
45
32
38
60
125
125
97
75
76
71
69
20
79
30
87
96
100
102
102
109
59
60
108
113
114
115
62
60
57
55
53
50
49
53
105
51
47
41
37
89
84
83
84
32
39
41
93
93
94
94
97
49
99
94
99
56
60
59
56
47
36
82
78
78
83
87
93
44
44
45
96
95
91
88
81
78
77
25
77
76
26
27
26
28
84
91
42
41
47
34
87
91
42
47
102
105
46
45
92
87
84
83
86
77
83
41
48
56
62
117
69
71
125
127
124
120
115
130
123
116
61
136
178
167
111
102
100
153
146
143
143
146
144
93
95
98
97
149
145
141
88
88
82
81
134
84
86
134
79
134
132
129
76
77
77
76
129
75
74
74
74
73
72
70
77
137
135
74
84
134
139
136
80
78
127
126
73
46
54
119
138
151
159
150
91
80
66
61
76
89
58
105
155
187
168
134
121
117
63
75
137
148
142
124
43
57
55
54
108
56
53
51
54
52
55
54
54
51
51
40
54
95
154
70
60
63
39
4
29
56
52
42
64
98
97
104
106
156
101
150
147
129
72
66
55
49
42
31
24
22
20
19
19
70
68
17
22
18
29
30
50
122
170
66
87
75
68
101
111
192
166
38
21
0
18
57
35
47
43
92
97
50
47
116
117
122
123
70
67
65
59
108
98
95
95
44
40
97
93
45
88
84
95
112
83
63
86
69
76
76
73
77
28
32
43
99
102
104
110
61
113
111
117
120
65
115
114
112
58
109
108
105
111
108
55
53
98
94
42
88
87
35
36
93
92
91
41
91
90
93
45
42
90
103
58
60
110
55
42
30
25
78
81
84
86
40
42
96
45
43
93
89
84
80
75
74
23
73
74
24
25
76
78
82
38
93
91
93
91
40
42
95
99
50
57
51
100
96
89
82
79
78
68
23
33
44
53
114
120
133
79
129
77
127
127
75
83
74
64
59
147
182
166
104
155
153
151
153
149
97
148
147
146
149
148
96
147
142
72
123
120
118
68
72
76
79
78
74
135
130
71
66
64
65
65
119
68
118
68
68
66
116
64
59
112
114
65
73
65
125
72
71
67
64
115
60
52
59
118
126
131
133
131
79
73
74
80
76
70
101
137
122
54
114
150
182
131
155
88
124
109
89
30
42
51
50
52
105
51
47
47
56
54
55
106
105
49
47
26
75
128
188
173
181
194
187
92
49
66
15
53
127
63
83
92
99
96
88
134
80
62
59
56
101
99
42
85
75
19
18
17
15
66
64
67
17
15
28
80
78
62
101
66
89
92
127
150
135
85
70
101
106
53
32
38
54
57
43
32
37
50
60
62
115
114
115
61
58
55
58
53
40
38
93
93
92
47
95
91
95
33
79
33
87
91
66
52
71
83
77
78
26
29
39
95
100
101
106
57
112
112
121
71
71
70
122
68
68
68
117
114
116
116
61
59
51
46
46
41
40
38
88
88
87
32
38
37
89
36
36
40
40
109
112
113
108
55
36
20
18
75
28
80
82
38
38
91
90
89
87
84
31
79
74
75
73
74
75
24
27
77
76
29
37
41
94
95
100
49
48
50
103
54
58
53
104
100
93
87
82
81
79
30
36
40
49
58
118
127
129
132
82
135
131
75
87
85
84
84
159
136
163
154
161
158
155
155
99
96
96
94
149
152
88
144
145
88
69
116
112
113
61
66
125
130
77
76
93
137
126
63
59
62
118
115
63
114
63
64
112
110
110
106
112
119
119
73
78
125
73
72
70
68
62
55
70
68
114
105
99
95
61
68
142
151
141
132
78
60
83
75
145
169
155
72
82
126
99
144
146
137
79
81
55
57
110
111
60
58
59
60
111
111
110
107
104
101
133
172
157
151
129
140
145
150
46
151
200
122
72
111
64
63
64
68
119
113
112
63
47
46
98
95
42
90
83
77
18
15
14
13
13
10
13
77
73
19
78
76
81
82
94
144
146
151
154
134
25
30
64
160
140
62
41
37
22
25
89
95
47
53
60
112
109
108
106
102
99
51
45
35
89
96
51
52
104
112
109
105
47
38
40
90
146
144
79
53
59
80
76
25
26
30
86
37
39
98
50
54
107
65
66
66
69
121
121
70
69
66
65
122
69
118
63
54
102
98
45
42
93
90
34
32
81
85
35
88
84
29
94
101
111
114
113
109
106
85
70
26
28
27
77
83
39
37
84
85
32
30
82
81
28
81
81
82
82
85
85
37
34
30
29
33
39
93
95
108
55
54
52
102
49
99
46
43
92
88
84
85
87
41
45
103
106
106
106
105
104
49
46
45
48
104
110
58
65
74
77
226
186
155
147
145
150
154
106
107
109
108
96
147
149
148
96
143
84
60
98
89
86
36
43
98
50
100
45
67
61
57
55
56
118
72
66
119
64
62
112
108
109
103
103
105
112
117
123
128
125
126
74
72
65
61
57
112
111
109
110
115
121
76
123
130
135
131
127
77
81
116
65
117
119
72
77
76
121
153
165
189
113
146
43
78
138
128
103
80
72
19
16
98
103
108
121
111
65
192
141
139
113
143
167
189
176
127
144
179
184
106
133
127
52
60
71
85
87
125
100
16
16
31
44
56
61
60
95
34
27
23
22
72
74
26
20
78
72
60
79
117
145
150
140
86
102
153
135
29
25
4
90
151
95
62
0
0
104
110
59
60
44
94
93
109
110
101
86
77
100
44
87
91
90
91
91
94
37
36
31
83
31
29
70
82
53
102
78
79
94
104
98
39
43
87
93
57
104
60
61
58
64
62
60
58
61
117
121
70
70
123
128
127
125
124
63
110
106
105
49
45
41
34
31
81
87
36
32
29
27
83
94
101
105
107
108
105
77
76
76
24
27
31
38
39
37
38
87
82
25
22
72
22
79
29
31
84
84
31
35
34
34
29
82
88
92
94
53
55
105
102
105
108
112
58
57
53
49
95
93
40
45
44
44
46
101
105
106
104
50
42
33
29
31
93
106
60
68
71
200
176
162
159
151
102
157
104
104
105
159
150
150
154
150
98
147
88
114
102
92
88
92
43
47
51
49
95
71
64
62
61
60
113
116
66
66
65
114
112
111
112
108
107
111
115
68
74
131
130
130
127
72
69
67
70
125
125
73
74
75
77
130
137
136
136
134
133
134
130
119
123
127
127
131
130
72
47
103
74
164
140
190
119
85
99
75
35
103
107
57
62
43
48
45
23
34
86
122
130
116
100
153
150
147
156
156
104
79
70
88
96
85
73
64
48
36
30
30
36
62
59
43
30
37
43
37
90
80
76
71
69
69
19
18
76
71
72
69
64
62
0
70
153
143
76
137
100
52
26
89
33
35
110
136
48
82
77
88
50
43
111
107
102
98
98
97
93
91
94
92
84
88
36
37
90
42
37
36
84
83
29
79
77
80
90
121
66
98
79
43
37
27
27
34
88
91
44
102
102
47
55
53
54
59
116
119
71
69
66
66
77
127
126
124
63
58
106
50
99
42
38
31
28
26
31
33
29
27
26
31
94
51
54
55
54
101
71
17
18
71
73
78
84
38
39
39
36
85
29
26
25
24
30
33
35
88
89
36
39
39
38
86
86
96
100
51
54
108
106
101
99
48
97
100
100
50
48
46
43
44
39
37
34
32
84
83
82
77
26
77
19
63
60
60
61
18
31
41
180
172
120
174
159
112
168
115
112
110
107
97
96
99
89
88
139
80
58
46
89
31
31
34
38
41
38
31
61
109
109
113
64
63
115
117
119
119
118
116
115
115
118
117
118
70
74
74
129
130
128
128
125
125
77
87
138
140
89
90
89
87
130
125
121
117
119
121
122
115
126
128
127
122
69
122
69
60
63
58
50
56
89
184
129
141
136
116
102
111
124
129
68
33
8
34
86
120
180
82
147
190
173
131
119
61
125
128
139
133
62
112
71
30
1
0
56
73
82
100
94
104
63
54
30
13
60
83
78
74
69
67
68
70
22
20
83
89
85
40
61
83
58
99
48
60
63
105
32
53
95
28
38
48
55
207
186
72
77
75
112
100
119
60
89
87
42
50
55
93
91
81
87
86
34
36
88
86
32
79
25
23
71
70
73
26
58
76
70
54
82
27
32
30
34
94
91
43
47
96
98
105
53
59
118
121
126
127
71
69
67
75
126
124
123
62
57
53
46
43
39
36
30
28
26
35
36
85
31
32
90
101
53
56
105
50
95
66
13
22
24
76
78
81
86
35
39
38
89
86
33
31
31
31
86
37
90
90
91
94
40
41
89
92
103
54
55
109
111
105
97
92
39
34
94
97
100
47
45
40
90
89
87
29
28
79
27
24
27
78
23
73
70
69
70
61
62
62
61
185
127
179
177
109
112
166
171
115
112
108
149
96
99
132
131
79
73
105
43
35
26
26
28
32
35
30
22
108
104
103
57
63
65
65
66
120
120
119
118
66
67
72
70
72
73
74
71
72
128
126
124
73
74
133
143
140
141
94
95
145
140
133
73
119
62
117
64
113
110
128
130
128
124
68
71
72
61
61
120
122
53
48
83
160
166
172
162
139
111
91
108
40
21
99
154
179
170
98
41
107
147
124
45
54
50
60
114
116
64
112
102
95
27
64
0
47
51
62
30
73
76
46
51
36
17
56
85
80
77
75
21
21
73
79
20
31
35
30
42
69
44
89
86
95
130
106
164
68
32
115
78
49
33
1
99
218
83
75
67
43
103
67
63
94
38
42
51
56
42
40
83
86
86
34
35
87
32
29
25
23
18
67
66
72
77
100
66
73
71
82
73
26
32
36
47
46
44
44
96
99
106
106
114
69
72
127
127
124
122
122
126
125
123
122
61
56
51
44
42
38
36
32
31
81
89
92
88
86
86
90
103
53
56
106
102
43
64
64
24
25
26
78
78
84
35
39
39
90
90
35
35
33
29
32
34
36
89
90
94
42
40
89
92
50
52
106
111
57
52
43
39
36
34
41
43
97
97
92
89
86
38
87
83
30
80
80
79
22
21
17
14
13
66
69
70
68
65
11
226
163
208
196
120
121
118
118
166
111
107
96
97
100
116
67
119
116
48
42
35
27
78
28
30
33
26
68
53
99
46
51
58
61
62
121
122
72
124
70
69
70
79
76
75
77
74
67
65
69
67
67
70
126
80
92
91
147
148
149
148
144
141
129
124
119
66
58
99
98
115
120
71
121
66
65
66
62
73
130
122
71
79
76
121
174
202
183
168
166
134
56
107
184
218
192
165
130
16
90
105
42
24
31
44
95
42
38
39
42
45
43
39
26
35
29
63
42
28
0
14
45
30
5
9
77
80
88
91
91
39
39
37
34
25
32
26
30
41
40
38
34
21
31
77
60
58
63
5
16
146
107
10
27
18
58
95
173
96
93
77
90
47
58
114
112
54
46
42
45
42
32
88
89
87
38
34
32
84
26
22
19
14
27
81
30
39
48
64
82
136
93
81
40
39
45
43
39
90
90
95
100
102
113
69
70
123
121
120
122
124
124
123
121
68
59
53
49
42
40
38
89
89
88
87
90
92
36
33
34
89
50
53
55
53
101
44
14
67
69
71
21
74
75
84
37
39
41
93
93
41
38
38
24
27
82
34
35
89
90
42
40
90
91
48
50
102
113
110
49
40
34
34
34
34
87
89
88
86
84
84
89
87
83
79
79
77
74
23
22
21
73
73
71
70
77
76
74
73
174
172
169
160
129
122
121
117
164
159
103
94
146
95
59
63
63
61
55
49
93
39
36
86
36
38
28
22
45
43
45
50
56
61
117
118
121
123
73
73
70
69
131
79
78
128
123
118
67
62
113
62
67
125
81
92
102
157
154
150
93
142
134
124
120
115
111
106
102
94
48
48
50
53
55
54
59
68
121
125
75
75
77
129
145
128
49
63
151
184
139
91
104
172
114
145
125
42
17
85
106
47
71
73
88
84
33
87
85
87
95
95
91
26
76
75
66
59
57
0
0
0
0
15
23
70
5
19
43
49
54
61
63
56
46
35
34
36
35
41
44
42
91
87
31
81
27
76
26
24
71
146
53
28
37
47
38
65
213
163
98
85
74
95
134
132
60
30
29
47
46
43
91
92
95
94
43
89
87
30
31
33
36
103
51
52
53
54
60
123
142
135
63
33
40
45
40
47
96
93
92
99
107
59
116
118
121
121
70
69
66
68
66
64
62
55
50
47
92
39
90
89
87
35
36
33
34
35
36
34
92
101
52
56
110
107
99
18
21
77
77
77
24
77
85
36
92
43
44
94
94
94
87
25
27
28
30
33
89
39
41
40
91
95
48
51
49
109
54
50
43
88
32
32
82
86
36
39
39
93
91
89
82
79
78
75
21
19
72
69
67
68
70
69
15
71
72
71
16
173
170
165
159
136
178
174
167
162
156
100
93
144
146
56
61
64
64
58
52
44
96
93
92
92
94
34
28
45
42
43
50
56
60
116
121
124
74
128
129
125
122
129
80
80
130
123
115
117
111
114
119
73
77
82
91
103
105
101
144
138
135
127
122
121
116
112
108
107
99
98
43
43
45
48
51
58
121
123
125
127
129
131
133
130
131
54
38
102
93
188
100
96
92
78
64
108
80
13
83
107
104
79
73
29
23
81
85
82
85
90
93
92
23
22
21
68
19
70
6
0
0
33
56
22
72
52
72
25
41
58
65
68
120
53
36
35
34
36
38
44
44
95
95
39
39
86
84
81
37
43
92
133
30
36
36
54
50
70
154
147
76
93
97
106
121
122
25
14
45
99
95
94
44
47
46
99
95
91
92
95
97
98
120
67
117
113
62
62
67
134
152
141
83
39
46
40
45
93
89
87
96
52
58
61
120
72
69
68
66
66
67
65
115
113
54
50
47
40
39
38
37
34
35
35
34
33
87
36
34
39
100
106
111
60
57
103
22
22
26
80
78
80
80
86
39
95
99
48
99
98
95
88
78
28
29
32
36
40
46
97
95
43
45
48
102
50
55
53
101
93
35
31
31
28
82
35
39
94
96
94
89
84
79
75
73
19
16
65
14
65
67
71
70
17
14
67
67
12
162
209
207
206
186
173
164
164
158
149
92
84
85
89
44
102
109
60
115
114
110
106
106
52
52
103
96
92
98
44
46
53
60
65
69
74
75
77
128
130
128
75
82
77
125
130
131
121
118
121
76
85
142
89
89
92
97
95
88
76
68
65
61
54
56
59
115
113
111
96
45
44
47
103
51
53
55
65
122
129
135
134
135
133
52
51
58
135
128
114
145
159
130
102
31
85
33
12
63
79
98
101
87
82
84
86
77
80
81
31
86
93
97
53
70
28
80
79
68
51
13
31
76
56
41
26
26
104
50
50
72
94
57
116
109
35
84
86
89
91
45
36
95
99
47
48
97
95
94
30
24
58
155
116
23
32
40
62
73
28
89
165
67
90
111
87
89
83
90
94
96
97
45
46
50
104
107
101
101
110
64
67
67
133
133
131
73
74
71
72
128
146
102
57
90
92
102
101
100
94
92
48
53
58
58
65
70
120
59
60
61
65
114
111
109
104
49
47
42
41
39
38
35
35
87
90
90
91
90
35
40
101
108
113
62
63
111
33
31
81
82
81
80
81
92
96
106
57
61
111
58
54
94
85
34
87
87
92
44
103
103
102
50
51
103
105
107
105
104
99
42
34
28
27
27
31
36
40
94
93
91
91
83
76
21
70
66
15
5
7
9
61
63
64
66
5
8
9
4
220
219
220
218
192
174
167
163
153
141
129
122
75
82
40
45
103
108
63
65
116
113
112
112
60
61
107
103
93
40
43
51
59
68
72
74
73
125
127
128
75
77
80
130
80
136
135
138
90
98
99
156
159
157
100
90
87
83
72
57
47
44
43
48
49
52
108
109
110
49
40
42
99
105
108
108
59
116
117
120
122
121
71
71
74
89
142
135
64
69
171
106
80
57
47
45
23
0
8
76
89
40
89
83
82
89
69
19
76
82
87
90
42
0
50
0
47
48
61
72
67
63
60
51
0
0
54
26
26
73
63
73
90
100
107
83
81
84
89
93
97
75
83
89
92
97
96
95
42
34
19
70
111
137
41
52
25
22
35
57
104
93
155
183
72
37
42
108
93
95
96
96
44
45
48
101
98
45
102
109
115
122
125
134
140
139
72
75
76
80
132
132
86
94
120
96
91
113
113
116
65
63
62
63
63
66
68
116
114
58
54
63
60
56
54
102
48
47
46
96
95
93
89
37
37
90
90
91
38
33
38
98
107
112
63
67
69
42
39
36
87
85
86
88
99
104
115
121
73
74
72
69
107
109
107
51
99
99
100
52
106
105
107
105
104
106
113
106
105
101
94
85
26
23
20
24
30
35
91
89
88
88
81
76
75
70
14
10
9
9
8
58
58
11
70
72
26
31
29
227
228
229
227
195
179
172
163
152
86
75
118
124
131
94
47
104
107
114
116
116
115
115
114
62
64
109
106
39
88
92
50
111
67
71
73
125
126
74
127
127
127
127
133
85
86
82
142
102
106
159
161
162
162
104
89
85
79
66
52
40
35
35
39
39
37
39
94
96
95
94
96
100
106
109
113
118
117
114
61
114
114
64
67
142
138
129
134
73
75
169
147
74
55
53
49
21
0
57
74
34
92
90
81
79
33
15
15
20
81
34
89
92
6
0
0
30
36
9
32
12
6
55
45
47
9
78
0
8
48
97
72
74
101
105
82
80
85
36
94
96
20
28
33
90
42
44
43
38
42
12
7
90
136
102
64
88
50
40
51
110
104
87
200
81
81
43
87
78
42
44
45
42
45
47
98
93
96
48
53
58
66
73
129
138
138
66
69
124
126
82
132
85
102
81
101
82
108
60
66
72
127
126
71
67
69
67
118
117
112
55
62
59
107
105
101
100
99
99
97
95
93
89
89
38
88
88
88
36
32
35
96
107
111
115
120
71
45
44
37
88
89
89
38
51
56
67
124
77
78
130
126
112
118
113
56
52
102
103
53
53
53
107
55
54
56
62
55
54
101
94
85
78
19
15
19
27
33
36
89
88
87
29
24
22
71
14
10
4
4
56
58
61
18
29
37
44
48
45
174
220
212
202
133
137
143
122
98
81
125
113
64
68
39
45
101
100
102
51
107
114
68
72
75
77
69
66
126
119
113
113
114
60
62
117
121
127
132
135
135
134
140
139
142
95
98
100
105
160
109
164
160
154
103
88
81
70
114
108
49
48
41
40
41
93
91
89
89
88
91
93
95
99
101
104
108
108
107
55
57
62
122
127
146
140
140
128
90
77
82
131
169
129
87
14
0
0
23
82
31
27
29
85
94
104
14
3
8
6
12
32
42
19
7
2
5
0
0
3
4
2
10
15
4
0
49
39
56
5
0
0
0
74
99
85
84
95
97
85
18
38
38
35
35
34
34
32
29
36
35
29
37
92
170
82
23
44
35
31
94
98
92
54
171
147
69
27
48
69
47
17
30
98
104
59
105
99
96
47
51
60
69
62
69
76
128
128
124
71
123
125
124
137
145
88
127
90
101
111
124
140
137
144
128
123
115
112
110
112
112
105
104
101
101
103
104
107
108
106
106
105
97
96
94
90
91
92
42
40
39
40
102
109
114
111
57
40
27
29
32
29
32
40
98
108
65
120
123
124
120
116
49
50
46
43
44
43
42
48
50
52
52
51
48
47
49
45
43
93
90
84
78
76
25
26
27
28
29
29
28
26
26
25
23
73
71
67
9
66
66
63
71
27
91
102
110
56
100
159
158
212
209
138
133
131
139
106
83
130
120
119
68
91
98
102
49
102
104
107
115
121
72
125
127
120
66
129
123
118
119
120
66
67
70
73
130
132
134
132
130
137
137
89
95
100
105
110
113
115
170
113
155
151
128
119
108
101
99
44
47
41
39
41
40
91
90
90
89
93
95
97
101
103
106
111
114
61
59
110
58
114
118
130
135
128
115
126
114
62
133
167
126
79
0
0
47
23
30
31
27
29
85
42
52
14
0
1
0
4
26
37
17
5
52
4
0
0
2
11
10
17
22
63
48
45
29
50
46
56
22
25
80
98
84
84
95
98
86
21
38
38
35
35
86
86
32
29
38
34
43
81
106
168
128
99
40
31
29
94
97
121
167
186
170
163
142
68
14
56
48
32
37
98
46
99
41
93
94
42
51
59
52
109
114
111
114
113
113
120
123
121
129
143
152
154
101
105
116
131
147
95
149
138
131
70
115
108
107
106
100
99
97
98
103
105
108
109
107
107
106
100
98
97
89
91
92
43
41
38
39
100
106
58
106
54
45
36
31
33
30
32
39
47
58
124
128
132
134
131
128
62
62
57
52
49
45
42
44
46
47
48
46
43
42
44
41
92
91
90
83
77
74
23
24
25
26
80
28
27
27
27
26
25
23
73
70
17
26
84
38
46
55
63
115
121
114
103
