1
1
1
1
8
8
8
8
1
1
15
20
15
20
1
1
8
27
27
27
27
1
1
1
1
1
1
8
20
34
34
34
34
39
34
1
1
8
13
13
15
27
27
27
27
27
34
34
34
34
34
34
34
41
46
41
46
51
1
1
1
1
1
1
1
1
1
8
15
20
27
27
27
27
39
34
34
34
34
39
34
46
41
41
46
46
46
46
46
46
53
58
53
63
1
1
1
1
8
8
8
8
13
20
27
27
27
27
27
27
27
34
34
34
34
46
51
41
41
46
51
58
58
58
53
53
53
48
53
53
48
58
58
53
58
65
60
65
65
60
75
1
1
1
8
8
8
13
13
15
15
20
15
20
27
27
34
39
34
34
34
34
46
46
58
53
53
53
53
53
53
53
58
58
53
53
53
53
53
63
65
65
65
65
65
65
65
65
65
70
77
72
77
77
72
87
1
1
1
1
1
1
1
8
8
20
20
15
25
27
27
27
27
27
27
34
34
34
34
34
46
51
46
58
53
53
53
53
53
53
53
53
53
53
70
65
65
65
65
65
65
65
65
75
77
77
77
77
77
77
82
84
89
89
84
84
99
1
1
1
8
8
8
15
20
20
27
27
37
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
41
58
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
75
75
77
77
77
72
72
77
77
87
89
89
89
84
84
89
84
94
94
94
96
101
101
96
96
111
20
15
20
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
49
34
34
46
46
51
41
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
65
75
75
75
75
72
72
77
82
82
89
89
89
89
89
84
84
84
84
89
89
94
94
99
96
96
96
96
96
101
96
111
111
111
101
101
106
103
108
108
103
108
123
1
1
1
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
46
46
61
58
53
53
53
53
58
53
53
53
53
53
53
65
75
75
75
75
77
77
77
72
72
77
72
82
82
82
87
89
89
89
89
89
89
89
94
94
94
96
101
96
96
96
96
96
96
96
96
96
111
111
111
101
101
106
108
108
108
113
123
123
123
113
113
118
120
120
120
130
1
1
1
1
1
1
8
13
27
27
34
34
49
34
34
34
34
34
34
46
46
46
41
41
46
53
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
73
65
65
65
65
77
72
82
82
82
82
87
89
89
89
84
84
84
89
89
94
94
84
94
94
96
96
96
96
101
96
96
101
101
111
106
108
108
113
108
108
108
123
123
123
113
113
113
120
120
125
130
125
125
135
135
125
132
132
142
1
1
1
1
1
1
1
1
1
8
8
8
15
25
27
27
27
34
34
34
34
34
34
34
34
34
49
34
34
34
34
61
41
41
46
53
53
58
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
65
80
75
75
77
72
72
72
72
72
72
72
89
89
84
84
89
89
84
84
89
89
94
94
84
96
96
96
96
96
96
101
101
96
96
106
96
101
108
113
108
113
113
123
113
120
125
120
120
120
130
130
125
125
135
125
132
137
142
132
132
147
147
132
144
144
144
154
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
8
8
20
15
20
27
27
37
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
46
61
53
53
53
53
58
53
53
53
58
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
68
53
53
53
65
65
65
65
65
65
65
65
77
72
72
72
72
72
72
72
72
72
82
72
72
72
72
72
87
82
87
72
89
89
84
89
84
84
84
84
94
96
111
96
96
96
96
96
96
96
96
96
96
96
96
106
96
101
96
108
113
113
108
108
108
108
113
103
108
118
120
120
125
125
125
125
135
125
125
120
137
142
142
132
132
147
127
137
144
149
144
144
144
154
154
154
144
139
139
156
156
156
156
156
166
1
1
1
1
1
1
1
1
1
1
8
8
8
8
8
8
8
15
15
15
15
27
37
27
27
27
37
27
27
27
27
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
49
34
34
51
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
68
53
53
53
53
53
53
53
53
53
53
53
53
65
60
65
65
70
65
65
65
65
65
65
75
65
75
72
72
72
72
72
72
72
77
72
72
72
82
72
72
72
72
72
72
72
72
72
72
84
84
84
84
84
84
84
89
89
94
94
84
84
84
89
99
84
84
84
84
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
101
111
96
96
123
108
108
108
108
108
113
113
113
120
125
125
120
120
125
120
120
120
125
130
120
137
132
137
137
137
147
127
132
132
137
149
144
154
154
154
139
139
139
149
139
139
144
144
156
156
161
161
156
156
161
156
156
166
166
156
151
168
168
168
168
168
168
173
1
1
1
1
8
8
20
20
20
15
15
20
27
27
27
27
37
27
37
37
27
27
27
37
27
27
37
27
27
27
27
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
44
49
34
34
34
34
49
34
34
34
34
34
34
34
34
34
46
56
41
46
41
51
56
46
41
61
56
46
46
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
63
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
70
65
65
65
65
65
65
65
65
75
65
65
75
65
65
72
72
72
72
72
72
72
72
72
77
87
72
72
87
82
77
72
72
82
72
72
82
72
72
72
82
72
72
77
89
89
84
84
84
84
84
84
84
84
89
89
89
84
84
89
94
84
84
84
84
84
84
84
84
84
96
96
96
96
96
96
96
96
96
96
96
96
96
96
101
96
96
96
111
96
101
96
96
96
108
108
108
108
108
108
113
113
108
123
108
120
120
120
120
125
125
125
135
120
137
132
137
127
127
137
137
137
142
144
144
144
154
149
149
149
149
149
139
139
139
139
144
161
161
156
161
156
161
161
166
166
151
151
161
151
156
156
156
168
168
168
168
173
173
168
168
173
168
168
168
168
168
173
168
178
168
158
180
180
180
180
180
180
180
180
1
1
1
1
1
20
20
27
27
37
27
27
27
27
27
37
27
37
27
27
27
27
27
27
27
27
27
34
49
34
34
34
34
34
44
34
39
34
34
34
34
34
44
34
34
34
34
44
49
34
34
34
34
34
34
34
34
49
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
56
41
41
51
56
46
51
56
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
68
53
53
53
53
53
53
53
63
53
53
68
68
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
65
65
65
65
65
70
65
65
65
65
75
70
65
65
65
65
65
65
65
77
77
77
72
72
82
72
87
72
77
72
87
72
72
77
72
72
77
72
72
72
82
72
72
82
72
77
77
92
72
77
77
84
84
84
89
89
84
84
89
89
84
99
89
89
89
99
89
84
84
89
89
84
89
89
84
84
94
94
84
89
84
84
84
84
89
84
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
101
96
96
96
96
96
96
96
108
108
113
108
108
123
108
113
108
108
120
120
120
120
125
120
125
125
120
130
132
132
137
137
137
137
127
127
127
127
147
132
144
144
144
149
144
149
149
144
139
139
139
139
156
161
161
156
156
161
161
156
161
161
161
161
161
151
151
156
168
173
168
168
168
168
168
168
173
168
168
173
168
173
173
173
173
158
158
168
168
168
175
175
180
180
180
180
180
180
180
180
185
185
180
180
175
190
180
180
173
180
192
192
192
192
192
192
192
192
1
1
1
1
1
1
1
1
1
1
13
8
27
37
27
27
37
27
27
34
34
34
44
49
34
34
34
34
34
34
34
34
34
34
34
34
34
39
39
34
34
34
34
34
34
44
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
56
41
46
46
41
41
46
41
41
46
56
56
56
61
46
46
46
46
53
53
53
63
53
53
53
53
53
58
63
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
53
53
53
53
53
53
53
53
68
53
53
53
53
58
68
53
53
53
63
53
63
68
53
53
53
53
53
53
53
53
53
53
63
53
65
65
65
65
65
60
65
65
65
60
65
65
65
65
65
65
65
65
65
65
65
65
65
80
70
75
65
65
75
65
65
65
65
65
72
72
72
87
87
77
72
72
72
77
72
72
77
77
77
72
72
72
77
87
72
72
72
72
82
72
72
82
72
72
72
77
77
77
77
77
77
77
77
84
84
89
89
84
89
94
84
89
89
99
84
84
84
84
89
89
89
89
84
89
84
89
89
89
99
84
84
84
89
89
89
84
84
84
89
84
84
84
84
104
89
84
84
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
106
101
96
111
96
96
96
111
96
96
101
96
108
108
113
103
103
108
108
113
108
108
108
125
120
125
120
135
125
120
120
137
137
137
137
137
127
127
127
132
137
144
144
149
144
149
149
149
154
139
139
144
161
161
156
161
156
156
156
156
161
156
156
161
151
151
156
168
168
168
173
168
173
168
168
168
168
168
173
173
168
168
168
168
168
168
173
158
158
168
180
180
180
180
180
180
180
180
180
180
180
185
185
180
185
180
180
180
180
175
175
187
192
192
192
192
192
192
192
197
192
197
192
187
187
202
192
192
185
199
199
204
204
204
204
204
204
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
27
27
27
27
37
27
27
27
37
27
27
27
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
46
56
41
46
41
46
46
41
46
56
68
53
53
53
53
53
48
53
53
53
53
63
53
58
48
53
58
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
58
53
53
63
53
68
53
53
53
63
53
68
53
53
63
53
53
53
53
53
53
53
53
65
65
75
70
65
65
65
70
60
60
65
65
65
65
65
65
65
65
65
65
65
65
65
70
80
75
80
70
75
65
70
70
72
72
77
77
72
72
77
82
82
72
77
72
72
72
72
72
72
87
72
82
72
72
77
72
77
72
72
77
72
77
77
72
82
72
72
72
72
72
72
72
87
72
72
72
72
72
77
77
82
77
77
82
77
77
77
77
84
84
84
84
84
89
89
89
84
99
99
89
89
89
84
89
89
89
89
84
89
84
84
84
84
84
84
84
84
89
99
84
89
84
84
89
84
84
84
84
84
84
84
84
84
84
89
89
84
84
84
89
84
84
96
96
96
96
101
96
96
106
96
96
96
96
106
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
111
96
96
96
96
96
96
101
116
96
96
108
108
108
108
108
108
113
113
103
123
123
103
103
108
108
113
113
108
125
120
120
120
125
120
125
120
120
137
132
137
132
137
127
137
132
147
137
137
132
132
149
144
144
149
149
149
144
139
139
149
156
156
161
161
161
156
161
156
156
161
161
156
173
173
168
173
168
168
168
168
168
168
168
168
173
168
173
163
158
168
163
163
175
175
180
180
180
180
180
180
180
180
180
180
185
180
175
180
175
175
185
180
180
180
180
180
175
192
192
192
192
192
192
192
192
192
192
197
197
192
197
192
187
187
187
199
199
204
204
204
204
204
204
204
199
204
204
199
194
214
204
204
197
211
216
216
216
216
216
211
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
15
25
27
37
27
27
34
34
34
39
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
44
34
34
34
34
34
34
46
46
41
46
41
41
46
46
46
51
56
41
51
46
46
41
46
41
53
68
58
53
53
53
53
53
53
53
63
48
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
65
65
65
65
65
65
75
65
65
60
60
65
65
65
65
65
60
70
65
65
65
65
60
70
65
70
65
65
80
60
80
65
80
70
65
65
65
75
65
77
82
77
72
77
72
72
72
77
72
72
72
72
72
77
77
72
77
72
72
72
72
72
87
72
77
72
82
72
87
82
87
72
72
72
87
82
77
87
77
77
77
77
72
89
89
89
89
89
84
89
89
84
84
99
84
84
94
84
89
84
84
89
89
84
84
84
94
84
84
84
84
89
84
84
84
84
84
84
84
94
84
84
89
89
84
84
84
96
96
96
96
96
96
96
101
96
96
96
96
106
106
96
96
96
96
96
96
96
96
96
96
96
101
96
96
101
96
96
96
96
96
96
96
96
96
106
96
96
96
96
96
96
96
96
96
96
101
96
96
96
101
96
108
108
113
118
108
118
108
108
108
108
108
108
103
123
128
113
120
120
120
120
120
120
120
120
120
125
130
130
120
120
120
125
125
120
137
137
132
132
132
137
137
127
127
127
132
137
132
132
144
144
144
144
144
144
144
149
144
149
144
144
144
144
149
144
139
159
149
149
144
144
156
156
156
156
156
156
156
156
156
161
161
156
156
161
161
151
156
156
168
173
173
173
168
168
173
168
173
168
163
163
180
180
180
180
180
180
180
180
180
180
180
180
180
175
180
175
180
180
180
180
180
175
175
187
192
192
192
192
192
192
192
192
192
197
192
187
192
187
187
197
192
192
187
199
199
199
199
204
204
204
204
204
204
204
204
204
204
194
199
199
194
194
211
211
216
216
216
216
211
216
211
206
206
216
226
216
211
223
228
223
223
223
228
223
1
1
1
1
1
1
1
1
1
8
8
13
13
20
25
25
25
27
27
27
27
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
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
56
41
46
41
46
46
46
41
46
46
41
56
51
58
48
53
53
58
53
48
48
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
48
53
53
63
53
63
53
53
53
53
53
53
53
53
53
48
53
53
63
53
58
53
53
53
53
53
53
58
53
58
65
70
65
70
65
70
65
65
75
65
60
60
65
65
65
65
60
65
80
65
65
65
77
77
77
77
72
72
77
77
77
72
72
77
77
77
82
77
77
72
82
72
72
72
72
77
87
72
72
87
72
87
77
92
77
77
77
87
77
77
84
84
84
84
94
89
84
84
84
84
84
84
89
84
84
84
84
89
84
84
84
89
84
84
84
89
84
84
84
84
84
99
84
84
84
89
84
84
84
84
99
84
89
94
94
94
94
84
84
99
89
84
89
89
84
84
96
101
96
101
96
96
101
106
96
96
106
96
96
96
96
96
96
96
96
96
101
96
96
106
96
96
96
96
96
96
96
96
91
96
96
101
96
96
96
108
108
108
118
118
108
113
113
108
118
108
103
113
103
103
108
113
108
120
120
120
120
120
120
120
115
130
130
130
125
140
125
137
137
137
127
127
127
127
127
127
127
127
127
132
132
142
137
137
132
132
132
144
144
144
144
144
144
149
144
144
144
144
149
149
144
139
139
149
144
144
161
161
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
161
161
171
156
161
168
168
168
168
168
168
168
168
168
168
168
173
173
173
173
168
163
163
163
180
180
180
180
180
180
180
180
175
175
180
180
192
192
192
192
192
192
192
192
192
192
192
187
187
192
187
187
187
187
199
199
204
204
204
204
204
204
204
204
199
204
194
194
204
199
199
209
199
199
194
194
194
211
211
216
216
211
216
216
216
211
206
206
216
206
206
206
223
223
223
223
223
228
223
223
223
218
228
238
228
235
235
235
235
235
240
235
1
1
1
1
1
1
1
1
1
1
1
15
20
27
27
27
27
27
37
27
32
27
37
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
39
34
34
34
34
34
34
34
34
34
39
34
34
34
34
46
41
41
46
56
41
46
41
53
53
58
58
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
53
68
63
63
53
53
53
53
53
65
65
70
65
65
65
65
65
60
65
65
65
65
75
60
70
65
70
65
60
65
65
65
65
65
70
70
65
65
65
65
65
65
65
65
65
65
82
82
72
72
77
82
82
77
77
77
72
72
72
72
72
72
87
72
87
77
77
77
72
77
77
84
84
84
89
84
89
89
84
84
84
84
84
84
89
89
84
89
89
94
89
89
84
89
84
89
84
94
84
84
84
84
84
84
84
84
84
99
84
84
94
104
94
94
94
84
99
84
84
101
96
101
101
101
96
96
96
96
101
96
96
96
96
96
96
96
101
106
96
96
96
96
96
101
106
106
101
106
106
106
96
101
96
113
118
113
118
113
113
103
103
118
103
103
113
103
113
113
103
108
120
120
120
120
115
130
125
125
130
130
125
115
115
120
125
125
120
137
137
132
137
127
127
127
127
127
142
127
142
137
127
132
152
137
137
132
149
149
144
149
144
139
139
144
154
149
139
144
144
156
156
156
156
156
156
156
156
156
156
156
156
161
161
161
161
168
168
173
173
168
168
168
168
168
168
168
168
168
168
168
168
168
168
173
168
173
168
183
163
173
163
175
175
180
180
180
180
180
180
180
180
180
180
180
180
180
175
180
180
175
192
192
192
192
192
187
187
187
192
204
199
199
204
204
204
204
204
204
204
204
194
194
199
199
199
199
194
199
199
211
216
216
216
216
211
211
216
211
211
206
216
211
211
221
206
223
223
223
228
228
228
223
223
223
218
228
218
218
218
235
235
235
235
235
230
230
230
240
230
250
240
230
247
247
252
247
242
242
242
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
25
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
44
34
34
34
34
34
44
39
34
34
34
34
46
46
46
46
46
41
41
46
41
41
51
51
51
46
41
46
41
58
48
53
53
53
53
48
48
53
53
58
53
48
48
53
53
53
58
53
53
53
63
63
53
53
53
53
63
53
53
53
58
65
65
65
65
60
60
65
65
65
65
65
65
75
65
65
65
65
65
60
65
70
75
75
65
65
77
82
72
72
72
77
82
77
77
82
72
72
77
82
82
77
77
72
72
72
87
72
72
72
77
77
77
77
77
77
77
84
84
94
94
84
89
84
89
89
89
84
94
94
89
89
89
84
89
84
84
89
89
84
84
84
84
99
94
94
94
94
84
89
84
84
96
96
96
96
101
101
101
96
96
96
96
96
96
101
101
96
96
106
96
96
96
96
96
96
96
101
91
96
106
116
106
111
96
113
113
113
113
113
113
113
108
113
118
103
103
103
108
103
113
103
103
113
113
118
113
118
113
113
108
120
120
120
120
120
120
125
125
120
130
125
130
130
125
120
125
120
120
120
137
132
127
142
127
137
137
127
142
142
132
127
127
132
137
137
137
137
132
132
149
149
144
149
149
154
149
139
139
164
139
156
156
156
156
161
151
161
161
166
161
156
156
168
168
168
168
168
168
168
168
168
168
173
168
173
173
163
163
175
175
180
180
175
175
175
175
180
180
180
175
175
175
175
180
180
180
180
180
180
180
175
175
180
195
185
187
187
187
187
187
187
187
192
192
192
192
187
187
187
187
187
204
204
204
204
199
204
211
216
211
216
216
216
211
216
216
216
211
211
206
211
211
211
223
223
223
228
228
223
223
223
223
223
218
228
223
223
233
218
235
235
235
240
235
235
230
230
230
230
240
230
230
230
247
247
242
242
252
262
252
242
242
242
242
254
254
264
259
254
254
254
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
13
15
25
20
20
27
37
27
27
37
27
27
27
34
34
34
34
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
34
34
34
34
46
46
46
51
51
46
41
46
58
53
58
58
53
53
48
53
53
48
58
53
53
53
53
48
53
53
53
58
53
53
53
53
63
58
48
53
53
53
53
58
53
63
53
58
53
58
65
65
65
65
65
65
65
65
70
75
75
70
65
65
65
80
65
65
65
77
77
72
77
72
72
77
72
77
77
77
77
77
77
77
77
72
72
72
87
82
82
72
82
82
77
77
89
89
84
84
94
84
89
89
84
84
84
84
94
89
89
94
89
94
94
89
89
89
84
89
89
84
89
84
84
99
84
84
94
94
84
84
84
89
89
96
96
96
96
101
101
96
96
96
96
96
96
96
96
106
106
101
96
96
96
96
101
96
96
96
96
96
96
101
91
96
106
106
101
108
113
108
108
108
113
113
113
113
108
108
103
118
103
113
113
103
113
103
103
128
113
113
108
123
113
113
125
120
120
120
120
125
125
125
125
120
120
120
130
120
125
120
125
130
120
130
125
120
132
132
132
132
132
137
127
127
127
142
137
142
127
142
132
127
127
132
137
127
132
149
144
149
144
144
149
149
139
139
139
144
149
149
144
144
139
156
156
156
156
161
156
161
161
176
156
168
168
168
173
163
173
163
163
168
163
175
175
175
175
180
180
180
180
180
180
180
180
180
180
180
180
175
175
180
185
175
187
192
187
187
187
187
192
187
187
187
187
192
192
192
207
187
187
187
197
199
199
199
204
204
204
204
199
199
199
199
211
216
216
211
211
211
206
216
223
228
223
228
223
228
223
223
223
223
223
223
223
223
235
235
235
235
230
235
230
230
230
230
230
230
235
235
245
230
230
247
247
247
247
247
242
252
242
242
242
242
242
254
249
254
264
264
254
274
254
266
266
276
271
266
266
266
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
8
20
20
20
25
25
25
20
20
27
27
27
27
27
27
37
27
27
37
27
27
39
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
46
51
51
46
41
46
51
51
41
41
41
46
51
53
53
58
53
58
58
58
58
53
53
58
53
53
53
53
53
53
48
53
53
53
53
53
53
53
48
63
53
58
58
65
65
65
60
65
65
65
65
65
65
75
65
70
65
70
70
70
65
75
65
65
65
65
65
77
77
77
77
77
77
77
77
82
82
77
77
72
72
77
92
77
77
89
89
89
84
89
84
84
84
89
84
84
84
84
84
89
89
89
89
89
89
89
89
84
99
84
84
84
84
89
94
94
94
94
84
89
89
96
106
96
96
106
101
101
106
101
101
101
96
101
96
96
96
96
96
101
96
106
91
96
96
96
101
101
101
108
113
113
113
103
103
103
113
113
103
103
103
103
108
113
113
113
108
113
113
120
120
120
120
120
120
120
120
125
125
125
125
120
120
130
125
125
120
140
135
137
132
132
132
132
132
127
142
132
132
127
127
132
137
142
127
127
137
132
144
144
144
144
144
149
154
144
149
149
139
139
144
139
139
156
156
161
161
151
156
161
156
156
156
156
161
156
151
168
168
168
168
173
168
188
163
180
180
180
180
180
185
180
175
170
187
187
187
187
192
192
192
192
192
192
192
187
197
187
187
187
187
199
199
199
199
204
199
204
199
199
199
199
204
219
209
216
216
216
211
211
211
211
206
211
211
206
206
211
211
223
223
223
223
228
218
235
235
235
235
240
235
230
230
230
230
235
235
230
235
235
230
247
247
247
242
247
247
257
242
242
242
259
254
254
259
254
249
254
254
264
254
254
254
254
266
261
266
276
276
286
266
273
278
283
278
278
283
278
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
13
13
13
25
20
20
20
20
25
27
37
27
27
27
27
27
27
27
27
32
27
27
37
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
39
34
34
44
34
34
39
34
34
34
44
34
34
34
34
34
34
34
46
51
51
51
46
46
51
46
41
46
41
46
41
41
56
51
51
58
53
53
53
58
58
58
53
53
53
58
53
53
53
53
63
53
53
48
53
53
58
58
65
65
70
70
65
65
60
60
65
65
65
65
70
70
70
70
70
75
65
65
77
77
72
72
77
77
87
72
72
72
82
72
72
72
77
77
82
77
87
77
77
89
89
89
89
89
89
89
89
94
94
89
84
89
84
84
84
84
84
84
84
94
94
94
104
89
96
101
96
101
96
101
96
101
96
96
96
96
96
106
96
101
96
96
96
96
101
106
96
101
101
96
108
113
108
108
113
113
103
113
113
103
118
103
113
108
113
113
113
120
125
125
120
120
125
120
120
115
120
132
132
132
132
132
132
132
132
142
132
132
127
127
132
132
127
132
137
152
147
127
127
144
144
139
149
139
139
149
149
139
139
149
144
139
139
139
156
156
156
156
156
156
161
161
161
161
151
156
156
156
156
156
156
156
151
168
163
158
168
163
173
168
168
163
173
163
163
180
180
180
180
200
175
180
192
192
192
187
187
197
192
182
182
199
204
204
199
204
204
199
199
204
204
209
199
211
211
211
216
211
211
211
211
211
211
206
216
211
211
211
231
223
223
228
223
223
223
223
218
223
223
230
230
230
230
230
230
230
240
230
230
230
230
230
247
247
247
247
247
242
242
247
242
247
247
254
249
254
249
259
259
254
264
269
254
266
266
271
266
261
266
276
266
266
266
273
278
288
288
288
298
278
285
290
295
290
290
295
290
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
13
13
25
25
20
20
25
20
25
27
27
27
27
27
37
27
27
27
32
27
27
27
39
34
34
44
39
39
34
39
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
39
34
34
34
51
51
46
51
51
51
51
56
51
51
46
51
41
51
46
46
58
58
58
58
58
53
53
53
58
58
53
53
58
53
53
53
53
53
63
53
53
58
65
65
70
70
60
65
65
70
65
75
70
65
70
65
70
77
77
77
77
72
72
72
72
72
77
77
77
72
72
82
82
77
77
77
82
82
72
89
89
84
89
89
89
84
84
99
84
89
84
79
84
94
94
94
89
99
84
89
84
101
101
96
96
101
96
106
106
96
96
96
101
96
96
96
106
116
101
96
96
101
108
113
113
113
103
103
113
113
113
108
113
125
125
120
120
125
125
120
120
115
130
125
120
127
132
137
137
132
127
137
127
127
139
144
144
139
139
139
149
144
144
144
144
139
139
164
159
139
139
139
139
151
161
161
151
161
156
156
156
161
161
151
151
156
156
156
156
156
156
161
151
156
163
163
163
168
168
168
173
173
158
163
168
168
168
163
168
175
180
180
180
175
180
185
175
175
192
192
192
192
212
192
192
187
187
204
204
199
209
204
194
211
211
216
211
211
211
211
211
216
216
211
211
211
221
206
211
223
223
223
228
223
223
223
223
218
223
243
218
218
235
235
235
235
235
225
230
230
230
230
230
230
230
235
235
230
230
230
242
242
242
242
242
242
254
259
254
249
254
254
259
254
259
269
269
259
259
266
261
271
271
276
266
283
273
273
278
273
273
288
278
278
278
290
300
300
300
310
290
297
302
307
302
302
307
302
1
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
8
13
13
13
8
13
15
20
20
20
20
20
20
20
20
25
25
27
32
27
27
27
27
27
27
27
27
27
32
27
27
27
32
27
27
27
39
39
34
39
34
34
39
34
34
34
34
34
39
34
34
44
34
34
34
34
39
34
34
34
34
34
34
39
34
34
46
46
46
46
46
51
41
46
46
56
41
51
46
51
46
46
58
58
53
58
58
53
58
53
53
63
58
48
53
53
58
53
53
53
53
58
58
65
65
65
65
65
65
65
70
60
65
65
65
75
70
70
65
65
72
77
77
77
77
72
82
82
82
67
77
77
82
77
77
89
89
89
84
84
84
89
89
84
84
84
84
79
89
89
84
89
94
94
89
84
84
84
96
96
101
101
106
96
96
96
106
96
96
96
111
96
96
101
96
96
108
113
103
118
118
113
113
113
118
113
108
108
120
120
125
125
125
115
125
137
132
132
127
127
137
137
142
132
127
127
149
149
139
139
139
151
161
161
161
156
156
156
156
156
156
156
156
161
151
176
151
151
156
156
156
156
156
156
171
173
173
173
168
168
168
173
158
168
163
173
163
158
175
175
175
180
175
175
185
180
180
175
180
180
175
180
180
187
192
192
187
187
197
182
182
187
199
199
199
199
204
204
224
199
216
216
206
211
211
206
221
216
206
223
223
223
223
223
223
223
228
228
233
223
218
235
230
230
235
235
230
230
225
230
230
230
230
230
230
230
230
255
230
230
247
242
242
242
237
242
242
247
242
247
247
242
254
249
254
254
254
254
254
266
271
266
271
271
281
271
271
273
273
273
273
273
273
283
283
288
278
295
280
290
285
300
290
290
290
302
312
312
312
322
302
309
314
319
314
314
319
314
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
13
13
20
20
20
20
20
15
20
27
27
27
27
27
27
27
27
27
32
27
27
27
27
27
27
32
27
27
34
34
39
39
34
39
34
34
34
39
39
34
34
34
34
34
34
44
34
39
34
39
39
39
51
51
51
51
46
51
51
46
46
46
46
46
51
51
51
56
51
51
41
41
41
51
46
58
53
53
58
58
58
58
58
53
53
58
53
53
53
53
48
48
58
58
63
53
53
53
53
63
58
58
58
58
53
48
65
65
65
65
70
75
65
70
65
65
65
65
77
77
72
72
77
77
77
77
72
67
87
77
72
82
77
77
89
89
89
89
94
94
89
89
84
94
89
84
84
89
84
89
84
96
96
96
96
91
96
101
101
96
106
96
96
96
108
108
103
103
108
113
113
103
113
123
108
108
120
120
125
125
125
115
125
130
120
115
137
132
137
127
132
132
127
137
149
149
149
149
144
139
139
161
161
151
161
151
151
156
156
156
156
156
156
156
156
173
173
168
168
163
163
168
168
158
188
168
183
163
168
185
185
185
180
175
175
180
180
180
180
180
185
175
170
175
192
187
187
197
187
187
192
187
187
187
182
182
187
192
199
199
204
209
199
211
206
216
216
206
206
206
206
236
211
223
223
233
228
218
218
235
235
230
230
230
240
230
230
225
225
230
230
230
230
230
230
230
230
245
230
230
235
230
230
242
242
242
247
242
242
242
242
237
242
242
242
267
242
242
254
249
254
254
249
249
249
259
254
254
259
259
266
261
266
266
283
273
273
273
273
273
273
283
283
293
283
283
283
280
285
285
295
295
300
290
307
302
292
312
302
302
302
314
324
324
324
334
314
321
326
331
326
326
331
326
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
13
13
20
20
25
20
20
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
34
39
34
39
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
39
39
39
39
46
46
46
51
46
46
51
46
51
41
51
51
51
51
51
63
58
53
58
58
58
58
58
58
53
63
58
53
53
63
58
53
58
53
63
58
63
53
53
53
65
65
65
65
65
65
65
65
70
65
70
75
65
70
65
70
70
65
65
70
65
65
77
77
77
87
72
72
72
72
77
72
72
94
84
89
89
99
89
89
89
89
89
84
84
84
89
79
89
96
106
101
96
101
101
101
96
96
106
96
96
101
96
108
103
103
108
108
118
103
113
103
108
120
120
120
120
115
115
135
115
120
120
137
137
137
132
127
127
127
137
142
132
132
132
149
144
144
139
139
144
139
149
161
161
161
161
151
156
156
151
156
168
168
173
168
168
168
163
168
185
185
175
175
175
175
180
175
200
175
195
187
197
197
197
192
182
192
192
192
187
187
182
182
182
182
197
187
199
199
199
199
199
199
194
199
204
211
211
206
216
206
206
206
206
206
206
206
206
206
221
211
228
228
218
218
248
218
218
218
223
235
235
230
225
225
230
230
230
230
230
230
230
230
230
230
240
230
242
242
242
242
242
242
242
242
242
242
242
242
242
242
257
242
247
254
254
249
249
254
249
249
249
249
249
249
279
259
254
254
254
264
249
249
249
249
266
266
261
261
266
271
261
261
261
261
261
271
271
273
273
273
273
273
278
278
295
285
285
285
295
295
295
295
295
300
292
292
307
307
312
302
319
314
324
314
314
314
326
336
336
336
346
326
333
338
343
338
338
343
338
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
13
8
13
8
15
20
20
20
20
20
20
27
27
27
27
32
27
27
27
27
27
27
34
34
39
34
34
34
34
34
34
34
34
34
34
34
44
44
46
46
46
46
51
51
46
46
51
41
41
46
41
46
46
58
58
58
53
63
58
53
53
58
58
53
53
53
53
53
53
53
58
58
63
53
63
70
65
65
65
65
65
60
75
75
70
65
65
65
65
70
65
65
65
65
65
77
77
77
77
77
72
77
72
72
72
72
72
87
82
82
72
82
72
72
82
72
72
94
84
94
99
89
89
84
89
84
84
84
84
84
89
79
84
84
106
96
101
101
101
101
101
96
96
101
101
96
108
113
113
113
108
108
108
108
118
103
103
113
120
120
120
115
115
115
115
115
115
115
115
120
137
137
132
132
127
132
127
127
132
132
147
132
132
144
139
149
149
144
139
139
154
144
139
139
161
161
156
151
156
151
156
156
156
161
173
168
168
168
168
168
163
168
158
180
180
175
185
175
175
175
180
197
197
187
182
192
187
187
212
207
182
182
182
182
182
182
199
204
194
204
204
199
219
194
194
209
199
199
206
211
211
211
211
211
206
206
206
206
206
206
206
206
201
211
216
223
218
218
228
218
218
218
218
218
233
223
230
230
230
230
230
230
230
230
230
230
230
230
230
240
225
230
260
230
230
235
242
237
242
242
242
242
242
242
242
242
242
242
254
254
254
254
254
254
254
254
254
254
249
249
249
249
249
269
254
249
249
249
249
249
249
259
266
261
261
266
261
261
291
261
271
261
261
261
261
261
261
261
261
261
273
278
278
273
273
273
273
273
273
273
273
283
273
273
273
283
283
285
285
305
290
290
307
292
292
292
307
307
307
307
307
312
319
319
324
314
331
326
336
326
326
326
338
348
348
338
353
343
343
345
350
355
350
350
355
350
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
8
13
13
13
20
25
20
15
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
39
39
34
51
51
46
46
46
51
46
41
41
46
41
46
41
46
56
56
58
58
58
58
58
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
53
53
53
53
53
53
53
53
53
58
53
53
53
70
65
65
75
65
60
65
65
65
65
65
65
65
70
70
65
60
77
77
72
72
72
82
82
72
87
82
72
82
82
72
72
72
72
82
72
72
77
82
94
89
89
89
84
89
89
84
84
89
89
84
84
84
84
84
84
84
99
84
84
89
94
94
84
84
94
84
89
84
106
101
96
96
96
101
101
96
96
101
96
118
108
113
108
108
108
113
108
108
103
103
113
108
115
120
125
120
120
115
130
115
115
115
115
115
115
115
125
120
132
137
137
132
127
127
132
139
139
149
149
144
144
139
144
159
139
144
144
161
156
156
156
156
151
161
161
151
156
156
151
166
151
151
151
163
163
173
173
168
163
158
168
168
158
163
168
173
180
175
180
180
175
175
180
180
182
187
187
187
197
207
182
182
182
182
182
182
187
187
199
194
204
204
224
194
194
194
199
194
211
211
216
206
206
216
206
206
206
206
206
206
206
206
231
201
201
211
218
223
218
218
218
223
218
218
218
218
218
223
228
230
230
230
230
235
230
230
230
230
230
230
225
225
225
230
230
230
230
235
230
225
230
225
235
242
242
242
242
242
242
242
242
242
242
242
242
237
272
242
247
254
249
254
254
254
249
249
244
249
254
249
249
249
249
249
249
249
249
254
266
266
266
266
266
261
266
261
281
261
261
261
261
261
261
261
261
261
271
273
273
273
273
278
273
273
268
273
273
273
273
303
283
273
273
273
273
268
268
285
290
290
285
285
285
285
295
280
285
280
295
295
300
297
292
317
302
302
319
319
319
319
319
319
331
331
336
326
343
338
338
348
338
338
353
350
360
360
350
365
355
355
357
362
367
362
362
367
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
20
20
20
20
20
32
27
27
27
27
27
27
27
27
27
27
27
39
39
39
34
34
39
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
46
46
41
51
58
58
53
53
58
58
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
58
53
68
53
48
65
65
70
65
65
65
65
65
65
65
65
75
65
65
65
65
70
70
70
70
65
65
77
77
72
72
82
72
82
87
72
72
72
72
77
77
77
82
72
72
72
84
84
84
84
89
89
84
84
84
84
84
84
84
84
94
94
84
99
84
84
94
84
84
94
79
89
89
94
79
89
96
96
96
96
101
96
96
101
96
96
111
106
106
91
101
96
101
96
96
118
108
108
103
113
108
113
113
108
103
113
103
108
115
115
120
120
125
120
115
115
115
115
115
115
115
115
125
120
115
115
132
132
127
127
132
132
127
127
132
132
137
132
139
139
149
149
144
139
139
134
134
139
144
156
151
151
161
161
151
151
156
161
151
171
156
156
173
168
168
163
173
173
168
168
158
163
178
158
158
158
163
168
175
180
175
185
175
180
180
180
175
175
180
170
185
182
187
192
182
192
192
182
182
182
187
187
194
199
199
199
204
204
194
194
194
194
199
211
211
211
211
206
206
206
206
206
206
206
206
206
206
236
201
201
201
218
223
223
228
218
218
218
218
243
223
230
230
235
230
230
230
230
230
230
230
230
225
225
225
230
230
230
225
235
240
242
242
242
242
242
242
247
242
242
242
242
242
242
237
242
242
237
237
247
247
237
247
249
254
254
254
254
254
254
249
254
249
254
254
249
249
249
249
249
249
249
249
249
279
259
261
266
266
266
261
261
261
261
261
261
261
261
261
261
261
266
273
273
273
278
278
278
278
278
278
273
268
273
273
293
273
273
268
268
268
283
285
285
285
285
290
285
285
285
315
295
285
280
285
280
297
302
302
297
297
292
292
307
292
307
307
309
329
314
314
331
331
331
331
331
331
343
343
348
348
338
355
350
350
360
350
350
362
372
372
362
377
367
367
369
374
379
374
374
379
374
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
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
39
34
34
34
34
34
34
34
34
34
39
51
46
46
41
51
51
51
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
53
53
53
53
53
53
53
63
58
53
53
53
58
53
53
53
53
53
53
53
53
53
53
58
53
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
70
65
65
65
65
65
80
65
65
65
77
77
72
72
72
82
72
72
72
77
77
77
77
77
77
72
72
72
72
77
77
77
77
82
82
72
72
72
84
84
84
84
84
84
84
84
84
84
84
89
89
84
94
99
84
84
84
84
84
84
84
84
84
84
89
84
79
84
89
84
96
96
96
101
101
101
111
96
96
106
101
96
101
106
101
108
108
108
108
113
113
108
103
103
123
103
118
118
108
103
113
113
103
108
115
120
115
115
120
115
115
115
115
115
125
125
115
115
115
115
115
125
115
120
132
132
127
127
132
132
127
137
127
127
127
127
139
144
144
139
139
134
144
134
134
144
139
149
144
151
151
161
161
156
151
151
156
168
163
163
173
173
168
173
158
158
158
158
168
168
175
185
180
180
175
180
180
170
170
192
197
187
187
192
187
192
192
187
192
182
182
182
182
182
187
187
187
197
194
199
194
194
199
204
204
204
194
199
199
206
206
211
211
206
206
206
201
201
201
206
223
223
223
218
218
218
218
218
218
243
230
230
230
230
235
235
230
230
230
230
225
230
225
225
230
230
235
225
225
255
230
235
242
242
242
247
237
242
242
242
242
242
237
242
237
237
237
237
237
247
252
254
254
254
254
254
254
254
254
259
249
254
254
249
249
254
254
254
254
249
244
249
249
259
259
249
249
249
259
261
266
266
266
261
261
261
266
266
261
261
261
261
261
261
261
291
271
273
273
278
278
278
273
273
273
273
273
268
268
268
278
285
285
290
290
290
290
290
290
285
305
285
280
295
297
297
297
297
302
297
292
292
327
307
292
292
309
314
314
309
309
319
319
319
321
341
326
326
343
343
343
343
343
343
358
355
355
360
360
350
367
362
362
372
362
362
374
384
384
374
389
379
379
381
386
391
386
386
391
386
1
1
1
1
1
1
1
1
1
1
1
1
1
13
8
15
20
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
46
46
41
41
41
46
41
51
51
41
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
63
63
58
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
75
65
65
65
65
65
65
65
65
65
65
72
72
72
72
72
72
72
72
72
77
77
77
77
77
77
77
77
77
77
77
72
72
72
72
72
72
72
77
72
77
77
72
72
72
72
72
84
84
84
84
84
84
84
89
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
84
89
89
89
89
94
84
89
89
84
96
96
96
101
101
101
111
96
96
96
91
96
96
96
108
108
108
113
113
108
108
123
103
103
103
118
103
103
113
108
113
113
115
115
115
115
115
115
115
125
125
120
115
115
115
115
115
115
130
130
115
115
115
120
125
120
115
115
115
115
115
115
120
132
132
127
127
137
137
132
132
127
137
127
132
122
144
144
139
139
139
134
139
149
134
156
151
151
151
151
151
161
156
163
173
173
158
163
158
158
158
158
163
168
180
175
175
180
180
175
175
175
185
170
180
180
197
187
192
192
182
187
187
187
182
192
192
182
182
182
182
182
182
187
199
199
204
204
194
204
199
204
204
194
199
199
189
194
199
199
209
206
211
206
216
201
206
218
218
218
223
218
218
248
218
230
230
230
235
235
235
230
230
230
230
230
230
225
225
242
242
242
242
242
237
247
247
237
237
242
242
242
237
242
237
242
267
237
237
237
237
237
237
247
254
254
259
254
249
254
254
249
249
254
254
254
254
244
249
259
249
249
259
264
266
266
266
266
266
271
261
266
261
266
266
261
266
266
261
261
261
261
271
271
261
261
271
273
278
278
278
273
273
273
273
278
278
273
273
268
268
268
303
283
285
290
290
290
285
285
285
280
290
297
297
302
302
302
302
302
292
317
292
307
309
309
309
309
314
309
339
319
321
326
326
321
316
331
331
331
333
353
338
338
355
355
355
355
355
355
370
367
367
372
372
362
379
374
374
374
384
374
379
386
396
396
386
401
391
391
398
403
398
398
388
403
398
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
20
15
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
34
34
46
51
46
41
46
41
53
53
53
53
53
53
53
53
58
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
53
65
65
65
65
65
65
65
65
65
65
65
65
75
65
70
65
65
65
65
65
70
65
65
65
65
65
65
65
65
65
65
65
65
65
77
77
72
72
72
72
72
72
77
77
77
77
77
77
72
77
87
72
72
72
72
72
72
72
72
77
72
72
77
77
72
77
77
77
72
72
72
72
72
72
72
72
72
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
79
89
84
96
96
96
96
96
96
96
96
96
96
96
96
101
96
96
91
113
108
108
108
108
108
123
108
103
103
108
108
108
108
103
103
115
115
115
115
115
125
125
115
115
115
115
115
115
115
115
115
115
130
115
130
115
115
125
120
125
125
115
115
115
115
115
115
137
137
127
127
142
132
127
132
137
127
127
127
127
132
144
139
139
139
149
149
139
134
144
149
134
144
134
156
151
156
156
151
151
151
161
163
158
158
168
163
163
163
163
158
158
158
158
163
173
163
175
175
170
175
170
170
170
180
192
182
187
187
187
182
182
192
192
187
197
182
182
182
182
182
177
192
182
182
182
182
187
192
204
204
194
199
199
199
194
204
204
194
204
204
194
199
189
211
211
211
216
216
211
211
201
201
211
206
221
218
218
223
218
218
230
230
230
230
230
235
230
230
230
230
225
260
235
242
242
242
247
247
242
237
247
237
237
242
242
242
237
237
237
237
237
254
254
254
254
254
254
254
259
259
249
249
254
249
254
254
249
254
244
249
279
249
284
249
249
259
266
271
266
261
266
261
261
266
261
266
266
271
261
261
256
271
276
278
278
278
278
278
273
273
273
278
278
273
278
273
283
283
268
268
283
285
290
290
290
285
285
285
285
290
280
315
295
297
302
302
302
297
297
297
302
309
309
314
314
314
314
314
329
319
321
321
321
321
326
316
351
331
333
338
338
333
343
343
345
365
350
350
367
367
367
367
367
382
379
379
384
369
384
374
386
386
386
386
386
396
386
391
398
408
393
398
408
413
403
403
410
415
410
410
415
410
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
8
13
20
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
34
34
34
34
34
34
34
41
51
46
41
46
46
41
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
65
65
65
70
65
65
65
75
65
65
65
65
65
60
65
65
65
65
65
65
60
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
77
77
72
72
77
77
72
72
77
77
77
87
77
72
72
77
72
72
72
72
72
72
72
72
72
77
77
72
72
77
77
77
72
72
72
72
72
72
77
72
72
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
84
84
96
96
96
96
96
96
96
96
96
96
96
91
96
96
91
108
113
108
108
103
108
108
103
108
103
108
108
113
108
103
113
108
108
108
108
103
103
103
125
115
115
115
115
115
115
115
115
115
115
115
115
135
115
115
115
115
120
115
120
115
115
120
120
115
115
115
127
137
137
127
127
127
127
127
137
137
132
137
132
127
127
127
139
139
149
149
139
139
139
154
134
144
144
139
134
134
134
144
151
151
151
151
156
161
156
146
168
163
158
158
168
168
168
163
163
163
158
158
173
175
175
180
170
180
175
180
175
175
175
170
170
185
185
187
187
182
187
182
182
187
182
182
182
177
177
187
187
187
192
204
199
199
199
199
194
204
204
199
204
204
194
204
194
194
199
204
206
206
206
211
211
206
216
206
211
211
211
201
223
218
223
218
228
228
223
218
233
230
230
230
230
230
230
235
230
230
230
230
230
230
235
242
242
242
242
247
242
242
242
247
237
272
247
237
237
254
249
254
254
259
259
249
249
254
254
254
254
249
249
249
249
261
261
266
266
266
266
266
266
266
271
261
261
266
261
261
266
261
261
291
296
256
256
271
278
278
273
278
273
273
278
273
278
278
283
268
283
288
290
290
290
290
290
285
285
290
285
290
285
280
295
295
295
297
302
302
302
297
297
297
297
302
327
307
309
314
314
314
309
309
309
314
321
321
326
326
326
326
341
331
333
333
333
328
363
345
350
350
355
355
357
377
362
362
379
374
379
379
379
394
391
391
391
396
396
386
398
398
398
408
398
403
410
420
410
400
420
425
415
415
422
427
422
422
427
422
1
1
1
1
1
1
1
1
1
8
25
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
34
34
34
34
39
34
34
34
34
34
34
46
46
46
46
46
46
41
46
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
58
53
65
65
65
65
65
65
65
65
65
60
60
65
65
65
65
65
65
60
60
65
65
65
65
65
65
75
75
65
65
77
72
72
72
72
77
77
72
77
87
77
77
77
77
72
72
72
72
77
72
72
72
72
72
67
72
72
72
72
72
77
77
72
72
72
77
72
72
72
72
77
72
72
84
84
89
84
84
89
84
84
84
84
84
84
84
84
84
89
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
89
84
84
84
96
96
96
96
96
96
96
96
96
101
96
96
96
96
96
96
91
96
101
91
96
91
108
108
103
103
103
103
108
108
113
103
103
108
108
108
108
103
103
125
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
120
115
115
115
125
115
115
115
115
115
115
115
115
115
115
115
137
127
127
132
142
127
132
132
127
127
139
149
149
139
139
139
139
139
139
149
134
134
134
151
151
151
151
166
156
156
168
168
163
163
163
158
158
163
163
168
168
158
173
168
153
180
175
170
180
180
175
175
175
170
185
187
192
187
187
187
182
182
182
187
192
187
187
187
182
182
177
177
197
187
187
197
199
199
194
199
194
194
199
194
204
204
199
204
216
211
211
206
216
211
211
211
201
216
201
201
211
216
218
218
223
223
218
218
223
235
230
230
235
230
240
230
235
245
242
242
242
242
242
242
242
247
242
242
237
242
237
247
254
249
254
254
254
249
249
259
284
259
249
266
261
261
266
266
271
261
261
266
266
261
261
256
256
273
273
278
278
278
278
278
278
273
273
273
278
273
273
278
303
308
283
290
290
285
290
285
285
290
285
290
290
295
295
300
302
302
302
302
297
297
302
297
302
297
297
307
307
307
309
314
314
314
309
309
309
309
314
339
319
321
326
326
326
321
321
321
326
333
333
338
353
343
345
345
345
375
357
367
367
364
374
374
389
391
391
391
391
406
403
403
388
408
398
398
408
410
410
420
415
410
422
432
422
412
432
437
427
427
434
439
434
434
439
434
1
1
1
1
1
8
8
8
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
39
34
34
34
34
46
46
41
46
41
46
46
41
46
41
51
46
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
58
53
58
53
58
53
53
53
65
65
65
65
65
65
65
65
65
65
65
65
65
65
60
60
65
65
65
65
65
65
60
60
65
65
70
65
65
65
65
65
65
70
77
72
72
72
72
72
77
77
77
77
77
77
72
72
77
72
72
72
72
67
72
72
72
72
72
72
72
77
72
72
87
72
72
72
72
72
72
72
84
84
84
84
84
84
84
84
84
84
84
84
89
84
84
84
84
79
84
84
84
84
84
84
84
84
84
84
84
84
84
84
79
84
84
84
84
84
84
84
84
84
89
84
84
84
84
87
84
84
89
84
101
101
96
96
96
96
96
96
96
96
96
96
96
96
96
96
91
91
103
103
108
103
108
103
108
108
103
103
103
113
108
113
103
108
108
108
108
108
108
108
113
103
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
127
137
127
127
127
132
137
127
127
122
127
127
149
139
139
139
139
134
139
139
134
139
134
134
151
151
151
151
151
161
163
163
163
163
163
163
158
163
178
168
158
173
168
180
180
175
175
170
170
175
175
180
185
180
180
192
187
187
187
187
187
182
182
192
187
187
182
182
177
197
187
187
199
204
199
199
199
194
194
199
204
199
199
209
199
209
211
206
211
206
211
206
211
206
211
216
206
216
223
223
218
228
223
223
228
218
228
230
230
235
230
230
235
247
242
242
247
257
254
254
254
254
254
254
249
249
249
249
259
266
261
266
266
266
261
261
271
296
271
256
278
273
278
278
273
273
273
285
285
290
290
290
290
290
290
285
285
285
290
285
285
290
315
320
295
302
297
302
297
297
302
297
302
302
297
297
307
307
312
314
314
314
314
309
309
314
309
314
319
319
319
321
321
321
321
321
351
331
333
338
338
333
333
333
338
345
345
365
355
357
357
387
364
364
374
379
379
386
386
401
403
403
403
403
403
418
415
415
420
410
420
422
422
432
427
422
434
444
434
424
444
449
439
439
446
451
446
446
451
446
1
1
1
1
8
8
15
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
34
34
34
34
34
34
34
34
34
34
46
41
46
51
46
41
46
41
41
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
58
53
58
53
63
58
65
65
65
70
65
65
65
65
65
65
65
65
65
65
65
60
60
60
65
65
65
60
65
65
65
65
65
65
65
65
72
72
72
72
72
77
77
77
77
77
77
77
77
72
72
72
77
72
72
72
72
67
72
72
72
82
72
72
72
77
72
72
82
84
89
84
84
84
84
84
84
84
84
89
89
84
84
84
84
84
84
84
84
84
79
84
84
84
84
84
84
84
84
84
84
79
84
84
84
84
84
84
89
84
84
99
84
84
84
84
96
96
96
91
96
96
91
96
96
96
96
96
99
96
96
91
113
113
108
103
103
108
113
103
103
108
108
103
103
108
108
103
103
108
108
108
103
115
115
115
120
120
115
120
115
115
115
115
115
115
115
115
120
120
115
120
115
120
125
132
122
127
127
122
127
127
149
139
139
139
144
134
134
134
134
151
151
146
151
163
163
163
163
163
158
158
163
163
163
158
173
175
175
175
175
170
190
180
185
180
192
192
187
187
187
187
182
182
187
187
182
192
197
187
192
192
199
199
199
194
204
199
209
199
211
216
211
211
211
206
206
216
211
211
211
221
206
221
223
218
223
218
223
218
218
228
228
235
230
230
240
235
235
240
240
242
242
242
237
259
254
254
249
249
269
266
266
266
266
266
266
261
261
261
271
273
278
278
278
273
283
308
283
290
285
290
290
285
285
297
297
302
302
302
302
302
297
297
297
302
297
297
297
297
332
307
314
309
314
309
309
314
309
314
319
319
324
326
326
326
321
321
321
331
331
331
333
333
333
333
333
363
343
345
340
340
350
357
357
377
364
364
399
379
391
391
398
398
413
415
415
415
415
415
430
427
427
432
422
432
434
434
444
439
434
446
456
446
436
456
461
451
451
458
458
458
463
458
1
1
1
1
8
15
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
39
34
34
34
34
34
34
34
34
39
34
34
34
34
34
46
41
46
41
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
58
53
53
65
65
65
65
65
65
65
65
65
60
60
60
65
65
65
65
65
65
77
72
72
82
77
77
77
77
77
77
77
77
72
72
72
77
72
72
72
72
72
77
77
72
84
84
84
84
84
84
89
84
84
84
84
89
84
84
84
84
84
84
84
84
84
84
84
84
79
84
84
84
94
84
89
94
96
96
96
96
101
96
96
96
91
96
96
91
91
96
96
96
96
96
96
101
96
96
111
96
101
91
91
108
103
103
103
103
103
103
103
103
103
108
103
103
111
108
115
115
115
125
120
115
115
120
115
115
120
120
120
120
120
115
132
127
132
127
132
132
127
127
132
132
127
137
144
139
134
134
134
151
151
151
163
163
163
158
163
158
158
175
175
175
170
175
170
185
187
187
187
187
187
182
202
192
187
197
192
204
204
199
199
199
194
194
199
209
204
204
211
211
211
206
216
221
206
223
228
223
223
223
218
218
228
223
223
233
233
235
235
230
230
230
240
240
242
242
247
237
237
237
252
252
254
254
249
271
266
266
261
281
278
278
278
278
278
278
273
273
283
285
290
285
285
295
320
295
297
302
302
297
297
309
309
314
314
314
314
309
309
309
314
309
309
319
339
326
321
326
321
321
321
316
331
331
336
338
333
333
333
343
343
343
343
345
345
340
340
340
375
355
362
364
389
411
403
403
410
410
420
427
427
427
427
427
442
439
439
434
439
446
446
456
451
446
458
468
458
448
473
463
468
470
470
470
470
475
1
1
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
39
34
34
34
39
34
34
34
46
41
51
46
41
51
46
51
41
58
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
60
65
65
65
77
77
72
77
77
77
77
72
77
72
72
77
72
72
72
72
84
94
84
84
84
84
84
84
89
84
84
89
84
84
84
84
84
84
84
84
84
89
84
96
96
96
96
96
96
91
96
96
91
91
101
96
106
96
106
103
103
103
103
108
108
103
103
108
108
108
108
108
103
103
113
108
103
123
108
113
120
115
115
115
115
120
120
118
115
137
132
132
122
132
127
132
132
132
127
144
139
144
144
139
139
149
156
151
163
163
163
163
158
158
175
175
170
170
170
187
187
187
182
187
187
187
199
199
199
199
194
214
209
204
216
216
211
211
206
206
221
216
216
223
223
223
233
240
235
235
235
230
230
240
235
245
245
247
247
242
242
242
237
237
252
254
249
249
252
264
264
266
261
261
278
278
273
293
290
290
290
290
290
285
285
285
285
295
297
307
307
327
309
314
314
309
309
321
321
326
326
326
321
321
321
316
331
351
338
333
333
333
328
343
343
343
348
340
340
355
340
340
355
357
352
387
367
374
401
423
415
415
405
422
422
439
439
439
439
439
449
451
451
446
451
458
458
463
468
458
470
470
460
485
475
480
482
482
482
482
487
1
1
27
27
27
27
27
27
27
27
34
39
34
34
34
39
34
34
34
34
34
34
34
34
34
39
34
46
41
41
41
51
41
53
58
53
53
63
58
53
63
53
53
53
53
65
65
65
65
72
77
72
77
72
72
84
84
84
84
84
84
84
84
84
79
79
84
89
84
84
106
96
96
101
96
101
91
91
96
91
96
96
101
91
103
103
103
108
103
103
118
108
103
103
120
115
120
120
115
120
120
120
125
120
120
130
125
132
127
127
127
127
144
144
139
156
151
156
151
151
161
151
168
158
158
175
175
175
170
187
187
182
187
182
182
199
199
194
211
211
206
226
221
216
228
228
223
218
213
233
228
235
235
245
247
247
247
242
242
252
237
257
257
259
254
249
249
254
264
266
261
264
276
276
290
285
285
285
305
302
302
302
302
302
297
307
309
319
321
326
321
316
333
333
338
338
333
333
343
343
363
345
355
340
340
340
340
355
360
352
367
364
399
379
386
413
403
435
427
427
417
434
434
451
451
451
451
451
461
463
463
458
458
470
470
475
480
470
482
482
472
497
487
492
494
494
494
494
499
1
1
8
15
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
51
46
41
46
41
41
41
46
51
53
53
53
53
53
65
75
65
65
77
72
72
72
72
84
84
84
96
96
96
91
91
101
91
118
108
108
113
108
108
108
113
108
120
115
120
125
115
115
132
132
127
132
132
137
139
139
139
139
156
156
151
168
163
168
163
158
158
173
180
187
182
182
199
194
211
206
223
238
213
213
233
228
240
235
225
245
240
247
247
237
237
257
259
259
254
249
269
254
269
271
261
276
278
276
288
288
285
285
297
297
317
314
314
314
309
321
331
316
343
328
328
345
345
345
340
340
355
375
352
352
367
372
364
379
379
411
391
398
415
447
439
439
424
446
446
463
463
463
463
463
475
475
470
473
482
482
487
492
482
494
494
484
509
499
499
506
506
506
506
511
1
1
1
8
8
15
15
27
27
27
27
27
27
27
34
34
34
34
34
34
39
41
41
63
58
63
53
65
72
72
89
84
84
96
96
108
108
113
120
120
125
120
120
125
125
115
115
115
132
127
139
144
144
149
151
151
151
168
163
158
180
180
175
170
187
187
182
187
211
201
223
213
213
250
245
240
252
247
237
257
252
259
269
271
261
281
278
288
285
285
285
288
300
300
329
316
316
316
328
328
328
340
340
352
352
352
367
387
379
384
391
391
398
403
423
403
410
422
422
459
424
451
451
436
458
458
463
475
475
475
475
487
487
482
485
494
494
499
499
494
506
506
496
521
511
511
518
518
518
518
523
1
1
1
1
8
8
8
15
15
15
27
27
27
27
27
39
39
34
34
39
41
51
53
65
72
77
72
101
96
96
108
103
120
120
115
120
132
137
127
139
151
156
156
161
163
158
180
170
187
187
187
182
187
223
225
262
257
252
269
264
281
266
278
278
293
300
312
312
316
341
328
340
352
369
379
399
386
391
396
403
400
435
410
405
415
412
422
422
424
424
471
436
463
463
463
448
470
470
475
487
487
487
499
499
494
499
499
497
506
506
511
506
518
518
508
533
523
523
530
530
530
530
535
1
1
1
1
13
13
13
13
20
20
20
15
27
27
27
27
34
34
34
51
51
51
53
65
65
65
72
72
84
89
113
108
108
115
115
127
149
151
163
168
163
173
170
170
192
194
213
274
264
281
266
261
293
305
312
324
353
386
391
411
398
408
410
405
415
412
422
427
422
424
434
436
436
483
443
475
465
455
482
482
487
499
499
499
499
499
511
506
511
509
518
523
518
530
520
535
545
530
542
542
542
542
547
1
1
1
13
13
13
13
20
20
20
25
27
27
27
27
27
34
34
34
34
39
34
46
63
65
65
77
77
84
84
96
101
120
120
115
132
127
161
163
163
158
175
170
185
170
199
237
286
276
278
317
324
336
398
403
423
410
420
422
439
436
463
448
443
495
455
487
477
467
494
494
499
499
499
511
511
523
518
518
521
535
525
542
557
547
542
554
554
554
559
1
1
13
20
20
20
20
27
27
27
27
37
39
39
39
39
34
34
34
34
34
46
46
46
58
53
77
89
96
96
108
113
127
127
144
139
134
173
170
170
170
237
261
298
288
329
336
348
384
435
432
422
424
451
463
443
475
455
507
467
499
499
499
479
506
511
511
523
518
535
530
533
542
569
559
554
566
566
566
571
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
49
34
51
51
46
41
51
46
51
46
53
53
53
53
53
53
53
58
53
53
65
70
72
72
82
89
101
108
120
115
120
156
151
185
175
310
300
348
389
403
410
444
436
463
465
487
467
519
511
486
523
518
535
530
542
545
554
581
571
561
578
583
573
578
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
27
27
27
27
34
34
39
34
34
46
41
46
46
46
41
58
58
53
58
53
58
58
53
70
70
65
65
65
65
65
65
65
65
70
70
70
65
70
65
72
72
72
77
72
72
82
82
82
82
72
84
84
94
101
113
115
115
127
127
168
163
170
197
322
389
456
443
477
531
518
498
530
547
542
557
566
593
583
573
595
585
585
585
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
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
41
41
46
41
46
46
41
58
53
53
70
65
70
65
70
70
82
72
72
82
72
82
77
84
84
84
84
84
84
94
94
84
96
96
106
113
120
139
180
175
209
334
403
468
543
530
542
559
569
573
573
595
600
585
607
597
597
1
1
1
1
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
32
27
27
32
32
32
27
32
32
27
32
32
32
27
32
27
32
27
32
32
27
27
32
32
32
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
46
46
46
41
46
46
41
46
46
46
41
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
65
77
77
72
77
82
82
94
84
94
84
89
96
96
96
96
96
96
106
106
96
108
108
118
120
192
187
221
346
384
555
542
554
566
585
585
607
612
597
614
609
604
1
1
1
1
13
13
20
27
32
32
32
32
32
32
32
32
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
53
53
53
58
65
65
65
65
65
65
65
65
70
65
65
65
65
65
94
106
96
106
96
101
108
108
108
108
108
108
118
118
108
120
120
130
204
199
233
358
567
566
597
619
609
626
621
