127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
127
127
128
127
128
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
127
128
128
128
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
127
127
128
127
128
128
128
128
128
128
128
128
128
128
127
127
127
128
127
127
128
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
128
127
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
128
128
128
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
128
128
128
127
127
128
127
127
128
128
128
128
128
127
128
128
128
128
127
128
128
127
127
128
128
128
128
127
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
127
128
128
127
127
127
127
127
127
127
127
127
128
127
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
127
127
127
128
127
128
128
128
127
128
128
128
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
128
128
128
128
128
128
128
128
127
128
128
128
127
127
128
128
128
128
128
127
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
127
127
128
127
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
127
127
127
127
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
128
127
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
128
128
127
127
128
128
127
127
127
127
127
128
127
127
127
127
127
127
127
128
128
127
127
127
127
128
128
127
127
127
127
128
127
127
127
127
127
127
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
126
127
128
126
127
128
129
128
127
127
128
128
128
128
127
127
127
126
127
127
127
127
126
128
127
128
128
127
128
127
127
128
127
127
127
127
128
128
127
127
127
127
127
128
127
127
129
129
129
128
127
127
127
127
128
128
128
127
127
127
128
127
127
127
127
128
128
128
128
128
127
127
128
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
126
127
127
127
127
127
127
126
126
126
126
127
127
127
127
128
127
127
127
126
126
126
126
127
127
126
126
127
127
131
118
129
123
133
124
131
123
127
128
127
129
126
126
127
127
128
128
126
127
126
127
127
127
127
126
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
127
127
127
127
128
128
127
127
127
128
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
127
126
127
127
127
127
127
126
126
126
129
126
128
126
127
127
127
127
127
128
126
126
126
127
127
127
127
127
126
127
127
128
127
127
128
128
128
128
127
128
128
128
129
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
127
125
130
126
127
128
132
130
124
128
129
128
131
125
130
129
126
129
127
129
129
127
128
127
127
128
127
129
128
129
129
128
128
128
127
129
128
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
129
127
127
127
128
126
129
129
128
130
127
127
128
127
128
128
126
128
128
129
128
128
127
127
128
128
127
128
128
128
128
128
127
127
127
128
128
128
127
127
127
128
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
128
128
128
128
128
128
128
127
127
127
127
127
127
129
128
127
126
126
127
127
127
127
127
127
127
128
128
128
127
127
128
128
128
127
127
127
128
128
127
127
128
129
129
127
127
126
126
126
127
126
126
127
128
128
128
126
127
128
127
128
128
127
128
128
128
127
127
127
127
127
128
128
129
128
128
127
127
127
128
129
129
129
128
128
127
128
128
128
127
127
128
128
128
127
126
127
128
128
128
127
126
127
128
128
128
127
126
126
126
126
127
126
127
127
128
128
127
127
126
127
127
128
127
128
128
129
129
128
129
129
128
127
127
129
131
130
129
129
129
131
130
130
131
130
130
131
131
132
132
131
131
130
130
130
129
129
129
128
129
129
130
130
129
129
128
128
128
128
127
127
125
125
125
125
125
125
125
124
125
125
124
124
122
123
124
126
126
125
124
124
124
125
126
126
127
127
128
128
127
127
129
132
135
136
137
135
134
131
131
135
138
140
139
135
133
135
138
139
138
137
136
137
137
138
134
132
131
129
131
133
132
130
124
120
122
124
124
118
112
106
107
114
123
125
125
120
115
114
115
118
122
122
123
124
124
124
124
122
122
122
124
127
128
128
128
127
128
129
132
135
138
140
138
137
136
135
135
135
139
145
148
145
139
136
138
144
152
156
154
155
147
143
149
155
138
111
97
76
73
94
114
136
149
147
138
121
109
100
100
108
120
144
159
162
157
139
119
107
102
98
106
115
122
130
131
119
108
100
99
121
142
149
147
125
107
107
115
127
126
122
122
126
128
127
120
116
121
128
139
142
140
138
137
138
138
138
137
138
141
143
142
140
140
143
140
141
148
155
160
159
156
161
163
153
141
103
67
8
21
100
154
216
204
152
109
70
74
92
100
112
132
163
183
196
177
121
90
60
56
90
117
140
146
136
109
98
90
97
115
125
144
147
137
129
118
107
110
115
126
134
135
133
121
115
117
123
134
144
147
148
149
148
143
138
136
144
154
159
163
162
154
154
159
169
174
190
196
125
0
1
3
72
211
255
255
177
86
51
52
63
67
83
103
162
229
245
216
136
54
26
41
92
138
149
145
128
125
122
112
91
74
88
111
147
167
153
119
100
82
93
119
134
146
135
117
109
106
115
126
131
135
139
143
146
144
137
131
131
138
146
151
148
144
144
146
150
152
158
163
162
169
180
180
157
109
60
9
10
56
137
200
210
184
131
83
63
64
75
90
120
149
187
206
188
155
100
67
64
80
105
120
132
132
130
119
101
90
84
97
125
142
156
145
119
100
99
106
120
131
133
130
123
117
115
115
123
132
136
143
146
148
148
146
141
135
136
146
160
167
164
154
146
152
157
175
191
195
206
166
58
1
2
0
114
228
255
242
154
85
52
46
47
56
88
123
194
243
233
197
116
50
36
50
92
127
130
137
144
132
115
97
70
68
98
121
155
157
143
131
105
98
98
103
120
136
138
131
123
111
112
119
125
135
145
154
157
155
145
135
128
134
152
168
173
171
159
150
158
166
183
193
195
206
120
0
0
2
55
206
255
255
182
98
67
49
46
49
58
91
167
242
255
230
149
60
30
37
74
115
140
135
134
141
130
118
82
63
68
95
137
157
159
147
124
101
96
93
105
122
132
138
134
128
117
114
114
120
134
150
159
162
156
142
136
129
134
151
160
175
173
162
161
153
157
180
185
201
220
170
93
0
2
0
85
225
255
228
167
93
65
51
48
41
53
126
211
255
255
202
105
58
35
52
89
109
127
123
138
155
139
99
72
56
57
109
152
175
179
156
108
92
81
86
115
124
145
146
144
133
116
103
103
114
137
163
170
167
158
144
134
132
137
150
168
178
182
171
156
149
148
169
195
216
226
156
0
0
0
10
173
255
255
190
132
89
84
64
44
23
56
134
219
255
255
187
103
61
51
63
85
95
93
113
156
161
135
109
49
37
93
113
169
179
160
139
116
92
84
94
102
133
153
159
147
129
109
101
105
117
141
156
175
176
165
144
133
133
146
161
171
180
170
170
162
159
158
175
189
213
170
8
2
0
1
144
218
241
185
140
115
102
91
61
30
42
94
175
226
250
209
148
111
76
70
72
71
61
70
113
147
164
142
101
75
77
93
127
141
138
139
132
123
120
110
106
108
117
126
138
139
138
132
121
116
117
131
149
163
166
165
160
154
157
153
152
156
161
162
167
167
161
171
182
195
182
114
12
1
1
24
118
173
173
166
149
134
136
130
103
79
69
75
111
156
183
187
179
158
136
129
115
90
60
52
56
76
110
133
141
147
148
147
144
136
125
115
111
110
117
127
133
137
134
132
130
130
133
135
135
139
145
152
156
161
161
161
162
165
170
175
177
179
180
181
182
184
187
187
189
190
191
189
185
182
178
170
156
148
135
122
111
106
100
89
81
77
71
71
77
80
82
85
85
85
88
93
94
95
94
89
88
89
88
84
84
82
82
88
91
90
91
93
94
99
104
107
110
114
114
115
118
118
117
117
117
116
117
119
118
117
117
115
115
117
118
118
120
120
120
122
123
123
123
124
126
128
130
131
129
129
126
127
129
129
129
128
129
126
125
125
122
117
117
118
115
114
113
112
109
111
114
116
120
124
125
127
130
130
131
131
133
130
130
130
127
124
122
120
118
120
121
121
123
125
126
128
130
130
131
131
132
133
135
136
134
134
132
132
132
133
133
134
133
133
133
133
133
131
132
132
132
136
136
137
136
136
136
137
139
138
139
139
137
137
138
135
132
130
129
126
125
124
122
116
115
115
115
116
119
120
119
121
125
126
129
131
132
133
134
134
132
130
128
125
124
122
121
120
121
120
121
122
123
125
126
128
129
131
132
132
132
132
132
131
132
132
132
132
131
130
130
130
129
128
129
128
130
130
132
131
131
131
132
133
134
136
134
135
134
135
135
133
133
133
132
131
129
128
124
121
119
118
115
114
114
112
112
113
114
115
118
121
124
127
131
132
132
133
131
130
128
126
124
123
122
118
117
117
117
117
119
121
121
125
126
128
129
131
130
131
132
132
132
131
131
130
130
129
129
129
129
129
130
130
129
128
126
129
128
131
131
133
133
134
135
135
135
134
135
135
136
134
136
136
134
131
129
126
125
123
121
118
115
112
111
111
112
112
114
116
120
123
127
129
131
133
135
136
135
134
132
130
126
123
120
119
118
117
115
115
116
117
118
120
122
125
128
130
131
132
132
132
132
133
132
132
132
132
131
130
129
128
127
127
126
127
128
129
129
130
131
133
133
134
135
135
136
136
136
136
135
136
134
136
136
136
135
136
133
129
126
125
123
120
118
115
112
111
112
111
111
112
116
120
124
127
131
133
135
137
138
138
137
136
133
129
126
123
121
118
116
116
115
115
115
116
117
115
116
114
119
124
125
129
133
136
136
135
134
133
132
131
130
128
127
126
125
123
122
122
123
124
125
127
131
132
135
137
139
141
143
144
143
143
142
141
142
141
141
140
140
142
147
152
145
131
110
103
105
104
99
94
97
101
116
121
119
120
126
133
141
143
139
136
138
145
146
144
138
133
132
131
127
111
99
99
99
100
99
96
98
109
124
131
132
134
137
141
141
135
125
121
123
122
119
116
114
116
120
122
121
118
125
129
130
132
133
136
140
142
139
137
142
144
145
146
147
147
149
150
149
151
152
155
159
158
163
171
171
173
176
181
186
190
166
101
86
108
100
63
74
101
130
140
142
139
157
177
149
130
139
155
140
130
137
146
156
151
140
139
147
130
110
103
111
105
98
98
118
131
135
132
143
157
145
125
120
116
114
99
94
103
108
104
104
119
124
122
116
126
131
127
123
126
130
130
123
123
129
127
118
120
125
123
121
121
126
129
128
128
136
139
137
143
149
148
142
145
138
132
135
132
124
125
132
129
130
138
142
149
161
138
109
65
58
97
55
39
104
126
121
118
146
137
129
117
100
120
110
96
104
134
138
123
145
150
142
127
116
104
99
87
78
94
103
102
111
142
143
136
138
137
129
115
102
95
98
94
88
108
115
113
120
126
120
117
114
112
117
116
117
128
136
133
135
139
133
127
125
120
120
119
121
124
131
132
132
138
140
138
140
143
144
145
147
146
143
149
145
134
139
139
133
132
139
137
141
143
146
151
153
155
145
132
121
78
53
111
88
57
119
140
131
132
153
139
134
126
108
126
117
109
120
147
139
135
151
151
134
124
117
105
98
93
93
111
120
123
138
156
154
150
139
149
121
107
110
112
101
99
111
119
118
119
121
128
119
112
113
119
113
118
126
135
134
138
140
138
130
123
122
123
118
118
126
131
132
136
141
141
140
140
141
140
139
138
142
142
138
140
142
144
140
138
144
144
134
138
146
145
135
151
155
148
147
152
153
152
142
127
107
61
68
116
56
71
131
143
129
139
159
141
139
122
114
131
114
111
125
148
134
135
149
147
128
121
114
107
100
93
102
120
126
134
145
159
153
149
147
140
126
113
97
102
115
94
103
132
127
121
130
134
121
119
114
115
117
115
117
130
133
131
137
137
128
120
120
118
115
117
124
129
132
135
140
142
140
138
140
140
137
135
137
136
132
131
134
134
129
134
143
140
135
141
146
144
137
140
154
148
138
148
154
146
150
164
155
136
120
48
79
116
53
62
148
139
123
145
171
137
140
117
117
125
111
99
130
145
132
134
160
149
133
122
120
104
99
89
104
117
120
128
150
159
154
149
150
139
129
114
110
109
106
107
119
128
108
129
142
115
122
136
120
113
120
122
116
125
123
129
133
124
119
128
120
109
115
121
118
121
128
132
134
134
135
141
138
135
138
141
137
135
137
135
131
129
131
129
126
131
137
137
138
140
143
147
141
138
146
141
140
148
152
155
159
152
145
99
70
86
103
58
73
133
139
129
143
159
148
131
118
121
124
106
111
130
141
132
144
155
149
130
123
120
107
95
96
105
116
121
135
148
155
150
149
149
137
122
115
113
111
108
114
122
129
130
134
136
106
126
129
102
108
136
121
120
134
139
127
130
121
117
116
106
103
121
120
118
129
138
129
131
134
131
130
131
129
137
138
136
140
143
136
131
132
126
126
126
124
130
140
138
137
145
146
135
142
149
144
148
161
154
143
145
109
92
82
109
80
80
123
135
131
134
149
140
132
124
120
124
117
114
129
140
136
137
148
144
130
120
119
109
100
100
108
117
122
134
143
150
147
146
145
137
125
118
117
114
112
117
122
127
128
131
133
131
127
125
125
123
121
125
128
132
128
138
138
131
111
130
121
101
108
121
111
107
122
128
126
129
133
136
133
128
130
133
126
122
131
132
128
126
133
131
127
126
130
127
124
128
134
130
132
134
138
132
135
135
136
133
127
129
130
126
125
132
131
129
132
138
135
135
135
133
129
128
123
122
121
121
121
125
124
124
126
125
123
124
124
122
123
125
126
127
129
130
131
131
129
127
125
123
120
120
120
121
123
124
126
128
130
130
129
128
128
128
126
125
126
127
125
126
123
125
126
124
121
124
126
125
125
127
130
130
129
131
135
130
128
133
132
127
128
131
127
124
130
129
127
127
130
130
127
129
131
130
130
131
134
133
129
131
133
128
126
133
132
126
130
137
128
119
125
126
116
119
123
125
123
125
128
131
127
125
128
129
123
123
127
126
123
126
129
128
126
127
128
126
123
122
123
123
121
124
127
127
127
129
130
129
128
127
128
127
125
126
127
127
127
128
128
128
128
128
128
127
127
128
127
128
129
129
129
129
129
128
128
128
125
126
127
125
127
128
127
126
128
127
127
127
128
127
127
128
127
127
128
127
127
127
127
125
127
127
126
126
127
126
127
127
127
127
128
127
128
128
127
127
128
128
127
127
127
128
127
126
128
128
126
127
129
128
127
128
128
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
127
127
128
128
128
128
128
128
128
127
128
127
127
127
127
127
127
127
128
128
128
128
128
127
127
127
127
127
127
127
128
127
128
128
127
127
127
127
127
127
128
128
127
128
128
128
127
127
128
128
127
127
128
128
127
128
128
127
127
128
128
127
127
128
127
127
127
128
128
128
128
127
128
127
127
128
127
127
127
127
127
127
128
128
128
127
128
127
127
128
128
127
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
128
127
127
128
127
127
127
128
127
128
128
127
128
127
127
128
128
127
128
128
128
127
127
127
127
127
127
128
127
127
128
128
128
127
128
128
127
127
128
128
128
127
128
128
127
127
128
128
127
128
128
127
128
128
128
128
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
128
127
127
127
128
127
127
128
128
127
127
128
128
127
127
127
128
127
127
127
127
127
127
128
128
127
128
128
127
127
128
127
127
128
128
128
127
128
128
127
127
128
127
127
127
128
127
127
127
127
127
128
127
127
128
127
127
128
127
127
128
128
127
127
128
128
128
127
128
128
127
127
128
128
127
127
128
128
127
128
128
128
127
128
128
127
127
128
129
127
127
128
127
127
127
128
127
127
128
128
127
128
128
128
127
128
128
128
127
127
128
127
127
127
128
127
127
128
128
127
127
128
128
128
128
127
128
128
127
128
128
127
127
128
127
127
128
127
127
127
128
127
128
128
127
128
128
127
127
128
127
127
128
127
127
128
128
127
128
128
127
127
128
127
127
128
127
128
128
127
128
128
127
128
128
127
127
129
128
127
128
129
127
127
129
128
127
129
129
128
129
128
128
128
128
127
128
128
127
128
129
128
127
129
129
127
128
129
127
127
129
127
128
129
128
128
128
128
128
128
127
127
129
127
128
129
128
128
128
128
128
128
127
128
128
127
128
128
128
127
129
128
126
128
128
127
128
128
127
129
129
126
128
129
127
127
129
127
126
128
128
127
128
129
127
127
128
128
127
128
129
127
127
128
128
127
128
128
127
128
128
127
127
129
127
127
129
128
127
129
129
127
128
129
127
127
127
127
128
128
127
128
129
128
126
129
128
126
128
128
128
128
128
127
129
129
126
127
129
128
127
128
129
128
127
127
129
128
126
127
130
126
126
130
129
126
127
128
127
127
127
127
128
129
128
128
129
127
125
127
128
125
127
129
127
128
129
127
126
128
128
125
129
129
126
128
130
126
128
130
127
126
130
128
125
129
128
125
128
129
126
126
129
127
126
127
128
127
127
128
127
128
128
127
127
129
127
125
128
128
126
127
129
126
127
128
127
127
127
126
127
128
126
128
129
126
127
129
127
125
129
127
126
129
129
126
127
129
126
127
128
127
127
127
128
129
127
128
129
128
127
128
128
127
128
127
127
128
127
126
128
129
127
127
129
128
126
127
129
127
127
128
128
127
128
128
127
128
128
127
129
128
126
128
129
127
127
129
128
127
127
127
127
127
127
128
128
127
127
129
127
126
127
129
128
127
128
129
127
126
128
128
126
127
128
128
127
128
128
128
128
127
127
129
128
127
127
129
129
126
127
130
127
127
129
128
126
128
128
127
128
129
127
127
129
128
126
127
128
127
126
128
129
127
126
128
129
126
126
129
129
126
127
129
128
126
128
129
127
127
129
128
126
128
127
127
128
128
127
129
128
126
128
127
126
128
128
127
127
128
128
126
127
127
128
126
127
129
128
127
128
128
127
127
128
127
128
128
127
128
128
127
126
128
127
126
128
128
127
128
128
127
128
128
127
128
129
127
127
128
128
126
127
128
128
127
127
129
128
127
128
129
128
127
129
129
128
128
128
127
126
127
128
128
128
128
128
127
127
127
126
128
128
128
129
128
127
128
128
126
127
129
127
128
129
128
128
128
128
127
127
126
127
127
126
128
128
127
128
129
127
127
129
126
126
129
128
128
129
128
126
129
127
125
128
129
126
127
129
126
127
129
128
127
129
129
127
128
127
127
129
128
128
128
128
127
128
128
127
128
127
127
128
128
128
128
128
128
128
127
127
127
126
129
129
127
129
129
127
126
128
127
126
128
129
128
128
128
128
127
126
127
128
127
126
128
129
127
127
129
128
127
127
129
127
128
129
128
128
128
127
127
127
127
128
128
128
129
128
127
128
128
126
127
128
127
128
128
127
127
127
126
126
128
127
126
127
128
127
128
127
127
127
127
127
127
127
127
127
127
126
126
127
128
128
127
128
128
128
127
127
128
127
128
128
128
128
128
128
127
127
127
127
128
128
127
128
129
128
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
128
127
127
127
128
127
127
128
128
128
128
128
127
127
128
128
128
127
126
127
127
127
127
127
128
127
127
127
127
127
127
127
128
129
128
128
128
128
128
127
127
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
127
127
127
127
127
127
127
128
127
127
128
127
126
127
128
127
127
128
127
127
127
127
127
127
127
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
128
128
127
127
128
128
127
127
128
128
128
127
127
128
127
127
127
128
127
127
128
127
127
127
127
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
127
128
128
128
128
128
128
127
127
128
128
127
127
127
127
127
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
126
126
126
126
127
127
126
127
127
127
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
128
127
127
127
128
128
128
128
128
128
128
128
127
127
127
127
126
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
128
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
128
127
128
127
127
128
127
128
128
127
127
127
128
128
128
127
127
128
128
127
128
127
127
127
127
127
127
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
126
126
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
127
127
127
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
126
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
126
126
126
126
126
126
126
126
127
127
127
126
126
126
126
126
126
126
126
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
129
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
129
129
129
129
129
129
129
129
129
129
128
128
128
129
129
129
129
128
128
128
128
128
128
128
128
128
128
127
128
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
128
128
128
128
128
128
127
127
128
128
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
129
129
128
129
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
127
127
127
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
128
128
129
129
129
129
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
128
128
127
127
128
128
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
128
127
128
127
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
127
127
127
127
127
127
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
128
127
127
128
127
128
127
128
128
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
128
128
128
129
128
129
129
129
129
129
129
129
129
129
129
129
129
130
129
129
130
130
130
130
130
130
130
130
130
130
130
129
129
129
129
130
130
130
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
126
126
127
126
126
126
126
126
126
126
127
126
126
126
126
126
126
126
126
126
126
126
125
126
125
125
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
129
130
130
130
130
130
130
129
130
130
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
128
127
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
128
128
128
129
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
128
129
129
129
129
129
129
129
129
129
128
129
129
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
128
129
128
129
129
129
129
129
129
128
128
128
128
128
128
129
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
126
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
125
126
126
126
125
126
125
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
127
127
127
128
128
127
127
127
127
128
128
128
127
128
128
128
128
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
128
128
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
127
128
128
128
127
127
127
127
127
127
128
128
128
128
128
128
127
127
127
128
127
127
127
127
127
127
127
128
127
127
127
128
128
128
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
127
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
128
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
128
127
128
127
127
128
128
128
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
128
127
127
127
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
128
129
129
129
128
128
128
129
128
129
128
129
129
129
128
128
128
129
129
128
128
128
129
129
129
129
129
129
129
129
129
129
129
128
128
128
129
129
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
127
127
128
128
128
128
127
128
127
127
127
128
127
127
127
127
127
127
127
128
127
127
127
128
127
128
127
127
127
127
128
128
128
128
128
128
127
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
127
127
127
127
127
128
127
128
128
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
128
127
127
127
128
128
128
127
127
127
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
128
127
128
128
128
127
128
128
128
127
127
127
127
128
128
128
128
127
128
128
128
128
127
127
127
127
127
128
128
128
127
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
127
127
128
127
127
128
127
128
127
127
128
128
128
127
128
128
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
127
128
127
128
128
128
127
128
128
128
128
128
128
128
128
128
127
127
128
128
127
128
127
127
127
127
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
127
128
127
128
128
128
127
128
127
128
127
128
127
128
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
126
127
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
128
127
127
128
128
128
128
128
128
127
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
127
127
128
128
128
128
128
127
127
128
127
127
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
128
128
128
128
128
127
127
128
128
127
127
127
127
127
127
127
127
127
127
128
127
127
128
127
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
127
127
128
128
128
127
127
127
128
128
128
128
128
128
128
127
127
127
127
127
127
127
128
128
127
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
127
128
128
128
128
128
127
128
128
128
128
128
127
128
128
128
127
127
127
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
128
128
128
128
127
127
128
128
127
128
128
127
127
127
127
127
127
127
128
128
127
127
128
128
128
127
127
127
128
128
128
128
128
128
128
128
127
127
127
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
128
128
127
128
128
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
127
127
127
128
127
127
127
127
127
127
127
127
128
127
128
128
128
128
128
128
128
128
128
127
127
127
127
127
128
128
127
128
128
127
128
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
127
128
128
127
128
128
127
127
128
128
127
128
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
127
127
128
128
128
128
128
128
127
127
127
127
128
128
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
127
128
128
127
127
128
128
128
127
127
127
127
128
128
128
128
127
128
128
128
127
127
127
128
128
127
127
127
127
127
127
128
127
127
127
128
128
128
127
127
127
127
128
127
128
128
128
128
128
128
128
128
127
128
128
127
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
127
128
128
128
127
127
127
127
128
127
127
127
128
128
127
127
128
128
128
128
127
127
128
128
128
127
128
128
127
127
127
128
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
128
128
128
128
127
127
128
127
128
127
127
128
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
127
127
127
127
128
128
128
128
127
127
127
127
127
128
127
128
128
127
127
127
128
128
128
128
128
128
128
128
127
128
128
128
128
128
128
127
128
128
128
128
128
128
128
127
128
128
128
128
128
128
128
128
127
127
128
127
128
128
128
127
127
128
128
128
128
128
127
127
127
127
127
127
127
127
127
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
127
128
127
127
127
127
127
127
127
127
127
128
127
127
128
127
127
127
127
127
127
127
127
128
128
127
127
127
128
128
128
128
128
128
128
128
128
128
128
127
127
128
127
127
128
128
127
128
127
127
127
128
128
127
128
128
128
128
127
127
127
128
127
127
127
127
127
127
127
127
127
127
128
127
128
127
127
128
127
127
127
127
127
127
127
127
127
128
129
129
128
128
126
127
129
128
127
125
127
127
129
128
127
127
127
128
129
128
126
126
127
128
128
128
127
127
128
129
128
127
