1
1
1
1
8
1
8
8
8
20
13
15
15
20
27
1
1
1
1
20
27
27
27
39
1
1
8
13
27
34
34
34
34
51
8
13
15
20
34
46
46
41
41
46
46
58
1
1
20
20
27
34
46
41
53
58
58
53
53
70
1
1
8
27
34
34
34
34
41
51
41
58
58
58
70
65
60
82
1
1
13
15
34
46
46
46
41
58
58
53
53
53
48
65
65
65
82
94
1
1
1
1
8
8
27
46
53
53
53
48
65
60
70
65
77
82
77
94
106
1
1
1
1
1
1
8
8
8
8
20
15
34
41
53
53
53
48
53
53
53
65
65
65
65
77
82
89
94
89
101
113
1
1
1
1
1
1
8
8
8
20
15
15
15
27
27
34
39
39
41
46
41
41
53
53
48
48
48
53
53
65
65
70
65
70
65
77
77
72
89
89
94
106
101
96
125
1
1
1
1
1
1
1
8
8
8
8
8
20
15
15
27
27
27
39
46
46
53
53
53
58
48
53
53
53
53
53
53
53
53
53
53
53
70
65
65
60
65
65
65
77
77
82
82
72
89
89
89
101
96
96
96
113
113
137
1
1
1
1
1
8
8
8
8
20
20
15
20
27
27
34
41
53
48
53
58
53
53
53
53
53
53
53
53
53
53
65
65
60
60
65
60
65
65
65
65
82
82
77
72
82
72
72
72
72
72
72
72
89
94
94
89
84
84
89
101
101
96
96
96
96
113
125
125
137
137
149
1
1
1
1
1
8
8
8
8
8
15
15
15
20
27
34
46
46
46
58
53
48
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
65
60
65
65
65
65
65
65
77
77
77
72
72
72
72
72
72
72
72
72
72
72
94
94
89
84
84
94
84
84
89
89
101
101
96
96
96
96
96
96
96
96
96
96
96
108
108
108
113
113
125
137
137
137
137
137
137
149
149
161
1
1
1
1
1
1
1
1
1
8
8
8
8
13
20
20
15
20
20
27
27
27
34
41
46
41
41
46
58
48
58
58
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
60
65
65
65
65
65
65
60
65
65
65
65
72
77
77
77
72
72
72
72
72
72
77
77
72
72
84
84
84
84
89
89
89
84
84
84
89
89
84
84
84
106
106
101
106
96
96
96
96
96
96
96
96
96
91
91
91
96
96
96
96
96
108
108
113
120
120
120
125
125
137
137
137
137
137
137
137
137
137
144
149
149
149
149
149
161
161
168
1
1
1
1
1
1
1
1
1
1
8
8
8
8
13
8
20
15
15
15
27
27
34
34
34
34
39
41
46
46
41
41
46
46
46
46
58
48
48
53
58
58
53
53
53
53
58
53
53
53
53
65
65
65
65
60
60
60
60
65
60
65
60
65
60
65
65
65
77
72
77
72
72
72
72
72
77
72
72
77
72
84
84
84
84
84
89
89
84
84
84
84
84
84
84
84
84
89
89
89
84
84
84
89
89
84
84
89
89
84
96
96
96
96
96
96
96
96
96
91
96
96
96
96
96
96
118
118
113
108
113
108
113
118
120
120
125
137
137
137
137
132
132
132
137
137
137
127
144
149
149
149
149
149
149
149
149
161
161
161
161
161
168
173
180
1
1
1
1
1
1
1
8
8
8
8
8
20
20
15
15
27
27
27
27
34
34
34
39
39
46
46
41
46
41
41
46
46
46
51
46
41
53
53
53
53
53
53
53
48
53
58
53
53
58
53
60
65
65
65
65
65
65
65
65
65
65
77
72
72
72
72
72
72
72
72
72
72
72
72
72
77
77
72
77
72
72
72
77
72
84
89
84
84
84
84
84
84
84
84
84
84
84
84
79
84
84
89
84
89
89
84
84
84
89
96
96
96
96
96
96
91
91
91
96
96
96
96
96
96
96
96
96
96
96
96
118
113
118
108
108
113
113
108
103
130
130
130
125
120
125
120
125
130
137
132
132
137
137
127
127
149
144
149
149
144
144
144
149
149
149
161
161
161
161
161
161
161
161
168
168
168
168
168
180
185
192
1
1
1
1
1
8
8
8
15
20
20
20
15
27
27
27
27
34
34
34
34
39
34
46
46
46
46
46
41
41
41
46
58
58
53
53
58
48
53
48
48
53
53
60
65
65
60
65
65
60
65
65
65
70
65
65
65
65
65
65
65
65
65
72
72
72
72
77
77
77
72
72
72
72
77
89
84
84
89
84
79
79
79
79
79
84
84
84
84
84
84
84
84
79
84
84
84
84
84
84
84
84
84
84
96
96
96
96
91
91
91
91
96
96
96
96
96
96
96
96
91
91
96
96
118
113
118
108
113
118
103
118
113
108
108
108
103
103
103
103
130
125
130
120
120
120
125
125
120
142
142
142
137
137
137
142
132
137
137
127
127
144
144
144
149
149
161
161
161
156
156
156
161
161
161
168
168
168
168
168
168
168
173
180
180
180
197
192
204
1
1
1
1
13
13
20
20
27
27
27
27
27
27
34
34
34
34
34
39
39
34
39
34
34
41
41
41
46
46
41
41
46
46
46
46
41
46
41
41
46
41
41
41
46
46
46
46
46
58
58
53
48
48
48
48
58
53
53
53
48
48
48
53
58
53
53
58
65
65
65
65
65
60
65
65
60
65
65
65
65
65
65
65
65
60
65
65
65
65
65
65
65
65
60
60
60
60
65
72
77
77
77
72
72
72
72
84
84
84
84
79
79
79
84
84
84
84
79
84
84
84
84
84
84
84
84
84
84
84
96
96
91
91
91
91
91
91
91
91
91
96
96
96
96
96
113
113
108
103
103
118
113
118
118
113
108
108
108
118
103
103
103
103
130
125
130
130
120
120
120
120
120
125
130
115
130
125
120
120
120
142
137
142
132
132
132
137
137
132
127
127
127
127
154
154
149
144
144
144
149
144
149
149
156
156
161
161
168
168
163
163
163
168
168
173
173
180
180
180
180
185
192
192
192
209
204
216
1
1
1
1
1
1
1
13
8
39
34
34
34
34
34
34
39
39
34
46
41
41
46
46
41
46
41
41
41
46
46
46
46
46
41
41
46
41
46
46
46
58
48
53
53
58
58
53
53
58
58
53
48
48
58
53
58
53
58
48
53
53
53
48
53
58
53
53
48
53
53
53
53
53
65
65
60
65
65
65
70
60
60
65
60
65
65
65
60
65
65
65
65
65
77
82
77
77
77
77
72
77
72
77
77
72
72
72
72
72
72
72
72
72
77
72
89
89
84
84
79
79
84
84
84
84
84
84
84
79
84
89
84
89
84
84
84
96
96
91
91
91
91
91
91
96
96
96
91
91
91
103
103
103
103
103
118
113
118
113
113
108
103
98
103
103
125
125
120
115
115
130
130
125
130
130
125
130
120
120
120
130
115
115
142
137
142
142
137
142
132
142
137
127
127
127
122
127
127
127
127
127
154
144
149
144
144
144
144
144
144
166
166
161
156
161
161
163
163
168
168
180
180
175
175
180
185
185
192
192
192
192
197
204
204
204
216
216
223
1
1
1
1
1
1
8
13
13
13
34
34
34
34
34
34
34
34
41
46
41
41
46
41
51
41
46
46
46
46
53
58
53
48
53
53
48
58
58
53
58
58
53
58
53
53
48
53
58
48
53
53
53
53
48
53
53
65
60
60
60
70
65
65
60
65
65
60
65
65
60
65
65
70
65
65
60
65
65
60
65
65
77
77
82
77
77
72
72
77
77
72
72
77
77
77
94
89
89
89
89
79
84
84
84
84
84
84
84
84
84
84
84
89
84
79
79
79
79
79
84
84
84
84
84
84
84
96
91
96
96
96
96
96
91
91
91
91
96
96
96
96
103
103
118
103
103
103
113
118
113
118
103
103
103
130
115
115
130
125
130
125
120
120
125
115
110
110
110
137
137
132
142
142
137
142
142
137
142
142
132
127
127
127
122
122
127
149
154
154
149
144
149
144
149
154
161
156
156
156
156
166
163
173
173
173
178
178
175
180
180
192
192
187
187
192
197
192
204
204
204
204
204
216
216
216
228
223
235
1
1
1
1
1
1
1
1
1
1
1
1
8
13
15
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
51
51
41
46
46
46
53
53
53
48
58
48
53
53
53
53
53
53
48
58
53
53
53
48
48
48
48
65
60
70
65
60
65
65
65
60
60
65
65
60
60
65
65
60
65
65
65
65
77
72
72
77
77
77
72
77
89
94
84
89
89
84
84
84
84
84
89
89
84
84
84
79
79
79
84
84
84
84
84
84
79
84
84
84
106
101
96
101
91
96
91
96
96
96
96
91
91
91
91
91
96
91
96
96
103
108
118
103
103
103
103
103
130
115
115
125
130
130
120
120
125
130
110
110
110
110
142
137
142
137
142
137
137
132
132
132
127
127
122
122
149
144
149
154
144
149
149
144
154
149
144
149
156
161
161
166
166
166
161
163
163
168
168
173
178
175
185
185
185
190
190
192
192
187
204
204
199
199
204
204
204
216
216
216
216
216
223
223
223
235
235
242
1
1
1
1
1
1
1
1
1
1
1
8
20
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
51
41
46
41
46
46
41
46
41
46
41
46
41
58
53
58
58
53
58
48
58
48
53
48
48
53
53
60
60
60
65
65
65
65
65
60
60
65
60
60
60
60
60
65
77
82
72
77
72
72
72
77
77
77
77
72
77
89
89
84
89
89
89
89
84
84
84
84
89
89
84
84
89
79
84
79
84
84
84
84
84
84
79
101
106
101
101
96
91
96
91
91
96
96
91
91
113
108
108
108
118
108
113
103
103
103
98
103
103
103
120
115
130
130
120
130
115
115
110
142
132
137
142
142
137
142
127
127
122
122
154
149
154
144
149
144
144
144
144
149
156
161
161
161
156
166
161
161
173
168
173
178
178
178
173
175
175
180
180
185
190
197
197
187
197
202
202
204
204
199
211
216
211
211
216
216
216
223
223
223
223
223
235
235
235
247
242
254
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
8
20
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
51
46
41
46
41
58
53
53
53
58
58
48
48
53
53
53
53
53
53
53
48
53
53
58
58
58
58
60
65
65
60
60
60
65
60
60
60
65
65
65
72
72
77
72
72
72
72
77
77
77
72
72
89
94
84
84
84
89
79
79
84
84
84
84
79
84
84
84
84
84
84
84
84
84
84
101
101
101
101
96
96
91
91
96
101
91
96
96
91
96
96
91
108
113
108
108
108
118
103
103
103
125
120
120
130
125
115
110
110
115
115
132
142
142
142
122
127
122
127
149
144
149
154
149
149
154
161
161
156
156
156
161
166
166
163
173
163
173
173
178
173
173
185
180
180
190
190
185
185
187
187
192
192
197
197
204
204
199
204
209
209
216
216
211
223
218
218
223
223
223
235
235
235
235
235
242
242
242
259
266
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
8
8
8
8
15
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
46
51
46
41
58
53
53
53
53
53
53
53
53
48
53
53
53
58
58
60
60
65
65
65
60
60
60
65
65
60
65
65
65
65
65
65
65
65
77
72
72
77
72
72
77
72
67
72
72
84
89
89
89
79
79
84
84
89
89
89
89
89
79
84
84
84
84
84
84
79
84
84
84
96
101
96
106
96
106
96
91
91
91
96
91
91
91
108
108
108
108
103
103
108
118
103
113
103
98
113
125
120
120
130
115
110
110
115
115
115
137
142
137
132
122
127
132
144
154
154
149
156
161
166
166
161
163
168
168
173
173
178
173
178
175
175
185
185
185
190
185
180
197
192
192
197
197
197
192
199
199
199
199
204
209
216
216
211
216
221
221
223
223
218
235
230
230
235
235
235
242
242
242
242
242
254
254
254
271
278
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
20
15
20
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
51
46
51
41
41
41
46
46
46
41
58
53
53
53
53
53
53
53
53
53
53
58
53
53
53
60
60
60
60
70
60
65
65
65
65
65
65
72
77
72
67
67
67
72
77
77
77
72
72
72
72
72
72
72
77
77
77
77
89
89
84
89
89
89
84
89
89
89
89
89
89
79
84
84
79
84
84
84
84
84
101
101
96
96
91
96
96
96
96
101
101
101
101
101
106
96
91
91
91
91
96
118
118
103
103
108
98
113
103
120
120
120
115
130
115
110
125
115
110
115
115
125
115
137
142
122
132
132
149
149
144
144
144
156
161
166
163
173
178
178
173
175
180
180
180
185
190
185
190
187
197
197
197
197
187
192
192
204
199
199
209
209
204
204
211
211
211
211
216
216
223
223
218
223
228
228
235
235
230
242
237
237
242
242
254
254
254
266
266
266
283
290
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
20
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
46
51
46
53
53
53
53
58
53
70
65
65
65
65
65
60
60
60
60
60
60
60
60
65
65
60
60
60
65
65
65
65
67
67
82
72
72
72
77
72
72
72
72
72
72
72
72
77
77
84
79
79
79
89
89
89
89
84
84
89
89
89
84
89
84
84
84
84
84
84
84
101
101
96
96
91
96
96
91
96
96
91
101
96
101
101
101
101
101
96
96
96
96
91
96
96
96
108
108
108
108
108
108
108
108
118
103
103
130
130
115
115
110
115
115
110
115
115
125
115
137
132
137
142
132
122
132
132
132
149
149
144
144
161
156
151
163
173
178
175
180
185
190
185
192
187
192
192
197
197
197
197
199
209
204
204
209
199
204
204
199
216
211
216
216
216
211
216
218
218
218
218
223
228
235
235
235
230
235
240
240
242
242
242
237
242
242
249
249
254
254
266
266
266
278
278
278
295
302
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
51
41
41
41
41
41
41
41
51
41
41
46
46
41
46
41
46
41
46
41
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
70
70
70
60
60
60
60
60
60
70
65
65
65
60
60
60
60
60
60
65
65
65
65
65
65
65
65
60
82
72
72
67
67
72
72
67
72
67
72
72
72
72
72
77
72
72
72
72
72
72
79
79
89
89
89
89
79
89
89
89
89
89
89
84
84
89
89
89
84
84
84
79
84
79
79
84
84
84
91
91
91
96
96
96
91
96
101
101
96
101
96
96
91
96
96
96
96
96
96
96
96
96
108
108
108
108
103
108
108
108
108
108
108
113
103
98
108
103
103
120
120
120
120
120
130
115
110
115
115
115
115
115
115
137
142
137
137
142
137
122
132
149
139
149
149
139
144
144
139
161
151
151
168
163
158
175
185
190
192
197
197
192
187
199
199
199
199
204
209
204
209
211
216
216
216
216
211
211
216
223
223
218
228
228
228
230
230
230
240
247
242
242
237
247
252
252
254
254
254
261
261
266
266
278
278
278
290
290
290
307
314
1
1
1
1
1
1
1
1
1
1
8
8
8
13
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
41
41
41
41
51
41
46
46
41
46
41
58
58
53
53
53
53
53
53
58
53
53
53
53
58
58
58
58
70
60
60
65
65
70
70
65
60
60
60
60
70
65
65
65
65
60
65
65
65
65
60
82
82
82
72
72
72
67
72
82
72
72
67
72
72
72
72
72
72
72
72
67
77
72
77
72
72
72
72
67
72
89
79
84
79
84
89
89
89
89
89
89
79
89
89
89
84
84
84
84
84
84
84
84
79
79
84
84
84
84
91
91
96
96
96
96
96
96
91
101
101
101
96
96
96
96
91
96
96
96
96
91
91
96
96
96
96
96
96
96
108
108
108
108
108
103
108
108
103
103
98
108
108
103
103
120
120
120
120
120
120
120
115
115
115
125
110
110
110
115
132
137
137
142
122
132
132
132
132
149
149
149
149
154
154
139
161
161
151
151
151
151
173
158
158
180
175
170
197
197
187
199
204
209
204
199
211
211
211
211
216
216
216
216
216
218
228
223
223
228
218
235
235
230
240
240
240
237
237
242
252
259
254
249
259
264
264
266
266
266
273
273
278
278
290
290
290
302
302
302
319
326
1
1
1
1
1
1
1
8
8
8
8
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
51
41
41
41
41
46
46
41
41
41
58
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
70
70
65
70
70
70
65
60
65
65
65
60
60
60
65
65
65
65
65
82
67
82
82
72
67
72
82
77
72
72
72
72
72
72
72
72
72
67
72
72
77
67
67
72
72
72
89
84
79
79
79
79
84
89
89
79
84
84
84
84
84
84
84
84
84
84
84
79
84
84
79
84
94
94
101
91
91
91
91
96
101
101
101
101
96
96
96
96
96
91
101
96
96
96
96
96
96
91
96
91
91
91
96
96
103
103
108
108
108
108
108
108
103
108
103
108
103
108
103
103
120
120
120
120
120
115
115
115
115
115
110
110
115
115
115
115
137
137
137
137
132
132
132
132
127
127
132
132
139
149
149
154
144
144
144
144
161
161
161
161
166
166
151
168
163
173
158
158
185
170
187
192
182
209
209
199
199
216
216
211
211
218
218
218
223
228
223
228
223
230
235
235
240
230
247
242
247
252
252
252
249
249
254
264
271
266
261
271
276
276
278
278
278
285
285
290
290
302
302
302
314
314
314
338
1
1
1
1
1
1
8
8
20
27
27
27
27
27
27
27
27
27
27
27
27
34
39
34
34
34
34
34
34
34
34
46
46
46
51
51
41
41
51
51
51
41
41
41
46
46
46
41
46
41
58
53
58
53
53
53
53
53
53
53
53
53
53
58
53
53
53
70
60
70
70
70
70
65
65
65
60
60
60
65
60
60
60
60
60
65
65
72
67
67
82
82
82
67
67
77
72
72
72
72
67
72
67
72
72
72
72
72
82
82
89
79
79
79
89
89
79
79
79
84
89
89
79
79
84
84
84
84
84
84
84
84
84
84
84
94
101
91
91
101
91
96
91
96
96
96
96
96
96
96
91
91
96
96
91
106
106
103
103
108
108
108
103
98
113
108
103
108
108
113
103
113
103
103
113
120
120
120
120
120
120
120
115
115
115
115
110
110
110
110
115
115
110
132
137
137
137
132
132
127
127
149
149
149
149
144
144
139
144
144
144
161
161
166
151
151
151
151
168
168
173
178
178
173
180
175
185
170
170
197
182
199
199
204
194
216
216
211
228
223
218
223
230
230
240
235
240
237
242
247
247
252
237
242
259
254
259
264
264
264
261
261
266
276
283
278
273
283
288
288
290
290
290
297
297
302
302
314
314
314
326
326
321
350
1
1
1
1
1
1
1
8
20
20
20
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
46
51
41
41
41
51
41
41
41
41
46
46
41
41
46
41
58
53
53
58
58
58
53
53
53
58
53
53
63
63
65
70
60
70
70
65
60
65
65
60
65
60
65
60
65
60
65
65
65
60
72
67
82
82
77
67
82
72
77
77
72
72
67
72
72
72
72
72
72
67
72
82
79
89
89
89
89
79
79
79
89
89
84
79
79
84
84
84
84
94
79
84
84
84
84
84
89
89
91
91
101
91
91
101
91
91
96
96
96
96
96
96
91
106
103
98
108
108
103
103
103
108
113
108
103
103
113
113
113
115
120
120
120
120
110
125
115
115
110
115
115
125
110
125
110
115
125
132
127
132
132
127
127
127
149
149
149
144
144
144
161
161
161
161
151
151
151
151
151
151
168
168
178
158
158
158
158
180
185
185
185
185
187
197
192
182
182
199
209
194
211
216
206
216
228
228
223
218
218
240
230
235
237
252
242
242
252
249
254
259
259
264
249
254
271
266
271
276
276
273
273
278
288
295
290
285
295
300
302
302
302
309
309
314
314
326
326
321
338
362
1
1
1
1
1
1
1
1
1
20
20
20
27
32
27
27
27
27
27
27
34
34
34
34
34
34
41
41
41
41
41
46
41
46
41
41
41
41
46
41
53
53
58
53
53
53
53
53
53
63
70
70
70
60
70
60
65
65
60
65
60
65
65
65
65
65
70
70
77
72
82
67
67
72
72
77
77
72
72
72
67
72
82
72
72
72
72
82
89
79
89
84
89
89
79
89
89
89
84
84
79
84
84
84
84
79
84
84
94
79
79
79
84
84
84
79
84
89
101
101
101
91
101
101
96
91
96
91
106
91
96
86
96
96
96
103
118
103
108
103
108
103
103
113
108
98
108
113
120
115
115
115
115
110
115
125
115
110
115
125
120
120
132
127
127
132
132
132
132
122
132
144
144
144
161
161
161
151
151
156
168
168
173
158
158
158
158
173
158
158
158
158
158
180
185
170
170
170
170
197
197
192
197
197
199
204
204
194
194
216
216
206
218
218
223
223
218
228
223
235
240
230
252
237
242
249
264
254
254
264
261
266
271
271
276
261
266
283
278
283
285
285
290
300
307
302
297
307
312
314
314
314
321
321
326
326
333
350
374
1
1
1
1
1
1
1
8
27
32
27
27
27
39
34
34
41
51
51
41
41
46
41
41
41
46
58
53
53
53
53
53
53
58
70
70
70
60
60
65
65
60
65
60
65
65
65
60
70
82
82
72
82
72
72
72
72
67
72
72
82
77
67
72
72
72
72
77
77
89
89
84
89
79
84
79
79
84
84
84
79
84
89
79
79
79
84
84
84
84
84
94
101
91
101
91
101
101
96
96
86
96
96
91
101
91
91
106
91
96
91
96
108
103
108
113
103
98
113
108
113
113
113
98
108
108
108
115
130
120
120
110
110
110
115
115
110
125
115
110
115
115
115
115
120
120
120
132
127
132
132
132
144
139
144
139
139
139
156
151
151
168
168
173
158
158
158
158
168
180
170
170
170
185
185
170
170
197
192
182
182
182
182
204
204
204
204
204
204
216
216
216
206
206
228
223
218
228
223
213
230
235
240
230
242
247
252
237
264
249
254
261
276
266
266
276
273
278
283
283
273
278
295
290
295
297
297
302
314
309
319
324
326
326
321
333
328
338
362
386
1
1
1
1
1
1
8
8
8
27
27
27
27
27
27
34
34
46
41
41
41
46
46
53
53
53
53
58
53
53
53
53
63
53
53
65
70
70
70
65
60
60
65
60
60
60
60
60
65
65
65
60
65
82
77
77
72
72
72
72
72
72
82
72
77
67
72
72
72
72
67
72
77
89
89
89
89
79
79
79
84
79
84
84
94
84
79
84
84
84
84
84
96
96
91
101
91
91
96
91
91
96
91
96
96
91
101
108
108
108
98
103
108
108
108
113
113
103
98
103
113
108
120
115
115
125
110
125
110
115
120
125
125
110
115
110
115
115
120
142
132
127
132
122
132
132
132
139
139
139
139
144
144
151
151
151
151
151
168
158
158
158
180
185
170
170
175
182
182
182
197
192
197
182
182
204
204
194
194
194
194
216
216
216
216
216
223
228
223
218
223
223
218
213
240
235
237
242
252
242
254
259
264
249
276
261
266
273
278
278
288
285
290
295
295
285
290
307
302
307
309
309
314
326
316
321
331
336
333
345
350
374
398
1
1
1
1
1
8
8
8
27
27
27
27
34
34
34
34
34
34
34
34
34
46
46
41
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
70
70
60
60
65
60
60
65
60
70
60
60
60
60
60
60
65
65
77
82
82
82
77
67
72
72
72
72
67
72
72
67
72
72
72
72
72
72
72
72
72
89
89
79
84
84
84
94
84
84
84
84
84
84
84
84
79
84
101
91
91
91
101
96
86
96
96
108
108
108
103
98
108
108
103
103
103
108
120
120
115
115
115
110
115
115
125
120
120
110
110
115
125
132
132
132
132
132
122
132
132
144
139
154
139
144
144
144
151
151
156
156
158
163
158
158
163
175
170
170
197
192
182
182
187
194
194
194
209
204
204
194
194
216
216
206
206
206
206
218
223
223
223
240
235
235
225
252
237
237
247
249
254
264
254
266
271
276
261
288
273
278
285
290
290
300
297
302
307
297
302
302
314
321
326
316
321
333
343
348
357
362
386
410
1
1
1
1
1
8
27
27
34
34
34
34
41
46
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
65
65
70
60
60
65
65
60
65
60
60
60
60
60
82
82
72
72
72
72
72
67
72
72
77
67
72
72
72
72
72
72
89
89
89
84
84
84
84
84
79
84
84
84
84
84
84
94
84
84
94
79
84
84
86
91
101
91
101
96
96
91
96
96
91
108
103
108
108
103
103
120
110
110
115
110
115
110
110
115
120
115
132
132
132
132
132
132
139
139
144
139
139
139
144
144
151
151
166
151
156
156
156
163
158
158
168
168
170
175
170
170
175
187
182
182
209
204
194
194
194
206
206
206
216
216
216
206
206
223
218
218
218
213
235
235
237
252
237
237
247
242
264
249
249
259
261
266
276
266
278
283
288
273
300
285
290
297
302
302
307
309
314
309
314
326
321
328
333
333
355
360
369
374
398
422
1
1
1
1
1
1
20
27
27
27
34
34
34
34
41
41
41
41
53
53
53
53
53
53
53
53
53
53
65
65
70
60
60
65
60
60
65
82
67
72
72
72
72
72
72
72
72
72
72
72
72
89
89
89
89
89
84
84
84
84
94
84
79
84
84
84
84
84
84
79
84
79
96
96
96
91
91
96
91
106
91
106
91
101
96
91
108
108
108
108
103
103
103
108
120
110
115
110
110
110
115
115
132
132
144
139
139
144
144
144
139
139
139
151
156
151
151
151
156
158
163
178
158
158
163
168
168
175
170
170
180
182
187
182
182
187
194
194
194
216
216
206
206
206
218
218
218
228
223
223
218
235
225
230
237
247
242
242
242
249
264
259
254
276
261
261
271
273
278
288
278
290
295
300
285
297
302
307
309
314
314
326
321
316
321
333
333
367
372
381
386
410
434
1
1
1
1
1
1
8
8
20
20
27
27
34
34
34
41
41
41
53
53
53
53
53
65
60
60
60
60
82
72
72
72
72
67
72
67
72
72
72
72
72
89
89
89
84
84
84
79
84
84
84
84
84
79
79
94
84
79
96
96
96
91
106
96
91
91
96
96
91
101
91
91
101
91
108
108
103
108
108
113
113
103
113
103
110
110
115
115
115
115
115
115
120
132
144
139
139
139
139
151
151
156
156
151
151
158
168
163
163
158
158
170
175
185
170
170
175
180
187
182
182
192
194
199
194
194
204
199
206
206
206
228
223
218
223
235
235
235
225
225
230
237
242
237
242
259
254
254
261
276
271
266
288
273
273
283
285
290
300
290
302
307
297
302
307
309
314
321
326
321
328
333
333
379
384
393
398
422
446
1
1
1
1
8
8
8
15
20
27
34
34
41
41
41
41
41
41
53
53
53
53
53
53
60
60
60
60
65
67
72
72
72
72
72
72
89
89
84
84
79
79
94
84
84
79
84
79
79
96
96
96
91
101
91
91
96
96
91
106
91
91
96
108
108
113
103
108
108
108
108
103
108
103
118
115
115
120
120
110
115
110
120
115
120
115
115
115
120
120
127
122
137
144
139
139
139
151
146
151
158
163
168
158
170
175
175
170
170
175
182
187
197
182
182
187
192
194
204
194
206
206
206
211
213
213
213
235
235
225
237
237
247
242
247
237
242
249
254
249
254
271
266
266
273
288
283
278
300
285
285
295
297
302
302
307
314
309
314
321
326
321
328
333
333
391
396
405
410
434
458
1
1
8
8
8
8
15
20
27
27
41
41
41
41
53
53
53
53
53
53
60
60
60
60
60
60
60
65
72
72
72
72
72
72
72
89
89
89
84
79
79
79
79
79
84
79
84
84
79
84
84
84
96
96
96
91
106
91
91
108
108
98
108
103
108
108
98
103
113
103
103
110
115
120
115
120
115
115
115
110
120
115
115
115
130
132
132
122
132
127
139
139
139
149
151
151
158
158
163
170
175
170
182
187
187
182
182
194
204
199
204
194
194
194
204
194
206
206
216
218
213
213
213
223
225
247
242
259
254
259
249
254
261
266
261
266
283
278
278
285
300
290
297
297
307
307
309
314
314
326
321
328
333
333
333
403
408
417
422
446
470
1
1
1
8
20
20
20
20
27
27
34
41
41
41
41
41
53
53
53
53
53
53
53
53
70
65
60
60
60
60
60
77
72
72
77
72
72
72
89
79
79
84
79
79
79
84
84
79
79
84
84
84
84
96
96
91
91
91
91
101
96
108
108
98
103
113
98
103
115
115
110
120
115
115
110
115
120
115
115
132
127
122
132
137
142
139
144
144
139
151
151
161
158
163
170
170
175
182
187
182
194
194
199
194
194
204
194
206
216
206
206
216
218
213
213
225
225
235
237
259
254
271
266
271
261
266
273
278
273
278
290
290
297
302
307
309
309
319
321
326
326
328
333
333
333
415
420
429
434
458
482
1
1
1
1
1
20
27
27
27
34
34
39
46
41
41
41
41
41
48
48
53
53
53
53
53
58
53
53
53
70
65
65
60
60
82
77
77
72
72
72
77
72
89
79
84
84
79
79
84
79
84
79
84
84
91
91
91
91
101
91
91
108
103
103
103
108
115
110
115
120
115
120
115
127
132
122
122
139
144
134
144
149
149
156
156
146
163
163
158
158
158
158
168
170
175
175
182
182
187
194
204
194
194
206
206
206
216
218
213
223
223
213
213
228
225
247
249
271
266
283
278
283
273
278
285
290
285
290
302
302
309
314
314
321
321
331
328
333
333
338
427
432
441
446
470
494
1
1
1
8
20
39
34
39
39
46
46
41
41
46
41
41
53
53
53
48
53
58
53
60
65
70
65
60
60
82
77
72
72
72
72
72
89
84
79
84
94
84
91
101
91
96
91
91
103
103
103
108
103
110
115
120
110
110
110
115
130
132
127
122
127
134
156
146
146
146
156
161
161
158
158
168
168
158
175
170
170
180
170
182
187
194
194
194
206
216
206
216
218
218
213
223
223
213
213
228
225
240
237
259
261
283
278
295
290
295
285
290
297
302
297
302
314
309
321
326
321
333
345
350
439
444
453
458
482
506
1
1
1
1
1
8
8
15
20
34
34
51
46
41
41
41
58
58
48
53
53
58
48
65
60
65
60
60
60
65
72
82
72
72
72
94
89
84
84
101
91
96
91
106
108
103
108
110
110
110
110
115
110
120
120
127
127
132
142
134
146
158
168
158
158
158
163
168
168
170
170
180
187
182
182
187
194
194
206
206
218
218
213
223
223
213
228
225
225
252
249
271
273
295
290
307
302
297
302
309
309
309
314
326
338
345
357
362
451
456
465
470
494
518
1
1
1
1
1
1
1
1
1
8
8
13
20
15
20
27
34
34
34
46
51
46
41
53
53
53
58
53
58
53
53
48
65
65
60
65
65
70
60
60
60
72
72
72
72
84
94
84
79
101
101
96
91
96
108
108
113
113
115
110
115
110
120
120
120
127
134
139
144
139
154
146
158
158
158
170
170
170
170
175
180
182
182
192
194
194
204
194
206
216
218
218
213
223
223
213
225
235
225
264
261
283
285
307
302
314
309
314
321
321
326
328
333
350
357
369
374
463
468
477
482
506
530
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
8
8
13
15
15
27
27
27
34
34
34
34
34
34
34
46
51
51
46
53
58
53
53
58
58
53
53
53
53
53
53
65
60
60
70
65
65
65
60
60
60
70
72
72
77
77
82
72
84
89
89
101
91
96
91
91
96
108
108
113
120
120
120
115
110
120
125
120
127
139
139
146
151
156
161
158
158
170
170
182
182
182
182
177
187
187
194
194
199
206
206
216
218
223
213
225
225
225
276
273
295
297
314
321
321
326
328
333
338
362
369
381
386
475
480
489
494
518
542
1
1
1
1
1
1
1
1
1
1
1
8
8
8
8
8
8
15
20
20
20
27
27
27
27
27
27
34
39
34
39
34
34
34
34
34
46
51
41
41
46
41
53
53
58
53
58
48
53
58
58
58
53
53
65
65
65
60
70
60
60
65
70
65
70
65
60
60
77
72
72
72
72
72
77
77
77
72
72
72
82
84
84
94
84
84
84
84
96
96
101
101
96
108
118
120
115
120
125
120
132
137
139
139
139
139
151
158
163
163
173
170
170
177
194
194
194
199
199
206
206
211
216
228
228
218
218
223
225
237
288
285
307
309
309
316
321
328
333
338
345
350
374
381
393
398
487
492
501
506
530
554
1
1
1
1
1
1
1
1
1
1
1
1
8
8
15
20
15
15
27
27
27
27
27
34
39
34
34
39
34
34
34
34
34
34
34
34
34
51
41
41
46
46
41
41
46
41
51
46
41
41
53
58
58
53
58
63
58
53
58
53
58
58
53
58
58
53
48
53
53
58
58
58
58
53
53
60
60
65
65
65
60
60
70
70
60
77
77
77
72
72
72
72
72
82
82
72
72
77
72
72
72
89
84
84
84
89
84
84
84
89
89
96
96
106
91
96
96
96
108
108
108
108
115
130
120
132
132
137
144
139
139
139
139
144
151
158
163
170
175
180
182
182
199
204
199
199
206
206
216
211
201
211
218
218
240
240
230
225
235
249
300
297
309
319
316
316
345
350
357
362
386
393
405
410
499
504
513
518
542
566
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
13
8
15
27
27
27
27
27
27
27
27
34
34
34
34
34
39
39
34
34
34
34
39
34
34
34
34
34
46
46
51
51
41
46
41
46
41
51
41
46
41
46
41
53
53
53
58
58
58
58
53
58
53
53
48
58
53
58
58
53
53
53
58
53
58
58
53
53
53
65
70
65
75
60
65
65
65
60
65
60
70
60
65
60
70
65
65
72
72
72
72
72
72
77
82
82
82
72
72
72
72
72
77
72
72
89
89
89
84
94
94
84
84
89
84
79
79
101
96
96
96
101
96
101
91
96
96
103
108
118
115
120
115
115
115
142
137
144
139
144
156
156
163
170
182
182
187
194
194
189
199
199
216
211
211
216
218
218
228
225
230
252
252
242
261
312
309
316
321
331
328
357
362
369
374
398
405
417
422
511
516
525
530
554
578
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
13
13
13
13
13
20
20
20
20
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
51
51
51
51
46
46
46
51
46
46
41
46
41
41
46
41
46
41
46
41
46
41
53
53
53
53
53
58
58
58
58
53
53
53
48
58
58
53
58
53
58
53
58
48
53
53
58
58
53
53
53
60
60
65
65
65
60
70
65
60
60
65
65
60
65
65
65
60
60
72
72
77
72
77
72
72
77
77
77
72
72
72
72
77
72
72
72
72
67
77
84
87
84
89
94
94
94
84
84
84
89
84
101
101
101
96
106
96
96
101
96
106
113
108
103
108
113
103
108
108
115
130
110
110
127
132
149
139
149
139
156
156
163
163
182
177
204
189
211
206
211
211
216
228
213
213
235
240
230
242
264
264
254
273
324
316
316
321
343
369
374
381
386
410
417
429
434
523
528
537
542
566
590
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
8
8
13
13
13
13
8
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
39
34
34
34
39
34
34
34
34
34
34
34
34
51
46
46
46
46
51
51
46
41
46
46
46
46
41
46
41
46
46
46
46
51
46
46
46
41
46
41
41
41
41
46
41
46
41
51
46
41
58
53
53
53
53
58
53
58
58
53
58
48
48
53
58
53
53
53
53
48
53
58
58
58
58
58
58
58
53
53
53
53
53
65
65
65
65
60
70
60
60
65
65
60
65
65
65
65
65
60
60
65
70
65
65
60
60
65
60
65
72
72
77
77
82
77
72
72
72
72
77
72
72
72
67
72
77
89
89
84
84
89
89
84
89
84
89
89
84
96
99
101
106
106
106
96
96
96
101
91
96
113
113
113
103
108
108
103
118
118
103
115
125
120
125
115
120
110
110
127
142
139
139
139
161
161
163
163
163
175
177
194
204
194
216
213
213
223
235
240
247
252
242
254
276
276
266
285
336
328
355
381
386
393
398
422
429
441
446
535
540
549
554
578
602
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
8
13
13
13
13
8
13
8
20
15
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
34
34
34
39
34
34
39
34
39
34
39
34
39
34
34
34
34
39
34
34
34
34
34
34
34
51
46
46
46
41
46
46
51
46
51
46
51
46
41
46
41
41
41
41
51
53
58
58
58
63
58
48
58
53
53
53
53
58
53
53
58
58
53
53
58
58
58
53
53
53
58
58
53
58
58
53
53
53
53
53
53
53
53
58
65
65
65
65
70
65
70
70
60
60
60
65
65
60
65
65
60
65
65
60
60
60
70
65
65
65
60
65
70
65
65
70
72
82
77
77
72
72
77
77
77
77
72
72
72
82
82
72
72
72
72
72
77
77
84
89
89
94
89
84
84
89
84
89
79
84
84
84
101
101
101
96
96
96
96
101
91
91
101
96
108
113
118
118
103
103
108
103
111
108
108
115
120
130
130
125
125
125
120
110
110
127
137
132
137
149
139
139
139
151
151
168
168
175
182
204
189
204
206
213
213
223
223
235
252
237
259
264
254
266
288
288
278
297
316
348
367
393
398
405
410
434
441
453
458
547
552
561
566
590
614
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
13
13
13
13
8
13
13
15
15
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
34
34
34
34
39
39
39
34
34
34
34
34
39
34
34
39
34
34
34
34
34
34
46
46
41
51
46
51
51
46
46
46
51
46
41
41
46
46
58
63
58
53
63
53
48
53
53
53
58
58
53
58
58
58
58
58
58
58
53
53
53
53
53
53
53
53
53
53
58
65
70
70
70
65
60
65
65
65
65
65
60
65
70
70
70
60
65
60
60
65
65
65
65
60
60
70
65
65
65
77
72
77
72
77
72
72
77
72
72
77
72
72
72
82
82
72
82
72
72
72
72
82
67
77
72
77
77
84
94
89
89
84
84
89
89
89
84
84
84
84
84
84
89
94
84
84
84
84
101
96
101
91
96
96
101
91
91
113
108
103
108
108
113
113
108
103
103
108
125
120
130
130
123
120
120
127
132
137
142
137
137
137
137
139
144
144
149
139
139
161
151
163
158
180
182
194
189
216
218
213
213
223
223
235
235
237
242
242
264
249
271
276
266
278
300
300
290
309
328
360
379
405
410
417
422
446
453
465
470
559
564
573
578
602
626
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
8
8
8
13
13
8
8
13
20
15
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
34
34
34
39
34
39
34
34
34
34
34
34
39
39
34
34
34
34
34
34
34
34
46
46
46
46
51
46
46
51
46
46
46
51
51
41
41
46
41
46
46
46
53
53
63
63
58
58
58
53
53
53
53
58
58
48
48
53
53
53
58
48
53
53
53
53
53
53
60
65
70
75
65
70
70
75
60
65
60
70
70
70
70
65
60
65
60
60
65
60
65
65
65
65
65
72
77
82
77
77
72
77
72
72
72
77
77
82
72
72
77
67
82
82
82
72
82
77
77
89
84
84
89
89
84
89
84
89
89
94
89
94
89
84
79
79
84
96
106
101
101
96
96
91
96
96
96
91
91
91
101
96
91
91
108
108
113
108
115
125
120
115
125
125
115
120
120
115
115
132
142
142
137
135
132
144
139
149
149
149
149
149
149
151
156
151
156
168
163
170
187
206
216
218
223
223
223
225
235
235
237
237
237
242
242
242
254
276
261
283
288
278
290
302
312
321
328
372
391
417
422
429
434
458
465
477
482
571
576
585
590
614
638
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
8
13
13
8
13
13
13
8
20
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
39
34
34
34
34
34
34
34
34
46
46
51
46
51
46
41
46
46
46
51
46
46
46
41
46
41
46
41
41
46
41
46
58
63
53
48
58
63
63
53
53
63
58
58
58
53
53
58
53
53
53
65
65
70
75
70
70
70
60
60
65
60
70
70
65
70
70
75
65
60
60
70
65
60
65
75
75
65
65
65
72
77
77
77
82
72
72
72
72
72
82
82
82
72
77
67
72
72
87
72
72
72
77
77
84
89
84
94
89
89
84
84
89
84
89
89
89
89
89
94
89
89
84
84
96
101
96
96
101
91
96
96
91
101
91
101
96
101
106
96
113
108
108
103
113
108
108
103
120
125
115
120
115
120
127
137
132
127
137
137
144
154
154
149
142
139
139
139
156
151
161
156
156
156
156
161
163
163
163
168
158
168
180
170
182
182
204
204
218
213
235
235
235
237
237
242
242
242
242
242
242
242
242
242
247
249
249
254
261
288
268
295
290
302
314
324
333
384
403
429
434
441
446
470
477
489
494
583
588
597
602
626
650
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
13
8
13
8
13
13
8
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
39
34
34
34
34
39
34
34
34
34
34
34
46
46
46
46
46
51
41
46
46
46
46
41
46
46
46
41
46
51
46
41
46
46
46
41
41
46
46
41
58
58
53
58
58
53
53
58
53
53
53
58
53
58
53
58
53
58
53
53
53
53
65
70
65
75
70
75
65
75
65
65
75
70
70
65
75
75
70
65
60
65
60
82
82
77
72
72
77
72
72
82
77
77
82
77
72
82
72
82
72
77
82
82
77
77
82
72
72
72
72
72
94
84
84
84
89
94
89
79
79
84
89
94
89
87
84
84
84
84
96
106
96
101
96
96
96
96
96
96
101
96
91
101
96
96
96
96
101
101
106
96
96
108
103
103
108
108
108
113
113
103
125
115
125
120
115
115
120
132
137
139
149
139
139
144
144
139
139
139
156
161
161
161
154
151
151
163
163
168
168
168
168
168
168
158
168
158
158
158
158
158
158
158
158
170
170
175
170
192
182
189
194
204
223
223
223
223
230
225
242
237
242
242
242
242
242
242
242
249
254
254
254
254
254
259
256
261
261
307
302
314
326
336
345
396
415
441
446
453
458
482
489
501
506
595
600
609
614
638
662
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
13
13
13
13
13
13
13
8
20
20
20
20
20
25
25
20
25
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
39
39
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
51
51
46
51
41
46
51
46
46
46
46
41
51
46
46
41
51
41
41
46
41
46
41
58
58
58
53
53
58
58
58
58
58
63
58
58
53
53
53
53
53
53
58
53
53
53
53
65
75
65
70
75
70
75
70
65
65
65
65
65
60
65
65
60
65
65
65
60
77
82
82
82
77
77
82
72
72
87
82
82
77
82
87
72
72
67
72
94
84
94
89
89
87
94
89
89
84
84
79
79
84
94
94
94
94
84
84
84
96
96
96
101
96
101
91
96
106
101
106
101
99
108
113
103
103
103
103
118
108
103
108
108
108
108
113
103
103
115
115
115
120
120
125
115
120
127
137
137
132
127
127
144
144
139
139
139
151
156
151
151
156
156
151
163
173
173
168
161
158
158
158
158
158
158
158
158
158
158
158
175
170
180
175
175
175
180
170
170
170
170
170
182
182
187
182
204
189
204
201
218
223
223
223
235
235
235
225
235
242
242
237
237
242
242
242
242
242
242
254
254
254
254
261
261
266
261
266
261
266
268
314
326
338
348
357
408
427
453
458
465
470
494
501
513
518
607
612
621
626
650
674
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
13
13
13
13
8
13
13
13
8
8
13
8
20
20
20
25
20
25
25
25
25
25
27
27
27
27
27
27
27
27
27
27
27
27
32
32
32
32
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
51
51
41
46
46
46
46
46
51
41
46
51
41
46
46
46
46
46
46
58
58
58
58
58
58
58
58
53
58
58
53
53
58
48
58
53
53
53
53
53
53
63
53
53
63
53
58
65
65
65
65
75
65
65
65
60
65
75
65
70
60
60
60
65
60
70
70
65
60
77
77
82
82
82
77
77
82
72
72
77
77
67
72
72
87
72
77
72
72
94
89
94
94
94
89
79
79
84
94
94
99
94
89
84
79
84
96
96
106
101
99
101
101
96
91
91
91
91
101
101
106
101
101
108
108
108
103
103
103
108
113
113
113
113
106
120
120
130
115
115
115
120
120
120
120
125
115
120
115
120
115
120
127
127
127
132
132
132
127
139
144
149
144
139
151
156
151
163
168
158
163
163
163
161
158
158
158
158
158
158
158
158
158
158
175
180
180
180
170
170
170
170
170
182
182
192
187
187
187
187
177
182
177
182
177
189
194
199
189
194
216
223
213
218
223
223
223
223
235
242
247
247
237
237
237
242
242
242
242
242
254
249
254
254
254
266
266
266
261
268
273
273
307
326
338
350
360
369
420
439
465
470
477
482
506
513
525
530
619
624
633
638
662
686
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
13
13
13
13
13
8
8
8
20
20
25
20
20
25
25
25
20
27
27
27
27
27
27
27
27
27
27
27
27
32
27
27
27
32
32
32
27
32
32
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
39
39
34
34
34
34
34
34
34
34
34
39
39
34
34
39
39
34
34
34
34
34
34
46
51
51
41
46
46
46
46
46
41
46
41
41
46
46
41
46
46
46
46
46
46
58
58
53
58
58
58
58
58
58
48
53
58
53
53
53
58
53
53
48
58
53
53
63
63
53
53
53
53
65
65
65
65
65
75
70
75
65
65
65
65
60
60
60
60
65
65
65
65
70
65
70
60
60
65
77
77
77
82
77
72
82
82
72
72
72
72
72
82
82
72
94
79
84
94
94
94
79
84
84
84
79
84
84
89
94
84
84
89
84
84
89
96
101
106
106
101
96
91
106
106
111
106
91
101
91
96
103
108
113
113
106
113
108
108
103
108
108
108
108
113
113
120
115
115
120
115
120
125
120
120
118
115
120
120
132
132
142
127
132
132
132
132
132
139
139
139
144
139
144
139
139
139
151
156
156
161
156
146
163
163
168
163
158
158
158
158
158
158
158
170
175
170
175
175
170
170
170
170
182
192
192
187
177
182
182
182
177
194
189
204
199
199
199
204
189
189
201
206
211
228
218
223
223
235
225
235
235
242
237
237
237
242
242
242
242
242
242
242
254
259
259
249
249
254
266
256
266
266
261
278
273
273
307
338
350
362
372
381
432
451
477
482
489
494
518
525
537
542
631
636
645
650
674
698
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
8
8
8
20
25
20
25
25
25
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
32
27
32
27
27
27
32
27
27
32
27
27
39
34
39
34
34
39
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
39
39
39
39
34
39
39
39
34
39
39
34
46
46
46
46
46
46
46
46
46
51
51
46
46
46
46
51
46
46
41
41
41
46
46
41
46
41
41
41
41
51
51
46
46
51
51
46
46
41
46
41
46
46
46
46
41
58
58
58
53
53
53
58
58
53
53
63
53
53
53
53
53
58
58
53
53
53
65
65
60
65
65
65
65
70
65
70
60
60
60
65
60
60
65
65
70
75
65
70
65
70
60
60
77
77
77
87
77
82
87
72
72
72
72
72
72
72
72
77
72
77
72
94
79
79
84
84
94
84
89
84
89
89
84
84
84
89
84
89
89
84
84
91
91
101
106
106
91
106
101
106
91
96
101
91
96
96
103
108
108
113
113
108
103
113
118
118
118
108
115
115
120
125
120
118
120
120
120
110
120
120
125
120
115
120
132
127
132
132
132
132
132
125
139
149
139
139
139
139
144
144
146
146
151
156
151
156
146
151
163
163
163
168
158
158
158
158
158
158
158
158
158
158
158
163
170
175
170
170
182
187
187
182
182
182
182
177
187
204
204
199
189
189
189
206
216
211
211
211
223
213
218
223
223
223
235
247
237
237
237
237
242
242
242
242
242
242
242
242
242
249
254
254
254
266
271
271
256
261
261
273
273
278
290
307
350
362
374
384
393
444
463
489
494
501
506
530
537
549
554
643
648
657
662
686
710
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
8
13
8
25
25
27
27
27
27
27
27
27
27
27
27
27
32
32
27
27
32
32
27
27
27
27
27
27
27
27
34
39
34
34
34
34
34
34
34
39
39
34
39
39
34
34
34
34
34
34
39
34
39
34
34
51
51
51
51
46
46
46
46
41
41
46
46
46
51
46
46
46
46
41
51
46
51
46
46
51
46
46
46
46
46
41
58
58
58
58
58
58
58
58
58
58
58
58
58
58
53
53
53
58
58
58
53
53
53
53
53
53
53
63
63
58
58
53
63
63
48
58
53
58
63
63
53
53
58
58
58
53
53
65
60
60
65
65
60
65
65
75
60
65
65
65
70
60
60
60
77
77
72
72
72
77
72
72
77
77
72
72
72
72
82
77
72
77
72
77
72
84
79
89
89
99
94
89
89
84
89
84
84
84
84
84
84
89
89
84
84
91
91
106
101
91
101
96
96
91
91
96
96
96
96
91
103
113
113
118
118
113
113
103
108
103
115
115
120
125
120
110
125
125
130
125
115
120
127
132
132
132
125
132
132
132
132
132
132
132
144
139
144
139
139
139
134
139
139
139
139
151
161
151
151
156
156
158
158
163
163
168
158
158
158
158
158
158
158
158
158
158
158
163
158
170
180
165
170
170
170
170
182
182
187
182
177
189
199
199
189
189
189
199
216
216
211
218
223
223
223
225
230
235
235
235
235
237
237
242
242
242
242
242
242
242
242
242
259
249
249
249
254
254
254
254
256
261
261
261
278
283
283
268
290
302
307
362
374
386
396
405
456
475
501
506
513
518
542
549
561
566
655
660
669
674
698
722
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
25
20
27
27
27
27
32
32
27
27
27
34
34
34
34
34
34
34
34
34
39
39
39
34
39
39
34
34
39
34
34
34
34
46
51
46
46
51
51
51
46
51
46
46
51
46
46
41
41
41
46
41
46
41
46
46
41
58
58
58
58
58
58
58
58
58
58
58
53
53
58
48
58
53
53
58
63
53
53
53
53
53
63
53
63
53
53
53
65
65
65
65
65
65
65
65
65
65
60
65
65
65
65
70
65
65
65
65
70
70
75
65
65
65
65
65
65
65
65
65
65
70
65
60
60
75
75
77
72
72
72
72
72
77
82
72
72
77
72
77
67
72
72
84
84
89
84
84
89
84
84
89
84
84
84
84
84
89
89
84
84
84
84
96
96
101
106
106
101
101
91
96
101
91
91
91
96
96
96
91
103
118
108
108
103
103
103
108
108
110
120
125
125
130
120
115
120
127
132
132
132
137
132
137
125
137
127
139
144
139
144
144
144
144
144
139
134
134
139
139
156
151
156
151
151
146
151
151
163
168
158
158
158
158
158
158
158
158
158
158
158
158
168
168
165
165
175
175
180
170
170
170
170
170
170
182
187
177
177
177
177
177
194
199
189
189
201
211
211
211
228
228
223
230
235
235
235
237
237
242
242
242
242
242
242
242
242
247
247
249
254
254
254
254
271
261
256
261
266
261
261
261
290
295
295
307
314
374
386
398
408
417
468
487
513
518
525
530
554
561
573
578
672
667
681
686
710
734
1
1
1
1
1
1
1
13
8
8
27
32
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
39
39
39
34
34
34
34
34
34
34
34
34
46
46
46
41
46
51
46
41
46
51
46
41
41
41
41
41
41
46
46
46
46
46
46
58
63
58
58
58
58
53
53
63
53
63
53
53
53
53
53
58
53
53
53
53
53
53
58
65
65
65
65
65
65
65
65
65
65
65
70
70
60
65
65
65
77
77
77
77
77
77
77
72
72
77
72
72
82
77
72
72
77
82
77
72
72
72
72
72
72
77
72
82
72
87
87
84
84
84
89
89
89
84
84
89
79
84
84
91
96
91
96
91
96
96
96
96
96
96
96
91
96
101
91
96
108
103
118
108
113
108
108
103
108
108
108
108
108
110
130
115
120
115
120
120
115
132
137
132
125
137
132
139
144
144
144
144
144
139
134
139
139
151
156
151
156
156
146
151
158
163
163
158
158
158
158
158
158
158
158
163
158
158
168
175
180
170
170
170
170
170
180
180
182
177
182
187
192
177
177
182
177
177
177
187
189
189
199
194
206
211
201
213
223
223
223
240
240
235
242
237
237
242
242
242
242
242
242
247
249
254
254
254
254
259
261
266
261
261
261
283
273
268
273
302
307
307
326
386
398
410
420
429
480
499
525
530
537
542
566
573
585
590
684
698
693
722
746
1
1
1
1
1
1
1
1
8
8
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
51
46
41
41
46
51
46
46
46
46
46
41
41
46
41
46
46
46
46
63
58
58
53
53
53
63
58
53
53
63
53
53
53
53
53
53
53
53
53
58
53
53
58
53
53
65
70
65
60
60
60
70
65
65
65
65
77
77
77
77
72
72
72
72
72
72
77
72
82
82
72
72
72
72
89
84
84
89
84
89
89
89
84
89
84
89
89
89
89
89
89
79
84
84
84
84
84
89
84
99
99
91
91
96
91
96
96
101
96
96
96
91
101
91
91
103
103
103
108
108
108
108
113
120
115
120
125
115
115
115
115
120
115
120
120
115
115
120
137
127
132
127
132
132
132
144
144
144
149
139
151
156
156
156
151
146
146
146
146
151
163
158
158
158
158
158
158
158
158
168
158
165
170
175
175
165
165
170
170
170
180
187
177
182
177
177
177
192
194
194
199
189
194
199
199
201
201
211
206
218
223
213
228
225
235
235
247
237
237
237
237
242
242
242
242
252
254
249
254
254
254
259
261
261
261
261
268
273
295
285
314
338
398
410
422
432
441
492
511
537
542
549
554
578
585
597
602
696
710
705
734
758
1
1
1
1
8
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
46
46
41
46
46
46
41
46
41
41
41
46
46
46
41
58
58
58
63
58
53
53
53
63
53
58
53
53
53
63
58
53
53
53
53
53
53
70
65
65
65
65
65
65
60
60
70
60
65
60
65
82
72
72
72
72
72
67
72
72
82
77
72
72
72
72
89
89
89
84
84
84
84
89
89
84
84
89
89
84
84
84
84
101
96
96
91
96
96
91
101
101
101
101
101
101
101
101
96
96
96
96
91
96
96
91
111
108
103
103
108
113
111
115
115
120
120
115
115
120
120
115
125
132
127
137
127
127
132
127
137
132
132
127
132
149
139
144
134
134
139
144
156
156
151
146
146
168
168
168
163
158
158
158
158
158
158
158
158
158
158
158
158
175
165
170
165
170
170
180
187
187
177
177
177
177
192
199
189
189
194
206
206
211
206
213
213
223
228
218
230
225
237
237
237
237
237
242
242
247
249
249
254
254
254
266
256
261
261
261
271
273
307
297
350
410
422
434
444
453
504
523
549
554
561
566
590
597
609
614
708
722
717
746
770
1
8
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
46
46
41
63
58
63
58
53
63
53
53
58
53
53
53
53
53
53
58
53
58
65
65
70
70
60
65
60
65
65
65
75
70
65
60
65
65
70
65
82
72
77
72
72
77
72
72
82
72
72
72
72
72
84
84
84
79
84
84
89
94
84
101
101
101
96
96
96
96
91
96
96
96
91
96
96
96
91
96
96
96
108
108
103
113
113
108
108
108
108
108
108
108
108
108
103
123
120
115
115
115
115
115
115
125
123
115
127
127
132
132
127
132
132
127
127
139
139
139
144
139
134
134
134
144
144
156
151
146
146
156
151
168
168
163
158
158
158
158
158
158
180
180
180
175
170
170
165
165
170
170
187
177
182
177
177
177
192
189
199
199
194
204
201
216
206
218
218
223
225
225
235
230
242
237
237
237
237
237
242
242
249
249
249
254
259
256
256
261
261
283
309
362
422
434
446
456
465
516
566
561
573
578
602
609
621
626
734
729
758
777
1
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
46
46
51
41
41
41
46
41
46
41
46
41
46
46
63
63
58
53
53
53
53
53
53
53
53
53
53
70
65
75
60
65
60
70
75
65
65
65
65
77
82
82
72
77
72
82
72
77
72
72
72
72
72
72
82
84
84
84
89
89
84
89
94
79
84
84
84
84
96
96
96
96
91
91
96
101
96
91
96
108
108
108
108
108
108
103
103
103
108
103
115
125
125
115
115
115
115
115
115
120
115
115
115
132
132
127
127
127
127
127
135
134
134
139
139
139
144
139
134
134
139
144
151
151
156
151
146
146
156
156
168
163
158
158
158
158
158
158
180
180
175
170
170
165
192
192
177
177
177
177
187
199
194
204
194
201
221
216
216
206
206
213
230
230
235
237
237
247
237
237
237
237
242
254
249
249
249
254
261
256
256
261
271
295
321
333
374
434
446
458
468
477
528
578
573
585
590
614
621
628
633
746
770
789
1
27
27
27
27
27
34
34
34
34
34
34
34
34
46
46
41
46
46
41
41
41
41
41
58
58
58
58
53
53
53
53
53
53
58
65
65
60
75
75
82
82
72
72
72
72
67
72
77
82
72
72
89
94
84
89
84
89
84
89
84
94
96
96
96
91
96
91
96
96
101
91
96
96
96
91
96
108
103
103
108
108
108
108
115
115
115
115
115
115
120
115
115
115
115
120
115
125
115
115
127
127
127
127
127
127
144
139
139
139
139
139
147
146
151
151
156
151
146
146
151
163
163
168
163
158
158
158
158
153
158
168
168
180
175
170
170
170
192
192
187
177
177
204
194
199
199
206
216
216
216
206
213
233
228
225
242
242
237
237
247
249
249
259
249
249
254
254
261
256
256
261
261
283
268
307
333
333
386
446
458
470
480
484
540
590
597
602
626
633
645
753
782
801
1
20
27
27
27
27
27
27
34
34
34
34
34
34
51
41
41
41
41
41
41
41
41
46
58
63
53
58
53
53
53
65
70
65
70
65
65
77
72
72
72
82
87
82
72
89
94
84
79
84
84
89
96
101
96
96
91
96
96
96
96
96
101
108
108
108
108
108
108
108
108
108
103
120
115
115
115
120
115
127
127
127
127
127
127
127
137
127
127
139
139
139
139
139
156
151
151
151
151
151
159
151
158
168
163
158
158
153
163
158
170
170
175
170
180
180
170
180
192
177
177
182
204
199
204
199
211
211
218
223
228
228
225
245
240
237
237
237
254
254
249
259
261
261
256
256
266
266
268
268
295
319
345
398
458
470
482
492
597
609
614
638
628
645
657
794
813
27
27
27
27
34
34
34
34
34
41
41
41
58
53
53
53
53
53
48
58
65
75
65
70
60
77
82
77
77
84
89
89
89
94
94
84
101
96
91
96
96
108
108
108
103
108
103
103
113
115
120
115
120
120
115
115
115
127
127
127
132
127
132
139
139
139
139
139
139
139
149
151
151
151
151
151
146
168
163
163
163
158
158
171
158
158
170
170
175
175
170
177
177
192
192
204
194
216
216
216
206
223
230
235
240
240
237
237
237
257
252
249
249
266
256
271
261
278
268
268
307
331
357
410
470
482
494
504
484
621
626
645
657
669
806
825
1
20
27
34
34
34
34
41
41
41
41
53
53
53
53
53
53
53
60
65
77
82
77
82
84
89
84
89
91
96
101
106
96
96
108
103
108
108
120
120
115
115
120
127
127
127
127
127
127
139
139
139
144
151
151
151
151
151
151
146
161
146
163
163
163
163
163
158
158
175
170
175
183
170
170
177
187
204
204
216
206
216
228
223
223
235
235
235
242
237
237
252
252
249
249
269
264
261
256
283
273
268
290
319
343
369
422
482
489
506
516
633
638
664
681
818
837
1
27
34
34
34
39
41
41
53
58
48
70
72
72
89
89
89
89
94
96
96
96
91
101
96
101
103
118
108
108
108
115
115
132
127
127
127
139
139
139
139
151
151
151
156
146
146
163
163
163
163
163
158
158
173
158
175
175
175
170
175
175
177
187
195
182
209
199
199
216
216
218
213
223
223
223
240
242
247
254
249
264
264
261
256
281
276
266
268
295
302
331
355
381
434
494
528
513
645
650
693
830
849
1
1
1
13
27
27
27
27
34
34
34
39
39
39
41
41
53
53
77
77
72
77
96
96
96
96
96
106
96
108
113
108
115
115
125
120
115
127
130
139
139
139
139
151
151
151
163
163
163
168
158
168
158
175
170
170
170
185
170
170
177
187
182
187
207
221
201
211
211
223
223
223
228
228
230
242
254
259
256
276
276
261
293
288
268
307
314
343
367
393
446
506
540
657
662
705
842
861
1
20
27
27
34
39
39
39
34
39
51
53
58
60
72
77
79
89
89
96
96
96
108
103
108
108
113
115
125
115
120
127
127
137
132
127
139
144
139
139
151
151
151
156
163
163
158
170
180
170
175
175
170
170
177
182
197
209
199
199
211
219
233
228
223
223
223
235
240
240
237
242
242
266
271
288
288
305
300
319
326
355
379
405
458
518
552
645
669
674
717
854
873
1
1
27
34
41
46
46
53
53
58
58
58
65
65
72
72
77
84
84
96
96
101
96
108
108
120
125
120
115
125
127
137
127
139
139
149
139
139
134
151
156
163
158
158
158
158
163
170
170
175
192
182
209
211
211
211
223
233
223
223
231
240
245
240
235
237
242
242
252
252
249
254
278
283
300
300
317
312
331
338
367
391
417
470
489
530
564
676
686
729
866
885
1
1
8
13
20
27
34
34
39
39
39
34
41
53
53
53
70
65
65
72
72
84
84
101
108
115
120
132
132
132
132
139
144
144
144
139
139
151
146
146
161
163
158
158
158
163
163
163
175
170
170
175
175
204
194
221
223
223
223
223
228
223
223
245
243
237
252
257
242
242
242
247
254
264
264
261
266
290
295
312
312
329
324
343
350
379
403
429
482
537
576
698
741
878
897
1
1
8
13
15
20
20
27
27
27
34
39
39
46
46
41
53
53
63
58
60
65
77
72
72
77
72
84
84
84
91
91
103
113
120
120
132
125
144
144
144
139
139
151
156
146
146
156
163
158
158
173
158
158
168
168
170
170
165
182
182
187
182
187
216
206
223
223
233
235
235
235
240
240
237
237
242
242
242
242
257
255
264
269
259
266
276
276
273
278
302
307
324
324
341
336
355
362
391
415
441
494
588
710
753
890
909
1
1
1
1
1
1
8
20
27
27
39
34
34
39
34
46
41
53
58
58
58
60
60
75
70
65
65
72
77
72
84
84
89
91
91
101
96
96
96
108
125
127
127
134
144
139
156
151
151
146
163
158
158
158
158
168
158
158
180
175
175
175
170
185
180
187
194
194
199
228
218
235
235
245
237
237
247
247
242
252
242
252
242
249
269
267
276
281
271
278
288
288
285
290
314
319
336
336
348
348
367
374
403
427
453
506
600
722
765
902
921
1
1
1
1
1
1
1
1
8
8
27
27
34
34
34
34
39
51
46
58
60
65
60
65
65
72
77
82
82
72
72
84
84
84
84
96
91
91
96
113
113
103
115
115
137
134
156
163
163
158
168
158
158
158
158
158
161
163
175
180
170
175
170
180
180
192
187
187
187
182
182
197
199
206
206
211
223
223
240
230
237
247
237
237
242
242
242
242
242
252
259
259
264
264
261
281
279
288
283
288
290
300
300
297
302
326
331
348
348
360
379
386
415
439
465
518
612
734
777
914
933
1
1
1
1
1
1
1
1
1
8
20
27
27
34
34
34
34
34
34
39
46
46
41
46
46
53
53
53
53
53
58
58
60
60
65
72
72
72
77
72
84
84
94
89
84
84
91
96
96
96
115
115
120
137
134
149
146
163
168
158
158
158
168
158
158
158
163
175
175
180
165
192
182
182
192
204
199
199
194
204
211
218
218
223
223
223
235
237
237
237
242
242
242
242
252
242
242
242
259
254
271
271
276
276
273
293
291
300
295
302
312
312
309
314
338
343
360
355
372
391
398
427
451
477
530
624
746
789
926
945
1
1
1
1
1
1
1
1
1
1
1
13
13
8
20
20
27
27
27
27
34
34
34
34
34
34
39
39
39
34
46
46
41
46
41
46
46
46
46
46
51
53
53
58
53
53
53
53
60
65
65
65
65
65
65
72
72
72
84
84
89
89
96
91
101
101
101
96
115
122
134
134
161
156
158
158
158
158
158
158
158
175
175
180
187
192
189
204
194
204
216
211
211
206
223
223
223
230
230
235
235
235
230
237
237
237
242
242
242
242
242
242
254
264
254
271
266
283
283
288
288
285
305
303
312
307
314
324
324
321
326
355
345
372
384
403
410
439
463
489
542
636
758
801
938
957
1
1
1
1
13
13
8
8
13
20
20
20
20
15
27
27
27
27
27
27
27
34
39
34
34
34
34
34
34
34
34
39
39
46
46
46
46
41
46
46
46
41
58
58
53
53
58
58
53
58
53
53
65
65
65
65
65
72
72
72
72
72
72
84
89
89
84
91
96
96
103
103
103
108
108
113
113
103
115
115
115
115
115
134
134
134
139
139
144
144
158
158
158
158
158
173
168
163
161
168
187
192
187
189
199
204
201
216
206
216
228
223
223
218
235
235
235
235
237
237
237
242
242
242
242
242
242
242
242
242
247
266
276
261
283
273
295
295
300
300
297
317
315
324
319
326
336
336
333
338
367
384
396
415
422
451
475
501
554
648
770
813
950
969
1
1
1
1
1
1
1
13
13
13
8
13
20
20
20
20
20
20
20
27
27
27
27
27
27
27
34
34
34
39
34
34
39
34
34
34
39
34
34
46
51
51
51
46
46
46
46
46
58
58
53
58
53
58
58
53
63
53
58
65
65
65
65
70
65
65
60
72
72
72
72
72
72
72
72
72
84
84
84
89
89
91
91
96
96
101
96
96
103
103
103
108
108
108
108
108
103
115
115
115
120
120
115
125
115
127
127
132
132
132
134
134
134
139
139
146
151
156
156
156
158
158
158
158
158
163
185
180
165
187
199
204
199
211
216
213
228
218
228
240
235
235
230
235
235
247
237
237
237
242
242
242
242
242
242
254
254
254
259
273
288
295
307
307
312
312
309
329
327
336
331
338
348
348
345
350
379
396
408
427
434
463
487
513
566
660
782
825
962
981
1
1
1
1
13
13
8
13
13
13
13
13
20
20
20
25
27
27
27
27
27
34
39
34
34
39
34
46
46
46
51
51
51
46
51
46
63
53
53
58
58
53
58
58
58
63
53
58
58
53
53
53
53
53
70
65
65
65
65
65
65
60
70
65
70
60
65
72
77
72
77
77
72
72
84
84
84
84
89
84
84
89
91
96
96
96
96
96
96
103
103
103
108
108
108
108
108
108
103
115
115
120
120
120
115
115
115
127
127
127
132
132
125
122
127
134
134
134
139
139
144
144
139
139
146
151
158
158
158
158
158
158
158
168
168
197
187
182
182
211
216
211
223
228
225
240
240
225
252
247
247
237
237
242
242
242
242
242
247
259
254
266
261
266
266
300
307
319
319
324
324
321
339
336
343
343
350
360
360
357
362
391
408
420
439
446
475
499
525
578
672
794
837
974
993
1
1
1
1
1
1
1
1
1
1
13
13
13
13
20
20
25
20
20
20
27
27
27
27
32
27
27
27
39
34
34
34
39
34
39
34
34
34
34
34
34
46
51
51
46
53
58
53
53
63
58
53
53
58
58
53
53
65
65
65
65
65
65
65
70
75
70
65
65
60
65
77
72
72
72
82
77
72
77
77
72
72
72
72
72
84
84
84
89
79
84
96
96
96
96
96
91
96
103
108
108
103
103
108
108
108
115
115
120
120
120
115
115
115
127
132
132
132
127
132
132
127
139
139
139
139
139
139
139
134
146
146
151
151
151
158
158
158
158
163
165
180
175
189
189
194
204
223
218
223
235
240
237
252
242
242
252
237
254
254
254
259
261
271
278
278
312
319
331
331
336
331
333
351
355
355
362
372
372
374
364
403
420
432
451
458
487
511
537
590
684
806
849
986
1005
1
1
1
1
1
1
1
1
13
13
8
13
8
13
8
8
20
20
20
20
27
27
27
27
27
27
32
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
46
46
46
51
51
46
46
51
46
53
53
53
63
58
58
53
53
65
70
65
65
60
60
72
72
77
72
77
72
72
82
82
72
72
72
72
72
72
84
84
89
89
84
79
84
84
89
96
96
96
96
91
96
103
103
108
108
108
103
108
108
103
120
120
115
115
115
115
115
115
115
115
115
115
127
127
132
132
132
127
139
134
134
139
139
139
139
144
139
139
134
151
151
146
151
158
158
158
158
158
165
165
187
182
189
189
201
201
235
242
242
247
249
264
249
261
271
261
283
290
285
324
326
343
343
348
348
363
340
367
367
374
384
384
386
415
432
444
463
470
499
523
549
602
696
818
861
998
1017
1
1
1
1
1
1
13
8
20
20
20
15
15
20
15
15
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
39
39
34
34
39
34
34
39
39
39
39
34
34
39
34
34
34
39
34
46
46
46
46
46
46
51
46
58
58
58
58
58
58
58
58
53
53
53
60
65
70
65
65
60
72
77
77
72
72
72
72
72
72
72
84
84
89
94
89
79
96
96
101
96
96
96
91
96
108
103
108
108
108
103
108
108
103
103
108
108
103
115
120
115
120
115
115
115
115
120
115
115
115
132
132
122
127
127
127
132
132
127
127
139
139
134
134
139
139
139
134
151
146
146
151
151
163
158
165
182
182
182
194
201
208
252
261
276
256
283
288
273
302
336
355
355
360
375
352
379
374
386
396
396
398
427
444
456
475
482
511
535
561
614
708
830
873
1010
1029
1
1
1
1
20
15
27
27
27
27
27
27
27
27
27
27
27
27
27
27
39
39
34
34
39
39
34
34
34
39
34
39
34
46
46
51
51
46
51
46
51
51
51
51
51
51
46
46
41
53
58
58
53
58
58
58
58
63
53
65
65
65
65
65
65
65
65
65
72
82
77
72
72
72
72
89
84
79
84
79
96
96
101
101
103
108
108
103
103
103
108
108
103
103
103
103
108
103
120
120
120
120
115
115
115
120
115
120
115
115
115
115
127
127
132
127
122
127
132
132
127
139
134
134
144
134
139
144
146
146
151
153
158
175
189
189
189
189
194
204
206
208
283
295
280
309
348
367
367
367
387
359
391
408
408
393
410
439
456
468
487
494
523
547
573
720
842
885
1022
1041
1
27
27
27
27
27
27
27
27
27
27
39
34
34
39
39
39
34
39
34
34
46
51
46
51
51
46
51
51
53
58
58
58
58
63
53
58
58
58
58
63
65
65
65
65
65
65
65
75
77
72
72
77
72
72
77
72
72
84
89
89
84
79
101
91
91
108
103
103
108
108
108
115
120
120
115
115
115
115
115
120
115
115
120
115
115
115
115
115
115
115
132
127
127
127
122
127
127
127
139
134
134
144
134
146
151
146
156
153
163
163
187
182
182
182
189
189
189
189
201
201
201
213
247
261
261
307
326
321
360
340
379
379
399
403
420
420
405
422
451
468
480
499
506
535
559
585
732
777
854
897
1034
1053
1
1
27
27
27
27
27
27
27
27
27
27
34
34
39
39
34
34
34
34
34
39
34
46
46
51
46
51
46
58
58
58
58
53
53
58
65
65
65
65
65
65
65
65
65
75
72
72
72
72
72
72
72
87
89
84
89
84
89
101
91
113
103
103
103
103
120
115
115
115
115
115
120
115
120
122
132
127
122
127
127
122
122
132
127
127
127
127
139
134
134
134
151
146
151
163
168
182
199
189
189
194
194
201
201
208
208
261
268
273
283
319
309
328
372
352
367
391
391
411
393
415
432
432
412
434
463
480
492
511
518
547
571
597
789
866
909
1046
1065
27
27
27
27
39
34
34
34
39
39
34
34
34
34
46
46
51
51
46
46
58
53
53
58
53
58
53
65
65
65
65
65
65
72
77
72
72
77
84
84
84
84
84
84
99
101
96
101
96
101
113
103
103
115
115
115
115
115
120
115
115
115
127
127
127
122
127
134
134
144
134
134
139
134
151
158
163
180
170
182
182
182
211
201
206
201
208
208
247
261
268
280
331
326
321
340
384
359
403
403
405
423
427
444
444
475
492
504
523
530
559
583
609
633
753
801
878
921
1058
1077
1
1
13
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
51
46
46
46
46
46
58
58
58
58
53
65
65
65
65
65
65
72
77
72
72
77
77
84
89
89
96
96
96
96
96
113
113
108
113
103
103
111
103
103
115
115
115
115
115
120
122
127
127
122
122
127
139
134
134
156
146
170
170
170
170
170
192
187
187
194
194
189
189
223
208
213
268
273
343
328
352
415
415
412
435
456
456
487
504
535
571
595
621
645
664
813
890
933
1070
1089
1
1
13
8
25
27
27
27
27
39
34
34
34
34
34
34
34
34
46
46
46
46
53
58
53
53
53
58
63
65
65
65
65
65
77
72
72
72
72
77
84
89
84
89
89
96
101
101
108
108
108
108
108
120
115
115
120
120
115
123
120
115
127
127
122
134
134
134
151
168
170
170
170
182
204
199
206
201
201
235
261
268
283
280
309
355
367
359
393
427
427
447
468
468
499
516
547
578
607
597
633
657
825
902
940
1082
1096
13
20
15
27
27
27
32
27
27
34
34
34
39
34
34
51
46
46
58
58
58
65
65
65
65
65
70
77
77
72
72
72
89
84
89
96
101
96
101
101
108
113
113
120
115
115
115
115
115
127
132
127
122
135
122
134
134
163
175
180
170
182
194
216
206
218
208
223
225
247
273
331
321
343
367
405
439
439
480
506
528
513
590
619
640
669
676
837
914
952
1094
1108
1
13
20
20
27
27
27
27
27
27
27
34
34
34
34
34
39
51
58
63
65
65
65
72
72
72
72
77
89
89
84
84
101
96
101
108
113
108
113
113
120
115
120
127
127
132
134
144
147
175
170
175
175
170
170
192
201
228
230
237
259
328
355
379
412
451
451
492
535
602
631
681
849
926
964
1106
1120
13
20
27
27
27
27
34
39
39
44
51
58
58
65
70
72
72
72
72
84
84
101
101
96
96
101
113
108
113
120
120
115
120
120
120
134
156
159
168
170
175
175
187
182
204
240
242
244
271
362
391
463
458
499
537
614
638
693
861
938
976
1118
1132
1
1
20
27
27
34
44
51
46
56
65
65
72
77
72
72
84
84
84
79
84
96
96
96
101
113
113
108
108
115
120
120
115
127
127
127
168
163
171
163
170
180
194
216
252
254
283
403
475
626
705
873
950
988
1130
1144
1
13
27
27
39
34
34
56
53
68
65
65
72
77
84
84
96
96
96
96
108
108
108
113
115
115
120
120
120
139
180
165
183
175
180
182
228
264
266
295
415
482
638
717
885
957
1000
1137
1156
1
8
20
20
27
27
27
34
34
51
53
65
80
77
77
72
77
77
84
84
84
84
96
108
108
120
115
115
120
125
132
137
137
127
127
151
182
192
195
187
240
276
278
307
427
650
729
897
1012
1168
13
27
27
27
34
39
51
60
70
72
89
89
89
92
89
89
84
96
96
101
96
101
96
108
108
108
120
120
115
127
132
144
149
149
163
166
163
173
168
163
182
204
207
252
257
288
290
319
353
439
662
741
909
1024
1180
1
1
1
20
27
27
27
53
58
60
77
72
82
94
101
96
101
101
96
101
104
101
101
96
108
108
113
113
120
115
120
115
127
127
142
144
156
161
161
168
175
178
165
185
180
182
216
219
264
269
300
302
331
365
451
674
753
921
1036
1192
1
13
13
15
39
65
60
65
65
70
82
89
84
101
106
96
91
106
96
113
108
103
113
108
113
116
113
113
108
115
115
125
125
115
127
132
154
156
168
173
173
180
175
187
190
197
182
228
231
235
276
281
312
314
336
343
360
377
463
686
765
933
1048
1204
8
15
20
20
53
65
60
65
72
72
77
77
84
89
94
96
101
96
113
108
118
108
103
115
115
125
125
115
125
128
125
125
127
130
137
144
139
166
168
180
185
185
180
170
192
187
199
202
209
240
243
266
288
293
324
309
326
341
355
372
389
364
393
475
698
777
945
1060
1216
1
15
27
27
27
53
53
65
60
72
72
72
72
72
77
89
89
101
106
108
103
103
113
103
115
125
115
115
130
115
115
115
137
137
137
140
137
137
139
139
139
142
149
156
156
178
180
175
192
197
197
192
182
187
182
204
204
211
214
252
255
283
278
300
290
336
321
338
355
367
367
369
384
405
487
710
789
957
1072
1228
1
1
1
13
27
27
27
27
34
34
53
53
60
65
72
72
72
72
77
89
101
101
103
103
108
103
103
108
113
118
103
103
115
115
115
115
125
115
137
142
132
149
149
149
152
149
139
149
134
151
156
154
161
168
190
192
187
187
204
209
209
204
189
216
223
226
247
264
267
290
285
312
302
326
348
333
350
345
379
381
396
417
499
722
801
969
1084
1240
1
1
1
8
8
20
15
15
27
34
46
41
53
53
72
72
72
72
72
77
89
84
89
108
108
103
103
108
103
103
113
103
115
115
125
130
115
115
127
132
132
137
149
154
139
161
161
164
161
161
156
163
166
173
180
175
202
182
204
189
189
216
221
221
216
228
235
238
230
276
279
261
302
324
314
309
360
340
345
362
391
393
393
408
429
511
734
813
981
1096
1252
1
1
1
13
13
15
34
34
34
46
41
53
58
65
65
65
72
72
72
72
72
72
72
72
84
91
103
103
108
108
103
108
103
103
103
115
115
115
125
115
115
132
132
137
142
122
134
149
139
161
166
173
173
176
173
173
175
178
170
185
192
187
214
189
189
216
228
233
233
228
240
225
225
250
242
261
288
291
314
336
326
343
343
372
357
374
403
405
420
441
523
746
825
993
1108
1264
1
1
1
13
13
25
25
27
27
27
39
34
46
46
53
53
53
53
58
65
72
72
72
72
77
77
84
84
84
91
108
103
103
103
103
103
115
115
115
115
115
115
115
115
127
122
132
137
144
149
154
161
173
178
185
185
185
185
183
187
190
182
197
187
204
189
189
199
226
228
240
245
245
240
252
247
262
283
300
303
326
326
348
338
367
384
364
386
415
417
432
448
535
758
837
1005
1120
1276
1
8
8
25
25
27
37
37
34
34
34
46
46
53
53
65
65
65
65
72
72
72
72
72
72
72
72
84
89
96
91
96
103
103
103
108
103
108
108
103
103
115
115
115
115
115
115
122
132
127
139
144
149
161
166
173
185
190
197
197
182
182
182
192
192
199
202
189
189
209
216
211
238
223
223
225
235
252
257
252
252
264
274
312
315
331
331
343
338
360
350
396
398
427
429
444
547
770
849
1017
1132
1288
1
13
27
27
37
37
27
27
34
34
49
41
53
53
53
53
65
65
65
72
77
72
72
72
72
84
84
84
84
84
91
103
108
103
108
108
103
103
115
115
115
120
115
115
115
127
122
132
127
144
134
146
161
173
178
185
197
197
209
189
189
189
189
194
204
204
211
214
221
228
218
223
250
237
264
264
264
276
261
286
324
327
331
340
355
350
372
362
408
410
439
441
456
559
782
861
1029
1144
1300
1
1
1
1
1
1
1
1
13
20
27
27
34
49
49
34
34
41
41
61
53
53
65
77
72
72
77
72
72
72
84
84
84
84
91
96
96
91
91
108
103
103
115
115
120
115
115
115
115
127
122
127
127
132
127
139
139
139
144
139
144
134
156
156
173
185
190
197
182
189
189
189
204
221
201
201
216
226
218
228
240
262
247
249
276
276
261
288
293
336
339
326
340
367
362
384
369
420
422
451
468
448
571
794
873
1041
1156
1312
1
1
1
1
1
1
1
13
20
27
27
27
34
34
34
34
34
34
34
34
34
34
41
61
53
61
65
65
60
72
72
72
72
72
72
72
77
84
89
84
96
96
91
91
103
103
108
108
103
103
103
103
115
115
115
132
127
127
144
139
139
134
144
139
139
139
139
134
151
151
151
156
146
156
168
168
180
197
202
187
187
209
189
189
201
233
208
223
230
233
252
274
256
288
288
273
300
348
351
352
374
369
396
381
432
434
463
460
475
583
806
885
1053
1168
1324
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
20
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
41
46
46
46
41
46
46
46
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
73
60
60
60
60
60
60
73
60
65
72
72
72
72
72
72
72
77
72
72
72
84
84
84
84
84
89
91
91
101
91
103
103
103
103
103
103
120
115
115
115
115
127
122
139
134
151
146
163
163
163
168
168
180
180
182
182
199
204
209
201
216
208
240
237
259
281
283
300
280
295
307
309
360
363
367
359
408
393
393
444
446
475
487
595
818
897
1065
1180
1336
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
27
27
34
34
39
34
34
34
34
46
41
46
46
46
46
46
46
46
41
46
46
46
46
46
41
53
53
53
58
53
53
53
53
53
53
53
58
53
53
53
53
53
58
53
53
53
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
85
65
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
77
72
72
85
72
72
72
84
84
84
84
84
89
84
84
91
91
91
96
91
96
103
103
103
103
113
103
103
115
115
115
115
127
122
127
122
127
134
139
134
163
175
175
175
180
180
192
192
192
197
194
189
189
206
221
208
223
225
271
312
319
331
321
343
372
375
420
405
400
456
458
487
494
607
830
909
1077
1192
1348
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
41
41
46
46
41
41
58
58
58
53
53
53
65
65
65
65
65
65
65
72
72
72
72
97
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
97
84
84
96
96
96
96
91
96
91
91
108
115
115
125
115
122
127
122
139
134
146
175
187
187
187
192
192
204
204
209
201
201
228
237
278
324
326
328
355
384
387
432
412
468
470
499
619
842
921
1089
1204
1360
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
15
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
32
32
32
27
32
32
32
32
32
27
27
32
32
32
32
32
32
27
27
32
32
27
27
27
32
32
32
32
32
27
32
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
46
46
41
41
53
53
53
53
53
58
53
53
53
53
53
53
65
65
65
72
72
72
72
109
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
91
96
91
109
91
91
108
108
108
108
120
127
122
137
132
122
134
153
187
199
199
199
204
204
216
216
216
208
244
336
362
396
399
444
480
482
511
631
854
933
1101
1216
1372
1
1
1
1
1
1
1
20
27
32
32
32
32
32
32
32
32
32
32
32
32
32
32
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
53
65
65
65
65
65
70
65
65
65
65
121
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
121
120
120
120
120
132
139
149
199
211
211
211
216
216
228
228
348
408
411
456
492
494
523
643
866
945
1113
1228
1384
