46
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
46
46
46
46
45
45
45
45
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
44
43
43
42
40
39
39
38
38
40
40
41
41
41
41
42
42
42
43
43
43
44
45
45
45
46
46
46
46
46
46
46
46
45
44
43
42
42
41
40
39
38
37
35
34
34
33
32
32
31
31
31
32
32
33
34
34
35
35
35
35
35
35
35
34
30
30
30
30
30
30
30
30
30
30
30
30
30
31
38
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
38
38
38
38
39
39
39
40
40
41
41
41
41
43
43
43
43
43
43
43
43
43
43
43
43
42
42
41
41
40
40
40
39
40
40
40
40
40
40
40
40
39
39
39
39
39
38
38
37
37
35
36
37
37
38
39
39
40
42
43
42
39
37
35
33
32
35
36
36
38
41
43
43
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
41
41
40
39
39
38
38
38
38
38
39
39
39
40
40
40
40
40
42
43
45
47
47
47
45
45
45
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
44
45
44
44
44
44
44
44
44
44
44
46
46
46
47
47
47
47
47
46
44
43
42
42
42
42
43
43
42
42
43
43
43
43
43
43
43
43
43
43
43
43
44
45
45
45
45
45
43
43
44
45
46
47
47
47
47
47
48
49
49
49
48
48
48
47
47
47
46
45
46
46
46
46
46
46
46
46
46
47
47
47
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
47
47
47
47
47
47
48
48
49
49
49
49
49
49
49
51
51
52
53
53
53
53
53
53
53
53
53
52
52
52
50
49
46
44
43
43
42
41
44
46
46
47
49
50
50
51
51
51
51
51
51
49
50
50
51
50
50
50
50
49
48
48
47
46
46
46
46
46
46
44
44
43
47
48
48
48
48
48
47
47
47
54
50
48
48
48
47
47
43
38
39
39
37
37
37
37
37
37
38
41
43
41
39
37
37
38
39
39
40
41
41
41
43
45
47
50
50
50
49
49
49
49
49
48
48
48
49
49
49
48
48
47
47
47
47
47
47
47
47
49
50
50
49
49
47
47
47
47
49
50
50
50
50
51
51
52
53
53
53
53
52
52
51
51
51
52
52
52
52
52
52
52
52
52
53
55
55
55
55
56
57
57
57
57
57
57
57
56
56
56
56
55
55
55
55
55
55
54
53
49
50
51
52
52
53
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
55
54
54
53
51
50
50
50
50
50
52
52
52
52
53
53
53
53
52
52
52
52
51
51
51
50
50
50
50
49
49
49
49
47
47
47
47
47
47
47
47
47
48
48
48
49
51
52
52
52
51
51
51
51
51
51
51
51
51
51
51
51
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
50
54
53
53
53
53
53
53
53
53
52
53
53
53
53
53
53
54
54
55
55
56
56
57
58
58
58
58
58
58
58
57
57
57
57
57
57
58
58
58
59
59
59
59
59
59
59
59
58
58
57
57
57
57
57
57
57
58
58
58
58
58
59
59
59
59
59
59
61
63
62
61
61
61
61
61
61
61
61
61
60
59
59
59
59
59
59
59
59
59
59
60
60
61
61
61
61
61
63
63
64
64
65
63
62
61
61
59
59
59
59
58
58
56
55
55
55
55
56
55
55
53
52
52
51
51
51
51
51
51
51
51
51
52
52
51
51
51
51
51
51
51
51
51
51
51
52
52
52
53
54
52
52
52
51
51
51
51
51
51
51
51
51
52
54
54
54
54
54
54
53
54
58
58
58
58
58
58
57
56
56
56
55
55
53
53
53
53
53
53
53
53
54
55
56
56
56
56
56
56
56
56
55
55
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
54
54
54
55
55
55
55
55
55
55
55
55
56
56
56
56
56
55
54
54
57
57
62
62
62
61
59
59
58
58
58
58
58
57
55
55
55
55
56
56
56
56
57
58
58
58
58
58
58
58
58
58
58
57
56
56
56
56
56
56
55
55
55
57
57
57
58
58
58
58
56
55
55
55
55
56
56
56
56
56
56
55
55
55
55
55
55
55
56
57
57
58
58
58
58
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
59
59
58
58
58
57
57
58
60
61
61
60
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
57
57
57
57
57
57
57
58
58
58
58
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
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
59
59
59
59
58
57
56
56
57
58
58
59
59
59
59
61
65
68
69
69
72
72
72
72
72
72
72
72
72
72
72
72
70
70
70
69
69
69
68
68
68
68
74
108
110
112
116
117
118
120
121
121
121
122
122
123
123
124
125
125
125
125
126
126
126
126
126
126
126
125
124
124
118
103
97
93
92
91
91
91
89
88
88
89
89
90
92
93
93
95
97
98
100
101
102
102
101
101
98
95
94
93
90
87
84
81
81
81
81
82
82
83
79
77
72
69
60
58
58
59
59
59
59
58
58
58
57
57
57
57
57
57
57
57
57
56
56
56
56
56
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
55
56
56
56
55
55
55
55
55
55
55
55
55
55
55
54
54
55
55
55
55
55
55
57
57
57
56
55
55
55
55
58
62
63
64
64
63
62
62
62
61
61
61
60
60
60
64
66
65
64
63
63
66
71
74
80
81
82
86
91
97
97
97
97
97
97
97
81
73
67
66
66
66
66
66
65
65
64
64
63
62
62
62
62
61
61
61
61
61
61
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
62
62
60
60
69
72
74
85
88
87
87
85
84
84
84
83
82
81
80
75
73
70
66
65
64
64
61
60
60
60
60
59
59
62
63
63
63
63
64
64
64
64
64
64
64
64
63
63
62
65
66
72
81
91
97
98
98
96
94
91
91
91
91
93
98
100
105
109
108
105
103
102
101
99
97
96
93
92
91
89
88
86
85
80
74
62
61
61
61
61
61
61
61
61
61
61
62
63
64
64
65
65
65
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
65
65
65
65
66
66
66
66
66
66
67
67
67
64
64
64
63
63
64
64
65
65
65
65
65
65
65
65
65
65
66
66
66
65
64
64
63
63
63
64
65
65
65
66
66
65
63
63
61
60
62
62
62
62
62
62
62
61
61
64
65
66
66
62
61
60
62
63
64
65
64
64
61
61
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
60
60
60
60
61
62
62
62
60
60
60
60
60
60
60
60
60
60
60
60
61
61
63
63
63
64
64
64
65
65
65
68
68
68
66
65
64
63
62
67
66
66
64
61
64
66
66
65
63
61
62
64
65
65
65
64
64
64
64
64
64
64
65
65
67
69
72
72
73
72
72
72
72
72
71
71
71
71
70
69
69
69
69
69
69
70
71
72
72
72
72
72
72
71
71
71
71
71
71
71
69
69
68
68
68
67
66
66
66
65
64
64
63
63
63
65
66
71
75
78
78
77
77
76
76
76
76
76
76
76
76
76
76
76
76
76
74
74
74
74
73
73
73
73
73
73
73
73
74
74
74
75
76
76
76
76
77
77
77
77
76
76
75
73
73
72
72
71
71
71
71
71
71
71
71
71
71
71
71
71
69
69
69
69
68
68
68
69
66
66
66
66
66
66
68
69
68
67
67
67
68
68
72
74
80
83
88
92
97
101
98
94
91
91
96
97
95
85
82
84
87
90
93
94
94
93
93
93
93
93
93
93
81
75
73
73
73
73
75
76
78
80
83
85
82
82
80
79
78
76
73
70
70
70
70
70
70
70
70
70
72
72
74
76
77
77
77
77
77
77
77
77
78
78
78
78
78
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
77
77
77
76
76
74
73
73
72
72
71
70
70
69
69
68
68
68
68
69
70
71
72
73
73
73
73
72
72
70
70
70
70
70
70
69
69
69
69
69
69
69
69
69
69
67
67
67
67
67
67
68
69
71
72
74
75
75
75
74
74
74
74
73
71
70
70
70
71
80
73
71
72
68
74
78
71
72
72
73
83
83
74
77
79
82
82
81
77
83
85
87
88
90
92
96
96
91
84
84
80
79
78
77
75
74
74
71
71
71
71
72
74
74
74
74
72
71
70
67
67
68
69
70
72
75
75
75
75
75
75
73
72
71
71
71
71
72
74
74
89
84
81
78
81
81
83
86
92
91
90
89
87
86
83
81
79
77
76
70
70
70
70
72
72
71
74
79
80
83
85
87
79
79
82
85
89
92
75
72
71
69
69
70
71
72
69
66
68
70
72
73
68
72
79
85
84
83
83
83
81
75
69
69
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
73
74
75
78
81
84
83
80
93
88
84
81
77
75
76
77
77
76
74
73
71
71
71
71
72
72
72
72
72
72
75
76
83
83
83
83
83
83
83
88
91
93
95
96
99
98
92
90
85
86
100
106
109
111
113
99
92
92
94
95
97
99
101
98
96
90
88
87
85
82
78
76
76
76
74
73
72
72
80
79
77
76
77
77
79
80
81
82
83
84
85
86
88
89
91
92
89
87
83
76
76
76
77
78
78
78
79
78
75
75
76
76
76
76
76
77
77
78
78
78
78
78
77
77
85
96
119
123
105
97
94
92
93
102
98
93
90
86
84
82
79
80
81
87
83
81
84
88
90
87
82
81
81
81
80
79
79
78
78
79
80
84
84
84
84
83
82
81
80
83
87
86
86
85
85
85
85
84
82
79
77
74
75
78
78
78
78
81
82
84
83
85
84
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
84
84
84
84
84
85
90
90
89
87
79
80
89
86
86
85
83
87
83
78
79
80
80
80
81
81
82
83
83
84
86
89
90
91
91
92
91
91
91
91
91
93
93
94
94
95
98
100
106
109
101
88
88
91
93
96
97
93
89
86
89
93
97
95
89
87
87
86
85
85
85
85
85
84
84
84
83
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
84
84
84
82
82
82
83
83
86
87
87
85
84
83
81
79
78
78
78
78
78
78
78
78
78
79
80
80
80
83
86
86
90
90
91
91
92
92
92
97
98
99
98
96
95
95
94
92
91
90
89
84
83
83
83
82
82
82
81
81
81
81
81
81
81
82
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
86
86
87
87
87
88
88
88
88
88
88
88
88
88
87
86
85
85
85
86
86
85
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
87
87
87
87
87
90
90
90
90
90
91
91
92
92
93
93
93
93
93
93
92
91
91
90
90
90
90
90
90
92
92
92
91
90
90
89
89
89
89
89
89
90
91
91
91
91
91
91
91
91
91
91
91
91
91
92
91
91
91
92
95
99
98
98
98
98
98
98
98
98
100
101
101
102
102
105
105
107
109
111
112
112
112
111
111
111
111
113
113
113
113
113
113
113
113
112
112
112
110
110
110
110
111
115
117
118
118
118
118
117
104
103
103
102
102
101
100
98
98
98
100
100
101
101
101
101
101
101
101
101
101
102
102
103
104
104
104
104
104
104
106
108
109
110
113
113
113
113
113
113
113
113
111
111
111
110
110
110
110
109
109
109
109
109
109
108
108
108
108
108
108
108
108
109
110
110
110
109
109
109
108
107
109
110
110
110
110
109
108
108
108
108
108
112
116
122
123
130
131
133
135
138
135
134
129
125
124
121
117
112
112
112
112
113
113
111
110
110
112
113
114
115
116
118
137
146
143
140
132
129
127
122
116
115
115
115
116
116
117
118
118
119
121
121
121
121
121
121
120
120
120
120
119
119
119
119
120
121
121
121
121
121
121
119
114
113
117
117
118
122
122
122
122
122
122
124
138
139
140
144
146
148
148
153
154
154
153
152
150
144
136
133
129
127
127
127
127
127
127
128
128
128
129
129
129
128
128
128
128
127
127
127
127
126
126
124
123
123
122
122
122
121
121
124
125
126
127
128
129
129
129
129
129
130
130
130
130
130
130
130
130
129
129
129
129
129
129
128
128
128
128
128
128
128
128
130
132
136
140
142
142
140
140
140
140
141
141
142
144
144
145
146
146
146
145
144
143
143
142
139
139
139
138
138
138
138
138
138
138
138
139
139
139
140
140
140
140
140
140
141
141
141
141
141
141
141
141
143
143
144
145
145
146
148
150
152
152
154
155
157
158
160
162
163
162
161
159
158
159
161
163
166
167
167
168
168
169
166
162
159
155
152
149
147
145
142
147
146
146
144
145
145
148
149
149
149
151
154
159
161
160
156
154
153
149
149
148
148
147
147
147
147
148
148
148
148
148
148
148
148
150
150
150
151
151
151
151
151
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
153
153
153
153
153
156
158
160
160
161
161
161
161
161
161
160
160
159
159
159
159
160
160
160
160
160
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
162
163
167
167
167
167
167
167
166
166
166
166
166
165
165
165
165
165
165
166
166
166
167
170
171
172
172
172
172
173
173
173
173
173
174
174
174
173
173
173
175
176
177
178
179
181
182
183
184
185
186
188
191
188
182
180
178
176
175
174
174
174
174
174
173
173
173
173
173
173
173
173
173
173
173
173
174
174
174
174
175
175
175
176
176
176
176
178
185
187
188
186
184
183
181
181
181
181
181
181
184
185
186
187
187
190
191
191
192
192
193
193
189
189
188
187
187
187
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
186
186
186
186
186
186
186
187
188
189
189
190
190
191
193
193
194
195
195
197
198
199
199
199
199
199
199
199
198
196
196
192
192
193
194
194
195
195
198
199
199
201
202
202
202
202
202
202
202
202
201
201
198
197
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
197
197
198
199
200
200
200
200
200
199
199
200
201
202
202
201
198
199
199
200
201
201
203
204
206
205
204
203
202
201
201
201
201
202
203
203
204
205
206
206
206
207
207
208
208
208
208
208
218
222
224
222
220
218
212
209
209
209
210
210
210
211
212
213
214
214
214
217
222
230
232
235
238
244
247
246
246
245
245
244
243
243
243
248
252
252
252
254
262
264
268
267
259
241
235
228
227
227
226
226
226
225
225
224
223
222
222
222
222
222
222
222
222
222
223
224
225
225
227
227
227
226
225
226
227
228
229
230
230
230
232
232
234
238
240
243
243
244
245
244
244
242
241
239
238
237
235
234
233
232
231
231
231
231
231
238
249
256
272
295
300
303
299
295
294
291
268
258
249
243
241
240
239
238
238
237
236
236
236
236
237
237
238
239
239
241
242
242
241
241
241
241
241
241
241
241
241
241
242
242
242
242
243
244
245
245
245
245
245
245
246
246
246
246
246
246
246
246
246
246
246
245
245
245
244
243
243
244
244
244
244
244
244
244
243
242
242
241
241
241
241
241
242
242
242
242
242
242
242
242
242
242
242
243
251
252
253
253
255
255
256
256
256
256
254
254
255
256
263
270
270
270
269
268
267
266
261
262
262
264
265
269
268
271
272
274
272
280
286
286
286
286
286
286
287
292
295
297
301
304
305
305
306
306
306
306
306
306
306
306
306
304
303
302
305
306
307
307
308
309
311
313
314
315
315
316
316
316
317
320
328
328
327
325
324
321
319
319
315
315
315
315
315
315
305
304
303
301
301
301
301
301
301
302
302
302
302
301
298
295
293
292
287
286
281
279
279
277
277
276
276
274
271
266
265
252
251
251
250
249
249
249
251
253
255
256
258
260
261
262
263
263
264
264
266
277
282
290
292
288
285
283
281
279
273
269
265
264
266
268
269
271
272
273
274
275
275
275
275
275
274
274
274
274
271
271
270
270
269
265
264
263
262
259
259
258
255
255
249
248
248
246
246
246
245
245
245
244
244
242
242
242
242
241
240
240
237
237
237
237
238
238
238
240
241
241
241
241
243
245
246
246
246
246
246
246
243
242
242
241
242
246
243
242
243
244
244
245
245
246
246
246
246
246
245
245
245
245
245
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
246
247
248
251
252
260
262
263
266
268
269
270
270
270
270
270
270
270
270
270
271
274
277
276
276
276
277
277
278
280
285
293
295
297
300
303
309
312
315
317
321
324
328
338
340
343
341
332
318
308
306
307
308
308
310
308
299
296
295
292
292
294
298
307
313
308
297
292
289
287
285
287
290
302
306
306
305
305
302
301
300
298
294
293
292
290
287
289
292
294
295
300
303
306
308
310
312
311
309
303
299
295
290
285
285
285
286
287
289
292
292
291
290
289
287
286
285
284
281
280
280
279
278
280
284
285
288
294
305
312
316
308
301
299
297
296
299
300
301
303
306
308
311
312
314
314
313
312
311
311
311
312
313
314
315
307
305
303
308
309
309
310
311
312
311
310
309
307
306
305
305
303
303
302
302
303
303
304
304
305
305
305
306
306
307
307
307
307
306
306
306
306
306
308
311
315
316
318
322
321
319
317
314
313
312
312
313
314
315
316
320
321
321
321
322
327
331
337
340
341
342
343
343
343
343
343
344
344
344
344
344
345
345
345
345
345
346
346
346
346
346
346
346
346
347
347
347
347
347
348
349
349
349
349
349
350
350
352
350
349
347
345
345
345
345
344
343
342
342
342
342
341
341
341
340
340
340
340
340
339
339
338
338
337
336
335
334
334
332
332
331
331
336
338
338
338
338
345
347
348
351
352
354
355
354
351
343
341