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