components
3
height
149
width
227
48
47
45
48
47
45
49
48
46
50
49
47
53
49
46
53
49
46
54
50
47
54
50
47
56
51
47
56
51
47
58
51
45
58
51
45
58
51
45
58
51
45
58
51
45
58
51
45
58
50
47
57
49
46
57
49
46
56
48
45
56
48
45
57
49
46
57
49
46
58
50
47
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
54
46
43
54
46
43
54
46
43
53
45
42
53
45
42
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
52
44
41
50
45
41
47
42
36
47
44
37
47
44
37
48
45
38
49
46
39
50
47
40
51
48
41
51
48
41
54
51
44
54
51
44
55
52
45
56
53
46
56
53
46
57
54
47
58
55
48
58
55
46
65
58
48
66
60
48
68
62
50
70
64
52
73
65
52
74
66
53
75
67
54
75
67
54
77
68
53
77
68
53
79
67
51
78
66
50
79
67
51
79
67
51
80
68
52
82
69
53
82
63
49
89
63
50
98
64
52
110
66
53
125
69
54
139
72
56
153
71
57
163
70
55
175
71
58
184
71
57
190
69
58
197
71
59
199
71
62
202
71
63
203
72
64
208
69
64
231
70
76
237
67
76
235
68
75
235
69
73
238
67
73
239
66
68
241
62
66
244
61
65
248
59
65
247
58
64
244
58
63
240
60
63
233
63
64
226
64
62
215
63
60
203
65
55
187
61
47
181
64
46
181
64
46
180
63
45
180
63
45
179
64
45
178
63
45
175
64
45
173
64
44
170
65
44
166
65
45
162
66
44
159
64
42
155
65
41
152
64
42
150
65
44
148
62
45
146
63
47
146
63
47
145
62
46
145
62
44
144
61
43
146
60
43
146
60
43
148
63
43
148
63
43
148
61
42
148
61
42
148
61
42
149
62
43
150
63
44
150
64
47
150
63
54
149
62
53
151
61
50
159
63
49
169
66
51
179
68
51
188
68
52
191
68
52
185
63
48
181
65
50
172
70
56
158
72
59
135
72
57
111
65
50
84
56
42
67
51
38
61
53
50
57
53
52
57
53
52
55
51
50
55
49
49
54
48
48
53
48
45
53
48
45
55
50
47
55
50
47
55
50
47
54
49
46
54
49
45
53
48
44
53
48
44
52
49
44
47
47
45
46
48
45
47
47
45
47
47
45
48
47
45
48
47
45
50
46
45
50
46
45
53
44
45
52
43
44
52
42
43
51
41
42
55
40
43
61
46
49
69
54
57
80
58
60
106
66
67
124
73
72
141
77
77
149
79
79
159
87
91
170
100
110
170
111
131
159
116
144
148
123
163
135
127
174
128
134
186
126
136
189
115
121
173
96
97
145
84
75
118
80
68
104
83
74
103
79
71
94
77
72
94
84
81
98
102
100
111
124
125
130
141
145
144
153
158
152
163
169
159
162
168
154
158
160
147
143
146
129
123
124
108
102
103
85
88
87
69
81
78
69
85
82
91
85
81
98
85
81
98
48
47
45
48
47
45
49
48
46
49
48
46
52
48
45
53
49
46
54
50
47
54
50
47
56
51
47
56
51
47
58
51
45
58
51
45
58
51
45
58
51
45
58
51
45
58
51
45
57
49
46
57
49
46
56
48
45
56
48
45
56
48
45
56
48
45
57
49
46
57
49
46
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
56
48
45
54
46
43
54
46
43
53
45
42
53
45
42
53
45
42
52
44
41
52
44
41
52
44
41
53
45
42
53
45
42
53
45
42
53
45
42
53
45
42
53
45
42
53
45
42
51
46
42
48
43
37
48
45
38
48
45
38
49
46
39
50
47
40
51
48
41
52
49
42
52
49
42
54
51
44
54
51
44
55
52
45
55
52
45
56
53
46
57
54
47
58
55
48
58
55
46
64
57
47
65
59
47
67
61
49
69
63
51
72
64
51
73
65
52
74
66
53
74
66
53
76
67
52
76
67
52
77
65
49
77
65
49
77
65
49
78
66
50
79
67
51
81
68
52
80
62
48
85
63
49
94
65
51
106
67
52
120
68
54
132
69
52
146
69
53
156
67
51
167
67
52
175
65
52
181
65
52
188
66
55
192
68
58
196
69
60
197
70
61
205
67
64
225
69
73
231
66
73
232
67
73
234
68
72
237
68
71
239
66
68
243
64
67
246
63
67
248
59
65
247
58
64
244
58
63
240
60
63
233
63
64
224
65
62
213
64
60
202
64
54
185
62
47
181
64
46
180
63
45
180
63
45
180
63
45
178
63
44
176
63
45
175
64
45
173
64
44
169
64
43
166
65
45
161
65
43
159
64
42
155
65
41
152
64
42
150
65
44
148
62
45
146
63
47
145
62
46
145
62
46
145
62
44
144
61
43
146
60
43
146
60
43
148
63
43
147
62
42
148
61
42
148
61
42
148
61
42
149
62
43
150
63
44
150
64
47
148
64
53
149
62
53
152
62
51
160
62
49
171
65
51
181
68
52
189
67
52
191
68
53
187
65
50
183
67
54
172
70
56
156
73
59
133
71
58
108
64
51
83
57
42
66
52
41
62
54
51
58
54
53
57
53
52
56
52
51
56
50
50
55
49
49
54
49
46
54
49
46
55
50
47
55
50
47
55
50
47
54
49
46
54
49
45
53
48
44
53
48
44
52
49
44
47
47
45
46
48
45
47
47
45
47
47
45
48
47
45
48
47
45
50
46
45
50
46
45
51
45
45
53
44
45
52
42
43
51
41
42
53
41
43
60
45
48
67
52
55
78
56
58
100
62
61
118
69
65
134
74
73
143
78
76
154
84
86
164
97
106
165
108
125
157
114
142
145
123
162
134
128
174
127
133
185
123
132
187
111
117
169
91
91
141
81
72
117
79
67
105
79
70
101
79
71
95
80
72
95
82
78
95
91
89
102
110
111
116
131
135
136
148
153
149
153
158
151
154
160
148
153
157
143
143
145
131
126
127
111
106
107
89
93
91
76
86
83
74
88
83
90
86
82
97
88
81
97
47
46
44
47
46
44
48
47
45
49
48
46
52
48
45
52
48
45
53
49
46
53
49
46
55
50
46
55
50
46
55
50
46
55
50
46
57
50
44
57
50
44
57
50
44
57
50
44
57
49
46
56
48
46
55
47
45
55
47
45
55
47
45
55
47
45
56
48
46
57
49
47
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
54
46
44
53
45
43
53
45
43
53
45
43
52
44
42
52
44
42
52
44
42
52
44
42
53
45
43
53
45
43
53
45
43
53
45
43
53
45
43
53
45
43
53
45
43
51
46
42
50
45
39
49
46
39
50
47
40
51
48
41
51
48
41
52
49
42
52
49
42
53
50
43
54
51
44
54
51
44
54
51
44
55
52
45
56
53
46
57
54
47
57
54
47
58
55
46
63
56
46
64
58
46
66
60
48
68
62
50
71
63
52
72
64
53
72
64
51
72
64
51
73
64
49
73
64
49
75
63
49
75
63
49
75
63
47
76
64
48
77
65
49
78
66
50
77
65
49
81
65
49
89
66
50
100
67
50
113
67
51
124
67
50
135
66
50
146
65
48
152
60
45
160
58
43
167
59
46
175
61
50
181
64
54
186
68
58
191
70
61
197
68
62
217
67
69
225
64
70
227
66
71
231
66
70
234
68
70
240
67
69
244
65
68
248
63
68
250
59
64
249
58
63
245
59
64
240
61
64
232
64
64
220
65
61
209
64
59
198
64
53
183
61
46
179
64
45
179
64
45
178
63
44
178
63
45
176
63
45
175
62
44
173
64
44
170
63
45
167
64
45
165
64
44
161
65
43
157
65
44
154
63
42
152
64
42
149
64
43
148
62
45
145
62
46
145
62
46
145
62
46
144
61
43
144
61
43
144
61
43
144
61
43
145
62
44
145
62
44
146
60
43
146
60
43
147
61
44
147
61
44
148
63
43
149
63
46
149
65
54
150
63
53
154
62
51
163
62
50
175
65
52
185
67
53
191
68
53
193
67
53
192
68
56
184
70
59
174
73
61
153
74
61
129
71
59
104
64
52
81
58
44
66
53
44
63
55
52
61
55
55
60
54
54
58
52
52
57
52
49
56
51
48
55
50
47
55
50
47
54
50
47
54
50
47
54
50
47
53
49
46
53
50
45
52
49
44
52
49
44
50
49
44
46
48
45
44
49
45
46
48
45
46
48
45
47
47
45
47
47
45
48
47
45
50
46
45
53
47
47
52
46
46
53
44
45
52
42
43
52
42
43
57
45
47
62
50
52
73
53
54
91
57
55
108
63
57
124
69
64
134
73
68
144
79
77
152
91
96
155
102
118
148
109
136
140
119
158
131
125
173
125
130
185
117
126
183
102
109
164
84
86
137
77
69
118
76
65
107
77
65
101
79
70
99
81
72
99
77
72
94
78
75
92
91
91
101
113
116
121
133
137
136
135
140
134
138
143
136
141
144
133
134
138
124
120
122
108
102
105
88
90
91
77
86
83
76
90
85
91
90
84
96
91
83
96
46
45
43
47
46
44
47
46
44
48
47
45
51
47
44
52
48
45
52
48
45
52
48
45
54
49
45
54
49
45
54
49
45
54
49
45
56
49
43
56
49
43
56
49
43
56
49
43
55
47
45
55
47
45
54
46
44
54
46
44
54
46
44
54
46
44
55
47
45
55
47
45
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
56
48
46
53
45
43
53
45
43
53
45
43
52
44
42
52
44
42
52
44
42
51
43
41
51
43
41
54
46
44
54
46
44
54
46
44
54
46
44
54
46
44
54
46
44
54
46
44
52
47
44
51
48
43
51
48
41
51
48
41
52
49
42
52
49
42
53
50
43
53
50
43
53
50
43
53
50
43
53
50
43
54
51
44
55
52
45
56
53
46
56
53
46
57
54
47
57
54
45
62
55
45
63
57
45
64
58
46
66
60
48
69
61
50
69
61
50
70
62
49
70
62
49
71
61
49
71
62
47
72
60
46
73
61
47
73
61
47
74
62
46
76
64
48
74
65
48
75
68
50
78
69
52
85
68
52
94
68
51
105
68
50
115
66
49
126
65
47
134
63
45
140
57
41
148
57
39
157
57
42
163
60
45
172
64
51
179
69
56
184
72
60
193
70
62
210
68
67
218
65
67
222
66
67
226
68
67
231
67
68
236
66
67
243
64
67
247
63
65
250
59
64
249
58
63
245
59
64
238
62
64
229
65
64
218
66
61
205
64
57
194
64
51
181
61
45
176
64
44
176
64
44
176
64
44
175
62
44
174
63
44
174
63
44
172
63
43
169
64
45
166
63
44
163
64
43
160
64
42
156
64
43
152
64
42
150
64
41
148
63
42
145
62
44
145
62
46
145
62
46
144
61
45
144
61
43
144
61
43
143
60
42
143
60
42
144
61
43
144
61
43
143
60
42
143
60
42
146
60
43
145
62
44
148
62
45
146
63
45
149
65
54
150
63
53
156
62
50
166
64
52
178
66
54
188
67
56
193
67
55
194
66
55
194
70
60
186
74
63
172
76
64
151
75
62
124
70
58
98
64
52
76
58
46
65
55
45
64
56
53
62
57
54
61
55
55
60
55
52
58
53
50
57
52
49
56
51
48
56
51
48
54
50
47
54
50
47
54
50
47
51
50
46
53
50
45
50
49
44
50
49
44
49
50
45
45
50
46
45
50
46
47
49
46
47
49
46
48
48
46
48
48
46
49
48
46
49
48
46
53
49
48
54
48
48
53
47
47
53
44
45
52
43
44
54
44
45
58
48
49
68
50
50
84
55
49
99
59
51
113
65
55
123
69
59
130
72
68
137
82
85
141
95
108
139
105
130
131
115
152
125
121
171
120
125
181
111
119
181
96
102
162
81
82
139
76
69
121
76
64
112
76
64
104
80
69
103
81
70
102
76
67
94
71
66
86
77
76
90
94
94
102
106
110
113
117
121
120
120
125
119
122
128
118
119
122
111
107
111
97
96
98
84
87
89
76
84
84
76
93
87
89
93
86
93
93
86
94
45
45
45
45
45
45
46
45
43
47
46
44
48
47
45
49
48
46
51
47
44
52
48
45
51
47
44
51
47
44
52
47
43
52
47
43
52
47
43
52
47
43
54
47
41
54
47
41
52
47
44
52
47
44
51
46
43
51
46
43
51
46
43
51
46
43
52
47
44
52
47
44
53
48
45
53
48
45
53
48
45
53
48
45
53
48
45
53
48
45
53
48
45
53
48
45
51
46
43
51
46
43
50
45
42
50
45
42
50
45
42
49
44
41
49
44
41
49
44
41
52
47
44
52
47
44
52
47
44
52
47
44
52
47
44
52
47
44
52
47
44
52
47
44
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
53
50
45
53
50
45
53
50
45
53
50
45
53
50
45
54
51
46
54
51
46
55
52
47
56
53
48
57
54
49
57
54
47
60
53
45
61
54
44
63
56
46
64
57
47
66
58
47
67
59
48
67
59
48
67
59
46
68
58
46
68
58
46
70
58
46
71
59
45
72
60
46
73
61
47
74
62
48
73
64
49
74
71
54
77
72
53
82
71
53
89
70
53
98
69
51
106
68
49
117
66
47
125
62
44
130
59
41
139
58
41
147
58
42
154
61
44
163
66
50
172
70
56
178
74
61
187
73
63
204
71
66
212
68
67
216
68
66
221
69
66
226
66
66
233
65
65
240
61
64
244
60
62
249
58
63
248
58
60
244
60
62
237
63
62
225
66
62
211
67
58
197
65
53
185
63
48
178
63
45
174
63
44
174
63
44
174
63
44
173
62
45
172
62
45
172
62
45
170
63
45
168
62
46
164
63
45
160
63
44
158
63
43
154
63
44
151
63
43
149
62
42
147
62
42
145
62
44
144
63
46
143
62
45
143
62
45
143
62
45
142
61
44
142
61
44
142
61
44
142
61
44
142
61
44
142
61
44
142
61
44
143
60
44
143
62
45
145
62
46
144
63
46
148
66
52
151
65
52
157
64
49
168
64
51
182
65
55
191
67
57
197
66
56
196
65
55
190
67
59
183
72
63
166
76
67
144
74
64
116
69
59
90
62
50
69
57
45
60
53
43
64
57
51
64
56
53
63
55
53
62
54
51
61
53
50
60
52
49
57
52
48
56
51
47
54
50
47
52
51
47
52
51
47
50
51
46
51
50
46
49
50
45
49
50
45
48
50
45
45
50
46
44
50
46
45
50
46
45
50
46
47
49
46
47
49
46
48
48
46
49
48
46
51
50
48
53
49
48
53
49
48
52
46
46
50
44
44
52
43
44
55
46
47
61
47
46
78
53
46
89
57
46
101
61
49
110
64
51
115
66
59
121
75
75
128
90
101
131
103
128
127
112
151
122
120
170
117
123
183
107
115
180
95
100
166
84
84
148
79
71
131
76
66
119
78
65
109
78
66
104
77
65
101
74
65
96
71
66
89
71
70
88
75
75
87
77
80
85
93
99
99
96
102
98
98
105
97
96
102
92
90
96
84
87
91
77
85
88
77
88
88
80
94
89
86
96
87
88
96
87
90
44
44
44
44
44
44
46
45
43
46
45
43
47
46
44
48
47
45
51
47
44
51
47
44
50
46
43
50
46
43
51
46
42
51
46
42
51
46
42
51
46
42
53
46
40
53
45
42
51
46
43
51
46
43
50
45
42
49
44
41
49
44
41
50
45
42
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
50
45
42
50
45
42
50
45
42
50
45
42
49
44
41
49
44
41
49
44
41
48
43
40
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
51
46
43
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
52
49
44
53
50
45
53
50
45
54
51
46
55
52
47
56
53
48
56
53
48
56
53
46
59
52
44
60
53
43
61
54
44
62
55
45
64
55
46
65
57
46
65
57
46
65
57
46
67
57
47
67
57
45
69
57
45
70
58
46
71
59
47
72
60
46
74
62
48
72
65
49
74
71
54
73
72
54
78
71
53
86
70
54
92
69
51
100
67
50
110
64
48
118
62
45
123
60
43
130
59
41
140
59
42
148
61
44
156
64
49
163
70
53
170
74
58
180
74
61
196
72
64
204
69
65
209
70
65
214
69
64
222
67
65
228
64
62
236
62
63
241
58
60
247
59
60
244
58
59
240
60
61
233
64
61
220
67
61
205
67
56
190
64
50
177
62
44
174
63
44
171
64
44
170
63
43
170
63
43
170
63
45
169
62
44
169
62
44
168
63
44
165
62
45
162
63
44
160
63
44
155
62
44
151
63
43
149
62
42
147
62
41
145
63
42
143
62
43
143
62
45
143
62
45
143
62
45
142
61
44
142
61
44
142
61
44
141
60
43
142
61
44
139
60
43
141
60
43
139
60
43
139
60
45
140
61
44
141
62
47
142
63
46
148
66
52
151
65
50
160
64
50
172
66
53
185
67
57
194
67
58
197
66
58
194
65
59
186
65
57
177
73
64
163
78
71
141
78
69
111
71
61
83
63
52
65
59
47
57
54
45
64
57
51
65
55
53
63
55
52
62
54
51
60
52
49
57
52
48
56
51
47
55
52
47
52
51
47
52
51
47
51
52
47
50
51
46
50
51
46
48
50
45
48
50
45
46
51
45
45
51
47
45
51
47
46
51
47
46
51
47
48
50
47
48
50
47
49
49
47
49
49
47
50
49
47
51
50
48
51
50
48
52
48
47
50
46
45
49
45
44
52
46
46
56
46
44
71
52
45
79
52
41
88
56
43
96
60
48
101
63
54
109
71
70
121
89
100
130
107
133
128
117
159
124
124
178
119
124
188
110
117
187
100
104
175
91
91
161
82
77
143
76
66
126
79
65
114
76
64
104
73
61
99
72
62
96
72
66
94
69
67
88
64
66
79
59
64
70
66
71
74
68
77
74
74
81
74
74
81
73
73
81
70
75
81
69
79
85
73
86
87
79
94
89
83
96
89
83
96
88
85
43
43
43
43
43
43
44
44
44
45
45
45
47
46
44
47
46
44
48
47
45
48
47
45
49
45
42
49
45
42
49
45
42
49
45
42
50
45
41
50
45
41
50
45
41
50
45
41
50
45
42
50
44
44
49
43
43
49
43
43
49
43
43
49
43
43
50
44
44
50
44
44
49
43
43
49
43
43
49
43
43
49
43
43
49
43
43
49
43
43
49
43
43
49
43
43
50
44
44
50
44
44
50
44
44
49
43
43
49
43
43
49
43
43
48
42
42
48
42
42
51
45
45
51
45
45
51
45
45
51
45
45
51
45
45
51
45
45
51
45
45
51
46
43
52
49
44
52
49
44
52
49
44
51
48
43
51
48
43
51
48
43
51
48
43
51
48
43
52
49
44
52
49
44
53
50
45
54
51
46
55
52
47
55
52
47
56
53
48
56
53
46
58
51
43
59
52
44
60
53
45
61
54
46
63
54
47
63
54
45
63
54
45
63
55
44
66
56
46
66
56
46
69
56
47
69
57
45
71
59
47
72
60
48
74
62
50
72
64
51
72
69
54
71
70
52
75
69
53
81
68
52
88
67
50
95
66
50
102
63
46
110
61
44
118
61
44
124
58
42
133
57
41
140
59
42
147
61
46
155
66
50
162
70
55
172
70
56
187
70
60
194
70
62
201
70
62
208
69
62
217
68
64
226
67
63
234
64
64
240
62
62
242
58
58
241
59
58
236
60
60
228
65
60
214
67
59
198
68
54
181
64
47
170
61
41
170
63
45
169
64
45
169
64
45
168
63
44
168
62
46
168
62
46
167
61
45
165
62
45
163
61
46
160
63
46
158
63
45
154
63
45
150
63
44
147
62
42
145
63
42
143
62
41
143
62
43
141
62
45
141
62
45
140
61
44
140
61
46
140
61
46
139
60
45
139
60
45
139
60
45
138
61
45
138
59
44
137
60
44
138
60
47
139
62
46
139
61
48
140
63
47
146
67
50
152
66
49
161
65
49
174
66
54
188
67
58
194
67
60
196
67
61
192
67
61
185
70
65
178
81
74
165
88
82
143
88
81
115
82
73
87
73
62
67
67
55
60
63
54
62
57
51
64
55
50
62
55
49
61
54
48
58
53
47
57
52
46
56
51
47
54
51
46
52
51
46
52
51
46
51
52
47
49
51
46
49
51
46
46
51
45
46
51
45
46
51
45
45
51
47
45
51
47
45
51
47
45
51
47
46
51
47
46
51
47
48
50
47
48
50
47
48
48
46
49
49
47
50
50
48
50
49
47
48
47
45
47
46
44
50
46
45
52
47
44
63
48
43
68
48
41
75
51
41
84
56
45
90
60
52
100
70
70
117
93
106
131
115
141
137
128
171
133
132
190
126
131
199
116
122
198
109
112
189
99
101
175
86
83
154
76
67
130
75
63
113
73
60
103
71
59
99
69
62
95
70
66
93
68
66
87
63
65
78
59
63
72
58
66
69
62
72
71
68
77
72
71
81
73
71
81
72
74
82
71
78
86
75
85
88
77
94
90
79
97
89
78
97
88
79
43
43
43
43
43
43
44
44
44
44
44
44
46
44
45
47
46
44
48
47
45
48
47
45
49
45
42
49
45
42
49
45
42
49
45
42
50
45
41
50
45
41
50
45
41
50
45
42
50
44
44
49
43
43
49
43
43
48
42
42
48
42
42
49
43
43
49
43
43
50
44
44
48
42
42
48
42
42
48
42
42
48
42
42
48
42
42
48
42
42
48
42
42
48
42
42
50
44
44
50
44
44
50
44
44
49
43
43
49
43
43
48
42
42
48
42
42
48
42
42
50
44
44
50
44
44
50
44
44
50
44
44
50
44
44
50
44
44
50
44
44
50
44
44
51
47
44
51
48
43
51
48
43
51
48
43
51
48
43
51
48
43
51
48
43
51
48
43
52
49
44
52
49
44
53
50
45
54
51
46
54
51
46
55
52
47
56
53
48
56
53
48
57
50
44
58
51
43
59
52
44
60
53
45
62
53
46
62
53
46
62
53
46
62
53
44
66
56
47
66
56
46
69
56
47
69
56
47
71
58
49
73
61
49
74
62
50
73
63
51
70
67
52
70
67
52
74
66
53
79
65
52
84
65
50
92
64
50
98
62
48
106
60
45
113
60
46
119
57
42
125
56
41
133
56
40
140
58
44
149
61
47
155
66
52
164
66
53
178
70
58
186
69
59
193
70
62
202
71
63
212
71
64
222
70
65
231
67
65
238
66
64
237
59
59
235
59
59
231
62
59
223
66
59
209
68
58
191
68
52
175
64
45
164
62
40
166
65
45
166
65
45
165
64
44
165
64
46
165
64
46
164
63
45
164
63
45
164
62
47
162
62
46
159
64
46
156
63
46
152
63
45
149
62
43
145
63
42
143
62
41
143
62
43
141
62
45
141
62
45
141
62
45
140
61
44
140
61
46
139
60
45
139
60
45
138
61
45
138
61
45
136
60
46
136
60
46
136
60
46
136
60
47
135
62
47
136
62
49
139
63
49
145
68
50
150
67
49
162
66
52
173
67
54
186
67
59
193
68
62
193
68
62
187
69
65
185
80
76
178
91
84
165
101
92
145
102
93
117
95
84
91
85
73
71
77
65
67
73
63
60
57
50
63
56
50
62
55
49
59
54
48
57
52
46
55
52
45
54
51
46
52
51
46
52
51
46
51
52
46
50
52
47
49
51
46
47
52
46
46
51
45
46
51
45
46
51
45
45
51
47
45
51
47
45
51
47
45
51
47
46
51
47
46
51
47
48
50
47
48
50
47
47
47
45
48
48
46
50
50
48
50
50
48
49
48
46
48
47
45
48
47
45
51
47
44
56
44
44
59
44
41
67
48
42
75
55
48
83
60
54
94
73
72
116
98
110
135
122
148
144
138
182
140
141
198
132
136
207
122
128
204
114
120
198
105
107
182
87
87
159
73
68
132
69
61
110
71
60
100
68
60
97
67
62
94
67
65
89
64
67
86
64
68
80
62
69
75
71
81
82
75
87
85
81
94
87
85
96
88
83
95
85
82
94
84
84
94
83
89
95
83
94
91
76
97
90
74
97
90
74
44
45
47
44
45
47
44
45
47
44
46
45
45
45
45
45
45
45
46
45
43
46
45
43
47
46
44
47
46
44
49
45
42
48
44
41
48
44
41
48
44
41
47
43
40
47
43
40
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
48
44
43
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
48
44
43
48
44
43
49
45
44
49
45
44
50
46
45
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
48
44
41
49
45
42
50
46
43
51
47
44
51
47
44
51
47
44
51
47
44
51
47
44
51
47
44
51
47
44
51
47
44
51
47
44
52
48
45
53
49
46
54
50
47
55
52
47
56
48
45
57
50
44
58
51
45
59
52
46
61
52
47
62
53
46
62
53
46
62
53
46
63
52
46
63
53
44
66
53
45
67
54
46
68
55
47
70
57
48
71
58
49
70
60
50
71
63
52
72
64
53
74
64
54
80
63
53
84
62
51
88
60
49
94
57
48
98
54
43
109
57
46
116
56
45
124
56
43
131
57
44
141
59
47
147
61
48
152
63
49
158
62
48
167
65
51
173
65
52
181
67
56
190
69
58
202
71
61
212
71
62
222
69
63
229
67
64
232
64
63
234
66
65
230
68
65
218
69
62
200
68
56
183
66
49
170
65
46
162
66
44
162
65
46
161
64
45
162
63
44
162
62
46
161
61
45
161
61
45
162
62
46
160
63
47
156
60
44
154
61
44
152
60
45
149
62
45
147
61
44
144
61
43
142
61
42
140
62
42
139
60
43
139
60
43
138
61
45
137
60
44
137
60
44
137
60
44
136
58
45
135
59
45
137
61
47
134
60
47
134
60
47
135
61
48
136
62
51
136
64
50
137
65
53
139
65
52
145
69
53
151
68
52
163
69
57
177
73
62
186
71
64
187
68
62
187
69
65
184
77
71
180
90
82
175
102
95
163
113
102
145
115
104
126
114
100
106
106
94
86
94
83
73
81
70
76
76
66
74
70
61
66
62
53
60
56
47
57
53
44
55
52
43
54
51
44
51
51
43
52
51
46
51
52
46
49
52
45
49
52
45
48
50
45
47
49
44
44
49
43
44
49
43
45
50
46
45
50
46
45
50
46
45
50
46
47
49
46
47
49
46
47
49
46
47
49
46
48
50
47
48
50
47
49
49
47
49
49
47
49
49
47
49
49
47
49
49
47
52
48
47
52
43
48
59
47
51
65
51
50
67
52
47
74
59
54
93
79
79
121
109
121
139
133
159
147
144
187
148
150
207
144
149
217
131
137
211
116
122
198
106
110
183
95
98
167
90
91
148
76
73
116
72
66
100
65
62
93
62
62
88
63
66
85
65
73
86
76
85
92
85
96
98
98
113
110
110
125
120
118
134
124
114
127
117
108
121
111
103
117
104
95
107
95
87
95
80
91
90
70
96
90
68
99
93
71
44
45
47
44
45
47
44
45
47
44
45
47
45
45
45
45
45
45
46
44
45
46
45
43
47
46
44
46
45
43
48
44
41
48
44
41
47
43
40
47
43
40
47
43
40
47
43
40
46
42
41
46
42
41
46
42
41
46
42
41
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
48
44
43
48
44
43
48
44
43
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
48
44
43
48
44
41
49
45
42
50
46
43
51
47
44
51
47
44
50
46
43
50
46
43
50
46
43
50
46
43
50
46
43
50
46
43
51
47
44
52
48
45
53
49
46
54
50
47
56
48
46
57
49
46
58
50
47
59
52
46
61
52
47
62
53
48
62
53
48
61
52
45
63
52
46
63
52
46
65
52
46
66
53
45
67
54
46
69
56
48
71
58
50
72
59
51
72
62
53
72
62
53
76
61
54
79
62
54
81
61
52
86
59
50
90
57
48
95
55
47
104
55
48
112
55
46
119
55
45
129
57
45
137
57
46
144
60
49
150
60
49
155
61
49
162
64
51
167
65
51
172
66
53
180
68
56
190
69
58
201
70
60
212
69
61
219
68
61
223
68
64
224
69
64
222
70
65
212
71
62
196
70
56
178
67
50
165
66
45
158
66
45
159
67
46
158
66
45
159
64
46
158
63
45
158
63
45
158
63
45
158
62
46
158
62
46
154
61
44
153
62
44
150
61
45
148
61
44
144
61
43
143
62
43
140
62
42
140
61
44
139
60
43
138
61
43
137
60
44
137
60
44
137
60
44
135
59
43
135
59
45
133
60
45
134
60
47
133
61
47
133
61
49
131
61
49
132
62
50
134
64
54
135
65
55
136
66
54
147
71
57
151
69
55
163
71
60
175
74
64
184
73
66
184
71
65
183
76
70
179
84
78
177
100
92
170
113
102
159
126
111
144
127
111
127
124
109
109
115
101
90
102
90
78
88
77
76
78
65
75
73
61
69
67
55
64
61
52
61
58
49
56
56
46
52
52
44
49
49
41
50
51
45
50
51
45
48
51
44
47
50
43
47
49
44
46
48
43
46
48
43
46
48
43
47
49
46
45
50
46
47
49
46
47
49
46
47
49
46
47
49
46
47
49
46
47
49
46
48
50
47
48
50
47
49
49
47
49
49
47
49
49
47
49
49
47
49
49
47
50
48
49
53
43
52
57
45
55
60
50
51
63
53
51
72
63
58
94
86
84
120
114
124
138
136
158
147
147
185
148
151
202
144
150
212
132
139
207
121
129
194
113
121
184
107
116
173
104
110
158
92
95
128
88
90
113
83
85
106
82
87
106
84
94
104
90
103
109
102
118
118
114
130
127
116
136
127
126
146
135
131
149
137
126
142
129
118
134
121
114
128
113
102
116
101
90
101
84
89
88
67
94
88
62
97
91
67
44
45
47
44
45
47
44
45
47
44
45
47
44
45
47
44
46
45
45
45
45
45
45
45
46
45
43
46
45
43
46
45
43
45
44
42
47
43
40
46
42
39
46
42
39
46
42
39
44
43
41
44
42
43
44
42
43
44
42
43
43
41
42
43
41
42
43
41
42
43
41
42
45
43
44
45
43
44
45
43
44
45
43
44
45
43
44
45
43
44
45
43
44
45
43
44
44
42
43
44
42
43
45
43
44
45
43
44
45
43
44
46
44
45
46
44
45
46
44
45
46
44
45
46
44
45
46
44
45
47
45
46
47
45
46
47
45
46
47
45
46
47
46
44
48
44
43
48
44
43
49
45
44
50
46
45
50
46
45
50
46
45
50
46
45
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
50
46
45
51
47
46
52
48
47
53
49
46
56
48
46
57
49
46
58
50
47
59
51
48
61
51
49
61
52
47
61
52
47
61
52
47
63
52
48
63
52
46
65
52
46
65
52
46
67
54
48
68
55
49
70
57
51
71
58
52
72
59
53
74
59
54
75
60
55
78
61
54
80
59
54
83
58
53
86
55
50
91
54
46
99
54
48
107
54
46
116
53
44
125
55
47
135
57
47
141
59
48
148
60
48
150
60
49
157
63
51
160
64
52
162
64
51
168
64
51
177
67
54
186
68
56
197
69
58
205
68
58
213
70
64
215
72
64
212
73
66
204
73
63
190
69
58
174
67
51
161
66
46
156
65
46
157
66
47
156
65
46
156
63
46
155
62
45
155
62
45
155
62
45
155
62
47
155
63
48
152
60
45
150
61
45
148
60
46
147
61
46
143
62
45
140
61
44
139
60
43
138
61
43
137
60
42
137
60
42
137
60
44
135
59
43
135
59
45
133
60
45
132
58
45
131
59
45
132
60
48
130
60
48
130
60
50
130
62
51
131
63
52
133
65
56
135
67
58
136
68
57
148
74
61
151
72
59
160
72
62
172
75
68
178
75
70
179
76
71
178
83
77
174
96
86
173
115
103
166
129
113
157
140
122
145
142
123
130
137
119
115
128
111
99
113
98
88
99
85
78
82
68
77
78
64
72
73
59
68
68
56
64
64
52
57
59
46
52
54
43
47
49
38
48
49
41
48
49
41
47
48
42
47
48
42
46
47
42
46
47
42
47
47
45
47
47
45
47
47
45
46
48
45
47
47
45
47
47
45
47
47
45
47
47
45
47
47
45
47
47
45
48
48
46
48
48
46
48
48
46
48
48
46
48
48
46
48
48
46
48
48
46
49
47
50
54
43
57
55
43
57
56
47
52
59
54
51
72
69
62
95
94
89
122
122
124
139
141
154
144
148
177
146
151
191
143
149
199
132
142
195
125
137
187
123
137
182
124
139
178
125
140
171
125
136
154
119
131
143
113
126
135
110
125
130
110
126
126
111
130
126
121
142
133
131
153
141
139
161
148
145
168
152
144
165
148
136
157
138
131
150
131
124
141
123
106
123
105
92
104
84
86
86
62
91
87
58
93
89
62
45
46
48
45
46
48
45
46
48
45
46
48
45
46
48
45
46
48
46
46
46
46
46
46
46
45
43
46
45
43
45
44
42
45
44
42
46
42
39
46
42
39
46
42
39
46
42
41
44
42
43
43
41
42
43
41
42
43
41
42
43
41
42
42
40
41
42
40
41
42
40
41
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
45
43
44
45
43
44
45
43
44
45
43
44
46
44
45
46
44
45
46
44
45
46
44
45
47
45
46
47
45
46
47
45
46
47
43
42
48
44
43
49
45
44
49
45
44
49
45
44
49
45
44
48
44
43
48
44
43
48
44
43
48
44
43
48
44
43
48
44
43
49
45
44
50
46
45
51
47
46
52
48
47
57
49
47
58
50
48
59
51
49
60
52
49
61
51
49
61
51
49
61
51
49
61
52
47
62
51
47
62
51
47
64
50
47
64
51
45
65
52
46
67
54
48
68
55
49
69
56
50
70
57
51
72
57
52
73
58
53
74
59
54
76
58
54
78
57
52
81
56
51
84
53
48
94
55
50
101
54
48
111
54
47
120
56
47
130
57
48
138
58
47
144
60
49
148
62
49
153
63
52
155
63
52
155
63
50
159
63
49
165
65
50
174
66
53
184
68
55
191
69
58
199
71
62
203
72
64
202
74
65
195
73
62
182
70
58
170
66
53
158
65
48
153
64
46
153
65
45
153
65
45
152
63
45
151
62
44
151
62
44
153
62
44
153
61
46
151
62
46
149
60
44
148
61
44
147
61
46
144
61
45
142
61
44
138
61
43
138
61
45
137
60
44
136
59
41
136
59
41
135
59
43
135
59
43
132
59
44
132
59
44
131
59
45
128
59
44
129
59
47
128
60
49
128
60
49
129
62
53
131
64
55
131
67
58
135
68
60
136
69
60
148
76
64
150
72
60
158
71
62
167
74
67
174
76
73
174
81
76
173
93
86
170
106
94
167
128
111
161
143
121
154
154
130
143
155
131
134
149
128
122
139
120
109
123
106
98
109
93
83
90
74
81
85
70
75
79
64
69
73
58
64
68
54
59
61
48
53
55
44
49
51
40
48
49
41
47
48
40
46
47
41
46
45
40
46
45
41
46
45
41
47
46
44
48
47
45
47
46
44
47
46
44
47
46
44
47
46
44
47
46
44
46
46
44
47
46
44
46
46
44
48
47
45
47
47
45
48
47
45
47
47
45
47
47
45
47
47
45
47
47
45
50
45
49
55
44
58
54
42
56
51
45
49
57
54
49
72
74
63
98
102
88
123
128
122
139
144
147
141
147
163
143
150
176
140
149
182
131
144
178
129
144
175
133
153
178
141
164
182
146
168
179
147
168
171
144
164
163
140
160
158
135
158
152
130
153
143
125
152
137
129
156
139
136
163
144
148
176
154
152
177
155
148
173
151
139
163
141
133
155
132
127
146
124
107
124
105
88
102
79
83
86
59
89
85
56
90
86
57
43
47
50
43
47
50
43
47
50
43
47
50
45
46
48
45
46
48
46
46
46
46
46
46
45
45
45
45
45
45
46
45
43
45
44
42
45
44
42
44
43
41
44
43
41
44
43
41
44
42
43
44
42
43
44
42
43
43
41
42
43
41
42
42
40
41
42
40
41
42
40
41
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
44
42
43
43
41
42
43
41
42
43
41
42
44
42
43
45
43
44
45
43
44
46
44
45
46
44
45
47
45
46
47
45
46
47
45
46
47
43
42
48
44
43
48
44
43
48
44
43
48
44
43
48
44
43
47
43
42
46
42
41
47
43
42
47
43
42
47
43
42
47
43
42
48
44
43
49
45
44
51
47
46
52
48
47
57
48
49
58
50
48
59
51
49
60
52
50
61
51
50
61
51
49
60
50
48
60
50
48
61
50
48
61
50
46
63
49
46
63
49
46
64
50
47
65
51
48
66
53
47
67
54
48
68
54
51
67
56
52
68
57
53
69
58
54
71
57
54
72
57
52
75
56
52
78
53
48
88
55
50
95
54
48
105
55
48
114
55
47
125
58
49
134
60
49
140
62
50
144
62
50
151
64
54
151
63
53
151
63
53
151
63
51
156
64
51
163
67
53
171
67
54
179
69
56
186
69
59
189
71
61
190
72
62
185
71
61
176
68
56
166
65
53
155
63
48
151
64
47
151
64
45
151
64
45
150
63
46
149
62
45
148
61
44
149
60
44
150
61
47
150
61
47
149
60
46
147
59
45
146
60
47
142
60
46
139
60
45
137
60
44
137
60
44
136
60
44
135
59
43
134
58
42
134
58
42
134
58
42
131
58
43
131
58
43
130
58
44
128
58
46
128
58
48
128
60
49
128
61
52
127
63
54
130
66
57
131
68
61
135
70
64
136
72
63
145
75
65
146
72
61
154
71
63
163
76
69
168
80
76
168
88
81
169
102
93
166
118
104
162
140
119
155
153
128
149
164
135
140
163
135
134
157
131
126
145
125
116
130
113
106
117
101
92
101
82
86
95
76
78
85
67
69
76
58
63
70
54
60
64
50
55
58
47
54
56
45
48
49
41
48
48
40
46
45
40
47
44
39
47
43
40
47
43
42
49
45
44
50
46
45
49
45
44
49
45
44
49
45
44
49
45
44
49
45
44
47
46
44
49
45
44
47
46
44
50
46
45
48
47
45
50
46
45
48
47
45
48
47
45
48
47
45
48
47
45
50
45
49
56
44
58
53
41
53
49
43
43
54
54
44
71
76
56
96
104
81
122
131
112
136
146
135
141
151
150
143
154
160
141
153
165
134
150
163
135
155
162
144
170
169
155
185
177
160
192
179
152
183
168
154
182
167
155
183
168
152
183
165
145
177
156
137
171
146
137
171
144
144
177
148
146
179
150
149
180
149
144
173
143
136
162
133
132
155
129
123
146
120
103
122
100
84
98
73
81
84
57
85
84
56
86
85
57
44
48
51
44
48
51
44
48
51
44
48
51
46
47
49
46
47
49
47
47
47
47
47
47
46
46
46
46
46
46
47
46
44
46
45
43
46
45
43
46
45
43
45
44
42
45
44
42
45
43
44
45
43
44
45
43
44
44
42
43
43
41
42
42
40
41
42
40
41
42
40
41
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
44
42
43
44
42
43
43
41
42
43
41
42
43
41
42
42
40
41
42
40
41
42
40
41
44
42
43
44
42
43
44
42
43
45
43
44
46
44
45
46
44
45
47
45
46
47
45
46
47
43
42
47
43
42
48
44
43
48
44
43
47
43
42
47
43
42
46
42
41
45
41
40
48
44
43
48
44
43
47
43
42
48
44
43
49
45
44
50
46
45
51
47
46
52
48
47
58
49
50
58
49
50
59
51
49
60
52
50
61
51
50
60
50
49
60
50
48
59
49
47
61
50
48
60
49
47
62
48
45
62
48
45
63
49
46
64
50
47
65
52
46
63
52
46
64
53
49
64
55
50
64
57
51
65
58
52
66
57
52
67
56
52
70
55
52
72
53
47
81
53
49
88
53
47
97
54
47
108
56
45
117
57
46
128
60
47
134
62
48
139
61
49
147
63
53
149
62
53
147
63
53
147
63
52
149
66
52
154
66
52
160
67
52
165
68
52
172
66
53
176
68
56
180
69
58
177
69
59
170
66
55
161
63
52
154
62
49
150
62
48
149
63
46
148
63
43
147
61
44
147
61
44
147
60
43
147
60
43
148
60
46
148
60
46
147
59
45
146
60
45
143
60
46
141
59
45
138
59
44
137
60
44
135
59
43
135
59
43
134
58
42
134
58
42
133
57
41
131
58
41
131
58
43
129
57
42
127
57
45
127
57
45
128
60
49
127
60
51
127
63
54
128
65
56
130
67
60
133
70
63
136
73
66
138
73
67
142
74
65
144
71
62
151
72
67
159
78
74
167
86
82
167
96
90
169
112
101
164
131
114
156
148
125
150
161
131
143
168
138
136
167
136
131
160
132
126
150
126
121
136
117
112
123
106
100
112
92
93
105
83
82
94
74
74
83
64
66
75
58
62
69
53
58
64
50
57
60
49
51
52
44
50
50
42
49
46
41
47
44
39
47
41
41
48
42
42
49
43
43
50
44
44
49
43
43
49
43
43
49
43
43
49
43
43
49
43
43
48
44
43
48
44
43
48
44
43
49
45
44
49
45
44
49
45
44
49
45
44
47
46
44
47
46
44
47
46
44
50
44
46
56
42
55
53
40
49
51
43
40
53
54
38
69
75
49
92
103
71
117
130
100
134
147
121
142
155
138
145
158
148
144
159
154
139
158
152
141
165
151
151
180
158
162
197
165
169
206
173
165
201
173
166
202
176
167
203
177
164
200
172
151
190
159
139
179
145
136
176
141
141
178
144
142
178
142
144
178
143
141
172
138
132
161
130
128
153
123
119
142
114
100
120
93
81
95
69
77
81
54
81
81
53
82
81
53
44
48
51
44
48
51
44
48
51
44
48
51
46
47
49
46
47
49
46
47
49
46
47
49
47
47
47
47
47
47
47
47
47
47
47
47
47
46
44
47
46
44
46
45
43
46
45
43
47
45
46
46
44
45
46
44
45
45
43
44
44
42
43
43
41
42
43
41
42
42
40
41
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
42
40
41
42
40
41
42
40
41
41
39
40
41
39
40
43
41
42
43
41
42
44
42
43
45
43
44
46
44
45
46
44
45
47
45
46
47
45
46
47
43
42
47
43
42
47
43
42
47
43
42
47
43
42
46
42
41
45
41
40
44
40
39
48
44
43
48
44
43
48
44
43
48
44
43
49
45
44
50
46
45
52
48
47
52
48
47
58
49
50
59
50
51
59
50
51
60
51
52
61
51
50
60
50
49
60
50
49
59
49
48
60
49
47
60
49
47
62
48
47
61
47
46
62
48
45
62
48
45
63
49
46
62
51
47
61
54
48
59
54
48
59
56
51
60
57
52
61
58
53
62
57
51
64
55
50
67
54
48
71
52
46
79
52
43
89
52
43
100
53
43
110
56
44
120
58
45
127
59
46
133
59
46
143
60
52
145
60
53
144
62
51
143
64
51
144
65
50
147
66
49
151
65
50
153
64
48
160
62
49
166
64
52
170
66
55
170
66
57
165
64
54
159
62
53
151
61
50
149
63
50
146
63
45
146
63
45
145
62
44
144
61
43
145
59
42
145
59
42
146
60
45
146
60
45
145
59
46
145
59
46
142
59
45
141
59
45
138
59
46
136
58
45
134
58
44
132
59
44
133
57
41
133
57
41
131
58
41
130
57
40
130
57
42
129
57
42
126
56
44
126
56
44
128
60
49
128
61
52
128
64
55
129
66
57
132
69
62
133
73
65
136
75
70
140
77
70
140
73
65
142
72
64
152
74
70
161
83
79
168
93
88
169
104
98
169
123
110
164
142
121
153
156
129
146
167
134
137
172
139
130
170
136
128
161
132
127
153
128
126
139
119
120
129
110
106
120
97
100
114
91
90
104
81
81
93
73
73
84
67
67
76
59
62
68
54
60
63
52
54
55
47
52
52
44
51
48
43
48
43
39
49
40
41
49
40
41
50
41
42
52
43
44
50
41
42
50
41
42
50
41
42
50
41
42
50
41
42
48
42
42
48
42
42
48
42
42
49
43
43
49
43
43
48
44
43
48
44
43
48
44
43
48
44
43
48
44
43
49
43
45
54
41
50
53
41
45
52
45
37
52
54
33
65
72
38
87
99
59
113
128
87
130
146
109
141
156
125
144
160
134
144
162
140
139
161
138
141
168
137
149
184
142
160
200
148
164
208
157
169
211
171
168
210
174
167
209
173
161
203
165
147
189
151
133
175
135
130
172
132
135
176
134
136
174
133
140
177
136
139
171
134
129
159
123
123
148
116
113
136
107
95
115
87
77
93
66
73
79
51
74
77
48
76
76
48
46
47
49
44
48
49
46
47
49
46
47
49
46
48
47
46
48
47
46
48
47
47
47
47
48
48
46
48
48
46
48
48
46
48
47
45
48
47
45
48
47
43
47
46
44
49
45
44
50
46
45
49
45
44
49
45
44
48
44
43
47
43
44
44
42
43
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
42
43
41
44
43
41
42
43
41
44
43
41
42
45
40
44
42
40
41
44
40
41
41
39
40
41
39
40
40
38
39
42
40
41
43
41
42
44
42
43
44
43
41
45
43
44
46
45
43
47
46
44
47
46
44
45
44
42
45
44
42
47
43
42
47
43
42
46
42
41
45
41
40
44
40
39
44
40
39
49
45
44
50
45
42
50
45
42
50
45
42
51
46
43
52
47
44
53
48
45
54
49
46
59
51
49
59
51
49
60
52
50
60
52
50
61
51
49
60
50
48
59
49
47
59
49
47
60
49
47
60
49
47
61
47
46
61
47
46
61
47
44
62
48
45
63
49
46
61
50
46
62
51
45
61
54
46
60
55
49
57
57
49
57
58
50
58
58
50
59
56
49
63
54
47
67
50
43
74
49
44
84
50
41
94
51
42
104
54
43
111
57
45
118
60
46
123
59
47
135
61
50
139
61
51
139
63
50
140
64
50
142
64
51
143
64
49
146
63
49
149
61
47
152
60
47
156
62
50
162
66
54
161
67
55
158
66
55
153
63
52
150
62
50
148
62
49
148
62
47
147
61
46
144
61
45
142
61
44
142
61
44
140
61
44
140
61
46
141
62
47
142
60
46
142
60
46
139
60
47
138
59
46
136
58
45
135
59
45
132
59
44
132
59
44
130
58
43
128
59
43
127
58
42
126
59
42
126
59
43
124
58
42
124
58
44
124
58
46
128
62
50
129
62
53
128
64
54
130
67
58
133
70
61
133
74
66
136
77
69
139
79
71
140
73
67
142
73
68
147
80
74
152
92
84
157
104
96
157
117
105
158
135
117
157
153
128
147
162
133
143
170
137
137
172
139
129
169
135
127
162
132
125
155
127
122
144
121
116
136
111
103
126
98
98
121
93
92
112
85
85
103
79
78
93
72
71
82
65
64
73
56
61
65
51
56
56
46
56
53
46
53
48
44
51
43
41
50
40
41
50
40
41
51
41
42
52
42
43
50
41
44
48
42
42
48
42
44
50
41
42
50
41
44
50
41
44
50
41
44
50
41
44
51
42
45
51
42
45
49
43
45
49
43
45
48
44
45
48
44
45
48
44
45
49
43
47
52
41
47
52
42
43
52
45
37
52
54
33
63
70
37
84
96
56
109
124
81
129
144
103
137
153
116
141
158
122
141
161
126
136
161
122
138
167
123
145
182
130
155
196
136
159
203
144
159
201
153
158
199
157
157
198
154
152
193
149
140
183
138
130
173
128
133
174
130
140
181
137
132
171
127
137
174
133
137
169
130
126
156
120
118
143
111
108
131
102
90
110
83
74
90
63
70
76
50
70
74
47
70
72
48
47
48
43
46
48
43
47
48
43
48
49
44
48
49
44
48
49
44
49
50
45
50
49
45
51
50
46
52
51
47
52
51
47
54
50
47
53
49
46
52
49
44
51
47
44
52
47
44
53
48
45
53
48
45
52
47
44
51
46
43
50
44
44
49
45
44
48
44
43
48
44
43
46
44
45
46
44
45
45
45
47
45
45
47
44
44
46
43
43
45
42
41
46
41
41
43
46
41
47
46
41
45
47
40
47
46
41
45
47
41
45
46
41
45
46
42
43
46
42
43
47
43
42
47
43
42
45
44
42
46
45
41
45
45
43
45
46
41
46
47
42
46
47
42
45
45
45
45
45
45
46
44
45
47
45
46
47
46
44
48
47
45
50
46
43
50
46
43
50
45
42
52
44
41
53
45
42
54
46
43
56
47
42
58
49
44
58
49
42
59
50
43
61
52
45
61
52
45
62
53
48
62
53
48
62
53
48
61
52
47
60
51
46
59
50
45
61
50
46
60
49
45
60
49
47
59
48
46
61
47
46
62
48
47
62
48
47
64
49
46
66
47
41
66
49
41
60
51
42
57
54
45
53
56
45
52
55
46
54
54
46
59
50
45
64
45
41
71
41
39
79
39
39
86
41
38
91
46
40
97
53
44
102
60
48
109
63
48
121
65
48
127
64
47
134
65
49
139
66
51
143
64
51
147
61
48
147
59
47
146
56
45
147
59
47
147
61
46
148
65
49
149
66
50
148
67
50
146
65
48
145
62
46
145
59
44
151
59
48
151
58
50
146
59
49
140
61
48
136
63
48
132
63
47
130
63
46
130
63
46
136
64
49
136
63
48
138
62
49
137
61
48
136
60
47
135
59
46
132
58
45
131
59
45
123
57
43
126
64
51
118
60
46
112
56
41
118
62
45
118
62
45
118
59
45
125
63
50
125
59
47
131
63
52
136
68
57
139
72
63
138
76
65
135
77
66
133
79
67
135
78
69
144
76
73
149
84
80
147
99
89
142
113
97
138
125
106
134
138
113
135
151
124
136
159
130
139
166
135
138
167
137
139
168
138
138
168
140
132
165
136
124
161
130
114
155
123
110
151
117
104
142
105
97
133
95
91
122
88
89
116
85
90
110
83
86
101
78
79
88
69
73
75
61
66
63
54
64
57
51
58
48
46
53
43
42
51
39
41
51
39
43
51
39
43
49
38
42
47
41
45
45
41
42
45
40
44
45
39
41
47
38
43
49
38
44
51
38
45
51
38
45
52
39
46
52
39
46
51
40
48
50
40
48
48
41
49
47
42
49
47
42
49
47
42
48
47
41
45
49
43
43
48
45
40
47
47
35
60
63
42
86
92
64
112
122
88
127
139
103
141
156
117
139
157
115
140
161
118
140
166
119
138
168
118
137
170
117
142
180
123
153
191
134
159
193
143
157
190
143
150
186
138
143
179
131
136
174
125
133
171
124
131
170
123
133
170
126
131
168
125
131
166
126
128
158
124
121
148
117
114
137
109
104
124
99
89
107
85
77
90
70
74
82
61
68
73
51
62
65
46
47
48
42
48
49
43
48
49
43
48
49
43
49
50
44
49
50
44
50
49
44
51
50
45
52
51
46
52
51
46
55
52
47
55
52
47
54
51
46
53
50
45
53
48
44
53
48
44
55
47
44
55
47
44
54
46
44
54
46
44
51
46
43
50
45
42
48
44
43
48
44
43
48
44
45
47
45
46
47
45
48
45
45
47
45
44
49
43
42
47
41
42
46
41
40
45
46
41
47
47
40
47
47
40
47
47
40
47
47
41
45
47
41
45
46
42
43
46
42
43
47
43
42
47
43
42
46
45
41
46
45
41
46
47
42
46
47
42
46
47
41
46
47
42
46
46
46
46
46
48
46
46
46
46
46
46
47
46
44
47
46
44
49
45
42
51
46
43
53
45
42
53
46
40
55
46
41
56
47
40
58
47
41
59
48
42
60
50
41
61
51
42
62
53
44
62
53
44
62
53
46
62
53
46
62
53
46
61
52
45
60
51
46
60
51
46
61
50
46
60
49
45
59
48
46
59
48
46
61
47
46
61
47
46
62
48
47
64
49
46
68
47
42
70
47
41
67
50
43
64
51
43
61
52
45
60
51
44
59
50
45
62
48
45
65
44
43
70
42
41
75
41
40
80
42
39
86
45
41
92
51
45
97
57
49
103
61
47
112
65
47
120
65
45
128
65
48
136
64
50
143
63
52
145
61
51
147
58
50
147
59
49
141
57
46
139
60
47
139
62
46
140
64
48
141
65
49
141
65
49
142
65
47
145
63
49
149
59
50
149
59
50
144
60
50
139
61
48
134
62
48
131
64
47
129
63
47
129
64
46
133
64
49
134
62
47
135
61
48
136
60
46
133
59
46
132
59
44
130
58
44
127
60
44
119
57
44
119
61
49
112
59
45
109
57
43
114
63
46
114
63
46
113
57
42
117
58
44
127
61
49
132
64
53
138
68
58
140
72
61
138
74
64
135
77
65
133
79
67
136
77
69
144
74
72
149
84
82
145
102
93
138
119
102
131
135
112
127
147
119
128
159
127
131
166
134
134
167
136
139
168
138
143
167
141
143
167
141
136
165
137
127
160
131
117
156
125
109
153
118
100
147
105
94
139
96
89
130
90
89
123
88
90
119
88
88
111
83
82
97
74
77
86
67
69
73
59
65
65
55
59
56
51
53
48
45
51
42
43
50
41
42
49
40
43
46
40
42
49
40
43
48
39
44
48
39
44
48
39
44
49
38
44
51
38
45
52
39
48
52
39
48
52
39
48
51
40
48
50
40
49
48
41
49
47
42
49
45
42
51
44
43
51
44
43
49
50
45
49
50
46
45
48
44
41
45
45
37
56
58
44
83
88
66
111
120
93
128
139
105
135
150
111
134
153
108
134
158
110
136
163
112
134
164
112
132
165
112
138
173
119
147
182
128
153
185
135
150
182
132
147
179
129
140
174
123
134
171
120
130
168
119
130
168
121
131
168
124
131
166
124
130
164
127
127
157
123
120
146
117
113
136
110
104
123
101
89
106
87
77
90
72
70
77
59
64
68
51
59
62
45
49
50
44
49
50
44
49
50
44
49
50
44
50
51
45
50
51
45
52
51
46
52
51
46
53
52
47
53
52
47
56
53
48
56
53
48
56
53
48
55
52
47
55
50
46
54
49
45
56
48
45
56
48
45
55
47
44
54
46
43
52
47
44
51
46
43
50
44
44
49
45
44
49
45
46
47
45
46
48
46
49
47
45
48
45
45
47
44
44
46
43
42
47
43
41
46
47
40
47
49
39
47
47
41
45
47
41
45
47
41
45
47
41
45
46
42
43
46
42
43
48
44
43
48
44
43
47
46
42
47
46
42
47
46
41
48
47
42
48
47
42
48
47
43
47
47
45
47
47
47
48
46
47
48
46
47
48
47
45
47
46
44
49
45
42
50
45
42
54
46
43
55
48
42
57
48
43
58
49
42
60
49
43
61
51
42
62
52
43
63
53
44
63
54
45
63
54
45
64
55
46
64
55
46
63
54
47
62
53
46
61
52
45
61
52
45
61
50
46
60
49
45
59
48
46
59
48
46
59
48
46
59
48
46
60
49
47
63
49
46
68
49
43
71
47
43
74
46
43
76
44
45
79
43
47
78
42
46
74
42
47
71
42
46
68
44
44
65
46
42
66
45
40
70
45
40
79
46
41
89
48
42
99
50
45
105
52
44
107
58
44
111
59
45
119
59
48
129
61
52
135
60
54
140
60
53
141
58
52
141
58
52
138
60
50
135
61
50
134
62
50
133
63
51
134
65
50
137
65
51
140
66
53
143
67
53
142
63
50
143
61
47
140
62
49
138
62
46
135
62
47
133
62
44
134
61
46
134
61
44
137
59
46
137
60
44
136
58
45
134
58
42
132
59
44
128
60
41
126
61
43
122
61
43
124
62
49
120
60
49
117
59
47
116
60
47
118
65
49
118
65
49
117
61
46
118
59
45
127
63
53
132
65
56
138
70
61
140
72
63
138
74
65
137
74
65
136
78
67
140
77
70
147
73
72
153
83
81
151
101
92
146
117
101
138
132
110
131
144
116
129
156
123
130
164
131
134
168
135
138
169
137
143
169
140
145
168
140
144
164
137
138
158
131
130
153
125
122
151
120
107
149
109
97
146
101
92
139
97
92
134
96
93
130
96
91
124
93
85
114
86
80
104
80
70
89
69
66
80
63
58
68
57
51
58
50
46
51
44
42
47
41
40
45
41
43
42
40
50
38
40
53
36
42
53
36
42
53
36
42
52
37
42
53
38
43
51
40
46
51
42
47
48
42
46
47
42
46
44
43
48
43
44
48
41
45
48
40
45
49
38
46
49
40
45
48
49
47
50
51
47
46
46
42
39
42
42
34
53
55
42
80
85
65
109
118
91
124
138
105
128
144
107
126
147
106
127
153
106
131
159
110
128
160
110
126
160
109
128
165
113
135
172
120
141
175
124
139
173
122
136
170
120
132
169
118
129
167
118
127
167
117
127
166
119
127
166
121
127
164
121
128
162
125
125
155
121
119
145
116
112
135
109
104
124
99
89
107
85
77
90
70
69
73
58
62
64
50
57
58
44
50
51
45
50
51
45
51
52
46
51
52
46
51
52
46
52
53
47
53
52
47
53
52
47
54
53
48
55
54
49
57
54
49
58
55
50
58
55
50
57
54
49
57
52
48
57
52
48
58
50
47
57
49
46
57
49
46
56
48
45
53
48
45
52
47
44
52
46
46
52
46
46
51
47
48
51
47
48
49
47
48
49
47
50
48
46
49
46
46
48
45
45
47
45
43
46
48
41
48
50
41
46
48
42
46
48
42
46
48
42
46
48
42
44
47
43
44
47
43
42
49
45
44
49
45
44
48
47
43
48
47
43
49
48
43
49
48
43
49
48
43
49
48
44
49
49
47
49
49
49
49
47
48
49
48
46
49
48
46
50
46
43
51
46
43
51
46
42
57
50
44
57
50
44
59
50
43
60
51
44
62
52
43
64
54
45
64
54
45
65
55
46
66
56
47
65
56
47
66
57
48
65
56
47
65
56
49
64
55
48
62
53
46
62
53
46
61
50
46
61
50
46
60
49
47
59
48
46
59
48
46
60
49
47
61
50
48
63
49
46
66
51
46
70
49
46
77
45
46
84
41
48
88
38
47
87
37
46
81
38
47
75
40
46
68
47
46
62
49
43
60
50
41
64
50
41
72
47
40
84
47
41
96
45
42
101
46
41
105
57
47
107
59
47
117
60
51
125
60
54
133
59
56
137
59
57
138
59
55
136
58
54
137
62
56
134
64
56
134
66
57
133
66
57
133
67
55
134
66
55
135
65
55
137
65
53
137
64
49
137
64
47
136
63
46
136
63
46
135
62
45
136
60
44
136
59
43
137
58
43
138
56
42
138
56
42
136
57
42
133
57
41
130
59
41
125
60
40
122
61
40
120
62
42
127
64
49
122
55
46
120
56
46
120
60
49
117
59
45
118
62
47
123
65
51
123
64
50
128
66
55
132
68
58
135
71
61
137
73
63
136
73
64
138
75
66
138
78
68
140
80
72
144
81
74
147
90
81
148
101
91
143
114
98
137
125
103
132
136
109
131
147
118
131
156
124
135
165
131
136
167
135
139
168
137
143
168
138
143
163
135
139
158
130
136
152
126
127
150
121
114
148
111
108
146
105
104
142
103
102
140
101
103
139
103
100
134
101
96
125
95
92
118
91
81
103
80
76
93
74
66
80
63
57
68
54
50
58
47
46
52
42
44
47
40
45
42
37
53
37
38
56
35
40
56
35
40
55
36
40
52
37
40
51
39
43
50
41
44
48
44
45
44
42
43
43
43
45
42
43
45
40
44
45
39
44
47
39
44
47
37
45
47
40
44
45
46
42
43
49
43
43
48
43
39
46
43
34
56
56
44
80
85
65
105
113
89
118
132
99
123
140
104
121
143
104
124
150
105
127
156
108
125
159
109
121
158
107
122
160
109
127
165
114
130
167
116
128
165
113
125
163
112
125
163
112
125
165
115
126
165
118
126
165
120
125
164
120
124
161
120
125
159
122
122
153
119
117
144
113
110
135
106
101
124
98
87
107
82
78
91
71
69
71
57
63
61
48
57
55
42
52
53
47
52
53
47
52
53
47
53
54
48
53
54
48
53
54
48
55
54
49
55
54
49
56
55
50
56
55
50
59
56
51
60
57
52
60
57
52
60
57
52
60
55
51
60
55
51
60
52
49
60
52
49
59
51
48
59
51
48
56
51
48
55
50
47
54
49
46
54
49
46
53
49
48
54
50
49
54
50
49
51
49
50
50
48
49
49
47
48
48
46
47
49
45
46
50
44
48
52
43
46
52
43
46
52
43
46
50
44
46
50
44
44
50
44
44
50
44
44
51
47
46
51
47
44
51
47
44
51
47
44
50
49
44
50
49
44
51
50
45
51
50
46
51
50
48
51
50
48
51
50
48
51
50
48
53
49
48
53
49
46
54
49
46
54
49
45
59
52
46
60
53
47
61
52
45
63
54
45
65
55
46
66
56
47
69
56
47
67
57
47
68
58
49
68
58
49
69
59
50
68
58
49
67
57
48
66
56
47
64
53
47
64
53
47
62
51
47
62
51
47
61
50
46
61
50
46
61
50
48
61
50
48
62
51
49
62
51
49
66
52
49
70
50
49
78
48
50
85
44
52
90
40
51
89
39
50
83
40
49
76
44
49
68
50
48
60
53
45
57
55
43
60
54
42
68
51
41
78
49
41
90
47
41
94
47
41
102
58
49
106
59
51
115
60
55
122
61
58
130
60
58
134
60
59
135
59
59
134
58
58
130
59
55
129
62
56
129
65
56
129
66
57
131
67
58
131
67
58
133
64
57
132
64
55
132
66
50
132
67
49
133
64
48
134
62
47
136
60
46
137
59
46
139
57
45
140
56
45
138
54
43
137
55
43
135
56
43
131
58
43
127
60
43
122
61
42
119
62
42
120
62
42
127
57
45
122
48
39
129
56
47
131
63
52
117
53
43
113
53
42
124
66
54
125
67
55
127
69
58
129
71
60
131
73
62
132
74
63
133
74
66
135
76
68
138
79
71
137
85
74
130
94
78
129
102
81
134
109
89
135
114
93
136
121
98
137
131
105
141
144
117
141
154
124
138
159
126
136
163
130
136
167
133
137
168
134
135
166
132
132
162
128
129
156
125
127
151
119
125
144
112
125
142
108
123
140
108
120
139
107
120
139
109
117
136
108
112
131
103
108
126
100
99
113
88
92
104
82
83
90
72
73
75
61
66
64
52
61
54
44
57
47
38
55
42
36
57
39
39
57
37
39
54
38
39
52
38
38
49
39
38
46
40
40
44
43
41
44
44
42
41
43
40
41
43
42
41
43
42
41
43
42
42
42
44
42
42
44
43
41
44
45
41
42
44
35
36
50
42
39
53
48
42
56
54
42
66
67
53
85
90
70
102
112
87
110
125
94
116
136
101
113
138
98
117
144
101
120
152
105
119
155
107
115
153
104
116
154
105
119
159
107
122
162
110
120
160
108
119
159
109
120
160
110
121
163
115
123
165
117
123
165
119
124
163
119
121
158
117
122
156
119
119
150
116
115
142
111
109
134
104
100
123
95
87
107
80
78
92
69
68
69
55
62
58
47
56
52
41
53
54
48
53
54
48
54
55
49
54
55
49
55
56
50
55
56
50
56
55
50
56
55
50
57
56
51
58
57
52
61
58
53
62
59
54
62
59
54
62
59
54
62
57
53
62
57
53
63
55
52
63
55
52
62
54
51
61
53
50
59
54
51
58
53
50
57
52
49
57
52
49
56
52
49
56
52
51
57
53
52
56
52
51
55
51
50
52
51
49
53
49
50
52
48
47
54
45
48
54
45
46
54
45
48
54
45
46
52
46
46
52
46
46
52
46
46
52
47
44
52
48
45
52
48
45
52
48
45
53
49
46
51
50
45
51
50
45
52
51
46
52
51
46
52
51
47
52
51
49
53
52
50
53
52
48
56
52
49
56
53
48
57
52
48
58
53
47
61
54
48
62
55
47
64
55
46
65
56
47
67
57
48
68
58
48
71
58
49
72
59
50
70
60
51
70
60
51
70
60
51
70
60
51
69
59
50
67
57
48
66
55
49
65
54
48
64
53
49
64
53
49
63
52
48
62
51
47
62
51
49
63
52
50
64
53
51
64
53
51
65
54
50
68
53
50
75
50
53
81
49
54
86
46
54
85
45
53
82
47
53
75
49
50
68
53
50
63
56
48
61
57
45
63
57
43
67
55
41
73
54
40
83
50
41
88
50
41
93
50
43
100
51
44
108
53
48
118
54
52
125
55
55
130
56
55
131
55
55
130
54
54
126
55
53
125
58
52
125
60
54
125
62
53
128
63
57
131
64
56
134
63
57
133
65
56
131
65
51
131
65
49
132
65
49
132
63
48
136
60
47
136
58
46
137
57
46
138
56
45
135
55
44
134
56
44
131
57
44
128
59
44
126
60
44
124
61
44
121
62
44
126
60
44
133
53
42
138
51
44
160
77
69
166
89
81
138
65
56
124
57
48
130
70
59
128
75
61
123
71
58
122
74
60
124
76
62
125
77
63
127
77
66
130
80
69
137
85
74
134
92
76
119
105
79
117
112
82
130
114
88
141
117
93
150
117
98
159
124
105
166
135
115
167
145
122
157
147
122
150
153
124
146
160
127
143
165
129
139
165
130
134
161
126
130
156
121
131
150
118
134
143
112
136
141
111
134
140
112
131
142
112
129
142
112
126
141
112
122
138
109
118
134
107
109
125
98
104
116
92
96
104
83
87
90
71
80
77
62
72
64
51
66
54
42
64
47
39
61
43
39
60
42
40
56
42
39
53
42
40
50
42
39
47
44
39
44
45
39
43
45
40
43
45
40
44
45
40
45
44
42
47
43
42
51
41
42
52
40
42
54
39
42
54
40
40
51
40
36
60
51
44
69
62
52
73
71
56
81
82
64
93
98
75
103
113
86
106
121
90
110
130
93
107
132
92
108
137
93
112
145
98
113
149
101
111
149
100
111
151
101
114
154
102
117
159
109
114
156
106
113
155
105
116
158
110
120
162
114
122
164
118
121
162
118
121
159
118
118
154
116
119
153
118
117
148
114
111
141
107
106
133
102
99
124
94
85
108
79
78
92
69
67
68
54
64
57
47
58
51
41
54
55
49
55
56
50
55
56
50
55
56
50
56
57
51
56
57
51
57
56
51
58
57
52
58
57
52
59
58
53
62
59
54
63
60
55
63
60
55
63
60
55
64
59
55
64
59
55
66
58
55
66
58
55
65
57
54
64
56
53
61
56
52
61
56
52
60
55
51
60
55
51
60
55
51
60
55
52
60
55
52
60
55
52
59
54
51
57
53
50
57
51
51
56
51
48
56
47
48
57
47
46
56
47
48
56
48
46
56
48
46
56
48
46
54
49
46
54
49
45
54
49
45
54
49
45
53
50
45
53
50
45
54
51
46
54
51
46
55
52
47
55
52
47
53
52
48
53
52
48
56
52
49
57
53
50
58
54
51
60
57
52
61
56
52
64
57
51
64
55
48
65
56
47
67
57
48
68
58
48
71
58
49
72
60
48
73
61
49
73
61
49
74
61
52
74
61
52
74
61
52
73
60
51
70
60
51
68
58
49
66
56
47
65
55
46
65
56
49
64
55
48
64
55
50
63
54
49
63
54
49
64
55
50
64
55
50
65
56
51
64
54
52
65
55
53
67
56
54
70
56
55
72
57
54
74
56
54
74
56
54
72
57
52
69
56
48
69
56
47
69
57
45
70
56
43
73
57
44
73
57
42
76
57
43
82
54
42
90
47
38
100
47
39
110
51
45
122
54
51
131
57
56
137
59
57
139
59
58
139
61
59
139
65
62
135
64
58
130
61
54
127
60
51
127
58
51
130
60
52
136
61
55
138
64
55
133
63
53
132
64
51
132
62
50
134
62
50
134
60
49
133
59
48
132
58
47
131
59
47
128
58
46
127
59
46
126
60
46
127
61
47
127
61
47
128
60
47
129
59
47
135
57
47
144
49
43
160
61
56
203
108
102
216
127
121
171
91
84
138
68
60
136
76
65
127
78
64
117
73
60
114
77
61
113
80
63
114
81
64
118
83
64
124
85
68
132
90
74
128
100
79
113
113
79
116
120
85
138
118
91
156
115
95
173
109
99
186
107
102
194
111
107
195
116
111
191
128
119
183
137
122
173
148
126
163
156
128
154
159
129
145
159
126
139
154
121
137
151
118
140
143
114
142
142
114
139
144
114
135
146
114
132
147
114
128
147
115
122
146
112
119
144
112
112
137
105
107
130
101
103
119
92
94
107
81
88
93
71
80
79
59
72
67
48
67
58
43
65
50
43
64
49
44
59
48
42
56
47
42
52
47
41
50
47
40
46
47
39
46
47
41
48
47
42
51
46
42
54
44
43
58
42
43
62
40
43
65
38
43
69
36
43
67
38
40
70
53
45
76
67
52
86
81
62
91
89
68
96
98
74
103
109
81
105
119
86
106
123
87
108
130
91
103
130
87
102
134
87
108
142
92
111
148
97
110
148
97
110
150
98
114
154
102
115
157
107
111
155
106
111
153
105
114
156
110
119
160
116
121
162
120
120
158
119
117
155
118
115
151
115
117
151
118
115
146
114
110
139
108
105
132
99
98
123
91
84
109
77
77
93
67
72
73
59
69
60
51
63
54
45
55
56
50
55
56
50
56
57
51
56
57
51
56
57
51
57
58
52
58
57
52
58
57
52
59
58
53
60
59
54
63
60
55
64
61
56
64
61
56
64
61
56
65
60
56
65
60
56
67
59
56
67
59
56
67
59
56
66
58
55
63
58
54
62
57
53
62
57
53
61
56
52
62
57
53
62
57
53
62
57
53
62
57
53
61
56
53
60
55
51
58
53
49
59
51
48
58
48
46
58
48
46
57
49
46
57
49
46
57
49
47
57
49
46
57
49
46
55
50
46
54
49
45
54
49
45
54
51
46
54
51
46
54
51
46
55
52
47
55
52
47
55
52
47
53
52
48
54
53
49
57
53
50
59
56
51
60
57
52
63
58
52
66
59
53
66
59
51
65
56
47
66
58
47
67
57
47
69
59
47
72
60
48
73
61
49
74
62
50
74
62
50
75
62
53
75
62
53
74
61
52
74
61
52
70
60
51
69
59
50
67
57
48
66
56
47
66
57
50
66
57
50
65
56
51
64
55
50
64
55
50
65
56
51
66
57
52
66
57
52
63
56
50
64
57
51
66
59
53
69
60
55
71
60
54
73
60
54
77
60
53
78
59
52
77
54
46
78
54
44
81
54
43
81
54
43
81
55
42
82
56
43
80
57
41
86
54
39
103
53
42
114
54
44
126
59
51
137
64
57
149
68
64
155
72
68
159
74
71
159
76
70
160
81
74
153
76
68
142
68
59
133
59
48
132
55
45
133
55
45
140
57
49
143
60
52
139
60
53
138
61
55
137
60
54
136
59
53
136
59
53
132
59
52
128
60
51
125
61
51
122
62
51
122
62
51
122
62
51
125
61
51
129
59
51
134
57
51
139
54
51
146
51
49
150
41
38
176
63
59
234
125
122
252
150
146
195
104
99
149
72
64
137
75
64
120
72
58
112
76
60
106
81
61
104
83
62
106
86
62
111
86
64
118
90
69
128
95
76
130
102
80
124
113
81
134
118
85
160
115
92
183
107
94
203
95
95
214
84
92
218
81
91
218
82
92
230
111
117
219
121
120
207
133
124
195
142
126
184
147
128
174
148
125
165
145
120
162
142
118
159
137
114
159
137
116
156
140
117
152
142
117
148
144
117
141
144
115
137
143
115
133
144
114
127
137
110
124
133
106
119
121
97
112
110
87
105
97
78
98
82
66
87
68
53
83
59
47
79
52
45
77
49
45
73
48
44
68
47
42
64
47
40
59
46
38
55
46
39
54
47
39
57
48
41
58
47
41
61
46
43
65
44
43
70
41
43
72
40
43
75
39
43
72
41
39
84
66
52
89
81
60
100
94
70
103
101
76
105
108
79
110
117
86
109
123
88
108
126
88
107
132
90
103
132
86
103
135
86
109
143
93
112
149
98
113
150
98
114
153
100
117
157
105
116
155
108
111
153
107
111
150
106
114
153
109
119
157
118
121
159
120
119
154
121
116
150
117
115
148
117
117
148
117
115
144
113
111
138
107
105
132
101
97
124
91
84
109
77
77
93
66
78
79
63
76
67
58
69
60
51
57
58
52
57
58
52
57
58
52
57
58
52
57
58
52
58
59
53
61
60
55
61
60
55
61
60
55
61
60
55
64
61
56
64
61
56
65
62
57
66
63
58
68
63
59
68
63
59
69
64
60
69
64
60
69
64
58
68
63
57
68
63
57
67
62
56
69
62
56
68
61
55
66
59
53
66
59
53
66
59
53
66
59
53
66
58
55
66
59
53
65
58
52
65
58
52
65
56
51
65
56
51
65
56
51
64
55
50
64
54
52
62
55
49
62
55
49
62
55
49
60
55
49
60
55
49
59
54
48
58
53
47
56
53
46
56
53
46
55
52
47
55
52
47
57
54
49
57
54
49
57
54
49
58
55
48
60
55
49
61
56
50
65
58
50
66
59
49
67
58
49
68
60
49
70
60
50
74
62
50
75
63
51
76
64
50
78
64
51
78
64
53
78
64
55
78
64
55
76
63
54
75
62
53
73
60
51
72
59
50
69
59
50
69
59
50
66
57
48
65
56
47
64
57
49
63
56
48
63
56
48
63
56
48
64
57
51
64
57
51
60
53
47
77
68
61
77
64
58
75
58
51
84
64
57
82
54
50
81
48
43
95
60
54
91
52
45
94
54
46
95
52
43
92
48
39
94
47
37
101
54
44
109
61
49
114
60
48
137
73
61
143
71
59
151
73
63
159
75
65
159
70
62
155
62
55
154
61
54
158
68
59
166
78
68
164
80
69
168
86
74
171
89
75
165
79
66
153
65
53
151
59
48
156
62
54
148
57
56
146
56
56
143
53
53
137
51
50
136
55
52
135
62
56
127
63
54
117
60
49
117
65
52
115
63
50
116
59
48
121
57
48
133
54
50
142
50
51
149
44
49
155
38
44
198
72
73
229
99
97
194
70
68
202
89
85
224
122
118
171
86
79
134
70
60
132
86
70
109
82
61
105
91
65
105
98
70
107
100
72
107
95
69
111
94
68
125
99
76
141
106
84
145
99
76
177
110
93
208
111
104
218
89
93
222
59
76
229
45
69
241
44
72
243
49
76
243
65
89
233
74
92
227
91
101
226
111
114
224
124
124
218
129
125
216
133
127
215
138
130
196
126
118
192
128
119
189
131
120
185
133
120
181
135
120
175
136
119
171
138
121
167
138
120
157
128
112
157
125
110
154
121
106
150
110
98
145
98
90
135
85
78
127
72
67
123
65
63
117
58
60
103
47
50
100
48
50
97
49
49
79
39
39
71
37
35
76
48
45
77
53
49
72
51
46
69
50
44
68
49
45
70
49
46
70
46
44
71
43
42
75
45
45
81
54
47
89
72
52
96
87
58
102
95
66
103
100
69
107
111
78
117
124
90
117
132
93
111
129
89
108
131
87
108
135
90
112
141
93
114
146
97
115
149
98
117
151
100
119
153
102
118
155
104
114
150
106
115
152
111
115
151
113
113
149
111
115
149
116
119
153
120
122
152
124
121
150
122
120
149
121
115
141
114
109
135
106
107
132
102
105
130
100
97
122
90
84
109
77
79
95
68
79
80
64
84
75
66
82
73
64
57
58
52
57
58
52
57
58
52
57
58
52
58
59
53
59
60
54
62
61
56
63
62
57
62
61
56
62
61
56
65
62
57
65
62
57
66
63
58
67
64
59
68
63
59
68
63
59
70
65
61
69
64
60
69
64
58
69
64
58
68
63
57
68
63
57
69
62
56
69
62
56
69
62
56
69
62
56
69
62
56
68
61
53
67
60
54
67
60
52
68
59
52
67
58
49
66
57
50
66
57
50
66
57
50
66
57
50
65
56
51
65
56
51
64
57
51
64
57
51
62
55
49
60
55
49
59
54
48
59
54
48
57
54
47
56
53
46
55
52
47
55
52
47
57
54
49
57
54
47
57
54
47
58
55
48
60
55
49
62
58
49
65
58
48
66
60
48
67
59
48
69
59
47
73
61
49
74
62
48
76
64
50
76
64
50
78
64
51
78
64
51
78
64
53
78
64
55
77
63
54
74
61
52
73
60
51
72
59
50
69
59
50
69
59
50
67
58
49
66
57
48
64
57
49
64
57
49
64
57
49
64
57
49
65
58
52
65
58
50
67
58
51
73
56
49
75
47
43
86
46
44
106
55
54
116
58
57
123
59
59
133
69
67
129
68
63
131
72
64
132
73
65
132
72
62
141
74
66
152
79
72
161
80
76
162
79
71
147
68
55
148
66
52
154
66
54
159
67
56
160
62
51
156
55
45
156
55
45
159
61
48
163
67
53
155
63
48
153
64
48
160
69
51
164
71
54
167
70
54
174
72
58
182
78
69
181
75
77
176
71
76
167
64
68
155
56
59
147
55
56
142
61
58
133
62
56
121
61
51
114
60
48
124
72
59
135
75
65
133
62
56
133
43
43
149
40
46
181
57
68
211
75
87
219
76
78
221
79
77
199
64
61
190
65
63
208
96
92
179
89
81
132
64
53
130
84
68
121
97
73
101
91
64
96
92
63
107
104
73
117
108
79
119
102
74
127
99
75
150
99
78
185
102
88
210
97
91
224
88
90
231
67
78
238
46
69
249
39
68
255
40
72
255
42
73
255
48
78
243
53
78
236
63
82
234
76
90
230
82
94
224
84
93
222
85
93
221
90
98
219
98
105
216
101
108
214
105
110
213
108
113
208
112
114
206
116
116
204
118
119
201
120
119
204
124
125
203
121
123
203
118
121
202
113
117
202
107
115
201
101
111
199
97
108
197
95
108
195
97
110
177
84
95
163
76
85
153
72
81
141
68
75
132
70
73
107
55
57
72
28
27
84
49
45
77
48
42
72
49
43
74
54
47
75
56
49
75
58
50
79
62
54
85
69
56
91
79
53
99
90
57
103
97
65
105
102
69
110
114
79
122
130
93
122
137
98
116
134
94
114
137
95
112
137
95
112
139
96
113
142
96
117
146
100
119
148
100
119
148
100
119
148
102
115
146
105
120
150
114
122
151
120
121
150
120
126
152
125
131
157
132
133
157
135
131
155
133
129
153
131
122
146
122
114
137
111
109
132
104
104
129
100
96
121
91
84
109
77
78
97
69
82
83
67
86
80
68
86
79
69
56
57
51
56
57
51
56
57
51
57
58
52
59
60
54
60
61
55
63
62
57
64
63
58
64
63
58
64
63
58
67
64
59
67
64
59
67
64
59
67
64
59
68
63
59
68
63
59
70
65
59
70
65
59
70
65
59
69
64
58
69
64
58
69
64
58
71
64
56
70
63
55
74
65
58
73
64
57
72
63
56
71
62
53
70
61
54
69
60
51
70
60
51
69
59
49
68
58
49
68
58
49
68
58
49
68
58
49
68
59
52
68
59
52
68
59
52
67
60
52
63
56
48
63
56
48
60
55
49
59
54
48
58
53
47
58
53
47
57
52
46
57
52
46
57
54
47
57
54
47
58
53
47
59
55
46
62
55
47
64
57
47
66
57
48
67
59
48
69
59
49
70
60
48
73
61
49
75
63
49
77
63
50
77
64
48
78
65
49
77
64
48
80
63
53
77
63
52
76
62
51
75
61
50
73
60
51
72
59
50
69
59
49
68
58
48
67
58
49
67
58
49
65
58
48
65
58
48
63
59
50
64
60
51
64
60
51
68
59
52
83
69
60
82
51
46
105
51
51
142
65
71
173
76
87
193
86
96
203
93
102
196
96
98
154
66
62
150
73
63
149
77
65
155
79
66
171
82
74
190
85
82
203
80
83
196
76
75
163
65
52
157
66
48
160
64
48
165
63
49
165
59
46
163
55
43
164
56
43
167
61
47
171
69
54
161
62
43
152
55
36
157
58
39
165
62
45
172
65
47
178
67
50
184
67
58
167
48
50
177
57
66
185
68
76
190
75
82
186
77
82
173
75
76
150
65
62
130
55
49
123
56
47
118
54
44
122
49
42
133
48
45
156
51
55
186
60
71
215
70
87
232
77
91
225
71
73
206
54
51
205
60
57
187
52
49
198
79
75
198
99
93
148
74
63
140
91
74
125
99
76
106
95
67
104
99
69
117
111
79
128
111
81
130
103
74
143
103
78
177
104
89
224
100
98
239
84
90
238
71
81
239
58
73
248
52
74
255
52
78
255
50
77
254
46
72
255
53
79
245
51
75
240
53
74
239
56
76
237
55
77
233
54
75
236
54
76
239
57
80
241
65
88
239
67
91
239
70
93
237
73
97
236
77
99
234
81
101
233
84
104
232
86
107
228
84
107
229
83
106
228
80
106
228
78
105
233
78
109
238
81
112
242
83
115
244
87
118
252
105
133
237
99
124
225
93
116
210
87
108
203
90
108
199
101
114
166
83
93
114
45
50
93
39
39
88
49
44
87
58
52
81
63
53
66
58
45
58
56
41
63
66
49
76
78
57
86
79
51
97
86
54
101
95
63
104
101
68
113
117
84
127
134
101
126
140
105
119
136
100
120
140
105
117
139
101
114
139
100
114
139
99
118
140
101
121
143
104
122
144
105
122
144
106
128
149
118
132
155
126
138
158
133
141
160
138
146
163
144
151
168
150
152
169
153
150
166
153
145
162
146
135
152
134
122
141
121
112
131
109
103
126
98
94
119
89
84
109
77
80
99
71
82
87
67
88
85
70
89
85
73
55
56
50
55
56
50
56
57
51
57
58
52
59
60
54
61
62
56
64
63
58
65
64
59
66
65
60
66
65
60
68
65
60
68
65
60
68
65
60
68
65
60
69
64
60
69
64
60
71
66
60
71
66
60
71
66
60
70
65
59
70
65
59
70
66
57
72
65
57
72
65
57
76
67
60
75
66
57
74
65
56
73
64
55
72
62
53
71
61
51
70
60
50
69
59
49
68
58
48
68
58
48
69
59
49
69
59
50
68
59
50
69
60
51
69
60
53
69
60
53
64
57
49
63
56
48
61
56
50
60
55
49
59
54
48
58
53
47
58
53
47
58
53
47
57
54
47
57
54
45
59
55
46
59
55
44
63
56
46
64
58
46
67
59
48
68
60
47
70
60
48
70
61
46
74
62
48
75
63
47
77
64
48
77
64
48
77
64
47
77
64
48
79
63
50
79
62
52
76
62
51
75
61
50
74
60
51
71
58
49
69
59
49
68
58
48
68
59
50
68
59
50
66
59
49
64
60
49
64
60
51
65
61
52
66
62
53
70
60
51
81
56
49
88
43
38
135
59
63
189
85
96
216
85
101
228
86
102
226
86
99
201
75
79
157
52
48
148
58
47
144
62
48
152
66
51
173
70
61
196
74
71
212
67
72
203
63
64
177
66
55
167
70
53
169
66
51
172
64
51
175
63
51
176
62
51
179
66
52
180
68
54
178
71
53
169
66
47
163
60
41
164
59
40
169
60
40
171
58
40
174
54
38
173
51
40
182
57
55
186
57
61
187
56
62
186
55
60
190
61
66
197
74
76
196
84
83
190
88
83
153
63
55
139
52
42
135
45
37
157
54
49
195
72
75
219
80
87
224
66
81
218
52
64
221
59
57
204
47
42
209
57
52
198
56
52
197
70
64
200
93
85
167
88
75
144
87
70
119
87
64
120
100
73
126
112
83
130
111
81
133
102
74
145
99
75
172
109
91
213
117
105
234
85
87
246
70
80
242
62
74
242
60
73
249
64
78
253
67
81
249
61
76
243
55
72
253
66
83
248
60
77
244
55
75
246
54
75
248
52
74
249
50
73
255
51
78
255
56
83
255
51
84
252
53
86
252
54
87
249
56
87
247
58
90
248
61
92
246
63
94
245
64
97
247
67
102
245
67
103
244
64
101
245
63
103
247
65
105
252
67
109
255
71
115
255
74
115
255
81
117
253
84
117
250
87
118
239
85
113
228
86
110
226
99
120
213
102
118
180
89
98
124
49
53
104
48
47
88
49
42
80
56
44
71
62
47
63
64
46
59
68
47
65
70
47
81
74
46
95
84
56
103
96
67
111
107
78
124
124
96
136
142
114
135
145
118
125
139
113
122
141
113
124
143
115
124
143
115
122
141
111
122
138
109
125
140
111
131
146
117
136
151
122
149
163
138
156
169
149
163
174
157
166
177
161
172
180
167
177
185
174
176
183
176
171
181
173
161
171
162
148
160
148
131
145
130
115
132
113
104
124
99
93
116
88
83
108
78
80
100
72
80
88
67
86
87
69
87
88
72
54
55
49
54
55
49
55
56
50
56
57
51
58
59
53
60
61
55
63
62
57
64
63
58
66
65
60
66
65
60
68
65
60
68
65
60
68
65
60
69
66
61
70
65
61
70
65
61
70
67
60
70
67
60
71
66
60
72
67
61
72
68
59
72
68
59
74
67
59
74
67
57
76
67
58
75
66
57
75
65
56
74
64
54
74
61
52
73
61
49
72
60
48
71
59
47
69
59
47
69
59
47
69
59
47
69
59
49
69
59
49
69
59
49
68
59
50
68
59
50
64
57
47
64
57
47
64
57
49
63
56
48
60
55
49
59
54
48
59
54
48
58
53
47
59
55
46
59
55
46
59
55
46
60
56
45
63
56
46
65
59
47
67
59
48
68
60
47
71
61
49
71
62
47
75
63
49
77
64
48
77
64
48
78
65
48
79
63
47
79
63
48
79
63
50
78
61
51
78
61
51
74
60
49
73
59
48
71
59
47
68
58
48
68
58
48
68
60
49
68
60
49
66
59
49
64
60
49
65
61
50
65
63
51
66
63
54
75
61
52
91
54
46
116
52
50
172
77
83
218
94
105
229
78
95
226
65
81
213
55
69
182
39
43
167
50
41
156
56
40
145
58
38
149
61
41
171
65
51
193
69
61
211
63
63
204
60
59
177
63
53
168
66
52
170
64
50
173
63
50
178
64
53
184
67
57
188
72
59
187
74
60
172
62
47
170
63
47
168
61
43
166
59
41
170
57
41
176
58
44
183
59
47
187
61
49
200
71
65
204
69
65
206
64
63
205
57
57
211
56
60
220
67
69
223
77
78
218
83
79
193
68
62
195
77
67
203
84
76
209
85
77
215
75
74
218
64
66
223
53
62
224
51
55
217
52
46
215
57
46
205
51
43
206
59
52
190
57
52
178
65
57
181
91
80
150
85
67
123
78
57
130
98
73
136
106
80
133
96
70
147
90
70
176
100
84
206
112
100
232
109
104
231
70
75
237
60
68
230
59
67
227
62
68
227
68
72
227
73
75
228
74
76
229
73
77
240
76
83
239
68
77
239
58
73
242
55
72
245
52
71
248
49
70
254
52
76
255
58
82
255
57
86
253
58
88
252
59
88
250
59
90
251
60
93
252
63
95
253
65
98
252
67
101
253
69
105
251
69
107
250
68
108
250
68
109
250
67
111
249
68
111
249
68
113
250
67
111
255
72
112
255
66
104
255
74
109
253
79
112
238
75
104
230
80
107
226
93
114
216
99
115
186
91
99
140
64
68
96
38
36
81
43
34
86
64
51
86
79
61
74
76
55
65
67
45
82
74
51
101
89
67
117
106
86
128
123
103
142
141
121
153
156
139
149
156
140
136
147
131
130
142
128
137
151
136
143
155
141
140
153
136
135
146
130
138
147
130
151
158
142
164
168
153
178
182
167
184
188
174
191
193
182
192
193
185
194
195
189
197
198
193
195
195
195
190
190
190
176
181
177
162
169
162
141
151
140
121
135
118
105
123
101
92
115
89
84
109
79
82
102
74
80
90
66
84
89
67
86
91
71
53
54
48
53
54
48
54
55
49
55
56
50
56
57
51
58
59
53
61
60
55
62
61
56
64
63
58
64
63
58
67
64
59
68
65
60
69
66
61
69
66
61
71
66
62
71
66
62
71
68
61
71
68
61
72
67
61
73
68
62
73
69
60
73
69
60
75
68
58
76
69
59
76
67
58
75
67
56
76
66
56
75
65
53
76
64
52
75
63
51
74
62
50
73
61
49
71
61
49
71
61
49
70
60
48
70
60
48
69
59
49
69
59
49
68
59
50
67
58
49
65
58
48
65
58
48
64
57
49
64
57
49
61
56
50
60
55
49
59
54
48
59
54
48
59
55
46
59
55
46
59
55
44
60
56
45
63
57
45
65
59
47
68
60
47
69
61
48
72
63
48
74
62
48
76
63
47
77
64
48
78
65
48
78
65
48
79
63
47
79
63
47
79
63
50
78
61
51
77
60
50
76
59
49
73
59
48
71
59
47
70
57
48
67
57
47
67
59
48
66
60
48
66
59
49
64
60
49
64
62
50
65
63
51
66
63
54
78
59
52
106
57
52
149
71
69
195
90
95
218
88
98
220
68
81
219
57
70
209
52
59
188
44
43
172
50
39
159
56
37
150
58
33
148
58
32
161
61
38
179
64
46
193
59
50
189
56
49
167
55
44
162
58
45
165
57
45
167
55
44
175
58
49
184
66
56
186
69
59
183
69
58
174
62
50
173
63
48
167
60
44
164
54
39
170
54
41
182
62
48
195
68
59
202
71
61
188
58
45
203
65
54
221
70
63
232
68
66
239
63
65
239
59
62
231
52
55
218
48
48
216
57
53
222
73
66
229
85
76
224
80
71
216
63
57
214
50
48
224
48
50
231
55
55
216
49
40
221
61
47
202
46
34
205
56
49
189
52
44
174
55
47
200
104
92
184
108
92
142
87
67
135
90
67
132
86
63
139
81
61
170
91
76
209
106
97
226
103
98
229
83
84
240
69
75
239
62
70
226
60
64
216
62
62
209
66
62
209
72
66
219
80
77
233
87
87
235
79
82
238
68
77
239
59
71
245
54
70
246
50
70
246
47
68
249
50
71
253
55
78
251
57
83
248
58
84
248
58
86
249
59
87
254
61
92
255
63
97
255
67
101
255
68
107
251
60
101
251
62
104
250
63
106
247
64
108
247
64
110
244
62
110
241
61
108
241
60
105
255
74
114
251
61
97
251
66
100
255
78
110
251
77
110
243
80
109
236
86
111
224
91
110
231
114
130
194
97
106
150
74
76
116
58
56
93
53
45
82
56
43
82
66
50
87
76
58
94
81
65
114
101
85
136
124
110
149
141
130
159
157
145
166
167
159
161
166
159
150
156
152
149
158
155
158
167
164
166
175
172
166
172
168
162
167
163
166
168
163
181
180
176
194
193
188
204
201
192
209
206
197
213
208
204
213
208
205
212
206
206
213
207
209
209
203
207
203
198
202
191
189
192
176
178
175
152
159
152
128
140
126
109
126
107
96
116
91
87
110
82
86
106
78
83
95
71
86
96
72
87
95
72
53
54
48
53
54
48
53
54
48
53
54
48
54
55
49
56
57
51
58
57
52
59
58
53
61
60
55
62
61
56
65
62
57
67
64
59
68
65
60
70
67
62
72
67
63
72
67
63
71
68
61
72
69
62
73
68
62
73
68
62
74
70
61
74
70
61
77
70
60
77
70
60
77
69
58
76
68
57
77
67
57
77
67
55
78
66
54
77
65
51
78
64
51
77
65
51
74
65
50
74
65
50
73
64
49
72
63
48
71
61
49
70
60
48
68
60
49
68
60
49
67
58
49
67
58
49
65
58
50
64
57
49
63
56
50
63
56
50
60
55
49
60
55
49
60
56
47
60
56
45
60
56
45
60
56
45
64
58
46
65
59
47
68
60
47
69
61
48
72
63
48
75
63
49
77
64
48
78
65
48
80
64
48
80
64
48
79
64
45
79
63
47
79
61
49
79
61
49
77
61
48
76
60
47
73
59
48
70
58
46
69
56
47
67
57
47
66
58
47
65
59
47
65
58
48
63
59
48
63
61
49
64
62
50
64
64
52
78
58
49
111
50
47
165
75
75
190
84
86
186
63
68
188
49
54
193
48
51
191
49
47
183
50
41
167
50
33
162
57
35
155
61
33
150
61
31
152
61
32
158
63
35
164
59
37
162
55
37
158
54
41
160
56
45
162
54
44
165
52
44
173
56
49
183
64
58
184
67
60
178
64
54
177
66
55
173
65
52
168
60
47
166
56
43
175
58
48
188
67
56
195
68
61
196
65
55
193
64
45
203
64
45
213
55
43
221
44
38
232
36
37
245
39
43
253
44
49
252
49
52
233
44
42
227
48
43
220
53
44
217
55
44
220
53
44
223
52
44
229
50
45
228
51
43
215
52
37
212
55
38
207
51
38
206
55
44
196
55
46
187
63
55
199
97
85
210
127
113
166
101
83
143
86
66
139
76
58
164
86
73
203
100
91
224
99
95
232
82
84
233
66
73
246
69
77
238
63
68
225
62
63
213
64
60
202
63
56
200
63
55
211
69
65
229
77
76
240
74
78
245
63
75
251
56
72
255
54
72
254
53
72
249
50
69
249
54
71
250
59
77
247
58
80
246
58
82
246
56
82
249
56
85
251
56
88
254
59
93
255
61
97
255
63
103
255
64
106
255
64
108
255
65
112
255
67
115
251
68
116
249
67
116
247
67
115
244
67
111
251
73
109
245
68
97
249
72
101
252
77
106
250
77
107
255
88
116
255
97
122
242
94
116
240
107
126
229
113
126
211
111
119
175
93
97
132
67
65
104
54
47
105
65
55
115
85
74
121
101
92
140
125
118
163
150
144
173
163
161
178
174
171
182
182
182
178
182
185
170
175
179
176
183
189
182
189
197
189
193
202
192
195
202
195
194
202
201
198
205
213
206
214
221
215
219
226
218
216
231
221
219
233
221
221
230
218
220
229
216
223
228
215
224
224
212
222
217
207
216
202
197
203
186
186
186
162
167
163
136
146
135
116
130
113
101
120
98
92
115
87
91
111
83
92
106
80
92
105
79
94
104
79
53
54
49
53
54
49
53
54
49
53
54
48
53
54
49
54
55
49
56
55
50
57
56
51
60
59
54
61
60
55
64
61
56
66
63
58
68
65
60
70
67
60
71
68
61
72
69
62
72
69
62
72
69
62
72
69
60
74
70
61
74
70
59
75
71
59
75
71
59
78
72
58
77
71
59
77
71
59
77
69
58
77
68
59
77
68
59
77
68
61
78
67
63
78
67
61
77
67
55
77
68
53
75
66
51
74
65
50
72
62
50
71
61
49
69
61
50
68
59
50
67
58
49
67
58
51
65
58
50
65
58
52
64
57
51
63
55
52
60
55
51
60
55
49
62
55
47
62
55
47
60
56
47
61
57
48
62
58
49
65
58
50
67
60
50
68
61
51
72
64
53
73
63
51
76
64
50
77
65
49
78
65
48
80
64
48
79
64
45
79
63
47
76
62
49
76
62
51
75
61
50
76
59
51
74
57
49
73
56
49
70
55
48
67
56
50
65
56
47
62
58
47
61
59
47
60
61
47
63
61
48
64
62
47
66
63
48
83
57
44
134
61
55
193
93
91
200
90
89
174
56
54
170
47
42
177
50
43
171
47
37
171
51
35
170
58
38
171
67
42
169
71
44
163
70
39
160
66
38
161
66
38
161
61
35
158
58
35
160
57
42
163
59
48
166
58
48
166
55
46
173
60
52
182
67
60
183
69
59
176
64
53
171
61
48
168
60
47
169
59
46
172
60
48
187
69
57
198
76
65
197
69
60
188
56
44
188
55
36
201
60
40
218
61
46
227
53
44
238
44
42
246
42
43
249
40
43
247
39
39
246
44
42
241
48
43
236
52
44
232
54
44
227
53
42
226
52
41
225
51
40
222
52
37
222
59
42
207
50
31
219
63
48
205
55
41
199
57
45
194
63
53
179
65
54
209
108
96
191
103
89
165
82
66
170
78
65
205
98
90
232
103
98
231
81
82
235
64
70
246
65
74
237
60
68
227
58
61
215
59
60
207
62
57
195
61
52
185
54
44
187
52
46
199
56
52
229
71
72
234
63
69
242
58
68
249
57
72
252
57
73
250
55
71
250
58
73
251
63
78
252
67
85
251
65
86
250
63
84
249
59
84
251
58
85
253
58
90
255
59
94
255
60
99
255
64
104
255
63
107
255
63
110
251
63
111
247
64
112
245
65
113
245
64
115
243
66
112
244
68
106
252
79
109
255
86
115
243
76
104
231
66
96
249
86
115
255
105
133
255
102
130
246
94
119
238
96
120
231
104
123
220
112
125
199
112
120
170
102
103
143
92
88
126
89
81
153
126
119
171
152
146
190
176
173
197
187
186
198
194
195
200
199
204
199
199
207
195
195
207
203
202
216
204
202
216
209
202
218
215
206
223
221
213
228
230
219
233
232
224
235
237
227
235
239
229
230
242
232
230
244
232
232
240
228
230
238
225
232
237
224
233
234
221
231
228
216
226
209
202
209
193
191
194
171
171
169
145
150
143
122
134
120
108
123
104
98
117
95
96
114
90
100
114
89
100
112
88
100
110
86
50
49
47
51
50
48
52
51
49
54
53
49
56
55
53
57
56
52
57
56
52
57
56
52
59
58
53
60
59
54
61
61
53
63
63
55
65
65
57
67
67
57
69
69
59
69
69
59
72
72
64
72
72
62
72
72
60
74
72
59
75
74
56
76
75
55
77
76
56
78
75
56
77
74
57
74
70
58
71
68
59
74
70
67
78
73
77
78
73
80
71
68
79
68
63
69
78
69
62
76
67
52
74
64
52
75
65
53
77
67
57
76
66
56
70
61
52
66
57
48
69
60
53
67
58
53
64
57
51
63
55
52
64
56
53
63
55
53
60
55
52
60
52
50
67
58
53
66
57
52
65
57
54
62
57
53
63
58
55
62
58
55
63
59
56
64
60
57
66
63
58
68
64
55
71
64
54
74
64
52
76
64
48
79
64
45
79
64
43
76
63
44
70
64
50
69
62
52
72
59
51
74
56
52
75
54
53
77
52
55
75
55
57
72
58
58
67
62
58
55
56
48
55
59
45
62
66
49
62
64
43
58
56
35
67
59
36
101
66
46
189
106
92
183
75
65
166
55
44
164
54
41
167
55
43
164
54
39
163
56
38
168
61
43
162
57
36
165
60
38
169
64
42
171
65
41
172
61
41
172
57
38
174
54
37
170
55
37
164
54
39
161
55
41
162
56
42
166
60
46
170
64
50
172
66
52
172
66
50
172
65
49
169
62
44
171
61
44
173
60
44
179
61
47
189
67
52
196
70
56
192
62
49
184
50
38
199
57
43
203
57
42
207
57
43
213
57
45
219
55
45
225
54
46
231
52
47
237
50
45
240
46
44
242
47
45
242
49
44
239
50
44
234
53
42
227
55
41
221
58
41
218
59
40
219
58
38
212
51
31
207
52
32
206
56
39
197
56
39
190
54
40
194
66
53
207
83
73
200
78
67
207
83
75
225
92
87
238
93
90
240
80
82
237
62
67
243
56
63
248
63
71
235
64
70
225
67
68
214
64
65
201
62
57
187
60
51
179
58
47
177
59
47
180
59
48
202
76
64
212
75
67
222
70
67
226
62
63
235
60
65
248
63
71
254
62
73
249
59
71
253
69
81
250
68
81
253
68
82
255
68
85
253
64
86
250
60
85
254
61
90
255
66
100
255
70
107
255
65
106
249
59
103
245
58
103
244
61
109
248
68
115
253
73
121
255
75
122
255
78
121
255
78
117
249
81
116
239
82
113
229
79
106
229
79
106
247
90
119
255
103
135
255
93
128
240
69
105
245
86
118
232
94
120
198
91
109
194
117
125
140
92
92
145
114
109
171
143
132
189
167
156
212
195
187
222
213
208
221
220
218
220
219
224
222
220
231
226
219
235
231
216
237
235
216
238
241
217
241
244
220
242
245
227
243
245
231
244
243
236
244
244
239
243
248
243
240
248
243
239
248
240
238
245
236
237
242
231
235
237
226
232
232
221
227
229
220
225
214
208
212
205
201
202
187
186
184
163
165
160
139
144
137
121
131
120
114
125
111
112
123
107
123
132
115
119
128
109
118
125
107
48
46
47
49
47
48
51
50
48
53
52
50
54
53
51
55
54
50
56
55
51
56
55
50
58
57
52
59
58
53
61
61
53
63
63
55
65
65
55
67
67
57
68
68
56
69
69
59
72
72
62
72
72
62
72
72
60
74
72
57
75
74
54
76
75
54
77
77
53
78
77
56
75
74
56
75
73
61
75
74
69
80
80
82
87
85
96
89
88
106
86
84
106
82
79
96
79
73
75
77
68
63
72
63
58
70
61
56
71
62
57
72
63
58
70
61
56
66
59
53
68
58
56
65
57
54
63
55
52
63
55
52
64
56
53
64
56
53
61
56
53
59
54
50
61
52
47
61
52
47
61
53
50
60
55
52
61
57
54
62
58
57
61
60
58
62
61
57
66
63
58
68
63
57
71
64
54
74
64
52
77
64
48
79
64
45
80
63
43
76
63
44
65
64
46
63
64
50
69
60
53
72
57
54
74
54
55
74
52
55
70
51
55
67
52
55
65
60
57
60
59
54
61
61
49
69
63
49
74
58
42
80
54
37
100
65
46
133
74
58
176
80
66
171
59
45
160
50
35
161
54
38
163
58
39
158
55
36
158
57
37
163
62
42
161
59
37
167
60
40
174
63
43
179
64
45
182
61
44
183
57
42
184
54
40
181
55
41
170
57
41
165
58
42
164
57
41
165
59
43
168
62
46
171
65
49
171
66
47
171
64
46
174
63
44
171
58
40
177
60
43
191
69
54
198
72
57
193
63
49
188
56
43
192
54
41
203
55
43
207
55
44
208
57
46
209
59
45
212
60
47
216
58
46
224
56
47
231
52
45
238
49
45
244
46
43
244
46
43
241
48
43
234
52
41
225
55
40
215
58
39
213
58
36
222
60
39
217
54
35
213
56
37
212
61
42
204
59
42
193
53
38
196
58
47
207
70
60
209
70
63
218
73
68
233
79
77
243
80
81
244
71
73
240
59
64
245
58
65
248
67
72
229
66
69
218
68
67
210
66
65
197
62
56
183
59
49
174
58
45
170
60
45
171
61
46
182
69
53
198
76
63
212
78
69
220
71
67
227
63
62
239
63
66
250
63
70
254
64
74
248
67
74
247
67
76
250
68
80
255
70
84
253
66
83
249
62
83
252
62
88
255
66
97
255
70
104
255
67
105
252
63
105
249
64
106
249
66
112
252
70
118
254
74
122
255
75
123
255
72
120
255
71
115
244
74
111
242
82
116
243
93
122
246
96
123
247
88
118
247
79
112
250
70
107
248
68
107
238
68
104
220
73
102
203
92
111
182
106
116
115
71
72
150
121
115
180
148
137
206
176
165
229
209
200
239
226
220
235
231
230
233
232
237
236
230
242
237
226
243
246
227
249
251
225
250
255
227
253
255
230
253
255
236
254
255
242
253
254
247
254
252
250
251
253
249
246
252
249
244
251
246
243
249
244
241
247
238
239
243
234
237
240
231
236
238
229
234
230
221
224
220
214
216
202
198
197
179
178
174
158
161
154
142
147
140
137
143
133
136
144
131
142
148
134
137
144
128
134
140
126
47
46
44
48
47
45
49
48
46
50
49
47
52
51
47
53
52
48
55
54
50
55
54
49
58
57
52
58
58
50
60
60
52
62
62
54
64
64
54
66
66
56
67
67
57
68
68
58
73
70
61
73
71
59
74
72
59
76
73
56
77
74
55
78
76
55
78
76
55
79
76
57
75
73
58
78
75
66
84
82
83
95
94
102
105
104
120
109
109
133
108
107
138
107
104
131
96
89
105
89
81
92
79
71
82
72
64
75
72
62
71
71
61
69
69
60
65
64
58
60
67
58
59
63
58
55
60
55
52
60
55
51
61
56
50
62
57
51
62
58
49
61
57
48
56
51
45
57
52
46
59
54
48
60
57
50
61
58
51
62
59
52
63
60
53
64
60
51
69
62
52
71
63
52
73
63
51
76
64
48
79
63
48
80
63
47
80
63
45
76
63
44
60
59
39
58
61
42
62
60
47
65
58
48
66
55
51
67
53
52
63
52
50
60
50
49
63
55
52
68
57
53
75
56
50
82
49
44
92
43
39
111
46
44
139
58
57
164
69
67
165
58
48
162
50
36
159
49
32
164
57
39
165
60
41
158
55
36
158
56
34
162
60
38
164
59
38
170
61
41
177
65
45
182
65
47
185
62
46
187
60
45
190
58
45
190
60
47
178
60
46
172
60
46
169
57
43
169
57
43
171
60
43
173
62
45
173
62
45
173
60
44
178
63
45
176
56
40
185
62
46
203
76
61
203
71
58
188
54
42
186
50
38
201
57
46
208
54
44
212
54
43
212
56
44
214
58
46
216
58
47
220
56
46
227
54
47
232
51
44
240
48
45
244
46
43
244
46
43
240
49
41
231
50
39
221
54
38
212
56
34
210
55
33
221
56
36
220
53
35
218
57
39
218
62
47
211
61
46
200
54
41
197
57
44
203
65
55
201
60
53
205
62
56
217
69
65
229
75
73
234
74
74
233
67
67
236
63
65
235
67
67
222
67
65
213
68
63
205
66
61
194
61
52
182
58
46
174
56
42
171
58
42
172
59
43
172
56
41
192
68
56
212
78
69
221
73
69
224
64
64
232
62
65
247
66
73
255
72
80
244
65
71
244
64
73
249
67
79
253
71
84
254
69
85
250
64
85
251
63
88
254
65
95
255
68
102
255
67
105
255
67
107
255
70
112
255
73
119
255
75
123
255
76
124
255
74
122
255
66
116
255
68
116
254
72
113
250
78
116
252
91
124
255
98
128
250
87
118
236
69
99
248
77
109
254
86
119
218
64
92
203
71
94
218
121
132
187
121
123
103
64
59
151
123
112
178
140
129
215
177
166
245
216
208
253
234
228
250
240
239
250
245
249
249
243
253
244
236
251
251
233
255
255
233
255
255
234
255
255
237
255
255
242
255
255
246
255
255
251
255
255
254
252
255
253
250
255
252
248
255
249
247
255
247
245
254
244
245
252
242
243
250
239
243
248
239
242
240
231
234
229
223
225
211
207
206
190
189
185
173
174
168
162
165
158
157
163
153
157
163
151
163
171
158
157
165
150
153
161
148
47
46
44
47
46
44
48
47
45
49
48
44
50
49
45
51
50
46
53
52
47
54
53
48
56
56
48
57
57
49
59
59
51
61
61
53
63
63
53
65
65
55
66
66
56
67
67
57
72
69
60
74
70
59
75
72
57
77
74
57
80
75
56
79
77
56
81
76
56
79
76
59
76
74
62
81
80
76
94
93
98
109
108
122
122
122
146
129
130
161
128
130
168
128
128
166
123
117
151
114
107
138
101
95
123
89
83
109
84
76
100
77
69
90
71
64
80
66
60
72
68
63
70
64
59
63
60
56
55
59
54
51
59
54
48
60
56
47
61
57
46
59
56
47
58
55
48
57
57
49
59
59
51
62
59
50
63
61
49
64
60
49
63
59
47
65
59
45
70
63
47
72
63
46
75
63
47
77
64
47
79
63
48
79
63
47
80
62
48
76
63
47
66
61
42
63
62
44
64
61
46
65
58
48
65
58
50
64
57
51
62
57
53
60
57
52
61
56
52
70
56
53
80
52
49
88
44
43
107
41
43
135
48
54
161
55
65
174
61
65
167
54
46
165
55
40
165
58
40
170
63
45
168
63
44
160
57
38
161
56
35
164
59
38
165
58
38
171
60
41
179
62
44
185
64
47
189
62
47
193
61
48
197
61
49
196
62
50
189
63
51
182
61
50
178
57
46
174
56
42
175
57
43
176
58
44
178
58
44
179
57
42
182
59
44
185
59
45
196
66
52
203
69
57
200
62
51
190
49
39
192
50
40
205
57
47
214
53
43
216
52
42
218
54
45
219
55
45
222
55
46
225
54
44
230
51
44
236
49
42
243
48
44
244
46
43
244
47
41
239
48
40
228
50
38
219
52
36
210
54
32
208
53
31
215
50
30
218
48
31
218
52
36
220
60
46
214
61
47
208
57
46
205
61
50
210
68
58
196
53
45
197
54
48
202
59
53
216
68
64
226
77
73
229
75
73
222
67
63
214
61
56
211
64
57
206
65
56
199
62
52
190
60
47
181
58
43
176
56
42
175
57
43
177
59
45
172
52
38
189
63
51
209
72
64
217
72
67
221
66
64
229
64
68
243
70
76
253
78
85
240
63
69
240
63
69
246
66
77
254
72
85
254
72
87
252
66
87
250
64
88
252
65
94
255
65
99
255
67
102
255
70
109
255
73
114
255
77
121
255
79
124
255
76
123
255
72
121
255
63
113
255
74
122
255
79
122
252
73
112
246
77
110
252
87
117
252
87
117
243
79
106
239
75
102
236
78
103
206
62
85
220
98
113
251
156
164
211
141
141
104
57
51
113
75
64
166
119
109
210
163
155
247
210
202
255
231
226
255
242
241
255
251
254
255
250
255
249
241
254
250
237
255
252
237
255
255
237
255
255
240
255
255
242
253
255
246
254
254
250
251
255
251
250
255
252
249
255
251
247
255
249
247
255
248
246
255
245
246
254
244
245
254
243
247
253
242
246
246
235
239
236
227
228
218
213
210
201
198
193
186
185
180
179
180
172
177
180
169
176
182
170
183
191
180
175
183
172
169
177
166
49
48
44
49
48
44
48
47
43
48
47
43
49
48
44
50
49
44
52
51
46
53
52
47
55
55
47
56
56
48
57
57
49
59
59
51
61
61
51
63
63
53
65
65
55
68
65
56
73
69
58
76
70
58
78
72
58
80
74
58
82
75
57
82
77
58
83
76
58
81
75
61
79
74
68
86
84
85
102
100
113
119
120
141
134
134
168
141
144
185
143
147
195
143
144
198
142
139
192
135
131
182
123
119
169
112
109
154
105
100
141
95
91
126
85
80
110
78
74
97
75
71
88
69
66
77
63
61
66
59
55
56
57
53
50
57
54
47
56
53
44
56
53
44
54
55
49
55
56
51
56
57
49
59
59
49
62
60
47
63
60
43
66
61
42
67
60
41
71
63
44
74
63
43
75
64
44
76
65
47
77
64
48
77
63
50
76
64
52
76
62
51
77
63
52
76
62
53
73
58
51
67
56
50
63
56
50
60
57
52
56
59
52
55
60
53
57
60
51
64
57
49
72
51
46
90
49
47
119
55
56
149
62
68
167
61
71
169
56
60
170
59
48
170
60
43
171
64
46
172
65
47
169
64
45
165
60
41
166
59
39
171
62
42
167
56
36
173
58
39
181
60
43
188
61
46
193
60
45
197
59
46
202
60
48
202
61
51
197
63
54
190
62
51
186
58
47
183
55
44
183
55
44
184
56
43
186
56
43
186
56
43
187
55
43
199
65
53
205
67
56
197
56
46
193
49
38
198
51
41
203
55
45
207
53
43
219
52
43
223
51
41
225
52
45
226
54
44
227
53
44
231
53
43
236
49
42
240
47
42
245
47
44
246
47
42
242
47
41
236
48
39
226
50
35
217
52
33
208
53
31
207
52
30
214
49
30
217
47
30
216
50
34
216
54
41
215
57
45
212
58
48
214
63
54
216
69
61
214
70
62
205
64
55
201
60
53
203
64
57
214
75
68
217
78
71
210
69
62
197
59
49
197
61
49
194
60
48
192
60
47
186
59
44
183
57
42
180
58
43
182
60
45
185
63
48
181
57
45
191
60
50
201
64
58
210
67
63
219
67
66
227
68
72
237
74
79
246
79
86
236
63
69
237
62
67
242
66
76
251
73
85
255
74
89
253
70
88
250
67
89
251
67
93
251
64
95
251
66
100
255
69
108
255
74
115
255
78
122
255
79
124
255
76
121
255
72
118
255
68
114
255
78
124
255
80
122
251
72
111
245
74
108
253
86
116
254
87
115
243
81
105
231
71
95
224
72
93
226
88
104
255
147
158
255
178
184
239
155
155
140
72
69
108
47
42
166
106
98
206
149
142
243
198
192
255
225
220
255
240
239
255
251
253
255
253
255
251
246
253
252
246
255
253
245
255
255
245
255
255
246
255
255
248
255
255
250
254
255
252
251
255
252
249
255
251
247
255
250
247
255
248
247
255
247
246
255
245
247
255
244
246
255
243
247
255
243
247
253
241
243
243
233
234
228
220
218
214
209
205
205
202
195
201
201
191
202
202
192
202
205
194
201
208
200
190
200
191
182
192
183
54
53
49
52
51
46
51
50
46
49
48
43
49
48
43
50
49
44
51
50
45
52
51
46
54
54
46
55
55
47
56
56
48
58
58
50
60
60
50
62
62
52
64
64
54
66
64
52
74
68
56
77
69
56
79
72
56
82
75
59
84
75
58
84
77
59
83
76
60
82
75
65
81
76
73
90
87
94
108
105
124
127
126
157
140
143
184
150
153
204
153
158
216
154
158
222
153
152
218
148
145
212
140
138
201
134
133
191
129
126
181
120
118
167
110
107
150
102
101
135
93
90
119
86
84
105
77
75
89
68
65
74
62
60
63
59
58
56
59
55
52
55
54
50
53
53
53
52
53
55
54
54
52
56
55
50
60
58
46
63
60
43
67
62
42
70
64
42
71
63
42
72
64
43
73
65
44
73
66
48
73
65
52
72
66
54
72
65
57
72
63
58
76
61
58
76
58
58
71
55
55
64
54
53
58
54
53
53
55
52
49
56
49
47
57
48
55
60
53
55
52
43
67
48
41
93
56
50
126
66
65
149
71
71
157
63
64
158
52
52
167
59
47
170
60
43
170
63
45
170
63
45
169
62
44
169
62
42
172
63
43
176
63
45
171
56
37
178
57
40
185
58
43
191
57
45
195
57
44
200
58
46
205
58
48
207
60
52
203
62
53
198
59
52
194
57
49
193
56
46
193
56
46
194
57
47
194
56
46
195
54
44
197
55
45
209
67
57
208
64
55
195
48
38
195
44
35
208
55
47
214
60
52
211
50
42
224
51
44
228
50
40
231
50
43
232
51
42
234
51
43
237
50
43
240
47
42
243
45
42
246
47
42
245
46
41
241
48
41
236
49
40
225
52
36
218
53
34
209
54
32
208
53
31
216
55
35
217
51
35
214
51
36
213
51
38
213
53
41
212
56
44
212
60
49
214
63
54
236
89
81
225
82
74
211
72
65
204
67
59
202
69
60
204
73
63
200
69
59
192
62
49
188
58
42
188
59
40
188
58
42
185
58
41
183
58
40
184
58
43
188
62
48
191
65
51
193
65
54
193
60
51
197
60
54
207
65
61
215
69
69
221
71
72
228
73
77
235
76
80
232
66
70
234
64
67
240
67
73
249
75
84
254
78
89
252
74
90
252
70
92
252
70
95
248
65
95
249
66
97
253
69
105
255
74
112
255
78
119
255
79
122
255
78
120
255
76
118
254
77
119
255
79
118
252
77
116
250
79
115
255
87
121
255
95
123
252
85
111
233
71
94
243
86
107
231
83
99
240
100
113
255
144
154
254
137
145
236
130
134
194
95
98
165
77
76
179
104
101
206
141
137
240
187
183
255
219
215
255
238
237
255
247
247
255
250
253
251
249
254
253
250
255
252
251
255
253
250
255
255
250
255
255
250
254
255
251
252
253
252
250
255
251
248
255
251
247
255
251
248
255
250
249
255
250
249
255
247
249
255
245
247
254
242
246
252
240
242
249
237
239
242
230
230
231
221
219
223
216
210
219
215
206
221
219
207
224
222
210
223
225
214
221
228
220
207
216
211
197
206
201
60
57
52
59
56
49
56
53
48
53
50
43
52
49
42
52
49
42
53
50
43
54
51
44
55
52
45
56
53
46
57
54
47
59
56
49
61
58
49
63
60
51
65
62
53
67
63
52
74
66
55
77
67
55
80
71
56
83
74
59
87
75
59
85
76
61
85
75
63
83
74
67
83
74
75
93
87
99
110
108
130
130
130
166
145
149
197
154
160
218
159
166
234
162
169
241
161
165
239
158
160
235
153
155
229
149
152
221
148
149
214
144
145
202
137
137
189
130
131
177
122
121
161
114
113
145
102
99
126
88
86
107
80
78
92
73
71
82
70
67
76
67
66
74
63
63
75
61
61
71
59
58
64
59
57
58
60
57
52
63
59
47
67
61
45
69
64
44
70
64
42
70
65
43
69
66
47
69
67
52
67
67
55
66
67
59
65
67
62
65
65
65
69
59
67
71
61
70
71
64
72
71
68
75
70
71
76
67
72
75
63
72
71
62
71
66
67
72
65
65
61
52
75
58
48
102
70
59
128
80
70
138
74
64
140
63
53
146
56
45
164
62
47
169
62
44
171
62
42
172
63
43
173
64
44
175
64
45
176
63
45
177
60
42
177
56
39
182
56
41
189
57
42
195
57
44
200
56
45
204
56
46
210
57
49
212
59
53
207
58
52
205
58
51
203
56
49
203
56
49
204
57
50
205
58
50
204
55
48
203
54
47
211
60
53
213
62
53
210
57
49
204
50
40
206
52
42
216
59
50
218
60
51
215
51
42
228
49
42
233
49
39
236
49
42
238
50
41
240
49
41
242
47
41
244
45
40
246
44
40
247
45
41
244
47
41
240
49
41
233
51
40
226
53
39
217
54
37
210
55
33
207
55
32
212
57
37
213
56
37
211
54
37
209
52
37
210
52
40
211
55
43
210
56
46
208
55
47
227
78
71
232
88
80
231
90
83
218
81
73
204
71
62
196
68
57
191
64
55
185
62
47
185
60
42
185
60
38
185
60
40
185
58
39
184
57
40
186
59
42
192
62
48
195
65
52
201
68
59
198
64
55
201
64
58
209
70
67
213
73
72
214
72
71
216
71
74
223
73
75
230
70
72
232
66
68
237
68
73
245
76
83
252
81
90
251
79
93
251
76
93
251
75
96
246
68
94
247
68
97
249
70
102
253
73
108
255
78
117
255
79
120
255
79
120
255
80
119
246
85
119
242
84
117
244
84
118
250
89
120
255
93
123
255
92
119
247
83
107
236
74
95
246
89
106
239
87
102
227
79
93
239
94
107
218
78
89
223
86
96
222
86
96
210
89
96
191
99
100
199
128
124
230
169
166
255
208
207
255
233
231
255
241
240
255
246
247
254
252
253
251
252
255
249
253
255
248
252
255
250
251
253
250
250
252
249
249
249
250
249
247
252
248
245
255
250
246
255
250
247
255
251
250
255
250
249
255
247
247
254
242
242
252
237
240
249
234
237
240
225
228
233
221
221
228
217
213
226
217
210
230
223
213
235
231
219
241
237
225
241
241
229
236
243
236
220
231
227
208
219
215
64
61
54
61
58
51
58
55
48
55
52
45
53
50
43
53
50
43
53
50
43
54
51
44
55
52
45
55
52
45
57
54
47
59
56
49
61
58
49
63
60
51
64
61
52
66
62
51
74
66
55
77
67
55
82
70
56
86
74
58
87
75
59
88
76
60
87
75
63
84
73
67
83
74
77
94
88
102
112
109
136
130
132
171
145
151
203
156
164
227
163
173
245
167
176
253
170
177
255
166
172
250
161
167
243
160
164
238
159
163
234
157
161
225
153
155
214
149
150
204
146
146
196
137
136
180
121
121
159
106
105
139
96
93
124
88
85
112
82
80
104
79
77
101
78
74
99
75
71
94
70
66
83
64
61
72
63
58
62
63
58
54
64
60
49
65
62
47
67
64
47
67
66
48
66
67
51
66
68
55
63
68
61
62
68
64
60
69
68
59
66
72
65
67
82
71
72
92
80
81
99
89
91
106
95
97
110
99
99
109
99
98
104
101
95
97
102
88
87
95
74
69
106
72
63
130
83
73
146
88
76
143
76
60
142
65
49
150
63
46
167
66
48
174
64
47
174
65
45
175
64
45
176
65
46
180
65
47
178
61
43
176
55
38
181
55
40
188
56
43
194
56
43
200
56
45
205
54
45
209
55
47
213
56
49
216
59
52
210
55
50
208
55
50
208
55
50
209
56
50
212
57
52
212
57
52
211
56
51
211
54
47
222
65
58
213
56
47
209
51
42
214
56
47
222
61
53
222
61
53
218
57
49
220
53
44
231
50
41
235
48
39
239
48
40
241
48
41
244
47
41
247
45
41
247
44
40
247
44
40
247
45
41
244
47
41
238
50
41
233
52
41
225
53
39
218
55
38
212
55
36
207
56
35
206
55
34
207
56
37
206
55
36
207
54
38
208
55
41
210
57
43
209
55
43
206
52
42
203
52
43
227
78
71
243
100
92
235
96
89
213
79
70
196
65
55
186
59
50
181
57
45
184
62
41
184
62
39
185
60
38
185
59
37
186
57
38
189
57
42
192
60
47
196
62
50
202
68
57
202
65
57
206
69
63
213
75
72
211
76
73
206
71
68
205
69
69
214
72
71
227
73
73
230
67
68
232
69
72
242
77
83
248
83
90
249
82
92
247
79
94
250
79
97
244
72
94
245
71
96
248
71
100
251
73
105
255
78
114
255
81
120
255
82
121
255
84
122
239
84
116
239
90
119
249
96
126
253
96
125
249
86
113
242
78
103
245
81
105
253
90
109
251
93
108
255
102
116
235
80
94
243
88
102
238
83
97
246
90
104
237
79
94
223
83
94
190
92
93
188
114
111
216
152
150
249
198
195
255
226
225
255
235
233
254
242
242
255
255
253
252
255
255
251
255
255
248
255
255
249
255
253
249
253
252
250
252
249
252
251
247
253
249
246
253
248
244
255
248
245
255
249
248
255
249
248
255
245
245
251
239
239
247
232
235
243
229
229
235
221
221
232
218
217
228
217
211
232
222
213
240
232
221
249
243
229
255
250
236
254
254
242
244
250
246
227
237
236
214
224
223
66
62
53
65
61
52
64
60
51
62
58
49
60
56
47
58
54
45
56
52
43
55
51
42
54
50
41
54
50
41
55
51
42
56
52
43
59
54
48
62
57
51
65
60
54
69
62
54
73
64
55
77
67
55
82
70
56
85
73
57
87
74
58
88
75
59
90
76
65
91
78
72
84
73
77
88
82
96
103
100
129
124
126
167
141
146
202
151
160
227
158
170
246
165
176
255
170
179
255
171
178
255
172
180
255
172
178
252
170
177
249
170
175
243
168
172
236
169
171
232
159
161
218
153
154
210
141
141
193
129
127
177
116
114
161
104
101
146
93
90
135
88
82
126
88
81
122
89
81
118
86
79
110
77
72
95
67
63
77
63
58
64
63
59
58
66
63
56
62
62
52
64
66
53
66
69
58
63
68
61
60
66
62
58
67
66
62
70
72
65
75
84
70
85
106
85
101
126
101
113
137
108
114
136
119
117
139
131
119
139
132
111
126
128
95
106
137
91
101
144
88
91
157
87
87
164
87
81
162
78
68
154
65
51
151
58
40
158
59
40
167
60
42
172
61
42
174
63
44
177
64
46
179
64
45
180
63
45
182
61
44
185
59
44
186
54
39
190
54
40
196
54
42
203
55
45
209
55
45
214
56
47
218
57
49
218
56
51
215
56
52
216
57
53
217
58
54
216
57
51
216
54
49
216
54
49
218
56
51
221
58
51
230
67
60
224
61
54
218
55
48
227
64
55
254
91
82
255
108
99
255
93
84
231
63
54
229
51
41
237
50
41
241
50
42
244
47
41
244
42
38
245
40
37
248
40
38
248
43
40
247
45
43
243
48
44
237
50
43
227
49
39
218
48
35
212
49
34
212
52
36
211
58
40
204
59
38
202
60
40
205
60
41
207
60
42
210
58
44
210
57
43
210
56
44
209
55
45
218
64
56
207
56
49
220
71
65
244
99
94
229
88
81
203
66
60
197
64
59
183
52
42
183
58
38
182
60
36
185
60
38
186
60
38
189
58
40
191
58
43
196
60
48
198
62
50
199
62
52
204
67
59
217
80
74
223
88
82
212
79
74
195
63
58
192
63
58
207
72
68
222
72
71
226
71
69
230
74
75
239
80
84
241
82
87
239
78
86
237
75
88
241
76
92
249
82
102
248
79
102
247
75
101
247
74
102
252
77
108
255
81
115
255
82
118
253
82
118
245
88
119
239
89
118
243
89
117
251
92
120
255
93
120
255
91
115
254
88
110
252
86
106
255
101
117
247
89
103
253
95
109
252
94
108
234
73
88
235
73
88
251
84
101
233
88
101
198
102
103
173
103
101
203
142
139
232
181
178
249
209
207
255
234
231
254
238
238
252
248
247
246
250
249
247
255
253
247
255
254
246
255
252
248
254
252
253
255
252
253
252
248
251
247
244
255
250
246
255
250
246
255
247
244
253
243
241
255
244
244
255
243
243
246
232
232
231
217
217
228
214
213
223
209
206
225
214
208
241
231
222
252
244
231
253
247
231
255
251
232
255
255
243
249
254
248
231
240
239
218
227
226
67
63
54
66
62
51
65
61
52
63
59
50
61
57
48
59
55
46
58
54
45
57
53
44
55
51
42
55
51
42
55
51
42
56
52
43
58
53
47
61
56
50
64
59
53
68
61
53
72
63
54
76
66
54
81
69
55
84
72
56
86
73
56
87
74
57
89
75
62
90
77
69
85
74
78
87
81
95
101
98
127
121
123
164
138
143
201
148
157
226
155
166
245
163
174
254
171
180
255
172
181
255
174
182
255
175
183
255
176
183
255
175
182
252
175
180
248
175
178
245
169
170
235
162
163
227
152
152
216
140
138
201
128
127
187
117
113
174
105
101
160
99
94
152
96
87
142
96
86
136
93
84
127
86
80
116
77
73
98
70
67
84
66
65
73
65
65
67
60
60
58
65
66
61
70
69
65
67
68
63
65
63
64
68
66
69
79
77
82
88
86
99
102
103
131
116
116
150
130
125
157
138
125
155
149
124
154
160
124
150
165
113
136
164
96
117
172
89
107
180
87
98
185
81
88
181
73
71
173
64
57
168
60
47
168
61
41
169
63
41
167
56
37
168
55
37
171
56
38
174
57
40
176
56
39
178
57
40
181
55
40
184
54
40
187
51
37
194
52
40
202
55
45
211
58
50
217
60
51
222
61
53
223
60
53
223
60
53
225
62
57
223
60
55
223
60
55
225
62
57
229
66
61
232
67
61
231
66
60
230
65
59
229
64
58
230
66
57
228
64
55
220
56
47
213
49
40
216
54
43
235
73
62
255
91
79
241
64
54
238
54
44
234
43
35
238
41
35
248
45
41
255
47
45
254
44
43
246
40
40
250
48
46
245
52
47
239
54
49
231
54
46
222
51
41
214
50
38
212
50
37
207
54
38
203
58
39
200
59
39
202
60
40
205
58
40
207
57
42
208
55
41
209
53
41
208
52
40
211
57
47
207
53
45
212
61
54
229
80
74
229
84
81
219
76
72
205
66
63
183
49
40
188
59
40
187
61
38
189
60
39
190
59
39
190
57
40
192
56
40
194
58
44
196
58
47
200
62
52
203
66
56
213
79
70
220
87
80
210
82
73
195
68
61
191
67
59
204
72
67
219
76
72
223
74
70
229
77
76
235
83
82
237
84
87
235
80
86
233
78
86
236
79
90
247
86
102
248
85
104
249
83
105
250
82
107
252
82
109
255
83
113
255
83
116
254
83
117
241
76
108
245
84
115
255
92
121
255
96
123
255
91
117
253
85
110
250
82
105
249
84
101
249
87
102
242
84
98
249
93
104
249
93
104
236
82
94
241
87
99
247
93
105
217
86
94
182
96
95
153
92
87
185
127
125
218
169
165
239
199
197
254
224
222
251
233
233
253
248
245
248
250
247
247
255
253
247
255
254
245
255
252
248
254
252
253
255
252
254
253
251
252
248
245
253
250
245
254
249
245
252
247
243
252
244
241
255
245
244
255
244
244
245
233
233
234
220
219
229
215
212
222
209
203
223
213
204
239
229
219
252
245
229
255
249
231
255
252
232
255
255
239
248
253
246
232
241
238
221
227
225
69
65
54
69
65
53
67
63
52
65
61
50
63
59
48
61
57
46
60
56
45
59
55
44
56
52
43
56
52
43
55
51
42
56
52
43
58
53
47
61
56
50
63
58
52
67
60
52
71
62
53
74
66
55
78
68
56
82
70
54
84
71
54
87
71
55
89
73
60
89
74
67
87
75
75
88
80
93
98
94
121
115
117
156
133
138
194
144
153
220
152
164
240
160
171
250
170
179
254
173
181
254
175
183
255
177
185
255
179
186
255
180
187
255
181
185
255
181
185
255
175
178
249
172
172
244
163
163
235
153
151
224
142
141
211
131
128
199
120
117
188
115
109
179
107
96
162
105
93
155
99
90
145
93
87
133
86
82
119
78
75
104
69
68
86
64
64
76
56
53
60
65
60
64
75
65
66
76
64
66
81
62
66
90
69
74
112
87
93
130
99
115
152
115
149
165
122
165
175
127
167
178
123
162
184
118
154
192
112
147
194
99
131
192
84
110
193
71
94
207
76
92
207
73
82
195
61
62
183
54
48
180
58
43
178
61
41
173
61
39
175
60
41
176
59
41
178
58
41
180
59
42
183
60
44
187
60
45
192
60
45
196
60
46
196
54
42
203
56
46
211
60
49
217
63
53
223
65
56
225
62
55
224
60
51
223
58
52
220
55
49
217
52
46
216
51
45
222
57
51
230
65
59
236
69
63
233
66
60
228
61
53
227
60
52
219
52
44
216
52
43
219
55
45
212
50
39
204
44
32
214
54
42
233
71
58
245
75
62
242
64
54
239
52
45
240
45
41
246
44
42
250
44
44
252
44
44
248
42
44
240
42
41
236
47
43
232
50
46
227
53
46
220
52
43
216
49
40
213
49
39
209
51
39
205
55
40
203
58
41
205
58
40
208
58
41
210
59
42
211
58
42
212
56
43
212
56
44
209
52
43
214
60
52
213
58
53
213
60
55
229
79
78
237
89
87
217
69
69
194
51
47
192
59
44
191
60
40
192
59
42
191
58
41
193
57
41
192
56
40
192
56
42
192
56
44
198
61
51
199
65
54
207
74
65
216
85
75
210
82
71
198
71
62
192
68
58
199
71
62
214
75
68
216
73
67
221
76
73
228
83
80
229
83
84
226
80
83
226
77
83
229
78
87
242
88
100
246
90
104
253
91
112
254
90
114
252
86
110
250
82
108
251
81
108
255
81
112
248
70
106
255
79
116
255
89
123
255
90
121
255
86
113
252
84
107
254
87
107
255
92
109
250
89
104
247
91
104
248
98
109
242
98
107
231
96
103
234
105
110
229
106
109
197
94
95
160
93
87
126
77
70
155
108
102
195
151
148
223
185
182
241
211
209
244
224
223
255
245
244
249
249
247
249
255
253
247
255
255
245
255
252
248
254
252
253
255
254
255
252
253
252
248
247
252
249
244
252
249
242
250
247
242
251
246
242
255
247
244
255
246
244
249
238
236
239
228
226
230
219
215
220
209
203
221
211
201
238
228
216
253
246
228
255
251
232
255
253
231
255
255
236
248
251
242
233
239
235
224
229
225
73
69
57
72
68
56
70
66
54
68
64
52
66
62
51
64
60
49
63
59
48
62
58
47
58
54
45
57
53
44
57
53
44
57
53
44
58
53
47
60
55
49
62
57
51
64
59
53
69
62
54
73
64
55
76
68
55
79
70
53
82
69
52
85
69
53
87
71
56
87
73
62
88
77
75
88
78
87
94
90
113
112
112
150
128
134
186
140
150
212
149
161
233
157
169
245
168
176
249
169
177
249
173
179
253
176
183
255
177
183
255
178
185
255
180
184
255
180
184
255
175
177
252
171
173
248
165
167
242
159
158
234
151
150
226
140
139
215
130
129
205
125
121
197
117
109
182
112
103
170
102
96
158
95
90
144
89
88
132
81
81
117
71
71
99
65
62
81
61
53
68
72
56
66
84
61
67
96
64
69
110
67
74
128
79
85
150
93
100
170
103
120
189
108
141
201
110
153
203
111
152
201
105
143
198
97
131
199
88
120
198
73
103
196
59
85
197
51
72
216
65
80
223
69
79
208
60
60
195
56
49
194
64
50
186
65
44
175
59
36
173
54
34
173
53
36
174
53
36
179
53
38
182
55
40
188
56
43
195
59
45
200
60
47
211
64
54
215
64
55
218
64
54
220
63
54
222
61
53
222
57
51
221
54
46
219
52
44
211
46
40
210
45
39
211
46
40
216
51
45
225
58
52
227
60
52
225
56
49
220
53
45
220
53
45
208
44
34
205
41
31
217
55
44
226
66
54
220
63
48
208
52
37
203
46
31
233
70
55
243
73
60
253
72
63
252
60
55
244
45
42
241
35
37
245
39
41
251
47
50
241
45
46
235
47
46
228
50
46
222
51
44
218
49
42
215
48
42
214
47
41
211
48
39
211
55
42
210
57
43
214
58
43
216
60
45
218
62
47
219
63
48
220
64
51
220
64
51
210
54
42
230
76
66
229
74
69
206
53
48
223
71
70
243
90
92
223
73
75
213
65
63
200
60
47
196
59
43
195
58
42
195
58
42
194
58
42
194
58
42
193
57
43
190
57
42
194
60
48
194
62
50
200
70
57
207
79
66
206
80
68
198
72
60
191
67
55
193
67
55
206
72
63
209
70
63
213
74
69
219
80
75
221
82
79
217
77
76
218
75
77
220
75
80
235
88
96
243
91
103
252
97
113
255
97
117
250
88
109
245
79
103
245
77
103
253
78
107
255
76
112
255
79
116
255
83
115
255
82
110
250
84
108
252
90
111
255
99
117
255
105
120
255
102
117
250
98
111
244
98
109
236
101
108
224
103
108
212
106
106
200
106
104
177
104
97
141
94
84
104
70
60
130
93
85
172
135
129
206
171
169
229
199
197
239
218
217
255
243
243
251
247
246
249
253
252
248
255
255
245
255
254
248
254
254
255
255
255
255
251
255
254
248
248
251
250
245
250
250
242
249
248
243
253
250
245
255
251
247
255
250
247
253
243
241
247
236
232
235
224
218
223
213
204
222
212
202
237
230
214
254
247
228
255
254
232
255
254
229
255
254
233
247
249
238
234
239
232
228
231
224
78
72
58
77
71
57
76
70
56
74
68
54
72
66
54
70
64
52
68
61
51
67
60
50
63
56
48
62
55
47
61
54
46
61
54
46
61
54
48
62
55
49
64
57
51
63
58
52
67
62
56
69
65
56
75
67
56
78
69
54
81
68
51
82
69
50
86
70
54
86
72
59
90
77
71
86
77
82
91
87
104
108
107
139
126
130
177
138
147
206
146
159
227
154
166
238
166
174
247
169
175
249
173
176
253
175
179
253
176
179
255
176
180
254
176
179
255
175
179
253
171
174
251
168
171
248
164
167
244
160
162
239
154
156
233
147
149
226
138
140
217
134
133
209
131
127
201
123
117
187
109
107
172
100
101
158
95
97
146
89
91
132
82
81
115
78
72
98
87
70
89
95
67
81
109
66
76
129
69
77
152
77
84
172
85
93
188
91
98
202
90
104
214
84
112
223
83
118
222
84
117
215
80
110
208
74
99
203
67
89
198
57
74
194
47
63
211
57
69
225
68
77
228
72
75
215
63
60
205
62
54
203
71
58
194
73
52
182
63
41
183
62
43
184
61
45
186
60
45
189
62
47
195
63
48
202
66
52
208
68
55
213
69
58
217
69
57
218
66
55
219
62
53
217
59
50
217
54
45
217
53
44
218
51
43
215
51
42
212
49
42
215
52
45
218
55
46
221
57
48
223
56
48
222
55
47
221
54
46
220
53
44
214
47
38
217
53
43
215
55
43
207
50
35
205
49
34
210
57
41
213
62
45
212
59
41
216
60
45
230
68
55
248
74
65
253
68
63
249
54
52
245
42
45
246
42
45
247
47
50
247
54
55
237
53
53
226
51
48
218
49
44
215
48
42
215
47
44
217
48
45
217
48
43
227
56
49
228
57
49
226
58
49
226
59
50
224
60
48
223
61
48
220
63
48
218
62
49
209
55
43
239
87
76
248
97
90
211
59
54
209
59
58
230
80
81
220
70
72
230
80
81
207
60
52
202
58
47
198
56
44
197
57
44
196
58
45
196
60
46
195
59
45
192
59
44
190
58
45
190
60
46
195
65
51
199
72
57
199
73
59
194
68
54
190
64
50
188
62
48
201
70
60
202
69
60
206
73
66
213
80
73
215
82
77
213
78
75
211
75
75
215
76
79
233
90
96
240
94
104
252
102
114
255
104
120
252
93
113
242
80
101
243
77
101
252
79
107
255
83
117
255
82
116
254
81
111
244
82
106
243
92
111
250
103
119
253
105
119
249
101
115
253
101
116
245
94
109
239
94
107
236
106
114
221
115
117
192
107
102
168
101
92
156
110
97
127
101
86
89
71
57
110
86
74
150
123
114
190
159
156
223
193
193
238
214
214
254
238
239
254
245
246
252
252
252
249
255
255
246
255
254
249
253
254
255
255
255
255
251
255
254
248
250
253
254
248
250
253
244
250
251
245
254
253
248
255
255
250
255
253
249
255
250
244
255
246
241
242
233
226
229
221
210
225
217
204
240
233
215
255
250
228
255
255
230
255
254
229
255
254
233
246
248
234
237
240
231
232
233
225
81
75
61
80
74
60
79
73
59
77
71
57
75
69
57
73
67
55
71
64
54
71
64
54
66
59
51
65
58
50
64
57
49
63
56
48
63
56
50
63
56
50
65
58
52
64
59
53
66
63
56
69
66
57
75
69
57
77
70
54
80
69
51
82
69
50
85
70
51
85
72
55
89
76
67
85
75
76
90
83
99
105
105
133
124
129
171
137
147
200
147
158
222
154
164
235
166
172
248
169
172
251
172
173
253
173
176
255
174
177
255
174
177
254
173
176
253
173
176
253
169
172
249
167
170
247
164
168
242
162
166
240
159
163
237
154
158
232
149
153
227
146
148
222
146
146
218
137
138
205
124
128
192
115
120
178
111
117
169
109
112
157
105
103
142
106
95
125
121
95
120
130
87
106
142
80
95
163
79
92
187
83
92
205
84
93
214
80
87
218
72
83
224
65
83
228
65
84
224
69
85
217
69
81
210
69
77
204
65
70
199
59
60
198
54
54
227
74
76
229
73
74
224
66
65
211
56
52
206
57
50
206
65
55
200
68
53
190
63
46
195
69
54
195
69
54
197
70
55
201
69
56
206
70
56
209
71
58
215
71
60
218
71
61
214
62
51
213
59
49
214
56
47
213
52
44
214
51
42
216
52
43
219
52
44
218
54
45
219
56
49
221
60
52
224
61
52
223
60
51
221
57
48
220
53
45
220
53
44
219
55
45
210
46
36
221
59
48
218
61
46
205
49
34
198
45
29
206
55
38
210
61
41
205
58
38
204
57
39
212
56
41
226
58
47
243
61
57
255
64
64
255
60
62
254
51
55
243
44
47
234
44
46
225
43
42
216
42
41
212
43
40
215
47
44
222
52
52
228
56
56
233
57
57
239
55
53
240
55
52
238
55
51
232
55
49
227
55
45
220
54
42
215
53
40
209
53
38
205
53
40
231
80
69
255
109
99
219
72
65
200
52
50
215
67
67
211
62
66
234
86
86
217
65
60
210
62
52
203
56
46
198
54
43
198
58
45
198
60
47
195
62
47
193
61
46
187
57
43
187
60
45
190
63
48
192
65
50
191
65
50
189
64
46
188
61
46
187
60
45
195
67
54
196
68
57
200
72
63
208
80
71
211
82
76
208
79
73
210
78
76
213
79
78
233
94
99
238
97
103
251
105
116
255
110
122
255
100
117
245
86
106
245
81
105
254
86
111
255
86
115
255
86
113
245
87
110
238
93
110
241
109
120
247
117
127
240
106
115
227
87
98
243
95
109
245
94
109
241
96
111
241
114
125
238
135
138
206
128
124
169
117
104
151
122
106
117
106
88
82
77
58
97
85
71
132
112
103
177
149
146
221
191
191
239
213
216
253
233
235
254
244
245
252
250
251
250
254
255
248
254
254
252
253
255
255
254
255
255
250
255
255
249
253
255
255
251
248
254
244
250
253
246
255
255
250
255
255
250
255
255
248
255
252
246
255
253
245
250
241
232
238
230
219
234
226
213
245
240
221
255
251
229
255
254
229
255
254
226
255
255
231
249
250
234
242
244
231
238
240
229
83
77
61
82
76
60
81
75
61
79
73
59
77
71
57
75
69
55
74
68
56
73
67
55
69
62
52
68
61
51
66
59
51
65
58
50
64
57
51
65
58
52
65
57
54
64
59
55
65
64
59
67
67
59
73
69
57
77
71
55
79
71
50
82
70
48
85
70
49
85
72
53
87
75
63
82
72
70
88
82
94
106
103
130
125
129
167
137
147
196
146
158
218
152
162
231
164
167
246
166
167
250
171
169
252
171
172
254
172
173
255
173
174
254
172
174
251
172
174
251
168
172
246
166
170
244
164
168
241
163
167
240
161
168
238
160
167
237
157
164
232
155
162
230
153
158
226
146
154
219
139
147
210
134
143
202
131
141
194
132
136
183
131
129
168
136
121
154
143
109
136
154
99
122
169
88
105
187
81
95
207
77
89
224
73
82
232
65
73
232
62
65
228
62
62
222
65
60
216
69
61
210
74
60
202
75
60
194
71
53
191
68
50
195
65
49
226
86
73
223
72
63
217
60
55
216
54
51
218
56
53
216
59
54
210
57
52
200
56
48
192
58
46
190
60
46
191
59
46
192
58
46
194
56
43
195
55
42
198
52
39
198
50
38
206
52
42
208
51
42
209
51
40
212
51
41
214
51
42
217
53
44
221
54
46
220
56
47
222
61
51
219
61
50
220
59
49
219
56
47
219
55
45
218
54
44
216
52
42
215
51
41
213
51
38
211
51
37
208
52
37
207
54
38
210
61
41
209
62
42
202
57
36
192
50
28
200
58
38
202
52
37
213
49
39
231
53
49
250
60
60
255
61
64
255
55
61
247
51
55
234
45
49
225
45
46
217
45
45
215
47
46
220
52
51
227
57
58
233
59
61
240
57
61
246
50
54
248
48
51
244
48
49
237
49
47
228
49
42
222
50
40
213
49
37
207
51
36
201
49
36
209
61
49
250
106
95
228
84
76
200
57
53
208
64
63
203
58
61
228
82
83
228
74
72
220
67
61
209
58
51
201
54
46
198
56
46
197
59
48
194
60
48
191
61
47
186
59
42
188
63
45
189
64
46
188
63
45
186
59
42
186
59
40
189
59
43
190
60
44
188
62
48
188
62
50
192
68
56
200
76
66
204
80
72
202
78
70
204
76
73
208
78
76
232
97
101
236
97
102
248
104
114
255
111
123
255
104
120
247
90
107
247
85
106
253
91
114
249
91
114
244
95
115
233
98
113
227
107
116
234
125
128
242
133
136
234
118
121
222
92
100
246
101
116
255
107
124
247
98
117
238
106
119
249
144
149
239
161
159
196
148
138
163
140
124
106
105
85
73
81
60
88
85
70
117
103
92
165
140
136
220
190
190
242
213
217
249
227
230
255
242
245
255
249
251
252
253
255
249
253
255
252
253
255
255
253
255
255
251
255
255
248
253
254
255
251
247
253
243
247
253
243
253
255
247
255
255
248
255
253
246
255
251
245
255
255
246
255
250
240
246
240
226
242
236
220
251
246
226
255
252
230
254
252
227
254
253
225
255
255
230
253
254
236
248
249
235
246
246
234
86
79
63
84
78
62
83
75
62
80
74
60
79
71
58
76
70
56
76
68
55
74
68
56
72
64
53
70
64
52
69
60
51
66
59
49
66
57
50
65
58
50
67
58
51
65
60
54
67
64
57
68
68
58
74
70
58
77
71
55
79
71
50
81
70
48
84
72
50
85
72
53
85
73
61
81
71
69
87
81
93
106
104
128
126
130
168
140
148
197
147
157
216
153
162
231
159
160
242
164
160
247
166
163
250
169
166
253
169
169
255
169
171
254
169
172
253
169
172
251
165
171
245
163
170
242
163
167
238
162
167
235
164
169
237
165
170
238
165
168
237
163
167
238
152
161
230
150
161
227
148
159
221
148
159
213
149
155
203
152
150
190
158
141
175
168
132
160
164
102
127
178
93
114
193
82
99
206
74
88
218
66
78
228
62
72
235
60
67
235
61
62
231
64
58
223
67
55
216
70
55
209
74
55
199
74
52
191
71
47
189
67
44
193
64
45
225
83
69
221
68
60
221
57
55
230
62
61
236
68
67
230
64
64
219
56
57
207
53
51
205
67
57
200
68
56
201
67
56
199
65
53
198
62
50
195
57
44
194
54
41
194
50
39
198
50
40
203
51
40
206
52
42
211
53
44
216
53
46
217
52
46
219
52
46
219
52
44
228
66
55
222
60
49
218
54
44
218
54
44
223
57
45
223
57
45
219
53
41
213
49
37
216
56
40
206
49
32
202
49
33
208
57
40
206
56
39
199
52
34
202
55
37
212
67
48
200
55
38
206
56
42
215
54
44
222
53
46
230
51
47
238
53
51
246
58
57
251
63
62
255
76
75
250
72
70
242
66
66
236
62
61
234
60
61
231
55
58
229
50
54
230
44
49
244
43
49
248
41
47
244
44
46
239
47
46
232
49
43
224
52
42
217
53
41
211
55
40
198
48
33
192
46
31
244
100
89
235
93
83
207
64
58
212
68
67
203
59
59
223
77
77
234
82
81
224
72
69
211
59
54
201
54
47
198
56
46
198
57
47
195
59
45
190
58
43
190
60
44
193
64
45
192
65
46
187
60
41
183
56
37
184
57
38
189
60
41
190
63
46
181
55
41
179
55
43
184
62
49
193
71
58
197
75
64
197
73
65
200
73
66
203
74
69
229
97
95
230
94
96
241
100
106
254
110
119
254
107
117
243
93
105
240
88
101
246
94
109
248
97
116
241
100
116
229
104
112
223
110
114
233
127
127
249
141
139
247
131
132
239
110
115
253
112
121
255
120
134
245
97
113
223
88
102
246
136
145
255
180
180
211
173
162
164
153
135
96
104
80
69
81
57
82
84
63
107
97
85
156
136
129
220
192
191
244
215
217
246
224
227
255
241
244
255
248
251
253
253
255
251
252
255
252
253
255
255
253
255
255
252
255
254
249
253
250
255
249
242
254
240
242
252
241
249
255
244
253
255
247
250
252
241
254
251
242
255
255
244
255
255
243
252
246
232
248
242
226
254
249
229
255
253
231
253
251
226
253
252
224
255
255
233
255
255
241
252
252
240
251
251
239
88
79
64
87
80
64
87
78
63
85
78
62
84
75
60
82
75
59
82
73
58
80
72
59
77
67
55
75
67
54
75
65
53
72
64
51
72
62
50
71
63
50
72
62
50
70
64
52
71
67
58
71
69
57
74
71
56
78
73
54
82
74
53
85
74
52
85
74
52
86
75
57
88
78
68
85
76
77
90
84
98
107
104
131
123
126
167
137
143
195
145
153
215
152
159
231
166
162
246
167
161
249
165
160
252
164
161
252
162
163
255
163
167
255
164
170
255
164
173
252
161
170
245
161
169
241
161
168
236
164
169
237
167
170
239
172
170
243
174
170
246
171
170
246
161
168
246
156
166
238
149
160
222
152
159
211
166
164
203
180
160
188
180
135
155
179
105
120
186
78
93
205
70
84
219
65
77
227
61
73
228
61
71
227
62
69
223
64
69
223
64
68
226
61
65
221
61
61
219
70
66
200
59
52
202
68
59
202
69
60
186
49
41
219
74
69
230
75
73
233
67
69
235
62
66
232
59
63
230
60
63
225
61
62
219
59
59
212
60
57
207
66
59
200
63
55
202
68
59
209
77
65
205
75
62
191
61
48
184
54
41
189
57
44
191
55
43
195
54
44
200
53
45
203
50
42
209
47
42
212
47
43
219
50
47
224
53
46
231
65
53
224
56
43
219
49
36
222
50
38
230
57
43
231
59
45
225
55
38
215
50
31
209
50
31
206
51
31
203
52
33
201
51
34
201
51
34
203
51
37
206
53
39
207
53
41
202
48
38
207
50
41
209
53
41
210
54
42
210
52
40
213
51
38
215
51
39
220
52
41
224
50
41
230
51
46
235
53
50
235
51
51
233
47
50
231
45
50
232
45
52
237
46
53
246
45
51
246
43
47
239
43
44
236
47
45
234
53
46
227
57
44
217
55
40
208
52
37
195
45
28
196
51
34
231
88
72
233
89
78
203
59
51
223
78
73
197
52
49
218
72
72
225
79
80
220
74
74
212
67
64
204
59
54
200
56
48
198
56
44
199
57
43
200
60
43
197
60
42
194
59
40
190
57
38
188
59
40
187
60
41
186
61
41
186
61
43
183
60
44
180
56
44
181
59
48
185
61
49
187
63
51
187
63
51
190
64
52
192
64
53
196
65
55
239
106
97
245
112
105
234
99
95
244
109
106
251
113
113
236
97
100
244
103
109
255
112
121
255
107
122
251
104
120
234
103
111
226
101
105
229
103
106
237
109
110
243
110
111
245
109
111
255
119
123
255
126
133
241
95
108
241
105
119
214
103
112
248
174
175
189
167
154
133
141
117
97
112
81
74
89
58
77
81
56
115
110
90
165
149
136
205
182
176
237
213
211
255
238
240
255
244
245
255
245
249
252
247
251
251
251
253
253
254
255
254
255
255
255
254
255
251
255
254
239
255
243
229
252
232
231
249
233
240
254
237
248
255
245
252
255
244
253
255
242
255
253
240
255
253
241
255
251
238
255
250
234
255
250
230
254
249
227
252
250
225
252
250
225
251
250
229
253
253
241
255
255
250
255
255
250
89
80
65
88
79
64
88
79
64
86
77
62
85
76
61
84
75
60
83
74
59
82
73
58
78
69
54
77
68
53
76
67
52
75
66
51
74
65
50
74
65
50
74
65
50
73
65
52
71
67
56
72
68
57
76
70
56
79
72
54
82
74
53
83
75
52
86
75
55
84
75
58
88
78
69
85
76
77
89
85
99
107
104
131
123
125
166
134
140
192
141
149
211
150
154
225
161
156
236
163
155
241
161
157
244
161
158
249
160
161
253
160
165
255
162
170
255
161
172
251
160
172
244
160
171
237
158
167
232
161
166
232
164
164
234
166
164
237
166
162
238
163
160
237
163
166
243
160
164
235
160
160
220
165
155
205
177
153
189
188
143
166
189
115
130
191
87
98
204
70
77
220
63
70
230
59
67
233
58
65
230
59
67
225
62
67
219
64
68
218
65
70
224
60
67
218
57
63
218
65
68
203
59
59
204
66
63
202
64
61
193
51
49
229
79
80
230
67
70
232
63
68
234
59
66
231
56
63
226
56
59
219
56
57
213
58
56
207
59
55
212
69
63
198
61
53
197
60
52
204
71
62
204
76
65
193
67
53
184
58
44
183
57
43
185
55
42
191
55
43
198
54
45
203
52
45
209
50
46
216
51
47
225
53
51
228
56
52
229
61
50
226
58
45
225
53
41
225
52
38
228
52
39
226
53
39
221
51
34
213
50
31
211
56
36
205
56
34
201
56
37
200
58
38
204
58
43
206
58
44
207
55
44
208
51
42
213
51
46
214
53
45
211
55
43
207
55
41
201
54
38
199
52
34
203
52
33
207
52
34
216
50
36
222
50
38
227
48
43
230
46
44
230
44
45
230
44
47
230
45
50
232
46
51
236
43
46
237
44
45
236
48
46
232
50
46
224
52
42
219
53
39
213
56
39
210
57
39
213
63
46
187
42
25
214
68
53
208
62
49
217
70
62
235
86
80
218
66
63
216
66
65
231
85
86
226
82
82
220
75
72
212
67
62
205
61
53
201
57
46
200
57
43
199
56
40
200
59
42
196
59
40
191
58
39
189
60
41
189
62
43
186
63
45
185
64
47
182
62
46
178
58
44
180
59
48
183
61
48
184
62
49
186
63
48
189
63
49
193
66
51
197
67
53
235
105
92
242
109
100
231
98
91
240
107
102
245
111
108
232
98
97
241
107
108
254
115
120
255
111
126
255
110
124
242
107
114
228
97
102
228
92
96
239
99
102
253
110
112
255
119
120
253
117
119
255
121
126
235
89
100
237
99
112
215
99
110
242
168
169
178
162
147
118
134
107
94
114
79
78
95
59
83
90
59
117
115
92
169
157
141
214
196
184
246
225
220
255
245
241
255
248
248
255
248
249
253
249
250
251
251
251
250
254
253
251
255
254
250
254
255
246
255
250
237
255
242
227
255
232
227
251
229
235
254
234
244
255
240
249
255
241
252
255
241
255
255
240
255
253
239
255
253
237
255
251
233
254
247
229
249
244
224
248
243
221
250
245
223
250
247
228
249
249
239
251
252
246
254
253
249
92
80
66
91
79
65
91
79
65
89
77
63
88
76
62
87
75
61
86
74
60
86
74
60
83
71
57
82
70
56
81
69
55
79
67
53
79
67
53
79
67
53
79
67
53
77
67
55
74
67
57
74
70
59
77
71
57
80
73
55
83
75
54
86
75
53
86
75
55
84
75
58
87
77
67
86
77
78
90
87
98
107
105
129
121
123
161
133
137
185
139
145
203
146
150
214
153
152
222
155
151
227
155
152
233
155
156
238
157
159
244
158
163
247
160
167
248
160
169
244
160
170
239
157
168
232
155
165
227
156
162
224
156
160
224
157
158
225
156
154
227
155
153
226
153
154
221
158
152
214
168
147
204
178
140
189
191
131
169
198
115
145
197
91
111
194
70
81
209
68
76
218
65
68
223
63
65
225
62
63
225
62
65
225
62
67
223
62
68
223
62
70
224
60
67
215
56
61
213
63
65
207
65
64
202
67
63
195
60
56
196
57
54
233
87
87
224
66
67
228
62
66
232
59
63
227
57
60
220
54
56
214
54
54
209
57
54
204
59
54
213
72
65
196
59
49
190
53
43
197
65
53
205
75
62
198
72
58
187
61
47
183
56
41
186
54
41
191
55
41
199
55
44
207
54
46
215
53
48
222
55
49
230
57
53
233
61
57
217
50
42
218
51
42
221
53
42
223
52
42
223
52
42
222
54
41
220
57
42
217
62
44
198
51
33
192
51
31
187
52
33
186
53
34
191
55
41
191
55
41
191
50
40
193
44
37
227
64
59
229
62
56
222
61
51
213
60
46
204
57
41
200
55
36
200
55
34
204
55
35
210
55
37
213
51
36
215
47
38
217
46
39
219
46
42
220
46
45
219
47
47
220
46
47
219
44
41
223
48
43
224
53
45
220
53
44
213
51
38
208
52
37
208
57
38
209
62
42
212
65
47
194
49
32
231
83
69
210
59
48
218
65
59
222
67
63
232
74
73
240
84
85
237
85
84
231
83
81
227
79
77
221
74
67
214
67
59
207
60
50
202
56
43
197
54
38
196
55
38
192
55
37
188
55
38
185
58
39
185
60
42
183
62
45
181
61
44
178
61
44
176
58
44
177
59
47
180
60
46
181
61
47
183
61
46
185
63
48
190
67
52
195
69
55
220
92
81
234
103
93
228
97
89
240
108
103
246
112
109
231
97
96
236
102
103
245
106
113
228
80
94
240
94
107
240
106
113
235
104
109
235
99
103
242
102
105
254
111
113
255
117
119
253
114
117
252
111
117
231
81
93
232
90
104
217
97
109
237
158
161
170
152
138
108
122
96
89
109
72
79
100
61
87
96
65
119
119
93
173
165
146
225
209
194
255
238
230
255
248
241
255
251
247
255
252
248
252
253
248
250
255
251
251
255
253
251
255
253
249
255
251
244
255
246
233
255
237
222
252
226
220
246
221
225
247
224
233
251
229
239
251
231
245
252
234
252
255
236
253
250
233
255
250
234
255
248
230
249
242
224
241
234
216
239
232
213
243
236
217
247
242
223
251
248
239
252
252
244
255
254
249
92
80
66
92
80
66
91
79
65
90
78
64
89
77
63
89
77
63
88
76
62
88
76
62
85
73
59
84
72
58
83
71
57
82
70
56
82
70
56
82
70
56
82
70
56
80
70
58
76
69
59
75
71
60
79
73
59
82
75
57
84
76
55
87
76
54
87
76
56
87
75
59
86
76
66
85
77
75
92
86
96
106
104
126
121
121
155
130
133
178
138
141
194
143
148
206
148
148
210
149
148
214
149
149
219
150
152
227
152
155
232
152
158
236
155
161
237
155
163
235
156
165
232
152
162
223
150
159
218
149
155
213
147
153
213
147
151
214
146
147
214
145
144
210
136
131
189
148
130
182
168
124
175
184
115
162
199
102
143
207
88
120
210
72
97
208
62
75
217
68
74
218
68
67
218
69
65
220
68
65
222
66
67
225
64
69
229
62
70
229
62
70
227
63
70
214
58
62
209
63
64
209
69
68
198
65
60
186
54
49
197
62
58
234
90
89
221
65
66
227
64
67
230
61
64
227
58
61
219
56
57
211
57
55
208
60
56
206
65
56
207
69
59
194
58
46
187
50
40
192
60
47
199
69
55
196
69
54
189
62
47
184
57
40
189
56
41
194
57
41
203
56
46
210
58
47
217
56
48
224
57
49
232
59
55
235
62
56
217
48
43
218
49
42
222
51
44
224
51
44
225
52
45
225
54
46
220
56
46
217
59
47
202
54
40
199
58
41
195
59
43
192
59
44
192
58
46
195
58
48
198
59
54
208
56
53
236
67
64
237
64
60
228
64
55
217
61
49
207
57
42
199
57
37
200
58
38
201
59
37
207
60
40
208
55
39
207
49
37
209
49
37
212
49
40
214
51
44
212
49
44
209
47
42
211
50
42
211
53
44
211
55
43
208
55
41
205
53
39
202
55
37
204
59
40
204
62
42
204
59
40
207
60
44
244
94
80
224
70
60
210
51
47
210
46
44
230
64
64
251
87
88
255
117
115
255
114
111
255
106
103
246
94
89
231
80
71
213
65
55
199
53
40
189
46
32
196
56
39
192
56
40
187
56
38
184
59
41
183
60
44
181
61
45
178
61
44
176
60
45
175
59
46
173
60
46
176
60
47
176
60
45
177
59
45
182
62
46
188
66
51
192
70
55
203
77
65
223
96
87
226
97
91
244
112
108
248
116
114
230
96
97
228
93
97
232
93
100
218
70
84
234
88
101
239
105
114
236
107
111
240
104
108
249
109
112
255
113
118
255
115
118
254
111
115
248
103
110
229
74
88
229
82
98
218
93
107
230
148
150
168
145
131
106
116
89
85
106
67
83
104
63
92
103
69
121
124
95
176
170
148
231
220
202
255
245
232
255
249
240
255
249
239
252
252
242
251
254
245
250
255
249
249
255
250
246
255
248
242
252
243
234
251
235
219
247
222
208
241
210
205
234
204
209
235
206
217
237
210
223
239
213
233
243
219
242
247
225
244
246
225
249
246
227
251
246
227
244
237
219
234
227
209
231
222
205
235
226
209
240
233
217
251
244
234
251
246
240
254
249
243
92
80
66
92
80
66
91
79
65
91
79
65
90
78
64
89
77
63
89
77
63
89
77
63
87
75
61
86
74
60
85
73
59
85
73
59
84
72
58
85
73
59
85
73
59
83
73
61
79
71
60
79
73
61
81
73
60
83
76
58
85
77
56
88
77
55
89
76
57
88
76
60
85
75
65
85
75
73
92
85
93
104
101
120
117
116
147
124
126
165
133
135
183
140
143
194
141
144
195
142
145
200
142
146
207
144
148
212
146
149
220
147
151
224
148
152
223
147
154
222
149
157
220
146
155
214
142
148
206
137
144
199
133
139
197
129
135
195
126
130
193
129
125
184
128
115
159
145
110
150
170
102
143
193
92
134
214
78
118
225
65
101
229
59
85
230
59
75
226
67
71
220
71
67
216
73
65
216
73
65
220
71
67
227
66
71
236
62
72
237
61
72
230
66
73
215
62
64
208
64
63
208
73
69
191
62
56
179
50
44
200
67
60
224
85
80
220
68
67
225
65
67
227
63
64
225
62
63
218
63
61
212
64
60
209
68
59
207
70
60
199
61
50
192
56
42
189
53
41
189
57
42
191
61
45
191
61
45
189
59
43
189
60
41
194
58
42
199
59
42
207
59
47
213
59
47
219
56
47
224
56
47
231
56
51
235
57
53
231
56
53
230
52
50
229
49
48
232
50
49
233
51
50
231
52
48
222
49
43
214
47
39
205
48
39
205
54
45
201
57
48
197
54
46
194
51
45
196
51
48
206
57
59
222
62
64
235
56
59
237
55
54
228
55
49
216
53
44
204
52
38
198
53
34
196
55
35
197
58
37
203
61
41
203
56
38
204
52
38
206
53
39
212
56
44
212
58
48
211
57
47
208
56
45
208
62
49
202
59
45
197
56
39
196
55
37
198
57
39
199
60
41
199
60
41
199
58
40
205
62
45
205
58
42
216
62
50
225
67
58
212
47
45
228
58
58
224
50
52
223
53
54
215
53
51
214
59
54
222
67
62
229
75
67
234
81
73
234
83
72
232
84
72
228
85
71
203
63
48
196
63
46
190
60
44
184
61
45
183
62
45
180
63
46
176
63
47
174
62
48
172
60
46
172
60
46
172
60
46
172
61
44
173
60
44
177
61
46
183
65
51
186
68
54
198
76
65
222
98
88
226
99
93
240
110
108
244
114
114
229
96
99
229
96
101
232
95
103
251
105
118
254
109
122
241
110
118
229
100
104
234
98
102
252
109
113
255
117
123
255
118
124
254
107
115
245
95
106
232
71
87
228
75
93
221
90
104
226
137
141
172
142
131
115
121
93
93
114
73
94
117
73
104
119
80
129
136
102
179
178
150
232
226
204
255
250
233
255
253
237
254
252
237
251
255
240
249
255
242
247
255
243
244
255
241
237
251
234
227
241
224
218
237
215
201
232
200
191
227
189
187
221
186
192
222
188
200
224
192
207
226
196
217
230
204
227
235
211
235
239
216
243
242
222
247
242
223
242
235
217
234
225
210
231
219
205
233
221
207
238
226
214
241
231
222
240
231
224
242
233
226
91
79
65
91
79
65
91
79
65
90
78
64
90
78
64
89
77
63
89
77
63
89
77
63
88
76
62
88
76
62
87
75
61
86
74
60
86
74
60
87
75
61
87
75
61
88
76
62
81
73
62
81
73
62
83
75
62
85
76
59
88
77
57
88
77
55
89
76
57
88
77
59
87
75
63
85
76
71
89
83
87
101
94
110
110
106
131
117
116
150
126
125
165
131
134
177
133
138
180
132
139
185
135
141
193
137
142
200
139
143
207
140
143
212
141
144
213
141
144
211
144
148
211
139
144
202
131
136
192
126
129
184
120
123
178
114
116
173
108
110
171
111
104
156
131
105
140
148
98
123
175
88
120
203
79
113
227
65
102
239
56
87
243
53
78
244
58
72
235
66
69
225
72
66
217
76
66
215
77
66
222
73
69
229
69
71
240
63
73
240
62
74
228
67
72
215
67
67
204
65
62
206
73
68
186
59
52
176
52
44
201
73
64
213
76
70
216
66
65
218
63
61
219
59
59
218
60
59
216
64
61
212
69
63
205
71
60
203
71
58
192
56
42
193
56
40
192
56
42
190
57
40
188
57
39
187
56
38
189
58
40
192
59
40
196
59
41
202
61
44
210
60
46
215
59
46
220
56
46
225
54
46
228
54
47
232
53
48
234
50
50
234
46
47
234
43
48
240
47
50
246
51
55
247
54
55
240
52
53
230
50
49
219
46
42
216
51
47
215
53
50
210
50
50
209
46
49
211
46
52
220
53
61
235
58
68
237
48
54
238
48
50
230
51
47
220
51
44
209
53
41
202
55
39
200
57
40
201
60
40
198
56
36
201
54
36
206
54
40
211
58
44
218
62
50
221
65
53
221
65
53
216
65
54
211
71
56
201
65
49
194
59
40
192
57
38
195
60
41
198
61
42
197
60
42
197
56
38
204
58
43
205
55
41
205
48
39
230
67
60
219
50
47
239
63
65
227
47
50
218
42
44
213
49
47
210
53
46
213
56
49
214
57
48
210
56
46
204
53
42
198
50
38
192
49
35
206
69
53
198
65
50
188
61
46
181
58
42
177
57
41
175
57
43
171
58
44
170
58
44
171
59
47
171
61
48
172
62
47
172
60
46
171
60
43
173
60
44
178
62
47
181
65
50
201
83
71
224
103
94
224
99
95
234
106
105
238
110
111
230
99
104
240
106
113
246
110
120
255
110
123
255
114
126
241
112
117
231
102
107
240
103
110
255
116
122
255
117
126
255
110
117
253
103
112
244
90
102
237
72
89
229
72
91
222
87
102
220
128
131
180
146
134
133
136
107
113
134
93
111
137
90
121
138
96
141
151
114
182
183
152
223
222
194
249
244
222
252
250
229
255
255
239
250
255
238
244
255
238
238
255
234
230
249
227
220
239
217
208
227
205
197
222
193
178
213
173
172
211
167
172
209
168
178
210
171
185
213
175
190
214
178
201
218
186
210
223
193
224
230
204
232
234
212
240
237
218
241
234
216
236
227
212
233
221
209
232
218
207
234
220
211
232
219
211
230
217
211
229
216
210
91
78
62
91
78
62
91
78
62
91
78
62
90
77
61
90
77
61
90
77
61
90
77
61
89
76
60
89
76
60
88
75
59
88
75
59
88
75
59
89
76
60
89
76
60
89
77
63
83
73
63
84
74
62
85
76
61
88
76
60
89
78
58
90
77
58
90
77
58
89
78
60
89
77
63
85
76
69
88
79
82
95
87
98
100
95
115
106
102
129
115
111
144
121
121
157
122
128
164
122
130
169
127
131
178
130
133
188
133
134
198
135
136
203
136
137
204
136
137
202
136
136
200
131
131
191
125
124
181
121
118
173
115
112
167
110
107
164
105
101
160
111
95
142
132
94
117
151
85
97
179
78
96
210
74
98
236
64
90
246
54
79
251
52
71
252
58
69
240
64
64
231
70
62
222
74
64
219
75
66
224
72
69
231
68
71
240
63
73
239
63
74
221
65
68
212
70
68
200
65
61
201
72
66
180
58
47
177
55
44
206
79
70
201
66
60
206
61
56
208
54
52
207
49
48
208
53
49
211
62
56
207
69
59
200
70
57
195
68
53
190
57
40
195
58
40
194
58
42
191
58
39
189
56
37
190
57
38
191
58
39
193
58
38
196
57
38
203
58
41
211
58
44
217
57
43
221
55
43
225
53
43
228
51
43
234
51
45
235
42
43
241
42
45
248
45
51
253
46
52
255
49
55
255
50
55
255
51
56
253
53
56
250
55
59
246
55
60
243
57
62
243
56
65
246
56
68
247
55
70
252
53
72
254
53
69
246
42
53
244
45
50
237
49
50
227
52
47
217
54
45
208
56
42
206
59
43
206
61
44
203
53
38
209
56
42
217
59
47
223
61
50
226
62
52
228
61
52
229
62
53
223
65
54
217
74
60
207
71
55
201
65
49
196
60
44
194
57
41
194
57
39
198
56
42
200
57
41
201
50
39
211
57
47
225
64
56
235
68
62
222
48
47
224
46
46
235
52
54
232
54
54
216
51
45
213
55
46
215
57
48
215
58
49
213
59
49
210
59
48
205
58
48
201
59
47
214
76
63
204
70
58
191
64
49
180
57
42
176
54
41
172
54
40
171
55
42
169
56
42
172
59
45
173
61
47
174
62
48
173
61
47
171
60
43
171
60
43
173
60
46
177
61
48
192
75
65
218
100
90
222
99
94
232
107
105
240
111
115
234
105
110
245
114
122
253
117
127
241
101
112
248
111
121
245
116
121
237
111
115
248
111
118
255
120
127
255
116
125
255
101
111
252
98
110
242
84
98
241
72
91
231
68
89
222
81
97
217
118
123
189
149
137
152
153
122
129
150
107
123
151
102
130
149
104
145
157
117
172
178
142
203
204
173
224
224
196
233
236
209
236
244
220
227
241
215
215
235
207
205
228
199
196
221
191
187
212
182
180
203
174
172
199
164
156
193
149
152
194
144
156
195
148
163
201
154
170
203
158
175
203
162
184
206
168
194
211
177
206
217
187
216
222
196
228
227
206
235
229
213
236
226
214
233
219
210
229
212
205
226
209
202
223
205
201
218
203
198
213
198
193
91
78
62
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
89
76
60
89
76
60
90
77
61
89
76
60
89
76
60
88
75
59
88
75
59
89
76
60
90
77
61
90
76
63
86
74
62
86
74
62
88
76
62
89
78
60
90
77
60
90
77
58
90
77
58
90
77
60
91
79
65
87
77
68
87
77
76
92
82
90
94
88
102
98
93
113
106
102
127
113
113
141
116
119
150
116
122
156
120
125
167
125
128
181
129
129
191
132
131
197
133
132
200
135
132
199
130
125
191
127
121
183
125
116
173
122
111
167
122
109
165
120
105
162
116
101
160
124
95
141
133
79
93
152
72
75
178
69
75
211
71
82
237
66
82
246
58
73
252
54
67
253
58
64
244
62
61
235
66
59
228
69
63
225
70
65
227
69
66
230
67
70
237
63
72
234
64
73
214
64
65
209
71
68
197
65
60
195
71
63
178
57
46
179
58
47
209
85
75
195
62
53
201
56
51
199
47
44
197
42
38
200
47
42
205
58
51
204
67
57
195
67
54
188
62
47
192
59
42
196
59
41
195
60
41
193
58
39
194
59
40
195
60
41
194
59
39
195
56
37
196
53
36
202
55
37
212
56
41
217
55
42
221
53
42
225
51
42
229
51
41
234
50
42
245
51
51
254
54
56
255
56
60
255
52
58
255
45
50
255
40
45
255
40
45
254
43
49
254
45
51
246
41
48
242
38
49
247
41
54
255
44
63
255
42
65
252
32
57
244
25
47
246
34
48
243
40
46
237
44
49
230
48
47
218
49
44
212
51
43
209
53
41
208
54
42
212
54
43
221
57
48
230
61
54
235
62
55
235
58
52
232
55
49
232
53
48
226
57
50
223
72
61
215
75
60
211
69
55
203
61
47
196
54
40
194
51
37
200
54
41
207
56
45
206
52
42
212
54
45
230
67
60
223
56
50
224
50
49
210
32
32
236
56
57
229
54
51
213
49
40
210
52
41
210
52
41
207
53
41
206
54
43
202
54
42
200
53
43
197
55
43
227
89
78
216
82
70
202
72
59
190
64
50
183
59
47
181
59
46
181
60
49
181
60
49
175
57
45
177
59
47
177
61
48
177
61
46
175
59
44
173
57
42
173
57
44
174
58
45
177
60
50
208
89
81
220
98
93
236
112
112
244
118
121
238
109
114
245
113
124
248
114
125
255
121
131
255
127
137
250
124
128
235
109
113
241
104
112
255
114
124
255
115
127
255
105
116
250
92
106
243
80
97
245
71
94
232
64
87
220
78
94
215
112
116
196
152
139
164
163
132
134
156
110
126
154
103
129
151
104
141
156
113
161
169
130
180
186
150
200
205
173
213
220
189
202
215
185
191
210
178
176
202
167
166
193
158
157
187
151
154
182
144
150
178
140
145
176
134
140
180
130
138
181
127
143
186
133
152
192
140
158
195
144
162
196
146
170
197
154
179
201
162
190
206
170
201
210
181
216
218
196
227
224
205
232
222
210
230
216
207
223
205
201
218
199
195
211
193
189
206
188
184
200
182
180
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
88
75
59
88
75
59
88
75
59
89
76
60
89
76
60
90
77
61
90
77
61
90
77
61
90
76
63
90
76
63
90
77
61
91
78
61
93
77
61
94
79
60
92
79
60
92
79
62
89
77
61
87
77
67
87
76
72
88
78
79
90
80
88
93
85
98
96
89
105
96
93
114
103
103
129
106
109
142
112
114
155
114
116
167
120
119
179
129
126
193
137
131
201
138
131
199
137
126
192
140
126
188
138
120
178
135
112
168
139
112
167
145
114
171
139
106
163
137
90
132
143
71
82
161
66
60
179
65
64
202
68
67
220
64
67
231
58
62
243
60
62
254
68
69
246
62
60
241
62
58
236
62
61
233
65
64
233
67
67
233
68
72
233
66
73
226
67
72
207
63
62
197
64
57
190
63
54
183
62
51
176
60
47
178
60
48
192
68
56
210
77
68
199
54
49
212
59
54
205
50
46
204
51
46
214
67
59
199
63
51
181
54
39
187
62
44
186
55
37
193
58
39
195
60
41
194
59
40
192
57
37
194
57
38
197
58
39
199
58
40
203
58
39
208
57
40
214
54
40
216
50
36
218
46
34
224
47
37
236
55
46
245
61
53
246
57
51
247
54
49
248
49
46
249
43
43
250
40
41
252
38
40
252
38
40
252
38
40
251
38
42
247
33
41
248
34
46
255
39
55
255
41
62
255
33
59
255
24
54
255
23
49
254
37
54
238
34
43
229
34
42
227
43
45
221
45
45
211
42
39
209
44
40
218
50
47
226
54
50
232
54
52
238
54
54
242
54
53
242
49
50
239
46
47
238
44
44
229
47
44
220
57
50
209
58
49
210
57
49
236
83
75
187
34
26
196
43
35
223
70
62
200
46
38
205
46
40
222
60
55
232
69
64
226
58
55
216
47
42
218
46
42
226
53
49
229
60
55
223
62
52
213
60
46
207
53
41
203
51
38
204
53
42
205
59
46
203
59
48
197
56
46
236
98
88
224
90
79
200
67
58
185
54
44
186
58
47
184
56
45
177
51
39
180
54
42
176
48
37
176
50
38
174
50
38
175
52
37
176
54
39
178
58
42
180
60
46
179
61
49
176
58
48
186
67
59
214
92
87
236
112
112
241
115
118
246
120
124
251
121
131
245
113
124
255
122
132
253
119
128
242
117
123
244
118
122
253
116
124
255
114
124
255
107
120
255
100
115
255
94
110
241
74
92
245
69
92
239
70
91
217
70
86
208
103
107
190
144
128
158
155
122
134
156
109
125
153
102
126
148
99
135
151
106
148
159
119
158
166
129
160
168
131
156
168
132
146
163
127
138
163
124
128
159
118
122
154
113
121
154
111
124
157
114
129
160
118
131
164
117
132
172
119
134
177
121
140
183
127
147
188
132
149
190
134
152
189
135
157
189
140
162
189
144
167
188
147
175
189
154
189
195
167
206
205
185
220
212
199
224
211
202
218
200
196
211
192
188
203
185
183
192
177
174
184
168
168
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
90
77
61
88
75
59
88
75
59
88
75
59
89
76
60
89
76
60
90
77
61
90
77
61
90
77
61
90
76
63
90
77
61
92
76
61
93
77
61
93
78
59
94
79
60
92
79
60
92
79
62
93
80
64
91
79
67
91
78
70
89
78
74
90
80
81
92
83
88
95
85
94
94
88
102
97
93
116
101
100
131
107
105
145
110
108
157
117
113
172
127
122
188
135
128
196
139
128
196
143
128
193
145
125
186
143
116
171
143
108
162
154
111
164
165
115
168
158
103
158
154
86
125
156
61
69
166
55
46
175
54
46
192
61
53
208
65
59
218
63
58
231
64
58
243
65
61
245
61
61
245
59
60
244
60
62
241
62
65
236
66
69
231
66
70
225
66
70
216
66
67
199
60
55
189
61
52
182
60
49
177
59
47
171
58
44
174
58
43
189
65
53
208
74
65
218
71
64
220
65
61
212
54
51
208
53
49
213
64
57
205
67
56
187
57
43
178
53
35
189
56
39
194
59
40
196
61
42
196
61
42
196
59
40
198
59
40
199
58
40
202
57
40
207
57
40
207
54
38
212
50
37
218
50
37
227
53
42
234
56
46
239
56
48
240
57
49
231
50
39
231
49
38
235
47
38
240
45
39
246
44
40
250
45
42
254
46
44
255
46
47
251
42
45
248
37
43
250
36
46
255
39
55
255
37
59
255
29
55
255
20
51
252
19
48
244
29
47
245
45
56
244
50
59
228
41
48
218
39
43
219
45
47
221
47
49
218
42
45
241
58
62
244
55
61
247
52
58
246
50
54
246
47
52
248
48
51
249
50
53
244
56
55
219
50
45
218
59
53
215
56
50
228
69
63
228
69
63
206
47
43
209
50
46
193
34
30
212
53
49
225
63
58
232
69
64
224
61
56
216
51
45
217
50
44
221
54
48
221
58
49
212
58
46
207
57
42
201
53
39
199
53
40
200
57
43
202
60
48
202
60
50
198
57
47
237
99
89
225
88
78
201
64
56
186
52
43
194
57
49
195
58
48
191
54
44
194
57
47
191
53
43
190
52
42
189
52
42
187
53
41
184
54
41
181
53
40
180
54
40
176
54
41
180
59
48
187
66
57
211
89
84
232
108
106
239
113
116
246
120
124
254
124
132
249
117
128
255
122
132
253
119
128
244
119
125
245
118
125
254
117
125
255
111
123
255
104
118
255
97
113
255
93
110
242
75
93
246
68
92
242
70
92
221
73
89
208
102
104
183
138
119
149
146
111
127
147
98
117
146
92
120
142
93
127
144
99
138
149
107
141
152
112
139
149
112
133
148
109
112
135
93
108
137
93
104
137
92
103
141
94
107
143
95
113
149
101
121
155
105
124
158
107
132
171
116
133
177
118
139
183
124
142
186
125
146
187
127
148
187
130
151
188
134
155
187
137
155
181
134
161
179
139
172
183
151
188
190
168
205
199
183
213
200
191
212
195
188
206
188
186
197
181
181
186
172
172
177
163
163
92
76
60
92
76
60
92
76
60
92
76
60
92
76
60
92
76
60
92
76
60
92
76
60
90
74
58
90
74
58
90
74
58
91
75
59
91
75
59
92
76
60
92
76
60
92
76
60
92
76
61
92
76
61
93
75
61
93
77
61
93
78
59
94
79
60
94
79
60
92
79
60
95
82
65
93
81
65
92
80
68
91
78
70
90
79
75
91
80
78
93
81
83
92
82
90
93
84
103
98
89
118
101
95
133
105
99
145
113
108
164
125
119
181
132
126
190
137
125
189
152
132
193
155
128
183
156
118
169
160
111
158
177
115
162
189
117
165
183
104
152
177
81
118
181
61
70
186
54
49
182
54
45
189
61
50
200
68
56
210
69
59
219
66
58
228
63
57
241
61
62
247
58
62
249
58
63
247
61
66
239
64
69
229
66
69
215
65
66
205
66
63
192
59
52
184
57
48
177
57
43
173
57
42
169
56
40
173
57
42
187
63
51
207
70
60
217
68
62
215
57
54
217
55
52
218
59
55
220
67
61
221
79
69
206
72
60
181
51
35
190
57
40
193
58
39
196
59
41
198
61
43
201
61
44
200
60
43
201
58
41
204
57
41
207
55
41
207
50
35
211
47
35
223
52
42
238
61
51
244
63
54
241
57
49
233
52
43
224
54
39
221
54
38
226
50
37
230
48
37
234
46
37
238
45
38
239
44
40
242
44
41
242
44
45
239
40
43
240
39
47
247
41
54
253
37
58
252
30
55
251
22
51
248
24
51
244
37
55
241
47
58
242
52
64
239
53
64
238
57
66
238
58
67
233
53
62
229
45
55
240
50
60
243
47
59
246
46
57
246
45
55
245
46
51
245
46
49
243
47
49
237
52
50
220
48
44
226
61
57
218
54
52
223
59
57
255
109
106
229
67
65
209
47
45
206
47
44
217
58
55
223
64
60
224
65
59
219
60
54
213
55
46
214
53
45
214
53
43
210
54
42
200
54
39
195
54
37
194
54
39
196
56
41
197
59
46
198
60
49
198
60
49
197
59
49
235
96
89
225
84
77
201
60
51
191
48
40
203
59
51
209
62
54
206
59
51
210
61
54
216
61
56
215
60
55
212
61
54
207
60
50
201
59
49
195
57
46
188
54
42
182
54
41
185
59
47
188
64
54
207
84
77
227
103
101
237
111
114
248
122
126
255
129
136
253
123
131
255
122
131
252
121
129
245
122
127
246
121
127
254
117
127
255
110
124
255
99
117
255
92
111
255
89
109
242
73
94
245
65
90
242
70
92
224
76
90
203
97
97
167
122
101
130
128
90
110
130
81
104
133
79
109
131
82
116
133
88
123
136
93
125
136
94
120
132
92
113
130
88
96
122
77
95
127
80
97
133
85
101
141
89
110
149
96
117
156
103
125
160
106
128
163
109
132
171
114
135
176
116
139
180
120
142
184
121
140
184
121
143
185
122
146
186
126
148
186
129
147
177
127
149
172
128
154
170
134
168
174
146
184
181
162
196
186
174
200
185
178
198
183
180
183
171
173
169
160
165
159
150
155
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
90
74
58
90
74
58
90
74
58
91
75
59
91
75
59
92
76
60
92
76
60
92
76
60
93
75
61
93
75
61
93
76
60
94
77
61
94
77
59
94
79
60
94
79
60
94
79
60
94
81
64
94
81
64
93
79
66
91
79
67
92
78
69
91
78
70
92
79
73
91
79
79
94
80
95
98
84
109
100
89
123
103
94
137
111
104
156
122
117
173
132
124
183
136
123
179
155
132
186
166
133
180
175
128
170
184
122
161
200
120
159
211
116
156
204
99
140
198
77
108
216
72
82
217
67
66
209
67
63
203
70
61
201
73
60
204
72
59
211
69
59
222
65
60
238
64
65
245
60
65
251
60
68
249
62
69
240
65
72
226
66
68
209
65
64
197
64
59
191
63
54
182
60
49
175
57
43
171
58
42
170
57
41
174
56
42
188
62
48
206
68
58
213
60
55
213
51
49
224
59
57
229
65
63
225
68
63
232
83
76
223
85
74
191
58
43
193
57
41
190
55
36
192
55
37
196
59
41
201
61
44
202
61
44
203
57
42
206
56
41
205
52
38
210
50
38
217
50
41
229
57
47
241
62
55
245
62
54
240
53
46
228
47
38
222
54
41
221
55
41
224
52
42
228
50
40
231
46
41
233
46
41
236
44
41
236
44
43
232
42
44
230
39
44
234
40
49
240
42
57
245
39
60
246
34
59
250
31
61
251
37
65
253
56
74
228
40
54
229
44
58
255
77
89
255
93
105
255
78
90
242
60
73
244
58
72
232
41
56
237
42
56
241
45
57
244
48
58
241
50
55
234
48
49
225
43
42
215
40
37
216
48
45
218
55
50
212
50
47
229
67
64
255
115
112
245
86
83
221
62
59
229
71
68
219
61
58
218
60
57
213
58
53
210
56
48
209
55
45
208
54
42
205
52
38
198
51
35
190
53
35
185
54
36
187
56
38
191
59
44
192
60
47
191
57
45
192
58
47
197
60
50
229
88
81
220
77
71
202
55
48
199
48
41
215
60
55
222
65
58
218
59
53
223
60
53
231
62
57
233
61
57
230
63
57
225
64
56
217
63
53
208
60
50
200
58
46
193
57
45
187
57
44
187
61
49
203
78
72
224
99
95
236
110
111
250
124
127
255
132
136
255
125
133
252
118
127
250
119
127
245
122
127
247
122
128
255
118
128
255
109
123
255
98
116
254
91
110
250
84
104
240
71
92
241
61
86
240
68
90
225
79
92
195
91
90
146
104
82
111
109
71
95
115
66
92
121
67
100
122
73
108
125
80
116
129
86
118
131
88
114
129
88
111
129
87
109
135
90
108
142
92
111
149
98
117
157
104
123
164
108
129
168
111
132
170
113
135
170
112
134
172
113
136
176
116
139
179
117
140
182
118
138
183
118
138
183
118
139
184
119
144
184
122
145
180
124
143
171
123
144
165
124
154
165
133
170
172
150
187
180
164
197
184
175
198
184
181
177
171
175
161
158
165
151
146
153
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
91
75
59
90
74
58
90
74
58
90
74
58
91
75
59
91
75
59
92
76
60
92
76
60
92
76
60
93
76
60
94
75
60
94
75
60
94
77
61
94
77
59
95
78
60
94
79
60
94
79
60
94
79
60
94
78
62
94
78
62
92
79
63
94
78
65
93
79
66
94
80
69
94
79
74
98
78
89
99
80
100
99
84
113
101
89
125
108
101
145
120
114
162
127
119
168
131
118
164
148
125
167
172
134
171
194
137
169
206
130
158
218
119
148
223
108
137
218
89
119
216
69
95
236
70
84
242
73
78
233
77
78
219
76
72
205
71
62
202
69
60
210
69
62
219
67
62
234
66
66
242
63
67
248
63
71
246
65
74
237
68
73
222
68
70
205
66
63
192
63
57
189
65
55
181
61
47
174
58
43
171
58
42
170
57
41
174
56
42
187
59
46
204
63
54
225
70
65
226
61
59
238
66
66
235
65
65
222
59
54
227
74
66
230
88
76
213
75
62
200
64
50
192
56
40
188
51
35
193
56
40
200
60
45
201
58
42
203
55
41
208
56
43
206
48
37
215
51
41
224
56
47
233
59
52
237
58
53
237
54
48
235
48
43
229
44
39
223
48
43
223
50
44
229
49
48
235
50
48
241
51
53
244
51
54
246
53
56
244
53
58
235
46
53
232
45
54
235
47
61
240
49
67
242
46
70
245
42
71
252
44
78
255
52
82
245
58
77
229
51
63
238
62
75
255
92
105
255
104
118
255
85
100
245
67
83
247
64
82
238
51
68
237
51
65
237
51
62
233
54
60
227
57
57
219
56
51
206
52
42
199
47
36
203
50
42
199
46
40
208
55
50
242
89
84
246
92
90
242
88
86
219
65
63
226
72
70
220
66
64
212
60
55
206
55
48
205
54
45
207
56
45
207
57
43
202
55
39
194
53
35
185
56
35
179
57
36
181
58
40
184
61
45
185
59
44
182
54
41
188
55
46
198
61
53
219
78
71
217
69
65
206
53
48
208
49
45
225
62
57
231
64
58
227
56
49
231
53
49
235
50
48
238
50
49
235
53
50
231
56
51
225
58
50
216
58
47
208
57
46
200
58
46
190
54
42
186
56
43
200
73
66
220
95
89
235
110
108
251
125
128
255
133
137
255
126
131
247
116
124
248
118
126
245
122
127
248
123
129
254
116
129
255
108
124
255
97
117
255
90
112
247
81
101
241
72
93
240
62
86
238
69
90
227
83
93
188
86
82
131
91
66
98
98
60
92
112
63
91
118
67
102
121
75
110
126
81
116
129
86
120
133
90
121
136
95
119
140
97
121
149
101
120
154
104
122
160
109
124
167
113
129
170
114
132
171
114
133
171
112
134
169
111
137
172
114
139
174
116
138
178
116
138
180
116
136
181
116
135
182
114
137
184
116
139
184
119
143
183
123
140
173
120
141
164
120
151
165
130
170
174
149
191
186
167
203
193
181
207
198
193
188
186
191
168
170
182
156
156
168
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
90
74
58
91
75
59
91
75
59
92
76
60
92
76
60
93
76
60
94
75
60
94
75
60
94
75
60
95
76
61
94
77
59
95
78
60
94
79
60
94
79
60
93
78
59
93
78
59
94
79
60
95
79
63
95
79
63
96
80
64
97
81
65
98
80
70
101
76
80
101
77
93
97
79
101
98
85
115
104
96
133
116
111
151
123
116
157
125
113
151
143
118
150
174
131
159
203
140
161
218
131
150
227
116
133
232
101
117
230
81
100
228
63
80
242
55
72
252
64
78
244
73
81
227
71
74
209
65
64
203
66
60
209
67
63
217
67
66
230
67
70
235
64
70
239
64
71
239
66
72
231
68
73
218
68
69
201
66
62
190
63
54
186
64
53
177
59
45
169
56
40
168
57
40
170
57
41
176
56
42
188
58
45
202
59
51
232
73
69
233
63
63
235
61
62
229
55
56
218
50
47
222
65
58
238
90
80
244
104
91
218
80
67
201
65
51
190
53
37
194
54
39
199
57
43
200
57
43
203
55
43
210
56
44
209
48
38
218
54
45
230
59
52
233
59
52
234
52
48
232
47
44
234
45
43
235
45
45
241
52
56
243
52
59
247
51
61
250
50
60
251
49
61
253
49
61
250
48
60
247
49
62
244
49
65
241
50
66
242
53
75
243
53
78
242
49
78
244
46
79
254
49
88
255
62
95
230
51
72
248
78
91
255
95
108
255
92
107
252
84
99
250
79
95
244
68
88
233
56
74
243
65
81
234
58
71
221
50
58
210
47
50
202
50
45
194
56
45
189
59
43
188
58
42
196
58
47
192
50
40
217
74
66
250
107
99
221
76
71
225
80
75
207
59
57
207
59
57
224
76
74
212
64
60
202
55
48
202
55
45
206
60
47
205
60
43
203
58
41
196
59
40
180
59
38
173
58
37
175
60
41
179
62
45
177
57
41
175
51
39
186
58
47
202
68
59
214
71
65
216
67
61
212
55
50
215
50
46
231
59
55
236
58
54
232
50
46
237
50
45
242
44
45
244
44
44
242
46
47
239
51
49
232
55
49
226
58
49
218
60
49
210
62
50
194
54
41
186
52
41
197
66
58
215
88
82
231
106
104
250
124
125
255
134
137
255
127
132
248
117
125
249
119
127
246
123
128
247
122
128
252
114
127
253
105
121
255
94
115
255
89
111
245
79
99
244
75
96
242
64
88
239
70
91
229
85
95
182
83
78
121
84
58
94
96
56
96
115
69
97
124
73
110
129
83
118
134
89
123
136
93
126
139
96
129
144
103
130
151
108
128
156
108
125
159
109
124
164
111
125
168
112
128
169
111
130
170
110
131
169
108
133
169
108
137
170
113
139
173
113
137
175
114
136
178
114
133
178
111
133
180
112
135
182
114
137
184
116
139
181
118
135
173
116
140
166
119
153
169
132
175
181
153
198
196
175
213
206
190
217
210
204
194
194
202
172
178
192
155
161
175
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
90
75
56
91
76
57
91
76
57
92
77
58
92
77
58
93
76
58
94
75
60
96
74
60
94
75
60
95
76
61
94
77
59
95
78
60
94
79
60
94
79
60
94
79
58
95
80
59
96
79
59
97
80
62
97
80
62
97
80
62
97
80
60
100
78
65
104
75
77
103
75
87
99
78
95
98
84
109
106
97
128
118
112
146
124
118
152
128
115
145
143
117
142
173
128
148
205
134
148
222
127
135
237
113
121
246
101
108
246
82
91
244
62
75
248
47
66
255
55
75
251
65
79
235
64
73
219
63
67
214
66
66
213
67
67
215
65
66
224
65
69
227
64
69
230
63
70
228
65
70
223
67
70
212
66
66
199
64
60
189
62
53
184
62
51
175
57
43
168
55
39
169
58
41
173
60
42
180
60
44
193
61
49
207
63
55
223
61
58
229
57
57
227
48
51
226
47
50
224
52
50
219
57
52
230
77
69
252
108
97
242
104
91
217
81
67
198
60
47
198
58
45
200
58
46
201
55
42
205
54
43
213
56
47
213
52
44
222
55
47
230
57
51
232
54
50
233
49
47
232
47
44
238
49
47
245
49
53
255
50
66
255
48
68
255
45
69
255
43
65
255
38
63
255
35
60
250
32
56
244
32
55
246
39
65
243
43
69
242
47
77
242
49
80
240
44
80
243
42
84
254
51
96
255
66
104
240
67
87
255
95
108
255
103
116
247
85
100
236
74
89
239
74
90
234
65
84
217
49
66
235
64
82
221
55
67
201
45
49
186
40
40
177
46
36
171
56
38
165
63
38
168
64
39
184
63
46
188
58
44
221
89
77
225
93
81
205
71
62
205
68
62
193
54
51
201
59
55
228
85
81
213
70
64
201
57
49
200
56
45
201
58
44
200
57
40
200
57
40
196
61
41
177
63
39
166
60
38
168
59
38
172
61
42
171
55
40
172
51
40
188
61
52
211
76
70
214
71
65
221
69
64
219
57
54
220
51
48
233
55
51
236
53
49
235
48
43
244
49
45
253
44
47
255
43
45
250
46
47
244
49
47
237
52
47
230
56
49
223
59
49
216
62
50
201
57
46
189
51
40
192
59
50
207
78
72
225
97
94
247
121
122
255
136
138
255
131
135
252
121
129
252
122
130
248
124
132
247
122
130
249
111
124
249
101
117
252
90
111
252
86
108
238
75
96
242
74
97
240
64
87
236
69
89
225
84
93
174
77
71
112
77
49
92
94
54
95
114
68
102
126
78
117
136
91
127
142
99
132
144
104
134
146
106
136
151
110
137
158
115
136
164
116
132
166
116
127
167
114
125
168
112
127
168
110
129
169
109
131
169
108
134
168
108
136
167
110
138
169
110
136
172
111
134
174
111
130
175
108
130
177
107
131
181
110
133
183
114
135
179
116
134
173
116
140
168
119
155
173
133
176
185
154
199
199
175
214
207
189
215
210
204
188
192
201
165
174
189
147
156
171
91
74
56
90
75
56
91
74
56
90
75
56
91
74
56
90
75
56
91
74
56
90
75
56
91
74
56
90
75
56
91
74
56
91
76
57
92
75
57
92
77
58
93
76
58
93
76
58
94
75
60
94
75
60
94
75
60
94
77
61
94
77
61
94
79
60
94
79
60
92
79
60
96
81
62
97
82
61
97
82
63
98
81
63
98
81
63
97
80
62
97
79
59
98
76
63
107
77
75
106
76
84
101
79
92
100
87
107
107
101
127
120
117
148
125
124
156
127
120
151
145
122
148
171
129
149
198
132
144
217
126
133
238
117
122
252
109
111
253
90
91
249
70
76
247
52
69
255
58
78
251
64
81
238
63
76
229
65
74
225
69
73
221
66
70
215
60
64
222
63
68
223
62
67
225
62
67
222
64
65
218
66
65
208
65
61
197
62
56
188
61
52
181
63
49
172
59
43
169
56
40
173
60
44
180
63
46
187
64
49
202
65
55
216
67
61
217
55
52
225
56
53
222
46
46
226
51
48
230
58
54
211
48
39
207
53
41
235
85
71
255
119
106
235
91
80
209
67
55
202
60
48
203
59
48
201
55
42
205
54
43
212
58
48
218
55
48
223
56
50
229
54
51
231
51
50
234
48
49
237
49
50
244
51
54
252
53
60
252
37
53
255
35
56
255
34
56
255
33
56
255
32
55
255
31
53
251
29
52
246
30
53
237
28
50
236
32
57
237
39
66
238
41
71
237
39
74
239
41
77
253
53
92
255
70
104
255
96
115
254
94
106
247
85
98
242
80
93
242
80
93
240
75
89
227
62
76
210
48
59
218
61
70
205
54
59
187
47
46
175
46
40
168
52
39
162
59
40
155
63
38
157
61
37
170
57
39
178
56
43
210
86
74
187
59
50
196
63
56
190
52
49
189
50
47
206
67
64
229
87
83
213
72
65
200
57
49
196
54
42
197
54
40
196
53
37
198
53
36
195
58
40
177
60
40
167
58
38
168
55
37
173
57
42
172
52
38
175
49
37
194
63
53
219
82
74
217
73
65
225
72
66
222
59
54
222
50
46
234
52
49
237
49
47
239
45
43
252
50
50
254
44
47
253
43
46
249
43
45
243
43
43
237
45
42
230
49
42
223
52
44
214
56
44
209
61
49
191
50
40
188
55
46
200
73
66
217
92
88
243
119
119
255
137
139
255
134
138
253
126
133
255
125
133
252
125
134
253
119
130
252
107
122
249
96
114
249
87
108
249
83
105
234
68
92
240
71
94
236
59
85
228
65
86
215
81
90
162
73
67
102
70
45
88
93
53
90
109
63
98
125
74
116
140
92
128
150
103
135
152
108
136
155
110
138
160
114
139
165
118
140
172
122
134
171
119
129
170
114
126
167
109
124
165
105
125
165
103
129
165
103
131
165
105
131
164
107
133
166
109
132
170
109
130
172
108
128
173
104
128
175
105
129
179
106
132
182
111
137
182
115
136
176
114
140
173
120
153
176
132
172
188
152
189
198
169
201
203
181
203
205
194
182
191
196
159
171
183
140
152
164
93
75
55
92
75
55
93
75
55
92
75
55
93
75
55
92
75
55
93
75
55
92
75
55
94
76
56
93
76
56
94
76
56
93
76
56
94
76
56
93
76
56
94
76
56
93
76
58
93
74
60
93
75
61
94
76
62
92
76
60
92
76
60
91
78
61
93
80
63
94
83
65
96
83
66
95
82
63
96
80
64
98
81
65
99
82
66
100
81
66
100
78
65
100
76
66
107
75
76
104
75
80
101
79
91
102
91
108
110
107
134
120
123
156
129
133
170
137
137
173
143
132
166
165
136
166
190
136
159
208
130
144
225
121
128
240
114
115
249
106
102
255
97
96
244
77
87
237
65
79
231
61
74
233
66
76
235
69
79
231
65
75
228
61
69
229
62
70
226
59
66
224
59
63
221
58
61
217
59
58
212
60
57
204
59
54
196
58
48
185
57
44
167
54
38
175
65
48
173
60
44
172
54
40
191
65
53
204
70
61
204
61
53
208
55
50
218
56
53
220
55
49
222
53
46
222
54
45
222
56
42
221
60
42
215
58
39
211
54
37
217
59
48
240
83
76
242
90
79
217
69
57
199
56
42
205
62
46
212
66
51
210
58
45
211
50
42
240
71
66
225
47
47
239
54
59
244
55
62
239
45
56
255
66
77
240
40
51
250
38
50
255
41
50
255
41
50
249
29
39
253
34
42
255
39
47
254
39
47
240
29
38
238
31
41
248
44
55
233
33
46
235
38
55
240
44
64
227
33
57
255
86
112
229
43
66
255
92
108
255
94
105
255
89
99
251
84
92
246
79
87
236
71
77
222
62
64
208
54
52
204
61
55
197
64
55
184
62
49
167
54
38
156
49
33
154
53
35
157
58
39
160
59
41
167
56
45
174
55
47
194
69
63
191
59
55
189
51
49
196
54
52
197
53
52
212
68
67
219
76
72
218
75
69
209
68
59
200
58
48
196
52
41
199
53
40
203
52
41
197
53
42
188
60
47
179
57
44
173
47
35
171
40
30
179
45
36
195
57
47
210
67
59
216
72
63
228
80
70
223
69
61
218
55
48
221
48
42
231
48
44
242
50
49
249
49
51
253
49
52
247
47
49
246
48
49
246
48
49
243
48
46
242
48
46
237
50
45
230
53
45
221
57
47
213
61
48
190
50
37
192
62
49
185
61
51
214
95
89
233
115
113
255
143
143
251
132
134
255
135
140
255
132
141
255
120
135
253
104
123
252
95
116
254
92
115
250
86
110
243
77
101
242
72
99
235
60
89
237
62
91
224
66
89
216
94
105
141
63
59
92
67
45
83
91
54
92
116
66
103
134
77
119
150
93
125
156
99
127
157
103
128
161
106
131
166
110
130
168
111
128
167
110
127
166
109
126
165
108
125
165
105
124
164
104
125
163
102
127
163
101
127
163
102
127
165
108
127
166
109
129
171
108
127
172
107
126
173
103
127
174
102
129
177
103
131
179
105
135
181
109
139
180
114
139
177
118
142
174
124
153
180
137
167
189
153
175
194
164
178
193
174
163
175
173
141
152
158
124
135
141
93
75
55
93
75
55
93
75
55
93
75
55
93
75
55
93
75
55
93
75
55
93
75
55
94
76
56
94
76
56
94
76
56
94
76
56
94
76
56
94
76
56
94
76
56
94
75
58
92
75
59
94
76
62
95
77
63
94
78
62
91
78
61
91
78
61
92
81
63
94
82
66
95
83
67
93
81
65
93
79
66
95
79
66
96
78
68
98
80
70
99
79
72
101
77
73
105
76
78
103
78
84
101
83
97
103
95
116
110
111
142
121
126
166
128
136
183
135
139
187
158
150
199
163
140
182
171
127
160
185
120
142
211
121
133
234
124
125
244
117
111
244
105
100
245
94
99
238
81
90
233
71
82
238
74
83
243
76
86
242
71
80
238
64
74
234
60
69
228
57
63
224
58
60
220
57
58
215
60
56
210
61
55
203
60
52
196
58
47
186
59
44
171
60
43
170
63
45
169
56
40
178
58
44
193
65
54
197
60
52
199
54
49
212
60
55
210
53
48
214
53
45
215
53
42
216
52
40
217
56
38
219
58
38
219
59
37
218
57
39
221
54
46
230
65
59
235
77
68
225
73
60
208
62
47
199
56
40
202
56
41
211
59
46
221
58
51
245
73
69
228
48
49
241
55
60
246
54
65
241
46
60
255
63
77
237
37
50
243
36
44
247
37
40
251
41
44
253
43
44
252
42
43
248
40
40
246
40
40
247
43
44
239
36
39
237
37
40
234
37
44
253
59
68
216
26
38
238
50
65
250
63
80
213
35
51
255
104
117
255
97
106
255
90
97
253
86
93
247
78
83
231
65
67
218
59
56
210
61
54
193
55
44
194
66
53
188
71
54
172
61
44
154
47
31
147
39
26
146
38
25
147
39
27
158
45
37
176
58
54
209
84
80
206
72
71
195
53
52
198
52
53
209
61
61
235
87
85
216
71
66
214
71
63
208
65
57
199
57
47
198
51
41
202
54
44
208
55
47
206
55
48
199
61
51
194
57
49
194
53
46
195
50
45
201
52
46
209
56
51
216
63
57
222
69
61
228
74
64
222
65
56
218
54
45
221
48
42
231
48
44
242
50
49
251
48
51
251
48
51
244
48
50
243
49
50
244
48
49
243
47
48
243
48
46
238
49
45
231
52
45
223
57
45
215
61
49
191
51
36
190
60
47
183
61
50
211
94
87
233
118
115
255
144
144
249
133
136
253
134
140
255
128
138
255
115
132
255
100
121
255
92
116
255
89
114
252
84
110
246
76
103
243
68
97
236
61
90
236
66
95
223
74
96
194
83
92
128
61
55
88
67
46
82
92
57
91
118
67
101
135
75
115
149
89
120
156
95
119
157
98
123
161
102
125
165
105
125
166
106
124
165
105
124
165
105
124
164
104
123
163
101
123
161
100
123
161
100
125
161
99
126
162
101
124
163
106
125
166
108
125
169
108
125
170
105
124
171
101
125
173
99
127
175
99
130
177
99
133
176
104
135
178
107
136
175
112
136
171
115
139
171
124
144
172
132
144
170
135
140
162
139
118
133
126
99
111
111
83
95
95
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
93
76
56
94
75
58
95
78
62
97
80
64
96
80
64
93
80
63
92
79
62
91
79
63
91
82
67
91
81
69
91
81
71
92
79
71
92
79
73
95
80
77
99
81
79
102
84
84
103
84
86
103
84
88
103
86
96
104
92
112
108
105
134
115
118
161
124
131
185
130
138
201
138
142
206
152
146
210
160
139
196
170
131
178
185
125
159
207
128
147
228
131
138
238
126
122
242
115
109
248
102
105
242
85
92
234
73
81
237
72
79
243
73
82
245
71
81
242
65
75
238
61
69
228
55
61
224
55
58
219
56
57
213
60
55
207
63
55
201
63
52
193
61
48
184
61
45
174
61
45
170
60
43
171
58
44
184
66
54
199
72
63
192
59
50
187
48
41
202
58
50
205
54
47
208
54
46
213
55
44
216
56
44
217
55
40
217
56
38
220
57
38
224
58
42
221
52
45
219
52
46
226
65
57
233
79
67
222
72
58
200
53
37
200
50
35
217
64
50
226
62
53
245
72
68
231
48
50
242
53
59
248
54
63
245
49
61
255
66
80
244
46
59
240
41
48
235
35
38
236
36
39
249
49
51
245
45
47
239
39
39
236
38
37
245
49
50
234
40
41
245
55
57
231
42
48
225
40
48
234
50
60
255
81
93
237
59
73
255
89
101
255
94
102
242
85
92
239
78
84
241
76
82
235
69
73
222
58
59
214
55
52
214
62
57
194
53
44
194
62
50
189
65
53
181
60
49
173
55
45
168
49
41
162
43
35
157
38
32
155
36
30
169
47
42
199
69
67
194
58
58
188
44
44
200
51
53
215
65
66
244
94
93
208
63
58
210
67
59
208
65
57
203
61
51
204
57
47
212
61
52
218
64
56
219
64
59
219
64
60
216
61
59
221
62
59
227
65
63
228
62
62
224
58
58
227
63
61
235
73
68
224
66
57
221
60
52
217
53
44
221
50
43
231
49
45
240
51
49
245
49
50
248
48
50
244
48
50
244
48
50
244
48
49
243
47
48
243
48
46
238
49
45
231
52
45
223
57
45
216
62
50
192
52
37
186
56
43
181
59
48
208
91
84
237
122
119
255
147
146
251
135
138
253
129
137
255
124
137
255
113
129
253
100
120
254
90
114
255
85
111
252
79
107
250
73
102
244
65
95
238
63
92
234
71
98
223
84
103
165
64
72
117
56
51
88
70
50
85
95
60
95
119
69
102
135
78
114
147
90
117
152
94
116
154
95
120
158
99
123
163
103
123
163
103
121
162
102
121
162
102
121
161
99
120
160
98
121
159
98
121
160
97
124
160
98
122
160
99
122
162
102
123
164
104
123
167
104
123
168
101
123
169
97
123
169
96
125
171
96
127
174
96
135
178
106
138
181
110
139
178
115
137
172
116
134
166
119
130
158
117
121
147
110
111
134
108
81
99
87
64
79
76
50
65
62
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
77
57
94
76
56
96
78
58
97
80
60
96
81
62
93
80
63
90
78
62
89
79
67
88
80
69
88
79
72
91
81
79
95
85
84
98
88
89
101
88
95
105
89
99
108
92
102
107
94
104
108
96
108
108
99
116
111
107
134
114
116
155
121
126
181
127
135
200
133
141
214
140
143
220
142
135
212
159
139
208
173
138
194
179
129
167
189
121
144
204
123
130
222
129
124
241
130
123
254
116
116
253
100
103
244
88
92
242
79
84
242
73
80
242
68
77
240
63
71
239
60
66
229
54
59
225
55
56
219
57
55
213
60
55
206
64
54
198
64
52
191
64
49
184
63
46
173
57
42
173
62
45
177
61
48
188
70
58
204
82
71
199
72
63
186
53
46
186
49
41
200
57
49
205
56
49
211
59
48
217
61
49
219
59
45
217
54
39
220
54
38
224
56
43
224
53
45
219
50
43
224
61
52
236
78
66
227
75
61
210
58
44
209
56
42
224
66
54
222
54
45
240
62
58
233
47
48
239
48
53
245
50
58
248
52
62
255
74
86
255
70
79
253
62
69
242
51
56
226
36
38
237
47
49
234
44
44
240
50
50
232
42
42
235
47
46
241
57
57
209
26
28
229
50
54
220
43
49
231
56
63
239
68
76
255
87
98
241
75
85
217
60
67
219
64
68
225
66
70
225
62
65
222
57
61
220
56
57
218
55
56
212
57
55
201
56
51
195
56
49
190
57
50
193
64
58
206
77
72
215
85
83
210
77
78
196
66
64
178
55
50
182
57
53
207
75
73
217
77
76
227
81
82
239
89
90
234
82
81
241
89
86
201
53
49
206
62
54
210
66
57
208
64
55
211
63
53
217
66
57
224
67
60
226
64
59
233
63
64
231
56
61
236
57
61
242
63
67
239
58
63
232
53
56
236
62
61
246
77
74
222
57
51
219
54
48
218
51
43
222
51
44
229
52
46
236
51
48
242
50
49
244
48
49
244
48
50
246
47
50
246
48
49
245
47
48
245
47
46
240
48
45
233
52
45
224
56
45
217
63
51
194
54
39
183
53
40
179
57
46
203
86
79
239
124
121
255
147
146
254
135
139
255
128
137
255
121
135
252
110
126
250
99
118
250
88
111
252
80
106
251
72
102
250
67
98
242
61
92
239
66
94
229
77
100
215
90
104
136
50
53
107
57
48
92
77
56
91
101
67
99
123
75
106
137
80
115
146
89
116
149
92
117
152
94
119
157
98
121
161
101
122
162
102
119
160
100
118
160
97
119
159
97
118
158
96
120
159
96
120
159
96
123
159
97
122
160
99
122
162
102
122
163
103
122
167
102
122
167
98
122
168
96
122
168
93
124
171
93
126
173
95
134
178
103
139
180
110
140
179
116
138
173
115
134
166
117
128
157
113
116
142
105
105
128
100
80
98
84
67
82
75
56
71
64
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
59
94
77
57
93
75
53
95
77
53
96
80
57
95
80
59
92
79
62
90
78
64
88
79
70
88
81
75
89
80
81
96
87
92
103
96
104
110
102
115
115
104
121
115
103
123
115
103
125
113
103
127
111
108
129
112
112
138
114
118
153
118
124
172
122
130
193
127
135
208
132
139
220
138
140
225
147
142
224
157
141
214
160
132
190
158
117
159
160
108
130
172
110
115
188
117
111
210
118
107
240
115
109
253
109
108
254
104
105
251
95
96
249
83
87
244
71
77
237
60
66
234
55
61
232
53
59
227
54
56
221
57
56
215
60
55
208
64
55
199
65
53
192
65
48
185
64
47
173
55
41
180
64
51
175
58
48
176
59
49
200
82
72
213
92
81
201
77
67
187
59
48
190
57
48
193
55
45
204
57
47
214
62
51
219
61
49
218
54
42
220
52
39
226
54
42
224
51
44
226
55
48
228
61
53
229
69
57
226
70
57
222
66
51
222
65
50
226
62
50
219
48
38
234
55
50
236
48
47
238
45
48
239
44
50
246
51
59
255
76
84
255
87
94
255
90
95
255
79
83
225
46
49
227
48
51
224
44
45
247
69
69
232
54
54
220
44
44
218
44
45
234
61
63
219
49
52
216
50
54
255
98
104
224
61
66
202
41
49
202
45
52
193
38
42
213
59
61
224
65
69
218
55
58
217
51
55
223
57
61
220
55
59
205
47
48
204
52
51
205
59
59
211
71
70
221
83
83
235
96
99
245
105
108
244
101
107
234
94
97
196
64
62
198
69
64
229
94
91
248
104
103
255
111
112
255
106
106
229
75
75
215
61
59
201
52
48
209
62
55
215
68
60
214
67
59
213
62
53
213
60
52
216
58
49
220
52
49
238
53
59
241
45
55
240
44
54
242
46
56
239
44
52
235
44
51
243
57
60
254
74
75
223
51
47
220
51
46
218
51
43
220
51
44
227
53
46
234
52
48
239
52
47
242
50
49
244
48
50
246
47
50
247
47
49
246
46
48
245
47
46
240
48
45
234
51
45
226
55
45
217
63
51
198
56
42
180
50
37
178
56
45
195
78
71
239
124
121
255
146
145
255
135
140
255
126
137
255
117
132
249
108
124
246
97
116
245
85
109
247
74
102
249
64
96
249
59
93
243
58
92
237
68
97
219
80
101
193
87
97
114
46
43
98
62
48
96
84
62
99
106
73
102
124
77
107
137
83
116
146
92
117
150
95
118
153
95
120
158
99
121
161
99
120
160
98
117
159
96
117
159
96
117
157
95
118
158
95
119
158
95
120
159
96
123
159
97
122
161
98
122
162
100
123
165
101
124
166
100
124
167
96
121
167
94
121
168
90
123
170
92
125
172
94
128
172
97
133
175
103
135
174
109
135
170
112
133
165
115
131
160
114
123
149
110
114
138
106
100
119
100
91
107
94
81
97
84
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
60
95
78
58
94
76
52
95
78
52
96
78
56
94
79
58
91
78
62
89
79
69
90
83
77
90
84
84
95
90
97
104
98
112
114
109
129
122
117
140
123
117
145
123
113
147
122
112
147
118
112
148
113
116
149
114
119
157
116
124
170
119
128
183
122
131
196
126
134
207
132
138
216
139
141
218
150
144
218
153
139
201
155
133
180
162
131
162
170
132
145
171
126
123
159
107
93
153
82
64
186
78
66
210
82
73
225
88
82
233
88
85
239
84
82
241
75
77
236
63
67
229
52
58
235
56
60
231
57
59
226
58
57
218
61
56
211
64
56
203
65
54
195
63
48
188
62
47
179
57
44
186
65
54
171
53
43
163
46
36
190
73
63
217
103
92
217
100
90
203
85
73
184
60
50
184
54
41
192
51
41
206
58
48
217
59
48
218
54
44
222
51
41
228
54
45
223
49
42
228
55
49
227
59
50
221
57
47
222
62
48
227
70
53
228
66
51
223
57
43
222
48
39
233
52
45
240
51
49
239
45
46
236
41
45
242
47
53
255
66
71
255
82
87
255
93
98
255
92
97
226
57
60
227
57
60
213
43
44
244
74
75
226
56
57
215
47
47
217
51
53
203
39
40
202
37
41
247
87
89
220
61
65
213
57
61
209
54
58
186
31
35
196
40
43
219
61
62
229
66
69
219
53
57
215
44
50
220
49
55
217
48
53
204
41
46
208
52
55
226
76
78
244
98
101
250
105
110
247
100
108
246
96
105
248
96
108
248
98
107
214
76
76
213
78
74
234
92
90
234
86
84
231
77
77
227
72
70
207
52
50
206
51
47
217
65
60
224
75
68
228
79
72
223
74
67
217
64
56
215
58
51
215
54
46
220
46
45
245
50
58
251
45
58
248
42
55
245
39
52
245
41
52
248
48
58
255
62
67
255
74
74
224
49
46
222
51
44
220
51
44
221
53
44
225
52
45
231
52
47
237
52
47
240
51
47
244
48
50
247
47
50
249
46
49
248
45
48
246
46
46
241
47
45
235
50
45
226
55
45
217
61
49
201
59
45
179
49
36
177
55
44
186
67
61
236
121
118
255
141
141
255
136
141
255
123
135
255
113
129
246
104
120
243
96
114
243
83
107
244
69
98
249
58
92
249
55
90
243
58
92
235
72
99
205
80
96
160
74
77
102
52
43
89
66
48
95
87
64
99
106
73
102
124
78
107
136
82
116
145
91
119
149
95
120
153
96
123
158
100
122
160
99
118
158
96
115
155
93
114
156
92
115
155
92
116
156
93
118
157
94
119
158
95
123
159
97
122
161
98
121
161
98
122
164
98
124
167
98
123
166
95
120
166
91
120
167
89
122
169
89
123
170
90
126
170
95
131
173
101
133
172
107
135
169
109
137
167
115
137
165
117
132
157
115
124
148
114
117
137
112
111
128
109
103
120
102
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
95
78
58
97
80
54
97
80
54
97
79
57
94
79
60
91
79
65
91
82
75
92
86
86
95
90
97
107
103
118
115
111
134
125
122
151
130
126
161
129
124
165
125
119
163
123
117
165
120
118
167
115
121
171
115
125
178
120
129
184
123
132
191
126
134
196
132
138
200
141
142
206
148
147
205
154
147
198
160
150
187
171
156
179
188
167
176
201
173
169
197
166
148
170
136
109
154
103
76
155
70
50
173
65
52
181
65
52
194
66
57
214
72
68
232
78
78
238
74
75
236
63
67
235
61
63
233
59
61
229
59
59
224
60
58
217
64
56
210
63
53
202
62
49
194
60
48
189
58
48
190
63
54
175
52
44
167
49
39
187
73
63
209
99
86
214
104
91
213
101
87
195
79
66
186
62
50
186
52
41
199
55
44
214
57
48
217
53
44
223
50
43
231
54
48
226
48
44
227
52
47
226
55
47
222
55
46
224
62
49
229
67
52
228
62
48
222
52
37
229
51
41
232
47
42
240
51
47
240
46
46
239
45
46
241
48
51
242
54
55
244
64
67
246
77
82
252
89
94
233
70
75
246
81
87
216
51
55
235
70
74
221
56
60
230
65
69
216
53
56
204
44
46
207
46
51
226
70
73
210
55
59
208
55
58
185
35
37
213
59
61
217
57
59
226
60
62
232
62
65
230
55
60
223
46
54
219
42
50
224
50
59
228
61
68
238
77
83
250
95
101
255
109
115
255
106
115
248
97
106
245
91
103
246
90
104
246
92
102
244
100
100
232
90
86
232
87
84
216
64
61
207
49
48
212
52
52
211
51
51
225
67
64
227
74
69
233
82
75
234
83
76
225
74
65
217
63
55
216
57
51
219
56
49
227
51
51
243
46
55
255
48
62
255
48
61
250
42
55
252
46
58
255
59
69
255
67
72
251
65
66
227
49
47
223
52
45
221
52
45
221
53
44
226
52
45
230
51
44
237
52
47
241
52
48
244
48
50
247
47
50
249
46
49
248
45
48
246
46
46
241
47
45
235
50
45
227
55
45
216
58
47
205
62
48
181
49
37
177
55
44
178
59
53
233
115
113
255
138
138
255
135
141
255
116
132
253
104
124
243
97
116
241
92
112
244
82
106
245
68
97
251
55
93
252
56
94
245
61
95
232
78
102
188
81
91
125
57
54
94
60
48
81
68
49
91
86
64
93
100
69
101
119
77
106
133
82
114
142
91
118
148
94
121
154
97
123
158
100
120
158
97
115
155
93
112
152
89
112
153
87
113
154
88
113
154
88
116
155
92
117
156
93
121
157
95
120
159
96
120
161
95
121
162
94
122
165
94
121
164
92
120
164
89
120
164
87
121
165
86
123
167
88
127
169
95
130
172
100
132
171
104
134
168
108
135
165
111
134
162
113
128
154
109
120
145
106
112
132
104
108
128
101
101
121
96
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
95
80
61
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
94
79
60
95
78
58
99
81
57
99
81
57
97
80
60
93
80
64
90
80
71
92
84
82
95
90
97
97
95
109
116
114
138
121
120
152
129
128
168
131
129
176
126
126
176
121
121
175
121
117
176
119
119
181
119
124
190
120
127
195
125
133
196
130
136
196
133
138
193
141
143
191
151
150
190
160
157
188
172
167
187
182
172
180
190
179
175
200
184
169
208
190
166
214
193
162
209
187
150
208
172
136
175
111
84
174
92
71
164
71
53
168
62
48
194
71
63
224
87
81
239
87
86
241
78
79
233
64
67
234
61
63
230
60
61
226
61
59
223
61
58
215
61
53
207
59
49
201
57
48
193
56
48
193
60
53
185
58
51
184
61
53
193
79
69
199
88
77
199
93
79
209
101
88
211
99
85
194
76
62
188
58
45
197
56
46
210
57
49
215
52
45
223
50
44
231
54
48
230
52
48
225
50
45
224
53
46
227
60
51
231
67
55
230
67
52
226
58
45
223
51
37
233
52
43
229
45
37
240
48
45
240
48
45
241
52
50
242
54
53
232
46
47
226
50
52
231
66
70
247
88
93
246
87
92
255
111
117
229
68
74
235
72
77
224
60
67
254
91
96
255
109
115
220
59
64
255
123
128
255
108
112
234
81
84
211
61
63
198
48
50
215
59
62
241
72
75
235
59
62
237
56
63
246
62
70
240
56
66
230
46
56
241
64
74
255
95
103
255
110
119
255
107
114
254
100
110
245
94
103
247
95
107
253
99
111
253
95
110
246
90
101
241
93
93
227
80
73
226
74
71
213
55
52
210
47
48
217
53
52
210
48
46
216
57
53
223
68
63
227
74
68
226
73
65
217
64
56
211
54
47
214
52
47
220
55
49
232
54
54
234
39
47
252
48
60
254
50
61
247
43
54
249
48
58
255
62
69
253
63
65
236
52
52
226
51
46
224
53
46
222
54
45
223
52
44
225
51
42
232
51
44
239
52
47
244
52
49
246
48
49
247
47
50
249
46
49
248
45
48
248
46
46
242
47
45
235
50
45
227
55
45
215
57
46
209
63
50
182
48
37
178
54
44
176
54
49
232
112
111
255
135
136
255
134
142
255
110
128
252
99
120
241
94
113
242
90
111
245
81
106
246
67
97
253
57
95
253
59
96
242
67
98
225
84
103
174
82
87
98
48
39
89
68
51
74
69
47
85
83
60
88
93
63
99
115
76
105
129
81
113
139
91
118
146
95
122
152
98
124
157
100
120
156
95
114
153
90
110
151
85
110
151
85
110
151
85
111
152
86
114
153
90
116
155
92
119
155
93
119
158
93
119
158
91
120
161
91
121
163
91
119
163
88
118
162
87
118
162
85
119
163
84
121
165
88
122
164
90
126
166
95
129
166
99
127
161
100
126
156
102
123
151
102
114
140
93
105
130
88
95
117
81
92
113
82
86
107
76
92
76
60
94
78
62
96
80
64
96
80
64
95
79
63
95
79
63
95
79
63
97
81
65
98
82
66
95
79
63
93
77
61
93
77
61
97
81
65
99
83
67
98
82
66
96
81
62
100
83
63
97
80
62
93
80
64
94
81
73
91
81
80
90
83
90
101
97
112
115
113
137
121
120
154
122
124
165
126
128
177
128
129
185
125
127
186
120
122
183
114
115
180
108
111
182
116
119
198
118
124
202
128
131
202
139
141
198
150
151
195
164
164
190
178
176
187
188
185
180
203
197
181
211
204
176
217
207
172
219
207
165
220
207
163
221
209
161
217
203
156
217
194
152
209
168
136
184
128
103
161
93
70
203
122
103
216
116
101
189
72
63
216
81
78
247
99
99
233
75
76
229
63
65
225
57
57
227
59
58
226
58
57
219
55
53
216
54
49
214
59
54
203
56
49
192
53
46
199
66
59
187
60
51
191
73
63
198
88
75
185
79
65
206
100
86
209
99
84
204
88
73
197
71
57
196
58
47
205
54
45
216
55
47
225
54
47
227
52
47
223
48
45
223
50
44
224
55
48
228
61
52
224
60
48
221
55
41
223
53
40
229
55
44
228
47
36
234
47
38
236
47
41
238
49
45
238
50
48
235
52
48
232
53
49
226
54
52
215
55
57
230
74
78
245
89
93
237
78
83
215
56
61
215
54
60
249
88
96
255
126
132
255
120
128
255
107
113
255
99
107
255
102
109
255
101
107
245
92
97
242
89
92
252
91
96
255
87
90
255
70
75
249
58
66
248
57
65
243
51
62
235
45
57
234
50
62
238
62
72
252
85
95
255
97
105
255
104
114
254
103
112
251
100
109
254
100
110
255
97
111
251
94
103
237
83
83
223
70
64
214
56
53
214
52
49
215
49
49
215
47
46
216
51
49
219
57
52
225
68
61
220
66
58
217
63
55
214
60
52
215
57
48
219
56
49
224
57
51
230
54
54
240
55
60
243
52
59
243
52
59
246
52
60
245
54
59
242
53
57
235
51
51
227
49
47
222
51
44
222
53
46
223
55
46
224
53
43
228
51
43
233
50
44
239
50
44
245
50
48
247
49
50
248
48
51
250
47
50
249
46
49
249
47
47
243
48
46
236
51
46
229
55
46
224
63
53
204
56
44
191
54
44
175
47
38
184
59
55
210
88
87
255
152
154
254
123
131
255
109
128
255
102
124
246
93
114
239
81
104
241
72
101
249
68
101
253
61
100
245
59
96
242
79
108
209
84
100
137
61
63
80
44
32
69
58
38
68
70
46
77
77
53
90
94
67
91
105
69
99
120
77
113
136
90
120
146
98
120
150
96
116
149
92
114
150
89
113
152
89
108
149
83
109
150
82
110
151
83
111
152
84
114
153
88
116
155
90
117
156
93
117
156
91
116
155
88
116
157
87
118
160
88
119
161
87
118
162
87
118
162
85
117
161
84
116
160
83
123
165
91
123
163
93
122
158
94
117
151
91
109
139
85
98
126
77
88
114
67
83
106
62
63
85
46
63
85
47
62
84
46
91
75
59
94
78
62
96
80
64
96
80
64
96
80
64
95
79
63
96
80
64
97
81
65
98
82
66
96
80
64
95
79
63
96
80
64
98
82
66
99
83
67
98
82
66
96
80
64
102
86
71
95
81
70
92
79
71
94
84
83
97
90
97
100
96
111
109
107
131
118
119
150
119
121
162
123
125
174
125
127
184
120
124
185
113
117
181
107
112
180
108
111
182
110
113
190
117
119
206
124
126
211
137
137
209
152
152
206
168
167
199
184
182
193
201
197
186
211
206
177
219
214
172
226
219
167
231
222
167
230
221
164
228
219
164
226
216
163
219
209
158
212
199
154
212
188
154
189
155
128
170
124
100
199
138
119
202
125
109
182
86
74
211
96
91
246
114
112
236
90
91
231
75
76
226
63
64
228
62
62
233
63
64
229
59
59
224
54
54
219
54
52
214
61
56
201
56
51
202
63
56
185
54
46
184
62
51
189
75
64
182
72
59
200
93
77
221
111
96
212
96
81
198
72
58
189
53
41
196
48
38
212
54
45
220
53
45
219
48
41
226
53
49
229
57
53
228
61
55
224
60
51
220
56
46
219
53
41
223
52
42
227
53
42
236
55
46
237
53
43
237
50
43
235
48
43
231
48
44
227
50
44
225
52
46
221
53
50
214
56
55
216
62
64
228
74
76
243
87
91
250
94
98
252
92
100
254
93
101
255
97
105
240
79
87
235
74
82
238
78
86
252
92
100
255
104
111
255
101
107
244
89
95
242
79
84
236
53
58
239
45
53
241
44
54
244
47
57
238
40
53
228
34
45
227
41
54
234
57
67
251
81
90
253
92
100
255
100
108
255
101
109
255
102
110
255
101
109
252
92
104
242
82
90
229
69
69
222
60
55
219
54
52
222
54
51
223
53
53
220
51
48
218
50
47
219
54
50
224
62
57
219
62
55
216
59
52
215
58
51
219
56
49
223
56
50
229
57
53
231
58
54
233
57
59
234
55
58
235
55
58
238
55
57
238
55
57
236
54
53
229
51
49
223
50
44
220
51
44
221
54
45
223
55
44
226
54
44
229
50
43
234
49
44
242
49
44
245
50
48
247
49
50
247
48
51
250
47
50
249
46
49
247
47
47
243
48
46
236
51
46
229
55
46
223
60
51
212
61
50
194
56
46
182
49
42
183
55
52
216
90
91
255
144
147
251
115
125
254
103
122
254
94
118
247
87
111
244
80
105
246
71
102
246
65
98
250
61
99
241
66
99
227
81
104
183
76
86
119
60
56
76
50
35
62
57
35
61
65
40
71
71
47
80
83
56
88
99
65
96
114
74
110
131
88
117
143
95
118
147
93
116
147
88
113
147
86
112
148
84
107
146
79
107
148
80
108
149
81
109
150
82
112
151
86
114
153
88
115
154
91
115
154
89
116
155
88
117
157
87
117
159
87
117
159
87
116
158
84
114
158
81
113
157
82
112
156
81
110
152
80
108
148
78
104
140
76
98
129
70
88
117
63
78
105
54
70
93
47
64
87
43
64
87
45
64
87
45
64
87
45
89
76
60
91
78
62
94
81
65
94
81
65
94
81
65
94
81
65
95
82
66
96
83
67
97
84
68
96
83
67
95
82
66
96
83
67
97
84
68
97
84
68
96
83
67
94
80
67
98
85
77
92
81
77
91
81
82
99
89
98
107
100
116
113
109
132
118
117
149
121
123
164
121
123
172
121
126
182
120
124
187
110
115
181
101
105
176
96
103
175
106
110
184
114
117
196
125
125
213
135
133
217
151
148
217
169
167
216
187
185
209
203
201
202
220
215
193
229
224
184
233
228
173
237
231
169
240
232
167
237
229
166
231
225
167
226
219
165
215
207
160
203
196
154
185
174
144
170
154
129
156
130
107
171
130
112
168
110
96
158
81
71
187
93
85
222
109
105
247
117
117
238
96
95
227
74
76
226
66
68
234
65
68
235
62
64
231
57
58
224
54
54
223
61
58
212
59
54
212
65
58
194
55
48
183
55
44
183
62
51
174
61
47
182
70
56
219
106
92
223
105
91
217
91
77
202
66
54
197
50
40
209
52
43
217
54
45
217
50
44
222
53
50
233
65
62
236
71
67
224
61
54
213
50
41
213
49
39
218
50
39
222
48
37
230
52
42
232
49
41
231
46
41
230
47
41
227
50
44
226
55
47
225
61
52
224
66
57
198
45
40
202
52
51
220
68
67
240
86
88
250
94
98
247
90
97
243
83
91
241
81
91
231
69
80
232
70
81
237
77
87
251
91
101
255
107
116
255
109
115
242
87
93
225
60
66
232
47
53
242
45
52
250
50
60
251
51
62
244
44
57
236
40
52
243
55
69
255
76
87
245
74
83
244
80
87
247
87
95
252
95
102
255
100
107
255
97
105
246
82
89
232
67
73
222
57
55
222
55
49
227
55
53
233
60
56
235
59
59
230
57
53
225
53
49
221
54
48
221
58
51
217
59
50
215
57
48
215
57
48
220
55
49
225
56
51
231
58
54
233
60
56
227
57
57
227
57
57
229
57
55
231
57
56
232
56
56
230
55
52
225
52
48
219
50
43
218
54
45
219
55
45
222
56
44
226
54
44
231
50
41
235
48
41
243
48
44
247
49
48
245
49
50
245
49
51
248
48
50
247
47
49
247
47
47
242
48
46
238
51
46
231
54
46
221
57
48
220
68
57
199
56
48
187
52
46
181
47
46
228
95
98
255
131
136
248
108
119
252
99
120
251
88
115
248
81
109
251
78
108
250
69
102
243
59
93
239
61
95
233
74
102
210
85
103
155
68
74
107
60
52
79
62
44
62
60
39
59
63
40
70
68
47
72
72
48
81
92
60
89
107
69
103
124
81
114
137
91
116
143
90
113
144
85
109
143
82
107
143
79
105
144
77
105
145
75
105
146
76
107
148
80
109
150
84
110
151
85
112
151
88
113
152
87
117
156
89
117
157
87
116
156
85
114
156
84
112
154
82
109
151
77
107
149
77
106
148
76
101
141
71
97
136
69
91
127
65
85
116
59
76
105
51
69
96
45
65
88
42
62
85
39
67
93
48
68
94
49
69
95
50
87
74
58
90
77
61
92
79
63
94
81
65
93
80
64
94
81
65
95
82
66
97
84
68
96
83
67
96
83
67
96
83
67
97
84
68
97
84
68
96
83
67
95
82
66
92
80
68
90
79
77
90
81
86
98
88
99
106
99
115
113
109
134
118
117
149
120
122
163
122
124
173
119
124
180
115
121
183
109
114
180
98
105
175
93
100
172
97
103
177
108
114
190
120
123
202
137
138
221
149
146
225
164
162
225
182
181
225
199
196
217
213
209
208
225
220
198
231
227
189
235
229
179
238
233
175
238
232
174
233
226
171
227
219
170
218
211
167
203
195
158
188
182
150
166
164
139
157
152
132
150
134
118
155
127
113
155
113
99
156
98
87
181
104
96
208
113
109
251
139
137
243
118
116
232
92
93
229
76
78
229
69
71
234
65
68
234
61
63
232
60
60
223
58
56
219
60
56
222
69
63
211
67
59
195
58
48
186
58
47
176
54
41
167
49
35
191
73
59
219
97
82
234
107
92
219
83
69
201
58
44
204
52
39
212
54
43
215
52
45
217
52
50
241
77
75
254
90
88
237
75
70
217
56
48
214
51
42
219
52
43
222
50
40
223
46
38
225
44
37
225
44
37
222
45
37
220
49
41
218
54
44
217
59
48
215
63
52
194
47
39
196
52
44
206
58
54
217
67
66
223
70
72
224
69
73
228
71
78
234
77
86
241
81
93
246
86
98
247
87
97
248
91
100
255
102
111
255
107
115
241
86
94
219
56
61
233
50
55
240
47
52
241
46
54
240
43
52
235
37
50
235
41
52
249
62
73
255
83
95
237
63
73
232
65
73
234
71
76
242
81
86
255
90
96
255
88
93
244
71
77
227
54
56
225
53
51
228
55
51
234
59
56
242
64
62
244
64
63
239
61
59
230
57
53
224
55
50
221
56
50
218
57
49
217
56
48
217
56
48
220
55
49
227
55
51
232
57
54
233
58
55
226
58
55
224
59
57
227
58
55
230
58
56
231
58
54
229
56
52
224
53
46
218
51
43
218
54
44
219
55
45
222
56
44
226
54
44
231
50
41
235
48
41
242
47
43
246
48
47
244
50
50
244
50
51
247
49
50
246
48
49
246
48
47
242
48
46
238
51
46
231
54
46
220
56
47
224
70
60
201
57
49
190
51
46
182
44
44
238
102
106
255
121
128
248
103
116
253
100
121
250
86
113
251
76
107
255
72
106
252
64
99
239
55
89
232
63
94
224
82
104
195
89
101
135
67
66
101
67
55
90
79
59
72
70
49
65
67
45
76
71
51
70
68
45
76
85
54
83
99
62
98
116
76
108
131
85
112
139
88
110
141
82
107
141
80
105
142
75
103
143
73
104
144
74
104
145
75
106
147
77
107
148
80
109
150
84
111
150
87
112
151
86
116
155
88
115
155
85
113
153
83
111
151
80
106
147
77
103
144
74
101
142
72
100
141
71
96
135
68
93
129
65
87
121
61
82
113
56
77
105
54
76
102
54
78
101
55
79
102
56
77
103
56
78
104
56
79
105
58
85
72
56
87
74
58
91
78
62
92
79
63
93
80
64
93
80
64
95
82
66
97
84
68
95
82
66
96
83
67
97
84
68
97
84
68
96
83
67
95
82
66
95
82
66
94
81
73
86
77
82
95
88
104
110
102
123
116
112
137
120
116
151
120
119
161
120
122
171
121
123
180
115
121
183
106
114
179
96
103
173
91
99
171
95
103
176
106
114
187
118
124
198
128
132
206
147
149
223
158
159
224
173
174
228
187
189
228
203
201
225
212
211
217
221
218
209
225
223
202
229
224
194
230
226
191
228
222
188
224
215
182
218
208
181
206
198
175
190
182
163
174
167
151
155
153
140
143
141
128
140
132
121
141
123
113
147
117
107
157
114
105
169
109
101
188
111
105
230
137
132
237
129
126
240
116
114
240
102
100
238
88
89
237
79
78
235
69
69
233
65
64
227
58
55
224
59
55
228
66
61
222
69
63
204
60
51
198
61
51
196
66
53
175
49
35
174
48
34
199
73
59
220
88
75
214
78
64
204
61
47
206
56
42
208
54
42
209
51
42
214
52
50
245
85
85
255
107
104
250
93
88
227
68
62
220
59
51
223
59
50
227
56
48
226
52
45
227
50
44
226
49
43
221
48
41
212
48
39
205
47
36
198
47
36
194
48
35
197
57
44
192
52
39
193
51
41
203
58
53
215
67
65
219
69
71
219
66
71
218
64
72
225
69
80
236
80
91
242
86
97
242
86
97
249
93
104
255
101
109
241
87
95
222
63
68
233
59
60
237
53
55
237
51
56
239
50
56
242
50
61
247
57
67
255
72
83
255
86
95
229
53
63
222
51
59
223
54
59
234
65
68
249
74
79
253
72
77
244
59
65
233
49
51
232
53
49
235
57
53
239
60
56
242
60
57
243
59
57
240
58
55
233
55
51
226
55
48
223
59
50
220
59
49
219
58
48
220
57
48
223
56
50
228
55
51
232
54
52
233
55
53
230
58
56
228
59
56
230
58
56
232
58
57
232
59
55
230
57
53
225
54
47
220
51
44
219
55
45
220
56
46
223
57
45
225
55
42
229
51
41
233
49
41
241
48
41
244
49
45
243
51
50
241
51
51
244
50
50
244
48
49
244
49
47
242
48
46
238
51
46
231
54
46
222
55
47
224
67
58
202
55
48
192
49
45
192
49
51
247
106
112
255
113
122
249
103
116
248
95
116
246
82
109
252
68
102
255
63
100
255
59
99
242
58
94
228
71
100
216
91
109
171
86
91
119
69
62
100
74
61
97
89
70
84
79
59
75
73
52
80
73
54
71
69
46
71
80
51
76
92
56
90
108
70
102
124
78
109
133
83
109
138
82
108
140
77
104
141
74
102
142
72
103
143
72
103
145
73
105
146
76
106
147
79
108
149
83
110
149
86
111
150
85
116
153
86
115
152
85
110
149
82
106
146
76
102
143
75
99
140
72
97
138
70
95
136
70
90
129
66
88
124
63
83
116
59
80
110
56
79
107
58
82
108
61
87
110
64
90
113
67
85
111
63
85
112
61
85
111
63
82
69
53
85
72
56
88
75
59
90
77
61
91
78
62
92
79
63
94
81
65
96
83
67
96
83
67
97
84
68
97
84
68
97
84
68
96
83
67
96
83
67
98
85
69
97
86
80
94
86
99
106
101
124
121
117
144
125
121
154
122
121
161
120
121
169
118
121
176
115
119
180
106
114
179
99
106
176
91
99
171
93
101
174
104
112
185
118
126
199
129
135
209
136
141
209
153
157
220
163
166
221
175
179
226
187
191
228
198
199
227
207
206
224
212
211
219
215
213
214
217
214
209
217
213
204
215
208
198
210
201
192
204
195
190
197
186
184
180
168
168
163
155
153
141
137
134
124
121
116
124
116
113
120
107
101
130
107
101
143
110
103
144
97
91
157
96
91
192
115
109
215
122
117
237
128
123
249
126
121
253
115
112
250
100
99
243
85
84
237
73
71
237
68
63
234
62
58
225
60
54
224
65
59
209
58
49
211
67
58
221
84
74
194
62
50
184
54
41
189
57
44
194
61
46
200
63
47
207
66
49
215
67
53
214
64
49
209
55
45
208
50
47
234
76
77
250
95
93
242
87
83
223
68
63
217
58
52
219
56
49
224
55
48
230
57
51
231
57
50
231
57
50
226
58
49
218
57
47
209
57
44
202
56
43
196
56
41
176
40
24
184
51
34
200
64
50
211
73
62
210
68
64
203
59
58
204
55
59
207
58
64
211
57
67
227
73
83
237
86
95
240
89
98
244
93
102
246
95
104
232
83
89
218
63
67
229
64
62
236
63
59
243
64
67
253
70
74
255
76
84
255
81
89
255
84
93
255
85
94
226
51
58
221
46
53
221
46
51
231
55
58
245
60
65
249
58
63
248
52
56
244
48
50
237
52
50
239
57
53
240
56
54
237
52
50
235
50
48
234
50
48
231
52
48
225
52
46
227
60
52
224
61
52
223
60
51
222
59
50
225
56
51
228
55
51
232
52
51
232
52
51
232
56
56
231
57
56
232
56
56
235
57
57
235
57
55
233
55
53
226
53
47
222
51
44
219
55
45
220
56
44
221
58
43
223
55
42
227
50
40
231
48
40
239
48
40
242
49
44
241
52
50
240
52
51
243
51
50
243
49
49
243
49
47
241
49
46
236
51
46
231
54
46
224
57
49
217
60
51
204
55
49
193
48
45
209
64
67
255
110
117
253
107
117
247
99
113
237
84
105
241
74
102
250
62
97
255
55
94
255
55
98
248
64
100
227
79
105
200
92
105
139
71
70
106
70
58
93
76
60
93
86
67
88
81
62
81
74
55
79
71
52
73
68
46
68
74
46
71
85
50
83
99
62
94
115
72
103
127
77
106
135
79
106
138
75
103
140
71
103
140
70
102
142
71
102
144
72
103
144
74
105
146
78
107
148
82
109
148
85
109
148
85
113
149
85
111
148
81
106
145
78
103
142
75
99
140
72
96
137
69
95
136
70
94
134
71
92
130
69
91
126
68
87
120
65
86
114
63
85
111
64
89
112
66
93
114
71
94
117
71
90
114
66
88
115
64
88
115
64
78
66
50
81
69
53
85
73
57
87
75
59
88
76
60
90
78
62
92
80
64
94
82
66
97
85
69
98
86
70
98
86
70
97
85
69
95
83
67
97
85
69
102
90
74
104
93
89
110
103
119
117
112
142
124
120
153
123
121
160
119
120
166
118
119
173
112
117
175
106
111
175
97
104
172
94
102
174
95
103
176
101
109
182
112
120
192
125
133
205
137
144
216
143
151
214
153
161
210
161
168
210
170
178
217
180
186
222
186
191
223
192
193
224
195
195
223
199
197
221
198
194
217
197
192
212
193
186
204
188
179
196
187
176
193
181
168
186
166
153
170
150
139
153
139
132
139
117
111
113
119
110
111
115
101
101
122
102
101
137
109
106
133
94
89
150
99
95
155
90
84
183
103
96
214
117
110
237
124
118
252
125
119
255
120
115
254
106
102
249
92
87
252
83
78
245
72
66
230
61
54
231
68
61
216
59
52
219
71
61
234
92
82
197
59
48
196
60
48
189
55
43
190
54
40
199
62
46
209
68
51
212
66
51
212
65
49
215
65
51
210
56
54
216
62
62
221
67
67
220
66
64
214
61
55
213
56
49
216
55
47
222
55
47
229
58
51
230
57
51
229
58
51
226
59
51
219
62
53
213
65
53
209
69
56
204
71
54
174
45
24
188
59
37
205
74
56
209
76
61
198
61
53
187
48
43
192
48
48
202
57
62
215
65
74
226
76
85
236
86
97
240
90
101
239
92
100
236
89
97
223
76
82
212
62
64
209
52
47
218
53
47
227
57
57
237
63
64
245
66
72
247
68
74
244
64
73
239
62
70
228
51
59
225
48
54
230
49
54
240
55
60
247
54
57
249
49
52
254
45
50
253
49
52
239
50
48
240
57
53
240
55
52
236
48
46
232
44
42
231
48
44
230
51
46
224
51
44
228
61
53
224
61
52
224
61
52
224
60
51
227
58
53
230
57
53
234
54
53
236
54
53
236
53
55
236
53
55
237
53
55
238
54
56
238
54
54
235
53
52
228
50
46
222
49
43
222
55
46
221
57
45
221
58
43
223
55
42
225
52
38
230
49
38
237
49
40
241
49
44
240
52
50
238
53
51
241
52
50
242
50
49
243
49
47
241
49
46
236
51
46
231
54
46
226
59
51
210
52
43
210
58
53
198
50
48
231
85
88
255
112
120
249
99
110
241
90
105
227
75
96
239
72
102
253
58
98
255
49
93
255
54
98
253
67
104
219
77
101
177
80
89
106
53
47
94
71
55
88
75
58
85
78
59
89
81
62
85
74
56
76
64
48
73
68
48
64
70
44
65
79
46
75
91
54
88
106
64
98
120
71
102
129
74
104
136
73
102
139
70
101
138
68
99
139
66
99
141
69
101
142
72
103
144
76
104
145
79
105
145
82
107
146
83
110
146
82
108
144
80
104
143
78
100
139
74
97
138
72
95
136
70
95
135
72
95
135
72
95
133
72
95
130
72
93
126
71
93
121
70
93
119
72
96
119
75
99
120
79
99
122
78
92
116
66
90
117
64
90
117
64
74
67
51
77
70
54
81
72
57
84
75
60
87
75
61
89
77
63
92
79
63
94
81
65
100
87
70
101
88
71
100
88
72
98
86
70
95
85
73
97
87
77
103
94
85
108
99
102
119
114
137
121
117
154
120
118
158
116
115
159
114
114
164
116
117
173
108
112
175
98
103
169
90
97
169
95
101
175
102
108
184
109
115
191
118
124
200
129
135
211
143
147
221
151
156
222
155
161
211
160
167
209
169
174
216
174
179
221
177
180
223
178
179
223
180
179
223
182
179
222
181
176
217
179
172
213
174
166
203
171
161
196
170
159
193
164
153
185
153
140
170
136
126
150
126
120
132
102
97
103
108
99
102
100
88
90
108
90
88
124
99
95
123
86
80
147
98
93
140
77
70
162
85
77
187
97
88
212
108
99
238
121
114
255
129
122
255
124
119
255
112
106
254
97
92
247
84
79
233
71
66
238
79
73
221
66
61
222
71
64
234
87
79
186
44
34
190
49
39
190
52
39
199
62
46
209
69
54
203
62
45
193
50
34
202
55
39
219
69
55
222
69
63
211
57
55
204
51
46
205
53
48
212
59
53
215
61
53
221
60
52
225
61
52
228
59
52
228
57
50
222
53
46
215
52
43
207
53
41
202
56
43
197
60
44
194
63
45
212
83
62
200
71
50
189
60
41
190
58
45
195
61
50
196
59
53
194
55
52
194
52
51
220
75
78
221
76
81
225
80
85
229
84
89
232
89
93
229
86
88
220
77
79
212
67
64
203
52
43
212
54
43
218
53
47
224
52
50
228
49
52
232
49
54
233
48
56
231
46
54
238
51
62
237
50
59
244
52
63
253
56
66
255
51
62
253
41
53
255
40
51
255
46
57
248
45
51
249
53
55
249
53
57
240
46
47
235
42
43
233
48
46
232
53
49
226
53
47
227
60
52
224
61
52
224
61
52
225
61
52
228
59
54
231
58
54
235
55
54
238
54
54
236
52
54
235
51
53
236
50
53
237
51
52
237
53
53
234
52
49
227
49
45
219
48
40
222
56
44
221
58
43
221
58
43
222
56
40
224
52
38
227
51
36
233
51
38
236
52
42
238
53
48
238
53
50
240
52
50
240
51
47
242
50
47
239
50
44
235
52
44
231
54
46
228
61
52
205
47
38
215
62
57
202
52
53
249
98
103
255
112
121
246
91
105
237
80
99
228
70
93
243
72
104
255
61
101
255
50
93
255
55
97
245
71
104
201
74
93
148
66
70
83
43
35
88
72
56
84
75
58
79
72
54
89
80
63
83
74
57
69
64
45
71
70
49
61
67
39
64
74
40
73
85
49
83
100
58
95
114
69
101
125
73
103
132
74
101
136
72
99
136
67
97
137
66
98
138
67
99
141
69
101
142
72
102
143
77
104
143
80
105
144
81
108
144
80
107
144
77
102
141
74
99
138
73
97
136
71
96
135
70
96
135
72
96
134
73
94
129
71
94
127
70
95
125
71
96
124
73
97
123
75
100
123
77
102
124
78
102
126
78
93
120
67
92
121
63
93
122
66
68
66
54
70
68
56
74
70
59
80
71
62
82
72
62
87
73
62
93
77
62
95
79
63
96
81
62
97
82
63
96
83
66
95
86
71
98
89
82
103
98
95
111
106
110
115
111
126
119
113
147
122
116
160
124
121
168
121
119
169
112
112
166
103
103
163
96
97
162
92
95
164
96
98
173
102
104
181
111
112
192
121
122
204
132
130
214
141
139
223
150
146
231
156
153
232
160
158
223
161
160
218
163
162
219
164
163
220
166
163
220
165
162
219
165
160
216
164
159
213
165
158
210
163
156
207
162
154
201
162
153
198
159
150
193
153
142
184
142
131
171
131
124
155
113
111
124
104
103
108
99
95
96
102
90
90
108
89
85
115
86
80
128
85
78
143
86
79
150
82
73
169
89
80
181
88
80
192
91
83
216
107
100
235
122
114
246
131
124
255
139
134
249
117
113
255
117
115
237
95
93
223
80
76
217
69
65
239
90
84
204
55
49
197
50
42
196
54
42
195
55
40
192
55
39
195
55
38
198
57
40
202
59
43
208
60
46
213
63
49
210
56
46
214
60
50
215
63
52
211
59
48
205
53
40
205
51
39
216
58
47
226
64
53
224
57
48
225
57
48
222
55
46
215
55
43
207
55
41
201
58
42
198
63
44
196
65
47
194
61
46
198
64
52
203
69
58
205
71
60
204
67
59
197
60
52
187
50
44
182
43
38
199
60
55
208
69
66
217
79
76
224
86
83
227
89
86
225
88
82
216
79
73
208
67
58
205
58
42
213
58
40
220
56
44
227
53
46
232
46
47
237
42
50
240
40
51
244
39
54
251
44
62
250
43
63
251
42
63
253
41
63
255
39
63
255
38
63
255
36
60
255
35
60
255
35
55
255
38
56
255
42
59
254
44
57
244
44
54
237
46
53
233
53
54
232
60
58
221
56
52
221
58
51
222
59
52
224
59
53
227
58
53
230
57
53
233
55
51
235
53
52
235
51
53
236
52
54
235
53
52
233
53
52
231
53
51
226
53
47
221
53
44
219
53
41
220
56
44
219
57
42
220
57
40
222
57
38
223
56
38
226
55
37
227
54
37
230
52
38
236
53
45
237
52
47
240
53
48
241
52
46
241
53
44
237
53
43
232
54
42
228
56
44
222
58
48
212
55
46
211
58
53
215
62
64
255
109
117
255
98
113
248
85
106
241
75
99
247
79
105
236
58
90
249
57
94
255
63
103
245
64
99
230
80
107
178
73
87
97
36
35
71
43
32
65
56
39
75
68
52
82
76
60
79
73
57
66
67
49
59
68
47
60
73
47
65
72
38
69
75
37
75
83
46
83
93
56
91
107
68
97
118
75
100
126
78
100
131
74
98
134
70
96
136
66
97
137
64
99
139
66
101
141
70
104
144
74
108
144
80
109
145
81
108
145
76
105
142
72
103
140
71
102
139
72
102
138
74
101
137
73
99
133
72
97
131
71
100
131
74
100
129
73
98
127
71
99
126
71
100
127
74
100
127
72
101
126
71
97
125
67
91
123
60
92
127
61
95
130
66
61
63
52
63
65
54
70
67
60
74
69
63
80
69
63
84
71
62
91
75
62
93
77
61
96
79
59
96
81
60
94
83
65
94
86
73
99
91
88
104
99
105
110
108
121
115
111
134
116
112
149
118
112
158
116
112
162
112
109
162
103
102
159
97
97
159
93
94
161
92
92
164
101
100
176
107
106
186
116
114
197
125
123
207
134
130
217
141
137
224
148
142
230
152
147
229
155
149
221
156
151
217
157
152
218
158
153
219
158
151
218
157
150
217
156
150
214
155
149
211
158
150
210
156
148
205
156
147
200
155
147
198
154
145
192
147
138
183
136
127
170
128
121
154
115
109
123
107
101
105
100
94
94
101
91
89
107
90
83
113
86
77
124
84
74
141
84
75
157
84
75
178
91
82
187
88
82
195
88
82
211
102
97
221
114
106
224
120
111
235
126
119
251
136
133
255
135
133
247
117
115
238
103
100
227
85
83
235
90
85
199
50
44
194
47
37
197
55
41
195
55
38
192
55
37
193
56
38
196
56
39
200
59
42
207
59
45
211
61
47
213
57
44
213
57
44
211
58
44
210
58
44
209
57
43
209
57
43
212
56
43
216
56
44
223
59
49
224
57
48
220
56
46
214
56
44
207
57
42
200
57
40
193
58
38
190
57
38
190
54
42
193
56
48
198
61
53
201
64
56
202
65
57
200
63
55
197
60
52
194
57
49
191
52
45
199
62
54
209
72
64
216
79
71
218
81
73
215
78
70
204
67
59
195
55
42
202
55
37
211
56
36
221
55
41
229
52
44
237
47
47
244
43
51
249
41
55
253
40
58
255
43
64
255
42
65
255
41
65
255
38
65
255
35
64
255
33
60
255
30
61
255
29
58
255
30
57
255
31
56
255
36
58
255
41
59
247
45
57
241
50
58
234
55
58
230
60
60
220
57
52
220
58
53
222
59
52
224
59
53
227
58
53
230
57
53
233
55
51
235
53
50
235
51
53
236
52
54
235
53
52
232
54
52
228
55
49
223
54
47
220
53
44
217
53
41
219
57
42
219
57
42
220
57
40
220
57
38
222
57
38
223
56
37
225
56
37
227
54
37
231
53
43
234
51
43
235
52
44
235
53
42
235
53
42
232
54
40
228
55
41
223
55
42
221
61
49
209
52
43
207
53
51
239
84
88
255
102
114
255
91
111
241
73
98
249
76
104
248
69
99
247
64
95
244
56
91
243
62
97
239
78
109
205
76
98
139
56
64
89
41
37
69
51
39
60
54
40
62
59
44
67
64
49
67
66
48
61
64
45
56
68
46
58
73
44
60
68
29
75
80
39
92
98
60
101
111
74
104
118
82
101
122
81
100
126
79
100
130
76
97
131
70
97
134
65
97
137
64
99
140
64
103
141
68
105
142
72
107
144
77
108
145
78
108
145
75
106
144
71
104
141
72
102
139
70
103
138
74
102
137
73
102
133
74
100
131
72
102
131
75
100
129
73
100
127
72
100
128
70
101
129
71
101
129
71
102
127
69
98
126
65
93
128
62
95
132
63
98
135
66
54
57
46
58
60
49
63
63
55
68
65
58
75
66
59
79
69
60
86
72
61
89
76
60
94
79
60
92
79
60
92
83
66
94
87
77
99
93
93
104
101
108
111
109
123
115
113
137
115
111
148
113
107
153
106
102
152
99
96
149
92
91
148
90
90
152
92
93
160
92
95
166
104
106
181
110
111
191
119
120
202
127
128
210
134
132
216
138
136
220
143
139
224
145
142
221
147
144
215
147
144
211
147
144
211
147
144
211
148
142
212
147
141
211
147
140
208
146
139
206
149
140
205
147
139
199
148
139
194
148
140
191
147
139
186
140
133
175
131
123
162
126
115
145
121
103
119
115
96
102
103
91
91
100
91
86
100
91
82
104
88
75
117
85
72
135
83
72
166
89
81
190
95
89
203
91
89
208
88
87
218
100
98
222
109
105
220
113
107
226
119
113
251
138
132
255
138
134
255
133
129
255
125
121
247
110
104
238
97
88
196
52
43
192
50
38
196
56
41
193
58
39
192
57
38
192
57
37
194
57
38
198
59
40
204
58
43
208
58
44
214
58
45
211
53
41
206
53
39
208
56
42
212
62
47
212
62
47
206
54
40
203
47
34
218
58
46
218
56
45
217
55
44
214
56
44
208
58
43
201
58
41
194
57
38
190
55
36
189
53
41
192
54
44
194
56
46
196
58
48
199
61
51
202
64
54
203
65
55
204
66
56
199
58
49
202
64
54
207
69
59
208
70
60
210
72
62
209
71
61
202
64
54
197
55
43
204
54
37
214
54
38
223
55
44
231
52
47
241
48
51
246
45
53
251
43
57
255
42
60
252
39
59
252
39
61
251
37
61
249
35
59
251
33
58
250
30
55
252
28
55
254
27
54
255
29
55
255
30
53
254
35
55
253
42
59
247
50
60
242
55
62
236
57
60
229
59
59
220
57
52
220
58
53
222
59
52
224
59
53
229
57
53
231
56
53
233
55
51
235
53
50
237
51
54
238
52
55
237
53
53
234
54
53
229
54
49
225
54
47
220
53
44
216
52
40
218
56
41
217
57
41
218
57
39
219
56
37
221
56
37
222
55
36
224
55
36
225
54
37
225
53
39
226
52
41
227
53
42
227
54
40
227
54
40
225
55
40
221
55
41
218
56
43
219
61
50
204
50
42
211
56
54
255
108
112
255
93
108
249
81
104
237
62
91
255
75
108
247
59
92
255
66
100
240
56
90
233
65
98
227
87
113
171
64
82
101
34
41
81
46
42
65
52
43
52
53
39
53
54
38
58
59
41
63
62
42
62
61
40
60
64
41
62
69
38
62
70
29
88
97
52
115
126
84
128
140
100
119
135
96
104
127
83
97
125
76
97
128
71
96
131
67
96
133
63
97
137
64
99
140
64
104
142
69
106
143
74
107
144
77
108
145
78
110
147
77
107
145
72
104
141
72
103
140
71
104
139
75
104
139
75
102
136
76
100
134
74
101
132
75
100
131
74
99
128
70
100
129
71
102
130
72
102
130
71
101
129
70
98
128
66
99
134
68
101
138
69
104
141
72
50
53
42
53
56
45
59
60
52
65
62
55
71
64
58
75
66
59
82
69
60
86
74
60
88
76
60
89
77
61
89
81
68
94
87
79
99
94
98
105
103
114
111
110
128
114
111
140
114
109
149
106
103
148
96
94
143
87
87
139
84
85
142
87
88
152
92
95
162
97
99
173
108
110
187
114
115
195
123
124
206
130
131
213
136
134
217
138
136
219
140
136
220
141
138
217
143
142
212
143
140
209
143
140
209
142
139
210
143
137
211
142
136
210
142
134
209
141
133
206
143
133
202
142
133
196
143
134
191
144
136
187
143
136
180
137
131
169
128
121
154
126
112
137
127
96
112
121
90
96
107
89
89
99
92
84
96
94
81
98
91
73
109
86
70
128
82
69
161
84
76
193
91
89
209
89
91
217
88
92
228
99
103
228
108
107
224
112
108
228
121
115
236
125
118
237
122
115
254
131
126
255
134
129
255
129
123
245
107
97
201
60
50
196
56
41
194
59
40
191
58
39
191
59
38
190
58
37
193
58
38
197
58
39
200
57
41
206
56
42
216
58
46
212
54
42
206
53
39
206
56
41
209
62
46
209
62
46
203
56
40
199
47
33
210
54
41
211
53
41
210
52
40
210
54
41
209
57
43
205
60
43
200
61
42
196
59
41
196
58
45
196
58
47
198
57
48
198
57
47
199
58
49
200
59
49
201
60
51
203
61
51
211
68
60
211
69
59
208
65
57
203
61
51
203
60
52
207
65
55
207
64
56
206
59
49
206
53
39
217
53
41
226
53
46
235
51
49
242
47
53
247
43
54
249
41
55
252
41
58
249
38
57
247
38
59
247
38
59
248
39
60
251
38
60
253
37
58
255
36
58
255
35
58
255
33
54
253
34
54
250
37
55
249
44
59
247
53
62
242
57
63
233
57
59
225
57
56
220
57
52
220
58
53
222
59
52
224
59
53
229
57
53
231
56
53
233
55
51
235
53
52
238
52
55
238
52
55
238
54
54
234
54
53
230
55
50
225
54
47
220
53
44
215
53
42
216
56
42
216
56
40
216
56
40
217
56
38
218
55
38
220
55
36
221
54
36
221
54
36
219
53
37
220
54
40
221
55
39
220
57
40
220
57
40
218
59
40
215
58
41
214
58
43
213
59
49
206
51
46
231
73
74
255
111
119
254
85
104
243
69
94
243
62
95
255
67
102
251
55
91
252
60
97
240
66
99
228
79
108
196
80
101
129
47
61
78
29
33
72
48
46
54
47
39
50
52
39
56
58
44
62
65
46
65
64
43
63
61
36
65
64
36
69
70
36
84
93
48
112
126
77
143
159
114
151
168
124
131
152
109
106
132
87
95
123
74
93
126
69
95
131
67
97
134
64
98
138
65
102
143
67
107
144
74
108
145
76
109
146
79
109
146
79
111
148
78
108
146
73
105
142
73
104
141
72
105
140
76
105
140
76
104
138
78
103
137
77
102
133
76
100
131
74
100
129
71
101
130
72
103
131
72
104
132
73
102
130
71
100
130
68
103
138
72
105
142
73
108
145
76
45
51
39
51
54
43
56
57
49
60
59
54
66
61
57
71
64
58
77
68
61
81
71
61
83
73
61
83
75
62
85
78
68
90
85
81
97
94
101
105
103
117
109
107
129
108
107
138
106
104
144
98
96
143
88
86
136
80
80
134
81
81
141
88
89
154
96
99
170
102
106
180
111
114
193
117
120
201
124
127
208
130
133
214
134
135
217
135
136
216
138
137
217
139
138
214
139
139
209
139
138
206
138
136
209
137
135
210
137
133
210
136
131
211
138
131
211
137
130
207
140
132
205
139
132
199
141
133
192
141
134
185
141
134
175
135
130
162
126
120
146
127
110
129
131
90
104
125
84
90
108
87
84
99
92
82
92
96
79
91
95
72
102
90
68
122
83
66
149
74
68
187
83
82
209
83
87
219
82
89
230
93
100
231
102
106
224
108
108
227
118
113
228
117
110
226
111
104
247
126
118
255
130
123
255
135
126
244
108
96
201
63
50
193
56
40
192
59
40
191
61
39
191
61
39
192
60
39
194
59
39
197
58
39
199
56
40
205
55
41
216
58
47
217
56
46
210
56
44
207
57
43
204
58
43
201
58
42
200
57
41
201
55
40
207
57
43
209
55
43
210
56
44
209
55
43
207
55
42
204
56
42
203
60
44
203
62
45
202
60
48
201
61
48
202
60
50
201
59
47
200
58
48
198
56
44
197
55
45
197
53
42
208
64
55
208
64
53
205
61
52
201
57
46
203
56
48
206
59
49
205
58
50
204
53
44
208
47
37
217
48
41
228
50
48
236
50
53
244
47
56
249
45
57
251
43
59
252
44
60
252
45
63
251
46
63
252
47
64
252
47
64
254
47
65
255
47
63
255
45
63
255
46
64
255
40
56
251
40
55
247
43
55
245
48
58
241
54
61
237
56
61
228
56
56
221
53
52
220
57
52
220
58
53
222
59
54
226
58
55
229
57
53
231
56
53
234
54
53
236
52
52
241
52
56
241
52
56
239
53
54
237
55
54
230
55
50
225
54
47
218
54
44
215
53
42
216
56
42
214
57
40
214
57
40
216
57
38
216
57
38
217
56
38
218
55
38
217
56
38
213
56
37
213
58
38
214
59
39
213
61
40
212
61
40
211
62
42
211
61
44
211
61
46
208
55
47
215
60
56
255
93
100
255
96
111
255
80
103
240
60
89
255
66
104
250
55
95
255
55
95
242
52
88
237
78
108
215
92
113
148
64
79
91
38
46
71
40
45
63
49
48
49
46
41
52
54
43
58
62
47
60
65
43
58
61
34
62
61
30
80
74
40
94
92
53
121
133
83
144
163
108
170
190
139
168
190
141
142
165
119
111
139
91
97
127
75
94
127
70
96
132
68
99
136
66
101
141
68
106
147
71
111
148
78
112
149
80
111
147
83
111
147
83
111
148
78
108
146
73
105
142
73
103
140
71
105
140
76
105
140
76
105
139
79
104
138
78
102
133
74
101
132
73
100
131
72
101
132
73
103
133
73
104
134
72
103
133
71
101
133
68
105
142
73
105
145
75
108
148
78
43
49
37
46
52
42
52
55
48
56
57
51
62
58
55
66
61
58
72
65
59
75
68
60
78
72
60
78
71
61
79
74
68
87
83
82
95
94
102
102
101
117
103
103
127
103
102
134
98
97
137
91
89
138
81
81
133
78
79
135
82
83
147
91
94
163
101
105
179
108
111
190
117
119
202
122
124
209
127
129
214
131
133
216
134
135
217
134
135
215
136
135
213
137
136
212
135
135
205
134
134
204
134
132
205
133
130
207
133
128
210
133
128
210
135
127
212
135
128
208
141
133
210
140
133
201
141
133
192
140
134
182
139
133
169
132
128
155
123
118
138
124
106
120
129
87
97
126
81
86
109
85
81
100
94
80
92
100
77
89
97
73
99
93
69
118
87
67
146
78
69
183
85
82
209
84
90
219
82
90
231
92
99
231
98
103
228
104
106
231
113
111
236
121
114
230
113
104
247
124
116
243
115
106
254
120
109
230
92
81
196
59
43
190
53
35
194
59
39
193
61
40
193
61
40
195
60
40
196
59
40
200
59
41
203
57
42
207
55
42
214
53
43
216
55
45
212
58
46
206
58
44
199
58
41
196
56
39
198
58
41
202
61
44
207
61
46
214
64
50
217
65
52
214
62
49
206
56
42
200
52
38
202
56
41
203
60
44
201
58
44
200
58
44
201
59
47
201
59
45
202
58
47
200
57
43
200
53
43
199
53
40
202
54
44
207
59
47
210
62
52
211
63
51
214
63
54
213
62
51
206
55
46
201
44
35
210
43
37
220
45
42
231
48
50
240
51
57
246
49
59
250
48
60
253
48
63
253
48
63
249
48
64
247
49
64
247
49
64
246
48
61
247
47
60
247
45
57
250
44
57
250
42
55
252
46
59
248
46
58
245
48
58
240
51
58
237
54
59
231
55
58
224
54
54
218
53
51
220
57
52
221
58
53
223
58
54
226
58
55
229
57
53
231
56
53
234
54
53
236
52
52
242
53
57
242
53
57
240
54
55
237
55
54
230
55
52
223
54
47
218
54
45
214
54
42
213
55
43
212
56
41
212
56
41
212
57
39
213
56
39
213
56
37
215
55
39
212
57
37
208
57
36
206
60
37
207
61
38
207
63
39
206
64
40
206
64
42
206
63
46
208
60
48
208
55
49
232
72
72
255
103
113
254
78
98
255
72
100
246
56
90
255
66
108
246
49
92
255
57
96
234
55
87
221
83
106
185
87
102
107
50
57
71
41
43
71
55
58
59
50
51
56
51
48
58
55
48
57
59
45
53
58
35
51
56
24
66
68
29
102
99
58
129
131
84
159
174
119
169
193
135
181
206
151
175
199
147
146
174
125
118
148
98
101
134
81
96
130
70
96
133
66
99
136
66
103
143
70
109
150
74
114
152
79
114
151
82
113
149
85
112
148
84
111
148
78
108
145
75
104
141
72
102
139
70
104
139
75
105
140
76
105
139
78
105
139
79
103
134
75
102
133
74
101
132
73
102
133
73
104
136
73
105
137
72
105
135
71
102
134
67
106
143
74
107
147
77
110
150
80
40
48
35
43
49
39
47
52
45
51
53
48
55
54
52
60
56
53
64
61
56
67
62
56
73
69
60
72
69
60
75
72
67
82
80
81
91
91
101
97
98
116
98
98
124
96
96
130
95
94
136
90
88
138
84
84
138
84
84
144
92
93
160
103
105
179
112
115
196
118
120
205
123
127
216
126
130
219
131
132
222
132
134
221
132
133
216
131
132
214
133
132
212
134
133
209
131
134
203
130
133
202
131
131
205
130
129
207
131
127
211
133
128
212
136
128
214
136
128
211
141
133
210
139
132
200
139
131
188
139
132
176
137
130
163
129
124
146
119
113
127
117
102
109
125
86
91
121
81
81
107
87
78
101
95
79
93
101
77
91
100
73
100
96
71
116
91
69
140
82
70
176
91
84
202
89
91
214
85
90
226
91
97
230
93
100
231
98
101
237
109
108
245
122
115
237
114
106
247
120
111
222
89
80
229
91
80
210
68
56
195
53
39
199
58
41
197
58
39
196
60
38
197
61
39
200
61
40
202
59
42
205
58
42
208
56
42
212
54
42
211
48
39
212
51
41
210
56
44
205
59
44
199
59
42
194
59
40
192
59
40
195
60
41
200
59
42
213
67
52
225
75
61
222
72
58
211
61
47
202
52
38
201
53
39
205
59
44
200
57
41
200
57
41
200
57
43
200
57
41
202
56
43
202
56
41
203
55
43
203
55
41
205
54
43
210
60
46
215
63
52
216
64
51
218
64
54
219
65
53
215
58
49
210
49
41
220
48
46
229
49
52
238
52
57
245
54
62
249
52
62
249
49
62
250
48
64
248
47
63
242
46
60
239
47
60
237
47
57
237
48
55
239
45
53
239
44
50
242
43
50
241
42
49
244
49
57
244
50
58
242
53
59
236
53
57
229
53
55
225
53
53
223
55
54
221
56
54
220
56
54
221
57
55
223
58
54
227
58
55
230
56
55
233
55
55
234
54
55
236
52
54
244
53
58
244
53
58
241
55
58
238
56
55
230
55
52
224
55
48
218
54
45
212
54
42
211
55
42
209
56
42
208
56
42
208
57
40
208
57
40
208
57
38
209
56
40
208
57
38
203
57
34
200
58
34
200
62
36
199
63
37
200
64
40
200
64
42
203
62
45
206
59
49
213
58
54
250
85
91
255
94
111
255
71
97
253
62
95
254
58
96
255
56
102
250
53
98
244
58
95
230
71
99
192
80
96
135
64
72
84
50
51
67
53
52
68
57
61
62
51
55
66
51
54
64
53
49
58
56
43
54
60
34
57
67
30
80
92
46
125
132
80
159
168
113
176
197
138
175
203
142
176
204
146
166
195
141
146
174
125
123
153
101
103
136
81
95
129
69
94
131
64
99
137
64
105
143
68
111
149
74
115
153
80
115
152
83
113
149
85
111
147
83
110
147
78
107
144
74
103
140
71
101
138
69
103
138
74
104
139
75
105
139
78
105
139
78
102
136
75
100
134
73
100
134
73
101
136
72
103
138
74
104
139
73
105
137
72
102
137
69
106
146
76
108
150
78
111
153
81
38
46
33
40
48
37
45
50
43
49
51
46
51
51
49
55
54
52
58
57
53
60
59
54
71
68
61
68
68
60
71
70
66
79
79
81
90
90
100
95
97
112
94
96
121
92
92
126
96
95
137
92
90
140
89
88
145
92
92
154
103
103
173
113
115
192
122
124
209
127
128
220
129
132
225
130
133
228
133
134
227
132
133
225
131
131
219
129
130
213
131
130
210
131
130
206
132
135
204
131
134
201
132
132
204
131
130
206
133
130
211
135
130
214
138
130
215
140
131
212
141
133
208
140
131
196
139
130
183
138
130
171
133
127
155
127
120
136
115
110
117
111
99
99
117
87
85
114
84
76
105
87
75
102
95
77
99
101
77
97
100
73
102
96
70
115
93
70
125
79
63
159
89
77
184
89
83
197
83
82
215
86
90
226
87
92
233
90
96
240
100
101
247
114
109
241
110
102
247
113
104
209
68
59
212
65
55
197
49
37
200
52
38
212
67
50
199
57
37
199
58
38
201
59
39
205
60
41
208
58
43
211
58
44
216
56
44
217
55
44
207
44
35
206
48
37
206
54
41
203
60
44
199
64
45
193
62
42
190
59
39
188
55
36
192
52
35
209
66
50
227
79
65
228
78
64
216
66
52
203
55
41
203
55
41
208
62
47
202
59
43
201
58
42
199
56
40
198
55
39
200
54
39
202
54
40
206
56
42
208
56
43
211
59
46
213
59
47
213
57
45
210
54
42
213
55
44
218
60
49
221
60
50
220
55
49
232
56
56
241
56
61
247
58
65
251
57
66
250
52
65
245
47
60
242
44
59
239
44
58
237
47
59
234
49
57
234
51
56
235
52
56
237
53
55
241
53
54
244
51
54
243
53
55
239
50
54
238
53
58
236
56
59
233
54
57
226
52
53
222
52
52
223
55
54
225
60
58
221
56
54
222
57
55
225
57
54
227
58
55
230
56
55
233
55
55
234
54
55
236
52
54
244
53
58
244
53
58
241
55
58
236
56
57
230
57
53
223
56
50
216
55
47
211
55
43
208
56
43
205
58
42
205
57
43
204
59
42
205
58
42
205
58
40
205
58
42
204
59
40
197
57
34
194
58
34
195
61
36
194
62
37
195
63
40
198
63
43
201
61
46
205
56
49
220
60
62
255
93
102
255
81
103
255
72
100
250
56
91
255
63
103
246
46
92
251
62
104
228
61
91
224
93
111
162
76
85
91
45
45
71
56
51
70
66
63
64
55
58
67
52
57
71
48
54
70
50
49
64
57
41
63
68
38
69
86
42
96
116
63
139
157
97
170
190
127
177
203
140
171
201
139
166
195
139
157
186
132
142
172
122
123
153
101
102
135
80
90
124
64
94
129
63
97
135
62
104
142
67
111
149
74
114
152
79
114
151
82
112
148
84
110
146
82
110
147
78
106
143
73
102
139
70
100
137
68
102
137
73
104
139
75
105
139
78
105
139
78
102
136
75
101
135
74
100
135
71
101
136
70
103
138
72
104
139
71
104
139
71
101
138
68
107
147
76
109
151
79
112
154
82
40
48
33
39
47
34
40
45
38
41
46
40
46
48
45
51
51
49
55
56
51
57
58
52
61
61
53
63
64
56
68
69
64
74
76
75
79
82
89
86
88
101
90
92
115
93
94
125
89
88
130
91
89
139
94
93
150
101
101
163
110
110
182
119
120
200
127
129
216
132
133
226
140
140
238
140
140
240
138
138
236
134
135
228
130
130
220
128
128
214
130
128
211
131
130
206
128
131
198
129
133
197
131
131
201
132
132
206
134
131
208
136
131
211
139
132
210
140
132
207
138
128
197
138
128
188
137
128
175
135
125
160
128
120
143
119
111
122
107
101
103
102
93
88
106
92
81
108
92
77
104
92
76
102
94
75
101
95
73
102
96
72
106
96
71
114
94
70
114
79
59
135
84
65
166
92
79
193
96
89
209
89
88
220
81
84
237
83
91
247
92
96
249
104
101
230
89
80
212
68
60
206
55
48
209
55
47
215
58
49
214
61
47
212
59
43
207
57
40
205
58
38
207
57
40
209
58
41
212
56
41
216
56
42
220
53
44
220
53
44
208
47
37
205
51
41
204
56
44
202
62
47
197
64
47
193
64
45
190
61
42
188
57
39
194
57
41
190
48
34
233
87
74
223
75
63
195
47
35
209
61
49
206
60
47
199
56
40
202
59
43
201
58
41
200
57
40
199
56
39
200
55
38
201
54
38
203
53
38
204
52
38
208
55
41
215
59
46
220
62
50
220
60
48
217
55
44
218
56
45
226
62
52
236
67
60
245
66
69
242
57
63
240
50
60
246
52
63
246
50
64
241
45
59
237
45
58
237
50
61
236
55
62
230
53
59
228
54
56
229
55
56
235
57
57
240
58
57
241
55
56
239
55
55
242
59
61
238
60
60
234
58
58
230
56
55
225
56
53
223
55
52
220
55
53
220
55
53
222
57
55
225
57
56
227
57
57
230
58
58
233
57
59
236
57
60
237
57
60
239
56
60
244
55
59
243
54
58
240
56
58
237
57
58
231
59
57
224
59
53
215
57
48
207
55
44
202
56
43
200
57
41
199
57
43
198
58
41
199
58
41
199
58
40
200
59
42
199
60
41
193
57
35
196
61
39
190
58
35
182
52
30
188
57
37
201
68
51
206
64
54
201
49
44
255
95
101
255
87
103
255
75
98
252
61
92
245
51
88
242
50
89
247
56
99
240
69
105
228
91
111
171
71
81
110
52
51
78
51
44
67
63
54
65
66
60
66
54
56
66
43
49
77
46
51
77
49
46
67
56
38
68
74
40
88
110
61
125
155
95
155
186
119
167
198
130
171
203
140
159
190
130
152
182
128
148
178
126
130
160
110
102
132
82
88
118
66
89
123
63
93
128
62
99
135
65
105
143
68
110
148
73
109
149
76
108
148
78
107
146
79
108
145
78
105
142
73
102
138
68
99
134
66
99
134
66
102
137
73
104
139
75
102
138
76
100
136
74
103
139
77
104
140
78
103
139
75
102
139
72
101
138
69
102
139
69
106
143
73
107
147
74
113
155
81
113
157
82
114
158
83
42
48
34
41
47
35
41
46
39
41
46
40
45
47
44
49
51
48
53
54
49
55
56
50
59
60
52
62
63
55
65
68
61
72
74
71
79
80
84
83
85
97
88
89
107
90
92
117
92
90
127
94
93
137
100
98
148
107
106
164
117
116
186
127
126
206
135
135
223
139
140
233
141
141
239
140
140
240
137
137
235
133
132
226
128
128
216
128
126
210
128
127
207
130
130
204
133
134
199
134
135
199
135
136
201
137
136
204
139
136
207
140
134
206
141
134
204
142
133
200
138
128
188
137
127
177
134
124
161
130
120
147
123
115
130
116
107
112
108
98
96
100
93
83
99
96
79
98
96
75
101
94
75
102
94
75
105
92
73
108
93
72
110
94
71
113
93
69
121
93
71
130
89
67
149
88
70
173
90
76
199
86
80
221
83
83
243
82
88
254
89
95
240
85
83
227
76
69
217
62
57
213
54
48
217
54
47
220
57
48
219
57
44
214
57
40
211
56
38
209
56
38
209
56
40
212
56
41
215
55
41
220
54
42
223
52
44
221
53
44
206
48
39
201
53
41
200
57
43
198
61
45
196
65
47
193
64
45
191
60
42
190
57
40
196
56
41
203
60
46
228
82
69
220
72
60
200
52
40
204
58
45
200
58
44
194
52
38
202
61
44
203
60
43
202
59
42
202
59
42
203
58
41
204
57
41
206
56
41
207
54
40
211
55
42
214
56
44
217
55
44
215
51
41
213
49
39
216
49
40
222
55
46
231
60
53
248
68
71
241
56
62
237
47
57
239
47
58
240
48
61
238
46
59
235
49
60
235
54
63
228
53
58
220
51
54
216
50
50
223
58
56
238
69
66
248
73
70
248
68
67
243
63
62
233
58
55
231
57
56
229
57
55
226
57
54
225
56
53
224
56
53
225
57
56
225
57
56
224
56
55
226
56
56
229
57
57
231
57
58
233
57
59
236
57
60
237
57
60
238
55
59
243
54
58
242
53
57
238
54
56
234
56
56
228
59
56
220
58
53
211
57
47
203
55
43
198
56
42
195
58
42
194
58
42
192
59
42
192
59
42
193
60
41
193
60
43
193
60
41
189
57
36
193
63
41
187
58
37
179
53
31
185
58
39
192
60
47
201
58
50
215
61
61
255
95
103
255
81
100
253
67
91
246
57
87
242
57
91
242
61
96
240
64
100
224
74
101
170
64
76
131
63
62
95
58
50
72
58
47
59
61
48
59
61
50
73
59
58
85
61
61
81
47
46
84
55
47
87
75
53
100
104
69
119
143
91
140
176
112
154
195
125
159
199
129
152
186
125
154
185
128
154
182
131
141
169
120
114
142
94
89
117
69
84
112
61
92
123
66
95
127
64
98
134
64
105
141
67
109
147
72
108
148
75
107
147
76
105
144
77
105
144
77
103
140
71
101
137
67
99
134
66
99
134
68
103
138
74
105
140
76
104
140
78
103
139
77
105
141
79
105
141
77
105
142
75
103
140
71
103
140
70
102
142
69
108
146
73
109
149
76
112
156
81
111
157
82
114
158
83
45
49
34
45
49
35
44
47
38
44
46
41
47
47
45
49
49
47
51
52
47
52
53
45
57
59
48
60
62
49
64
66
55
69
72
65
75
77
76
81
82
87
85
85
97
86
87
105
92
89
116
94
93
127
102
100
140
112
110
160
122
120
183
133
131
206
141
139
223
144
144
234
144
142
239
142
140
237
138
137
231
135
132
223
129
127
211
127
124
203
127
125
200
128
127
195
134
134
196
136
136
196
138
138
198
140
139
199
140
138
201
140
136
197
140
132
191
139
130
183
137
128
175
134
124
161
128
118
145
123
112
129
117
106
114
110
100
99
105
94
88
99
93
81
93
98
76
93
98
75
97
95
74
103
92
74
109
90
73
112
91
72
114
92
71
114
92
69
122
96
73
123
87
63
137
82
61
164
85
68
199
88
79
224
86
83
245
80
84
252
79
83
226
62
60
222
60
55
221
56
52
222
55
49
225
54
47
225
54
46
221
55
43
218
55
40
212
55
38
211
56
36
211
56
38
213
56
39
216
54
41
221
53
42
224
51
44
221
53
44
203
51
40
196
54
40
194
57
41
193
60
43
194
63
45
194
63
45
193
60
43
192
56
40
195
53
39
220
74
61
218
70
58
213
65
53
206
60
47
196
54
40
196
59
43
190
54
38
198
58
41
199
58
41
199
58
41
201
58
42
202
56
41
203
55
41
204
54
40
205
51
39
213
57
45
213
55
44
214
51
42
215
51
42
218
51
43
223
54
47
229
58
51
233
60
56
240
60
61
237
52
57
235
48
55
236
49
56
238
51
60
237
52
60
235
55
64
234
61
67
221
55
59
225
65
65
236
78
75
248
89
85
253
90
85
250
81
76
239
66
62
229
56
52
226
54
50
224
55
50
224
55
50
224
55
50
225
56
53
226
57
54
228
59
56
228
59
56
225
55
55
228
56
56
230
56
58
232
56
59
235
56
60
235
56
60
235
56
60
236
56
59
239
53
56
238
52
55
236
53
55
231
55
55
226
58
55
217
58
52
207
56
47
199
55
44
194
56
43
191
58
43
189
59
43
187
60
43
187
60
43
187
60
41
187
60
43
187
60
41
184
57
38
189
64
42
179
57
36
177
54
36
182
59
43
180
49
39
194
52
48
235
80
84
255
92
105
254
75
96
243
59
85
237
57
86
238
65
93
236
73
102
227
75
100
202
79
97
130
56
57
102
62
54
85
63
50
71
64
48
59
60
44
56
54
41
65
52
43
78
55
47
72
43
35
83
60
44
103
93
66
129
136
95
146
171
116
149
188
123
148
194
122
149
192
123
146
180
120
156
184
133
154
180
133
128
154
109
92
117
75
72
98
53
78
104
56
91
120
66
95
125
63
99
131
64
104
140
68
108
146
71
106
146
73
104
146
74
103
144
76
102
143
75
100
137
68
100
135
67
99
134
68
101
136
70
104
139
75
107
142
78
107
143
79
106
142
78
105
144
79
105
144
79
105
144
77
104
144
74
103
143
72
104
146
72
108
148
75
111
153
77
115
161
86
115
163
87
117
163
88
50
52
38
48
52
38
48
49
41
48
49
43
49
50
45
50
51
46
51
52
46
52
54
43
57
59
45
59
62
45
63
65
51
68
70
57
73
74
68
77
79
78
82
81
87
83
83
93
88
86
100
92
90
111
100
97
126
110
108
148
122
119
172
132
130
195
140
137
214
145
143
227
148
145
234
147
144
235
142
139
226
137
133
217
130
127
204
127
124
195
127
124
191
128
126
189
132
131
189
134
133
190
137
136
193
141
138
193
139
136
189
137
133
183
135
127
174
133
125
166
133
123
157
128
118
143
121
110
127
114
102
112
109
97
99
107
93
90
105
90
83
99
91
78
92
97
75
90
98
74
97
95
74
103
92
74
111
89
75
115
89
74
117
90
73
119
91
70
118
86
65
123
81
59
139
81
61
171
88
70
205
91
80
226
84
80
237
71
73
239
63
65
219
50
47
220
53
47
225
53
49
227
54
48
227
53
46
225
53
43
224
54
41
219
56
41
214
55
36
211
56
36
209
56
38
212
57
39
216
54
41
220
54
42
224
51
44
218
54
45
200
54
41
189
56
39
188
55
38
189
58
40
191
62
43
194
63
45
195
59
43
196
56
41
198
52
39
233
85
73
211
60
49
204
56
44
209
66
52
190
53
37
192
61
43
192
61
43
192
56
40
196
56
39
197
57
40
199
58
41
200
57
41
203
55
41
204
54
40
205
51
39
210
54
42
212
51
41
213
50
41
219
52
44
227
58
51
233
62
55
236
63
57
236
61
58
232
52
53
236
53
57
239
54
59
238
53
59
234
50
58
230
51
57
228
55
61
226
60
64
243
85
86
252
98
98
255
109
106
255
105
100
243
86
81
228
65
60
223
54
51
221
52
47
223
54
49
222
55
49
222
55
49
223
56
50
225
56
53
226
57
54
229
57
55
230
58
56
229
55
56
230
56
57
232
56
59
233
57
60
235
56
60
235
56
60
235
56
60
236
55
60
238
53
58
238
54
56
234
54
55
229
57
55
223
60
55
214
60
52
204
57
47
197
57
44
190
57
42
186
59
42
182
59
41
181
60
41
181
60
43
180
61
41
179
59
42
179
60
40
179
58
39
183
64
44
173
56
38
173
56
39
179
59
45
171
43
34
193
53
52
252
97
103
253
85
100
249
72
92
238
62
85
232
62
88
229
73
95
220
81
100
206
81
95
177
85
90
119
70
65
92
70
57
79
66
50
74
67
49
70
67
48
64
61
42
61
54
35
61
50
30
65
50
29
81
70
42
110
107
72
138
147
102
149
172
116
145
180
116
141
184
115
144
186
120
157
187
133
161
184
138
144
167
125
108
130
91
75
95
58
65
87
48
76
99
55
87
114
63
95
123
64
100
131
64
105
138
67
107
145
70
105
145
72
103
145
71
100
143
72
101
142
74
98
135
66
99
134
66
100
135
69
103
138
72
106
141
77
108
143
79
109
145
81
110
146
82
106
145
80
106
145
78
106
146
76
104
146
74
103
145
71
105
147
71
109
151
75
112
156
79
119
166
88
118
166
90
118
166
90
55
56
40
54
56
42
54
54
44
53
54
46
53
54
48
53
54
48
54
55
47
54
56
43
59
62
45
61
64
45
64
67
46
68
71
52
73
75
62
77
78
70
81
80
78
82
82
82
86
85
83
89
88
93
97
95
108
107
105
129
117
115
155
128
125
178
136
134
199
140
138
211
149
146
225
148
145
226
144
141
220
139
135
211
132
129
196
129
125
186
127
124
181
127
124
179
129
126
181
132
129
182
135
133
183
137
134
181
138
132
176
134
128
166
129
122
155
128
119
146
127
115
135
122
110
124
114
101
108
109
95
95
106
91
88
105
90
83
106
89
79
102
90
76
97
96
76
95
97
76
100
95
76
105
92
75
110
91
76
116
90
75
122
90
75
125
90
71
127
84
65
136
81
61
157
81
65
182
86
70
205
83
72
216
72
64
223
58
56
226
52
51
221
49
45
223
51
47
226
53
47
227
53
46
225
51
44
223
51
41
221
53
40
220
57
40
211
56
36
208
57
36
207
58
38
209
58
39
212
56
41
217
55
42
221
53
44
216
55
45
196
59
43
185
58
41
181
54
37
183
56
39
189
59
43
194
61
46
199
59
46
199
55
44
208
57
48
245
92
84
214
61
53
201
53
43
207
65
53
184
51
36
183
58
40
188
63
43
191
58
41
195
58
42
198
58
43
200
58
44
202
59
45
204
58
45
207
56
45
209
55
45
208
51
42
210
49
41
214
49
43
222
55
49
229
60
55
234
62
58
232
59
55
230
55
52
233
55
53
239
59
60
240
60
63
234
54
57
228
49
53
228
53
58
232
66
70
237
77
79
255
120
119
255
113
110
241
96
91
221
74
67
209
56
51
209
50
46
220
55
51
231
64
58
224
57
51
224
57
49
224
55
50
224
55
50
226
54
50
227
55
51
229
55
54
229
55
54
230
54
56
231
55
57
234
55
59
235
56
60
235
56
62
235
56
62
232
55
61
234
55
59
238
55
59
238
55
57
234
55
58
228
58
58
223
61
58
214
61
55
203
59
50
195
59
47
186
56
42
181
58
42
179
59
42
175
60
41
175
60
42
172
60
40
172
59
41
172
59
41
170
59
40
172
61
42
166
56
39
167
57
42
170
56
45
171
48
41
203
64
67
255
105
114
243
78
94
241
72
91
235
69
89
226
73
91
215
80
94
199
85
93
178
86
87
153
90
85
103
75
63
83
74
57
80
68
52
78
67
49
73
67
45
66
64
39
63
66
35
65
71
35
77
85
46
94
103
60
120
129
84
139
153
102
145
164
109
141
169
110
143
178
114
151
185
125
157
183
136
146
167
128
117
134
100
82
99
67
63
80
48
66
83
49
79
97
57
86
108
61
98
123
66
101
130
66
105
138
67
106
144
69
105
146
70
101
145
70
98
144
72
99
142
71
98
135
66
102
134
67
103
138
72
105
140
74
107
142
78
109
144
80
110
146
82
111
147
83
106
145
78
107
146
79
106
147
77
105
147
75
105
147
73
106
150
73
110
154
75
114
158
79
120
167
89
118
167
88
118
167
88
63
61
46
61
62
46
61
61
49
61
61
51
61
61
53
59
60
52
59
61
50
59
61
47
63
66
47
64
68
45
67
71
46
70
74
51
75
76
58
78
79
65
81
81
73
82
82
72
89
87
74
90
90
78
95
94
92
103
101
114
113
110
137
123
121
161
131
128
183
135
133
196
143
140
209
143
140
211
141
138
207
138
133
199
131
127
186
126
121
175
122
119
166
121
118
165
123
119
169
124
122
171
128
125
170
131
126
166
131
125
161
127
121
149
124
116
137
122
114
129
118
107
115
114
102
104
109
95
94
106
91
86
107
90
82
108
90
80
108
90
78
107
91
78
103
94
77
102
95
77
103
94
77
106
93
77
110
93
77
118
92
77
124
92
77
131
89
73
150
94
79
157
85
71
169
77
64
185
73
61
197
64
55
204
56
46
213
50
43
221
50
43
225
53
49
225
54
47
226
53
46
226
52
45
224
50
41
222
52
39
220
54
38
218
59
40
209
57
36
205
59
36
204
59
38
206
59
39
209
58
41
213
57
42
217
55
44
211
57
45
193
62
44
180
59
40
176
53
35
178
53
35
187
57
41
196
60
46
201
59
47
203
55
45
217
63
55
248
91
84
227
73
65
206
58
48
204
64
51
184
54
38
172
51
32
181
60
41
188
57
39
191
55
39
192
55
39
195
55
40
197
55
41
201
55
42
206
55
44
209
55
45
217
60
51
219
58
50
222
57
51
229
60
55
234
62
58
234
61
57
231
56
53
227
52
49
232
57
54
235
60
57
236
58
58
232
56
58
236
62
64
248
80
80
255
98
99
255
112
112
249
104
101
226
84
80
202
61
54
192
49
43
201
52
48
214
59
55
223
61
58
224
59
55
226
59
53
225
58
50
226
57
52
225
56
51
227
55
51
228
55
51
229
53
53
230
54
54
233
54
57
233
54
57
234
55
59
235
56
60
235
56
62
234
55
61
232
55
61
233
54
58
239
56
60
236
56
57
232
56
58
227
59
58
221
62
58
211
62
55
201
60
50
192
60
47
182
56
41
178
58
41
174
59
41
170
59
40
169
60
40
168
59
39
165
58
38
165
58
40
165
60
41
160
57
40
160
59
41
160
57
42
162
54
42
181
62
56
219
84
88
249
102
112
237
76
92
237
74
93
231
76
92
216
78
91
198
83
90
177
87
86
156
92
82
136
97
82
84
71
55
77
74
57
83
70
53
77
62
43
63
51
27
57
54
23
65
77
37
78
102
54
108
138
84
119
148
92
132
155
101
137
154
100
141
155
102
144
163
107
148
173
116
152
176
124
131
149
109
110
125
92
81
96
67
60
74
48
57
70
44
65
80
49
79
95
59
87
106
61
99
122
68
101
130
66
106
139
68
107
145
70
105
146
70
101
145
70
97
143
70
99
142
71
99
136
67
105
137
70
106
141
75
108
143
77
108
143
79
108
143
79
109
145
81
110
146
82
109
148
81
109
149
79
109
150
80
108
150
76
107
151
74
109
153
74
114
159
78
115
162
81
124
173
94
123
172
93
122
171
92
68
65
48
68
66
51
68
66
54
67
67
57
67
67
59
67
67
59
66
66
54
66
67
51
68
70
48
69
72
45
71
74
45
74
77
50
79
78
57
82
81
63
84
82
69
85
83
68
92
90
67
92
92
68
92
93
79
97
97
97
105
104
120
114
113
144
123
122
166
129
126
181
134
130
191
136
131
195
136
132
193
132
129
186
127
123
174
121
115
161
116
111
151
111
109
148
112
109
154
114
111
158
118
113
154
119
115
150
119
115
142
116
111
131
115
107
120
114
105
110
109
97
97
108
95
89
106
92
83
107
90
80
109
91
79
111
91
80
111
92
78
111
92
78
110
92
78
109
93
78
107
94
78
108
95
79
111
95
79
117
96
79
125
93
78
137
89
77
161
95
83
167
79
69
174
66
56
186
59
50
197
55
45
204
50
40
212
51
41
220
53
44
224
55
48
225
54
47
225
52
45
224
51
44
224
52
42
221
53
40
216
55
37
212
57
37
207
58
34
202
61
34
201
61
36
202
62
39
205
60
41
210
59
42
213
57
44
207
59
45
191
64
45
177
60
40
172
53
33
174
51
33
186
56
40
196
60
46
202
58
47
206
53
45
216
57
51
240
78
73
241
84
77
217
66
57
204
66
53
190
63
46
166
49
29
179
60
40
190
60
44
193
57
43
193
55
42
194
54
41
197
55
43
201
57
46
207
59
49
212
59
51
225
68
61
227
65
60
228
63
59
231
62
59
233
61
59
233
59
58
232
56
56
231
56
53
231
56
53
230
57
53
230
55
52
233
59
58
244
74
74
255
92
91
255
100
99
248
99
95
204
61
57
193
56
50
189
52
46
195
56
49
213
65
61
222
69
64
223
61
59
217
52
50
226
59
53
226
59
51
226
57
52
226
57
52
228
56
52
229
56
52
231
55
55
233
55
55
234
54
57
235
55
58
235
54
59
235
56
60
235
56
62
232
55
61
232
55
61
233
54
58
235
55
58
233
54
57
230
56
57
224
59
57
219
62
57
209
62
54
198
60
49
190
60
46
179
56
41
174
59
41
170
59
40
166
59
39
164
59
40
163
58
39
163
58
39
160
57
38
161
62
43
150
55
37
156
61
43
154
57
41
154
50
39
195
80
75
237
107
109
237
93
102
235
80
94
232
75
92
220
74
87
202
77
83
182
84
83
161
93
82
142
101
81
127
106
85
78
75
56
75
72
55
80
63
47
76
55
36
69
53
27
71
71
35
87
111
61
105
146
86
127
178
111
130
179
113
131
165
104
125
146
89
131
141
89
142
150
99
137
151
100
124
140
95
88
102
67
71
84
56
57
69
45
54
66
42
58
68
44
61
74
48
74
88
55
87
104
62
101
124
70
104
130
67
108
139
69
108
144
70
105
147
71
99
145
70
97
145
71
97
143
71
102
139
70
108
140
73
109
144
78
110
145
79
108
143
79
107
142
78
107
143
79
109
145
81
112
151
84
113
153
83
112
153
83
112
154
80
111
155
78
113
157
78
116
163
82
119
166
85
126
175
96
123
174
95
121
172
93
73
67
51
74
68
54
73
69
57
73
69
58
73
71
59
73
71
59
72
70
57
72
71
53
73
72
51
74
74
50
76
76
50
78
78
52
82
80
59
84
81
62
88
82
68
89
84
65
93
89
62
91
90
62
92
89
72
94
91
84
100
97
104
110
107
126
120
115
147
125
120
160
129
123
167
131
125
171
133
127
173
131
124
166
125
119
157
117
110
143
111
105
133
107
103
130
105
102
133
106
103
134
109
104
134
109
105
128
109
105
120
108
103
110
107
98
101
106
96
94
103
93
84
104
92
80
104
90
77
107
91
76
110
93
77
113
94
79
113
94
79
112
93
78
112
93
79
111
93
79
112
93
78
115
93
79
119
93
78
126
93
78
137
91
76
147
87
76
162
84
72
166
69
60
171
57
47
186
55
45
200
56
47
211
54
45
217
54
45
221
54
45
223
54
47
223
52
45
223
52
44
223
52
44
223
55
44
221
55
41
216
54
39
209
54
36
207
58
36
204
60
36
202
60
38
203
61
39
206
59
41
209
59
42
211
58
44
206
60
45
190
65
47
175
60
39
168
51
33
172
51
32
182
57
39
193
61
46
201
59
47
204
56
46
204
50
42
224
65
59
248
91
84
224
73
64
208
68
55
202
70
55
171
50
31
184
63
44
202
70
55
204
66
53
202
64
51
203
63
50
205
63
51
210
66
55
220
69
60
225
71
63
226
64
59
226
61
57
227
58
55
226
54
52
226
54
52
227
55
53
229
57
55
229
60
57
228
63
57
224
61
54
221
58
53
225
63
58
234
77
72
234
81
76
211
64
57
184
41
35
184
45
38
190
53
45
201
62
55
208
65
59
214
62
57
217
59
56
225
59
59
231
61
61
226
57
54
226
57
54
226
57
54
228
56
54
229
57
53
231
58
54
233
57
57
234
58
58
234
56
56
234
56
56
235
56
59
235
56
59
233
57
60
232
56
59
231
55
58
231
55
58
233
54
58
230
54
56
226
56
56
222
58
56
214
61
56
204
61
53
194
60
49
185
59
45
174
57
40
170
59
42
166
59
41
162
59
40
160
59
39
158
59
38
159
58
40
155
58
39
152
63
45
140
53
34
153
61
46
152
56
42
151
47
38
205
92
88
246
122
124
222
88
95
229
89
100
217
81
91
200
77
82
183
77
79
167
87
80
155
97
85
141
104
85
128
110
86
84
84
56
67
72
42
66
57
28
72
59
27
88
80
43
110
116
68
132
162
102
148
193
126
135
188
118
134
184
115
124
158
97
110
130
77
117
126
81
130
135
94
117
125
86
91
98
64
59
68
41
52
60
37
53
61
40
61
68
50
60
69
50
57
67
43
67
80
50
85
101
62
103
123
72
105
131
70
108
139
71
109
145
71
106
147
71
102
146
71
98
144
71
99
142
71
104
141
74
108
143
77
111
146
80
110
147
80
108
143
77
105
142
75
106
143
74
106
146
76
115
155
84
115
157
85
115
157
83
114
158
81
114
158
79
115
162
82
119
166
85
122
171
90
119
167
91
117
165
91
116
164
90
82
75
59
82
75
59
82
74
61
82
74
61
82
74
61
82
74
61
82
74
61
82
75
59
85
78
60
86
79
61
87
80
62
88
81
63
89
82
64
91
84
68
92
85
69
92
85
69
98
91
72
97
90
72
97
89
76
98
89
82
101
93
91
107
97
105
113
102
116
117
106
123
122
110
132
124
112
136
127
115
139
127
115
137
124
112
132
117
106
123
109
98
114
101
93
106
99
96
105
96
95
101
95
93
98
95
90
94
94
90
89
94
89
85
97
90
82
98
90
79
101
91
79
103
91
75
105
92
75
107
92
73
107
92
71
109
92
72
109
93
70
106
94
72
106
98
79
114
101
84
113
90
74
117
79
66
139
87
74
156
92
80
162
90
76
170
91
76
164
78
61
165
70
52
166
60
44
176
56
40
194
56
45
210
56
48
221
52
49
222
49
45
223
54
47
222
55
46
222
55
46
222
55
46
222
55
46
219
55
43
216
54
41
215
55
41
213
56
41
212
56
41
210
57
41
210
57
41
210
57
43
210
57
43
212
56
43
205
59
44
189
59
43
182
62
45
174
57
40
169
49
32
171
50
33
183
57
42
192
60
47
195
57
46
200
53
43
206
53
45
212
58
48
219
67
56
221
75
62
212
72
57
194
61
44
183
50
35
221
80
70
216
74
64
212
70
60
211
69
59
215
73
63
219
72
64
221
68
62
223
61
58
223
55
52
230
56
55
234
58
58
234
58
58
229
57
55
224
55
52
222
57
51
220
61
55
220
69
62
209
65
57
199
57
47
191
50
40
185
48
38
186
52
41
191
59
47
195
63
51
195
58
48
199
61
51
208
64
55
217
64
58
224
62
59
229
60
57
233
57
57
236
58
58
230
56
58
229
56
58
229
56
58
229
57
57
229
57
55
229
57
55
229
57
53
229
57
53
224
52
48
225
53
49
228
54
53
229
55
54
230
56
57
231
57
58
231
57
58
231
57
59
235
59
62
230
57
59
223
57
57
220
61
58
214
65
61
205
66
59
193
65
54
183
63
49
169
58
41
163
60
43
160
61
42
155
60
40
153
58
38
150
58
37
151
56
38
145
56
38
144
65
48
139
60
45
135
47
35
145
47
38
188
76
74
228
109
111
229
109
111
205
86
90
189
76
78
181
78
79
170
81
77
162
85
79
155
88
79
150
93
82
149
97
84
138
106
83
88
89
47
61
75
22
56
69
15
86
97
41
127
141
80
155
176
111
161
188
121
156
189
120
146
181
115
126
157
97
104
128
76
92
109
67
89
100
66
84
93
66
72
80
57
63
68
48
58
61
44
64
67
50
60
64
49
58
62
48
60
67
51
58
67
48
65
78
50
82
100
62
93
115
66
103
131
72
112
143
75
111
147
75
108
146
71
106
146
73
105
147
75
103
144
74
108
144
80
109
145
83
111
147
83
108
147
80
109
146
77
107
147
74
109
150
74
109
152
73
113
156
76
113
158
77
114
159
78
114
161
80
116
163
82
118
167
85
121
170
89
122
170
94
123
168
101
111
155
92
101
145
82
87
78
63
87
78
63
87
78
63
87
78
63
87
78
63
87
78
63
87
78
63
87
78
63
88
79
64
89
80
65
89
80
65
91
82
67
92
83
68
93
84
69
94
85
70
95
86
71
100
91
74
99
90
73
99
89
77
99
89
79
102
91
85
106
95
93
110
98
100
112
100
104
114
101
108
116
103
112
118
105
114
118
105
114
115
102
109
109
96
103
103
91
95
98
88
89
94
91
86
90
90
82
89
86
79
87
84
75
88
84
73
88
84
72
92
86
72
94
87
71
99
90
75
99
90
73
102
91
73
103
92
72
105
93
71
106
94
70
107
95
71
106
95
73
102
97
77
111
103
84
119
91
77
129
83
70
153
86
77
168
88
79
175
82
74
180
82
69
173
73
57
170
67
48
171
61
44
177
57
41
190
56
44
204
55
48
216
52
50
220
51
48
221
54
46
220
56
46
220
56
46
220
56
46
219
55
45
218
56
45
217
55
44
215
55
43
215
55
43
213
55
43
213
55
43
213
55
43
212
56
43
212
56
43
212
56
43
206
58
44
190
60
46
182
62
46
174
57
40
166
49
32
167
50
32
178
58
41
185
62
46
190
60
46
198
58
45
199
52
42
203
52
41
210
59
48
220
69
58
225
79
66
223
81
67
221
79
67
219
70
63
214
65
59
209
60
53
208
59
52
211
62
55
215
62
56
217
58
54
218
53
51
230
56
55
234
56
56
236
56
57
234
56
56
230
56
55
226
58
55
225
62
57
219
66
58
205
64
55
194
61
52
187
57
44
180
52
39
178
52
38
181
55
41
186
60
45
191
64
49
198
64
52
205
64
54
213
65
55
220
63
56
226
58
55
230
56
55
235
55
54
239
56
58
233
54
58
231
54
60
231
55
58
230
56
57
230
56
55
229
57
53
229
57
53
227
58
53
226
57
50
227
58
51
227
58
53
228
59
54
228
59
56
228
59
56
229
57
57
229
57
57
228
58
59
227
59
59
223
60
61
217
63
61
208
65
59
196
63
54
183
61
50
172
59
45
165
59
43
160
61
42
156
61
43
151
60
41
150
59
40
146
58
38
147
56
37
140
58
37
128
57
39
128
56
41
137
53
42
157
60
53
191
81
80
215
101
101
209
94
97
183
77
77
172
78
76
164
84
77
157
89
80
152
92
81
151
94
83
151
94
83
152
95
86
140
102
81
96
95
47
83
103
42
94
114
51
122
144
79
153
175
110
165
190
124
153
178
112
136
160
98
106
130
72
97
117
66
84
101
59
74
88
55
70
80
55
63
72
53
57
63
49
53
56
45
58
60
47
65
66
52
61
63
52
58
61
50
61
65
51
58
67
48
64
77
51
82
100
62
94
116
69
103
131
72
113
144
77
112
148
76
110
146
72
107
148
72
107
147
76
104
145
75
109
145
81
110
146
84
109
148
83
109
148
81
107
147
76
107
148
72
108
151
72
109
152
72
112
157
74
112
157
74
112
160
76
115
162
81
117
166
84
120
169
88
120
169
88
120
168
94
110
152
89
100
141
83
90
131
73
93
84
69
93
84
69
93
84
69
93
84
69
93
84
69
93
84
69
93
84
69
93
84
69
91
82
67
92
83
68
93
84
69
94
85
70
95
86
71
96
87
72
97
88
73
97
88
71
101
93
74
101
93
72
100
91
74
100
91
76
101
91
81
102
91
85
104
93
89
104
93
91
105
93
93
106
94
94
107
95
95
107
95
95
105
94
92
102
91
89
98
87
83
95
86
81
90
86
77
87
84
75
85
81
72
82
78
67
81
77
66
83
79
67
87
81
67
88
82
66
94
87
71
94
87
69
97
89
70
99
91
70
103
92
72
105
94
72
107
96
74
105
97
76
101
96
77
113
101
85
123
94
80
136
88
78
162
91
85
175
88
81
177
74
69
182
71
64
182
65
55
183
63
49
182
60
47
184
56
43
189
55
43
197
57
44
204
57
47
211
57
47
217
56
46
219
55
45
219
55
45
219
57
46
218
56
45
217
55
44
217
55
44
215
55
43
215
55
43
213
55
43
213
55
43
212
56
43
212
56
43
212
56
43
210
57
43
205
59
44
192
62
48
182
62
46
173
58
40
163
50
32
163
51
31
170
58
38
179
62
44
185
62
46
196
63
48
196
56
43
197
50
40
200
52
42
208
60
48
216
70
57
220
77
63
225
78
68
216
59
54
215
53
51
210
51
48
211
53
50
216
58
55
222
63
60
227
62
60
232
60
60
236
57
60
237
54
58
234
51
55
231
51
54
230
54
56
227
57
57
224
60
58
217
64
58
193
55
45
184
56
43
179
53
39
175
52
37
175
52
37
178
55
40
182
59
43
187
61
46
200
68
53
205
67
54
213
66
56
217
63
55
223
58
52
229
56
52
234
54
53
238
55
57
234
54
57
233
54
57
233
54
57
231
55
55
231
55
55
230
57
53
229
57
53
229
58
51
227
58
51
228
59
52
228
59
54
227
60
54
227
59
56
226
58
57
225
57
57
222
56
56
221
57
58
220
60
60
218
64
62
211
66
61
200
63
57
185
58
49
173
55
43
165
55
40
161
59
44
157
60
43
153
60
43
148
59
41
147
58
40
144
57
38
144
55
37
138
57
38
122
54
35
121
54
37
136
57
44
160
70
61
185
83
79
192
87
84
184
80
79
171
73
70
162
77
72
156
83
76
153
89
80
151
94
83
151
97
87
151
97
87
152
95
86
139
101
80
115
114
70
122
141
86
147
166
110
164
185
128
171
192
135
158
179
123
124
144
91
91
111
60
63
82
36
65
83
43
65
80
47
63
76
50
58
67
48
54
60
46
54
57
48
53
56
47
57
59
46
64
65
51
61
63
52
57
60
49
61
65
51
57
66
47
64
77
51
81
99
61
96
118
71
105
133
74
115
146
79
114
150
78
112
148
74
109
150
74
109
149
78
107
148
78
112
148
84
113
149
85
111
150
83
110
150
80
108
148
75
108
149
73
108
151
72
110
153
73
112
157
76
112
157
76
112
159
78
117
164
83
120
169
88
121
170
91
117
166
87
113
160
88
95
137
74
86
127
69
79
120
62
97
88
73
97
88
73
97
88
73
97
88
73
97
88
73
97
88
73
97
88
73
97
88
73
95
86
71
96
87
72
96
87
72
97
88
73
98
89
74
99
90
75
100
91
76
100
91
74
101
93
72
102
94
71
102
94
73
103
95
76
103
94
79
102
92
80
102
92
82
102
92
83
104
93
87
104
93
87
104
93
87
104
94
85
103
93
84
101
91
81
100
90
80
99
91
78
93
89
77
90
86
74
86
82
70
82
78
66
80
76
64
80
77
62
84
78
64
85
79
63
87
81
65
89
84
65
91
86
67
93
88
68
97
90
71
100
93
74
102
95
76
102
97
77
103
97
81
111
99
85
119
91
79
138
91
81
169
98
92
182
91
88
180
71
68
183
61
58
193
61
56
195
60
54
195
58
48
193
57
45
189
56
41
189
57
42
193
61
46
202
62
47
213
57
45
217
55
44
218
56
45
217
57
45
218
56
45
216
56
44
216
56
44
213
55
43
213
55
43
212
56
43
212
56
43
212
56
43
212
56
43
212
56
43
210
57
43
205
59
44
193
63
49
182
62
46
172
57
39
162
51
32
157
51
29
162
56
34
172
61
41
181
64
46
188
63
45
191
58
43
195
55
42
197
53
42
203
55
43
206
58
46
206
60
47
211
58
50
220
55
53
223
50
52
218
50
50
218
52
52
222
56
56
226
60
60
232
62
63
235
61
62
235
56
60
235
52
56
232
49
54
229
50
53
228
54
56
224
56
55
217
55
53
204
55
49
185
51
40
177
54
39
175
53
38
174
54
38
174
54
38
176
56
40
179
58
41
181
58
42
195
65
49
202
66
52
210
66
55
217
64
56
223
60
53
227
58
53
234
56
54
236
56
55
237
54
56
235
55
56
235
55
56
234
56
54
234
56
54
232
57
52
231
58
52
230
59
52
226
57
50
225
58
50
223
58
52
224
59
55
222
58
56
220
58
56
219
57
55
217
57
57
214
60
58
213
64
60
210
67
61
202
65
59
187
59
50
175
54
43
164
54
39
158
55
40
156
59
42
152
59
41
148
59
41
146
59
40
143
58
38
141
56
36
140
55
35
135
57
37
128
61
42
118
53
35
129
53
39
153
69
58
170
80
72
172
77
71
169
76
71
166
81
76
157
80
74
152
85
76
148
90
79
148
94
82
149
97
86
149
97
86
151
97
87
141
103
84
137
133
95
153
169
120
173
189
142
166
184
136
144
161
116
115
134
89
78
96
56
47
65
27
45
62
28
51
66
37
58
70
46
61
70
51
59
65
51
58
61
50
58
61
52
60
61
53
57
57
45
63
64
50
60
62
51
57
60
49
60
64
50
57
66
47
63
76
50
80
98
60
97
119
72
106
134
75
116
147
80
115
151
79
114
150
76
111
152
76
111
151
80
109
151
79
112
151
84
115
152
85
112
152
82
111
151
80
109
150
74
109
150
72
110
153
74
112
155
75
113
158
77
114
159
78
116
163
83
121
168
88
123
172
93
119
167
91
109
157
83
101
146
77
90
132
69
82
123
65
77
118
60
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
99
90
75
100
91
76
100
91
76
101
92
77
102
93
78
102
93
78
102
93
76
102
94
71
103
95
72
104
96
73
105
97
76
105
97
78
105
96
79
104
95
80
103
94
79
106
96
84
105
96
81
105
96
81
104
95
78
104
95
78
104
96
77
104
96
77
104
97
78
100
94
78
96
90
76
91
85
71
86
80
66
80
77
62
78
75
58
78
75
58
78
75
58
80
77
60
82
79
62
84
81
64
86
83
64
88
87
67
91
90
70
93
92
72
95
92
75
99
96
81
105
93
81
112
85
74
134
91
82
172
105
99
189
100
96
191
79
77
197
67
67
205
61
61
210
58
57
209
57
52
203
56
48
194
56
43
187
60
41
184
65
43
190
65
43
208
58
43
215
55
41
216
56
42
215
58
43
217
57
43
214
57
42
214
57
42
212
56
41
212
56
41
212
56
41
212
56
41
210
57
41
210
57
41
210
57
41
210
57
41
205
59
44
193
63
49
182
62
48
171
58
40
161
54
34
154
52
30
155
55
32
163
61
38
175
66
45
179
59
42
186
59
44
194
58
44
199
57
45
203
56
46
206
58
48
208
60
48
216
59
52
232
58
60
234
53
60
228
51
57
226
51
56
223
53
56
223
53
56
225
52
56
225
51
53
233
54
60
232
53
57
231
52
58
230
56
58
226
57
60
218
56
54
206
51
49
191
48
40
181
53
40
174
57
40
174
57
40
173
58
40
173
58
40
173
58
40
173
56
38
175
55
38
184
58
43
193
59
47
205
63
51
215
64
55
221
62
56
225
60
56
231
58
54
235
57
55
237
55
54
238
54
54
238
54
54
237
55
52
234
56
52
232
58
51
231
58
51
228
60
51
225
58
50
223
59
50
223
60
53
220
61
55
219
61
58
217
62
60
215
61
59
212
62
61
207
64
60
203
66
60
197
66
58
185
61
53
173
55
45
163
53
40
158
55
40
154
58
42
150
59
41
147
60
41
145
59
42
141
58
40
138
57
38
137
56
37
136
55
36
131
56
37
131
64
45
117
52
34
123
51
37
147
71
58
164
81
73
161
78
70
158
78
71
161
87
78
152
85
76
146
88
76
144
90
78
141
92
78
143
93
82
148
96
85
151
97
87
143
104
87
141
137
102
152
165
122
157
169
129
128
142
106
93
107
72
68
83
52
50
64
38
36
50
25
45
58
38
48
59
42
53
61
46
57
63
51
60
63
52
61
63
52
58
59
51
58
58
48
57
57
45
62
63
49
59
61
50
56
59
48
59
63
49
56
65
46
62
75
49
80
98
60
98
120
73
107
135
76
117
148
81
116
152
80
115
151
77
113
154
78
113
153
82
111
153
81
114
154
83
114
154
83
114
154
81
112
153
77
109
151
75
109
152
73
112
155
76
115
158
79
116
160
81
118
162
83
120
167
89
123
169
94
122
168
95
113
159
86
100
146
74
89
134
67
92
133
73
85
124
69
81
120
65
101
92
77
101
92
77
101
92
77
101
92
77
101
92
77
101
92
77
101
92
77
101
92
77
101
92
77
102
93
78
102
93
78
102
93
78
103
94
79
103
94
79
104
95
80
104
95
78
103
95
74
104
96
73
105
97
76
106
98
77
106
98
79
106
98
79
106
97
80
106
97
80
106
97
80
105
97
78
104
96
77
104
96
75
104
96
75
104
96
73
105
97
74
106
98
75
102
95
77
98
93
74
94
88
72
88
82
66
83
77
61
77
74
57
75
72
55
73
72
54
75
74
56
76
75
57
76
77
59
78
79
61
80
81
63
81
84
65
83
86
69
84
85
69
92
88
76
95
85
73
100
80
69
124
87
78
161
104
97
181
102
97
193
88
85
211
83
82
214
65
67
220
60
62
219
57
55
210
56
48
200
58
46
189
62
43
178
66
42
183
64
40
204
59
42
212
55
40
213
56
41
213
57
42
214
57
42
213
57
42
213
57
42
212
56
41
212
56
41
210
57
41
210
57
41
210
57
41
210
57
41
210
57
41
210
57
41
205
59
44
193
63
49
181
61
47
171
60
41
162
57
36
153
54
31
149
53
29
155
59
34
167
65
42
178
66
46
185
64
47
191
59
44
195
55
42
197
50
40
203
52
43
210
59
48
223
61
56
233
54
58
237
52
60
234
55
61
232
57
62
229
59
62
228
59
62
225
59
61
224
58
60
223
53
56
224
55
58
226
57
62
224
61
62
217
61
62
207
58
54
194
51
47
181
48
39
177
57
43
172
61
42
172
61
42
171
62
42
170
61
41
169
60
40
169
58
39
171
56
37
175
54
37
183
56
41
197
59
48
206
62
51
214
61
53
222
60
55
227
59
56
232
59
55
236
56
55
239
55
53
239
55
53
238
56
53
235
58
52
233
59
52
231
60
52
228
61
52
226
62
53
224
63
55
222
65
58
218
65
59
217
65
62
213
65
63
209
64
61
205
66
63
195
63
58
187
64
56
179
61
51
170
56
45
161
53
40
155
53
39
152
56
40
149
60
42
145
60
40
141
60
41
138
60
40
136
58
38
134
57
39
132
55
37
131
54
36
127
54
37
125
58
41
116
51
33
126
57
42
151
79
65
163
89
78
156
82
71
149
79
69
152
86
74
149
89
78
144
91
77
142
90
77
140
91
77
142
92
81
147
95
84
153
96
87
145
103
87
126
120
88
121
131
94
114
124
90
85
96
66
59
69
44
47
59
37
48
59
42
48
60
46
51
61
50
52
60
49
54
60
50
60
63
54
64
65
57
63
65
54
60
60
48
55
55
43
56
57
43
62
63
49
58
60
49
55
58
47
58
62
48
55
64
45
61
74
48
79
97
59
98
120
73
107
135
76
117
148
81
117
153
81
116
152
78
113
154
78
114
154
83
112
154
82
114
154
81
115
156
80
114
155
79
112
153
75
110
153
74
112
155
76
115
158
79
118
161
82
121
165
88
123
167
90
122
168
93
120
166
93
113
159
87
103
148
79
93
138
69
88
130
66
95
134
77
87
126
71
82
121
66
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
103
94
79
104
95
80
104
95
80
104
95
80
104
95
80
105
96
79
106
97
80
106
98
79
106
98
79
106
98
79
105
96
79
105
96
79
105
97
78
105
97
78
105
97
78
104
96
75
104
96
75
104
96
73
104
96
73
104
97
71
104
97
71
104
97
71
102
95
76
101
94
75
98
91
73
92
87
68
87
82
63
80
77
58
76
73
56
73
72
54
73
72
54
71
72
54
71
74
57
71
75
58
72
76
59
73
77
60
72
79
63
74
78
63
82
80
67
89
81
70
92
78
67
105
82
68
129
89
77
149
87
76
174
84
76
209
91
89
217
75
74
223
65
66
223
57
57
217
55
50
207
59
49
195
62
45
183
64
42
180
60
36
201
58
41
211
55
40
212
56
41
211
58
42
213
57
42
211
58
42
211
58
42
211
58
42
210
57
41
209
58
41
209
58
41
209
58
41
209
58
41
209
58
41
209
58
41
205
59
44
193
61
48
181
61
47
172
61
44
163
60
41
152
56
32
144
52
27
149
57
32
161
65
41
173
67
45
182
65
47
191
61
47
192
54
43
194
47
37
199
48
39
208
54
46
222
58
56
232
53
57
238
54
62
236
59
65
233
64
67
229
66
69
224
66
67
220
64
65
217
63
63
204
50
50
207
55
54
211
58
60
207
62
59
199
60
57
189
56
49
180
53
46
171
53
41
170
60
45
167
62
43
167
62
43
166
63
44
165
62
43
166
61
40
166
59
39
169
58
39
170
55
37
177
56
39
188
56
43
195
57
46
203
56
48
211
58
52
220
61
57
228
63
59
233
58
55
236
57
53
236
57
53
235
58
52
233
59
52
232
59
52
229
61
52
226
62
52
224
66
55
221
67
57
218
67
60
213
66
59
207
65
61
202
63
60
199
61
59
191
62
57
177
60
51
169
58
47
162
56
43
156
54
40
152
55
39
148
56
41
145
58
41
141
58
40
139
61
41
137
60
42
135
60
41
131
58
39
130
57
40
128
55
38
127
54
37
125
54
36
120
51
35
120
53
37
133
66
50
152
85
69
157
87
75
148
80
67
144
80
68
149
90
76
147
89
77
144
90
78
144
92
81
144
92
81
146
91
84
149
92
85
152
91
86
142
98
85
107
98
69
86
96
61
74
83
52
61
71
44
54
63
42
50
61
44
52
62
51
53
63
54
54
61
54
56
63
56
61
66
59
67
70
61
69
71
60
67
68
54
64
62
47
59
57
42
55
56
42
61
62
48
58
60
49
55
58
47
58
62
48
54
63
44
61
74
48
78
96
58
97
119
72
107
135
76
117
148
81
117
153
81
116
152
78
114
155
79
114
154
83
112
154
80
113
155
79
114
157
78
113
156
77
112
155
76
111
154
75
114
157
78
117
161
84
121
165
88
127
171
96
126
169
97
122
165
93
113
156
85
102
145
76
95
137
71
93
135
69
94
136
73
97
136
79
89
128
73
82
121
66
104
95
80
104
95
80
104
95
80
104
95
80
104
95
80
104
95
80
104
95
80
104
95
80
103
94
79
104
95
80
104
95
80
104
95
80
104
95
80
104
95
80
105
96
81
105
96
81
109
100
85
108
99
84
106
97
82
105
96
81
104
95
80
103
94
79
103
94
77
104
96
77
105
97
78
105
97
76
105
97
76
105
97
76
104
96
73
104
96
73
104
97
71
104
96
73
103
97
75
102
95
76
101
94
75
98
91
72
92
87
68
85
82
63
80
77
60
77
76
58
69
70
52
68
71
52
68
72
55
68
72
55
66
73
57
66
75
58
66
75
58
67
74
58
74
74
62
84
80
68
85
79
65
89
76
60
101
75
58
115
69
53
146
74
62
192
91
83
215
83
79
222
70
69
223
59
58
220
55
53
213
59
51
204
61
47
189
60
41
184
55
34
203
58
41
207
56
39
208
57
40
210
59
42
210
59
42
210
59
42
210
59
42
210
59
42
209
58
41
209
58
41
209
58
41
209
58
41
209
58
41
209
58
41
209
58
41
205
59
44
193
59
48
182
58
46
173
60
44
167
62
43
153
57
35
143
51
26
147
55
30
159
63
39
163
57
35
176
59
41
192
62
48
198
60
49
204
56
46
208
55
47
217
60
53
227
63
61
236
61
66
238
63
68
233
67
69
226
68
67
214
64
63
202
59
55
192
53
48
187
49
46
183
48
44
187
54
49
190
58
54
187
60
54
179
58
50
169
57
46
164
56
44
160
58
43
161
61
45
159
62
43
160
63
44
161
64
45
161
64
45
163
64
43
163
62
42
164
61
42
169
59
42
173
58
40
178
55
40
184
54
41
191
53
43
201
57
48
212
63
57
224
67
62
229
60
55
232
59
53
232
59
53
231
60
52
229
60
53
228
61
52
225
62
53
222
64
53
220
68
57
216
68
58
210
67
59
202
65
57
196
63
58
188
59
54
184
56
53
176
57
51
162
55
45
153
56
40
149
53
39
147
54
39
145
58
41
143
60
42
139
58
41
133
56
38
136
61
42
133
60
43
131
60
42
128
60
41
126
58
39
124
56
37
123
54
38
123
54
38
121
49
35
128
56
42
140
71
56
150
83
67
146
80
66
139
76
61
144
82
69
153
95
83
145
87
76
146
89
78
148
91
82
150
93
84
150
93
86
151
92
86
150
89
84
140
94
81
97
88
59
69
77
40
54
64
30
56
65
38
62
71
50
60
69
52
51
61
50
45
55
46
49
56
49
55
62
54
66
69
60
71
74
63
72
73
59
66
67
49
63
62
42
59
58
38
55
56
40
61
62
48
57
59
48
54
57
46
58
62
48
54
63
44
60
73
47
78
96
58
97
119
72
106
134
75
117
148
81
116
152
80
116
152
78
114
155
79
114
154
83
112
154
80
113
156
77
113
156
76
113
156
76
112
155
75
112
155
76
115
158
79
119
163
86
123
167
92
130
173
101
128
171
100
120
163
92
106
149
80
93
135
69
89
131
65
94
136
72
101
143
80
99
138
81
90
129
74
83
122
67
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
95
83
106
96
87
106
96
87
106
96
87
106
96
87
106
96
86
106
96
86
106
96
84
106
97
82
106
97
82
106
97
80
106
97
80
106
98
79
106
98
79
106
98
79
106
98
77
106
98
77
103
95
74
103
95
74
102
94
73
101
95
73
98
93
73
90
88
67
83
80
61
77
76
58
72
73
55
69
72
55
65
69
54
64
68
53
63
69
55
63
71
56
63
71
56
63
69
55
72
74
61
74
75
61
67
68
52
75
74
54
92
81
59
96
70
47
128
75
57
189
107
93
217
104
96
224
86
83
226
71
69
229
65
64
226
64
61
215
61
53
203
59
48
201
59
45
199
51
37
203
53
38
204
54
39
205
55
40
205
55
40
206
56
41
209
59
44
211
61
46
210
60
45
210
60
45
210
60
45
210
60
45
209
59
44
209
59
44
209
59
44
206
60
45
187
50
40
182
55
46
177
59
47
168
58
41
154
55
34
148
53
31
149
55
30
156
57
34
174
65
45
179
59
43
186
54
41
193
52
42
205
54
47
215
60
55
226
67
63
234
72
69
232
68
69
232
69
72
221
67
67
201
58
54
187
54
49
180
56
48
176
55
46
169
52
43
171
57
47
169
57
46
164
56
46
160
56
45
155
57
44
150
58
43
147
60
43
146
60
43
150
61
43
152
61
42
153
62
43
154
63
44
155
64
45
156
65
44
158
66
45
161
64
45
162
59
42
165
58
40
171
55
40
176
54
41
182
54
43
190
56
45
197
58
51
204
60
52
218
61
54
224
61
54
226
63
56
226
65
55
226
65
57
222
66
54
218
64
54
215
64
53
216
72
61
210
69
59
199
65
56
187
59
50
178
53
47
170
51
45
166
49
42
159
50
43
153
57
45
146
59
42
145
57
43
141
58
42
139
58
41
136
59
41
135
59
43
133
60
43
128
57
39
125
56
40
124
57
40
124
57
40
124
57
40
123
56
39
121
54
38
120
51
36
119
45
32
139
65
52
151
79
67
147
77
65
142
76
64
145
81
69
147
85
74
142
82
71
152
92
82
152
92
82
145
85
77
144
84
76
151
90
85
149
88
83
148
87
84
147
103
90
93
84
53
73
81
42
65
75
40
66
75
44
62
72
47
55
64
43
50
61
45
52
63
49
52
60
49
72
80
67
90
94
80
87
91
74
77
79
58
68
70
46
65
65
39
61
61
37
58
59
41
62
63
49
59
61
50
58
61
50
59
63
49
52
61
42
59
72
46
80
98
60
99
121
74
108
136
77
117
148
81
115
151
79
114
150
76
112
153
77
114
154
83
113
155
81
112
157
76
113
158
75
114
159
78
114
159
78
115
159
80
118
162
85
123
167
92
127
170
98
130
173
102
120
163
94
106
147
79
96
137
71
94
135
69
97
137
74
102
142
80
104
144
84
100
137
83
91
128
76
84
121
69
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
95
83
106
95
89
106
95
91
106
95
91
106
95
89
106
95
89
106
96
87
106
96
86
106
96
84
106
96
84
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
80
106
97
80
104
96
77
104
96
75
103
95
74
103
95
74
100
93
74
94
89
69
85
82
63
79
78
58
73
74
58
69
72
55
66
68
54
64
68
53
63
69
55
62
70
55
62
70
55
61
69
54
66
70
56
65
67
53
64
69
49
72
76
53
77
73
48
82
65
39
124
82
58
185
117
98
201
100
88
221
96
90
234
86
84
230
72
71
226
64
62
226
64
61
219
62
57
209
56
48
205
57
43
206
61
44
207
61
46
207
62
45
207
59
45
206
59
43
205
57
43
205
58
42
206
58
44
208
58
43
208
58
44
208
58
43
208
58
44
208
58
43
208
58
44
205
59
46
201
63
53
197
66
58
188
66
55
174
61
47
159
54
35
150
49
29
150
49
29
155
50
29
168
53
35
180
54
40
195
59
47
209
65
56
222
69
63
230
73
68
233
74
70
234
75
72
224
66
65
219
69
68
208
66
62
190
59
51
175
57
47
171
61
48
165
63
49
159
61
48
159
63
49
156
62
50
151
62
48
149
61
47
143
61
47
139
62
46
135
64
46
136
63
44
142
61
42
143
60
42
146
60
43
145
62
44
148
63
43
148
63
43
150
63
44
153
62
44
159
64
46
161
61
45
164
58
44
168
56
44
173
55
43
178
56
45
184
57
48
189
56
47
202
60
50
208
60
50
211
63
53
213
65
55
215
67
57
214
67
57
212
68
57
209
69
56
202
66
54
195
65
52
185
61
51
176
58
48
169
54
47
164
53
46
159
52
44
153
55
44
146
58
46
140
61
44
138
59
44
136
59
43
134
58
42
132
59
42
131
60
42
129
60
44
126
59
42
124
59
41
123
57
41
121
58
41
120
57
40
119
56
39
117
54
39
119
52
36
128
52
39
144
68
55
152
78
67
145
75
63
140
74
62
143
81
68
146
84
73
144
82
71
147
83
74
152
88
79
152
85
79
151
86
80
156
93
88
148
87
82
142
83
79
138
99
84
93
87
53
88
99
57
95
106
66
90
102
66
73
84
54
54
67
41
52
64
42
60
72
52
79
88
71
89
98
81
95
102
84
87
92
70
74
78
55
66
69
42
63
63
35
60
60
34
57
58
40
61
62
48
58
60
49
57
60
49
60
64
50
53
62
43
59
72
46
80
98
60
100
122
75
108
136
77
117
148
81
116
152
80
114
150
76
113
154
78
114
154
83
113
155
81
115
160
79
114
159
76
112
157
76
113
158
77
116
160
81
120
164
87
124
167
95
127
170
99
123
166
97
111
154
85
99
140
74
93
134
68
97
137
74
101
141
78
101
141
78
99
139
79
100
137
83
91
128
76
84
121
69
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
95
85
106
95
91
106
94
94
106
94
94
106
95
93
106
95
89
106
96
87
106
96
86
106
96
84
106
96
84
106
96
84
106
96
84
106
96
84
106
96
84
106
96
84
106
96
86
106
96
84
108
97
79
107
96
76
105
97
78
105
97
78
102
95
76
97
92
72
89
86
67
83
82
62
77
75
60
72
73
57
68
70
56
65
69
54
65
69
54
63
70
54
62
68
54
61
67
53
62
69
53
58
62
45
66
71
49
73
75
51
69
63
37
84
64
39
132
92
67
181
116
96
179
87
74
214
100
90
239
101
98
236
84
83
230
70
72
235
71
72
232
66
68
219
57
54
203
55
43
201
58
42
201
58
44
201
58
42
203
57
44
202
56
41
200
54
41
200
54
39
202
56
43
203
55
41
203
55
43
203
55
41
203
55
43
204
56
42
204
56
44
203
56
46
194
51
45
190
53
47
182
54
45
173
51
40
161
48
34
158
47
30
160
49
32
167
51
36
188
65
50
199
67
55
214
71
63
225
76
70
231
76
71
233
74
70
229
70
66
223
68
64
216
66
65
209
67
65
195
63
58
177
59
49
166
60
47
161
65
49
156
69
52
152
69
51
149
68
51
146
67
52
143
66
50
138
65
48
133
64
48
130
65
47
126
65
46
129
64
46
132
59
42
136
59
43
137
58
41
137
60
42
139
60
43
139
60
43
142
61
42
143
60
42
150
63
46
152
60
45
155
59
43
158
56
42
162
56
43
167
56
45
170
58
46
175
57
47
185
57
46
190
57
48
193
59
48
196
62
51
197
63
51
197
65
52
195
65
51
193
65
52
182
59
44
178
58
44
170
56
45
163
55
43
158
54
43
155
54
44
152
55
46
148
58
47
141
59
47
136
60
44
135
59
45
132
59
44
130
58
43
128
59
43
128
59
43
127
60
44
125
59
43
122
59
42
122
59
44
119
57
42
118
56
41
117
55
40
116
54
41
118
52
38
136
59
49
148
70
60
150
78
66
142
74
61
136
72
60
141
79
66
145
83
72
146
82
73
146
79
73
153
84
79
153
83
81
154
86
83
154
93
90
147
89
85
141
91
84
141
108
91
129
125
88
126
137
94
128
139
97
108
120
82
76
88
52
54
68
35
61
74
46
76
90
64
101
113
89
101
111
87
93
101
77
80
85
62
69
73
48
63
67
40
61
64
35
58
60
36
56
57
39
59
60
46
56
58
47
57
60
49
61
65
51
54
63
44
60
73
47
80
98
60
100
122
75
109
137
78
118
149
82
116
152
80
115
151
77
113
154
78
114
154
83
112
154
80
117
162
81
112
160
76
110
157
76
112
159
79
117
164
86
121
167
92
125
168
96
124
167
96
112
153
85
102
143
77
92
132
69
92
132
69
101
140
77
105
144
81
102
141
78
95
133
72
99
136
82
90
127
76
83
120
69
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
96
86
107
96
92
107
95
95
107
96
94
107
96
92
107
96
90
107
97
88
107
97
87
107
97
85
107
97
85
107
97
85
107
97
85
107
97
85
107
97
87
107
97
87
107
97
88
107
97
87
110
98
82
109
98
80
106
98
79
106
98
79
104
97
78
101
94
75
95
90
71
89
86
69
82
79
62
77
75
60
71
72
58
68
70
56
67
69
55
66
68
54
64
68
53
62
66
51
63
70
52
60
65
45
71
73
51
76
70
48
77
59
37
110
78
57
152
100
79
167
96
78
158
66
53
197
84
76
229
100
95
239
95
94
237
83
85
237
74
79
234
68
72
227
64
65
205
56
49
199
57
45
197
55
43
197
55
43
200
56
45
202
58
47
203
59
48
205
58
48
209
62
52
209
62
52
210
62
52
210
62
52
211
63
53
211
63
53
211
63
53
211
62
55
211
63
59
209
66
62
203
68
62
198
70
61
194
70
60
195
73
62
199
77
64
206
80
68
217
83
72
221
80
71
226
77
71
228
73
69
228
71
66
226
67
63
224
65
61
220
65
61
214
69
66
202
67
63
189
62
55
173
59
48
161
61
46
155
66
48
151
70
51
148
73
54
142
69
52
140
69
51
138
66
51
133
66
49
130
64
48
125
64
46
123
64
46
124
63
45
128
59
44
131
57
44
131
58
43
132
59
44
132
59
44
133
60
45
135
59
43
136
59
43
137
58
43
140
57
41
143
55
41
147
55
42
150
56
44
156
58
47
160
59
47
163
59
48
170
58
47
173
56
46
175
57
47
176
58
46
176
58
46
176
58
44
175
57
43
174
56
42
168
55
41
165
55
40
158
54
41
155
54
42
149
55
43
146
56
45
145
57
47
142
60
48
136
60
46
133
60
45
131
59
44
129
57
42
127
58
42
126
57
42
125
58
42
125
59
43
124
58
44
122
59
44
121
59
44
119
57
42
115
56
42
113
54
40
114
55
41
117
53
41
140
68
56
146
72
61
145
75
63
138
72
58
135
73
60
139
79
68
147
84
75
151
84
76
150
81
76
155
84
80
152
81
79
148
83
79
150
92
88
144
95
88
144
104
94
151
126
106
148
148
112
133
146
102
117
130
87
89
104
63
67
82
43
63
79
42
80
96
60
99
114
81
101
116
85
92
105
75
78
88
61
67
76
49
63
69
43
62
66
41
61
65
40
59
61
39
55
56
40
58
59
45
55
57
46
57
60
49
61
65
51
55
64
45
60
73
47
79
97
59
98
120
73
108
136
77
118
149
82
117
153
81
116
152
78
114
155
79
114
154
83
111
155
80
113
160
79
111
158
77
111
158
77
115
162
82
122
168
93
124
170
97
122
165
94
117
160
91
99
140
74
94
135
69
91
131
68
95
135
72
103
142
79
106
145
80
102
141
76
96
135
72
98
135
81
89
126
75
82
119
68
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
96
84
107
96
90
107
96
92
107
96
90
107
97
88
107
97
87
107
97
85
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
97
85
107
97
87
107
97
87
107
97
88
107
97
87
111
99
85
110
98
82
107
98
81
107
98
81
107
98
81
104
97
79
100
93
77
96
90
74
88
82
66
82
79
62
78
75
60
73
71
56
71
69
54
68
69
53
66
67
51
63
66
49
64
72
49
65
70
47
77
71
49
83
62
43
101
62
45
148
90
76
170
96
83
153
63
52
155
52
43
179
64
57
214
89
85
241
106
103
245
101
101
235
82
85
232
73
78
233
77
80
217
73
65
211
70
60
205
64
54
203
62
52
206
64
54
210
68
58
213
71
61
215
71
62
218
74
65
218
74
65
221
74
66
221
74
66
222
75
67
222
75
67
224
75
68
224
75
69
235
83
82
232
84
84
227
83
82
220
82
79
216
83
76
216
83
76
219
85
76
224
85
78
224
76
72
225
73
70
227
69
66
226
67
64
228
66
64
226
67
64
228
69
66
224
70
68
218
73
70
203
68
64
188
61
55
174
60
50
163
62
50
153
66
49
147
68
51
146
71
52
141
68
51
138
66
51
137
65
51
132
63
48
130
62
49
128
62
48
125
62
47
125
62
47
127
59
46
128
58
46
128
58
46
128
58
46
128
61
45
129
60
45
129
60
45
131
59
45
130
57
42
132
56
42
134
56
43
138
56
42
140
57
43
144
58
45
146
58
46
148
58
47
155
59
47
158
57
45
159
57
45
160
58
44
161
57
44
162
56
43
162
56
42
162
56
42
159
56
41
156
56
41
152
56
40
148
56
41
143
57
42
140
58
44
137
58
45
135
59
45
132
58
45
130
58
44
129
57
43
128
56
42
125
56
41
125
55
43
124
56
43
123
57
43
122
56
44
121
57
45
120
58
45
118
56
43
113
53
42
111
53
41
113
55
43
116
57
43
140
72
59
141
73
60
137
73
61
132
73
59
133
75
63
140
82
70
147
87
77
152
88
79
152
81
77
156
85
81
152
82
80
147
86
81
146
96
89
136
98
87
131
103
91
134
122
100
110
114
81
90
105
64
74
89
48
65
82
40
73
90
48
87
105
63
100
118
78
106
124
86
88
105
69
76
91
58
63
76
46
58
68
41
60
68
44
62
67
45
60
65
45
58
61
44
56
57
43
58
59
45
54
56
45
56
59
48
62
66
52
55
64
45
59
72
46
76
94
56
95
117
70
105
133
74
116
147
80
116
152
80
116
152
78
114
155
79
115
155
84
112
156
81
110
157
77
109
158
76
112
161
80
119
168
89
124
170
97
122
168
96
114
157
88
105
147
81
90
131
65
92
132
69
97
136
73
101
140
77
103
142
77
103
142
75
104
141
74
102
138
76
99
134
80
89
123
73
82
116
66
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
97
85
108
98
89
108
98
89
108
98
89
108
98
86
108
98
86
108
99
82
108
99
82
108
100
81
108
100
81
108
100
81
108
99
82
108
99
84
108
98
86
108
98
88
108
98
88
108
98
88
111
99
85
110
98
82
107
98
81
108
99
82
108
99
82
107
98
81
103
96
80
100
93
77
94
87
71
89
83
67
83
77
63
77
74
59
75
72
57
71
69
54
69
66
51
64
65
47
61
71
46
66
70
45
81
66
45
98
61
45
129
69
58
169
89
82
178
79
74
155
46
43
175
60
57
184
62
59
208
84
82
242
112
110
254
118
118
243
100
104
237
88
94
242
93
95
227
85
81
218
80
70
212
71
64
208
67
58
209
68
61
212
71
62
214
71
65
214
71
63
217
72
67
218
74
66
220
72
68
221
74
67
222
74
70
222
75
68
224
75
71
224
75
71
226
72
72
225
71
73
220
72
72
217
71
71
214
72
68
215
72
68
216
71
66
219
70
66
224
66
65
228
65
66
230
66
65
232
66
66
231
67
66
228
66
64
223
65
62
219
65
63
221
73
71
205
66
63
188
59
54
175
61
51
165
63
51
153
64
48
146
65
48
144
67
51
140
64
50
137
64
49
136
62
49
134
60
49
132
60
48
129
59
49
129
59
49
128
60
49
128
60
49
127
61
49
127
60
51
127
61
49
127
61
49
127
61
47
127
61
49
127
61
47
128
60
47
129
60
45
131
59
45
131
57
44
133
57
44
132
56
42
133
55
43
133
54
41
141
57
46
143
56
46
145
57
45
148
58
47
151
59
46
154
61
46
158
60
47
159
62
46
153
57
41
150
57
40
147
58
42
144
58
43
138
59
44
135
59
43
132
59
44
130
58
43
130
58
44
129
57
43
127
55
41
126
54
40
123
53
41
123
53
41
123
53
41
122
54
41
120
54
42
120
56
44
119
57
44
115
56
42
112
52
41
111
53
41
114
58
45
118
60
48
139
77
64
137
75
60
132
74
60
130
77
61
133
81
67
139
86
72
146
88
77
151
87
78
147
78
73
153
84
79
151
86
82
149
92
85
144
101
92
123
94
80
102
86
70
96
94
71
69
79
45
62
78
41
63
79
40
74
92
50
95
114
69
107
126
81
101
120
75
88
106
64
77
95
55
64
81
45
54
69
38
55
68
42
61
70
49
61
68
52
58
62
48
55
59
45
56
58
44
58
59
45
54
56
45
56
59
48
62
66
52
55
64
45
57
70
44
73
91
53
91
113
66
101
129
70
114
145
78
115
151
79
115
151
77
114
155
79
115
155
84
112
156
81
109
156
76
111
160
79
115
164
85
120
168
92
122
168
96
115
160
91
105
147
81
96
138
72
89
129
66
94
134
71
101
140
77
103
142
77
102
141
74
101
141
71
103
140
71
104
140
76
97
132
78
88
122
72
81
115
65
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
98
88
108
98
86
108
98
86
108
99
82
108
99
82
108
100
79
108
100
79
108
100
77
108
100
77
108
100
77
108
100
79
108
100
81
108
99
82
108
99
84
108
98
86
108
98
86
111
99
85
109
97
83
107
98
83
108
99
84
109
100
85
108
99
84
105
96
81
102
95
79
98
91
75
94
87
71
88
81
65
82
76
60
79
73
57
74
71
54
73
67
51
65
67
46
60
70
43
66
69
42
86
64
43
122
70
57
163
80
76
178
72
72
180
57
60
183
52
57
197
67
69
193
65
64
200
75
73
222
98
96
241
113
112
242
109
112
233
97
101
228
89
92
219
81
78
213
76
68
207
68
63
205
66
59
207
68
63
208
69
62
208
66
62
205
64
57
210
67
63
210
67
61
212
67
64
213
68
63
215
67
65
216
68
64
217
69
67
218
68
67
221
65
68
221
65
68
222
68
70
221
71
72
223
73
72
224
74
73
227
73
73
229
71
72
231
65
67
234
65
68
236
66
69
236
66
69
231
65
65
226
64
62
219
61
58
214
60
58
219
69
70
204
60
60
188
54
51
177
58
50
169
62
52
155
61
49
147
61
48
145
63
49
139
60
47
139
59
48
138
58
49
137
57
48
136
56
49
135
56
51
136
57
52
133
58
52
128
60
51
125
61
51
125
61
52
125
61
51
125
61
51
125
61
49
125
61
51
124
60
48
124
60
48
124
61
46
126
60
46
126
58
45
125
57
44
125
56
41
126
54
42
126
54
42
131
57
46
131
57
46
135
57
45
137
57
46
141
57
46
145
59
46
149
60
46
150
61
45
146
57
41
145
58
41
141
58
42
138
59
42
135
59
43
131
60
42
128
59
43
126
59
42
128
56
42
128
56
44
126
54
42
125
53
41
124
52
40
122
52
40
122
52
42
121
53
42
117
50
41
118
54
44
118
56
45
114
54
43
111
51
41
111
53
42
115
58
47
120
64
51
138
80
66
134
78
63
129
78
61
130
81
64
133
86
70
137
88
73
142
85
74
145
82
73
146
79
73
151
84
78
147
84
79
145
92
86
138
102
90
110
91
74
80
75
55
69
75
49
65
78
48
75
90
57
87
103
67
96
114
74
103
121
79
100
122
76
86
108
62
71
93
47
65
86
45
55
72
36
49
64
33
54
66
42
61
70
53
60
68
57
56
61
54
55
58
51
57
59
46
59
60
46
54
56
45
57
60
49
63
67
53
55
64
45
55
68
42
70
88
50
86
108
61
97
125
66
111
142
75
113
149
77
115
151
77
114
155
79
116
156
85
113
157
82
111
158
80
113
162
81
117
166
87
118
166
90
115
161
89
106
151
82
98
140
74
91
133
69
94
134
72
96
136
73
99
138
75
101
140
75
102
141
74
102
142
72
102
139
70
101
137
73
96
131
77
87
121
71
80
114
64
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
105
96
81
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
98
86
108
99
84
108
99
84
108
99
82
108
100
81
108
100
79
108
100
79
108
100
77
108
100
77
108
100
79
108
100
79
108
100
81
108
99
82
108
99
84
108
99
84
108
99
84
110
98
84
109
97
83
109
97
83
109
97
83
109
100
85
108
99
84
106
97
82
103
96
80
100
93
77
96
89
73
90
83
67
85
78
62
80
75
56
77
72
53
73
68
49
69
67
46
65
69
42
71
67
40
92
65
44
137
83
71
175
92
88
169
63
65
169
49
51
203
74
78
195
64
69
189
61
62
185
59
60
195
71
71
216
90
91
229
101
102
221
88
91
205
71
72
209
74
71
207
69
66
205
66
63
206
67
62
210
71
66
210
71
66
206
67
62
201
62
55
207
68
61
209
68
61
210
68
64
212
69
65
214
69
66
217
69
67
220
67
69
222
68
70
222
63
67
223
64
68
222
66
69
223
69
69
225
71
71
224
70
70
224
66
67
225
62
63
232
66
68
234
64
67
232
62
65
231
61
62
228
62
62
228
64
63
226
67
64
223
69
67
215
65
66
200
56
56
184
52
48
177
58
52
169
62
54
155
61
51
146
60
47
142
63
50
137
59
47
136
58
48
136
58
48
136
56
49
136
55
51
138
55
51
137
56
52
136
59
53
128
58
50
126
59
50
126
59
50
124
60
50
124
60
48
124
60
48
124
60
48
124
60
48
120
56
44
121
57
45
124
58
46
124
58
46
125
59
45
125
59
45
125
57
44
125
57
44
126
58
47
127
57
47
128
55
46
129
55
44
132
54
42
133
53
42
134
55
42
134
55
40
138
56
42
136
57
42
136
59
43
133
60
45
132
60
45
128
61
44
126
60
44
125
59
43
125
57
44
125
55
45
124
54
44
121
53
42
122
52
42
120
52
41
120
52
41
120
53
44
114
50
40
117
53
43
118
56
45
114
54
43
110
52
41
110
53
42
116
59
48
120
66
54
138
85
71
132
80
66
128
79
64
132
83
68
136
87
73
140
86
74
140
82
71
141
78
71
149
84
78
148
85
78
139
82
75
132
88
77
127
100
83
101
90
68
71
75
50
61
74
44
73
88
57
90
107
73
103
120
84
99
120
81
89
110
69
83
104
61
78
99
56
74
95
52
58
76
38
48
63
30
44
57
29
53
62
41
61
67
53
60
66
56
58
60
55
57
60
53
59
61
50
59
61
48
55
57
46
57
60
49
63
67
53
56
63
45
56
66
41
69
85
49
85
104
59
97
122
67
110
138
77
114
147
78
114
150
78
114
154
81
115
157
83
113
157
82
114
160
85
117
163
88
118
164
91
116
162
90
111
154
85
102
144
78
94
136
72
91
131
68
100
140
78
97
137
75
96
135
72
99
138
73
102
141
74
103
142
75
101
138
69
97
133
69
96
131
77
87
121
71
80
114
64
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
81
107
98
81
107
98
81
107
98
81
108
99
82
108
99
82
108
99
82
108
99
82
108
99
84
108
99
84
108
99
84
110
98
84
107
93
80
112
96
81
116
100
87
114
100
87
110
98
86
106
96
84
104
96
83
104
98
84
103
97
83
103
97
81
99
93
77
91
86
67
86
81
61
83
78
56
78
72
50
71
65
41
76
70
44
74
62
36
98
73
51
145
103
87
182
120
109
187
108
101
183
89
87
185
79
79
182
66
69
189
66
69
194
68
71
200
70
72
205
72
75
208
74
75
211
75
77
211
75
77
205
69
69
205
69
69
208
70
68
211
72
69
212
70
66
207
68
61
206
67
60
207
70
60
200
68
56
201
69
57
203
69
60
207
68
63
212
67
64
216
66
67
222
63
68
222
61
67
225
66
70
223
67
68
223
67
68
224
68
69
224
68
69
225
70
68
225
70
68
227
69
68
227
67
67
228
66
64
228
64
63
227
63
62
227
63
62
227
63
61
227
63
61
224
66
63
211
66
63
197
62
58
184
57
51
170
55
48
160
57
48
151
61
50
142
62
51
134
62
50
131
63
50
129
63
51
129
61
50
129
59
51
132
57
51
135
56
51
136
56
49
136
57
50
133
59
48
132
60
46
132
60
46
129
60
45
129
59
47
128
58
46
128
58
46
128
58
46
126
58
45
126
58
45
126
58
45
126
58
45
126
58
47
126
58
47
126
58
47
126
58
47
125
57
48
125
57
48
126
56
48
126
56
46
128
55
46
128
55
46
128
55
46
126
56
44
128
56
44
126
56
44
125
57
44
124
56
45
123
57
45
122
56
44
120
56
44
120
56
44
120
56
46
120
56
46
119
55
45
118
56
45
118
54
44
116
54
43
115
53
42
113
53
43
109
49
39
114
54
44
110
52
41
109
51
40
111
54
43
109
52
41
113
56
45
127
73
61
133
83
72
133
83
74
134
82
71
136
82
72
139
80
72
144
81
74
148
81
75
149
82
76
147
84
77
141
84
75
137
91
78
130
99
81
111
95
72
89
85
58
77
86
55
79
95
59
106
126
89
98
120
81
89
111
72
85
106
67
82
103
64
77
98
59
73
89
53
67
82
49
55
68
38
52
62
35
50
58
35
54
59
39
60
62
48
64
66
53
64
64
54
60
62
51
53
56
45
51
57
45
52
58
46
55
58
47
57
61
47
59
63
46
61
66
44
60
69
40
83
95
59
97
114
70
110
134
82
115
145
85
114
149
81
114
154
83
115
157
83
114
157
85
117
158
90
126
167
101
126
167
101
112
152
89
98
138
75
94
134
71
94
134
72
94
132
71
96
134
73
98
136
75
100
138
77
102
141
78
101
140
77
99
138
75
96
135
72
94
132
71
95
130
76
84
118
68
75
109
59
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
110
98
84
114
98
83
113
97
82
114
98
85
113
99
86
114
102
90
111
103
90
109
101
88
106
100
86
103
99
87
107
104
89
111
105
89
108
103
84
104
99
79
99
94
72
91
85
61
82
76
52
80
74
48
72
62
37
81
63
41
107
80
61
127
88
71
132
78
66
136
69
61
147
68
63
177
87
86
184
84
84
187
81
81
192
80
79
192
78
77
193
77
77
194
76
74
194
76
74
205
85
84
197
73
71
192
62
62
195
61
58
205
67
64
209
70
65
205
66
59
199
62
52
202
68
57
202
68
57
204
70
61
208
69
62
214
69
66
219
66
68
223
64
69
224
63
69
223
67
70
223
67
68
223
67
68
223
69
69
224
69
67
224
70
68
225
70
68
225
70
68
224
69
65
225
67
64
224
66
63
224
65
62
226
64
61
226
64
61
226
64
61
224
66
63
213
68
63
200
67
60
186
62
54
172
58
48
160
57
48
148
58
47
138
60
48
130
60
48
128
65
50
126
64
51
126
62
52
127
60
51
131
58
51
134
57
49
136
56
49
137
57
48
135
59
46
133
60
45
132
59
44
132
59
44
131
59
45
130
58
44
130
58
44
130
58
44
127
57
45
127
57
45
127
57
45
127
57
45
126
58
47
126
58
47
126
58
47
126
58
47
125
57
48
125
57
48
125
57
48
125
57
48
125
57
48
125
57
48
124
57
48
124
57
48
124
57
48
122
58
48
122
58
48
121
57
47
121
57
47
121
57
47
119
57
46
119
57
46
119
56
47
119
56
47
116
56
46
115
55
45
114
54
44
114
54
44
112
54
43
112
54
43
107
49
38
113
55
44
109
52
41
108
51
40
111
54
43
108
51
40
112
55
44
126
72
62
132
82
73
133
83
76
136
81
74
139
80
74
144
81
76
148
80
77
149
81
78
148
83
79
138
79
71
133
83
72
128
91
75
123
101
80
115
105
80
104
107
76
102
113
81
103
120
84
94
116
77
88
110
71
80
102
63
76
97
58
75
95
58
75
92
58
71
86
55
67
80
52
60
70
45
56
64
41
54
59
39
55
58
41
60
61
47
63
64
50
62
62
50
59
61
48
52
58
48
51
59
48
53
59
49
54
60
48
58
60
47
60
63
46
62
65
44
62
68
42
81
91
57
94
109
68
107
129
82
112
140
82
112
147
83
113
153
82
115
157
83
115
158
86
120
159
94
124
162
101
120
158
97
107
145
84
96
134
73
93
131
70
93
131
70
92
130
69
96
134
73
97
135
74
99
137
76
101
139
78
100
138
77
98
136
75
96
134
73
94
132
73
93
127
76
82
116
66
73
107
57
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
110
98
84
113
100
84
111
95
80
109
93
80
109
95
82
113
101
89
111
103
92
108
100
89
104
98
86
102
98
87
112
108
96
123
120
105
126
123
106
127
121
105
122
117
98
112
105
86
101
96
74
84
84
60
70
70
46
67
62
40
77
66
46
83
64
47
85
56
40
93
55
42
108
61
51
110
55
48
117
57
49
126
59
53
135
64
58
146
73
66
155
80
74
165
88
80
171
91
82
185
94
89
183
84
78
181
72
69
186
67
63
198
68
66
206
71
67
210
68
64
207
64
58
208
65
59
209
66
60
211
68
62
213
70
64
215
70
67
219
69
70
222
68
70
222
68
70
222
68
68
222
68
68
222
68
68
221
69
68
223
69
69
222
70
69
223
69
67
223
69
67
222
68
66
222
68
66
221
68
63
220
67
62
221
66
61
221
66
61
221
66
61
220
67
62
214
69
64
206
69
63
195
66
60
179
62
53
162
58
49
148
56
45
136
57
44
131
59
45
130
64
50
127
64
49
126
62
50
127
61
49
131
58
49
134
57
49
135
56
49
136
58
48
135
59
46
132
59
44
132
59
44
132
59
44
130
58
44
130
58
44
128
58
46
128
58
46
127
57
45
127
57
45
126
58
47
126
58
47
126
58
47
126
58
47
126
58
47
126
58
47
125
57
48
125
57
48
125
57
48
125
57
48
124
57
48
123
56
47
123
56
47
123
56
47
123
59
49
123
59
49
122
58
48
121
59
48
120
58
47
120
58
47
120
58
47
120
58
47
116
56
46
116
56
46
115
55
45
115
55
45
114
54
44
113
53
43
111
53
42
111
53
42
106
49
38
111
54
43
109
52
41
107
50
39
108
54
42
105
51
39
109
55
43
125
71
61
135
80
73
135
80
73
139
80
74
142
81
76
145
82
77
146
83
78
148
85
80
145
86
80
140
87
79
135
91
80
126
94
79
116
98
78
111
105
81
111
114
85
108
119
89
102
119
85
81
101
66
75
95
58
69
89
54
68
85
51
69
86
54
71
86
57
71
84
56
69
82
56
63
73
48
60
68
45
57
62
42
55
59
42
58
60
46
60
62
48
59
61
47
57
59
46
54
60
50
53
61
50
54
60
50
54
60
48
58
60
47
60
62
48
61
64
45
61
67
41
77
87
53
90
105
64
102
124
77
108
136
78
110
145
81
113
153
82
117
159
85
116
159
87
122
161
96
119
157
96
110
148
87
99
137
76
92
130
69
92
130
69
92
130
69
90
128
67
95
133
72
97
135
74
98
136
75
100
138
77
99
137
76
97
135
74
95
133
72
93
131
72
91
125
74
80
113
66
70
103
56
105
96
81
105
96
81
105
96
81
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
106
97
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
110
98
84
114
100
87
111
97
84
109
95
82
107
95
83
107
97
87
108
99
90
108
101
91
106
102
93
106
102
93
120
116
105
136
132
120
145
141
129
149
143
129
146
140
126
137
130
114
125
122
103
96
99
78
79
84
62
68
71
50
70
69
49
72
67
48
70
61
44
76
60
44
86
67
52
80
57
43
82
54
42
86
52
42
89
53
41
92
54
43
97
57
47
101
61
49
109
61
49
136
76
66
157
83
74
173
86
79
181
79
75
188
70
68
196
66
66
208
68
67
216
70
70
212
64
62
213
65
63
214
66
62
216
68
64
217
69
67
219
69
68
219
69
68
221
69
68
222
68
68
221
69
68
221
69
68
221
69
68
221
69
68
221
69
68
221
69
66
220
71
67
219
70
66
218
69
65
217
68
62
217
68
62
218
67
60
218
67
60
219
68
61
217
68
62
214
67
60
211
70
63
201
70
62
186
65
56
167
59
49
152
56
44
140
57
43
133
60
45
131
64
48
127
64
49
126
63
48
127
61
47
131
58
49
132
58
47
135
57
47
136
58
46
132
58
45
132
59
44
132
59
44
131
58
43
130
58
44
130
58
44
127
57
45
127
57
45
127
57
45
127
57
45
126
58
47
126
58
47
126
58
47
126
58
47
126
58
47
126
58
47
125
57
48
124
57
48
125
57
48
123
56
47
123
56
47
123
56
47
123
56
47
120
56
46
123
59
49
121
59
48
121
59
48
121
59
48
120
58
47
120
58
47
120
58
47
118
58
47
115
55
45
115
55
45
115
55
45
114
54
44
113
53
43
111
53
42
111
53
42
109
52
41
106
49
38
111
54
43
108
51
40
104
50
38
107
53
41
104
50
38
108
54
42
124
70
60
138
79
71
140
79
74
141
80
75
143
82
77
144
83
78
145
86
80
144
87
80
140
90
81
137
93
82
133
97
85
121
95
80
105
90
71
100
95
73
100
104
79
92
102
75
78
93
64
69
85
56
65
81
52
61
77
48
60
75
46
63
77
51
67
81
55
70
82
58
71
83
59
66
76
52
62
71
50
58
65
47
57
61
44
57
61
46
57
61
46
56
60
45
55
59
45
55
61
51
54
61
53
54
59
52
54
60
50
58
60
49
59
61
47
60
63
44
60
65
42
74
83
52
86
101
62
98
120
73
106
134
76
110
145
81
115
155
84
119
161
87
120
162
90
123
162
97
114
152
91
101
139
78
92
130
69
90
128
67
92
130
69
92
130
69
90
128
67
95
133
72
96
134
73
97
135
74
98
136
75
97
135
74
96
134
73
94
132
71
93
131
74
90
124
74
78
111
64
69
102
55
104
97
81
104
97
81
104
97
81
105
98
82
105
98
82
106
99
83
106
99
83
106
99
83
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
114
102
88
116
104
92
115
103
91
109
99
89
106
97
88
108
101
93
115
110
104
122
119
112
129
126
119
144
141
134
160
157
148
168
165
156
171
167
156
168
164
153
163
157
145
153
150
135
122
123
107
99
102
83
79
82
63
71
74
55
69
72
53
66
69
50
66
69
50
69
72
53
75
76
60
74
72
57
71
68
53
68
62
48
65
57
44
65
55
43
64
54
42
70
52
40
85
53
42
113
66
56
142
79
72
160
79
75
175
73
71
191
71
73
204
69
73
211
66
69
213
64
66
215
65
66
216
66
65
217
67
66
218
69
65
218
69
65
218
69
65
218
69
65
221
69
68
221
68
70
221
68
70
219
69
70
219
69
68
219
69
68
219
69
68
217
69
67
218
70
66
217
69
65
214
70
62
213
69
61
213
69
61
213
69
61
213
69
61
214
70
62
212
65
58
211
67
59
206
69
61
193
66
57
174
62
51
158
57
45
145
59
46
138
60
47
132
63
48
129
63
47
128
62
46
128
61
45
129
59
47
132
58
45
134
58
45
135
59
46
132
58
45
131
59
45
130
58
44
130
58
44
130
58
44
129
57
43
127
57
45
127
57
45
126
58
47
126
58
47
126
58
47
126
58
47
125
58
49
125
58
49
125
58
49
125
58
49
124
57
49
122
58
49
124
57
49
121
57
48
121
57
48
120
56
47
120
56
47
118
55
46
121
58
49
121
58
49
120
57
48
118
58
48
118
58
48
117
57
47
117
57
47
116
58
47
114
55
47
113
54
46
113
54
46
112
53
45
111
52
44
110
51
43
110
51
43
109
52
43
106
49
40
109
55
45
106
52
42
104
50
40
106
52
42
102
50
39
106
54
43
125
68
59
141
78
71
143
78
72
144
81
74
144
84
76
144
85
79
142
87
80
138
89
82
131
91
81
123
89
77
118
92
79
107
90
74
93
85
66
89
88
68
89
94
72
79
89
65
63
75
51
58
72
47
55
69
46
52
66
43
53
65
43
56
68
46
61
73
51
67
76
55
69
78
57
66
75
54
63
72
53
60
69
50
58
65
47
56
63
47
55
62
46
53
60
44
52
58
44
53
60
52
53
60
53
54
59
53
54
59
52
57
59
48
58
60
47
59
62
45
59
64
41
71
80
49
82
97
58
96
118
71
105
133
75
111
146
82
117
157
86
121
163
89
121
163
91
120
159
96
110
145
87
96
131
73
90
125
67
91
126
68
94
129
71
94
129
71
93
128
70
96
131
73
97
132
74
98
133
75
98
133
75
97
132
74
96
131
73
95
130
72
94
129
73
87
124
73
76
112
66
66
102
56
104
97
81
104
97
81
104
97
81
105
98
82
105
98
82
106
99
83
106
99
83
106
99
83
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
107
97
85
110
100
90
112
102
92
108
99
90
107
100
92
114
109
103
132
129
124
145
144
140
167
163
160
181
177
174
196
193
188
201
198
193
201
196
190
197
192
186
192
185
177
185
178
168
164
156
143
136
130
114
102
99
84
80
81
63
70
73
56
62
69
51
59
68
49
58
70
50
56
69
51
56
69
51
56
67
50
58
66
51
60
66
52
64
67
56
67
69
58
71
69
57
64
52
40
83
56
47
104
61
54
129
68
65
163
79
79
192
87
91
204
81
86
202
67
73
211
71
74
214
70
70
216
70
70
218
70
68
219
70
66
219
70
66
220
68
63
220
68
65
221
69
68
221
68
70
219
69
70
219
69
70
218
68
67
218
68
67
218
68
67
217
69
67
217
69
65
215
70
65
214
69
64
212
69
61
211
68
60
210
69
60
211
70
61
212
69
61
212
63
56
213
64
57
208
67
58
198
67
57
182
65
55
165
61
48
150
61
47
140
61
46
134
62
47
130
63
47
129
62
46
128
61
45
129
60
45
131
59
45
132
58
45
133
59
46
130
58
44
130
58
44
130
58
44
130
58
44
129
57
43
127
58
43
127
57
45
126
56
44
126
58
47
126
58
47
126
58
47
126
58
47
125
58
49
125
58
49
125
58
49
125
58
49
122
58
49
122
58
49
121
57
48
121
57
48
120
56
47
118
55
46
118
55
46
116
56
46
119
56
47
117
57
47
117
57
47
115
57
46
116
56
46
115
57
46
114
56
45
114
56
45
113
54
46
113
54
46
112
53
45
111
52
44
110
51
43
109
52
43
108
51
42
106
52
42
104
50
40
108
54
44
105
51
41
102
50
39
104
52
41
101
49
38
105
53
42
123
66
57
142
77
71
146
77
72
145
80
74
143
84
76
141
86
79
135
88
78
129
89
79
124
92
81
115
92
78
107
91
76
96
87
70
86
83
66
80
83
66
74
81
63
64
73
54
52
64
44
51
60
43
50
59
42
48
57
40
48
57
40
50
59
42
53
62
45
57
66
49
60
69
52
63
72
55
63
72
53
62
71
52
58
70
50
58
67
50
53
64
47
51
62
45
49
60
44
51
58
51
51
57
53
52
57
53
52
57
50
56
57
49
57
59
46
59
62
45
59
64
42
67
76
47
79
94
55
93
115
68
105
132
77
112
147
83
119
159
89
121
163
89
119
161
89
113
152
89
102
137
79
90
125
67
88
123
65
92
127
69
93
128
70
93
128
70
94
129
71
96
131
73
96
131
73
96
131
73
96
131
73
96
131
73
95
130
72
94
129
71
93
128
74
85
121
73
74
110
64
65
101
57
104
97
81
104
97
81
104
97
81
105
98
82
105
98
82
106
99
83
106
99
83
106
99
83
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
98
86
106
96
86
106
97
88
107
100
90
107
103
94
117
112
106
136
133
128
159
158
154
176
176
174
195
194
192
211
210
208
226
225
223
231
230
228
231
227
224
227
222
218
222
214
211
217
206
200
206
188
178
184
165
151
151
135
122
121
109
93
95
89
73
75
76
58
64
69
49
59
68
47
62
74
54
61
72
55
61
70
53
59
67
52
59
62
53
58
59
51
57
56
51
58
55
48
63
60
51
69
59
50
81
53
49
99
55
52
137
71
72
177
92
95
199
96
100
202
87
90
205
81
83
209
79
79
213
78
75
216
77
74
219
74
71
221
72
68
224
69
65
223
68
66
222
68
68
221
68
70
221
68
70
220
67
69
220
67
69
219
66
68
219
67
66
217
67
66
218
68
67
216
68
64
213
68
63
212
69
63
211
68
60
210
69
60
211
70
61
212
69
61
217
64
58
217
64
58
209
66
58
200
67
58
188
67
58
172
64
52
153
59
47
140
57
43
137
61
47
131
62
46
129
62
45
128
61
44
129
60
44
131
59
44
131
59
44
132
60
45
130
58
44
130
58
44
130
58
44
129
57
43
127
57
45
127
57
45
126
56
46
125
57
46
126
58
47
126
58
47
125
58
49
125
58
49
125
58
49
125
58
49
125
58
49
125
58
49
122
58
49
121
58
49
120
57
48
120
57
48
119
56
47
116
56
46
115
55
45
114
56
45
116
56
46
115
57
46
114
56
45
113
56
45
114
56
45
112
55
44
112
55
44
112
55
44
111
54
45
111
54
45
110
53
44
110
53
44
109
52
43
108
51
42
107
50
41
105
51
41
103
49
39
107
55
44
104
52
41
101
49
38
104
52
41
98
48
37
102
52
41
122
65
56
144
77
71
146
77
72
145
80
74
142
85
76
136
88
78
129
89
79
120
90
79
114
92
78
107
94
78
94
87
71
82
80
65
75
78
61
67
74
58
57
66
49
50
58
43
48
56
41
49
55
43
49
55
45
48
54
44
47
53
43
47
53
41
48
56
43
50
58
43
52
60
45
57
68
52
59
70
53
61
72
55
60
73
55
59
70
53
54
67
49
51
64
44
49
62
45
46
56
48
48
54
50
49
54
50
50
55
49
55
56
50
57
59
48
58
60
46
58
63
41
63
72
43
75
89
53
91
113
67
104
131
76
113
147
86
119
158
91
119
161
89
115
156
86
103
141
80
94
129
73
85
120
64
87
122
66
91
126
70
91
126
70
91
126
70
93
128
72
95
130
74
95
130
74
95
130
74
95
130
74
94
129
73
94
129
73
93
128
72
93
128
74
85
118
73
74
107
64
64
96
55
104
97
81
104
97
81
104
97
81
105
98
82
105
98
82
106
99
83
106
99
83
106
99
83
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
105
98
82
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
99
84
108
98
86
112
103
94
110
103
95
108
103
97
116
113
106
135
132
127
161
160
156
188
188
186
206
208
207
207
207
207
224
224
224
242
242
242
250
248
249
251
247
246
247
243
240
241
236
233
240
226
223
232
208
198
221
193
181
193
171
157
162
145
129
125
117
98
94
92
71
75
77
55
67
72
50
65
73
50
65
73
52
64
71
53
66
68
55
65
65
55
66
61
57
67
57
55
65
57
54
59
58
53
66
61
55
71
53
49
76
45
43
102
54
54
145
81
82
181
102
105
199
109
109
192
92
92
199
90
87
206
87
83
211
84
78
216
78
75
222
74
72
225
70
68
226
68
67
221
68
70
219
69
70
219
69
70
220
67
69
220
67
69
219
66
68
219
67
66
219
67
66
220
68
67
217
67
66
215
67
63
212
67
62
212
67
62
211
68
60
210
69
60
213
69
61
221
66
61
219
65
57
210
66
58
202
68
59
191
69
58
176
65
54
156
58
45
139
53
38
138
60
47
133
61
46
130
61
45
128
61
44
129
60
44
129
60
44
131
60
42
132
60
45
130
58
44
130
58
44
130
58
44
127
58
43
127
57
45
126
56
44
125
57
46
125
57
46
126
58
47
126
58
47
125
58
49
125
58
49
125
58
49
125
58
49
125
58
49
123
59
49
121
58
49
119
59
49
120
57
48
117
57
47
116
56
46
115
57
46
114
56
45
113
55
44
114
56
45
113
56
45
112
55
44
110
56
44
112
55
44
109
55
43
111
54
43
111
54
43
111
54
45
111
54
45
110
53
44
109
52
43
108
51
42
106
52
42
105
51
41
104
52
41
102
50
39
107
55
44
104
52
41
99
49
38
101
51
40
98
48
37
101
51
40
120
66
56
142
77
71
146
79
73
142
82
74
138
85
77
131
88
79
122
90
79
113
91
77
104
92
76
90
84
68
73
74
58
63
67
52
62
68
54
57
65
50
48
56
43
47
55
42
54
60
50
52
55
48
53
56
49
53
55
50
52
55
48
50
53
46
48
54
44
48
56
45
49
57
44
54
65
51
58
69
53
61
74
57
62
75
57
60
73
55
55
70
51
50
65
44
49
62
45
44
54
46
46
52
48
48
53
49
49
54
48
54
55
49
56
58
47
58
60
46
58
63
43
60
69
42
73
87
52
89
111
65
103
130
77
112
146
86
118
157
92
117
158
88
112
153
85
96
134
73
88
123
67
83
118
62
87
122
66
91
126
70
89
124
68
89
124
68
92
127
71
95
130
74
95
130
74
94
129
73
94
129
73
94
129
73
93
128
72
93
128
72
93
127
76
83
116
73
72
104
65
63
93
55
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
106
99
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
108
100
87
105
98
90
103
100
93
118
115
110
147
146
142
175
175
173
196
198
197
218
220
219
234
238
239
243
244
246
246
247
249
252
252
254
255
255
255
255
255
253
255
251
250
252
247
244
253
242
236
247
225
212
242
216
199
224
202
181
198
182
159
170
160
135
136
132
105
98
98
70
69
72
45
68
72
47
67
71
48
70
69
49
71
68
53
70
60
51
67
54
48
70
52
50
73
57
57
65
60
57
66
61
58
70
56
55
75
54
53
101
69
70
147
105
106
198
147
146
233
172
169
211
140
136
199
119
112
191
96
90
195
86
81
210
82
79
219
77
76
225
71
73
225
69
72
220
70
71
220
74
75
217
68
70
210
60
62
215
62
64
225
72
74
225
71
73
216
62
64
218
64
64
218
64
64
217
65
64
215
66
62
215
66
62
212
64
60
209
64
59
211
64
57
222
67
62
219
65
57
211
64
57
202
65
57
190
66
56
176
64
53
159
58
46
144
56
42
140
61
48
135
62
47
131
62
46
129
62
45
128
61
44
127
60
43
129
61
42
129
60
44
127
58
43
127
57
45
127
57
45
126
56
44
126
56
46
124
56
45
124
56
45
124
56
45
124
57
48
124
57
48
124
57
48
124
57
48
122
58
49
122
58
49
122
58
49
122
58
49
121
61
53
119
60
52
119
59
51
117
58
50
116
57
49
113
56
47
112
55
46
112
55
46
111
54
45
109
55
45
109
55
45
108
56
45
109
55
45
108
56
45
109
55
45
109
55
45
105
50
43
109
54
47
112
57
50
111
56
49
107
52
45
103
50
42
103
50
42
104
51
43
101
48
40
105
55
46
100
50
41
93
45
35
96
48
38
95
47
37
98
50
40
115
62
54
140
79
74
143
80
75
136
81
74
129
82
74
125
89
77
118
95
81
102
89
73
84
78
62
68
69
53
62
69
53
58
67
50
53
64
48
52
60
47
51
59
48
52
58
48
52
58
48
54
56
51
55
56
51
54
54
52
52
54
49
51
53
48
49
54
47
47
54
46
46
54
43
46
57
43
50
61
45
54
67
50
58
71
54
58
73
54
56
71
52
52
67
46
49
63
46
42
52
43
44
50
46
45
50
46
46
51
45
52
53
47
55
57
46
58
60
47
58
63
43
54
62
38
68
82
49
87
108
67
104
130
82
115
148
93
119
158
95
114
155
87
107
148
82
91
126
68
88
121
68
84
117
64
84
117
64
87
120
67
90
123
70
91
124
71
90
123
70
94
127
74
98
131
78
98
131
78
94
127
74
92
125
72
95
128
75
96
129
76
94
126
77
83
113
75
70
100
66
61
88
55
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
108
100
89
103
100
93
111
110
106
134
133
131
164
164
162
193
195
194
214
218
219
234
238
239
247
251
252
247
251
254
248
252
255
252
253
255
254
254
254
255
255
253
255
254
250
255
252
249
255
250
243
255
240
224
251
235
212
237
223
197
215
205
178
192
187
157
164
163
132
130
131
99
103
106
75
76
81
51
71
74
47
69
67
46
71
66
47
72
62
50
73
58
51
76
57
53
75
60
57
66
56
55
71
62
63
81
69
69
96
80
80
124
104
103
166
140
139
207
178
174
232
197
191
255
213
207
234
177
168
201
131
123
188
99
93
199
87
85
213
83
83
219
74
77
216
67
69
213
71
70
210
70
69
215
73
72
219
75
75
218
70
70
212
62
63
214
61
63
221
67
69
217
63
63
217
63
63
218
64
64
218
64
64
217
65
62
214
65
61
212
64
60
212
63
57
220
65
60
219
64
59
211
64
57
203
66
58
191
67
59
177
65
54
160
59
49
146
56
45
140
61
48
135
62
47
131
62
46
129
62
45
128
61
44
127
60
43
129
60
44
129
60
44
127
58
43
127
57
45
127
57
45
126
56
44
125
57
46
124
56
45
124
56
45
124
56
45
124
57
48
124
57
48
124
57
48
124
57
48
122
58
49
123
59
50
123
59
50
122
59
50
119
60
52
117
60
51
117
58
50
115
58
49
114
57
48
110
56
46
111
54
45
109
55
45
109
55
45
108
56
45
108
56
45
108
56
45
108
56
45
106
56
45
108
56
45
108
56
45
107
54
46
110
55
48
111
56
49
110
57
49
108
55
47
105
52
44
103
50
42
101
51
42
99
49
40
100
52
42
95
47
37
94
46
36
98
50
40
94
46
36
96
48
38
112
62
53
129
74
69
135
82
76
135
88
82
126
88
79
114
86
75
100
82
68
81
74
58
62
63
47
58
65
49
54
65
48
53
64
48
51
62
48
52
60
49
52
60
49
53
59
49
55
58
51
55
57
52
55
55
53
55
55
53
53
55
50
52
54
49
49
54
47
47
54
46
47
55
44
46
57
43
49
60
46
52
65
48
56
69
52
57
72
53
56
71
52
52
69
50
52
66
49
46
56
47
46
53
46
46
51
45
45
50
43
50
51
43
52
54
43
56
58
45
57
61
44
55
63
40
68
81
51
87
108
69
104
130
85
116
149
96
119
157
98
112
152
89
103
143
80
89
124
68
87
120
67
84
117
64
84
117
64
86
119
66
89
122
69
89
122
69
89
122
69
91
124
71
95
128
75
95
128
75
92
125
72
91
124
71
94
127
74
94
127
74
94
123
77
82
109
74
70
95
66
59
84
55
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
107
98
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
110
101
86
110
101
86
108
102
90
101
100
95
121
123
120
151
153
152
178
182
183
205
209
210
228
233
236
244
249
252
250
255
255
251
255
255
252
255
255
253
254
255
254
254
254
255
254
252
255
255
251
255
255
250
255
255
244
254
252
231
250
249
221
239
240
209
225
229
196
210
216
180
188
196
159
160
168
131
135
145
108
96
103
69
81
88
55
68
71
44
68
67
46
74
68
52
76
68
55
75
65
56
73
62
58
68
58
57
84
74
75
107
95
95
130
118
118
157
146
144
192
178
175
219
206
200
234
220
211
248
228
217
255
240
229
255
224
214
234
167
159
190
101
97
177
67
68
198
72
75
219
86
89
216
88
85
207
79
76
202
70
66
204
69
66
210
70
69
214
70
70
216
68
68
217
67
68
214
61
63
216
62
64
217
63
63
217
63
63
217
65
64
214
64
63
213
65
61
213
64
58
217
64
58
217
64
58
210
66
58
203
69
60
192
68
60
178
66
55
161
60
50
147
57
46
142
60
48
137
61
48
131
62
47
129
62
46
127
61
45
126
60
44
128
61
45
128
61
45
127
57
45
127
57
45
126
58
47
125
57
46
125
57
46
124
56
45
123
56
47
123
56
47
125
58
49
125
58
49
123
59
50
123
59
50
123
59
50
123
59
50
122
59
52
120
60
52
116
59
50
113
59
49
114
57
48
111
57
47
110
56
46
108
56
45
108
54
44
107
55
44
108
56
45
106
56
45
106
56
45
106
56
45
106
56
45
105
57
45
106
56
45
106
56
45
110
57
49
109
56
48
109
56
48
109
56
48
109
56
48
105
55
46
102
52
43
99
49
40
100
50
41
97
49
39
93
45
35
95
48
38
99
52
42
92
45
35
95
48
38
115
68
60
125
80
74
129
86
80
126
89
81
112
84
73
94
74
63
79
67
55
63
60
45
52
54
40
50
59
42
48
59
43
49
60
46
50
61
47
52
60
49
52
60
49
53
59
49
55
58
51
55
57
52
55
57
54
54
56
51
53
55
50
53
55
50
50
55
48
48
55
47
48
56
45
46
57
43
48
59
45
50
63
46
54
67
50
55
69
52
56
71
52
56
71
52
57
70
53
52
62
51
51
58
50
47
52
45
44
50
40
47
48
40
49
51
40
53
55
42
54
58
41
54
62
39
68
81
53
89
109
74
107
132
90
119
151
102
119
156
102
108
147
90
95
135
75
87
120
67
87
117
67
84
114
64
84
114
64
86
116
66
88
118
68
89
119
69
89
119
69
90
120
70
93
123
73
95
125
75
93
123
73
93
123
73
95
125
75
94
124
74
90
119
75
78
101
72
65
87
64
54
76
53
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
105
99
83
106
99
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
110
101
86
110
101
86
110
101
86
110
101
86
109
103
91
106
107
102
131
135
136
163
167
168
185
190
193
208
213
216
229
237
239
243
251
253
245
253
255
251
255
255
251
255
255
252
255
255
252
254
251
253
254
249
254
253
248
255
254
247
255
255
243
248
253
230
244
253
222
238
247
216
230
242
206
221
233
195
206
218
180
182
193
153
161
171
134
128
135
101
102
109
76
77
81
54
70
72
48
72
74
53
75
73
58
72
68
57
68
64
55
80
70
68
106
96
95
139
129
128
164
154
153
183
175
172
203
198
194
223
218
212
234
230
221
247
238
229
255
249
239
255
246
235
255
215
207
245
178
172
227
141
140
200
100
100
176
68
66
194
83
76
200
85
78
199
82
73
195
72
65
199
72
66
211
77
74
213
74
71
207
63
62
210
62
62
212
62
63
213
63
62
216
64
63
214
64
63
214
64
63
213
65
61
213
65
61
214
62
57
213
64
58
210
67
61
204
69
63
192
69
62
178
65
57
162
61
53
149
59
50
142
60
49
137
61
48
131
62
47
129
62
46
127
61
47
126
60
44
128
61
45
128
61
45
127
57
45
127
57
45
126
58
47
125
57
46
125
57
46
124
56
45
123
56
47
123
56
47
126
59
50
126
59
50
124
60
51
123
59
50
123
59
50
123
59
50
122
59
52
120
60
52
114
57
48
111
57
47
111
57
47
109
57
46
108
56
45
107
55
44
106
54
43
104
54
43
105
55
44
105
55
44
105
55
44
104
56
44
104
56
44
104
56
44
104
56
44
104
56
44
109
59
50
108
55
47
106
53
45
105
55
46
106
56
47
106
56
47
102
52
43
97
49
39
101
53
43
97
50
40
93
46
36
97
50
40
98
51
41
89
42
32
97
50
40
121
78
69
129
92
86
118
87
82
105
78
71
87
67
58
73
60
51
64
58
46
58
59
45
56
60
46
48
56
41
47
58
42
51
59
46
52
60
47
53
61
50
53
59
49
54
57
48
54
57
48
55
57
52
54
56
51
54
56
51
52
57
50
51
56
49
51
57
47
49
57
46
49
57
46
46
57
43
47
58
44
48
61
44
50
63
46
53
66
49
55
69
52
59
72
54
60
73
56
57
67
56
55
63
52
50
56
46
45
51
39
46
48
37
47
49
36
50
52
38
52
56
39
52
60
39
69
82
56
93
112
80
114
139
100
123
154
110
119
156
105
102
141
88
85
124
69
83
115
65
84
114
64
83
113
63
83
113
63
84
114
64
85
115
65
86
116
66
86
116
66
87
117
67
91
121
71
93
123
73
92
122
72
94
124
74
95
125
75
92
122
72
87
114
73
73
93
68
61
78
60
49
66
48
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
105
99
83
106
99
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
110
101
86
110
101
86
111
102
87
111
102
87
110
103
93
113
113
111
135
140
143
164
169
172
183
191
194
205
213
216
227
237
239
242
252
254
244
254
255
248
255
255
250
255
255
251
255
252
253
255
250
252
253
245
250
252
241
249
249
237
246
248
234
246
255
232
243
255
228
240
253
225
238
249
217
233
244
210
222
232
197
202
210
173
182
190
153
157
163
129
125
130
98
89
93
66
71
76
53
70
75
55
70
74
57
67
71
57
65
67
56
98
95
88
133
125
122
170
162
159
192
184
181
203
195
193
213
208
205
230
225
221
241
238
233
249
246
239
250
243
233
251
237
226
255
236
227
255
242
234
255
224
219
233
165
162
182
105
99
164
76
64
178
82
68
192
90
78
199
92
82
197
83
73
190
69
61
193
64
59
202
67
64
203
64
61
206
64
62
209
63
63
210
64
64
211
66
63
211
66
63
211
66
63
211
66
61
211
63
59
210
65
60
208
69
64
201
69
64
189
67
62
175
64
57
160
62
53
149
61
51
142
60
49
137
60
50
131
61
49
129
61
48
127
61
49
126
60
46
127
61
47
127
61
47
126
58
47
126
58
47
126
58
47
125
57
46
124
57
48
123
56
47
123
56
47
123
56
47
124
60
51
124
60
51
124
60
51
123
59
50
122
59
52
121
58
51
121
58
51
119
59
51
110
55
48
109
56
48
108
55
47
108
55
47
107
54
46
104
54
45
104
54
45
104
54
45
105
55
46
104
56
46
104
56
46
103
56
46
103
56
46
103
56
46
103
56
46
104
56
46
107
57
50
104
54
47
102
52
45
103
53
46
105
55
48
104
55
48
101
52
45
98
49
42
99
50
43
98
51
43
95
48
40
93
49
40
93
49
40
86
42
33
98
54
45
123
85
76
116
89
82
97
78
72
78
63
56
65
55
46
61
54
44
59
57
45
57
59
46
57
60
49
51
57
45
51
59
46
53
59
47
54
60
48
54
60
48
55
58
47
53
56
45
52
55
46
54
57
48
52
57
50
51
56
49
51
57
47
51
57
47
50
58
47
49
57
46
49
57
44
46
57
43
46
57
43
47
58
44
48
59
45
51
62
46
54
67
50
58
69
53
60
71
55
61
69
56
58
66
53
53
59
47
48
54
40
48
50
37
47
49
36
49
51
37
49
53
36
50
58
37
71
83
59
98
117
87
119
143
107
124
155
114
113
149
103
92
130
81
74
112
61
79
111
62
81
110
62
81
110
62
81
110
62
81
110
62
81
110
62
83
112
64
83
112
64
87
116
68
91
120
72
93
122
74
93
122
74
95
124
76
95
124
76
90
119
71
82
108
69
65
82
63
54
67
57
43
56
46
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
105
99
83
106
99
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
110
101
86
110
101
86
111
102
87
112
103
88
112
103
88
110
103
93
108
110
109
122
130
133
147
154
160
171
181
183
196
206
208
220
230
232
237
247
249
244
254
255
245
254
253
246
255
252
250
255
250
251
255
249
251
254
243
248
250
237
245
246
232
241
244
227
244
253
234
244
253
232
244
252
229
243
249
223
242
246
219
233
236
205
216
215
185
197
196
165
177
176
146
143
142
114
101
103
79
77
80
59
71
75
58
70
77
61
71
79
66
74
82
71
122
123
115
158
155
148
195
190
184
215
207
204
222
212
211
230
220
219
243
235
233
252
247
244
243
240
235
254
251
244
255
255
246
255
251
241
255
243
234
255
237
229
255
226
218
255
210
199
212
143
127
181
100
81
162
75
58
178
85
70
190
88
74
182
71
60
182
63
55
199
74
68
199
67
62
202
67
63
205
66
63
208
66
64
208
66
62
208
66
62
208
66
62
208
65
61
210
65
60
210
67
63
206
68
65
197
68
63
184
65
61
170
61
56
158
59
53
149
60
52
142
59
51
137
60
50
131
61
51
129
61
50
127
61
49
126
60
48
127
61
49
127
61
47
126
58
47
126
58
47
126
58
47
125
57
46
124
57
48
123
56
47
123
56
47
123
56
47
124
60
51
123
59
50
123
59
50
122
58
49
121
58
51
120
57
50
119
56
49
117
57
49
110
55
48
108
55
47
108
55
47
106
56
47
105
55
46
105
55
46
104
54
45
103
55
45
103
55
45
103
55
45
102
55
45
102
55
45
102
55
45
102
55
45
102
55
45
102
55
45
104
55
48
104
54
47
103
53
46
103
53
46
103
54
47
104
55
48
103
54
47
102
53
46
97
50
42
101
54
46
94
50
41
92
48
39
96
52
43
97
53
44
105
61
52
117
83
74
88
71
64
69
62
54
60
53
47
57
53
44
59
56
47
56
58
47
53
55
44
51
54
43
54
57
46
53
59
47
55
58
47
54
57
46
54
57
46
53
56
45
53
55
44
51
54
43
50
56
44
49
57
44
50
56
46
49
57
44
49
57
46
49
57
44
49
57
44
49
57
44
46
57
43
46
57
43
46
57
43
47
58
44
48
59
43
51
62
46
54
65
49
55
66
50
60
68
53
58
67
50
56
63
47
53
59
45
52
54
41
50
52
39
49
51
37
48
52
37
48
55
37
72
84
62
101
120
92
117
141
109
116
146
108
102
137
95
82
119
75
66
104
57
75
107
60
78
107
59
80
109
61
80
109
61
78
107
59
78
107
59
79
108
60
81
110
62
86
115
67
90
119
71
93
122
74
94
123
75
95
124
76
95
124
76
86
115
67
78
102
66
59
73
56
48
59
51
38
47
42
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
105
99
83
106
99
83
107
98
83
107
98
83
108
99
84
108
99
84
109
100
85
109
100
85
109
100
85
109
100
85
109
100
85
110
101
86
110
101
86
111
102
87
112
103
88
113
104
89
111
104
94
104
105
107
109
116
122
133
140
148
163
172
177
191
200
205
211
222
226
229
240
242
240
252
252
242
252
251
245
254
249
248
255
247
250
255
246
252
255
242
250
253
236
248
249
231
246
247
231
246
246
234
247
247
235
250
247
232
252
246
230
253
245
226
247
236
214
231
216
195
213
198
175
192
177
154
158
147
125
117
110
91
90
87
70
80
81
67
83
86
75
91
98
90
99
109
100
146
154
141
176
179
168
210
207
198
230
223
217
242
228
227
249
235
235
255
241
244
255
248
249
255
253
251
255
251
248
249
248
243
247
247
237
251
249
237
255
252
240
255
253
241
255
249
234
255
224
203
234
168
144
183
111
89
168
87
68
174
85
69
183
82
70
185
77
65
191
74
65
195
71
63
198
69
63
202
69
64
203
68
64
205
68
62
204
67
61
203
66
60
204
65
60
209
67
63
208
69
64
204
69
65
194
67
61
179
61
57
166
59
53
156
59
53
149
60
54
140
60
51
135
61
52
133
60
53
129
61
52
127
60
51
126
60
48
127
61
49
127
61
49
126
58
47
126
58
47
126
58
47
125
57
46
124
57
48
123
56
47
123
56
47
123
56
47
123
59
50
123
59
50
121
58
51
120
57
50
119
56
49
118
55
48
118
55
48
115
55
47
110
55
48
106
56
47
106
56
47
106
56
47
106
56
47
104
56
46
104
56
46
104
56
46
103
55
45
102
55
45
102
55
45
102
55
45
100
56
45
100
56
45
100
56
45
102
55
45
103
54
47
104
55
48
105
56
49
105
56
49
104
55
48
105
56
49
106
59
51
108
61
53
103
56
48
107
60
52
98
54
45
97
53
44
111
67
58
120
76
67
116
73
64
110
77
68
67
57
48
53
54
46
52
53
47
56
57
49
56
59
50
52
55
46
49
52
43
50
53
44
53
56
45
53
56
45
53
55
44
52
54
43
52
54
43
52
54
43
52
54
41
51
55
41
47
55
40
46
57
41
48
56
43
46
57
41
46
57
43
46
57
41
48
56
41
48
56
41
49
57
42
48
56
41
48
56
43
47
55
42
48
56
43
49
57
44
51
59
46
52
60
45
57
66
49
58
67
48
59
66
48
58
65
49
58
60
46
54
56
42
50
52
38
47
51
36
50
57
39
73
85
63
99
117
91
109
132
103
102
132
98
87
121
84
73
110
69
63
100
56
72
103
59
76
105
59
78
107
61
78
107
61
76
105
59
76
105
59
77
106
60
79
108
62
85
114
68
89
118
72
91
120
74
93
122
76
94
123
77
92
121
75
81
110
64
71
95
59
54
66
52
43
52
47
34
40
38
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
103
100
83
105
99
83
106
99
83
106
99
83
106
98
85
108
98
86
108
98
86
109
99
87
109
100
85
109
100
85
109
100
85
108
101
85
109
102
86
110
103
87
111
103
90
110
104
92
111
104
94
109
106
101
107
111
114
109
116
122
131
138
144
165
174
179
195
204
209
213
223
225
230
238
241
244
252
254
244
253
250
247
253
249
249
254
247
250
255
244
252
255
242
252
255
241
252
255
238
253
254
240
251
248
239
254
250
241
255
249
239
255
250
237
255
249
233
255
242
223
239
224
203
221
206
183
193
178
155
162
151
129
124
117
98
98
95
78
88
90
76
93
99
87
109
119
110
124
134
125
165
173
162
187
193
181
215
215
207
235
230
226
250
238
238
255
244
244
255
245
247
254
244
245
253
247
247
250
249
247
250
252
247
251
255
249
250
253
244
244
247
238
247
249
238
255
252
239
255
242
225
255
242
224
250
201
184
188
129
113
157
85
71
171
85
72
183
85
74
177
69
59
192
74
64
198
71
64
201
70
62
202
69
62
202
67
61
201
66
60
199
66
59
200
65
59
207
70
62
205
71
62
199
71
62
188
67
59
173
62
53
159
58
50
149
59
51
145
62
54
138
61
53
132
62
52
130
62
53
129
61
52
127
60
51
126
60
48
128
60
49
128
60
49
126
58
47
126
58
47
126
58
49
125
57
48
124
57
48
123
56
47
123
56
47
123
56
47
122
58
49
122
58
49
120
57
50
119
56
49
118
55
48
117
54
47
117
54
47
113
54
46
109
56
48
107
57
48
106
56
47
106
56
47
105
57
47
105
57
47
105
57
47
104
56
46
103
55
45
102
55
45
103
55
45
102
55
45
102
55
45
102
55
45
102
55
45
102
55
45
102
53
46
106
56
49
109
59
52
107
58
51
106
57
50
106
58
48
109
62
52
111
67
56
108
64
53
111
68
59
100
60
50
99
61
50
122
86
74
134
100
90
121
87
77
98
76
65
62
58
49
51
56
49
52
57
50
55
60
53
52
58
48
47
53
43
50
53
44
57
60
51
51
54
43
50
53
42
50
52
41
48
51
40
49
51
40
50
53
42
52
54
43
52
55
44
46
54
41
44
55
41
47
55
42
45
56
42
47
55
42
47
55
42
47
55
42
47
55
42
49
57
44
48
56
43
48
56
45
47
55
44
47
55
44
47
55
44
48
56
45
48
56
43
55
63
48
57
66
49
60
69
52
61
68
52
59
65
51
56
60
46
50
54
39
45
52
36
50
59
42
74
86
66
99
114
91
104
124
97
93
118
88
79
109
75
70
102
65
65
97
58
72
100
59
75
104
60
78
107
63
78
107
63
75
104
60
74
103
57
76
105
61
78
107
61
84
113
69
87
116
72
90
119
75
91
120
76
93
122
78
90
118
77
78
106
65
67
91
59
50
62
52
41
47
47
31
37
37
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
100
86
106
100
86
106
100
88
108
100
89
108
99
90
109
101
90
109
101
88
109
102
86
103
96
78
106
101
82
110
107
88
111
108
93
104
101
92
102
101
97
115
113
114
129
130
134
137
142
146
149
157
160
170
178
181
194
199
202
215
220
223
233
237
238
245
246
248
248
250
249
252
254
253
254
254
252
255
255
250
253
254
246
250
253
242
249
252
241
250
253
242
251
254
243
249
250
242
250
250
242
249
249
237
252
250
235
254
252
231
249
247
222
233
229
202
213
212
182
186
185
155
152
152
124
113
116
89
95
100
77
98
107
88
114
125
108
132
144
130
145
155
144
180
185
178
202
204
199
226
227
222
240
239
235
247
243
242
251
247
246
253
249
248
252
248
247
255
254
252
254
254
252
254
254
252
253
255
250
254
255
250
254
255
250
254
255
250
254
255
250
251
253
248
255
253
248
255
251
246
255
229
223
215
166
159
163
96
88
155
68
61
178
75
66
193
79
69
195
71
61
198
67
57
201
68
59
205
72
63
206
73
64
203
72
64
202
71
61
198
71
56
195
72
56
190
73
56
181
71
56
166
69
53
154
66
52
144
66
53
139
67
53
133
67
53
129
67
54
127
65
52
127
63
51
128
62
50
128
60
49
129
59
49
129
59
49
127
57
49
126
58
49
124
57
49
123
56
48
122
55
47
122
55
47
119
55
46
118
54
45
119
55
46
119
55
46
119
56
47
119
56
47
118
55
46
117
54
45
113
53
43
110
51
43
108
55
47
105
56
49
105
56
49
104
55
48
104
55
48
103
54
47
103
54
47
103
54
47
102
53
46
103
54
47
105
55
48
105
56
49
104
55
48
103
54
47
101
52
45
101
51
44
104
51
45
106
53
47
109
56
48
107
57
48
106
58
48
105
59
46
105
61
48
107
65
51
103
66
50
106
73
58
100
72
58
118
95
79
126
107
92
138
120
106
140
127
111
82
74
61
55
57
46
52
58
48
52
58
48
51
57
47
51
57
47
51
57
47
50
56
46
50
56
46
49
55
45
49
55
45
51
54
45
48
54
44
50
53
44
47
53
43
49
52
43
47
53
43
47
52
45
46
53
45
47
52
45
46
53
45
47
52
45
47
52
45
47
52
45
47
52
45
48
53
46
47
52
45
47
52
45
46
51
44
46
51
44
47
52
45
47
52
45
47
54
46
49
59
50
51
61
50
54
64
53
56
66
55
57
68
54
55
66
52
53
64
48
51
62
45
52
63
46
68
81
61
87
101
78
91
107
81
80
98
72
69
88
60
64
84
56
66
87
54
73
99
62
75
101
62
75
102
61
75
102
61
74
101
60
74
101
58
76
103
62
79
106
63
85
112
71
89
116
75
92
118
79
93
119
80
93
119
82
87
113
78
72
98
63
59
79
54
37
48
42
38
43
46
36
41
44
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
99
89
107
100
90
108
99
92
109
100
91
109
101
90
109
102
86
105
100
81
106
104
83
109
106
87
106
107
91
103
103
95
108
108
108
126
127
132
144
147
154
167
174
180
183
193
195
208
213
216
225
230
233
241
242
244
250
251
253
255
254
255
255
254
255
254
253
251
255
254
250
255
255
250
254
255
249
251
252
244
248
251
242
246
252
242
247
253
243
247
250
241
248
250
239
248
250
237
247
250
233
249
251
229
242
245
218
223
226
195
204
208
175
180
184
151
145
150
118
107
113
85
89
97
73
95
107
85
116
129
111
140
152
138
157
167
156
191
193
188
211
211
209
231
231
229
243
243
241
247
247
245
251
251
249
252
252
250
251
251
249
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
251
255
254
241
255
255
237
251
252
247
249
248
255
248
247
255
233
230
239
190
185
196
128
119
164
80
70
176
78
65
186
76
63
193
75
63
196
74
61
194
68
56
188
61
52
190
63
54
196
70
58
196
70
55
195
74
55
191
76
58
180
73
55
166
70
54
153
67
50
144
68
54
138
71
55
130
68
55
127
67
56
126
66
55
124
64
53
126
62
52
127
60
51
128
60
49
128
60
51
125
58
50
125
58
50
122
58
49
122
58
49
121
57
48
120
56
47
118
55
46
118
55
46
117
54
45
118
55
46
116
56
46
116
56
46
116
56
46
114
54
44
111
53
42
109
52
43
108
55
47
105
56
49
106
56
49
104
55
48
105
55
48
104
55
48
103
54
47
103
54
47
101
51
44
101
51
44
103
53
46
104
54
47
106
56
49
106
56
49
106
56
49
107
57
50
107
54
48
108
55
49
107
57
48
107
59
49
107
59
47
106
62
49
106
64
48
105
68
50
103
72
54
107
80
61
103
82
65
117
102
83
129
117
101
140
133
115
134
131
114
75
76
60
54
57
46
51
57
47
51
57
47
51
57
47
50
56
46
50
56
46
50
56
46
49
55
45
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
48
53
47
47
52
46
46
51
45
46
51
45
46
51
45
46
51
45
47
52
46
47
54
47
46
56
48
47
58
50
49
61
51
52
64
54
54
66
54
54
66
54
54
66
52
53
66
49
54
67
49
67
80
62
80
93
73
82
96
73
73
87
64
65
79
54
66
80
55
69
85
58
74
98
64
74
100
63
75
101
64
75
101
62
73
99
60
72
99
58
73
100
59
74
101
60
83
110
69
88
114
75
92
118
81
93
119
84
91
116
84
84
109
79
67
92
62
54
73
53
38
49
45
39
44
48
37
42
46
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
99
89
107
100
90
108
99
92
109
100
91
109
101
90
109
102
86
109
104
85
107
105
84
109
106
87
106
107
91
107
107
99
119
119
119
145
146
151
167
172
178
190
197
203
209
219
221
235
240
243
246
251
254
253
254
255
254
255
255
255
254
255
255
253
254
254
253
251
255
254
250
255
255
250
253
254
248
250
251
243
245
248
239
241
247
235
241
247
235
244
247
236
245
249
235
246
248
234
245
248
229
245
247
225
238
238
212
219
219
191
201
202
171
176
177
146
147
150
121
117
121
96
107
112
90
116
123
105
136
144
129
159
167
156
174
181
173
205
207
202
222
222
220
239
239
237
248
248
246
251
251
249
254
254
252
254
254
252
253
253
251
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
253
255
254
245
250
253
251
255
255
254
254
254
255
248
246
255
250
244
255
245
235
248
204
193
215
157
143
147
75
60
164
81
65
168
75
58
167
64
49
183
71
59
207
89
77
206
84
73
189
63
51
196
68
55
198
72
58
195
75
61
185
73
59
170
66
55
157
63
51
149
65
55
144
70
59
134
66
57
129
66
57
126
66
56
123
65
54
122
64
53
122
62
52
122
62
52
122
62
52
120
60
52
120
60
52
119
59
51
119
59
51
117
58
50
116
57
49
116
57
49
116
57
49
114
57
48
114
57
48
114
57
48
114
57
48
111
57
47
110
56
46
108
54
44
107
53
43
108
55
47
106
56
49
108
55
49
106
56
49
107
54
48
105
55
48
105
55
48
104
54
47
103
53
46
103
53
46
102
53
46
103
54
47
104
55
48
105
56
49
107
58
51
107
58
51
108
59
52
106
59
51
105
58
48
104
60
49
107
63
50
106
67
52
105
68
50
102
69
50
102
73
55
108
86
65
106
89
71
117
106
86
134
127
109
145
142
123
128
127
109
69
70
54
53
56
45
50
56
46
50
56
46
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
47
52
46
46
51
45
45
50
44
45
50
44
46
51
45
47
52
46
46
53
46
43
53
45
43
54
46
45
57
47
47
59
49
50
62
50
52
64
52
54
66
52
55
68
51
56
69
51
63
76
58
69
82
62
67
81
58
59
73
50
56
70
45
62
76
51
68
84
57
74
95
64
74
98
64
76
100
66
75
99
63
73
97
61
71
96
57
70
95
56
71
96
57
82
107
68
88
112
76
93
117
83
94
118
86
90
113
84
80
103
75
61
84
56
46
65
46
38
49
45
39
44
48
37
42
46
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
99
89
107
100
90
108
99
92
109
100
91
109
101
90
109
102
86
110
105
86
108
106
85
108
107
87
108
109
93
112
113
105
128
130
129
158
161
166
185
190
196
195
202
208
218
228
230
244
249
252
250
255
255
251
252
254
251
252
254
253
251
252
251
250
248
255
254
252
255
255
251
255
254
249
251
252
244
245
246
238
238
241
230
233
239
227
231
237
223
237
241
226
240
244
229
241
244
227
241
244
223
242
241
220
234
234
208
216
216
188
199
199
171
178
177
149
161
161
137
145
147
125
144
147
128
156
158
145
170
173
162
182
187
180
192
197
191
220
220
218
233
233
231
246
246
244
251
251
249
253
253
251
255
255
253
255
255
253
253
253
251
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
254
251
251
253
255
254
255
255
254
255
245
240
237
246
237
230
255
249
240
255
250
236
255
238
222
232
191
173
183
127
110
148
79
63
163
80
64
185
89
75
184
78
64
180
68
56
190
69
58
193
65
54
198
70
59
197
73
63
188
71
61
173
64
57
161
60
52
152
62
54
149
66
60
139
64
59
133
66
60
128
65
58
124
65
59
121
64
57
119
64
57
117
64
56
118
63
56
118
61
52
118
61
52
118
61
52
117
60
51
115
61
51
114
60
50
114
60
50
113
59
49
111
59
48
111
59
48
111
59
48
110
58
47
107
57
46
106
56
45
106
56
45
105
55
46
109
56
50
110
55
50
109
54
49
108
55
49
108
55
49
107
54
48
105
55
48
105
55
48
108
58
51
106
57
50
104
55
48
102
55
47
102
55
47
102
55
47
104
57
49
102
58
49
106
63
54
102
62
52
101
61
49
102
62
50
104
67
51
105
69
53
102
71
51
99
71
50
99
74
54
104
86
64
105
92
73
115
107
86
133
130
111
143
142
122
112
113
95
57
61
44
52
55
44
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
48
54
44
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
45
50
44
45
50
44
45
50
44
45
50
44
46
51
45
45
52
45
42
52
44
41
52
44
42
54
44
43
55
45
46
58
46
49
61
49
52
64
50
53
65
51
54
67
50
58
71
53
60
73
55
56
69
49
50
63
43
50
64
41
56
70
47
62
78
52
68
88
60
69
93
61
75
96
65
74
98
64
75
96
63
71
95
59
72
94
58
70
94
58
83
105
69
88
112
78
96
117
86
94
117
88
90
110
83
76
99
73
57
77
52
41
58
40
38
47
44
37
42
46
35
40
44
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
99
89
107
100
90
108
99
92
109
100
91
109
101
90
109
102
86
108
103
84
107
105
84
110
109
89
111
112
96
116
117
109
133
135
134
164
167
172
191
196
202
205
212
218
229
239
241
251
255
255
251
255
255
250
251
253
252
253
255
255
253
254
253
252
250
255
255
253
255
255
251
254
253
248
247
248
240
239
240
232
231
234
223
224
230
218
222
229
213
231
235
218
234
239
219
237
240
219
236
240
217
238
238
214
232
232
208
218
216
191
204
202
177
194
189
167
183
181
160
177
174
157
182
180
167
193
190
181
201
200
195
210
211
206
217
217
215
232
232
230
242
242
240
250
250
248
252
252
250
253
253
251
255
255
253
255
255
253
252
252
250
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
255
254
252
255
251
254
255
247
250
250
246
245
248
247
243
252
255
248
254
255
248
254
255
244
253
252
234
255
254
236
245
220
200
196
155
137
157
98
80
151
75
59
165
76
60
180
80
64
186
74
60
189
65
55
196
68
59
195
71
63
188
69
61
176
63
59
166
58
55
157
59
56
152
63
59
143
62
59
137
63
60
130
65
61
124
65
61
119
66
60
115
66
59
114
67
59
115
66
59
113
63
54
115
62
54
115
62
54
114
61
53
114
61
53
114
61
53
112
62
53
111
61
52
110
62
52
109
61
51
108
60
50
107
59
49
106
59
49
105
58
48
105
58
48
106
58
48
110
55
50
112
54
50
112
54
50
109
54
49
109
54
49
108
55
49
105
55
48
105
55
48
108
59
52
107
58
51
104
57
49
101
57
48
101
57
48
101
57
48
101
58
49
100
60
50
102
66
54
99
65
53
99
67
52
100
68
53
100
71
53
100
73
54
98
73
51
95
73
50
94
76
54
101
86
63
106
98
77
114
109
87
132
131
111
132
135
114
91
96
76
51
58
40
50
56
44
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
48
54
44
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
46
51
45
45
50
44
45
50
44
44
49
43
44
49
43
44
49
43
44
49
43
45
50
44
44
51
44
44
54
46
43
53
45
42
52
43
42
52
43
43
53
44
46
56
45
48
59
45
50
61
47
50
61
45
53
64
47
54
65
48
53
65
45
49
61
41
49
61
41
53
65
45
56
70
47
61
79
53
64
84
56
70
89
61
72
92
64
74
93
63
73
94
61
75
94
62
75
96
63
84
103
71
91
112
81
99
118
90
97
117
90
89
107
83
74
93
71
54
71
52
38
52
37
36
45
42
36
41
44
34
39
42
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
99
89
107
100
90
108
99
92
109
100
91
109
101
90
108
102
86
106
103
84
107
106
85
108
110
89
111
114
97
115
118
109
129
133
132
159
164
168
184
191
199
213
222
227
236
246
248
251
255
255
251
255
255
250
251
255
253
254
255
255
254
255
253
252
250
255
255
251
255
255
250
252
252
244
243
245
234
235
237
226
227
231
217
221
227
213
220
227
209
228
233
211
231
236
213
233
237
214
234
236
212
235
235
211
232
230
207
223
218
196
211
206
184
211
206
186
204
198
182
203
195
184
208
201
193
215
210
206
224
219
216
234
230
229
240
239
237
243
242
240
249
249
247
253
253
251
253
253
251
253
253
251
255
255
253
254
254
252
252
252
250
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
255
253
252
255
252
253
255
246
247
253
249
248
254
255
253
249
255
253
246
255
250
237
255
243
240
254
239
235
242
226
255
255
237
255
236
217
204
166
147
163
106
87
161
90
70
170
87
69
173
76
59
182
70
58
188
70
60
189
70
62
185
70
63
178
66
62
169
61
58
161
59
57
153
59
57
149
61
60
142
62
61
133
63
61
125
64
59
120
65
60
115
66
59
112
68
59
112
68
59
112
63
56
113
63
54
113
63
54
113
63
54
113
63
54
112
62
53
111
63
53
111
63
53
111
64
54
110
63
53
109
62
52
107
60
50
104
60
49
104
60
49
104
60
49
108
60
50
111
56
51
113
54
50
112
54
50
112
54
50
109
54
49
108
55
49
106
56
49
105
56
49
104
55
48
103
56
48
101
57
48
101
58
49
100
60
50
101
63
52
102
64
53
100
66
54
94
66
52
97
71
56
99
76
58
100
77
59
99
77
56
96
75
54
93
75
51
93
77
52
93
81
57
98
88
63
109
104
82
115
115
91
128
131
110
118
123
101
70
79
58
52
61
42
51
57
45
50
56
46
50
56
46
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
44
49
43
43
48
42
43
48
42
43
48
42
43
48
42
44
49
43
44
51
44
46
53
46
44
54
46
42
52
43
42
52
43
42
52
43
43
53
44
45
55
44
46
57
43
45
56
42
48
59
43
52
63
47
53
64
47
52
63
46
51
63
43
51
62
45
51
64
44
55
70
47
57
75
51
64
79
56
66
84
58
71
87
60
72
91
63
77
93
66
77
96
68
85
101
74
92
111
83
100
116
90
96
114
90
88
103
82
71
88
69
52
66
49
36
50
37
36
45
42
36
41
44
34
39
42
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
100
86
106
100
86
106
99
89
107
100
90
108
99
92
109
100
91
108
102
90
108
102
86
108
105
86
108
107
86
107
109
88
107
110
93
108
114
104
121
127
125
149
157
160
174
183
190
209
218
223
233
242
247
251
255
255
248
253
255
248
249
253
254
255
255
255
254
255
249
248
246
255
255
251
254
253
248
249
249
241
241
243
232
233
235
222
227
231
216
223
230
214
224
232
211
228
233
210
231
237
211
232
236
211
231
233
209
232
232
208
231
229
206
224
219
199
215
208
190
218
211
195
217
209
198
222
212
203
230
221
216
238
228
227
243
233
234
250
241
244
255
249
251
250
249
247
254
254
252
255
255
253
253
253
251
253
253
251
255
255
253
255
255
253
252
252
250
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
255
253
252
255
250
249
255
251
250
255
254
253
252
255
253
245
255
252
234
251
245
234
255
248
242
255
253
245
255
250
239
245
231
255
250
234
255
250
232
242
204
185
171
119
98
143
81
58
170
93
73
175
80
62
179
76
61
179
75
62
179
75
64
177
73
64
172
69
62
162
63
58
154
59
55
150
61
57
143
62
58
136
63
57
129
64
58
122
65
58
117
67
58
113
69
58
113
69
60
112
63
56
113
63
56
113
63
56
113
63
56
113
63
56
113
63
56
112
63
56
112
63
56
113
66
58
112
65
57
110
63
55
108
61
53
105
61
52
106
62
53
106
62
53
110
61
54
111
56
51
114
55
51
112
54
50
112
54
50
110
55
50
108
55
49
106
56
49
105
56
49
100
56
47
100
57
48
99
59
49
100
62
51
100
64
52
99
65
53
99
65
53
95
67
53
90
69
52
95
78
60
103
86
66
104
87
67
99
83
60
94
79
56
91
79
53
92
82
55
93
86
60
93
89
62
110
108
85
116
118
94
124
129
107
99
109
85
50
62
40
54
66
46
51
59
46
51
57
47
51
57
47
51
57
47
50
56
46
50
56
46
50
56
46
49
55
45
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
44
49
43
44
49
43
43
48
42
42
47
41
42
47
41
43
48
42
44
49
43
43
50
43
45
52
45
43
53
45
42
52
44
42
52
44
43
53
44
43
53
44
44
54
43
45
55
44
44
54
43
47
58
44
50
61
47
54
65
49
55
66
50
55
66
49
53
64
48
52
63
46
50
63
45
52
67
46
58
71
51
61
76
53
65
79
56
68
84
58
74
88
63
76
92
66
84
98
73
92
107
84
99
113
90
94
109
88
85
98
80
68
82
65
50
62
48
35
47
37
38
47
44
38
44
44
36
42
42
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
106
100
86
106
100
86
106
99
89
107
100
90
108
99
92
109
100
91
108
102
90
108
102
86
111
108
89
109
108
87
106
108
87
103
107
90
102
108
98
114
123
120
142
152
154
168
177
184
201
210
215
226
235
240
247
252
255
246
251
254
249
250
254
254
255
255
255
254
255
249
248
244
255
255
250
253
253
245
248
248
238
240
242
229
233
235
221
229
233
216
227
234
216
229
237
214
230
236
210
233
237
210
234
237
210
232
232
206
232
230
207
232
227
207
225
218
200
216
208
195
216
206
196
221
210
204
234
223
219
248
237
235
255
244
246
255
245
249
255
245
251
255
249
252
254
252
253
255
255
253
255
255
253
254
254
252
254
254
252
255
255
253
255
255
253
253
253
251
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
255
254
250
255
249
247
255
249
247
251
250
248
247
251
250
245
255
254
243
255
255
240
255
255
237
253
250
240
252
248
251
255
250
255
253
241
255
242
226
255
239
219
255
225
203
216
174
150
170
114
91
164
89
68
169
84
64
168
81
62
169
82
65
173
81
66
169
77
64
161
68
60
151
61
53
149
62
55
143
63
54
137
62
56
131
64
55
125
65
55
119
67
54
116
68
56
115
69
56
113
63
56
113
63
56
115
62
56
113
63
56
113
63
56
113
63
56
113
63
56
112
63
56
115
66
59
113
66
58
111
64
56
109
62
54
108
61
53
106
62
53
109
62
54
111
62
55
111
56
51
113
55
51
111
56
51
109
56
50
109
56
50
105
56
49
104
57
49
102
58
49
102
59
50
100
62
51
100
64
52
98
66
53
96
67
53
93
65
51
92
64
50
87
66
49
84
71
52
91
83
62
102
94
71
105
94
72
98
88
63
90
83
57
90
83
55
92
87
58
90
86
59
88
87
59
107
109
85
115
119
94
117
125
102
85
97
73
38
50
28
56
68
48
51
59
46
52
58
48
52
58
48
51
57
47
51
57
47
51
57
47
50
56
46
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
48
54
44
47
53
43
47
53
43
47
53
43
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
45
50
44
44
49
43
43
48
42
43
48
42
42
47
41
42
47
41
43
48
42
43
48
42
44
49
43
43
50
43
41
51
43
42
52
44
43
53
45
43
53
44
44
54
45
45
55
46
45
55
44
44
54
43
46
56
45
50
60
49
54
65
51
57
68
54
57
68
52
55
66
52
54
65
49
48
59
43
50
63
45
53
66
48
57
70
50
60
73
53
64
78
55
70
84
61
74
88
63
82
96
73
91
104
84
97
110
90
92
105
87
81
94
77
66
78
64
47
59
47
34
44
35
42
48
44
40
46
44
38
44
44
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
107
101
87
107
100
90
108
101
91
109
100
93
110
101
92
109
103
91
109
103
87
113
110
91
107
109
87
107
110
89
107
114
96
106
114
103
112
121
118
135
145
147
159
170
176
187
196
201
208
217
222
234
239
243
246
251
254
252
253
255
254
255
255
255
254
255
254
253
249
255
255
250
254
254
246
250
250
240
246
248
235
244
246
232
240
244
227
234
241
223
231
239
216
240
246
218
237
242
212
235
238
209
236
236
210
232
230
209
225
220
201
221
213
200
222
212
202
224
211
205
231
217
216
241
227
227
249
234
237
253
241
243
255
246
250
255
248
255
255
252
255
255
253
254
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
255
250
255
254
250
255
255
251
255
255
253
254
255
255
252
255
255
250
255
255
249
254
255
249
253
255
254
255
255
254
253
251
254
249
243
255
248
238
255
249
233
255
248
226
255
241
217
255
232
207
182
132
105
162
100
75
147
83
58
155
87
64
165
93
71
160
83
65
154
75
58
155
76
61
142
63
50
141
63
50
135
63
51
128
60
47
121
59
46
116
60
45
115
63
49
115
66
52
114
61
53
114
61
55
116
61
56
115
62
56
117
64
58
117
64
58
116
63
57
113
63
56
115
65
58
113
64
57
113
64
57
113
64
57
112
63
56
110
63
55
111
62
55
111
62
55
107
57
50
109
56
50
108
58
51
108
59
52
108
59
52
104
60
51
103
60
51
99
61
50
99
63
51
94
62
49
100
71
57
99
71
57
84
61
45
78
57
40
77
56
39
64
49
30
87
81
59
80
78
55
75
73
48
79
75
50
93
89
62
105
101
74
101
97
68
86
85
55
88
88
60
93
96
67
111
115
90
122
128
102
100
108
85
61
73
49
45
57
35
50
62
42
52
60
47
53
59
49
52
58
48
52
58
48
52
58
48
51
57
47
51
57
47
51
57
47
51
57
47
51
57
47
51
57
47
50
56
46
49
55
45
49
55
45
49
55
45
48
54
44
49
54
48
49
54
48
48
53
47
48
53
47
47
52
46
47
52
46
47
52
46
47
52
46
44
49
43
44
49
43
44
49
43
44
49
43
44
49
43
44
49
43
43
48
42
43
48
42
46
53
46
45
52
45
45
52
45
44
51
44
45
52
45
45
52
44
46
53
45
46
53
45
43
50
42
45
52
44
48
55
47
53
61
50
57
65
54
61
69
56
63
71
60
63
74
60
55
66
50
53
64
47
51
62
45
49
61
41
50
62
42
57
69
47
66
78
56
73
85
63
79
91
71
86
98
78
93
104
87
89
100
84
76
87
73
60
70
59
47
57
46
41
51
42
42
48
44
41
47
43
40
46
44
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
107
101
87
107
100
90
108
101
91
109
100
93
110
101
92
109
103
91
107
104
87
111
110
90
106
108
86
107
110
89
107
114
96
106
116
105
113
124
120
137
148
150
163
174
180
190
199
204
210
219
224
235
240
244
247
252
255
253
254
255
254
255
255
255
254
252
254
253
249
255
255
250
254
254
244
251
251
239
247
249
235
244
247
230
240
245
225
234
242
221
232
237
214
234
239
209
230
235
203
228
231
202
230
230
204
227
225
204
223
217
201
222
212
202
223
212
206
230
216
215
236
222
222
245
230
233
250
238
242
255
243
247
255
246
250
255
249
253
255
251
254
255
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
253
255
252
250
255
249
250
255
249
253
255
252
253
254
255
253
252
255
253
250
255
255
250
255
255
248
255
255
252
255
255
250
253
255
248
246
255
249
242
255
252
239
255
252
234
254
248
226
255
241
215
255
234
206
217
178
149
163
117
91
142
92
67
146
92
66
152
92
68
152
87
67
150
83
64
138
70
51
137
68
52
135
68
51
131
68
51
126
67
51
122
66
49
118
65
49
115
63
49
117
64
56
115
62
56
117
62
57
117
64
58
116
63
57
111
61
54
112
62
55
115
65
58
113
63
56
112
63
56
112
63
56
110
63
55
111
62
55
109
62
54
110
61
54
109
62
54
107
60
52
108
61
53
109
62
54
107
63
54
106
63
54
103
65
54
101
65
53
98
66
53
100
71
57
91
65
50
94
71
55
94
73
56
78
61
43
70
55
36
71
56
37
62
54
33
76
76
52
71
75
50
68
71
44
68
68
42
77
77
49
92
91
63
98
97
67
96
97
66
89
89
61
100
103
74
115
119
94
115
121
95
88
96
73
58
68
44
47
59
37
55
67
47
54
62
49
54
60
50
54
60
50
54
60
50
53
59
49
53
59
49
53
59
49
53
59
49
53
59
49
53
59
49
53
59
49
52
58
48
52
58
48
51
57
47
51
57
47
51
57
47
50
55
49
50
55
49
50
55
49
49
54
48
49
54
48
49
54
48
48
53
47
48
53
47
46
51
45
46
51
45
45
50
44
45
50
44
44
49
43
44
49
43
43
48
42
43
48
42
42
49
42
42
49
42
41
48
41
41
48
41
41
48
41
42
49
42
43
50
42
44
51
43
46
53
45
45
52
44
46
53
45
48
55
47
52
59
51
57
65
54
63
70
62
66
74
63
59
70
56
58
69
53
55
66
49
52
63
46
51
63
43
54
66
46
60
72
50
64
76
54
76
88
68
83
95
75
89
100
84
87
98
82
76
86
75
61
71
60
49
59
50
43
53
44
44
51
44
43
49
45
42
48
44
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
104
101
86
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
107
101
87
108
99
90
109
100
91
109
100
93
110
101
92
109
103
91
107
104
87
109
108
88
105
109
86
106
111
89
107
116
97
105
117
105
113
125
121
138
152
153
165
178
184
191
202
208
212
221
226
237
242
246
247
252
255
252
253
255
253
255
254
255
254
252
254
253
248
255
255
247
253
253
243
250
251
237
247
250
233
244
247
228
239
244
222
231
239
216
229
235
209
226
231
201
222
225
194
221
221
193
222
222
198
222
219
200
221
215
203
224
213
207
228
217
215
237
225
225
242
230
234
249
237
241
254
243
247
255
246
250
255
248
251
255
249
252
255
252
252
255
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
253
255
252
246
255
250
246
255
250
250
254
253
253
253
253
255
250
254
255
248
255
255
246
255
255
244
254
255
249
255
255
247
252
255
247
247
255
250
245
255
255
246
255
255
242
250
253
236
250
248
227
254
240
214
255
246
219
255
235
208
223
191
166
168
131
105
132
90
66
131
83
60
145
93
71
148
93
72
139
82
62
127
70
50
118
63
42
117
62
42
118
66
45
121
70
51
120
71
54
113
63
52
110
60
51
113
60
52
116
66
57
115
65
56
111
63
53
113
65
55
120
72
62
110
62
52
109
62
52
109
62
52
107
63
52
108
61
51
106
62
51
108
61
51
106
62
51
103
63
53
103
65
54
103
65
54
103
67
55
101
67
55
99
67
54
96
67
53
94
68
53
98
75
59
85
66
49
90
73
55
96
83
64
82
71
51
67
59
38
69
61
40
70
65
43
65
69
44
66
72
46
65
69
42
60
64
37
63
66
37
78
78
50
95
96
65
105
106
75
97
97
69
110
113
84
118
122
97
103
109
83
74
79
57
52
60
37
52
61
40
61
70
51
56
62
50
56
62
52
56
62
52
56
62
52
55
61
51
55
61
51
55
61
51
54
60
50
56
62
52
56
62
52
55
61
51
55
61
51
55
61
51
54
60
50
54
60
50
54
60
50
53
58
52
52
57
51
52
57
51
52
57
51
51
56
50
51
56
50
51
56
50
50
55
49
48
53
47
48
53
47
47
52
46
46
51
45
45
50
44
44
49
43
43
48
42
43
48
42
41
46
40
41
46
40
41
46
40
41
46
40
41
46
40
42
47
41
43
48
42
44
49
43
49
54
48
47
52
46
44
49
43
44
49
43
47
52
46
54
59
52
61
66
60
65
72
64
64
75
61
62
75
58
60
73
55
56
69
51
52
65
45
50
63
43
51
65
42
53
67
44
68
81
61
75
88
68
81
94
77
81
94
77
72
84
72
60
72
60
50
62
52
46
56
47
46
53
46
46
53
46
45
52
45
103
100
85
103
100
85
104
101
86
104
101
86
104
101
86
104
101
86
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
107
101
87
108
99
90
109
100
91
109
100
93
109
102
92
109
103
91
106
105
87
107
109
88
105
109
86
106
111
89
106
115
96
104
116
104
109
124
119
136
152
152
166
179
185
191
202
208
211
220
227
235
240
246
246
251
255
252
253
255
253
255
254
255
255
253
255
254
249
254
254
246
253
253
241
250
251
237
247
250
231
244
247
226
238
243
220
229
237
213
226
232
206
219
224
192
215
218
187
214
214
188
217
215
194
221
215
199
222
215
205
229
219
217
236
224
224
247
235
239
250
239
245
255
244
250
255
248
253
255
249
252
255
250
250
255
250
250
255
252
251
255
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
253
255
252
247
255
253
247
255
253
250
254
253
253
253
253
255
251
253
255
248
254
255
246
253
255
244
250
255
248
251
255
247
250
255
248
248
255
252
249
255
255
248
255
255
248
250
255
244
250
252
238
255
255
237
255
248
228
253
238
219
255
239
219
255
239
217
238
210
188
176
144
121
118
82
60
117
76
54
117
75
53
119
74
53
123
78
57
125
80
59
120
75
54
107
64
45
98
55
38
123
77
64
115
68
58
113
66
56
115
68
58
111
67
56
103
59
48
100
56
45
103
61
49
105
63
51
105
63
51
105
63
51
103
63
51
102
62
50
102
62
50
102
62
50
101
63
50
98
64
52
98
66
53
96
67
53
95
67
53
95
67
53
91
68
52
90
69
52
87
68
51
88
73
54
79
66
47
92
84
63
111
105
83
99
94
72
77
75
52
73
71
48
73
75
51
62
68
42
63
72
45
64
70
42
60
66
38
60
65
35
70
73
44
88
89
58
100
101
70
109
109
81
120
120
92
116
118
94
91
95
70
64
67
46
54
59
37
56
64
43
60
67
49
57
63
51
57
63
53
57
63
53
56
62
52
56
62
52
55
61
51
55
61
51
55
61
51
57
63
53
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
55
60
54
55
60
54
55
60
54
54
59
53
54
59
53
54
59
53
53
58
52
53
58
52
51
56
50
51
56
50
49
54
48
48
53
47
47
52
46
45
50
44
44
49
43
44
49
43
43
48
42
43
48
42
42
47
41
42
47
41
43
48
42
44
49
43
45
50
44
45
50
44
48
53
47
46
51
45
43
48
42
43
48
42
45
50
46
50
55
49
56
61
57
59
66
58
64
75
61
64
77
59
64
77
59
61
74
54
56
69
49
51
64
44
49
63
40
48
62
39
60
73
53
66
79
59
72
85
67
73
86
69
68
80
66
59
71
59
50
62
52
46
58
48
45
55
47
47
54
47
46
53
46
103
100
85
103
100
85
103
100
85
104
101
86
104
101
86
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
108
100
87
108
99
90
109
100
91
109
100
93
109
102
92
109
103
91
106
105
87
107
109
88
105
110
87
105
113
90
103
115
95
100
114
101
106
121
116
133
149
149
163
178
183
189
200
206
210
219
226
234
239
245
244
249
253
251
252
255
253
255
254
255
255
253
255
255
250
255
255
248
255
255
243
254
255
241
251
254
235
247
250
229
240
245
222
230
238
214
226
232
204
217
220
191
213
213
185
210
208
185
212
209
190
218
212
200
224
217
209
234
224
223
244
233
237
253
242
248
255
246
251
255
250
255
255
252
255
255
253
254
254
253
251
254
253
249
254
253
249
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
253
255
254
250
255
255
250
255
255
252
255
255
255
255
255
255
253
254
255
251
251
255
249
250
255
249
248
255
248
246
255
249
247
255
250
247
255
254
249
255
255
251
255
255
251
253
255
250
252
253
248
244
241
234
255
251
243
255
253
244
255
251
241
255
248
235
255
244
228
246
227
210
228
207
188
208
183
163
183
156
135
146
118
97
118
87
67
104
73
53
104
73
53
109
76
57
112
79
60
108
71
55
105
66
51
103
66
50
106
69
53
110
73
57
110
74
58
111
75
59
111
75
59
101
65
49
99
66
49
99
66
49
99
66
49
99
66
49
99
66
49
98
67
49
96
67
51
93
70
54
92
71
54
92
71
54
90
71
54
90
71
54
87
72
53
84
71
52
82
71
51
80
72
51
78
72
50
102
100
77
126
126
102
114
114
90
86
88
64
74
76
52
71
77
51
60
69
42
60
70
43
63
72
43
65
71
43
65
70
40
68
71
42
77
78
47
84
85
54
120
119
91
123
122
94
110
110
86
85
85
61
67
66
46
63
65
44
62
65
46
58
62
45
59
62
51
57
63
53
57
63
53
56
62
52
56
62
52
55
61
51
55
61
51
55
61
51
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
56
62
52
57
62
56
57
62
56
57
62
56
56
61
55
56
61
55
56
61
55
55
60
54
55
60
54
54
59
53
53
58
52
52
57
51
51
56
50
50
55
49
48
53
47
47
52
46
47
52
46
45
50
46
45
50
46
44
49
45
43
48
44
43
48
44
44
49
45
45
50
46
45
50
46
44
49
45
44
49
45
44
49
45
44
49
45
46
50
49
48
53
49
51
55
54
52
59
52
59
71
57
61
76
57
64
79
60
64
79
58
60
75
54
55
70
47
52
67
44
50
65
42
54
69
46
58
73
52
64
79
60
66
80
63
63
77
62
56
70
55
49
63
50
45
57
45
45
55
46
46
53
45
45
52
44
102
99
84
102
99
84
103
100
85
104
101
86
104
101
86
105
102
87
106
103
88
106
103
88
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
108
100
87
108
100
87
108
99
90
109
100
91
109
100
93
109
102
92
109
103
91
106
105
87
107
109
88
105
110
87
105
113
90
103
115
95
98
112
99
103
120
114
130
148
148
163
178
183
192
203
209
212
221
228
235
240
246
245
250
254
251
252
255
253
255
254
255
255
253
255
255
250
255
255
248
255
255
244
255
255
243
255
255
239
250
253
232
242
247
224
231
240
213
226
232
204
215
218
189
209
209
181
205
203
180
206
203
186
214
207
197
222
215
209
236
226
227
247
238
243
255
245
253
255
249
255
255
252
255
255
254
255
255
254
252
253
254
249
253
254
248
253
255
249
254
255
250
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
254
253
254
255
254
255
255
254
255
255
254
255
255
254
255
253
254
255
250
253
254
248
253
253
245
251
251
241
252
252
244
254
253
248
255
254
250
255
255
253
254
254
254
254
252
255
254
252
255
251
246
252
255
250
254
254
248
250
249
244
241
253
246
240
255
254
244
255
254
241
255
254
237
255
248
230
252
239
220
242
227
208
226
209
189
205
187
167
179
161
141
155
134
115
140
117
99
122
93
75
125
94
76
116
85
67
97
68
50
87
58
40
89
60
42
91
62
44
88
61
42
96
69
50
96
69
50
96
69
50
95
70
50
96
71
51
96
71
51
96
71
51
93
72
51
92
75
55
92
77
58
92
77
58
89
76
57
88
77
57
85
77
56
82
76
54
81
76
54
78
76
53
81
81
57
105
107
83
124
128
103
109
113
88
83
89
63
70
76
50
62
71
44
60
70
43
60
70
43
63
72
43
68
74
46
69
74
44
68
71
42
72
73
42
76
77
46
121
120
92
116
115
87
102
100
77
84
82
59
76
73
54
75
74
54
70
69
51
60
61
45
60
63
52
57
63
53
57
63
53
57
63
53
56
62
52
56
62
52
56
62
52
56
62
52
55
61
51
55
61
51
56
62
52
56
62
52
56
62
52
56
62
52
57
63
53
57
63
53
58
63
57
58
63
57
58
63
57
58
63
57
57
62
56
57
62
56
57
62
56
56
61
55
56
61
55
56
61
55
55
60
54
54
59
53
53
58
52
52
57
51
51
56
50
51
56
50
47
52
48
46
51
47
45
50
46
44
49
45
43
48
44
43
48
44
43
48
44
43
48
44
43
48
44
44
49
45
45
49
48
46
50
49
47
51
50
47
51
50
47
51
50
45
52
45
51
63
49
55
70
51
61
76
55
64
79
58
63
78
55
60
75
52
57
72
49
56
71
48
53
68
45
56
71
48
60
75
54
62
77
58
60
74
57
55
69
54
49
63
50
45
57
45
44
54
45
46
53
45
45
52
44
102
99
84
102
99
84
103
100
85
104
101
86
104
101
86
105
102
87
106
103
88
106
103
88
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
108
100
87
108
100
87
108
99
90
109
100
91
109
100
93
109
102
92
109
103
91
106
105
87
106
108
87
104
109
86
104
114
90
102
115
95
99
113
100
104
121
115
133
151
151
165
183
187
199
210
216
218
227
234
240
245
251
248
253
255
252
253
255
253
255
254
255
255
253
255
254
249
255
255
245
255
255
242
255
255
240
252
255
236
248
251
230
239
244
221
226
235
208
221
227
199
213
213
185
206
204
179
201
196
176
202
196
180
208
201
191
218
210
207
233
224
227
246
237
242
255
246
254
255
249
255
255
252
255
255
254
255
254
254
252
252
254
249
251
255
247
252
255
248
253
255
250
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
254
254
251
255
255
252
255
254
253
255
253
255
254
250
255
250
247
255
248
246
255
243
245
255
240
243
254
238
245
255
242
250
255
246
253
255
250
255
253
254
255
251
255
255
249
255
255
248
255
252
241
255
254
245
255
255
250
255
255
253
255
255
252
255
252
251
249
248
248
240
245
245
233
255
255
241
255
255
239
255
255
237
255
255
237
255
252
234
255
246
229
251
239
223
248
235
218
249
228
209
255
230
208
227
202
180
165
143
120
116
94
71
101
79
56
98
76
53
92
72
48
94
74
50
92
74
50
92
74
50
93
75
51
93
75
51
94
76
52
94
76
52
92
77
54
89
78
56
87
79
58
87
79
58
86
80
58
85
79
57
83
78
56
80
78
55
78
78
54
77
79
55
80
84
59
96
102
76
102
111
84
85
94
67
69
79
52
65
75
48
60
70
43
63
73
46
63
73
46
67
76
47
72
78
50
72
77
47
70
73
44
79
80
49
89
88
58
113
109
82
106
102
75
97
92
70
91
86
64
89
84
65
84
81
62
77
74
57
66
67
51
61
64
53
59
65
55
59
65
55
59
65
55
58
64
54
58
64
54
58
64
54
57
63
53
56
62
52
56
62
52
56
62
52
57
63
53
57
63
53
58
64
54
58
64
54
58
64
54
59
64
58
59
64
58
59
64
58
58
63
57
58
63
57
57
62
56
57
62
56
57
62
56
58
63
57
58
63
57
57
62
56
57
62
56
56
61
55
56
61
55
55
60
54
55
60
54
52
57
53
50
55
51
49
54
50
47
52
48
45
50
46
44
49
45
43
47
46
43
47
46
44
48
47
44
48
47
45
49
48
46
50
49
46
50
51
46
50
51
45
49
50
43
49
45
43
57
42
47
64
45
54
72
50
59
77
55
61
79
55
60
78
52
58
76
50
58
76
50
53
71
47
55
73
49
58
76
54
60
77
58
58
75
57
54
71
55
48
64
51
45
59
46
45
55
46
46
53
45
45
52
44
99
100
82
99
100
82
100
101
83
101
102
84
101
102
86
104
102
87
105
103
88
105
103
88
104
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
105
102
87
107
101
87
107
101
87
107
101
87
108
100
89
108
101
91
109
100
93
109
102
92
107
103
91
106
105
87
105
107
86
104
109
87
104
114
90
103
116
96
100
113
103
106
123
117
137
155
157
170
187
194
205
216
222
223
232
239
242
249
255
250
255
255
251
255
255
253
255
254
254
255
250
254
254
246
250
250
238
250
251
237
250
251
233
248
250
229
244
246
225
234
238
215
223
227
202
217
219
195
211
209
184
204
199
177
197
190
172
198
190
177
204
195
188
214
206
204
230
221
224
244
234
242
253
246
254
254
249
255
255
253
255
254
254
255
253
253
251
252
254
249
251
255
249
252
255
250
253
255
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
254
254
252
255
254
252
255
254
252
255
254
252
255
253
254
255
250
255
255
251
255
254
252
255
252
254
253
249
255
251
246
255
247
244
255
244
243
255
241
242
254
240
245
255
242
250
255
246
254
255
250
255
252
251
255
249
252
255
247
255
255
246
255
255
248
255
255
247
255
255
249
255
255
252
255
253
252
255
251
253
252
250
255
251
252
255
250
244
250
240
244
250
238
247
249
236
247
248
234
248
246
231
251
248
231
255
250
234
255
253
234
253
241
219
255
251
228
236
220
197
158
142
119
96
80
55
82
66
41
88
72
47
88
72
47
91
77
51
91
77
51
90
78
52
90
78
52
91
79
53
91
79
53
92
80
54
91
81
56
85
79
55
84
79
57
84
79
57
81
79
56
80
78
55
78
78
54
75
77
53
73
77
52
74
78
53
76
82
56
83
92
65
80
89
60
64
73
44
59
70
40
65
76
46
63
74
42
67
78
46
68
79
47
72
81
50
76
83
50
73
78
48
74
77
46
89
90
59
107
106
78
102
101
73
98
94
69
94
89
67
95
90
70
96
91
71
90
85
66
83
78
59
76
73
56
65
66
52
64
66
53
64
66
53
62
65
54
62
65
54
62
65
54
61
64
55
61
64
55
57
63
53
57
63
53
57
63
53
58
64
54
58
64
54
58
66
55
58
66
55
58
66
55
59
64
57
59
64
57
59
64
58
58
63
56
58
63
57
57
62
55
57
62
56
57
62
55
59
64
58
59
64
57
59
64
58
59
64
57
58
63
57
58
63
56
58
63
57
58
63
57
56
63
56
55
61
57
52
59
52
51
56
50
49
54
48
47
52
46
46
51
47
46
51
47
46
50
49
46
50
49
44
50
46
44
50
46
43
50
43
43
50
42
44
52
41
41
54
37
36
54
30
41
61
33
50
70
43
56
76
49
59
79
54
59
77
53
59
77
53
59
77
53
56
74
50
57
75
51
59
77
53
60
78
54
60
78
56
55
72
53
49
66
48
46
60
45
46
56
45
47
54
46
46
53
45
92
102
78
93
103
79
95
103
80
96
104
81
98
106
85
101
106
86
103
106
87
104
107
88
102
103
85
104
103
85
104
101
86
104
101
86
106
100
86
107
101
87
107
101
89
108
102
88
107
101
87
106
103
88
109
103
91
108
104
93
109
102
94
106
102
91
104
100
88
102
100
85
102
103
85
103
108
86
102
111
90
98
111
93
99
112
103
114
130
127
150
168
172
185
199
208
209
219
228
224
233
240
240
247
253
247
252
255
247
253
251
250
255
251
252
255
248
252
254
243
248
249
235
250
251
235
249
248
230
243
240
221
239
236
217
236
233
214
224
222
201
214
209
189
216
208
189
203
191
175
188
179
164
188
178
169
195
184
180
205
195
196
219
210
215
233
223
231
250
243
251
253
248
255
254
251
255
255
254
255
254
254
255
252
254
253
251
253
250
252
254
251
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
252
255
254
252
255
255
253
255
255
253
255
255
251
255
254
250
255
253
250
255
252
249
255
252
249
255
252
249
255
254
255
255
253
254
253
253
253
253
253
253
254
255
255
254
255
253
251
255
252
249
254
248
253
255
250
251
252
246
253
252
247
255
255
250
255
254
248
255
249
244
255
247
243
255
250
249
255
251
255
255
252
255
254
253
255
254
255
255
254
255
255
251
255
252
251
255
252
250
254
253
252
255
255
252
255
255
255
255
253
255
254
249
255
254
242
255
254
237
255
254
234
255
254
232
251
245
223
255
252
230
233
225
202
145
137
114
86
79
53
88
78
51
85
76
47
83
74
45
87
78
49
87
78
49
85
78
49
85
78
49
84
79
50
84
79
50
84
78
52
83
79
52
81
77
50
82
78
53
80
78
53
80
80
54
77
79
55
75
79
54
72
77
54
71
76
53
74
80
54
70
79
52
65
74
45
61
70
39
62
72
38
68
75
42
70
77
43
68
78
41
77
88
48
75
87
47
70
81
41
67
77
40
79
86
52
94
99
67
96
99
68
90
90
62
89
89
63
91
89
66
95
90
68
95
90
70
95
88
69
92
85
66
88
81
62
85
78
59
75
70
51
71
68
49
68
65
48
65
63
48
64
62
49
62
62
50
63
63
53
63
65
54
60
63
54
58
64
54
58
64
54
57
65
54
57
65
52
55
66
52
55
66
52
55
66
52
58
66
55
57
65
54
57
64
56
56
64
53
56
63
55
57
65
54
57
64
56
58
66
55
58
65
57
58
66
55
57
64
56
58
66
55
59
66
58
60
68
57
61
68
60
62
69
61
56
66
58
55
65
57
55
65
56
55
63
52
53
61
48
51
59
46
50
56
46
49
54
48
46
52
48
47
53
49
45
55
47
45
57
45
46
59
41
48
64
38
54
71
39
55
77
39
59
86
43
59
88
44
60
86
49
59
84
52
59
82
56
60
79
57
61
78
59
61
79
57
58
76
54
63
81
55
68
86
60
68
87
59
67
87
60
64
84
59
55
74
52
46
63
44
45
55
44
44
51
43
41
48
40
89
103
77
90
104
78
92
104
80
93
105
81
97
107
83
98
108
84
103
108
88
103
108
88
103
104
86
103
104
86
105
102
87
105
102
87
107
101
87
108
102
88
109
101
90
109
103
89
108
102
88
106
103
88
107
103
91
108
104
93
107
103
94
106
102
91
104
102
90
101
102
86
104
105
87
103
108
86
103
112
93
102
115
98
106
119
110
121
137
136
156
171
178
186
200
209
208
218
227
224
233
238
240
247
253
246
254
255
249
255
253
249
255
249
251
254
245
249
253
239
249
250
236
248
249
231
246
243
226
238
235
216
235
230
211
230
225
206
221
214
196
210
201
184
203
191
175
193
179
166
184
172
160
187
174
166
194
183
181
205
195
196
219
208
214
228
221
228
251
243
254
253
247
255
254
251
255
255
254
255
254
253
255
252
253
255
252
254
253
252
254
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
252
255
254
252
255
255
253
255
255
253
255
253
250
255
253
250
255
253
250
255
252
249
255
252
248
255
253
248
255
254
253
255
254
252
253
253
253
253
253
253
255
255
255
255
255
255
254
254
254
253
253
253
255
255
253
255
255
251
255
252
249
254
247
241
245
236
229
238
228
219
244
231
222
250
241
234
255
252
253
254
254
255
253
255
254
254
255
253
252
255
251
251
255
250
251
255
254
250
254
255
252
255
255
252
255
255
255
254
255
254
254
252
255
253
244
255
254
236
255
253
231
255
254
229
248
246
223
254
252
231
229
224
202
141
137
112
83
77
51
84
79
50
82
75
46
81
74
45
85
79
47
85
79
47
84
79
49
84
79
49
83
79
50
83
79
50
81
80
52
81
80
52
81
77
50
79
78
50
80
78
53
78
81
54
77
79
55
74
80
54
72
77
54
69
77
53
71
80
53
69
78
49
65
74
45
63
73
39
66
73
40
70
77
43
74
80
44
74
82
43
75
86
43
75
88
42
82
93
51
89
100
60
93
101
64
87
94
60
83
88
58
83
86
57
85
85
61
86
86
62
90
85
65
91
86
66
92
85
66
92
84
65
90
82
61
89
81
60
82
76
54
80
74
52
75
70
51
72
67
48
67
64
49
65
63
50
66
64
52
63
65
54
61
62
54
58
64
54
58
64
54
57
65
54
55
66
52
55
66
52
54
67
50
54
67
50
58
66
55
57
65
54
57
65
54
56
64
53
56
64
53
57
65
54
57
65
54
58
66
55
58
66
55
58
66
55
58
66
55
58
66
55
59
67
56
60
68
57
61
69
58
60
70
59
61
71
63
60
72
62
60
70
59
60
71
55
60
68
53
58
66
51
57
63
51
56
61
54
55
62
55
52
62
54
51
61
52
48
62
45
51
67
41
57
77
42
66
89
47
71
97
49
79
112
59
76
110
59
76
105
61
70
97
62
66
89
63
60
82
61
59
76
58
58
75
56
61
79
57
68
86
60
74
93
65
76
95
65
75
95
67
72
92
64
60
83
57
51
70
48
43
53
42
43
50
42
40
47
39
89
103
77
90
104
78
92
104
80
94
106
82
97
107
83
99
109
85
103
108
88
104
109
89
105
106
88
105
106
88
107
104
89
107
104
89
108
102
88
109
103
89
110
102
91
110
104
90
108
102
88
107
104
89
107
103
91
107
103
92
107
103
94
106
102
91
104
102
90
101
102
86
104
105
87
101
106
84
100
109
90
103
116
99
111
124
115
127
143
142
157
172
179
182
196
205
204
214
223
221
230
235
239
246
252
246
254
255
249
255
253
248
255
248
248
251
242
245
249
235
244
245
231
241
242
224
236
233
216
226
223
204
222
217
198
216
211
192
208
201
183
199
190
173
192
180
164
188
174
161
187
175
163
194
181
173
204
193
191
215
205
206
227
216
222
234
227
234
251
243
254
253
247
255
254
251
255
254
253
255
253
252
255
252
253
255
252
254
253
253
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
252
255
254
252
255
255
253
255
254
252
255
253
250
255
253
250
255
252
249
255
252
249
255
252
248
255
253
248
255
254
253
254
253
251
252
252
252
253
253
253
254
254
254
255
255
255
254
254
254
253
253
253
255
255
253
255
255
251
255
253
250
249
242
236
232
223
216
223
213
204
234
221
212
246
237
230
255
252
253
254
254
255
253
255
254
254
255
253
252
255
251
251
255
250
251
255
254
250
254
255
252
255
255
252
255
255
255
254
255
254
254
252
255
253
244
255
254
236
255
253
231
255
254
229
249
247
224
254
252
231
228
223
201
138
134
109
80
74
48
82
77
48
82
75
46
82
75
46
84
78
46
85
79
47
84
79
49
85
80
50
84
80
51
83
79
50
81
80
52
80
79
51
81
77
50
79
78
50
80
78
53
77
80
53
77
79
55
74
80
54
73
78
55
70
78
54
72
81
54
69
78
49
67
76
47
66
76
42
70
77
44
73
80
46
79
85
49
81
89
50
80
91
48
85
98
52
103
116
73
119
130
90
112
120
83
88
95
61
76
81
51
78
81
52
80
80
56
81
81
57
84
79
59
85
80
60
87
80
61
88
81
62
91
83
62
92
84
63
89
83
61
86
80
58
81
76
57
77
72
53
71
68
53
68
66
53
67
65
53
63
65
54
61
62
54
58
64
54
58
64
54
57
65
54
55
66
52
55
66
52
54
67
50
54
67
50
58
66
55
58
66
55
57
65
54
57
65
54
57
65
54
57
65
54
58
66
55
58
66
55
58
66
55
58
66
55
58
66
55
58
66
55
59
67
56
60
68
57
62
70
59
60
70
59
64
74
66
63
75
65
64
74
63
64
75
59
65
73
58
63
71
56
63
69
57
62
67
60
62
69
62
57
67
59
54
64
55
52
66
49
57
73
47
66
86
51
80
103
61
88
114
66
94
127
74
91
125
74
87
116
72
77
104
69
67
90
64
57
79
58
54
71
53
52
69
50
60
78
56
69
87
61
77
96
68
82
101
71
82
102
74
78
98
70
65
88
62
56
75
53
47
57
46
47
54
46
44
51
43
89
103
77
90
104
78
92
104
80
94
106
82
98
108
84
100
110
86
104
109
89
105
110
90
107
108
90
107
108
90
109
106
91
108
105
90
110
104
90
110
104
90
111
103
92
111
105
91
109
103
89
107
104
89
107
103
91
107
103
92
106
102
93
106
102
91
104
102
90
102
103
87
102
103
85
97
102
80
95
104
85
100
113
96
112
125
116
127
143
142
151
166
173
171
185
194
199
209
218
217
226
231
237
244
250
245
253
255
248
254
252
245
252
245
243
246
237
238
242
228
234
235
221
228
229
211
221
218
201
212
209
190
208
203
184
202
197
178
195
188
170
189
180
163
196
184
168
198
184
171
203
191
179
213
200
192
224
213
211
234
224
225
244
233
239
248
241
248
252
244
255
253
247
255
254
251
255
254
253
255
253
252
255
251
252
254
252
254
253
253
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
252
255
254
252
255
254
252
255
254
252
255
253
250
255
252
249
255
252
249
255
252
249
255
251
247
255
252
247
255
253
252
253
252
250
251
251
251
252
252
252
254
254
254
255
255
255
254
254
254
253
253
253
254
253
251
255
255
251
255
253
250
250
243
237
234
225
218
227
217
208
239
226
217
251
242
235
255
252
253
254
254
255
253
255
254
254
255
253
252
255
251
251
255
250
251
255
254
250
254
255
252
255
255
252
255
255
255
254
255
254
254
252
255
253
244
255
254
236
255
252
230
255
253
228
252
250
227
255
254
233
228
223
201
137
133
108
80
74
48
82
77
48
84
77
48
84
77
48
84
78
46
85
79
47
85
80
50
85
80
50
84
80
51
83
79
50
80
79
51
79
78
50
81
77
50
79
78
50
79
77
52
76
79
52
76
78
54
74
80
54
74
79
56
71
79
55
74
83
56
71
80
51
70
79
50
72
82
48
76
83
50
78
85
51
85
91
55
91
99
60
103
114
71
115
128
82
135
148
105
144
156
116
133
143
106
110
117
83
90
95
65
82
87
57
79
79
55
78
78
54
80
75
55
79
74
54
82
75
56
85
78
59
89
81
60
91
83
62
90
84
62
88
82
60
84
79
60
80
75
56
74
71
56
71
69
56
69
67
55
65
67
56
61
62
54
58
64
54
58
64
54
57
65
54
55
66
52
55
66
52
54
67
50
54
67
50
59
67
56
58
66
55
57
65
54
57
65
54
57
65
54
57
65
54
58
66
55
59
67
56
59
67
56
58
66
55
58
66
55
59
67
56
59
67
56
61
69
58
62
70
59
61
71
60
61
71
63
60
72
62
62
72
61
62
73
57
64
72
57
63
71
56
63
69
57
63
68
61
61
68
61
57
67
59
54
64
55
52
66
49
57
73
47
68
88
53
82
105
63
91
117
69
89
122
69
87
121
70
84
113
69
73
100
65
62
85
59
51
73
52
48
65
47
46
63
44
54
72
50
64
82
56
75
94
66
82
101
71
83
103
75
79
99
71
65
88
62
54
73
51
49
59
48
48
55
47
45
52
44
89
103
77
90
104
78
92
104
80
94
106
82
98
108
84
100
110
86
105
110
90
106
111
91
109
110
92
108
109
91
110
107
92
109
106
91
110
104
90
110
104
90
112
104
93
111
105
91
109
103
89
107
104
89
106
102
90
106
102
91
105
101
92
105
101
90
104
102
90
102
103
87
103
104
86
97
102
80
94
103
84
100
113
96
112
125
116
125
141
140
145
160
167
161
175
184
194
204
213
214
223
228
234
241
247
243
251
253
245
251
249
242
249
242
239
242
233
233
237
223
227
228
214
218
219
201
211
208
191
204
201
182
201
196
177
195
190
171
190
183
165
187
178
161
202
190
174
209
195
182
218
206
194
229
216
208
238
227
225
248
238
239
255
245
251
255
249
255
252
244
255
253
247
255
253
250
255
253
252
255
252
251
255
251
252
254
252
254
253
254
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
252
255
254
252
255
254
252
255
254
252
255
252
249
255
252
249
255
252
249
255
251
248
255
251
247
255
252
247
255
252
251
252
251
249
251
251
251
252
252
252
254
254
254
255
255
255
254
254
254
253
253
253
254
253
251
254
253
249
255
252
249
254
247
241
245
236
229
239
229
220
247
234
225
254
245
238
255
252
253
254
254
255
253
255
254
254
255
253
252
255
251
251
255
250
251
255
254
250
254
255
251
255
255
251
255
255
254
253
255
254
254
252
255
254
245
255
254
236
255
252
230
255
252
227
254
252
229
255
255
235
229
224
202
138
134
109
81
75
49
84
79
50
86
79
50
87
80
51
84
78
46
85
79
47
86
81
51
86
81
51
85
81
52
83
79
50
79
78
50
78
77
49
81
77
50
79
78
50
79
77
52
76
79
52
76
78
54
74
80
54
74
79
56
73
81
57
76
85
58
73
82
53
74
83
54
78
88
54
81
88
55
82
89
55
91
97
61
99
107
68
129
142
98
146
162
115
161
174
131
157
169
129
148
158
121
138
145
111
115
120
90
90
95
65
80
80
56
78
78
54
78
73
53
76
71
51
78
71
52
81
74
55
86
78
57
88
80
59
88
82
60
86
80
58
83
78
59
80
75
56
76
73
58
73
71
58
71
69
57
67
69
58
61
62
54
58
64
54
58
64
54
57
65
54
55
66
52
55
66
52
54
67
50
54
67
50
59
67
56
59
67
56
58
66
55
57
65
54
57
65
54
58
66
55
59
67
56
59
67
56
59
67
56
59
67
56
59
67
56
59
67
56
60
68
57
61
69
58
62
70
59
61
71
60
59
69
61
58
70
60
60
70
59
60
71
55
62
70
55
61
69
54
62
68
56
61
66
59
58
65
58
55
65
57
53
63
54
52
66
49
57
73
47
66
86
51
78
101
59
85
111
63
83
116
63
81
115
64
79
108
64
69
96
61
57
80
54
46
68
47
44
61
43
44
61
42
49
67
45
60
78
52
73
92
64
80
99
69
82
102
74
78
98
70
63
86
60
52
71
49
43
53
42
43
50
42
40
47
39