4
4
4
4
4
4
4
5
5
5
5
5
5
4
4
5
6
6
4
4
3
3
3
3
3
3
3
4
4
3
3
3
3
3
4
4
4
5
5
5
5
4
4
4
4
4
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
4
4
4
5
5
5
5
5
6
8
9
10
10
11
11
11
11
9
9
9
8
8
8
8
8
8
9
9
9
9
9
8
8
8
8
8
8
7
7
7
8
8
8
8
8
6
6
5
5
5
5
4
4
4
4
5
6
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
6
6
4
4
4
4
4
4
8
8
11
11
8
8
8
8
9
8
8
11
13
13
15
14
17
17
16
16
15
14
14
14
14
13
13
13
13
13
13
11
11
11
8
9
8
8
8
8
8
8
8
8
12
12
14
14
15
15
16
17
17
18
19
19
19
19
19
19
19
19
19
19
18
18
18
17
17
17
17
17
17
17
18
18
18
18
18
17
17
16
11
10
10
10
12
16
16
16
16
16
16
14
13
20
19
18
16
13
11
10
9
9
7
6
6
6
8
9
12
12
11
11
9
7
5
9
20
19
18
17
15
13
10
7
6
5
6
9
9
21
22
23
23
24
26
27
30
23
15
11
9
6
6
7
7
8
8
7
7
9
9
8
8
8
8
8
8
8
9
11
11
11
12
12
9
9
8
8
8
8
8
9
10
10
10
9
8
8
10
11
11
5
5
5
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
16
17
18
21
27
31
33
34
37
42
40
40
38
35
33
33
32
32
32
32
32
31
31
30
5
4
4
4
4
4
4
4
4
14
15
19
28
30
32
33
35
37
41
40
54
56
56
56
56
57
57
57
57
57
57
56
56
56
55
55
55
54
51
51
51
51
50
50
50
53
54
54
55
56
57
48
48
48
50
48
47
46
46
46
46
47
47
48
48
49
49
49
49
51
51
52
51
50
50
51
51
53
54
55
55
55
57
58
59
60
59
59
58
58
56
47
46
45
43
43
43
43
43
42
40
38
33
33
32
30
27
25
24
22
22
19
19
19
19
19
17
17
17
16
16
16
16
17
18
23
35
36
36
36
36
36
35
35
36
38
39
40
41
42
43
45
49
54
59
64
69
72
76
79
77
77
75
75
75
79
84
83
82
81
80
79
79
79
78
78
78
77
77
76
69
66
63
59
50
43
37
32
30
29
28
27
32
46
58
60
63
66
69
70
70
70
70
72
77
73
69
66
64
63
60
56
54
52
52
52
52
52
53
53
53
50
47
43
42
27
14
14
13
10
10
16
18
18
20
26
32
35
37
39
40
40
41
43
42
40
40
39
38
35
34
34
33
33
35
36
36
39
40
41
41
42
43
44
49
49
48
43
42
41
42
43
57
58
60
62
66
67
70
71
72
77
77
77
77
78
78
69
68
67
67
65
63
57
55
52
51
50
41
41
41
41
41
41
41
41
42
42
42
41
41
41
34
33
33
32
25
24
24
23
23
15
15
14
14
14
17
18
18
19
21
21
22
24
29
29
30
30
30
31
31
32
32
32
32
32
32
32
32
33
34
35
35
37
37
37
37
38
39
39
39
39
40
40
41
41
41
40
39
34
26
24
24
24
24
24
31
31
30
30
26
26
29
30
30
30
33
33
33
34
34
34
32
32
32
33
33
33
30
29
29
29
27
31
33
35
34
34
34
34
35
35
35
35
35
35
34
34
33
31
30
29
28
25
24
24
24
25
25
28
27
24
21
22
28
28
27
23
21
23
26
30
30
30
29
29
29
28
27
24
25
26
28
28
30
31
33
32
32
32
36
43
50
56
60
62
64
64
64
64
64
64
67
68
70
71
73
78
78
78
78
78
77
77
77
76
75
74
73
72
70
69
68
68
68
68
68
68
68
68
68
67
65
62
58
55
56
58
61
64
67
69
70
71
72
75
77
80
83
86
88
90
92
93
99
101
102
105
107
109
111
113
115
123
126
127
130
136
139
143
147
149
150
151
153
155
156
158
160
163
157
153
150
146
142
136
132
130
130
130
130
131
131
132
131
123
113
109
111
113
115
130
127
129
138
160
177
209
238
247
255
198
198
197
195
193
189
184
182
180
179
178
177
177
178
178
179
179
182
183
184
185
186
186
187
186
183
182
180
178
178
176
175
174
172
171
171
170
171
173
173
182
192
195
200
205
206
206
207
207
208
208
210
216
221
226
241
247
276
280
280
280
280
281
282
283
284
285
287
292
294
299
300
301
307
314
316
318
325
330
334
355
361
369
375
379
383
386
389
395
397
401
380
377
373
363
360
357
355
333
326
322
314
311
308
303
301
296
294
292
290
289
288
285
283
276
291
302
325
344
320
277
269
272
277
282
277
258
254
250
243
235
232
230
230
231
232
233
233
234
234
235
235
236
236
233
230
228
229
236
240
244
246
248
250
236
224
221
219
213
202
203
203
204
206
205
203
203
202
199
200
200
201
202
203
203
204
205
207
207
205
199
198
186
183
178
176
163
155
155
160
166
168
171
173
177
179
182
188
172
170
169
169
168
167
165
161
156
153
147
144
142
140
137
136
134
133
131
129
127
124
123
122
121
120
120
118
117
116
106
106
106
106
106
96
93
85
85
83
83
83
82
82
82
82
82
82
79
76
66
59
58
57
55
54
53
49
47
47
51
52
57
58
58
60
59
57
56
56
56
56
59
59
70
72
72
71
69
72
71
71
71
71
71
72
72
73
74
74
72
72
72
73
73
75
79
78
78
78
77
75
74
74
75
77
76
75
75
74
73
71
67
65
65
65
65
66
66
67
69
69
69
70
70
68
68
66
63
63
63
63
63
64
64
65
65
66
66
67
67
67
67
67
73
73
73
73
73
69
68
69
69
69
70
70
75
73
71
67
61
61
61
63
63
65
66
65
59
61
61
62
63
63
64
69
78
73
69
65
64
61
49
50
51
51
52
52
52
52
53
64
64
64
62
61
58
55
60
56
55
55
53
54
55
61
66
67
68
71
68
64
64
64
64
63
61
60
61
68
68
69
68
67
71
78
78
78
79
79
78
73
69
69
67
66
65
65
64
64
64
64
64
64
64
65
66
67
62
51
48
49
52
53
54
54
55
56
58
58
58
58
58
58
58
63
64
73
77
78
77
76
75
74
69
54
56
58
60
62
80
80
86
88
78
68
57
56
59
61
62
62
63
64
64
64
64
63
60
60
60
60
56
56
57
58
58
60
62
61
59
56
56
56
56
56
56
56
56
56
56
57
58
58
59
59
60
59
59
57
56
56
56
56
56
56
57
57
57
58
58
58
59
59
60
64
66
66
67
67
67
68
69
69
70
71
73
74
74
74
74
72
68
66
65
64
64
65
74
74
74
77
80
81
82
96
103
113
110
106
105
105
104
104
111
115
116
118
120
121
122
124
125
126
127
128
130
131
132
133
134
136
140
140
139
138
134
133
134
135
135
136
139
140
140
143
147
148
152
154
156
157
159
164
168
173
177
179
182
187
189
191
201
212
217
222
222
224
225
226
229
234
237
243
264
269
280
285
291
298
293
281
276
267
257
257
257
256
256
255
254
253
252
251
251
238
232
228
226
219
217
214
214
213
213
212
211
211
210
210
211
213
214
218
219
220
221
223
234
237
240
244
246
247
247
249
250
251
252
254
255
258
261
262
263
263
260
257
256
255
250
249
246
246
245
243
240
238
236
235
234
232
232
234
235
236
237
238
239
234
232
223
217
216
214
211
210
201
197
195
190
186
184
180
176
166
159
158
158
158
156
156
156
151
144
140
130
129
129
128
127
126
125
124
123
123
121
119
119
118
129
133
139
136
133
131
127
124
123
121
119
117
117
117
117
117
117
117
118
118
120
120
120
119
119
118
117
116
116
116
116
117
118
118
118
118
119
119
120
120
121
121
122
122
122
121
121
120
120
120
124
124
124
123
123
122
122
122
122
122
122
123
123
123
124
124
126
126
126
125
123
121
120
120
120
120
120
119
118
118
118
118
119
120
120
120
122
124
130
133
136
137
138
139
140
141
142
143
144
146
147
143
139
140
141
143
145
147
149
152
159
161
166
158
142
140
136
132
131
130
129
128
125
125
125
126
128
128
132
136
134
133
132
132
131
131
130
130
131
131
132
133
134
135
137
139
139
141
141
141
141
141
141
142
146
148
150
140
139
135
143
149
151
151
152
151
150
148
145
145
145
147
148
144
142
142
141
141
141
141
142
142
143
144
146
147
147
145
143
143
144
144
145
146
152
157
163
163
163
163
161
160
158
158
157
158
165
179
181
182
183
186
187
187
187
187
187
187
187
191
194
197
198
199
200
201
201
204
205
207
206
204
195
191
190
188
187
187
187
186
185
184
183
182
181
179
177
175
177
179
180
183
184
184
184
184
185
187
196
200
200
201
199
192
192
192
191
188
178
178
178
178
179
179
179
179
182
183
187
188
189
191
192
191
187
181
178
173
176
186
188
186
186
187
190
191
189
184
182
181
180
178
176
174
173
174
184
189
192
193
195
196
198
200
203
198
187
181
185
187
190
192
196
199
199
199
199
198
196
192
191
190
188
183
180
176
176
176
180
185
187
188
189
189
189
189
189
155
153
151
150
147
145
141
140
139
139
138
139
139
139
138
145
145
146
146
148
150
152
151
151
146
137
136
136
136
136
136
138
139
139
140
140
139
138
138
136
136
135
134
133
133
132
132
131
131
130
129
128
128
127
127
127
127
128
129
130
130
131
132
134
131
130
130
130
128
127
127
126
125
125
125
124
124
138
139
139
139
139
143
190
184
175
156
152
145
140
133
114
119
143
140
112
113
113
110
107
127
122
119
116
115
116
113
107
104
104
104
104
103
102
102
102
102
101
101
96
95
94
89
89
88
84
80
78
76
75
73
68
68
68
68
68
68
68
68
67
67
66
66
66
66
65
65
64
63
61
60
60
59
59
59
58
58
58
57
57
57
57
59
61
64
64
64
64
64
64
64
65
66
67
70
72
75
71
69
66
65
65
67
80
82
83
83
83
83
84
84
84
84
82
82
80
79
78
77
77
78
79
80
80
79
78
78
78
78
80
82
83
85
85
85
85
85
85
85
85
84
84
84
83
83
84
86
90
92
96
93
90
86
86
86
85
85
85
85
82
81
80
79
79
79
79
80
80
80
80
79
78
77
77
76
76
76
76
76
76
76
76
75
75
75
75
75
75
74
74
74
73
73
72
71
70
71
71
71
71
71
71
69
67
66
64
64
64
63
63
63
61
60
57
56
55
54
53
51
50
49
46
45
43
41
39
38
37
38
39
40
40
41
41
41
41
41
41
40
40
39
38
38
35
34
27
26
25
24
23
23
23
22
21
21
22
23
24
29
32
36
37
39
39
39
38
37
36
35
35
40
48
52
54
56
58
58
58
58
58
48
44
44
42
38
33
30
26
23
22
21
19
19
17
18
19
20
21
25
27
29
30
32
34
35
35
35
35
34
33
31
30
28
27
27
27
27
27
27
27
27
28
28
28
28
28
27
27
26
25
23
19
19
18
18
22
23
26
33
34
34
32
24
23
20
20
19
18
17
17
17
15
12
12
11
11
11
11
11
11
11
12
12
12
13
12
12
12
13
14
14
14
14
14
15
16
13
16
16
22
21
23
15
13
12
11
10
9
9
9
9
13
21
27
23
22
11
11
10
8
6
15
17
18
21
22
22
22
24
25
25
26
26
26
26
25
25
25
25
25
25
25
25
25
25
24
24
23
22
21
21
21
23
23
25
25
25
25
25
24
22
21
17
15
15
15
14
14
12
12
13
14
14
17
17
17
17
17
17
17
17
21
23
24
25
26
28
29
35
38
38
38
37
34
33
32
32
31
30
28
27
25
27
28
28
28
30
32
34
35
36
38
40
44
46
49
49
49
49
49
49
49
49
50
53
53
53
54
57
60
61
64
64
65
65
66
68
68
69
70
73
74
75
76
77
78
79
80
83
85
92
95
98
104
107
111
113
103
102
99
97
95
94
94
94
96
96
96
96
96
96
96
97
98
99
100
100
99
98
94
93
92
91
91
93
98
102
106
109
110
111
112
113
113
110
108
107
105
104
103
103
102
101
99
94
92
91
83
80
76
75
74
74
71
69
66
65
64
62
61
60
59
59
59
59
60
59
58
56
55
54
52
54
55
57
58
58
59
60
63
64
63
71
74
77
71
66
67
76
77
82
87
88
89
93
95
98
102
105
109
111
123
124
125
126
127
129
130
125
118
114
109
104
104
104
103
102
101
95
94
86
81
81
81
81
84
86
89
92
90
90
89
88
86
85
84
86
91
93
98
98
98
98
98
99
100
108
109
111
113
114
116
116
117
117
118
113
112
111
109
108
107
105
103
103
104
107
109
112
114
112
111
110
109
109
110
110
115
119
123
126
126
126
126
126
127
129
130
132
134
134
135
135
135
136
136
136
136
136
136
136
136
134
133
127
126
121
121
120
120
117
116
115
114
114
114
114
113
112
111
112
113
115
118
121
120
120
119
117
116
121
122
125
125
124
123
122
121
120
116
114
112
110
110
109
110
116
117
119
120
120
119
117
114
111
111
110
109
109
109
110
110
108
108
111
108
108
108
108
109
109
111
112
114
115
121
120
116
114
114
117
121
122
125
126
126
129
129
131
131
132
140
141
146
144
137
136
131
131
130
130
129
128
127
125
125
125
125
125
125
127
130
131
138
140
147
151
153
154
159
160
163
166
168
175
177
179
186
188
191
194
198
203
210
216
224
225
225
228
233
234
239
246
248
249
258
259
264
267
267
268
269
269
270
270
270
271
271
271
271
271
271
270
268
267
265
264
261
259
256
253
255
257
258
259
259
259
259
259
259
259
259
259
260
261
262
260
256
251
248
245
240
237
232
231
231
231
231
231
231
231
226
222
219
217
214
212
209
200
197
190
187
185
174
171
167
161
151
146
143
143
142
142
143
143
145
146
150
151
152
154
155
155
157
158
159
160
162
162
163
163
164
165
165
166
167
167
168
168
168
169
169
169
170
171
171
171
173
175
177
180
187
192
194
194
195
195
196
197
197
198
199
199
197
196
195
194
193
192
190
189
188
187
185
179
175
174
171
159
155
151
147
144
142
140
138
136
134
132
130
126
125
124
123
123
120
118
117
116
115
115
114
114
113
113
113
112
110
107
103
100
96
95
94
93
92
89
89
89
89
89
89
88
88
88
88
88
88
88
88
88
89
90
91
90
88
88
87
86
87
89
90
90
90
89
88
87
85
85
83
82
80
79
78
74
74
72
73
74
75
77
80
82
82
84
84
85
85
85
84
83
83
83
83
82
82
82
82
83
83
82
80
79
78
76
75
75
75
75
76
76
76
77
79
80
80
80
80
78
78
77
77
76
76
74
72
71
70
69
67
65
64
62
61
60
60
60
60
60
60
60
58
57
55
55
56
57
61
63
64
66
66
66
66
66
65
54
52
52
52
52