4
3
3
3
3
3
3
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
3
3
3
3
4
4
4
4
3
3
2
2
2
2
2
2
2
2
3
4
4
4
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
10
10
11
11
11
11
11
12
12
12
12
13
13
13
13
13
14
14
14
15
16
17
17
17
18
18
18
18
19
19
19
19
19
19
21
21
22
23
23
24
25
25
26
26
28
28
29
29
31
31
31
31
31
31
31
31
31
35
36
37
37
37
39
39
40
40
41
42
47
48
49
50
51
52
53
53
53
53
53
54
54
54
55
55
57
58
58
59
59
59
60
61
63
63
64
65
70
72
74
75
77
78
78
80
81
81
82
82
82
83
85
87
89
90
91
91
93
93
94
96
99
101
104
108
113
114
114
115
115
120
120
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
122
122
122
121
121
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
122
122
123
124
124
125
125
125
126
126
127
127
129
130
131
132
132
132
132
133
134
134
136
136
137
138
138
138
138
140
140
140
140
141
141
142
142
142
143
143
143
143
145
145
145
145
146
146
147
147
148
149
149
150
150
150
150
150
151
152
152
152
152
154
154
155
157
157
158
158
158
158
158
158
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
162
163
167
168
169
171
174
174
175
176
177
178
179
179
179
179
179
179
180
180
181
183
187
192
201
213
215
217
218
218
218
218
218
218
218
218
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
221
222
222
222
224
224
223
223
223
223
221
221
221
221
221
221
221
221
221
220
220
220
220
220
221
221
221
221
221
222
222
223
224
224
224
225
225
225
225
225
226
226
226
226
226
226
227
228
228
228
229
229
229
229
229
230
230
230
230
231
231
231
231
231
231
235
235
235
235
235
235
236
236
237
237
237
237
237
237
236
235
234
232
232
230
230
229
228
228
227
227
227
227
227
226
226
226
224
224
224
224
224
224
224
224
224
225
226
227
229
232
237
238
239
239
240
240
241
241
241
241
242
242
242
242
242
243
243
244
244
244
243
243
242
242
241
239
238
238
238
238
236
235
232
231
230
224
222
218
217
214
209
200
198
197
195
193
193
192
190
190
190
190
190
189
189
188
187
187
187
187
187
186
186
186
186
186
185
184
184
184
182
180
169
165
164
164
164
164
161
160
160
158
157
157
156
153
152
150
149
149
148
148
148
147
146
146
145
144
144
143
143
142
142
140
140
140
140
140
140
140
140
139
139
139
139
139
139
139
139
138
138
138
138
138
138
124
122
121
120
120
120
120
121
121
121
121
122
122
122
123
123
123
123
124
124
124
124
125
125
125
124
124
124
124
125
125
126
123
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
118
117
117
116
115
113
113
113
111
110
110
109
109
107
105
104
103
99
99
99
98
97
97
96
96
96
96
95
96
96
96
96
96
97
97
97
97
97
97
99
99
99
99
99
99
101
101
103
103
103
104
106
107
108
110
111
113
114
115
115
115
115
115
116
116
119
120
120
120
120
121
124
125
134
136
140
140
140
140
140
140
140
140
140
140
140
141
142
143
143
143
143
143
143
143
144
144
144
144
146
147
150
151
154
155
160
164
167
169
170
173
175
176
177
177
177
177
177
177
177
177
177
177
176
176
176
174
174
186
190
198
200
203
205
210
213
216
218
221
225
227
229
231
232
233
234
237
237
238
242
245
248
250
251
252
254
256
258
259
260
261
262
263
266
268
270
273
277
277
277
278
278
278
279
279
279
279
279
279
279
279
279
279
279
278
277
276
275
274
272
271
269
266
258
258
258
258
258
258
258
255
254
253
249
247
240
242
243
243
243
247
248
248
246
242
233
227
226
224
219
217
217
217
217
217
216
216
216
216
219
220
222
223
224
225
236
240
240
240
240
240
240
241
241
241
241
241
241
242
242
242
242
242
241
239
234
234
226
221
220
219
218
216
211
209
205
203
200
200
200
200
200
200
200
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
201
202
202
202
201
201
201
200
200
200
199
197
194
194
193
192
190
189
188
187
186
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
181
181
182
182
184
184
185
186
187
187
188
189
195
196
196
197
200
203
206
208
210
211
211
212
213
215
216
218
219
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
217
216
215
214
214
214
212
211
211
211
210
210
209
208
208
208
207
207
206
206
206
206
206
207
207
208
208
209
209
209
209
209
209
209
209
209
209
210
210
210
211
214
214
216
217
218
218
218
220
220
220
220
220
220
220
220
219
219
218
218
217
217
217
216
215
214
213
213
212
210
209
207
207
209
211
213
214
215
215
216
217
217
218
219
219
220
221
222
223
223
223
224
225
225
225
225
226
228
228
229
229
229
229
229
229
228
228
228
228
228
228
228
227
227
227
229
229
231
233
233
236
237
237
237
237
237
238
241
242
244
247
248
250
252
254
255
255
256
258
260
263
264
266
267
256
255
252
252
251
249
248
246
242
241
240
239
239
239
233
232
230
221
220
218
217
213
211
209
207
206
204
203
202
197
193
192
191
191
190
189
187
186
186
185
184
183
183
182
181
181
180
180
180
180
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
180
180
180
180
164
162
162
161
161
161
160
159
159
159
159
159
159
158
156
155
153
152
150
148
146
145
145
144
144
144
144
143
142
140
139
138
134
134
133
133
132
132
132
128
127
126
124
123
122
122
120
120
120
120
120
120
120
120
120
120
121
121
121
121
122
122
122
122
122
123
123
123
123
123
123
123
122
122
122
120
120
120
119
119
119
119
119
118
118
118
117
117
117
116
116
116
116
116
115
114
112
112
110
109
109
109
109
109
109
108
108
107
106
106
106
106
106
106
106
107
108
108
109
109
110
111
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
114
108
108
106
102
98
97
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
97
97
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
98
98
98
98
98
98
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
98
98
98
98
98
97
97
97
97
97
97
97
97
97
96
96
96
96
96
96
96
95
95
94
94
94
94
94
93
91
90
90
89
85
84
84
83
82
81
80
78
77
77
77
77
77
77
77
77
77
77
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
77
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
79
79
79
79
79
78
78
77
77
77
77
77
77
76
76
76
76
76
76
75
75
74
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
72
72
69
69
68
68
68
67
67
65
65
65
65
65
64
64
64
63
63
63
62
62
61
61
61
61
61
61
61
60
60
60
60
60
60
60
60
60
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
54
54
54
54
54
55
56
55
55
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
51
51
51
51
51
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
50
50
50
50
50
51
50
49
49
48
48
48
48
48
48
47
45
43
44
46
45
42
42
47
46
46
46
45
45
45
44
44
44
43
43
43
43
42
42
42
41
41
41
40
40
40
39
40
40
40
40
39
39
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
36
36
35
35
35
35
35
35
35
34
34
34
34
33
33
33
36
36
36
36
35
35
35
34
33
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
23
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
26
26
27
27
28
29
30
31
32
32
34
34
34
34
34
34
34
34
35
36
36
37
37
37
36
35
35
31
31
31
31
31
32
33
33
34
34
34
34
35
35
35
35
35
35
35
35
35
35
34
34
34
34
34
34
34
35
35
36
37
37
37
37
37
38
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
43
43
44
45
46
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
50
51
51
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
54
54
54
54
54
54
54
54
55
55
55
56
56
57
57
57
57
57
57
57
58
58
61
61
61
61
61
60
60
59
58
59
60
62
62
64
64
65
67
67
67
67
67
67
67
67
67
68
69
69
69
69
69
69
69
69
68
68
68
68
68
68
68
66
66
66
66
66
67
67
67
67
67
67
67
68
68
69
69
69
69
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
70
70
70
70
70
69
69
69
69
69
69
69
69
69
69
69
69
69
68
68
68
68
68
68
68
69
69
69
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
70
70
70
70
70
70
70
70
70
69
69
69
69
69
69
69
69
70
71
71
71
72
72
72
72
72
72
72
72
72
71
71
71
71
71
71
71
71
71
71
71
72
72
72
75
76
77
77
77
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
77
77
77
77
77
77
77
76
76
76
76
75
75
75
75
75
75
75
74
74
73
73
73
73
72
69
68
67
67
67
64
64
63
62
62
61
60
60
59
59
59
56
55
55
55
54
54
53
49
50
51
51
51
50
49
49
49
50
51
52
53
54
55
56
61
61
62
64
70
70
74
75
76
77
81
82
86
89
89
89
89
89
90
90
91
91
91
92
94
94
98
98
99
115
117
123
129
133
134
134
134
134
134
135
135
135
135
136
137
137
137
137
137
137
137
136
136
135
135
132
130
128
127
126
125
125
125
126
127
127
128
128
129
132
135
141
142
144
145
149
149
153
155
159
164
164
164
164
163
163
163
158
157
154
152
150
151
151
153
153
156
158
162
163
164
162
160
159
156
154
150
150
150
148
147
146
144
143
142
142
140
138
135
135
133
133
129
126
123
121
110
108
106
103
99
99
99
99
99
97
96
93
96
97
97
97
96
93
87
85
80
72
65
65
65
65
65
65
65
65
65
65
65
65
66
67
68
72
72
76
76
75
74
73
72
70
69
69
69
69
69
67
66
66
66
66
66
66
64
64
63
63
63
60
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
62
62
62
62
62
62
62
62
62
62
61
61
61
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
59
58
57
57
57
57
58
58
58
58
58
58
58
56
54
59
59
59
59
59
59
59
59
59
59
59
58
58
58
57
57
56
56
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
56
56
55
54
53
56
56
57
57
57
57
57
55
57
58
57
57
56
56
56
56
56
56
56
56
56
58
57
57
62
63
63
63
63
63
63
63
63
62
62
61
58
58
60
60
60
60
60
60
59
59
59
59
59
59
59
59
59
59
59
59
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
60
60
60
60
60
60
60
60
59
59
58
58
58
58
59
59
58
57
56
55
55
55
55
55
56
57
57
58
58
59
59
59
59
58
58
57
58
63
62
61
60
60
59
59
58
58
58
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
56
56
56
56
56
56
56
57
59
59
59
60
60
61
61
62
62
63
63
63
63
63
63
63
63
63
63
62
62
62
62
62
62
62
62
62
63
63
63
63
62
61
61
61
62
63
63
63
63
63
63
63
63
62
61
60
60
60
60
60
60
64
68
70
70
70
70
70
70
70
69
68
68
67
66
65
64
63
63
63
65
65
65
65
66
66
66
66
67
63
63
63
66
66
66
66
66
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
67
67
67
66
66
65
65
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
66
66
67
68
68
68
68
68
69
69
70
71
71
71
71
73
74
75
75
75
75
75
75
75
76
76
76
76
77
77
77
77
77
77
78
79
79
81
81
81
81
80
80
80
80
80
80
79
79
78
78
77
77
76
76
76
75
75
75
75
75
75
75
74
74
74
74
74
74
73
73
73
73
73
75
76
76
76
76
76
76
76
76
76
75
75
75
74
74
73
73
73
73
71
71
71
71
71
74
71
72
76
76
75
75
75
73
72
72
72
72
72
72
72
72
72
72
72
72
72
73
73
75
75
75
75
75
75
75
75
75
75
75
75
74
74
74
74
74
74
74
74
73
72
72
72
71
70
70
70
70
71
71
71
71
71
71
71
71
71
73
73
73
73
73
73
74
74
75
78
79
79
80
86
87
89
93
94
113
114
114
114
115
115
115
115
116
117
118
119
121
123
131
133
146
150
151
150
149
149
148
146
146
146
146
146
146
146
151
155
155
155
155
154
153
152
151
150
150
149
147
146
144
142
141
141
141
142
142
143
144
144
144
144
143
143
142
140
140
139
139
139
139
137
136
135
133
132
133
133
133
132
129
129
128
126
121
120
117
114
111
111
109
109
108
107
107
107
108
110
111
111
111
111
110
109
107
107
106
106
105
104
103
102
102
101
103
107
108
110
111
111
110
110
110
109
109
107
106
105
104
100
98
96
96
95
95
94
94
93
92
92
92
92
92
92
92
92
92
91
91
89
88
88
87
86
85
85
85
85
85
85
85
85
85
85
85
85
85
84
83
83
83
83
83
83
83
83
83
83
82
82
82
81
83
83
83
83
84
86
85
84
84
83
83
82
82
82
82
83
83
83
83
83
83
83
83
83
83
84
84
85
86
87
87
84
84
84
84
86
87
88
88
88
88
88
88
88
86
86
86
86
86
87
88
88
88
88
87
87
86
86
86
86
86
87
88
88
88
89
90
90
89
89
89
89
89
90
90
91
91
92
92
92
92
91
91
90
90
89
89
89
89
88
88
88
88
88
87
87
87
87
87
88
89
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
94
95
96
96
95
95
93
93
92
91
91
91
91
91
91
91
91
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
93
93
93
94
94
94
94
94
94
94
94
95
95
95
95
95
95
95
95
95
95
94
94
94
94
94
94
94
94
95
95
95
96
96
96
96
97
97
97
97
97
97
97
95
95
95
94
94
94
95
95
97
98
98
97
97
96
96
95
93
93
93
93
93
94
94
95
96
96
96
96
97
97
98
98
98
99
100
100
100
100
100
99
99
99
99
99
98
98
98
98
98
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
98
97
97
98
98
99
102
104
106
107
107
107
108
108
107
107
106
105
105
105
106
106
106
106
106
106
106
104
104
104
104
103
103
103
102
102
102
102
101
100
99
99
99
100
100
101
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
105
105
105
105
105
105
105
105
106
106
108
109
110
110
110
109
109
109
109
109
108
108
108
108
108
107
107
107
107
107
107
107
106
106
106
106
105
105
105
105
105
107
106
106
106
105
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
104
104
103
103
103
102
102
101
100
100
100
100
100
100
100
100
100
101
102
103
104
104
104
104
106
107
107
107
107
107
107
107
106
106
106
106
107
107
119
129
131
132
134
134
132
125
122
119
116
115
115
114
113
113
112
111
111
110
109
109
108
108
108
108
108
108
108
108
107
107
107
107
105
105
104
104
104
104
105
106
107
107
108
108
108
108
108
109
109
109
109
110
110
110
110
110
110
110
110
110
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
110
110
110
110
109
109
107
107
109
111
111
112
112
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
114
115
115
115
115
115
115
115
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
113
113
112
112
112
112
112
112
111
111
111
111
111
111
111
111
111
110
110
110
110
109
109
109
108
108
108
108
108
108
109
109
110
110
111
111
112
112
112
113
113
114
114
114
115
115
115
116
117
117
117
117
117
117
117
117
117
117
117
117
118
119
120
121
122
122
123
123
124
124
125
127
126
126
126
126
126
126
126
125
125
125
124
121
121
118
118
118
117
117
117
117
117
117
116
116
115
114
113
113
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
114
115
115
115
115
114
113
112
112
112
112
112
115
117
117
116
113
112
112
112
113
113
113
114
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
117
122
125
125
122
121
120
117
117
117
117
118
118
117
117
117
117
117
117
117
117
116
116
116
115
115
115
115
115
115
115
115
115
115
115
115
115
116
116
116
118
118
119
119
120
118
118
118
117
117
116
116
116
116
116
117
117
117
117
117
117
118
118
118
118
118
118
119
120
120
120
121
121
121
122
126
126
126
125
125
124
123
123
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
122
123
123
124
124
124
124
124
124
124
124
124
124
124
124
124
123
123
123
121
120
120
119
119
119
119
118
118
118
118
119
120
120
121
121
122
122
123
123
123
123
122
122
122
122
122
122
122
122
122
123
123
123
123
123
123
123
121
121
120
120
121
122
122
122
122
122
122
122
122
122
121
121
121
121
121
121
121
121
121
121
121
121
121
123
123
123
123
123
123
122
122
122
122
122
122
121
121
121
120
120
120
120
120
120
120
120
120
120
121
121
122
122
122
123
123
123
123
123
123
123
122
122
122
123
124
125
125
125
126
126
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
126
126
126
125
125
125
125
125
125
124
124
124
124
124
124
124
124
124
124
124
124
125
125
125
125
125
126
126
126
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
124
124
123
123
123
124
124
124
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
128
128
131
133
134
134
135
135
136
136
136
136
136
137
137
138
140
140
140
141
141
141
141
141
141
141
141
141
139
139
139
138
138
138
137
136
136
136
135
135
134
134
133
132
130
130
130
129
129
129
129
128
128
126
128
129
129
130
130
130
130
130
130
130
130
130
129
129
128
128
128
128
128
130
131
131
131
131
132
132
132
132
133
134
135
135
136
136
136
136
133
131
131
130
129
128
127
127
127
127
127
129
128
128
128
127
127
127
127
127
127
127
127
127
127
127
127
128
128
129
129
129
129
129
129
128
128
128
128
128
128
129
129
129
129
129
129
128
128
127
127
129
130
130
130
129
127
127
127
127
127
127
127
127
127
128
129
130
130
130
130
130
130
130
130
130
130
131
131
132
133
133
133
133
134
134
134
135
135
136
136
136
137
137
137
137
137
137
136
136
136
136
136
136
133
132
132
131
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
134
134
134
134
134
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
135
135
135
135
136
136
136
136
137
137
137
137
137
137
138
138
138
139
139
139
139
139
139
139
139
139
139
139
138
138
138
137
137
137
137
137
137
136
136
136
136
136
135
135
135
134
134
134
134
134
137
137
137
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
140
138
138
138
137
137
137
141
141
141
141
141
141
140
140
140
140
139
139
139
139
138
138
136
136
135
135
135
135
135
135
135
135
135
135
135
135
137
139
138
138
138
138
138
140
140
142
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
140
140
140
140
140
141
141
141
141
141
140
140
140
139
138
138
137
137
136
136
138
141
142
142
142
142
142
142
141
140
139
139
139
139
139
139
139
140
140
140
140
140
140
140
142
143
144
144
145
145
145
145
144
144
144
144
143
143
143
143
143
143
143
143
143
143
143
143
144
142
142
143
143
143
143
143
143
143
143
143
144
144
145
145
145
146
147
148
148
148
148
147
147
146
146
145
145
144
144
143
143
142
142
144
146
147
148
150
150
150
149
148
147
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
144
145
146
146
146
146
146
146
146
147
147
148
148
148
148
148
149
149
149
150
151
151
151
151
152
152
153
153
154
154
155
155
156
156
157
159
160
162
162
163
164
165
165
165
166
166
166
167
167
167
167
167
168
168
169
169
170
170
172
175
176
177
178
178
179
183
186
190
194
200
201
202
203
203
204
205
206
207
207
208
208
209
210
210
212
214
218
220
222
223
226
229
232
241
244
248
250
257
259
260
263
264
265
269
269
270
271
274
274
276
277
278
280
280
281
281
281
281
282
282
283
284
284
284
285
285
285
286
288
292
293
294
295
296
297
299
300
302
304
309
310
311
319
320
322
324
325
327
329
330
330
332
333
334
334
334
334
334
334
334
336
336
335
335
335
334
334
334
337
337
336
334
332
331
330
329
327
326
325
325
325
325
325
325
325
325
325
325
326
326
326
326
327
327
327
327
327
327
327
327
327
327
326
326
325
325
325
325
326
326
328
332
335
336
339
339
348
352
352
351
350
349
348
347
347
348
351
354
357
357
358
359
360
362
363
366
367
371
374
385
387
389
390
392
396
397
397
397
398
400
403
406
407
407
406
404
404
403
402
402
402
401
401
401
401
403
404
405
406
407
408
408
409
411
411
411
409
409
408
408
407
406
406
406
405
404
403
403
403
403
402
402
402
401
399
398
394
393
393
393
393
392
391
388
387
386
385
384
383
382
382
382
385
385
386
381
371
368
366
364
364
363
361
360
358
350
349
346
344
341
336
331
330
330
325
320
319
316
313
312
312
307
307
306
301
301
299
298
296
295
293
291
289
283
280
275
271
270
268
267
265
264
263
252
251
249
248
246
245
245
241
240
239
237
236
236
235
234
233
233
228
227
226
225
224
224
224
224
224
224
224
224
224
224
225
225
225
225
225
225
225
225
225
224
224
223
223
222
221
221
221
220
220
220
221
223
224
224
224
225
227
228
228
231
232
234
235
236
237
237
237
237
237
237
237
237
237
237
236
236
236
236
236
235
235
234
234
232
232
232
232
232
232
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
232
232
232
231
231
231
231
231
231
231
231
232
232
233
235
235
236
237
237
237
238
239
240
240
240
241
242
242
241
238
237
236
235
233
233
234
235
236
237
237
237
237
237
237
237
238
238
238
238
238
238
238
238
238
238
238
238
238
239
239
239
239
239
239
239
240
240
240
240
240
240
240
242
243
243
244
244
244
244
244
244
244
244
244
244
244
243
243
243
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
243
243
244
244
245
245
247
247
248
249
249
249
250
250
250
254
255
255
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
258
258
260
260
261
261
262
262
262
262
262
262
262
262
263
266
267
267
268
269
270
270
270
273
273
273
274
274
274
275
276
278
279
280
280
281
284
285
285
285
285
285
285
286
287
287
288
288
289
290
291
296
296
296
298
299
299
300
300
302
303
308
311
311
312
313
314
314
313
311
311
309
309
309
309
308
308
308
308
308
308
308
308
307
306
306
306
307
307
308
308
309
309
309
309
309
309
309
309
310
310
314
314
315
321
321
323
323
324
325
325
325
326
326
327
327
327
327
327
329
330
330
330
330
330
331
331
331
331
332
332
333
336
336
336
336
335
335
335
335
335
335
335
337
337
338
338
338
338
338
338
339
339
340
341
341
341
341
342
342
342
342
342
343
344
345
345
346
346
347
348
348
350
350
351
351
352
353
354
354
354
354
355
355
356
356
356
357
357
357
358
358
358
358
359
360
360
360
360
361
361
361
361
362
362
363
363
363
363
363
363
363
363
363
363
363
362
362
362
362
362
362
362
362
363
363
368
368
368
368
368
369
369
369
369
370
377
380
380
381
381
383
383
383
383
383
383
383
383
383
383
383
384
384
384
385
387
387
387
387
388
388
388
389
389
390
390
392
394
396
397
398
398
399
400
400
402
404
405
408
411
423
428
432
432
428
426
427
433
435
438
439
439
440
443
445
447
449
454
455
469
476
477
478
478
478
477
475
474
474
476
478
479
480
480
481
482
482
484
485
487
488
489
489
494
496
497
497
498
498
498
499
502
504
508
512
512
513
513
513
514
514
514
515
518
519
522
522
522
526
526
527
528
528
530
531
532
534
535
536
538
540
542
543
543
544
544
545
545
545
546
545
545
545
544
544
544
543
543
542
542
542
542
542
541
541
541
541
541
540
540
540
539
539
538
538
537
536
535
535
534
532
528
526
527
527
527
528
528
528
529
529
530
530
530
530
530
530
530
530
530
531
532
532
532
532
533
533
533
533
533
533
533
534
534
535
535
535
535
535
535
532
531
530
530
529
528
528
527
527
527
527
527
527
527
527
527
527
527
526