512
512
230
229
231
232
229
232
233
230
232
230
233
230
231
232
230
233
231
232
233
229
229
228
225
226
229
229
226
227
228
228
226
222
221
223
220
214
174
162
163
161
167
175
179
181
177
173
160
158
156
155
157
163
161
157
123
96
98
102
108
108
91
87
90
85
88
84
87
81
88
84
83
81
81
81
88
114
112
96
68
68
73
62
52
56
50
47
45
46
41
44
44
49
54
51
63
51
47
54
47
48
45
48
46
48
43
48
45
36
47
43
45
51
55
46
53
52
46
57
46
44
43
42
51
52
67
80
91
88
95
104
108
106
117
111
97
108
122
120
97
108
118
105
99
101
96
81
79
80
85
84
80
77
77
80
78
85
82
83
93
90
107
122
127
99
89
91
131
184
173
139
134
135
134
105
107
118
130
117
98
92
93
94
106
118
111
127
132
140
125
128
111
89
79
96
112
113
108
166
185
175
173
169
155
153
162
160
123
153
159
145
140
149
155
148
111
139
177
179
140
80
52
44
45
42
45
54
55
65
81
95
92
89
90
87
80
86
90
84
75
83
90
78
83
64
55
66
74
73
78
78
80
73
83
89
77
77
81
86
85
78
81
76
69
78
77
74
79
84
80
65
66
70
70
73
74
62
52
66
55
44
42
35
43
42
45
50
71
68
55
55
42
39
41
45
48
40
37
38
42
48
49
51
53
52
57
63
67
73
65
74
82
68
102
113
83
59
51
54
57
71
135
127
76
71
77
100
100
61
57
65
54
60
81
78
73
98
83
100
55
57
64
48
56
43
47
44
37
49
50
44
52
47
53
53
60
56
50
48
49
40
47
50
37
34
35
33
45
65
49
47
65
66
45
38
34
33
36
46
43
44
66
62
39
39
38
34
43
55
44
42
72
110
119
97
104
77
55
54
58
48
41
45
46
50
45
40
42
48
45
38
41
46
45
37
38
35
33
40
48
46
49
44
42
40
34
42
60
60
55
60
79
81
81
107
113
124
133
135
129
138
136
134
112
89
79
80
83
76
68
64
59
60
68
71
77
82
92
102
108
114
114
103
91
77
75
86
95
98
85
85
97
105
109
112
111
103
101
106
114
101
102
102
98
97
95
102
104
109
100
99
106
101
114
114
101
112
110
114
115
107
106
110
118
122
120
105
91
102
102
103
103
114
229
227
234
233
231
232
231
231
231
232
232
230
233
228
231
230
233
232
230
229
232
230
227
226
227
227
229
229
226
224
224
227
224
223
223
200
170
168
157
162
161
170
179
182
182
174
157
153
153
153
151
159
162
150
114
90
90
92
93
90
90
94
92
88
86
86
85
85
85
83
80
83
84
83
82
107
115
90
72
69
74
60
54
63
49
48
40
44
49
43
50
51
47
48
49
45
50
53
42
35
51
48
51
52
45
42
45
46
43
43
39
44
49
49
55
51
43
55
62
44
48
43
43
48
57
77
75
85
102
104
94
106
116
111
101
116
123
111
100
111
118
106
99
110
96
82
75
74
80
86
89
85
78
84
75
85
86
85
86
88
102
115
132
97
83
93
103
135
140
141
167
125
97
107
113
116
116
98
117
123
98
99
96
90
101
112
130
122
119
146
132
100
90
102
99
110
130
203
203
188
176
168
159
155
153
131
138
182
189
165
147
131
130
113
105
118
144
151
124
97
66
53
44
42
42
48
50
61
85
90
97
91
80
81
81
91
92
87
78
79
84
88
72
56
58
66
70
80
75
75
80
87
81
78
82
76
73
80
84
73
80
79
77
80
78
80
93
93
86
78
63
61
54
55
64
57
61
76
77
72
62
49
39
47
44
44
57
68
71
79
62
44
42
39
45
47
43
37
39
42
45
48
48
46
48
57
72
66
58
62
69
80
85
83
88
65
58
60
68
103
117
96
83
81
105
135
110
67
69
68
67
54
47
57
75
81
72
75
50
56
74
67
53
47
45
45
49
47
44
50
55
54
64
66
58
57
53
56
54
51
52
60
53
47
45
44
44
65
57
57
96
75
42
39
36
33
39
43
43
34
43
34
33
37
46
82
78
97
83
55
56
64
92
101
97
83
54
74
92
73
59
43
40
39
40
49
57
51
46
47
49
42
41
35
34
33
36
35
44
42
40
36
39
46
41
43
56
63
58
64
76
79
84
108
112
122
127
127
131
140
135
94
78
79
80
76
72
74
74
74
70
76
71
70
74
81
94
103
103
101
94
89
95
95
90
97
93
92
91
92
103
108
109
117
111
106
104
106
120
108
105
104
95
93
95
98
105
103
95
102
107
101
111
111
104
110
108
111
112
116
103
107
117
122
118
101
92
105
110
109
116
115
230
231
235
230
231
230
230
231
231
232
230
232
230
232
232
233
233
230
232
229
228
228
229
228
230
230
226
228
227
226
225
226
222
224
218
194
166
163
169
163
162
172
177
181
179
171
152
148
153
153
154
160
162
153
118
90
98
96
98
103
98
91
93
100
99
94
92
94
92
93
91
88
90
88
87
98
115
92
71
69
71
63
50
67
48
44
44
42
44
48
45
48
52
47
59
48
43
64
47
46
47
42
49
58
45
49
49
40
43
44
44
57
54
50
59
53
52
50
56
62
46
49
44
46
53
59
67
83
100
94
96
110
111
95
107
125
119
103
101
118
120
97
114
114
90
78
84
84
81
85
98
95
84
88
81
80
86
85
83
92
104
103
112
86
87
88
97
98
90
109
156
147
95
112
114
116
110
135
149
131
119
89
93
101
101
102
115
97
102
134
142
107
107
97
104
110
169
206
212
191
179
164
167
161
150
141
186
204
204
184
158
143
130
108
125
136
130
121
119
110
75
69
46
46
51
48
50
53
77
98
96
99
90
76
88
84
92
91
86
90
99
97
66
59
65
64
79
85
82
77
85
83
80
74
77
74
73
72
72
87
90
94
74
79
93
86
82
96
96
91
77
84
77
69
62
55
55
61
62
75
68
42
41
49
56
68
76
55
54
55
53
52
55
51
44
45
39
46
46
45
48
48
50
49
81
109
102
95
87
63
79
84
66
74
82
66
56
68
93
78
83
88
78
126
140
105
71
71
75
59
53
54
68
63
42
53
60
51
48
60
78
62
70
67
54
51
50
45
46
49
53
54
59
70
78
72
63
60
74
81
79
76
59
43
38
37
48
61
54
53
75
65
40
35
35
36
37
44
43
39
39
44
42
36
46
87
79
71
88
83
80
58
64
80
75
71
66
77
72
51
54
52
48
35
38
47
56
56
56
47
53
50
43
34
31
36
35
33
38
49
46
60
52
41
37
39
58
63
61
67
85
80
79
108
116
125
132
135
133
112
91
76
81
80
76
67
65
67
72
73
78
75
70
78
76
80
85
98
91
76
72
63
78
109
107
95
93
86
94
93
100
107
107
110
114
109
101
106
118
110
98
98
102
97
94
106
105
102
97
102
106
108
122
115
107
107
104
111
116
110
101
107
118
122
117
102
88
106
110
111
104
118
228
230
231
233
232
233
231
230
230
230
231
232
232
232
233
233
230
230
230
228
228
229
228
229
229
227
228
229
230
229
228
224
226
224
211
186
169
166
164
162
163
168
175
179
179
173
156
155
158
157
154
160
164
151
116
100
102
109
108
107
112
93
77
83
83
79
78
83
79
79
77
76
76
73
72
84
121
99
72
66
70
67
61
71
53
46
47
45
48
44
43
47
58
55
62
45
44
59
60
52
60
57
61
65
56
55
52
38
49
55
46
50
52
52
57
51
48
51
44
58
68
49
48
45
47
52
55
79
92
86
98
115
107
97
102
120
119
106
112
111
104
106
120
119
102
87
81
81
78
86
97
98
92
77
88
103
82
85
73
82
88
100
94
87
85
84
88
90
95
102
118
132
99
105
117
113
96
136
167
138
124
100
106
116
107
99
97
81
89
114
142
112
127
112
106
124
194
218
193
172
164
156
161
156
128
142
201
214
219
197
165
147
117
110
129
142
139
117
119
118
90
88
66
49
53
48
46
54
70
87
95
98
88
82
78
80
88
88
83
87
92
77
69
86
74
71
70
68
76
76
74
74
76
78
74
81
80
72
74
84
94
98
70
90
107
94
87
97
97
90
79
106
100
69
62
56
47
68
89
57
41
40
39
41
57
66
69
50
47
47
53
56
73
61
49
52
56
51
52
50
59
62
60
62
76
115
139
124
99
71
67
75
74
104
112
82
83
116
130
117
139
110
83
112
125
112
81
71
64
74
66
65
68
64
61
65
49
48
52
79
97
73
60
60
57
57
64
59
55
52
55
64
86
90
84
76
82
91
79
98
86
65
44
42
43
42
56
54
47
39
41
39
36
38
37
35
49
75
55
33
43
56
57
44
41
40
38
44
55
54
66
74
85
108
77
52
42
38
38
59
65
48
46
44
39
35
40
51
40
39
38
44
53
36
36
35
36
38
43
40
56
63
61
42
40
38
58
61
62
75
90
93
94
110
114
131
138
129
99
82
82
80
71
60
57
62
65
62
61
63
58
67
80
92
92
84
85
85
75
80
74
68
79
121
106
88
89
91
98
98
99
106
101
111
108
108
107
102
111
110
103
103
107
102
97
106
109
101
95
100
106
110
124
116
98
105
109
113
116
115
103
98
115
115
112
100
96
107
111
108
103
105
230
229
233
234
232
230
230
230
230
233
230
230
233
232
232
232
231
231
231
231
230
227
230
231
226
230
231
228
228
228
224
227
226
223
222
204
179
168
160
160
157
167
177
184
179
167
156
149
152
154
151
161
161
142
119
108
115
114
117
120
116
96
66
71
68
70
65
70
67
66
65
68
63
67
63
75
107
104
76
71
79
64
59
64
45
46
46
47
45
42
45
46
44
39
49
46
42
56
54
51
68
65
67
63
60
57
53
44
56
57
59
57
58
53
49
44
51
51
49
53
65
64
49
46
44
47
47
60
75
81
88
113
103
100
111
118
111
113
124
115
98
120
121
110
98
101
89
84
79
83
96
102
98
86
88
115
93
78
79
80
84
96
87
75
88
86
89
83
83
95
112
99
83
101
114
113
93
119
154
156
123
103
130
126
97
97
91
82
91
97
110
105
128
125
107
125
185
196
180
170
158
146
146
149
128
138
199
220
220
211
183
142
103
108
123
140
147
143
117
111
103
99
86
62
77
64
48
55
67
79
101
110
95
86
82
81
83
86
91
92
78
72
78
73
75
75
67
68
83
82
71
78
82
89
87
81
86
74
76
80
86
94
80
73
85
83
88
104
100
94
82
99
106
85
61
75
83
90
78
64
45
44
43
43
44
41
36
44
48
53
61
69
64
57
64
71
67
69
62
54
47
58
73
70
81
113
153
132
83
71
86
79
76
113
110
90
111
142
165
172
144
93
69
94
91
83
62
54
54
58
66
63
61
65
69
70
61
72
66
56
53
69
58
55
54
61
61
55
55
61
73
83
115
122
117
109
107
117
156
177
121
75
66
42
42
51
73
61
42
38
45
47
44
40
39
41
41
58
57
40
49
61
50
45
42
47
40
39
42
43
49
49
69
109
90
56
59
55
62
119
128
62
41
38
39
39
44
45
41
44
41
43
46
41
36
37
39
30
31
34
33
34
38
46
50
51
76
74
72
78
84
84
99
108
119
129
110
89
77
80
78
73
63
67
78
75
73
68
71
70
71
79
84
89
100
102
89
82
76
85
94
76
97
138
124
89
94
92
93
92
100
104
99
107
109
110
103
97
95
103
103
102
103
100
88
104
114
97
89
96
105
113
120
115
99
102
111
110
110
119
99
90
100
103
106
100
93
104
114
112
99
98
228
231
230
231
233
233
230
231
231
231
232
231
232
231
229
233
232
229
230
229
228
229
227
226
229
228
230
229
228
228
229
228
225
224
221
216
185
168
164
162
159
167
179
180
174
166
159
155
149
150
155
162
160
135
121
116
123
133
134
138
137
99
72
69
76
74
74
69
74
68
71
67
70
70
67
75
104
101
75
69
66
63
55
60
51
47
46
44
42
50
44
41
47
46
51
41
44
52
58
59
65
61
58
62
55
57
45
40
54
64
58
58
57
53
48
48
49
48
43
62
54
57
64
56
52
47
45
50
50
76
84
97
93
108
113
107
107
121
119
116
107
117
118
102
105
110
106
88
84
80
85
98
90
83
83
98
113
86
86
80
84
88
81
79
78
81
85
78
83
84
95
90
85
85
94
83
97
120
143
146
122
105
131
138
112
103
85
81
82
85
89
110
112
120
118
130
158
166
167
170
164
150
141
129
153
152
176
218
224
219
195
135
111
122
108
133
147
145
130
107
104
104
96
106
143
103
61
53
63
82
94
94
109
93
74
79
79
78
88
95
80
84
89
81
79
78
80
77
80
86
83
70
82
106
112
86
85
85
82
85
85
86
82
75
80
92
89
102
106
100
75
74
67
71
63
64
63
56
41
41
44
38
41
46
57
58
55
44
40
45
55
56
59
65
69
70
70
75
75
68
59
49
66
65
110
135
138
107
89
99
78
90
105
104
110
140
131
146
143
131
108
82
105
110
72
69
65
57
60
64
59
58
66
71
78
66
63
67
63
71
57
48
51
48
58
65
57
57
54
69
93
117
142
143
165
164
145
156
159
135
97
73
84
53
38
55
76
64
45
44
39
39
38
37
37
44
52
45
43
42
58
54
40
48
42
37
37
34
38
41
45
52
77
95
64
58
57
57
59
75
103
78
41
49
46
42
46
48
47
38
44
46
48
43
35
39
41
41
35
34
35
39
44
53
57
63
82
81
74
71
80
81
95
111
109
92
83
84
84
87
85
85
84
87
87
80
74
76
77
82
84
76
76
87
90
84
77
77
78
90
87
81
105
143
128
84
89
93
93
95
99
98
100
109
110
112
101
83
84
102
104
105
106
104
92
110
120
105
92
87
102
109
116
111
103
93
104
102
99
108
108
95
92
100
107
105
103
109
117
111
92
101
230
233
231
232
233
231
232
233
230
231
229
229
234
231
232
232
231
233
231
232
227
228
228
228
227
228
230
228
229
229
227
227
223
224
222
200
176
168
163
164
161
166
177
179
178
172
160
156
154
153
150
160
159
142
124
114
119
147
149
147
151
111
65
68
72
72
69
67
69
68
65
69
65
67
65
73
112
107
71
66
75
64
57
61
48
46
41
39
46
42
43
53
53
44
47
50
48
56
61
51
66
64
69
64
54
55
54
44
55
64
58
50
55
54
49
46
46
50
57
56
59
46
55
65
50
49
47
44
51
60
84
75
92
118
108
98
115
125
126
103
112
124
118
105
118
125
114
99
97
82
83
84
80
85
85
88
90
84
87
82
83
83
103
88
80
72
76
79
82
84
85
85
89
89
78
75
89
105
126
123
121
123
128
131
117
96
97
88
85
90
104
121
120
115
137
145
184
177
149
160
162
153
134
137
178
168
153
179
221
214
178
129
128
115
101
108
129
140
142
137
106
102
83
125
166
144
85
54
64
87
93
93
105
102
86
83
77
86
83
69
64
86
101
100
87
81
85
89
75
81
78
78
82
104
130
102
95
81
76
99
100
98
96
90
86
90
92
96
105
99
78
73
74
69
61
55
46
44
53
50
42
62
59
51
53
62
71
52
53
54
55
57
66
58
59
75
70
57
56
59
66
64
52
58
102
128
104
80
106
118
92
123
125
96
124
156
163
156
100
77
86
110
110
92
99
84
73
62
64
67
67
80
83
94
107
74
77
66
70
72
63
66
66
67
72
64
55
63
79
100
134
144
158
166
163
169
177
173
102
88
86
76
85
80
45
53
80
65
46
41
43
45
44
36
38
52
78
93
66
43
37
35
42
48
40
40
34
33
32
31
31
39
52
73
71
46
44
53
58
56
59
42
40
38
46
46
50
46
39
43
43
48
48
53
42
34
48
39
44
38
36
37
48
54
63
64
72
81
76
82
84
82
96
104
92
86
86
85
84
86
87
77
76
75
78
79
77
76
84
79
76
79
75
67
73
76
77
72
70
74
72
75
107
138
129
98
98
101
94
93
103
97
100
113
108
108
105
87
83
101
100
108
105
109
97
102
114
108
93
88
112
112
113
107
100
99
106
101
94
104
118
112
100
99
110
99
98
113
118
113
99
101
229
232
233
233
229
226
234
225
232
229
230
231
231
232
232
233
231
230
231
230
229
223
222
230
229
229
228
223
228
229
225
223
224
223
218
207
180
170
168
161
161
171
171
181
180
174
162
156
154
151
150
157
159
153
132
118
123
147
150
148
146
103
72
68
72
65
68
64
71
73
69
67
63
65
70
82
111
109
76
67
72
64
55
66
51
45
49
42
41
45
51
61
49
43
58
53
47
59
60
59
61
53
54
59
58
54
51
54
55
60
61
59
57
53
46
51
50
59
55
55
50
50
49
68
65
46
45
50
44
51
63
71
79
93
105
98
119
117
118
100
116
121
103
110
120
123
103
109
122
99
91
83
84
89
81
86
82
85
82
81
81
76
99
105
86
76
75
78
76
79
81
89
83
95
90
76
85
99
119
106
124
137
128
121
98
107
120
102
91
82
107
122
112
134
184
156
178
164
144
149
158
155
131
150
189
173
148
155
200
224
171
163
165
115
100
109
113
128
144
140
125
114
103
123
159
167
130
74
62
80
102
100
107
102
90
80
82
86
81
73
81
83
94
95
85
84
89
78
74
78
75
78
79
86
118
112
101
97
88
83
90
95
106
103
91
97
90
87
98
99
78
64
69
87
105
79
67
63
51
48
54
61
52
52
56
56
68
65
63
65
58
69
69
75
106
102
79
77
87
69
82
81
91
86
136
148
143
140
144
132
137
120
94
133
139
153
159
126
110
121
99
85
75
93
100
82
78
91
98
83
108
97
104
117
133
110
91
83
75
71
66
70
74
64
74
70
77
130
126
123
152
145
168
179
173
179
173
133
141
133
110
65
67
76
59
73
60
60
46
52
51
41
38
40
35
45
55
66
71
43
42
42
42
39
35
36
36
28
31
38
47
46
40
60
90
62
48
49
52
47
56
50
49
54
54
58
59
54
49
35
47
57
58
54
48
41
41
38
36
39
36
47
56
69
79
70
58
56
59
59
75
77
80
87
82
88
92
95
81
76
66
56
66
67
71
62
61
63
60
66
58
54
53
49
53
77
84
77
67
65
76
80
101
127
122
99
102
93
86
82
88
97
102
115
104
102
104
90
83
96
93
93
105
112
102
103
104
104
99
99
114
112
117
112
103
101
107
99
85
95
124
130
110
102
103
94
98
113
113
111
87
105
229
229
233
232
233
233
234
234
232
231
234
232
231
230
232
232
231
233
228
231
230
227
229
223
228
231
227
228
227
230
228
225
224
224
222
216
191
176
172
163
163
170
180
180
176
178
174
164
156
152
153
161
163
157
153
141
136
150
147
150
147
111
71
76
76
77
75
73
74
70
77
74
72
73
72
86
114
106
86
68
69
64
57
71
50
48
43
44
47
45
46
52
54
47
59
47
42
56
63
59
61
48
50
59
56
55
53
45
60
60
54
60
60
58
49
49
52
58
53
54
57
53
55
60
62
67
52
45
52
49
47
58
80
90
89
104
119
114
93
111
124
117
107
123
123
118
97
111
120
111
93
93
96
83
84
78
87
92
85
86
78
82
81
105
91
77
78
84
82
80
89
93
88
87
88
80
86
90
96
92
114
148
140
119
95
106
131
120
95
104
110
116
111
147
199
171
143
149
132
145
151
156
128
125
163
163
148
142
171
188
161
185
187
148
111
115
114
113
138
148
137
115
110
110
134
172
161
113
68
72
98
100
104
107
93
88
82
83
78
69
82
77
89
92
84
83
82
80
73
74
90
84
73
83
127
121
95
103
98
89
87
86
94
99
93
96
113
92
117
104
86
90
76
117
132
95
67
63
63
54
54
53
56
58
56
58
65
68
67
50
72
91
87
94
120
113
98
88
116
127
141
131
120
113
156
163
166
160
135
106
86
110
132
162
162
163
161
138
86
94
113
112
119
95
74
81
106
145
155
149
131
118
144
137
120
123
99
81
115
105
101
122
134
99
93
83
101
146
147
148
158
162
180
183
180
177
167
148
136
123
144
128
84
85
63
71
89
103
84
69
61
51
69
53
49
61
63
53
40
37
40
41
35
43
46
32
32
36
35
41
57
61
81
108
102
97
67
45
46
50
53
46
46
53
51
54
59
52
54
56
67
84
65
68
59
50
53
42
43
38
38
47
50
79
80
74
71
65
60
62
73
72
72
71
74
81
82
82
88
84
75
64
65
59
67
68
69
66
67
72
63
55
52
49
55
57
76
85
83
79
76
86
104
114
105
89
93
94
94
84
93
96
98
115
113
96
92
90
98
108
104
104
110
113
106
104
102
109
111
105
111
113
115
107
98
100
109
103
97
92
118
137
121
104
104
103
99
108
115
110
99
107
229
231
232
232
230
233
234
232
232
233
232
232
234
235
233
230
231
231
232
231
230
228
230
226
226
229
228
228
231
229
227
228
225
225
223
215
196
171
169
166
164
170
179
180
180
178
171
163
164
164
157
160
162
164
160
152
133
147
153
148
145
120
80
87
96
93
91
85
87
88
87
87
84
87
81
88
109
114
88
66
66
60
57
64
52
46
48
43
45
44
50
55
48
39
49
47
43
54
69
62
59
47
52
64
58
60
57
45
55
52
54
55
61
57
55
48
51
51
57
53
53
55
57
66
58
55
62
52
46
46
47
48
66
79
91
110
110
105
99
104
109
109
118
133
127
112
109
112
111
101
102
109
104
95
82
81
89
88
83
82
75
86
91
92
75
85
92
82
87
89
99
95
90
87
85
90
87
94
86
103
106
136
134
108
95
100
111
113
107
121
116
114
125
152
187
170
123
121
130
129
149
148
120
120
139
137
143
138
133
130
158
188
199
170
130
111
114
110
103
117
107
102
111
103
119
152
180
156
95
72
89
106
110
110
100
94
90
85
64
76
75
75
78
85
97
96
81
80
71
71
77
83
78
79
111
101
87
93
89
90
85
76
81
94
111
109
121
122
129
126
138
133
115
101
102
99
77
59
57
62
64
65
62
79
70
69
74
59
76
73
63
101
130
125
113
135
104
95
141
157
158
144
123
105
150
165
165
156
124
102
127
158
165
162
166
156
160
136
100
119
139
154
130
104
103
128
154
168
167
162
147
153
163
153
124
117
100
89
117
101
104
148
152
131
94
103
101
139
161
165
169
161
167
173
172
142
122
116
95
97
109
104
61
56
73
75
99
115
86
66
58
66
102
74
61
83
76
64
62
44
39
40
38
47
47
37
35
38
42
40
46
51
57
80
98
118
70
39
39
59
67
56
58
55
56
51
44
46
47
47
60
59
50
57
61
48
46
41
46
42
42
44
45
53
69
67
72
80
76
67
71
77
74
80
82
87
99
97
82
62
55
50
55
63
75
81
80
86
87
83
74
63
56
57
62
61
65
79
86
91
92
86
90
99
93
93
97
96
91
85
86
89
92
114
120
92
93
98
101
110
108
108
110
113
103
99
110
112
108
107
109
111
118
112
107
103
111
108
96
92
121
138
125
107
111
101
96
106
118
118
106
108
230
231
231
231
234
232
232
231
233
232
231
233
232
232
231
232
231
230
230
226
228
229
229
227
230
230
228
231
229
226
227
223
226
223
222
215
191
174
167
169
168
171
180
178
181
180
171
165
162
165
163
166
165
162
156
147
150
153
155
153
154
120
90
99
105
102
96
94
92
93
98
97
95
95
94
90
116
121
94
71
70
66
61
67
50
45
45
47
45
44
50
54
60
56
61
49
45
58
64
60
62
52
45
56
64
62
49
48
54
58
53
60
62
60
52
58
54
60
54
51
59
58
60
61
50
53
62
68
55
45
48
50
57
65
94
111
108
97
116
107
101
99
120
132
122
103
116
118
109
106
117
114
110
106
86
82
92
95
89
82
91
86
88
92
80
86
93
87
81
108
111
98
94
87
90
92
93
102
84
95
115
119
114
108
105
97
98
91
99
104
131
128
156
165
170
152
122
106
122
126
115
131
140
134
143
143
138
143
123
132
191
186
193
173
131
129
122
112
94
85
108
108
117
115
110
134
165
177
135
83
81
107
122
106
101
85
88
73
67
78
81
78
78
82
85
97
81
76
75
66
71
72
79
76
79
79
90
99
98
95
80
91
107
102
118
124
122
127
136
140
136
132
132
133
133
100
103
88
86
83
95
104
94
97
74
56
56
58
60
57
97
150
160
147
156
162
149
153
170
173
155
124
145
154
162
164
168
169
159
152
159
163
164
168
167
149
145
145
129
138
156
161
151
128
113
139
161
158
158
162
167
166
167
158
152
159
130
106
132
137
116
130
128
100
119
150
147
151
153
152
162
177
189
180
169
143
90
54
78
77
61
53
68
80
102
120
95
93
75
64
56
56
59
68
61
97
110
73
61
45
44
45
45
40
40
42
40
43
51
55
70
81
70
46
54
59
49
46
51
57
55
45
52
57
54
57
62
57
48
43
38
48
59
46
46
48
50
48
41
44
41
51
52
57
56
61
60
71
64
48
51
57
64
75
78
83
91
107
89
63
63
67
66
67
67
68
61
63
67
66
68
66
61
69
60
56
64
76
90
97
93
88
86
90
96
92
92
95
92
91
90
88
92
117
121
100
95
100
99
107
104
107
110
115
103
101
105
115
113
106
107
109
117
117
110
106
106
101
98
100
126
147
127
113
113
108
103
115
117
115
108
115
230
229
232
233
232
232
232
233
231
233
232
233
234
233
233
230
232
233
231
225
229
229
231
229
230
223
229
230
221
229
227
228
223
226
216
200
180
169
173
168
163
170
183
183
177
177
169
161
160
165
160
166
159
154
152
151
140
153
154
153
146
131
122
133
135
128
127
124
118
104
111
119
117
116
113
107
124
127
92
52
70
67
54
64
49
43
46
50
49
45
46
54
50
46
50
49
42
47
54
48
63
51
49
63
61
60
59
42
60
60
57
55
59
56
58
66
69
60
53
52
54
52
63
48
43
59
45
47
68
54
45
44
46
51
78
113
99
94
105
111
98
92
116
126
103
119
121
124
102
115
125
123
109
103
90
83
90
93
86
77
93
93
85
87
90
91
81
83
88
119
133
102
92
89
104
94
86
88
78
91
111
99
94
119
115
103
85
87
93
110
132
145
174
169
166
157
125
106
104
103
109
125
146
147
140
130
138
127
102
107
172
197
178
160
136
132
126
117
105
95
109
111
107
106
103
109
122
164
176
136
81
97
126
123
104
100
79
77
77
76
85
76
74
80
87
88
80
77
70
66
71
80
83
83
87
83
94
89
92
85
85
86
88
88
83
82
107
116
115
121
132
143
136
141
140
110
117
109
91
89
98
111
118
72
59
57
68
69
59
56
89
129
151
137
146
149
151
165
159
165
159
163
163
158
155
157
154
164
166
163
157
166
166
159
148
145
157
166
148
143
158
163
155
135
112
116
150
162
155
157
155
167
171
159
165
173
163
162
174
166
158
150
160
160
172
176
169
166
151
161
159
145
129
120
101
121
133
92
81
72
79
73
79
101
106
125
115
113
100
70
64
61
86
69
75
75
84
82
54
45
39
40
39
44
50
52
46
51
65
62
71
111
123
98
54
52
54
53
56
49
48
58
63
56
51
43
50
54
39
44
49
55
60
52
47
38
47
41
53
49
40
46
62
67
57
53
63
62
55
51
47
45
47
50
68
80
75
77
76
68
67
68
60
52
52
58
62
60
61
65
57
56
69
62
49
47
53
68
82
83
82
95
98
89
90
91
94
95
84
88
101
84
97
116
127
105
99
91
108
113
105
101
106
111
100
103
104
107
116
112
108
107
111
110
105
108
121
111
105
100
122
144
128
107
110
100
92
111
121
113
108
113
230
230
233
234
234
233
231
232
232
229
230
230
231
232
232
232
231
233
233
230
230
231
228
228
224
228
227
229
227
226
229
225
225
224
200
184
169
167
168
169
161
170
180
178
181
177
169
165
165
176
165
162
162
157
153
142
133
150
155
151
147
144
144
145
142
146
145
144
130
114
129
146
146
148
142
135
127
131
98
63
68
60
57
65
49
45
52
51
40
46
53
55
61
47
52
53
49
54
52
50
56
53
51
64
63
61
58
52
60
67
54
66
64
64
67
63
68
65
60
55
58
57
61
65
57
61
64
60
60
60
56
51
56
51
62
79
87
101
114
111
92
99
110
115
103
116
125
118
119
130
126
122
111
125
116
98
96
93
83
88
85
98
97
79
93
97
89
80
80
111
146
122
99
107
115
108
86
82
76
77
97
107
110
121
123
112
84
93
100
101
138
165
181
184
186
184
141
115
106
86
102
134
142
144
139
130
116
114
112
98
132
169
159
142
144
145
133
110
88
89
102
100
106
104
101
106
121
138
167
171
120
91
116
128
107
89
81
91
84
78
78
84
82
76
86
90
75
75
71
68
73
79
80
85
95
89
80
90
89
82
90
90
98
102
91
82
91
89
81
105
138
147
137
120
109
117
114
126
123
100
86
78
86
78
71
80
87
69
61
62
106
148
157
149
137
133
140
159
162
163
165
160
162
158
160
157
147
153
163
163
156
150
145
156
173
164
154
150
155
150
139
140
163
158
146
150
160
160
157
152
152
158
155
168
184
166
153
154
168
162
160
159
169
172
170
168
166
169
170
160
151
136
133
115
85
84
80
68
62
75
89
74
54
58
82
91
104
106
110
96
78
82
84
89
78
69
52
54
58
44
38
48
59
57
57
83
86
56
58
61
66
82
110
120
76
61
53
47
42
49
52
54
58
62
71
53
52
57
53
54
46
46
49
49
50
52
45
56
55
58
48
52
59
71
71
63
73
74
71
70
65
69
67
76
107
106
95
76
64
64
70
69
74
62
67
60
55
60
64
62
66
64
62
69
63
57
49
54
61
81
87
90
92
96
99
93
94
95
91
90
96
93
102
114
124
105
103
104
108
106
95
96
99
116
108
103
109
113
122
119
117
107
112
110
115
111
117
116
102
102
127
144
130
112
114
107
96
112
119
121
114
115
229
230
232
235
235
233
231
233
232
231
231
232
231
234
229
232
232
232
230
230
228
230
231
229
229
230
229
226
226
225
229
225
225
223
192
174
170
171
169
162
162
169
179
183
182
178
169
162
163
165
159
163
168
164
155
137
128
148
152
154
153
143
140
144
142
147
145
144
127
109
132
145
144
139
142
144
129
134
106
61
70
64
50
69
51
49
45
43
48
46
53
62
65
54
58
53
53
60
59
48
67
60
54
72
65
65
61
46
59
55
57
62
58
62
69
79
72
69
61
62
65
54
61
60
56
64
60
66
72
52
59
57
55
57
53
51
65
95
121
109
117
105
110
100
108
116
122
110
128
139
131
110
118
133
129
103
87
93
84
87
87
88
92
86
90
88
88
85
93
100
125
117
102
116
114
113
93
95
88
81
86
95
111
127
124
106
88
100
90
106
164
163
171
186
184
191
163
114
101
86
85
119
136
136
145
137
114
105
109
106
123
121
133
127
142
146
143
122
82
96
106
106
103
100
102
103
101
130
142
172
164
113
106
139
111
100
97
85
89
81
80
79
74
78
79
84
86
89
80
73
77
82
87
94
96
93
106
101
84
86
98
118
128
120
88
102
120
106
90
111
129
142
138
135
115
110
103
121
132
125
110
126
121
77
70
85
101
90
83
77
121
145
162
157
156
155
159
162
161
165
160
158
160
163
160
158
150
152
161
165
156
149
147
156
159
153
154
156
149
153
149
150
166
156
148
152
158
157
152
144
142
144
156
162
157
159
139
139
154
153
139
155
165
162
165
166
169
166
146
128
165
190
194
173
117
103
86
64
67
78
91
88
69
69
73
91
120
107
100
107
121
122
104
102
88
77
63
52
48
46
53
56
58
60
57
73
74
67
68
60
57
55
59
63
62
58
55
52
51
52
50
48
56
63
63
56
60
66
61
50
53
46
55
58
55
53
55
53
58
72
58
62
66
70
70
70
69
80
79
87
86
86
87
93
97
95
81
81
73
79
81
71
64
63
69
71
52
57
61
60
70
88
80
76
84
74
52
49
53
61
80
88
94
95
94
86
89
96
94
91
97
90
96
104
111
107
100
105
106
107
101
101
108
114
107
103
110
118
120
112
111
109
109
114
119
119
115
109
102
106
124
146
129
111
115
111
98
110
123
124
123
116
228
228
228
231
232
233
231
229
233
233
233
232
230
235
233
232
232
234
235
230
229
232
233
230
229
230
232
228
225
227
224
226
221
222
205
175
172
168
172
168
163
170
184
182
186
181
164
164
161
159
158
165
167
161
159
129
122
149
155
147
146
149
145
147
147
143
145
146
132
116
128
145
143
145
144
144
139
130
110
73
85
81
58
78
54
49
49
45
44
50
68
88
101
78
74
82
73
76
78
75
100
84
79
105
105
109
97
81
86
90
89
98
93
86
109
116
113
115
106
93
100
85
90
98
91
101
101
102
105
81
90
100
93
92
88
92
78
84
107
146
138
123
102
110
126
124
114
115
128
137
123
111
121
128
130
109
115
88
82
85
91
91
87
84
89
91
86
85
96
103
96
86
88
112
122
108
84
99
101
87
82
87
109
122
123
96
107
105
94
154
186
158
150
181
186
185
168
139
88
83
85
106
132
146
141
130
119
131
123
109
110
120
113
123
143
147
148
115
88
97
96
103
108
99
98
102
109
108
120
143
172
155
112
111
135
154
122
101
102
96
83
77
76
83
83
82
85
82
76
77
83
96
105
100
95
93
104
97
85
88
100
110
128
95
96
100
123
122
103
125
146
131
120
135
123
127
131
130
115
126
145
128
103
81
73
89
124
115
99
95
143
163
166
161
160
172
168
162
161
161
154
151
158
148
152
161
163
147
143
150
155
163
166
165
158
153
160
155
157
157
145
152
164
166
166
162
165
166
171
149
140
153
158
156
161
164
160
163
154
147
158
164
160
164
161
160
156
159
157
172
168
154
175
168
115
136
104
77
80
73
106
105
97
90
98
108
138
134
126
132
138
145
130
115
95
77
67
63
55
60
56
48
50
55
53
63
67
65
77
52
46
56
57
48
51
56
61
58
57
48
46
80
87
64
60
54
57
64
57
50
47
45
50
67
61
56
49
54
57
60
60
55
59
68
75
79
82
67
72
83
85
63
64
81
78
76
72
74
66
65
71
69
71
74
62
51
52
57
60
59
65
62
70
71
75
68
58
62
64
63
76
76
86
92
91
89
95
96
99
90
102
98
95
98
101
102
107
106
107
113
113
118
113
112
108
102
115
117
111
114
117
113
109
115
120
123
124
114
101
104
120
137
130
111
115
110
98
114
124
123
121
116
230
231
229
228
234
230
231
233
231
231
232
230
232
231
232
232
233
232
230
231
229
230
226
228
227
229
226
226
228
226
226
220
222
222
213
184
166
168
168
164
162
174
182
183
181
182
171
164
164
165
159
165
166
166
154
124
123
146
153
148
149
146
146
147
148
149
147
145
132
111
124
142
148
147
147
136
132
126
117
100
113
96
76
99
63
56
51
50
56
62
82
114
119
85
83
85
84
100
89
77
116
111
104
116
120
114
112
107
111
115
107
130
117
106
121
117
120
121
109
113
123
116
125
121
102
124
123
119
115
99
118
127
110
121
117
111
106
105
129
175
159
131
105
119
125
121
108
119
125
124
109
124
124
121
114
124
144
132
103
92
93
86
81
90
111
102
84
84
81
101
107
90
83
100
118
102
89
96
110
95
81
92
113
121
113
105
121
119
110
157
186
166
145
167
198
189
172
145
86
97
105
102
109
138
137
135
123
148
146
120
108
127
120
113
132
147
141
99
93
96
100
99
104
101
93
95
111
101
86
108
147
143
130
143
156
157
126
113
106
92
87
89
81
82
85
79
84
88
93
82
81
85
101
95
90
85
79
78
85
100
98
106
112
94
89
109
127
133
136
142
138
127
143
145
135
138
141
138
134
139
136
101
103
105
97
129
123
119
100
115
149
165
155
145
163
176
169
165
167
162
153
160
151
149
166
177
171
153
134
135
151
163
175
169
168
163
164
165
164
161
156
154
157
159
160
162
159
162
160
161
169
170
162
163
166
162
164
160
154
168
172
163
163
161
164
158
160
155
169
162
162
161
184
152
91
87
71
84
74
86
111
90
83
83
110
124
134
110
121
113
138
139
113
81
74
71
76
64
61
81
70
61
54
43
49
68
77
58
50
54
48
53
57
58
58
48
53
57
56
48
47
45
42
47
57
55
57
60
58
50
48
47
47
60
66
71
58
57
61
57
62
74
78
77
86
94
92
86
69
59
50
48
50
60
65
75
70
67
65
62
76
74
73
70
66
55
54
62
69
61
61
58
58
61
64
73
69
59
63
67
77
82
86
98
96
95
106
102
95
94
100
97
90
100
107
99
103
109
115
116
113
116
114
109
105
104
113
116
114
104
104
110
109
112
118
121
128
114
103
107
114
132
128
118
120
118
101
112
123
126
119
109
232
227
227
232
232
231
234
234
234
235
234
234
230
233
232
233
234
233
231
232
230
229
229
232
230
230
229
227
228
228
227
225
222
223
218
198
181
170
167
164
165
172
180
185
181
183
169
163
165
161
157
166
169
164
149
120
121
147
152
154
152
147
148
145
149
151
150
146
131
112
126
145
146
142
140
140
125
116
114
108
109
100
93
110
80
68
56
53
55
58
92
107
116
105
115
97
78
103
108
101
119
115
120
139
129
112
106
112
111
110
108
107
97
97
111
111
107
116
114
107
112
109
113
100
89
107
104
109
107
96
113
111
101
127
123
119
112
120
141
174
173
133
120
123
125
113
114
123
129
117
119
131
136
122
109
126
144
136
105
95
85
82
91
96
101
98
93
89
82
85
98
85
84
87
93
83
83
89
101
98
87
91
109
113
97
104
122
121
119
175
170
168
156
148
165
180
169
125
86
98
113
105
94
110
129
121
127
155
149
125
105
118
131
110
105
130
113
104
100
96
101
106
95
101
106
90
99
111
93
89
110
122
168
183
164
149
130
109
114
100
90
81
79
80
77
81
85
99
102
103
88
88
101
100
85
75
78
80
88
96
112
116
112
111
99
117
138
147
148
150
147
149
153
150
148
137
140
145
142
138
133
112
120
107
125
147
159
157
145
154
158
164
152
150
168
171
173
170
168
162
163
153
151
163
175
181
174
166
153
155
160
171
176
166
158
160
158
158
164
178
166
162
159
160
159
160
161
165
162
168
174
167
168
165
160
160
154
157
165
170
166
169
159
151
149
152
163
166
171
176
189
185
144
110
84
79
82
73
72
84
95
88
88
107
142
149
151
156
133
118
130
141
132
95
71
75
72
58
57
66
73
60
65
67
67
64
64
57
55
52
47
43
47
54
57
52
47
49
51
50
50
46
48
59
63
52
48
53
54
48
51
59
64
72
85
69
60
60
66
58
62
72
77
72
79
85
82
83
88
76
72
78
96
84
79
65
65
72
72
68
68
60
67
68
64
61
64
76
76
73
70
69
71
74
64
67
61
54
66
66
82
98
94
91
95
99
111
110
105
104
103
100
101
106
108
107
96
98
112
117
114
118
114
109
105
100
116
120
117
100
93
102
108
113
114
121
126
114
99
104
113
134
129
117
111
106
97
113
123
126
126
116
231
228
228
230
234
232
231
233
234
233
234
235
233
235
233
234
230
232
231
232
231
231
228
231
226
228
229
230
227
226
225
225
225
224
217
197
176
170
164
166
165
174
182
182
185
182
175
164
166
163
162
162
162
162
144
115
123
149
153
152
150
151
143
146
146
147
143
146
134
114
127
144
144
143
146
145
121
115
115
110
102
83
78
100
80
69
64
67
77
75
94
101
106
86
93
102
91
87
91
93
103
112
122
129
108
88
104
105
105
118
116
118
111
100
121
106
103
117
114
113
112
112
106
106
109
121
112
108
111
103
123
123
118
119
114
111
105
133
140
176
179
156
147
132
119
111
122
131
126
106
109
133
132
114
126
123
134
119
126
121
95
93
96
97
91
81
99
96
85
86
100
108
87
86
85
80
83
88
87
85
95
97
103
101
89
100
115
122
150
188
172
157
151
150
143
167
167
111
99
86
88
97
99
93
103
145
140
151
158
142
111
103
115
115
98
100
120
125
122
100
98
105
105
94
104
97
97
102
103
86
101
159
183
185
174
148
137
114
116
107
86
77
79
80
90
87
89
91
91
95
91
92
102
103
87
71
68
83
93
104
114
113
121
103
107
108
122
139
146
147
149
146
147
150
151
150
164
160
143
130
126
110
122
122
131
141
158
168
164
154
158
158
156
164
162
158
162
166
161
161
153
149
148
158
166
166
166
165
164
165
168
178
177
166
161
162
162
159
171
171
165
164
164
171
165
168
165
158
160
169
166
164
161
166
166
142
146
175
178
169
167
167
167
159
152
159
153
164
175
185
182
173
145
147
116
83
91
108
87
83
110
138
141
131
158
160
149
146
147
136
116
125
100
97
93
104
94
73
65
71
67
80
71
72
63
59
66
58
52
46
44
40
43
46
52
46
46
61
69
60
56
53
53
60
55
51
51
66
64
52
61
53
56
66
73
62
54
51
59
74
64
62
66
68
73
84
89
87
87
72
77
78
77
90
101
88
77
72
60
66
63
54
64
60
54
68
75
71
72
77
74
65
58
56
63
73
73
64
78
94
94
94
92
94
100
100
108
114
106
104
99
102
107
116
117
105
98
99
113
116
107
117
117
104
105
99
112
122
115
104
99
103
109
104
110
120
126
114
93
105
117
133
131
113
104
98
92
106
115
125
124
117
233
231
232
231
232
230
232
232
233
235
234
234
235
231
231
232
233
230
229
231
230
230
230
229
231
230
229
227
230
230
231
226
223
223
214
197
176
168
166
163
164
175
181
188
183
185
179
167
164
162
158
159
158
156
145
120
121
150
152
148
154
150
148
145
147
140
147
146
133
115
128
138
145
146
139
135
117
109
103
97
95
78
68
89
84
82
65
72
71
70
98
104
82
63
75
91
96
90
70
62
78
82
89
83
70
67
81
72
75
84
86
99
88
85
80
70
73
75
69
80
76
70
79
80
75
83
65
74
76
85
98
89
88
116
123
112
101
116
138
175
184
166
155
144
112
116
132
126
109
111
118
122
115
113
132
129
117
118
136
138
122
101
103
97
92
85
89
94
97
88
100
126
105
85
90
95
87
88
84
87
94
94
92
95
89
102
112
118
187
195
190
169
153
145
149
151
141
122
118
103
91
92
95
95
123
171
176
156
160
155
129
107
105
105
97
110
126
136
136
123
106
107
103
99
98
107
104
110
106
103
142
183
192
197
194
172
149
116
109
107
93
81
80
87
87
86
106
106
95
85
91
89
81
98
91
81
78
87
87
88
104
115
118
120
110
113
126
142
149
149
147
139
141
146
163
161
160
162
151
144
145
147
157
152
150
150
151
160
164
159
149
152
151
151
156
164
164
167
163
159
156
163
162
171
177
170
157
155
154
160
169
172
171
165
167
164
159
168
166
158
158
154
156
157
159
164
155
154
165
165
166
159
164
159
154
150
156
160
157
166
175
173
166
164
162
155
164
178
184
183
186
166
141
135
114
104
121
123
128
134
157
162
151
144
141
119
125
137
141
133
129
103
78
78
110
116
105
94
90
102
116
100
70
60
53
48
53
62
57
52
55
63
56
55
51
51
49
57
57
52
49
48
50
57
53
54
61
81
66
69
76
48
48
59
63
60
55
67
80
88
84
85
84
86
86
86
85
96
86
70
61
59
53
52
61
66
53
63
66
62
58
61
55
61
74
73
79
77
71
73
71
65
57
56
52
59
61
65
80
105
99
90
90
91
93
88
100
109
114
103
93
97
97
109
119
101
92
98
108
111
103
109
117
107
108
99
106
122
120
108
110
111
112
114
112
114
126
114
96
99
114
137
130
113
114
104
85
92
107
119
123
113
231
232
229
233
230
230
234
231
234
234
235
232
232
234
235
233
232
231
231
231
229
228
228
229
230
231
228
228
229
225
228
225
225
222
224
213
191
178
167
163
167
173
180
184
187
184
177
172
167
164
162
157
159
159
138
115
128
150
152
155
150
150
147
148
145
145
148
145
136
113
128
142
147
147
137
125
117
104
105
100
97
85
74
86
76
75
60
56
64
70
94
96
91
83
83
88
76
84
84
83
93
87
90
93
86
85
75
74
85
88
78
77
78
74
79
71
68
65
66
69
88
98
103
105
101
105
99
113
113
103
118
100
107
134
133
110
103
119
130
171
187
172
153
147
137
138
126
116
109
114
124
112
112
132
134
125
114
127
138
138
119
118
117
102
89
81
90
96
90
90
98
111
123
93
84
94
89
86
82
92
96
91
86
91
111
103
113
118
173
209
191
187
161
141
141
122
118
140
142
123
100
90
94
92
134
176
178
180
166
153
143
111
96
97
106
124
135
138
141
130
116
106
114
113
95
102
107
115
102
109
171
187
191
197
197
183
166
127
112
111
93
88
88
87
83
88
110
111
100
97
104
92
83
104
92
78
84
86
87
95
119
126
129
131
134
120
139
145
141
143
144
138
135
129
146
153
151
152
153
157
160
158
151
148
151
156
165
162
164
159
146
147
151
148
154
157
155
152
153
157
162
160
170
174
171
167
159
156
160
171
170
171
170
162
160
157
160
172
170
165
165
163
166
163
169
167
150
150
166
166
164
166
163
158
149
144
153
167
174
172
177
174
160
156
151
161
181
185
184
187
179
181
161
144
150
140
138
133
155
163
162
155
154
153
129
90
101
130
140
126
97
97
93
96
91
92
102
120
117
131
139
108
81
69
52
54
62
58
57
48
51
60
53
53
52
48
47
52
63
57
54
54
58
53
57
67
55
59
62
61
65
56
54
57
48
47
73
96
107
110
95
93
88
96
90
77
76
84
102
98
83
69
65
66
63
53
57
48
54
63
68
66
66
69
77
82
78
71
70
77
79
65
65
72
70
52
51
61
69
84
96
96
94
88
92
83
87
110
115
100
89
104
105
114
120
102
92
92
105
114
110
118
118
113
116
104
102
119
120
111
112
116
114
119
118
115
121
113
88
90
111
138
133
120
115
111
96
94
106
114
121
113
233
233
231
230
233
232
232
234
235
234
233
230
233
232
233
234
231
231
227
231
232
232
228
230
230
228
231
229
226
226
227
227
223
225
223
209
181
172
166
168
167
176
178
182
183
185
181
176
170
166
159
157
160
158
155
141
144
153
152
152
149
148
148
147
145
146
145
145
135
116
126
148
143
136
133
124
115
108
97
97
113
104
85
89
84
84
72
65
75
88
101
99
98
95
89
88
88
88
100
109
126
125
131
121
107
96
87
109
115
106
101
91
87
90
96
84
76
74
68
71
118
163
157
161
158
160
154
158
158
158
158
155
154
119
104
86
87
100
124
163
184
178
155
130
155
161
135
111
123
123
118
111
122
135
138
120
114
136
142
125
114
132
131
110
97
101
88
87
92
102
102
105
103
89
92
100
91
90
82
91
101
95
88
104
120
113
104
141
165
201
210
204
179
138
119
116
122
141
143
139
114
88
91
85
108
167
181
184
186
168
151
127
97
92
123
131
142
150
143
143
146
115
105
110
100
109
112
100
102
146
176
187
190
192
198
189
174
143
106
110
96
89
85
85
92
95
116
112
111
103
100
81
85
85
78
84
85
92
94
111
109
116
111
112
126
129
135
152
155
153
151
143
135
125
132
137
145
147
139
147
137
140
141
143
157
164
160
161
161
163
149
144
156
157
153
156
160
160
163
159
156
152
162
156
151
153
158
153
170
170
167
168
163
156
153
148
163
158
162
166
166
162
161
161
161
159
161
159
156
159
157
156
155
156
144
146
157
171
172
175
177
177
174
157
153
168
178
184
186
176
154
169
175
167
155
150
152
153
154
152
148
128
133
144
134
103
126
134
116
114
122
135
134
126
133
125
141
154
156
154
153
134
78
56
62
67
57
48
43
48
48
48
44
57
61
53
50
59
76
61
54
59
56
54
68
65
62
55
52
44
44
41
47
45
51
59
66
70
84
96
102
106
89
81
74
66
73
89
95
92
78
81
90
97
102
96
85
70
63
75
77
75
65
72
71
74
79
72
61
66
67
69
65
64
66
65
74
66
77
95
96
91
87
87
91
85
89
104
109
106
102
110
106
109
119
102
93
93
100
111
111
115
118
109
112
96
97
118
119
108
113
113
110
116
117
112
117
114
97
92
108
132
131
115
115
117
97
106
112
117
118
114
231
233
235
232
228
230
230
233
235
235
235
231
230
233
234
226
231
229
227
230
231
229
229
230
229
230
226
231
227
228
227
227
223
224
222
209
181
175
172
162
165
173
180
182
184
183
183
180
172
168
159
165
159
155
151
148
153
155
151
150
148
149
145
144
144
145
150
148
136
115
127
141
143
142
135
131
122
109
98
99
119
116
106
108
91
87
95
99
97
101
98
110
105
95
97
92
89
93
102
115
122
125
123
115
108
105
94
110
116
97
91
86
84
82
90
78
76
68
67
67
105
162
164
154
148
148
150
153
145
154
159
159
150
109
89
86
85
91
125
159
176
177
153
133
153
161
134
126
128
122
115
106
123
136
131
112
125
124
128
114
128
133
138
119
118
113
92
85
93
108
112
98
86
87
104
109
93
82
86
90
95
95
100
120
133
119
107
135
168
177
214
216
193
143
121
143
138
146
138
137
132
96
89
100
101
131
169
176
183
183
147
123
96
107
132
139
140
149
149
155
150
143
114
107
102
115
121
91
115
167
190
191
184
186
192
191
176
151
116
107
105
96
92
101
110
115
108
106
102
101
97
85
66
62
60
65
70
77
85
80
85
81
86
102
115
108
111
123
117
125
122
118
124
127
123
120
114
115
102
112
115
115
109
114
120
120
128
132
138
134
117
125
144
142
141
144
149
157
139
149
147
147
160
159
157
156
150
142
154
169
165
166
161
163
145
138
135
139
144
150
155
158
157
150
158
170
167
164
161
161
150
146
146
146
144
162
176
175
170
162
160
174
178
170
169
175
182
185
185
155
145
162
162
158
156
155
156
162
159
159
162
140
129
155
142
136
147
150
154
148
112
105
94
112
112
105
110
110
116
107
109
91
65
63
66
63
57
49
52
61
55
51
48
52
48
49
47
44
47
48
70
93
83
66
73
79
72
78
58
53
52
46
46
57
63
65
68
82
91
85
97
103
91
87
82
75
90
91
85
94
95
98
86
94
100
94
81
83
84
82
86
86
81
85
85
71
78
81
77
67
76
77
72
65
59
63
59
56
73
98
93
88
90
92
99
91
90
102
112
106
106
113
107
110
118
106
97
93
92
99
110
111
116
106
99
92
98
119
118
111
116
113
102
115
115
107
114
114
101
95
106
131
128
111
119
117
103
110
116
111
118
117
231
232
232
231
231
231
233
232
234
233
233
231
232
231
231
233
229
228
229
230
232
231
231
230
229
230
228
229
230
229
228
226
225
223
226
217
197
179
168
168
171
173
182
185
184
184
183
183
169
168
167
163
155
153
150
149
151
154
150
151
151
146
145
143
149
149
147
147
132
114
127
142
146
144
141
142
141
119
103
100
115
121
112
117
104
94
102
103
101
96
93
96
99
96
97
100
94
93
101
117
127
130
113
103
103
107
95
112
114
107
99
89
88
87
91
86
79
77
70
72
105
170
168
162
162
163
159
159
162
157
159
158
141
103
89
77
79
88
120
145
159
172
153
142
143
143
128
158
145
121
103
114
120
134
117
117
131
134
113
124
132
135
121
120
142
121
105
92
98
112
114
102
81
88
101
108
100
88
98
94
93
91
110
132
139
119
120
127
151
167
187
220
192
139
136
175
163
139
135
131
133
104
99
110
106
106
133
170
179
184
160
117
94
119
137
144
148
151
151
160
155
158
138
113
107
102
98
99
144
168
176
193
191
193
195
198
194
168
128
109
102
95
97
117
119
116
102
99
111
98
91
77
78
77
57
46
52
73
77
81
85
98
126
133
134
136
135
133
141
139
133
147
144
155
153
143
143
137
147
139
139
139
112
141
151
139
136
131
131
122
127
129
128
130
128
127
128
125
125
125
119
111
115
123
128
133
127
129
132
135
140
131
126
102
103
99
96
97
97
99
92
112
120
109
118
146
154
142
143
144
139
123
108
101
108
110
136
146
166
172
174
168
177
181
183
184
187
189
179
165
157
170
169
166
165
163
155
157
158
163
164
159
148
145
153
160
156
157
135
87
46
44
40
42
42
49
50
50
56
45
52
50
60
58
58
56
57
60
72
67
55
60
57
55
74
56
46
51
54
58
66
86
77
55
55
62
67
66
53
50
54
52
55
56
64
77
74
77
89
90
78
82
94
94
94
95
93
88
98
95
99
111
104
100
97
88
84
82
77
72
74
79
84
80
81
92
81
88
84
90
85
74
68
70
66
63
66
65
73
96
93
91
93
100
99
102
101
103
102
99
100
108
100
109
118
110
105
102
91
93
99
111
116
112
104
91
92
110
122
114
108
113
102
101
106
107
108
114
104
92
101
129
129
119
119
121
113
115
115
113
116
116
233
231
235
232
234
233
231
232
234
233
233
235
232
232
229
234
232
232
230
233
232
232
230
230
229
221
221
229
227
232
230
231
226
225
225
218
193
177
173
170
163
176
180
177
181
184
174
175
174
173
165
159
157
156
155
153
147
154
150
148
147
146
145
141
151
141
147
144
133
120
127
147
145
139
140
134
131
109
94
102
119
115
112
111
106
104
106
101
101
98
97
94
90
92
93
88
92
94
99
117
126
130
118
92
86
93
93
112
113
106
96
96
96
89
97
89
75
69
78
76
98
154
162
162
164
159
152
151
150
155
161
158
139
101
91
76
77
84
118
148
149
152
149
143
143
122
129
145
154
121
120
118
120
121
111
120
124
120
110
122
136
125
111
118
133
139
110
105
106
107
105
86
84
82
83
95
76
93
96
95
93
92
119
122
117
116
118
128
126
150
167
191
171
120
116
171
171
147
123
137
120
100
104
104
107
103
112
139
171
178
165
133
116
127
145
149
149
152
148
156
169
161
158
119
100
103
94
104
153
172
172
175
193
201
201
197
198
186
143
115
104
106
107
117
106
115
108
102
110
99
84
88
66
51
51
47
44
65
78
75
85
88
102
100
100
108
105
120
119
120
136
127
122
110
114
118
115
141
134
144
130
128
127
143
151
140
127
130
118
129
143
140
136
128
134
134
136
135
132
144
142
116
129
131
120
132
143
137
141
133
131
131
117
109
120
112
106
110
102
99
96
93
103
120
129
125
122
119
117
116
116
102
88
99
101
112
106
112
111
121
130
168
179
182
185
176
181
188
174
173
165
160
160
160
160
156
158
156
162
160
153
148
144
137
149
148
146
98
63
48
51
54
58
55
57
55
50
57
54
57
54
77
72
63
70
65
59
57
63
62
61
60
54
60
61
63
62
59
57
51
48
43
58
58
57
55
74
94
68
67
62
60
74
75
77
81
77
88
94
76
77
80
95
105
103
98
96
76
86
85
90
97
98
90
86
80
73
84
82
68
61
77
73
58
74
79
88
110
101
91
85
81
81
77
69
64
66
71
82
92
85
83
88
101
100
104
101
100
96
97
100
99
89
105
115
111
103
100
90
89
96
108
114
110
102
84
93
114
115
110
111
109
100
99
105
106
104
103
103
100
104
127
135
116
121
124
110
118
118
119
120
106
230
231
231
234
230
231
234
230
232
235
232
232
233
232
232
231
230
231
232
231
232
234
231
229
228
226
227
228
227
227
227
227
224
224
224
211
191
182
174
167
167
173
180
183
184
182
185
181
172
170
163
161
159
157
154
146
136
150
153
151
146
146
144
146
144
149
146
148
137
120
127
146
146
149
143
121
109
102
93
104
118
115
113
117
105
110
110
107
104
100
97
101
96
99
99
93
87
94
102
119
127
133
121
98
92
90
96
105
102
105
94
89
96
97
100
87
78
77
78
74
82
149
163
158
163
160
157
156
157
158
162
154
132
101
86
78
74
79
108
143
146
148
132
122
124
120
146
142
127
134
148
123
109
108
122
123
127
107
121
127
131
119
119
132
132
114
115
122
109
110
99
90
95
89
90
91
87
95
100
94
90
100
120
128
121
146
142
132
125
131
165
165
127
102
105
144
172
145
126
116
110
118
116
110
109
102
101
117
141
177
146
120
133
132
142
151
152
146
149
156
169
169
161
138
102
96
92
121
148
174
187
183
174
180
197
204
194
188
166
118
109
115
114
106
112
113
110
101
109
99
109
120
69
46
48
49
52
52
56
49
53
53
51
54
59
53
60
61
51
52
55
48
58
58
57
57
53
59
56
69
67
67
67
65
57
66
65
64
63
74
69
64
65
65
70
65
65
78
71
84
81
87
88
85
81
82
79
81
82
96
86
88
93
87
88
83
79
83
81
85
87
94
91
99
109
96
85
83
83
79
80
69
68
91
120
132
135
129
130
135
137
143
174
179
188
183
184
184
184
167
162
165
162
166
165
160
160
162
148
135
142
151
143
132
145
136
88
52
61
61
53
48
47
49
48
47
49
52
50
52
59
71
65
62
63
61
61
54
57
52
54
52
58
53
61
76
69
57
55
55
51
55
72
69
61
57
77
98
81
66
61
75
85
91
75
70
70
94
99
90
90
97
107
117
112
96
103
95
85
91
97
99
73
67
65
87
85
68
71
53
54
67
78
79
74
80
74
81
83
86
82
83
92
81
68
67
67
69
76
84
83
86
99
110
100
96
92
94
94
94
100
103
101
102
119
120
106
96
95
99
107
116
121
117
105
93
96
114
125
119
113
116
110
103
106
112
105
106
101
100
100
104
114
121
120
119
113
116
114
119
110
103
231
231
234
233
232
233
233
233
233
232
232
232
233
233
230
232
230
232
228
234
229
230
232
230
230
229
228
230
227
228
228
229
223
225
224
213
195
177
171
168
166
171
179
186
182
184
182
178
169
166
163
160
156
160
153
139
142
147
152
152
152
145
143
146
147
148
144
147
139
117
128
144
144
145
143
119
107
97
85
97
112
117
115
115
109
101
105
110
112
101
100
105
106
100
93
95
94
94
94
119
130
132
124
103
87
88
100
106
104
97
99
93
95
99
104
95
90
85
74
68
77
140
164
162
158
157
151
163
159
158
159
155
127
101
90
84
75
87
103
140
145
142
111
84
95
133
160
140
116
151
155
137
108
104
126
132
111
112
124
126
118
119
134
133
131
107
124
132
130
115
105
106
105
96
99
88
98
102
107
92
98
118
113
112
142
164
154
135
127
141
156
172
134
126
105
113
147
142
112
92
103
112
119
116
112
102
101
109
118
119
132
137
135
131
140
152
145
153
155
160
165
166
135
136
126
97
129
126
149
165
172
188
181
154
175
200
199
191
182
141
112
121
119
117
107
104
95
91
101
122
129
88
57
47
47
49
47
54
51
53
54
56
60
57
56
58
55
52
64
60
59
65
62
61
64
62
65
61
62
61
63
64
57
59
66
65
64
59
62
66
62
64
61
62
62
57
59
52
55
61
56
60
61
63
60
56
60
63
63
64
63
62
59
55
57
57
61
56
63
61
60
55
62
54
60
59
68
64
63
66
65
68
63
64
72
73
75
59
80
112
134
123
156
180
187
187
187
184
171
167
166
166
165
159
162
169
161
147
136
126
140
152
143
131
105
81
66
73
69
61
66
67
71
68
71
74
78
76
74
78
82
71
56
59
62
56
59
63
54
49
47
50
58
54
64
72
59
59
56
56
51
53
65
61
57
55
66
82
92
80
74
84
101
108
79
67
74
92
101
108
104
95
106
123
109
102
100
98
96
92
95
84
82
76
73
73
78
71
56
54
55
82
101
93
81
80
73
58
60
72
75
72
78
71
66
66
76
79
82
88
89
94
107
111
93
93
95
94
101
105
107
112
111
103
114
117
109
97
93
105
110
118
120
117
117
101
94
121
129
124
122
120
109
104
107
113
108
101
100
100
100
92
98
115
122
116
108
114
115
117
112
99
232
231
231
235
232
233
231
233
232
230
231
233
232
231
233
231
232
230
230
230
234
234
229
229
228
225
227
230
228
228
225
226
226
223
223
218
197
178
169
169
164
168
174
179
180
184
183
180
177
166
162
163
159
155
147
142
139
151
153
153
147
149
148
142
147
144
147
147
133
115
129
146
144
144
141
126
105
96
93
98
119
118
118
109
103
99
103
111
112
107
103
104
102
106
99
90
96
100
102
117
127
134
133
111
95
91
107
113
107
104
103
99
96
98
99
94
86
76
73
74
74
124
162
157
161
162
157
153
155
157
160
152
130
101
92
83
79
90
107
145
146
131
96
88
95
118
147
122
118
134
147
125
110
113
117
108
104
116
118
125
109
124
138
137
120
123
131
130
122
115
120
132
126
98
100
95
92
96
110
98
105
115
116
108
147
173
160
156
132
132
124
141
182
174
127
104
117
136
107
110
112
112
123
119
110
112
114
103
101
105
152
181
160
143
147
149
144
150
156
157
152
146
142
134
114
117
158
146
142
151
185
184
181
165
149
182
203
199
189
164
123
123
127
122
104
97
88
78
92
126
94
54
52
61
74
65
72
73
82
79
78
76
84
85
87
84
90
73
83
73
83
86
73
78
85
81
72
70
76
73
76
68
74
78
79
80
81
77
78
73
71
70
68
74
71
72
74
70
74
70
72
72
68
71
71
68
74
71
71
69
69
66
66
71
67
68
60
65
61
62
66
64
59
64
65
66
59
63
64
63
62
60
66
69
72
79
66
74
63
64
62
82
121
175
181
181
183
169
159
156
163
160
155
159
155
161
164
158
149
144
153
146
116
87
69
76
77
68
70
77
74
77
81
82
85
80
80
87
98
91
86
80
72
59
61
72
77
61
52
51
45
50
55
58
56
48
54
58
70
82
66
63
60
62
58
53
62
71
84
88
82
81
88
101
102
85
91
86
91
102
105
87
87
102
90
90
90
86
84
84
82
77
76
78
76
74
73
74
68
59
62
86
91
77
78
77
69
79
73
66
70
68
71
73
84
83
71
82
85
83
82
96
107
103
98
91
94
101
104
107
105
111
112
106
119
121
113
101
104
112
113
113
116
113
112
98
99
119
126
129
126
122
106
101
113
118
111
102
103
101
103
97
103
115
119
111
105
112
115
120
109
100
232
234
231
231
231
229
233
232
232
232
231
234
231
224
232
231
231
230
231
231
232
231
231
231
223
229
229
223
226
228
222
222
226
224
222
213
194
182
170
168
164
166
169
182
183
175
180
183
171
167
161
161
156
157
155
143
146
153
158
144
150
147
147
148
147
149
142
144
135
114
126
143
145
147
141
123
101
96
92
101
118
117
114
111
103
104
105
102
107
107
102
103
105
104
100
105
101
103
108
123
129
127
132
122
111
102
117
112
101
102
97
87
91
95
100
95
93
88
80
74
75
109
157
158
162
164
158
156
154
156
158
159
135
100
86
72
69
73
97
140
148
131
90
90
97
102
113
119
127
124
127
115
118
122
120
102
118
119
123
102
116
122
132
126
113
135
135
133
107
122
135
138
134
104
109
114
96
99
88
111
120
107
110
105
142
159
162
161
149
119
109
130
174
199
151
108
110
104
104
138
135
123
119
119
117
101
107
103
99
129
178
196
178
170
158
154
155
146
149
148
148
137
128
110
97
120
153
165
135
141
169
193
173
173
161
151
178
204
198
173
128
107
101
110
100
97
86
93
121
104
58
51
83
99
107
118
123
124
136
141
146
146
149
152
143
141
147
132
140
141
142
144
133
137
139
140
141
134
128
115
137
152
144
147
143
147
143
137
142
141
134
144
131
148
135
114
106
119
132
131
126
125
115
129
132
132
132
124
126
118
118
111
125
121
114
124
112
118
117
113
110
91
91
90
99
107
105
103
104
104
96
85
98
95
133
123
81
72
82
77
75
62
87
141
176
174
167
162
166
157
152
160
157
161
159
154
154
147
148
154
150
136
83
66
75
77
71
77
72
82
88
85
90
87
90
85
79
90
98
95
95
84
78
60
53
54
56
55
48
39
43
52
52
62
61
55
56
56
73
82
59
56
62
59
51
51
53
65
74
82
84
83
86
88
98
84
73
99
113
110
96
93
86
77
75
73
85
94
85
86
87
85
79
69
69
72
68
69
67
75
95
95
71
71
80
70
65
59
62
59
70
72
83
83
86
79
81
77
75
88
92
96
97
101
103
97
88
103
107
99
97
102
106
101
111
117
108
99
96
116
119
111
109
105
105
97
97
120
128
126
122
123
109
104
106
117
120
110
107
105
103
96
104
113
118
108
102
114
116
117
107
100
232
229
234
232
234
231
231
233
232
232
231
233
234
234
232
231
230
231
232
233
233
230
229
231
229
229
227
230
226
226
228
228
225
227
223
218
205
182
172
165
165
168
168
179
182
184
183
184
180
169
162
159
161
159
155
150
151
153
151
151
152
152
145
147
150
149
148
144
133
110
128
144
143
139
144
129
112
101
91
97
117
120
124
117
105
102
110
108
106
100
102
106
106
101
101
97
96
105
112
126
134
129
130
123
116
107