254
222
33
19
230
254
223
42
10
174
252
254
255
123
12
8
119
250
254
168
14
9
191
253
255
195
26
9
7
8
181
253
255
251
73
12
78
249
254
185
27
124
250
254
123
12
27
232
253
255
122
12
180
253
247
72
11
112
251
254
250
78
12
9
207
253
254
119
11
140
250
254
247
75
11
192
252
187
28
168
251
254
106
12
6
182
251
214
54
14
225
253
254
125
10
68
248
253
253
97
6
176
252
97
10
6
186
252
253
145
9
22
230
252
253
111
10
166
249
253
173
16
6
152
249
253
122
10
20
228
252
168
14
113
249
252
241
74
157
249
252
181
21
6
82
248
252
132
9
5
183
250
115
10
166
250
252
252
103
15
240
251
252
93
9
15
224
251
181
21
6
145
247
252
211
51
9
205
250
252
140
7
179
249
252
111
8
3
171
199
43
6
25
229
251
251
163
11
169
249
251
242
76
85
247
251
155
7
4
3
3
3
6
207
250
251
251
141
7
139
247
251
251
108
8
148
247
250
161
9
4
68
246
140
7
3
173
248
251
251
243
250
251
249
131
6
3
166
246
227
66
8
2
166
247
102
7
55
243
249
250
250
251
250
249
119
6
2
152
245
228
66
6
1
166
246
213
53
5
175
246
250
248
83
15
235
249
216
56
5
1
193
160
9
3
152
245
249
226
64
8
204
248
249
157
7
42
239
248
89
6
1
174
247
115
6
166
246
249
173
15
101
244
248
202
42
4
36
239
248
142
5
2
127
246
249
186
26
8
219
248
225
64
6
178
246
204
44
5
38
244
248
134
4
4
212
247
211
51
5
175
246
248
100
6
26
230
246
89
6
100
244
223
65
5
106
244
248
189
30
3
150
244
248
124
5
1
179
247
214
54
5
132
244
248
131
4
17
222
247
173
14
2
168
245
209
48
4
128
244
247
133
4
1
178
246
227
67
5
113
244
208
51
4
105
244
242
89
5
1
211
248
183
24
3
148
245
247
107
5
1
182
247
199
40
4
116
244
244
85
5
63
242
247
115
5
1
197
247
160
7
2
153
245
246
94
5
1
196
246
181
22
2
126
244
218
62
4
76
242
245
112
5
45
214
247
148
5
1
159
245
241
85
6
0
186
247
178
19
2
144
244
223
67
5
107
244
223
70
5
60
229
244
108
5
1
174
246
213
58
4
77
243
247
130
4
1
165
245
183
33
3
85
235
203
86
7
107
242
231
111
5
6
171
245
217
65
5
19
189
233
111
5
32
178
239
153
21
42
156
229
172
59
36
121
214
181
70
3
76
192
228
144
17
18
124
238
214
114
13
61
165
216
158
54
49
120
194
166
75
37
99
196
200
122
24
63
163
222
166
52
29
109
211
198
109
19
65
155
200
152
68
70
126
175
146
77
75
130
190
167
91
47
88
158
189
147
71
65
114
179
170
111
57
86
146
185
153
84
67
109
164
162
107
69
104
162
169
117
58
83
146
191
156
77
54
102
170
177
127
70
88
133
165
141
89
88
123
161
148
99
81
109
147
152
117
84
101
139
161
136
87
85
117
159
160
125
82
92
122
153
145
108
94
116
143
143
109
87
108
147
161
130
82
88
124
159
146
99
82
110
150
158
124
83
96
130
158
142
105
95
115
137
138
115
100
114
136
140
119
97
107
130
148
139
111
97
112
134
145
129
101
103
121
139
135
109
97
115
140
144
120
97
110
133
146
129
98
101
125
149
140
104
91
112
139
148
127
99
103
123
138
128
106
114
143
148
111
75
97
146
176
144
77
72
125
186
164
85
45
95
177
195
133
46
65
136
191
153
68
59
118
191
182
123
56
68
111
163
170
139
91
77
103
149
169
133
68
75
132
193
172
103
58
96
147
152
98
83
138
188
147
54
49
119
197
170
85
66
136
203
159
49
31
112
207
186
97
38
91
171
185
123
54
76
128
179
172
141
87
62
83
133
185
163
94
59
102
165
168
107
68
113
176
165
96
66
116
174
148
57
52
136
217
179
77
36
102
180
166
91
69
135
202
165
63
29
92
176
188
136
74
84
119
152
154
135
102
82
96
136
182
160
88
51
95
164
177
120
59
92
165
186
131
61
91
161
178
114
38
77
165
209
155
49
39
105
181
172
116
85
122
169
150
77
63
112
177
170
109
63
94
146
164
125
72
88
136
176
160
123
93
97
109
123
139
143
126
99
102
121
139
127
94
104
144
166
136
85
98
152
180
132
48
61
134
203
169
77
42
98
168
169
110
72
113
175
168
108
70
104
154
159
112
76
103
143
155
124
86
95
118
140
147
140
127
109
106
119
140
146
120
90
102
132
151
127
88
98
132
151
124
85
105
164
183
138
63
69
124
184
165
99
64
101
154
158
108
72
104
157
168
133
92
105
137
151
123
91
108
138
148
120
86
95
115
132
133
126
124
126
121
116
129
150
144
115
99
116
137
140
114
99
117
136
127
88
93
131
168
149
94
78
117
168
162
110
77
108
157
164
122
77
94
129
149
130
99
110
137
145
120
96
111
140
154
138
110
105
116
124
128
126
119
111
108
116
129
137
128
109
114
135
145
126
99
110
138
152
130
92
100
133
158
136
86
85
119
163
159
118
79
96
129
152
139
106
99
119
143
146
124
101
110
130
146
136
107
100
120
145
145
110
86
105
136
152
131
95
104
139
162
140
94
91
121
154
150
115
94
112
134
136
105
93
114
144
151
126
95
105
134
159
149
120
100
110
129
144
136
108
100
109
118
119
111
108
117
136
143
131
114
119
140
153
140
112
105
122
143
142
107
81
95
120
144
136
100
93
120
158
158
132
105
116
145
152
123
91
107
140
154
124
73
76
111
153
155
123
93
109
138
155
139
113
109
127
144
140
120
108
116
124
125
113
100
110
130
146
136
105
95
115
146
156
134
101
107
134
157
144
107
94
112
131
134
112
100
114
134
140
119
95
107
137
163
153
126
103
113
136
150
132
97
97
118
139
138
108
90
106
129
141
129
116
124
141
140
120
110
125
143
139
112
105
120
132
126
106
108
123
132
121
104
117
144
149
126
104
116
138
142
121
108
127
148
133
91
93
124
154
140
95
94
132
169
149
95
85
121
161
152
107
90
116
144
138
100
98
127
152
138
102
104
132
152
134
99
107
135
149
126
97
109
133
143
123
103
120
147
146
114
98
119
143
141
109
97
118
140
138
106
99
122
148
142
114
105
127
155
149
117
96
110
129
136
124
107
113
128
133
122
107
115
134
146
140
124
118
130
140
132
108
105
120
134
135
111
96
109
127
136
126
114
122
139
141
127
119
129
144
137
109
104
118
130
126
106
105
118
128
123
112
121
148
155
136
115
120
136
141
123
107
119
132
127
96
93
111
130
133
117
114
138
160
143
108
106
133
160
149
112
95
110
125
124
104
101
117
133
134
119
113
128
148
147
134
124
126
130
128
123
120
119
115
109
110
115
119
118
118
126
137
138
128
119
125
139
145
134
118
118
125
123
108
103
113
130
140
129
105
106
123
139
141
131
124
130
139
134
116
111
121
131
132
123
114
116
121
122
120
120
125
128
127
124
123
122
124
128
130
130
126
123
126
126
123
119
124
133
131
115
106
117
134
138
118
103
118
143
143
114
102
126
159
151
107
90
121
160
150
94
80
121
166
152
87
70
116
173
162
104
81
125
177
157
95
82
130
179
153
83
77
125
166
141
76
85
138
176
141
77
91
148
179
145
90
99
138
158
127
88
107
139
142
107
97
129
156
133
80
93
151
188
152
81
80
131
179
153
83
71
117
177
169
109
61
87
134
174
156
110
86
113
157
167
133
82
87
126
171
159
106
78
109
150
153
108
81
115
167
164
115
79
108
155
161
122
86
109
149
159
127
90
99
120
136
141
136
126
116
115
126
143
138
98
88
128
187
173
97
37
82
167
209
149
50
64
147
209
162
61
49
122
205
180
94
51
102
172
170
109
67
107
171
175
122
71
95
139
165
144
104
102
123
139
133
114
114
123
130
134
133
128
115
112
125
146
146
109
85
113
163
171
121
59
83
149
195
152
66
65
133
200
170
84
52
112
191
179
102
54
104
176
179
113
54
93
160
181
135
76
94
139
166
142
98
98
124
146
142
122
113
120
124
125
126
125
119
116
127
148
147
114
89
110
151
164
132
86
97
136
167
145
90
84
119
162
160
121
88
106
140
156
134
101
109
134
149
129
94
103
134
158
140
96
97
132
165
148
99
90
125
161
145
95
93
133
167
141
81
86
135
178
148
88
93
142
173
137
79
96
148
167
116
65
103
175
183
119
54
90
158
180
136
86
109
152
152
109
99
134
153
110
69
111
191
183
97
30
92
199
208
123
28
81
180
205
122
28
82
179
204
126
33
73
154
190
146
87
104
145
152
116
104
137
160
128
79
101
149
162
117
79
112
160
152
94
88
144
191
151
65
72
150
207
154
40
39
132
224
185
74
22
103
213
203
117
44
97
183
197
124
41
73
147
197
161
87
62
96
139
164
148
120
104
115
136
156
146
108
88
112
153
167
133
80
88
128
162
140
86
93
143
180
148
78
78
138
198
169
91
62
111
176
171
106
62
101
161
167
110
61
96
160
187
152
91
84
122
167
168
136
95
95
117
145
152
118
75
86
125
172
163
117
82
110
160
168
128
90
114
158
161
107
65
97
151
169
127
77
100
152
173
135
87
107
160
178
136
78
90
128
159
139
89
89
122
157
151
120
99
112
136
157
154
135
105
96
110
137
156
135
88
88
120
157
155
117
96
123
166
162
116
85
112
155
164
122
76
94
130
152
129
91
108
154
172
142
95
102
141
168
143
94
97
133
160
136
78
77
116
164
162
121
88
108
144
161
145
118
113
125
132
127
120
122
125
123
123
131
134
118
100
111
141
162
145
105
100
124
144
137
108
110
138
158
140
102
103
129
148
134
104
109
131
140
117
93
113
152
163
133
93
104
135
160
149
126
117
127
134
121
105
110
121
126
125
122
122
120
118
121
136
153
147
126
113
125
142
144
126
111
117
123
118
103
103
119
138
143
129
114
119
131
141
140
137
144
150
139
110
99
108
120
127
124
109
108
119
129
130
123
124
140
154
148
133
122
130
141
137
116
105
110
113
111
111
117
131
142
134
114
114
130
148
149
141
136
134
128
112
102
108
121
132
134
126
119
116
115
118
127
145
153
144
127
118
126
130
123
114
118
128
135
125
105
105
120
137
142
132
121
123
131
137
132
127
130
135
132
119
112
116
123
131
133
126
117
116
122
126
130
133
134
135
135
130
120
117
122
131
138
135
120
109
114
122
126
126
124
128
135
136
127
114
118
133
145
142
129
120
122
125
123
119
120
127
133
129
117
115
121
129
134
133
126
125
131
134
130
121
120
126
132
135
125
110
113
125
137
139
127
116
120
131
136
129
120
126
137
139
127
112
113
122
130
134
131
124
120
119
123
127
132
131
128
129
132
130
121
114
120
132
140
132
116
116
126
131
127
120
125
138
142
126
108
116
133
143
133
114
112
125
135
133
119
115
127
140
139
123
110
117
131
142
140
124
112
117
126
132
130
121
118
128
140
138
121
110
118
130
141
140
127
114
115
123
129
131
128
122
123
129
134
131
121
120
129
138
136
123
115
124
132
128
113
114
129
141
132
111
112
131
149
139
113
112
134
152
137
105
106
128
146
136
103
102
124
147
143
122
115
128
137
129
117
125
142
143
122
106
117
130
128
113
115
133
146
133
112
118
137
145
124
106
125
156
152
109
88
113
146
152
119
95
118
154
152
112
92
121
162
158
120
94
115
145
148
120
101
118
141
141
118
111
128
141
131
111
117
136
145
128
109
119
137
138
117
112
131
147
134
105
112
138
154
130
93
105
140
161
136
95
103
136
158
137
98
107
143
165
142
97
99
127
152
142
110
103
122
139
139
122
114
123
129
128
129
139
142
125
108
119
138
145
125
103
115
139
147
122
96
113
144
154
126
96
112
147
162
136
96
106
139
158
137
100
107
135
152
134
97
103
132
153
139
106
108
132
149
138
111
111
129
143
138
121
119
128
127
115
117
135
148
135
108
111
134
150
135
104
110
140
157
134
94
102
135
157
139
97
102
138
166
145
97
96
129
160
147
104
96
123
150
141
103
98
125
155
147
115
108
128
149
142
117
115
130
140
128
111
121
137
134
107
106
134
159
142
98
98
135
171
152
95
84
122
168
157
101
83
119
163
155
101
82
118
168
164
119
89
114
150
153
120
101
122
149
148
118
103
119
135
134
121
122
135
136
115
110
128
145
135
108
115
144
158
127
87
106
151
170
133
79
93
138
173
147
89
88
129
168
151
101
95
130
166
153
110
94
118
146
149
122
103
117
135
140
125
111
118
131
143
143
132
116
112
121
133
142
135
116
113
126
136
128
105
110
135
159
149
113
96
115
148
158
133
100
108
135
153
136
99
100
126
154
149
117
99
118
144
150
130
110
118
137
144
127
105
114
134
148
138
114
109
120
131
135
134
130
127
126
123
122
124
127
128
128
133
134
125
116
122
135
142
132
116
119
135
142
125
100
109
135
152
135
98
101
130
158
148
112
103
131
164
154
110
89
113
148
159
130
90
97
124
148
144
120
110
126
145
148
134
118
118
127
137
138
123
107
107
118
131
138
130
114
120
138
147
136
119
123
141
150
134
106
106
122
133
128
108
107
124
144
143
126
112
121
143
158
148
124
105
113
128
141
136
108
98
114
138
146
124
101
116
151
166
144
107
105
130
154
144
105
97
120
146
146
114
95
113
141
157
141
117
115
131
144
137
117
113
123
132
132
120
109
115
128
141
143
133
117
113
125
146
155
138
102
100
123
151
151
112
87
110
151
165
131
89
105
145
167
139
95
106
146
165
130
78
95
140
170
143
91
96
132
159
142
107
110
137
150
131
108
122
144
137
105
108
137
154
130
95
113
151
156
111
84
120
180
171
104
63
108
180
179
114
61
102
169
179
124
72
104
158
163
112
83
120
173
161
103
78
114
159
158
121
102
124
145
134
102
113
148
155
119
92
118
157
155
113
94
124
163
152
105
95
128
163
144
90
94
139
174
143
78
83
133
184
163
104
81
116
158
155
114
98
128
160
149
102
89
118
152
157
129
101
111
130
142
137
125
121
123
126
132
140
138
118
107
120
141
150
131
102
108
131
145
132
106
116
144
154
128
96
111
147
166
142
96
96
125
151
144
111
105
127
143
134
106
108
131
153
146
123
114
126
138
133
116
116
126
135
135
129
125
119
114
118
133
152
148
123
105
118
140
148
129
107
119
139
145
121
99
113
137
151
133
102
108
131
150
140
112
109
126
147
147
129
113
120
133
138
129
117
118
125
128
127
126
126
128
130
129
124
122
127
136
145
142
128
110
112
125
137
138
122
112
123
136
138
119
106
119
141
153
138
113
113
131
143
134
112
112
128
142
139
116
103
115
132
144
139
125
119
124
132
137
136
130
123
123
129
132
127
120
120
126
130
129
120
118
127
137
137
126
122
131
139
134
118
115
125
136
138
124
113
119
129
130
121
117
127
141
144
131
114
116
130
143
143
128
115
120
130
136
131
117
113
121
134
138
129
115
118
131
139
137
126
120
127
134
135
127
121
126
132
130
120
115
121
128
131
130
127
125
128
131
130
128
128
131
132
129
124
121
121
125
130
132
125
119
123
133
140
135
122
119
130
144
143
120
104
115
131
141
132
111
113
127
141
139
120
114
128
144
144
127
117
124
133
133
122
116
121
128
130
125
121
126
133
133
128
126
131
135
130
125
126
132
133
125
118
118
123
127
127
127
129
131
126
118
123
137
144
135
118
119
132
142
135
112
110
126
141
138
116
107
122
138
141
128
116
123
136
141
131
119
123
133
135
127
120
122
126
124
122
127
132
130
121
118
127
140
144
133
120
125
134
134
124
119
128
134
127
113
114
127
136
130
113
117
138
153
140
113
112
132
149
140
113
110
127
141
134
108
106
124
140
138
119
115
131
145
139
123
124
137
141
125
112
123
138
139
117
104
118
135
139
122
112
127
145
143
124
118
131
142
134
114
118
134
140
121
101
115
139
147
124
102
118
146
151
129
108
123
150
151
122
100
116
138
143
122
107
123
141
138
113
109
129
147
140
116
116
137
151
135
105
111
133
146
133
110
117
136
140
122
107
121
140
141
120
111
129
148
141
111
109
134
154
141
107
107
131
149
137
105
107
131
150
137
105
109
134
152
138
110
113
135
148
133
110
117
136
144
126
106
118
138
145
125
107
120
139
143
124
113
125
139
137
118
115
129
141
134
114
117
135
145
131
107
115
136
147
131
109
116
134
143
129
110
118
137
147
133
111
117
132
139
130
117
122
132
134
124
118
124
130
131
125
124
132
139
133
121
121
129
133
129
125
129
132
125
116
119
128
134
130
118
119
132
143
138
120
116
128
140
137
122
116
124
135
137
126
112
114
126
136
138
129
121
125
133
139
136
124
120
126
136
139
131
119
115
118
124
128
129
124
121
125
132
135
131
123
124
135
144
139
120
112
124
136
137
120
110
121
134
138
124
110
120
138
147
136
118
121
134
140
130
117
121
130
133
128
120
120
124
127
129
131
131
127
122
126
138
142
128
110
117
137
147
132
107
113
135
150
136
104
105
129
154
146
115
106
126
147
143
115
106
122
143
146
125
108
116
131
139
133
124
125
132
134
131
129
128
125
122
125
131
133
125
116
120
131
136
127
115
123
142
149
133
110
116
132
143
133
111
113
128
143
137
112
110
126
145
144
126
116
127
141
141
124
110
117
130
139
132
115
114
125
136
138
130
121
123
132
139
135
123
119
126
133
130
119
116
124
135
139
131
119
120
131
139
137
126
120
125
130
131
126
122
122
127
131
129
124
122
128
132
132
128
125
128
132
132
125
118
122
131
136
131
122
124
133
136
126
116
122
135
143
133
113
113
128
141
136
116
112
125
140
141
128
118
123
133
134
126
120
125
133
134
128
122
124
128
129
128
127
129
133
133
128
120
121
126
133
134
126
119
121
132
139
132
115
114
129
144
140
118
108
120
136
145
135
116
114
125
137
142
136
124
118
122
131
140
136
114
106
120
141
148
130
106
112
132
150
142
118
114
128
140
137
123
120
126
126
119
121
132
138
127
114
123
145
149
123
101
118
153
161
130
93
105
133
151
134
103
111
135
147
129
106
120
146
150
123
104
122
149
149
120
103
118
137
141
125
115
126
138
132
115
120
138
144
123
106
122
148
149
120
104
124
149
146
110
96
122
157
155
113
86
111
152
164
134
94
106
139
164
149
112
104
124
141
139
113
107
123
140
140
119
109
122
140
147
137
119
119
130
140
138
126
116
116
121
127
130
127
121
121
131
139
136
122
118
130
144
141
118
108
126
152
150
115
91
110
143
160
137
97
102
133
160
145
105
99
127
159
153
121
102
121
148
151
126
100
109
130
145
139
115
107
119
133
143
139
124
116
127
145
151
135
111
112
127
139
136
112
106
122
139
139
114
103
122
149
155
134
112
119
141
154
139
108
106
124
142
142
118
103
114
130
142
136
116
112
128
148
149
132
114
120
135
144
133
109
108
122
138
140
122
106
117
134
144
137
123
122
134
144
139
122
117
126
135
133
118
112
120
130
133
128
119
120
132
141
139
126
117
124
134
140
135
120
113
120
131
136
129
116
117
129
140
139
126
117
126
141
144
127
111
119
135
144
132
112
112
125
137
136
122
117
126
137
135
123
120
128
136
133
124
122
127
132
130
123
121
126
131
132
129
128
129
127
126
129
133
133
125
122
125
130
132
127
121
123
128
131
127
124
128
135
135
125
120
125
133
135
130
123
123
128
129
126
123
126
133
133
128
123
125
129
129
128
126
126
129
130
130
127
124
125
129
133
136
132
125
123
127
131
129
123
121
124
126
128
125
125
128
133
134
128
124
128
135
137
131
125
124
125
126
124
123
122
124
128
130
129
126
127
129
133
136
133
127
127
133
136
129
118
118
125
131
131
122
115
119
129
135
132
124
125
132
137
135
129
126
129
133
132
126
122
123
126
124
121
122
125
130
131
129
127
127
133
136
133
126
127
133
134
128
119
118
124
130
131
123
117
122
131
137
134
127
124
128
133
134
132
127
126
127
129
129
126
123
122
125
130
133
130
123
122
128
131
130
128
128
130
131
129
125
123
126
130
129
127
128
129
128
124
123
128
132
134
130
124
124
128
133
131
125
123
126
130
130
127
126
126
127
129
129
127
126
127
128
129
129
130
127
123
124
125
128
129
128
129
129
129
129
127
127
130
133
132
127
126
128
128
126
124
125
129
130
127
122
122
130
136
135
126
123
129
133
130
123
122
127
133
132
124
119
123
129
131
128
126
130
133
131
126
126
130
133
132
125
123
125
127
126
123
125
129
130
128
125
127
130
131
131
130
130
132
131
126
125
128
130
126
122
122
127
130
129
125
126
129
132
131
125
124
129
134
133
126
124
127
128
127
125
125
127
129
130
129
127
127
127
128
129
132
132
128
125
126
129
128
127
127
130
130
126
123
124
129
133
130
125
125
132
134
126
120
124
132
134
128
122
124
130
132
127
122
126
133
133
126
124
129
133
129
124
125
130
132
125
119
124
135
138
126
114
121
135
139
129
120
125
134
137
126
116
123
134
137
127
116
122
132
134
127
122
127
134
133
127
123
127
132
132
127
125
129
131
125
121
125
131
133
127
124
127
131
129
124
123
129
136
134
125
120
127
134
133
127
124
127
131
130
125
121
124
130
132
128
122
123
127
131
132
131
129
129
131
132
129
124
124
130
132
129
123
119
123
128
131
127
123
128
135
137
130
123
126
133
137
132
121
119
125
130
127
121
121
127
131
129
125
125
130
136
136
132
128
128
127
124
125
130
134
130
122
120
125
128
127
124
126
133
138
133
121
121
130
136
131
122
125
133
136
127
116
118
128
135
131
120
120
129
135
131
122
123
132
136
133
126
126
131
134
130
123
122
126
127
124
123
127
130
129
127
126
126
129
133
135
133
129
126
126
129
129
126
119
120
128
134
131
121
119
127
134
136
130
126
129
135
133
124
121
126
132
130
123
123
126
127
125
124
127
131
134
131
126
128
133
133
129
125
128
131
129
123
123
126
127
124
121
124
130
133
128
121
126
135
139
132
123
126
134
137
130
118
119
128
133
127
116
118
128
136
134
123
119
128
138
139
130
122
127
134
135
125
117
122
129
134
132
123
119
125
132
134
128
122
123
129
136
137
128
117
120
130
137
133
122
121
128
137
136
123
115
121
132
138
131
121
122
129
135
133
125
121
125
133
138
135
125
118
121
128
133
129
117
118
132
144
137
114
112
130
149
144
114
103
126
155
153
116
91
112
145
160
137
100
105
131
155
144
110
102
123
145
147
128
110
116
129
140
142
131
119
119
128
141
143
127
105
110
131
151
143
109
99
120
147
153
130
105
117
142
151
130
105
117
142
151
127
99
110
136
153
137
103
105
132
158
148
114
101
121
148
154
130
103
113
135
148
133
104
108
128
148
145
122
106
118
138
149
141
121
112
122
135
145
140
117
104
114
131
145
137
115
113
130
149
144
118
111
130
151
143
110
105
125
145
140
107
100
123
151
149
118
104
127
155
150
119
106
127
149
146
114
101
120
142
146
126
108
117
131
136
134
131
130
126
119
124
138
146
132
106
111
134
152
140
105
105
130
150
140
108
105
127
150
143
114
108
130
152
145
117
111
128
145
139
115
111
127
141
134
111
112
131
148
140
115
113
130
148
146
125
110
118
131
135
128
119
121
125
126
126
131
135
132
124
124
135
146
140
118
111
124
139
138
115
106
120
138
141
124
110
123
147
151
131
111
122
141
147
127
108
117
131
134
120
108
119
135
141
128
116
128
147
149
131
116
123
134
139
132
119
118
121
121
121
125
131
130
122
121
134
145
140
122
116
130
143
141
122
111
123
135
135
116
110
123
138
141
127
115
123
138
143
132
120
124
134
136
127
122
127
131
128
119
118
124
133
136
130
123
123
128
130
130
131
129
126
126
131
136
132
120
114
122
134
142
134
118
119
130
137
131
120
122
132
139
132
115
114
126
138
138
126
119
124
133
136
131
124
125
131
133
127
121
123
128
129
126
124
125
128
132
133
128
125
128
135
136
129
120
119
124
132
134
127
119
120
127
131
131
128
129
133
136
133
125
121
127
133
133
125
120
122
127
129
127
122
122
130
138
138
131
124
125
131
134
131
124
123
127
128
124
119
120
128
134
135
129
121
124
134
141
138
126
120
124
130
132
127
119
120
126
131
130
124
123
127
134
137
132
124
125
133
136
130
121
122
128
130
127
121
119
123
131
136
134
129
126
128
130
130
130
130
129
130
127
122
119
122
127
129
128
126
124
129
134
136
130
125
127
133
133
130
125
124
126
127
126
124
124
128
130
129
127
128
131
133
131
128
126
127
129
130
129
128
126
123
123
127
130
128
126
127
130
131
129
126
126
129
134
131
125
125
130
133
128
122
123
128
132
130
124
123
127
130
129
125
127
132
134
127
123
127
133
135
130
123
123
130
133
127
122
123
129
130
127
126
127
129
130
128
127
128
130
130
127
128
131
129
124
124
129
133
130
122
122
128
134
133
122
119
127
136
136
126
122
127
132
131
124
122
127
134
134
125
119
124
130
132
129
125
126
130
132
130
125
124
127
129
129
128
128
127
127
130
131
129
125
125
130
133
132
126
121
126
132
133
124
118
123
132
136
131
124
124
130
134
131
125
125
132
134
127
121
122
127
130
129
126
125
129
132
130
126
127
131
133
129
126
127
128
126
124
123
126
130
131
127
124
128
132
130
127
127
133
135
130
122
121
127
132
130
122
121
128
133
131
124
122
129
135
135
127
123
129
135
132
122
121
128
132
131
123
122
127
133
133
124
122
129
133
130
124
126
131
132
127
123
125
130
131
126
123
128
135
133
122
120
128
135
133
123
121
128
134
132
120
119
129
138
135
124
122
130
135
130
122
124
132
135
129
119
121
129
133
126
121
126
133
135
128
123
128
134
135
126
122
128
134
131
120
120
129
133
128
119
121
129
136
133
123
123
132
139
132
121
122
130
136
132
122
120
125
131
129
124
124
129
133
130
126
127
131
131
129
127
128
131
130
125
123
126
131
128
123
124
130
134
130
122
122
130
138
135
124
121
129
136
131
121
120
129
136
134
123
118
125
133
133
124
121
128
134
133
126
123
127
130
132
129
128
129
129
126
126
130
132
126
120
124
131
134
127
119
123
132
137
129
117
122
136
141
131
117
122
134
139
129
114
118
133
142
133
115
115
128
137
136
126
121
128
136
136
128
121
124
130
133
133
127
119
117
124
133
136
126
116
121
134
144
137
119
117
131
145
140
119
112
123
135
135
122
114
123
135
137
125
116
125
139
142
132
120
123
131
137
133
121
119
124
130
131
127
124
124
129
134
133
126
120
126
137
141
132
116
115
127
139
138
120
110
122
139
144
131
114
116
132
144
140
120
114
126
136
136
123
115
123
133
139
131
118
120
130
139
138
128
121
124
131
135
130
122
121
126
130
129
124
123
127
132
134
128
122
125
133
137
130
120
121
129
136
133
120
115
125
136
137
124
116
126
141
142
123
109
122
145
150
127
101
113
138
154
137
104
106
130
154
145
112
104
125
150
149
123
105
117
135
144
135
119
118
125
131
133
133
129
118
115
128
145
144
118
102
119
145
153
127
98
115
148
158
125
91
112
152
164
128
85
106
150
169
133
82
101
148
173
140
86
97
141
173
147
94
94
131
164
150
107
99
122
144
143
123
114
124
131
126
124
134
142
127
106
120
149
155
122
94
115
153
161
123
85
107
153
168
127
80
103
154
175
138
85
99
146
175
143
87
95
137
168
144
91
94
130
161
146
103
99
128
159
152
119
105
124
144
144
125
115
122
130
130
126
126
129
126
121
125
139
144
126
108
122
146
151
124
97
112
142
157
134
94
103
137
162
144
101
100
130
161
152
113
98
121
148
149
119
103
121
143
146
124
107
118
136
144
134
118
120
131
136
133
126
124
126
128
132
133
127
119
119
127
136
135
121
113
126
143
143
122
109
124
146
150
129
105
113
134
149
136
107
108
127
144
139
118
110
123
141
145
130
116
122
137
142
132
117
117
126
133
133
123
117
122
130
133
129
124
126
132
136
134
127
123
128
134
134
126
121
123
129
132
128
119
118
127
137
137
126
117
123
133
140
134
122
120
129
136
133
122
119
125
130
133
128
121
123
129
134
133
127
125
127
131
134
131
124
123
129
133
129
120
119
126
133
133
124
120
127
137
138
124
116
126
138
142
128
115
119
130
137
130
117
119
128
135
133
126
125
130
134
134
129
126
126
128
129
129
129
125
117
119
127
133
131
122
122
131
140
137
123
119
130
143
141
123
113
122
133
134
123
115
122
133
137
128
116
122
134
140
135
126
126
133
135
131
124
123
128
129
124
122
125
127
126
125
127
130
130
128
128
133
137
135
126
122
128
134
130
119
118
127
135
131
117
115
125
138
140
128
119
128
141
140
125
116
124
134
136
126
117
121
130
132
125
121
126
133
135
129
125
129
132
132
129
126
129
129
126
124
126
131
128
122
123
130
134
129
121
122
131
138
134
120
120
131
139
134
118
117
129
139
138
123
116
126
136
136
123
117
126
135
135
126
120
126
132
133
127
122
128
134
133
127
124
128
130
125
122
125
129
131
128
124
128
131
131
123
123
132
140
136
123
121
129
134
130
118
117
129
140
136
118
115
128
139
138
124
118
127
139
139
124
116
124
134
134
125
121
126
133
132
126
124
129
133
130
122
124
131
133
126
121
125
131
131
126
124
129
136
135
126
122
127
134
132
122
121
128
134
130
120
120
128
135
134
123
121
131
139
136
122
119
128
135
134
125
119
124
131
132
126
123
127
131
130
126
126
130
132
130
127
127
130
131
128
125
126
130
130
125
124
127
130
130
126
124
127
132
132
127
124
129
132
130
126
125
130
131
128
124
124
130
133
130
123
123
130
134
130
124
124
128
130
128
125
126
129
130
127
124
127
132
132
128
124
127
130
130
128
124
127
131
131
127
124
127
132
131
127
125
128
130
130
128
126
127
128
128
126
127
130
129
126
124
129
134
133
127
122
125
130
132
128
123
125
130
130
126
123
126
131
133
130
126
125
129
132
129
126
126
129
129
127
126
126
127
129
129
128
128
129
128
125
126
130
131
130
128
128
128
127
126
125
127
132
132
126
122
125
131
133
128
124
127
131
133
128
122
123
130
135
130
122
123
128
132
130
126
125
129
133
131
126
124
128
131
130
127
127
127
125
125
127
130
131
128
125
126
130
133
129
125
128
133
133
125
121
126
132
133
128
122
125
131
132
125
121
127
135
135
126
121
125
131
133
129
124
127
132
131
125
124
127
130
129
128
128
129
128
126
126
129
133
131
125
123
129
133
129
122
123
130
134
130
122
122
128
135
132
125
124
130
133
128
123
125
131
133
128
122
123
129
132
128
123
126
133
134
128
123
127
133
133
128
124
127
133
131
124
120
126
133
132
123
120
126
132
133
127
123
127
135
135
127
121
127
134
133
125
123
127
130
129
124
122
127
131
130
125
126
133
134
127
123
128
135
135
125
117
123
134
136
124
115
124
135
137
124
116
126
139
143
128
114
123
135
139
126
115
123
133
136
126
118
123
132
135
129
123
128
136
135
125
122
129
134
129
121
123
129
131
124
119
126
136
138
124
115
127
142
142
124
114
125
138
139
121
110
122
139
141
123
110
122
140
143
128
114
123
138
141
127
115
122
134
137
126
119
126
134
133
123
121
129
137
134
122
121
129
135
128
118
123
134
137
126
118
125
137
139
126
116
124
137
140
125
114
123
135
137
124
116
124
137
140
128
118
124
137
139
127
118
123
130
132
126
122
124
129
129
126
125
130
134
131
126
128
134
133
123
120
127
135
135
123
114
121
135
141
130
114
119
134
144
137
119
116
127
140
140
124
112
121
133
139
131
119
118
126
135
137
129
121
123
130
136
137
130
121
119
126
134
137
128
116
117
126
135
135
123
119
129
143
143
127
117
126
139
142
126
109
117
132
139
125
106
113
132
146
138
119
118
137
153
144
117
110
128
145
143
116
100
112
130
144
135
110
110
128
149
150
134
116
119
134
147
142
120
107
116
129
135
126
111
114
129
146
144
125
113
125
144
147
132
114
117
131
139
133
113
110
123
135
137
127
119
128
140
141
128
115
122
138
146
132
109
111
127
141
139
117
106
121
142
150
133
109
115
134
148
141
119
112
125
139
140
122
110
120
135
142
132
117
117
128
138
138
126
117
123
132
136
131
123
123
129
134
131
123
123
132
140
136
121
117
126
135
136
123
112
120
135
144
134
115
114
127
140
143
131
118
122
134
141
131
114
115
126
136
137
124
112
118
132
141
136
122
120
131
141
140
127
117
123
133
136
127
117
121
130
133
127
120
122
132
141
136
121
117
130
142
141
124
112
120
132
139
133
117
115
127
138
136
122
117
126
138
143
134
118
118
128
136
136
126
119
123
130
135
132
122
119
125
134
137
130
119
119
128
135
134
124
121
128
137
135
124
120
127
136
137
126
116
122
131
135
127
118
123
131
135
130
124
126
133
137
133
123
123
129
132
129
123
122
124
127
129
129
127
125
127
132
135
134
129
124
125
131
134
129
120
120
127
130
128
122
122
127
133
135
129
125
129
135
134
129
125
126
128
127
126
125
124
125
124
124
127
130
132
129
128
131
133
133
131
129
127
126
128
128
127
125
123
121
123
128
131
129
126
127
131
134
135
131
128
129
132
133
127
121
123
126
129
127
123
121
123
129
133
132
128
127
131
134
134
131
125
125
128
129
126
124
123
123
124
125
129
131
131
129
128
130
132
133
131
128
128
129
128
125
123
126
127
126
125
126
128
129
129
130
131
131
131
127
125
129
132
130
124
122
126
129
130
126
123
126
131
134
132
126
126
129
130
128
128
128
128
127
127
126
126
128
129
129
130
130
129
127
127
131
131
127
124
126
129
129
126
123
124
129
131
128
124
127
133
135
129
124
125
130
133
130
122
122
127
133
131
124
123
126
130
133
132
129
128
130
131
130
128
126
126
126
128
129
125
121
122
128
131
130
125
123
129
136
137
129
122
127
134
135
125
119
124
130
132
127
120
122
130
134
131
124
126
134
137
131
124
124
128
131
130
125
123
125
128
127
127
127
128
128
128
131
131
127
125
127
132
134
129
123
123
130
135
131
120
120
129
135
133
122
119
126
133
134
127
122
126
134
136
129
124
126
131
132
128
125
125
128
129
127
125
126
128
127
127
128
130
129
127
127
129
130
128
127
129
131
132
129
123
125
130
132
127
122
125
130
133
129
121
122
129
137
136
126
123
130
135
132
125
122
127
131
130
124
120
124
129
129
126
125
128
131
131
130
129
131
131
130
128
127
129
129
125
123
126
128
126
123
124
128
131
130
128
128
132
134
131
126
126
132
134
128
121
122
127
130
126
122
123
130
135
132
124
125
132
137
134
125
124
129
133
130
123
121
125
130
131
125
123
127
131
131
128
126
127
130
131
129
126
126
129
130
128
127
127
128
129
131
131
128
126
126
128
129
128
127
124
126
130
131
127
122
125
130
133
131
126
124
128
134
134
125
120
125
132
133
127
122
125
130
133
130
123
123
130
133
130
125
125
129
130
130
127
123
126
130
132
129
126
127
129
130
129
127
125
126
130
131
128
124
125
128
131
130
127
126
128
131
133
129
125
126
128
130
129
126
124
125
128
130
128
125
125
128
131
132
130
128
128
131
133
129
124
124
128
130
127
123
122
126
131
130
125
124
130
136
135
128
126
130
134
131
124
121
124
129
128
123
121
125
130
131
128
128
132
134
133
130
129
130
130
126
122
124
128
128
123
121
126
131
132
128
126
130
136
137
129
123
129
135
131
120
119
127
132
129
120
120
129
136
133
121
121
133
142
136
121
120
131
138
131
117
118
129
137
132
117
118
130
138
131
120
123
134
140
131
119
123
134
139
129
117
122
133
135
123
117
125
135
134
123
119
128
137
136
124
120
131
140
134
119
120
132
138
129
116
119
131
138
129
115
121
135
143
132
116
121
135
141
131
117
121
131
136
129
118
122
132
137
129
120
124
133
134
129
124
126
130
129
125
124
128
131
128
124
127
133
134
127
122
127
134
134
126
121
126
132
132
123
119
126
135
135
126
121
127
135
135
128
121
124
132
133
127
122
127
133
131
124
123
128
132
131
126
125
129
132
129
123
124
131
133
128
122
125
133
135
130
122
122
130
136
133
122
120
128
133
131
124
122
126
130
131
129
126
127
130
132
130
129
128
127
126
129
132
130
123
120
125
133
136
130
118
120
132
140
135
120
117
128
137
136
121
114
123
136
140
126
114
121
135
142
132
118
119
131
141
136
121
114
123
134
137
129
119
121
129
136
136
126
119
125
136
141
133
117
115
127
140
141
122
106
118
137
147
133
108
113
131
148
142
117
109
124
144
145
124
109
119
135
143
133
114
115
129
141
139
123
114
123
136
144
136
118
113
125
140
142
127
110
117
132
142
135
115
113
130
146
143
119
109
124
143
146
128
107
114
132
145
136
111
109
127
145
144
126
111
122
139
147
133
112
115
131
142
135
114
111
125
139
141
126
112
121
138
147
137
119
117
128
137
138
125
113
118
129
137
134
120
116
124
138
142
130
115
120
137
147
135
112
113
128
143
140
117
108
122
140
144
126
111
121
138
145
132
115
119
132
143
136
118
115
126
137
136
125
115
119
129
138
136
123
116
124
137
142
133
117
117
129
141
139
121
111
123
137
139
125
112
120
136
145
136
117
117
131
143
140
122
114
123
133
136
127
115
117
128
136
134
122
119
128
137
139
132
121
124
133
139
132
117
117
126
133
134
124
116
121
132
140
134
121
121
131
141
139
126
117
123
133
137
127
114
118
129
137
133
120
117
127
140
141
129
117
124
136
141
132
118
119
127
134
133
121
117
124
133
135
126
120
123
133
139
134
124
120
128
137
137
126
118
123
131
135
131
120
118
126
135
135
126
120
125
133
136
131
122
122
130
136
134
122
119
126
133
135
128
120
122
129
136
134
124
122
129
136
135
126
121
123
131
134
128
118
121
130
134
130
121
121
128
135
137
128
121
125
133
137
131
122
122
127
132
131
126
121
125
132
135
130
123
123
130
135
134
125
120
125
132
133
124
118
122
130
135
132
124
122
129
137
136
128
122
127
133
133
127
121
122
127
132
131
125
122
126
133
135
132
125
124
130
134
133
123
120
126
131
132
125
119
123
130
135
132
124
124
130
136
134
126
123
127
132
132
127
122
123
128
130
128
124
124
126
130
132
130
125
125
130
135
133
127
123
126
132
133
128
121
122
128
132
129
122
122
129
134
133
126
123
127
134
136
128
122
125
132
133
127
123
122
127
130
130
126
123
128
132
133
129
126
127
130
132
132
127
123
125
129
130
126
123
123
128
131
132
128
124
128
134
135
130
123
125
130
134
131
122
120
125
132
131
123
120
126
133
136
130
122
124
131
136
132
123
123
129
133
130
123
121
126
131
133
128
123
126
132
134
131
127
126
128
131
130
127
124
125
128
129
129
126
124
125
130
133
130
124
123
130
134
132
125
121
127
133
135
128
120
124
132
135
130
123
124
130
132
130
124
123
127
132
130
125
124
127
131
131
129
127
127
130
131
131
127
125
128
129
128
127
125
124
127
130
130
126
125
129
133
132
128
125
126
131
133
129
123
124
128
130
128
125
125
128
130
131
129
127
128
130
130
128
127
127
127
128
130
129
126
125
128
130
130
127
126
126
130
132
129
125
125
130
132
128
124
125
129
131
129
125
125
130
133
130
124
125
130
132
129
124
125
130
131
128
124
125
129
131
128
125
127
131
130
126
125
128
131
130
126
125
129
132
130
125
125
130
134
130
123
125
130
132
127
123
124
129
132
129
124
126
132
134
129
124
127
133
133
127
123
125
129
130
125
122
125
131
132
127
125
129
133
132
128
126
128
130
130
125
123
126
128
128
125
126
129
130
129
128
130
132
132
130
126
127
129
129
126
123
125
128
127
125
125
127
130
131
130
128
129
132
133
129
127
128
130
128
125
125
125
126
127
126
126
128
130
130
128
129
132
133
131
128
128
129
129
127
124
124
126
129
126
123
125
130
132
129
127
128
132
134
131
125
125
129
132
128
122
123
127
129
128
126
127
129
131
131
129
128
130
130
128
126
128
130
127
124
126
129
129
127
124
125
129
133
131
125
124
129
132
129
124
125
130
132
129
124
124
129
133
131
124
124
129
132
130
125
125
128
131
131
128
125
127
129
130
129
128
128
126
126
128
130
128
125
125
128
131
131
127
123
126
134
135
128
121
124
131
134
130
124
123
128
132
130
124
124
130
133
131
125
124
128
131
131
128
125
126
129
129
126
126
126
127
129
131
130
126
124
127
131
132
129
126
125
129
133
130
123
122
128
133
131
123
121
126
132
134
128
122
126
132
135
130
124
127
131
132
128
124
124
127
129
127
124
125
128
130
129
128
128
129
130
131
132
129
126
126
127
130
130
126
122
123
129
131
128
122
125
133
137
133
124
123
130
135
133
123
120
126
131
130
123
121
125
131
131
127
125
128
133
133
128
128
130
132
129
125
126
127
128
126
125
127
129
128
126
127
131
134
130
125
127
134
135
127
120
124
130
134
126
116
120
130
137
131
121
123
132
138
134
125
124
130
135
132
123
122
127
128
124
123
126
130
128
124
126
131
136
134
125
124
130
137
133
123
122
128
132
128
122
123
126
130
128
124
126
131
134
130
125
126
132
133
129
125
126
130
130
127
123
124
129
131
127
124
126
131
132
128
127
128
131
132
129
126
127
130
130
124
122
127
132
131
125
121
125
131
135
131
123
124
130
134
131
124
123
127
130
129
126
125
128
131
130
126
127
130
131
129
128
130
130
127
124
125
129
130
128
123
124
130
134
130
122
125
131
134
130
124
124
130
132
128
122
124
131
134
127
121
125
132
136
131
124
123
128
132
130
125
125
129
130
126
124
127
130
130
128
127
129
130
129
127
127
130
132
128
124
126
131
130
124
122
126
131
132
128
123
125
131
134
129
125
129
133
132
125
123
127
132
132
126
120
124
130
132
128
123
125
130
133
130
126
127
130
132
131
127
125
128
129
130
128
126
125
125
129
131
129
125
124
128
133
134
128
122
123
130
134
130
124
124
129
132
129
125
124
128
133
132
126
122
126
132
132
128
125
125
129
131
130
125
123
127
132
132
128
125
125
129
131
130
126
124
128
133
131
126
123
125
129
133
132
125
121
126
131
133
129
125
124
128
132
132
127
124
127
133
133
128
124
126
130
132
129
124
124
128
132
129
123
124
128
131
130
126
125
127
131
132
128
126
129
131
130
126
125
126
128
129
128
126
125
125
128
130
131
130
127
126
130
133
132
127
125
128
129
130
126
123
124
128
131
128
124
125
130
133
131
127
125
129
133
132
127
122
125
130
129
126
124
126
129
130
129
127
128
131
132
130
126
127
129
128
127
126
125
125
126
127
127
128
128
128
128
130
133
132
129
127
130
132
130
126
124
126
128
128
125
122
125
130
131
127
125
128
132
133
130
127
127
130
131
128
125
125
128
127
125
125
127
127
128
127
128
129
131
131
129
129
132
132
129
126
127
129
128
125
122
123
127
129
128
125
126
130
132
130
129
130
131
131
129
128
127
128
128
125
124
126
128
128
126
127
130
130
130
129
128
129
130
130
127
126
129
130
126
125
126
128
129
127
127
128
130
130
127
125
127
131
132
128
125
127
129
130
129
128
127
127
128
127
127
128
128
126
125
127
131
131
127
126
129
132
132
128
126
128
130
131
126
123
125
128
129
125
125
127
130
131
130
128
129
132
131
127
126
129
131
128
124
123
125
128
128
127
126
127
130
130
128
129
131
131
129
128
130
130
128
125
125
127
129
129
125
124
127
131
129
126
126
128
132
132
129
126
126
130
131
127
124
125
128
127
126
126
127
128
129
129
128
129
130
131
129
128
129
128
128
127
127
127
126
127
128
128
128
128
128
128
130
132
129
127
127
128
128
126
126
126
127
129
129
127
125
128
130
130
129
129
129
129
128
128
127
127
126
127
127
127
128
127
127
129
130
130
128
128
129
130
129
128
127
127
128
127
125
125
127
130
128
127
128
129
131
130
129
128
129
130
129
126
124
126
128
127
126
126
126
128
129
129
128
129
131
132
130
128
128
127
127
127
127
126
125
127
128
127
126
127
129
132
132
130
127
128
131
131
126
124
126
129
129
126
124
125
127
131
131
128
127
129
130
129
129
129
128
127
127
128
127
126
126
127
129
130
130
127
126
129
132
131
127
126
128
129
129
126
124
126
129
131
127
124
127
131
132
129
127
128
131
132
129
124
124
129
131
128
124
124
127
128
128
128
127
129
131
131
129
127
128
128
129
129
128
127
125
126
128
128
128
127
128
129
131
131
127
125
127
131
130
127
124
125
128
130
128
125
125
130
132
130
126
128
131
132
130
126
125
127
128
127
124
124
127
130
128
126
127
129
131
131
131
130
129
130
129
127
127
127
126
125
126
128
126
124
125
129
132
131
129
127
130
134
133
127
125
128
131
128
122
121
125
127
128
125
123
128
133
134
130
127
131
135
134
129
126
126
127
127
125
123
124
126
126
126
128
130
130
130
131
132
132
130
128
127
129
128
126
123
122
126
128
127
124
126
131
132
131
128
128
131
134
132
126
125
129
130
127
122
122
126
130
130
126
124
127
132
133
129
126
128
132
132
128
125
125
127
129
128
125
125
127
129
128
128
129
130
129
129
130
130
128
126
127
128
129
128
124
125
128
132
130
126
126
129
132
131
127
124
127
131
131
125
122
125
130
130
127
126
128
131
132
130
126
127
130
130
128
126
127
127
126
127
127
128
128
128
128
129
130
131
129
128
129
129
127
125
126
128
128
126
125
126
129
131
130
127
128
132
133
129
126
126
129
130
127
125
124
127
129
127
124
125
130
132
131
128
128
130
131
131
129
127
128
129
128
125
125
127
127
126
126
127
127
127
128
129
130
131
130
128
128
132
133
128
123
125
129
130
126
122
122
127
130
130
124
125
130
134
132
127
127
131
134
132
126
123
126
130
129
124
123
125
128
128
127
127
129
130
131
131
129
129
130
128
127
129
129
127
124
125
128
128
127
125
126
130
133
132
126
125
129
131
130
126
125
127
128
128
126
125
127
129
129
127
127
130
132
130
128
127
128
129
129
127
126
126
128
128
126
126
127
129
130
129
128
128
129
131
130
127
126
128
129
129
127
126
125
127
128
128
128
128
130
129
127
129
129
130
128
128
129
129
128
126
125
127
128
127
124
125
129
131
128
125
126
129
133
132
127
126
129
132
130
125
125
128
131
128
124
125
128
131
130
126
125
128
132
130
127
127
130
129
127
126
127
129
128
127
127
128
130
130
126
126
129
132
130
127
128
129
129
127
125
125
128
130
129
125
125
129
130
129
128
129
130
129
127
127
127
129
129
126
124
126
130
129
127
127
128
129
130
129
128
129
130
130
128
127
128
127
126
125
127
128
127
127
129
128
128
128
129
130
131
132
130
126
127
128
128
126
126
127
127
127
126
126
127
130
132
130
127
128
131
131
129
127
125
127
128
128
125
123
125
128
129
130
129
128
129
131
133
130
127
128
130
130
127
125
124
125
127
127
126
124
127
129
130
131
131
131
129
129
130
129
128
126
127
127
127
126
125
125
127
129
129
127
129
131
132
129
127
129
131
131
128
126
125
127
130
127
124
125
128
130
128
127
127
128
131
131
129
128
129
130
129
128
127
126
126
126
128
128
126
125
127
129
131
131
128
127
130
132
130
125
125
127
129
128
125
123
126
129
131
127
126
128
132
132
130
128
128
129
128
128
126
125
127
128
127
127
128
128
128
129
130
130
129
128
129
129
128
127
125
126
128
129
127
124
126
130
131
129
126
127
130
132
131
127
126
129
131
128
124
124
127
129
128
127
127
127
128
129
129
129
130
130
129
128
129
129
126
125
126
128
128
126
126
126
128
129
128
128
130
132
132
128
128
129
130
128
126
125
127
128
127
125
125
128
130
128
126
128
131
131
129
128
127
128
129
127
126
127
129
129
126
126
129
131
130
127
127
129
131
130
126
124
127
129
128
125
125
128
129
128
127
128
130
132
130
128
127
129
130
127
124
126
128
128
126
126
127
129
130
129
127
128
132
132
130
127
128
130
127
125
125
125
127
127
126
125
127
130
130
129
128
131
133
131
129
128
127
128
128
126
124
125
127
126
125
126
129
129
130
130
130
131
131
130
128
127
129
128
127
125
125
127
126
126
126
127
129
130
131
129
129
130
130
129
128
127
127
127
127
127
126
126
127
127
127
127
129
130
129
128
129
129
129
129
129
128
128
129
127
126
127
128
128
127
126
128
129
129
129
128
128
129
129
128
127
128
130
128
127
128
127
128
128
128
128
127
129
130
128
127
128
129
128
128
128
129
129
128
127
126
128
129
129
128
127
129
129
128
128
128
128
128
128
128
127
128
129
128
126
127
129
129
128
128
127
128
129
129
127
126
127
129
129
127
127
128
128
130
129
128
128
129
130
129
128
128
128
126
127
128
128
127
127
127
127
128
129
128
127
128
130
130
128
127
128
128
128
127
127
127
128
130
128
126
128
130
130
128
127
128
128
129
129
127
126
127
128
128
127
127
129
128
129
130
130
129
128
129
129
129
128
126
126
127
128
127
125
125
128
129
129
128
129
129
130
130
129
127
128
129
128
126
126
126
127
127
128
128
128
129
130
130
129
128
129
129
129
129
127
126
125
127
128
127
126
127
128
129
130
129
128
128
130
131
128
127
127
127
128
127
126
125
126
129
130
128
128
129
131
131
130
128
127
128
130
128
125
124
126
128
127
126
127
127
129
131
130
128
128
130
131
130
128
126
126
128
129
127
124
124
127
129
129
128
127
129
131
131
129
127
128
130
130
128
126
125
126
127
128
127
125
127
129
132
131
128
127
129
131
132
128
123
125
129
130
126
123
124
128
131
131
127
126
130
133
133
127
126
128
130
130
128
125
125
127
129
128
126
127
128
129
130
130
128
126
127
130
131
128
125
125
128
130
129
126
124
128
133
133
126
122
126
131
132
128
123
125
129
132
129
124
125
130
133
130
126
126
128
130
129
127
124
124
128
128
127
127
127
128
129
132
131
128
127
129
132
132
128
125
125
127
129
127
124
125
129
131
129
126
127
130
132
132
129
126
128
129
129
125
124
126
127
127
127
127
127
128
130
130
129
129
130
130
129
129
127
126
127
129
127
124
124
127
129
129
128
128
128
131
132
129
126
128
132
131
127
124
125
127
128
127
126
126
128
130
129
128
128
130
130
130
129
128
126
126
128
127
126
126
126
128
129
129
127
126
129
133
133
128
125
128
132
131
127
123
124
129
131
127
122
124
130
134
131
125
124
129
134
133
128
123
126
130
130
126
124
125
127
129
129
126
124
126
130
132
131
128
127
128
130
131
128
125
127
130
132
128
123
124
127
131
131
127
124
128
133
133
127
123
126
131
133
130
123
122
128
132
130
124
123
128
131
131
128
125
127
131
133
130
124
124
127
130
129
128
125
125
128
131
131
128
126
129
132
132
129
125
124
129
132
128
122
122
127
131
130
125
123
128
134
135
128
122
126
133
134
128
123
124
128
130
128
124
125
129
131
130
127
127
129
130
129
130
129
127
126
126
128
129
127
125
125
129
132
129
124
125
131
134
131
124
124
129
133
131
123
122
128
134
132
123
121
127
132
133
127
124
127
132
133
128
125
128
131
130
126
126
128
128
127
126
127
128
128
127
127
129
131
130
126
127
131
132
128
123
125
130
131
128
123
124
129
132
130
125
126
131
134
130
125
124
128
131
130
125
122
125
129
129
126
127
128
130
129
130
131
129
128
127
128
129
129
127
124
126
129
129
126
124
127
131
131
128
126
128
131
133
128
124
125
129
131
127
125
127
129
130
127
126
126
129
131
129
126
127
129
129
128
127
127
127
127
128
128
128
127
127
127
129
131
130
126
126
130
132
129
126
126
128
130
129
125
124
127
130
130
126
125
128
131
130
129
128
128
130
130
129
126
127
129
128
127
126
127
127
127
128
128
127
128
129
130
129
129
129
127
128
130
129
126
124
127
130
130
127
125
126
129
132
130
126
126
130
132
128
125
126
128
129
128
127
126
127
130
129
128
128
129
129
128
128
128
128
128
127
127
127
128
127
127
127
129
130
128
128
129
130
129
127
127
129
130
130
126
124
126
130
130
126
124
127
130
130
128
126
127
129
131
129
126
126
130
130
128
127
127
128
128
128
127
127
129
129
128
127
128
130
129
127
128
129
128
128
127
126
127
128
129
127
126
129
129
129
128
128
130
129
129
128
127
128
129
128
126
126
128
129
127
127
128
129
129
129
128
128
128
129
128
126
128
128
128
126
126
128
128
128
128
128
129
130
130
128
127
129
130
130
127
127
128
128
128
127
126
126
128
129
128
128
128
130
130
129
131
130
128
128
128
128
127
127
126
125
127
127
127
126
128
130
130
129
129
130
130
129
128
127
127
127
128
126
125
127
128
128
128
128
130
130
130
129
128
129
129
128
126
125
128
127
126
126
128
129
128
128
128
129
129
130
129
127
128
129
128
126
125
128
128
128
127
128
129
130
129
128
128
130
131
129
127
128
129
128
126
127
127
127
127
127
126
127
129
129
128
128
130
130
128
128
129
129
128
128
128
127
128
128
126
125
127
129
128
127
127
129
130
129
129
128
129
130
130
127
126
128
129
128
126
126
128
128
128
128
127
129
130
131
129
127
128
129
129
128
127
127
127
127
126
126
126
128
128
128
128
130
130
129
128
130
130
130
128
127
127
127
128
127
125
126
128
129
127
127
128
130
131
130
129
127
129
129
127
125
126
129
128
125
126
127
129
129
129
128
128
131
132
129
127
128
130
128
126
126
126
126
126
126
126
128
129
129
128
128
131
131
129
129
129
130
128
126
126
125
127
127
125
125
126
128
129
128
129
131
131
130
130
129
129
129
128
126
125
127
127
125
125
125
128
128
128
128
128
129
130
130
129
129
130
129
128
127
128
127
127
127
128
127
126
127
128
128
129
129
128
128
129
129
128
128
129
129
128
127
127
128
127
127
127
127
128
128
129
128
128
129
129
129
129
129
128
128
128
128
128
127
128
127
126
128
128
127
127
128
130
130
128
128
129
130
130
129
126
126
129
129
127
125
126
128
128
128
127
128
129
130
130
128
129
130
131
129
127
128
128
127
127
127
127
126
126
127
127
129
130
129
128
129
131
129
127
127
128
129
129
126
124
126
128
130
127
125
128
131
132
129
127
128
129
130
129
126
125
128
129
127
125
127
129
129
128
128
128
129
130
129
128
127
128
128
126
127
128
127
126
127
129
129
129
128
128
130
131
130
127
126
128
130
128
125
125
127
129
129
126
126
128
132
132
129
126
127
130
129
127
126
126
127
128
127
126
126
128
130
129
129
130
130
129
130
130
128
127
126
128
127
127
126
125
127
128
130
128
127
129
131
131
129
127
128
129
130
127
124
125
128
129
127
124
126
128
130
129
129
129
129
130
130
129
128
128
129
128
127
127
126
125
126
129
128
127
127
128
129
130
130
128
127
129
131
129
125
125
128
129
127
125
126
128
131
130
127
126
129
132
131
126
126
128
129
129
127
125
126
129
129
127
126
128
130
130
130
129
128
127
128
129
128
127
127
127
128
128
128
127
127
129
132
131
128
127
129
129
129
127
125
126
129
130
126
124
126
129
130
129
128
128
130
131
129
127
127
129
130
128
126
126
127
128
128
128
127
127
128
129
129
129
130
129
128
129
130
128
126
127
128
128
127
126
127
127
129
129
127
127
130
132
130
127
127
128
130
129
127
126
126
128
128
126
126
128
130
129
128
128
129
130
130
129
127
127
128
128
128
126
127
127
127
128
129
129
128
128
128
129
129
129
128
126
128
129
128
127
127
129
129
127
127
126
129
130
130
127
125
128
131
130
126
126
128
130
130
127
124
127
131
130
126
124
128
131
130
127
126
127
128
130
129
128
127
128
128
128
129
129
127
126
127
130
131
128
126
126
128
129
128
125
125
129
132
129
125
126
130
132
130
126
126
128
131
130
125
124
127
129
127
125
126
129
130
129
128
128
129
130
130
128
128
129
128
127
127
128
127
125
125
128
130
129
128
126
127
130
131
129
126
128
130
129
127
125
127
128
128
127
125
126
128
129
128
127
129
131
130
128
128
129
130
129
127
126
127
129
129
125
125
127
128
128
127
127
128
128
129
130
129
129
129
129
127
128
129
128
126
126
127
128
127
127
127
128
129
130
128
128
130
131
130
128
129
129
129
128
126
125
126
127
128
126
126
127
129
129
128
128
129
129
130
130
127
126
128
129
128
126
126
127
128
130
130
128
127
128
130
129
128
128
128
128
128
128
127
126
127
128
128
128
129
129
128
128
129
128
127
127
129
128
128
127
127
128
128
129
128
127
129
130
129
127
128
129
129
128
127
126
127
128
129
127
126
127
129
130
129
128
127
128
130
130
129
127
127
128
128
127
126
126
127
127
129
128
127
128
130
130
129
129
129
128
129
129
128
126
127
126
126
126
126
127
127
128
129
129
128
129
131
131
129
129
128
129
129
127
125
124
126
128
127
126
126
128
129
130
130
129
129
130
132
129
127
127
128
128
127
126
126
126
127
128
127
127
128
129
129
129
130
129
128
128
129
129
128
127
127
128
128
128
127
126
128
129
128
126
127
129
129
128
128
128
128
129
129
128
127
129
130
129
127
127
128
128
128
127
126
126
128
128
128
127
128
130
129
129
130
129
128
128
129
128
127
128
127
126
127
127
128
127
128
129
129
129
129
129
128
128
129
128
127
127
129
127
126
127
128
129
128
128
129
129
130
130
128
127
128
129
128
126
125
126
127
128
128
126
126
129
131
130
128
129
130
130
129
128
127
126
127
128
126
127
127
127
127
127
129
128
128
129
130
129
128
128
129
128
127
127
127
126
127
127
126
126
128
130
129
128
128
128
130
130
130
128
127
129
129
128
127
126
127
127
128
128
127
126
127
129
129
129
129
129
129
129
130
128
127
128
129
128
126
126
127
127
128
128
127
128
129
130
128
127
129
130
130
128
127
127
127
128
128
126
126
128
128
128
128
128
129
129
130
131
130
129
128
128
128
128
127
125
126
127
128
127
125
126
129
129
128
128
128
129
130
129
128
127
128
129
128
126
127
127
129
128
128
127
128
129
130
129
128
128
129
128
128
128
128
127
127
128
128
127
127
128
128
128
129
128
127
128
130
129
127
127
129
129
129
128
127
127
128
129
128
127
128
129
129
128
128
128
128
129
129
127
127
128
128
128
127
128
128
127
128
129
129
128
128
129
129
129
129
128
127
129
129
127
125
126
128
128
127
127
128
129
130
129
127
127
129
131
128
126
127
129
128
127
126
127
128
128
128
127
128
129
130
129
128
129
129
128
127
128
127
127
127
127
127
127
129
128
127
128
129
129
128
128
128
128
129
128
127
127
128
129
127
126
128
130
129
128
128
129
129
128
128
127
127
128
128
127
127
128
129
128
128
129
129
129
129
129
128
128
128
128
127
127
128
127
126
127
128
128
128
128
129
129
129
129
129
129
129
130
128
127
128
128
127
126
127
127
127
128
127
127
128
129
130
129
128
129
129
128
128
128
127
127
127
128
126
125
127
127
128
128
128
129
128
130
131
129
128
129
130
129
127
127
127
128
128
127
125
126
128
129
128
127
128
129
129
129
128
127
128
129
129
127
127
128
128
128
128
129
128
128
129
130
129
128
128
127
127
129
128
125
125
127
130
129
127
127
128
130
130
129
127
127
130
130
128
125
127
128
128
127
126
127
128
129
129
128
128
129
130
129
128
128
128
128
127
127
127
126
127
127
127
127
128
128
128
129
130
129
127
127
130
130
129
127
127
127
128
128
126
126
127
129
128
127
128
129
129
129
129
128
128
129
129
128
127
127
127
127
127
127
127
127
129
129
129
128
129
129
129
129
129
128
128
128
129
126
125
126
128
128
128
128
127
128
130
130
129
128
129
130
128
127
127
127
127
127
128
127
127
128
129
128
127
129
129
128
128
128
128
127
128
128
127
127
128
129
128
128
128
128
129
129
129
129
128
128
128
128
128
128
127
127
127
129
128
127
127
128
129
129
128
127
127
129
131
128
126
127
129
130
127
126
126
128
130
129
126
126
128
130
128
126
128
129
130
129
127
127
128
129
129
127
126
129
129
128
127
127
129
128
128
129
128
128
128
128
128
128
129
127
126
128
130
129
126
126
128
130
129
127
126
127
130
130
127
125
127
131
130
128
127
128
129
129
128
127
126
129
129
127
126
128
129
128
128
129
129
128
128
129
129
129
128
128
127
128
129
128
126
126
128
129
127
127
127
128
129
129
127
127
128
130
129
128
128
128
129
129
128
127
127
127
129
128
126
127
127
128
128
127
128
127
129
130
129
128
128
129
129
129
128
127
127
127
128
127
126
126
127
127
128
129
129
128
129
130
130
129
128
129
129
128
128
126
126
126
127
127
126
127
128
129
128
129
130
129
129
129
129
128
129
129
127
126
127
128
127
126
127
128
128
128
129
129
128
129
129
129
129
129
128
126
126
128
128
127
126
127
128
128
128
128
127
129
130
130
128
128
129
129
128
127
128
128
128
128
126
127
128
129
128
126
128
130
129
128
128
128
128
129
129
127
127
128
129
127
127
128
128
127
127
129
128
128
128
127
128
128
129
128
127
128
129
130
128
127
128
129
129
128
127
127
129
130
128
126
127
129
128
127
128
128
129
129
128
127
128
130
130
128
127
128
129
127
126
127
128
128
128
128
128
128
129
129
128
129
130
130
127
127
128
129
127
126
127
126
128
129
127
126
127
130
129
127
127
129
130
129
127
128
128
128
128
127
126
127
129
128
126
126
128
128
128
128
128
128
129
130
129
128
128
129
129
129
128
128
127
127
128
127
126
127
128
128
128
129
128
128
128
129
129
127
128
129
129
128
128
128
127
128
128
128
127
127
128
128
128
128
128
127
128
130
130
128
128
129
129
129
128
127
127
128
129
127
125
126
129
129
128
127
127
129
130
130
128
127
129
130
129
126
126
127
127
127
127
127
127
128
129
128
128
129
129
129
129
130
129
127
127
128
129
127
127
126
126
128
129
128
126
127
130
130
128
127
128
130
130
129
127
127
128
130
128
125
126
128
129
128
127
128
128
129
129
129
128
128
130
130
128
128
128
127
127
128
127
126
126
127
128
128
128
128
128
129
130
130
128
127
129
129
128
126
126
127
127
129
127
126
127
129
129
128
128
129
129
129
129
128
126
127
129
129
127
127
128
128
128
129
128
127
128
129
129
127
127
128
128
128
128
128
127
128
129
129
127
127
128
128
128
128
128
127
127
128
128
127
128
128
129
129
129
129
128
128
129
128
128
127
128
128
127
127
127
126
127
129
129
128
129
130
130
129
127
128
129
129
128
127
126
126
128
127
126
126
128
129
128
128
128
128
129
130
130
128
128
129
128
127
127
128
128
127
127
127
126
127
129
129
128
129
130
129
128
129
130
129
128
128
127
127
127
127
126
126
129
128
127
127
128
130
130
129
129
128
129
129
128
125
126
128
129
127
126
128
129
129
129
128
129
129
130
128
126
127
128
128
126
126
128
128
128
128
128
128
129
130
129
128
128
129
127
126
128
128
127
126
127
128
129
130
130
128
129
130
130
127
126
128
128
128
127
126
126
127
128
128
127
129
132
131
129
129
129
129
128
126
126
126
127
127
125
125
126
129
129
128
129
130
130
130
130
130
129
129
128
127
126
127
127
125
125
127
127
127
127
129
129
131
131
130
129
129
130
129
127
126
126
127
126
125
125
125
127
129
129
128
129
131
131
130
130
130
130
128
128
126
126
126
126
126
125
127
128
128
129
129
130
130
130
131
130
129
128
127
126
125
126
126
125
125
127
128
128
129
129
130
131
131
131
129
128
129
129
127
125
126
126
126
126
127
127
128
129
130
129
130
131
130
129
129
129
128
127
126
126
126
126
127
126
126
128
129
129
128
129
131
131
129
129
128
128
128
128
126
126
127
127
126
126
128
129
129
129
129
130
130
130
128
128
128
129
128
126
126
127
128
127
126
128
128
129
129
128
127
128
130
130
127
127
128
128
127
127
127
127
128
128
128
127
128
130
128
128
128
129
129
128
128
128
128
128
128
127
127
128
128
127
127
129
129
128
127
128
128
128
128
128
128
128
129
129
128
127
128
129
128
129
128
127
128
128
129
127
127
128
128
128
128
128
127
128
129
130
128
127
128
128
128
128
127
126
127
128
128
126
126
128
129
129
129
129
129
129
129
128
128
128
129
128
127
127
127
127
126
127
128
128
128
128
129
129
129
130
128
128
129
129
128
126
127
128
128
128
126
126
128
129
129
127
126
129
130
129
128
128
128
128
129
128
127
127
128
127
126
127
127
128
127
129
129
129
128
128
129
129
129
128
127
127
128
128
127
126
126
128
129
128
128
128
128
130
130
127
126
128
129
127
126
127
127
129
129
128
127
128
130
130
129
128
129
130
128
127
127
127
128
128
127
127
128
129
129
128
128
130
130
129
128
128
129
128
128
126
126
128
129
127
126
127
130
130
128
128
129
129
129
129
128
128
129
129
126
125
128
128
127
126
127
129
129
129
128
128
129
131
130
128
127
129
129
127
126
126
127
127
128
128
127
128
129
129
128
129
130
129
128
128
129
127
127
128
127
128
127
128
127
128
129
129
128
127
129
129
128
127
128
128
128
128
127
127
127
128
129
128
128
129
129
129
129
128
128
128
129
128
127
128
128
128
128
128
128
127
127
128
129
128
128
129
128
128
127
128
128
128
129
129
128
128
129
129
128
128
128
128
128
128
128
127
128
129
128
128
128
129
129
128
129
129
128
127
128
128
127
127
127
127
127
128
129
128
128
129
129
129
128
129
129
127
128
128
128
127
128
128
127
127
128
128
128
128
129
129
129
128
128
128
128
128
127
127
127
128
128
127
127
128
128
128
129
129
129
129
130
128
128
129
129
127
127
127
127
127
127
127
127
127
128
128
128
128
129
129
128
129
130
128
128
128
128
128
127
128
127
126
127
129
128
127
128
129
129
129
129
128
128
129
129
127
126
127
128
127
127
127
128
128
128
129
129
128
129
129
129
129
129
128
127
127
128
127
126
126
128
128
128
128
128
128
130
130
129
128
129
130
130
127
127
127
127
128
128
127
126
127
129
128
127
128
129
129
129
129
129
128
128
129
129
127
127
127
127
127
128
127
126
127
129
128
128
128
129
129
129
129
128
128
129
130
128
127
127
128
128
128
127
127
127
128
129
129
127
128
129
128
128
128
128
127
128
129
129
127
127
128
128
128
128
128
127
128
130
128
126
127
129
129
128
128
128
128
129
129
127
126
128
129
129
127
128
128
128
128
128
127
127
128
129
128
128
128
128
128
128
129
128
127
128
129
129
127
127
127
128
128
128
127
126
128
129
129
128
127
129
129
129
129
128
127
128
129
128
126
127
128
129
129
128
128
128
128
129
129
128
128
129
128
127
127
127
127
127
129
128
127
128
129
129
129
129
129
129
129
129
128
127
127
128
128
127
127
127
127
127
129
128
128
129
130
130
128
128
129
129
129
128
127
126
127
128
127
127
127
128
128
128
129
129
128
129
130
129
128
127
128
127
127
127
127
126
127
128
128
127
127
129
130
130
130
129
129
129
129
128
127
127
128
127
126
126
127
127
128
129
129
129
130
130
129
129
129
128
127
126
128
127
125
126
127
127
127
128
128
128
129
130
129
128
129
130
129
127
127
127
128
128
127
126
127
128
129
128
127
128
130
129
129
128
129
129
128
128
127
127
128
128
127
127
128
128
127
128
128
128
128
129
129
128
129
129
128
127
127
128
127
127
127
128
128
128
128
128
129
129
130
129
128
129
130
128
127
127
127
127
127
127
127
127
128
129
128
128
130
130
130
128
129
129
128
128
127
127
126
127
128
126
127
128
129
128
129
130
130
129
129
129
128
127
127
127
126
127
128
127
126
127
129
129
129
129
129
130
130
130
128
127
128
129
127
125
126
127
127
127
127
127
127
129
130
128
128
130
131
128
127
128
128
128
127
127
127
127
129
127
126
128
130
130
128
128
129
129
128
128
128
128
129
128
127
126
128
129
127
126
127
129
129
127
127
127
128
129
128
127
127
129
130
128
127
128
128
129
128
127
127
128
129
128
127
127
128
129
128
128
129
130
128
128
128
128
128
128
127
127
128
129
127
126
127
129
129
128
128
129
129
130
129
128
127
128
129
128
127
127
128
127
127
127
127
128
128
129
128
128
129
129
129
128
129
128
127
127
128
127
127
127
127
126
127
129
129
128
128
130
129
129
129
128
128
128
129
128
126
127
128
128
127
127
129
128
129
129
128
127
128
130
129
127
128
128
128
127
128
127
127
128
129
128
127
128
129
128
128
128
128
128
128
129
128
128
128
128
128
128
129
129
127
127
128
128
127
126
127
127
128
128
128
127
128
130
130
128
128
129
129
129
128
127
126
127
128
127
126
127
128
128
128
128
129
129
129
130
129
128
129
129
127
126
127
127
126
126
127
128
127
128
128
129
129
129
130
128
128
129
129
127
127
127
127
126
127
127
127
128
129
129
128
128
130
130
128
128
128
128
129
128
127
127
127
129
127
127
127
129
129
128
128
129
129
129
129
128
127
127
128
127
126
127
128
128
128
128
128
128
129
130
129
128
129
129
128
127
128
128
127
127
128
128
128
128
128
128
129
130
129
128
128
129
128
127
127
128
128
127
127
127
127
129
129
129
128
128
130
129
128
128
128
127
128
128
127
126
128
128
128
127
128
129
129
129
129
128
128
129
129
127
127
127
127
127
127
128
128
128
129
130
130
129
129
130
129
128
128
127
125
126
126
126
126
126
127
128
129
130
129
129
130
131
130
129
128
128
127
127
127
126
125
126
128
128
127
128
129
130
130
130
130
129
130
129
128
126
126
127
126
126
126
126
126
128
128
129
128
129
131
130
129
130
129
128
128
128
126
125
126
127
126
127
127
127
128
129
130
129
129
129
130
129
129
128
128
127
127
128
127
126
126
127
128
127
128
129
129
130
130
129
128
128
129
128
127
127
127
127
127
127
127
127
127
129
129
128
129
129
129
129
129
129
128
129
129
128
127
127
128
127
127
127
127
127
128
129
128
127
128
129
129
128
128
128
128
129
128
128
127
127
129
128
128
128
128
128
128
129
128
127
128
129
128
128
128
128
127
128
129
128
127
128
129
128
127
127
128
128
128
129
128
127
128
129
129
127
127
128
129
129
129
127
126
128
129
128
127
127
128
129
129
129
127
128
129
129
128
127
128
127
128
128
127
127
127
128
129
128
128
128
129
129
129
130
128
127
127
128
128
126
126
127
127
127
128
127
127
129
130
129
128
129
130
130
129
128
128
128
128
128
127
125
127
128
127
127
127
128
128
129
130
129
128
129
130
129
128
128
127
127
127
129
127
126
126
128
128
128
128
129
128
129
130
129
128
128
129
129
127
127
127
127
127
127
127
127
127
128
128
128
129
128
128
130
130
129
128
128
129
129
127
127
127
127
127
128
126
126
127
129
129
127
128
129
130
130
130
129
128
129
129
127
126
126
128
127
127
127
127
127
128
129
129
128
129
129
129
129
129
128
127
128
129
128
126
126
127
127
128
128
127
127
129
130
128
127
128
130
130
128
128
128
129
129
129
127
127
127
128
127
127
128
128
127
128
129
129
128
128
129
129
129
129
128
128
128
129
128
126
127
129
129
128
127
128
128
129
129
128
127
128
129
128
126
127
128
128
127
127
128
128
129
129
128
128
129
130
128
128
129
129
127
127
128
128
127
128
128
128
128
129
128
127
128
130
129
127
127
129
128
128
127
127
127
128
129
127
126
128
129
129
128
128
129
128
128
128
128
127
128
129
128
127
128
128
127
128
129
128
127
127
129
129
128
128
128
128
129
129
128
127
128
129
128
127
127
128
128
128
128
127
128
129
129
128
127
128
129
128
127
128
128
127
128
128
127
127
129
129
127
127
129
129
128
127
128
129
128
128
128
128
128
128
128
128
128
129
129
127
128
128
128
128
128
128
127
127
129
127
127
128
129
129
128
128
128
128
128
129
128
127
128
128
128
127
128
128
128
128
129
129
128
128
129
129
128
129
128
127
128
128
128
127
128
129
128
128
128
128
128
128
129
128
127
128
128
127
127
128
128
127
127
128
128
128
128
129
129
129
129
129
128
128
129
129
128
127
128
127
126
127
127
127
128
128
128
128
128
130
129
128
129
130
129
128
127
127
126
126
127
127
127
127
128
128
128
130
130
130
129
130
130
128
128
128
127
126
127
126
126
126
127
128
128
128
130
130
129
130
130
129
129
129
129
127
127
127
126
126
126
127
126
127
128
129
129
129
129
130
130
130
129
128
128
129
128
126
127
126
127
127
127
128
127
128
130
130
129
129
130
129
129
128
128
128
127
127
127
126
126
127
127
127
128
129
128
129
129
129
129
129
129
128
127
128
127
127
126
127
128
127
128
128
129
128
129
129
129
128
129
129
128
128
128
128
127
127
127
127
126
128
128
128
128
128
129
128
128
129
128
129
129
129
128
127
128
128
127
127
128
128
127
128
128
127
127
129
129
128
128
129
129
128
128
129
128
128
128
128
128
128
128
127
127
128
128
127
127
128
129
128
128
129
128
128
129
129
128
129
129
129
127
127
128
127
127
127
127
128
127
128
128
127
129
129
129
128
128
129
128
128
128
128
127
127
128
127
127
127
128
128
128
129
129
128
129
129
129
128
128
128
128
128
128
128
127
127
128
128
128
128
128
129
128
128
128
128
128
128
128
127
128
128
128
127
127
128
127
128
129
129
128
128
129
129
128
128
128
128
127
128
128
127
127
129
128
127
128
129
129
128
129
129
128
128
129
128
127
128
128
127
126
127
128
127
128
128
129
129
129
129
128
128
129
129
127
127
128
128
127
126
127
127
128
128
128
127
129
130
130
128
128
129
129
128
127
127
127
128
128
127
126
127
128
128
127
128
129
129
129
129
129
128
128
128
128
127
128
128
127
126
128
128
128
127
128
128
128
129
129
128
128
129
129
128
128
129
129
128
127
127
127
127
127
127
126
127
129
128
128
128
129
130
129
129
129
128
129
129
128
127
127
128
127
127
127
127
127
127
128
129
129
129
130
129
129
129
128
128
127
128
128
126
126
127
127
128
127
128
128
129
130
129
128
128
129
129
128
128
128
127
127
128
128
127
127
129
129
128
128
129
128
128
129
128
128
128
128
128
127
128
128
128
128
128
129
128
128
129
128
128
128
128
127
127
128
128
127
127
129
128
128
128
129
129
129
129
129
128
128
129
128
127
127
128
128
128
127
127
127
128
129
129
128
129
129
129
128
129
128
128
128
128
127
126
127
128
127
128
128
128
128
128
129
129
128
129
129
130
129
128
128
127
128
128
127
126
127
128
128
127
128
129
129
128
129
128
128
128
100
1
43327
0
0
0
0
0
0
0
0
0
0
0
0
0
