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