4
4
4
4
4
2
3
7
8
8
8
8
8
5
5
8
8
8
8
6
5
4
5
7
7
7
9
8
8
7
6
6
6
4
3
0
-1
-1
-2
-1
0
0
2
4
2
1
3
4
3
4
5
5
5
4
3
5
3
5
6
6
7
8
7
7
7
7
6
6
6
7
8
5
5
7
7
5
5
5
5
3
5
5
6
7
7
7
7
7
8
5
4
4
3
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
4
4
4
4
7
8
8
8
12
13
15
13
12
12
12
12
12
12
13
14
14
16
16
16
15
13
13
15
32
35
32
20
21
24
27
31
34
36
46
46
45
45
45
50
51
56
60
58
58
51
51
50
49
45
44
43
42
41
40
36
36
35
35
35
35
36
41
46
46
46
47
53
53
53
55
56
57
57
58
59
53
53
50
49
49
48
44
45
45
44
42
40
39
39
36
35
32
44
51
46
35
30
25
20
11
11
11
10
10
10
10
9
9
10
10
11
14
11
14
12
12
18
19
18
13
13
13
13
14
15
15
15
15
16
17
17
18
20
21
22
23
24
24
26
26
30
49
49
48
46
36
38
41
39
39
40
43
44
44
44
44
42
43
43
43
41
41
40
37
38
38
37
36
36
38
47
51
54
55
54
50
48
50
48
45
40
38
36
37
33
39
35
36
38
41
39
35
33
30
28
27
26
23
22
22
22
21
20
19
18
17
16
15
14
11
8
8
8
8
8
7
7
7
7
7
7
7
7
6
6
7
7
7
7
7
7
8
12
9
10
14
10
9
10
10
9
9
9
9
9
9
24
27
24
23
25
26
26
27
26
30
25
22
22
21
20
21
24
25
28
28
28
24
24
24
25
28
28
28
29
26
26
25
25
25
12
12
12
12
11
10
10
10
9
9
9
10
11
11
10
10
10
9
9
9
9
12
12
14
13
12
12
12
12
12
12
12
12
12
11
12
13
13
13
13
13
13
13
13
12
15
25
27
28
28
27
27
30
27
21
26
26
25
28
26
32
37
27
31
30
22
20
23
26
26
25
23
24
25
26
25
25
22
32
13
13
15
19
20
19
21
24
24
27
28
30
27
27
26
30
31
29
26
26
27
27
26
24
24
22
20
14
13
13
13
13
13
14
14
13
12
13
13
11
11
12
13
13
13
16
16
16
17
17
17
18
19
19
14
16
17
17
18
18
20
21
20
21
22
23
23
23
23
23
21
20
19
19
19
17
15
15
16
16
16
17
17
17
17
17
18
16
21
21
20
19
18
21
22
22
24
24
25
25
26
24
24
24
26
25
25
24
24
25
24
21
19
18
20
20
20
20
19
19
18
17
16
16
17
18
18
19
20
21
22
23
22
20
25
25
25
23
21
20
19
18
18
18
17
17
17
21
23
24
25
21
21
22
21
20
19
18
21
22
22
22
22
18
8
5
6
6
3
3
3
3
6
4
5
6
6
6
5
4
5
6
5
5
5
5
6
5
5
5
3
0
1
2
2
1
1
0
0
0
0
0
0
1
2
3
3
3
2
2
1
1
1
1
1
2
2
2
3
4
4
4
2
3
4
5
5
5
5
5
5
5
4
4
3
3
3
0
0
0
1
2
2
2
1
1
1
5
5
5
5
4
3
2
1
2
3
3
3
1
1
1
3
5
5
5
5
4
4
4
4
4
5
6
6
4
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
6
6
7
7
8
9
9
8
6
6
6
7
9
9
7
7
7
9
12
16
21
23
24
26
27
29
31
31
32
33
34
34
34
34
34
42
44
47
57
64
72
73
74
75
74
73
72
75
77
80
78
78
77
76
77
79
79
79
79
79
83
83
75
72
62
59
74
77
80
80
79
79
91
90
87
87
87
86
86
86
89
88
87
87
88
88
88
84
83
83
79
82
83
83
83
84
84
85
84
84
91
91
91
90
90
90
94
95
92
92
92
87
83
79
73
62
62
62
61
61
61
62
64
62
67
68
76
78
78
78
78
80
80
74
78
88
88
85
88
88
79
78
78
75
75
54
53
53
53
54
54
54
54
56
56
55
59
62
65
57
55
54
58
58
58
58
59
61
62
63
60
57
55
54
54
54
57
57
57
51
48
47
49
49
49
48
52
52
52
50
65
74
75
74
70
64
62
61
63
63
61
60
61
61
59
60
60
64
63
62
62
65
69
81
82
83
83
86
81
80
80
79
79
79
79
81
84
97
97
98
98
96
100
96
95
77
77
77
77
77
77
81
79
79
81
79
80
78
77
84
82
82
76
73
74
78
80
67
67
67
68
76
75
73
66
66
66
65
65
66
64
64
64
64
64
61
61
61
61
62
62
62
63
62
58
57
58
56
55
56
56
54
65
65
62
73
74
72
73
75
76
74
83
81
83
84
81
80
80
80
87
85
83
85
84
84
80
77
80
86
87
75
76
78
78
82
83
81
83
86
86
82
79
74
74
77
88
89
70
69
67
67
70
72
76
72
71
71
71
71
70
70
71
72
71
66
79
77
62
66
67
61
61
61
65
65
54
52
52
51
52
54
54
55
53
53
53
53
52
48
40
40
40
39
39
39
39
39
39
40
39
45
46
46
44
41
46
62
59
64
57
57
54
54
53
53
52
48
46
46
46
46
49
49
49
48
46
47
45
50
51
54
54
52
54
54
53
45
41
39
40
41
41
41
41
41
41
40
40
40
40
40
40
40
41
42
42
42
41
41
41
42
40
40
40
38
38
39
38
37
39
39
39
37
37
37
39
39
38
36
37
37
38
40
39
39
39
40
39
42
40
40
44
44
46
45
39
39
39
38
40
40
40
40
41
41
44
49
49
40
40
39
41
42
40
40
40
40
41
42
42
41
42
42
41
40
40
41
41
42
42
42
41
41
41
41
40
40
41
41
41
41
42
42
42
44
42
43
43
43
44
44
44
43
44
44
44
45
47
47
47
47
47
60
56
49
50
50
50
51
51
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
56
52
52
53
54
54
56
56
55
58
58
57
58
58
58
55
55
57
64
69
74
76
77
75
71
71
71
73
71
75
76
76
76
76
77
77
77
77
77
77
77
77
76
71
71
69
67
68
66
64
62
63
63
63
62
71
71
70
69
69
69
69
69
69
68
68
68
68
68
67
66
66
66
67
67
67
69
69
70
72
72
68
65
65
68
68
65
66
66
66
66
65
65
64
63
64
65
66
66
65
65
64
65
65
66
67
66
66
67
67
66
65
65
65
65
64
64
65
66
66
68
68
68
67
65
64
64
66
67
69
71
68
68
68
68
69
69
69
70
71
72
71
71
71
71
71
72
70
70
71
71
74
74
73
74
70
70
70
70
71
71
71
70
70
71
84
87
92
86
96
98
100
101
99
98
97
98
97
97
97
96
94
91
91
89
88
88
89
90
90
91
91
90
90
90
90
90
90
90
90
77
76
73
73
73
73
72
72
71
72
74
76
81
82
84
84
85
87
87
87
87
89
89
89
90
91
96
102
103
102
81
80
80
86
86
89
99
100
100
106
113
114
115
115
115
118
106
106
107
108
109
114
114
114
115
116
116
116
132
133
142
145
145
153
156
162
163
164
165
170
170
170
161
161
162
161
161
161
157
160
161
163
163
165
165
163
162
160
156
154
154
154
150
149
154
152
150
150
152
154
155
153
150
148
142
138
138
128
118
101
100
100
99
98
98
99
98
98
98
99
99
99
99
99
99
99
99
98
97
96
96
97
97
98
99
99
94
94
94
94
94
94
93
95
96
99
105
110
109
108
108
116
116
111
112
112
109
108
108
106
106
105
103
102
96
96
95
94
94
94
94
95
97
98
98
98
98
98
100
103
104
105
106
106
105
104
104
104
105
105
105
102
100
101
100
102
105
105
104
103
108
109
112
112
111
111
111
112
112
113
113
115
117
118
121
122
122
128
128
128
131
134
142
143
144
145
146
147
149
150
151
153
152
151
151
152
155
155
155
155
155
155
155
157
158
159
159
159
159
158
158
158
158
161
165
164
163
161
151
152
153
153
148
146
145
135
131
125
122
118
117
118
120
117
119
122
123
126
128
128
128
127
125
122
122
122
122
122
122
122
122
109
110
110
110
110
110
110
110
116
116
130
134
136
137
137
137
137
137
138
133
126
122
119
122
121
121
121
121
121
121
121
126
127
133
134
134
134
134
133
142
142
140
138
138
140
137
134
134
132
131
128
129
128
128
127
127
127
127
130
128
126
126
130
130
130
130
129
129
131
131
131
132
135
135
133
132
132
132
134
134
137
145
147
150
151
151
151
152
153
155
156
158
160
161
161
158
157
157
157
153
149
151
153
157
157
153
150
149
149
149
150
152
154
156
157
159
160
160
161
161
162
165
172
180
181
181
184
188
187
189
191
192
197
205
204
203
202
202
202
201
201
199
202
191
191
188
185
178
177
173
167
164
158
160
163
162
163
167
167
167
161
162
164
167
166
166
166
166
171
171
171
172
172
171
179
183
183
182
181
178
176
176
178
178
180
181
185
192
193
185
184
184
184
185
186
186
186
185
185
185
186
188
188
190
190
190
189
185
184
184
183
181
179
179
179
184
185
186
188
195
197
198
204
210
211
212
212
213
221
223
223
221
217
218
220
221
223
225
221
221
223
224
224
223
223
229
229
225
222
216
219
219
210
205
200
196
196
196
197
201
195
196
192
209
210
200
200
198
179
173
144
141
140
139
131
134
135
141
142
152
153
154
159
159
165
173
183
199
206
213
214
214
214
211
210
208
208
206
203
203
202
201
202
192
176
155
155
155
155
154
153
150
147
146
145
145
145
145
145
145
146
146
142
141
140
139
139
139
138
138
138
138
137
136
136
135
133
132
133
135
127
125
126
126
124
122
122
122
123
123
119
119
119
119
119
119
119
119
120
121
121
121
121
122
123
123
124
128
129
130
131
133
134
135
135
137
137
137
138
129
129
126
124
129
129
129
129
129
129
131
132
133
133
133
135
134
132
132
132
132
132
132
132
133
132
125
125
125
126
125
127
127
127
128
128
128
127
126
132
129
130
132
130
129
130
131
130
130
130
130
129
130
131
132
132
132
132
131
130
129
129
129
128
125
128
128
128
128
127
127
127
127
127
127
127
127
127
128
129
131
130
131
131
132
134
133
134
141
144
141
141
138
138
137
137
135
135
138
138
140
141
141
141
142
143
145
146
146
143
143
143
143
143
143
143
145
145
146
146
145
143
146
146
146
148
148
148
148
148
149
149
149
150
150
150
147
148
148
149
151
150
150
150
149
149
150
151
151
151
151
153
154
156
156
156
157
159
156
157
156
154
156
156
152
152
152
153
154
154
154
159
162
161
165
165
168
169
173
172
167
165
170
172
173
175
175
178
179
177
173
172
172
169
169
169
178
181
183
187
187
189
189
190
190
191
191
191
192
192
192
195
194
193
195
194
194
193
176
178
178
178
178
178
182
186
187
187
187
188
188
190
194
195
195
196
201
201
201
198
197
195
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
198
204
206
206
206
205
205
204
203
203
204
204
205
205
207
208
208
208
209
210
212
213
218
233
249
243
246
251
252
242
234
233
230
229
229
230
232
234
235
238
239
239
239
239
240
245
249
249
249
252
254
254
254
254
249
243
238
233
229
228
225
223
222
222
222
218
218
218
215
217
218
218
214
203
200
195
192
190
188
188
188
184
179
167
166
161
156
154
153
154
154
155
155
157
158
157
157
159
159
155
152
152
151
150
150
151
147
146
144
142
143
145
146
148
149
147
145
145
145
145
144
144
152
148
150
146
147
152
162
166
169
167
158
159
159
159
159
160
161
164
170
164
167
162
141
141
141
141
142
140
141
141
140
142
142
141
141
141
143
147
152
167
195
202
191
158
154
153
155
158
160
161
169
169
159
157
160
154
171
165
164
160
156
156
152
151
152
157
152
152
156
154
163
161
157
154
145
145
144
144
144
144
145
145
145
145
145
145
145
145
146
145
145
146
146
146
150
150
150
150
150
150
150
149
149
150
149
148
148
149
148
148
149
150
150
150
150
150
157
157
159
161
161
161
161
164
166
166
165
165
168
169
167
164
169
165
169
162
164
164
164
163
161
169
169
181
176
179
182
177
182
181
171
172
169
162
166
157
161
159
157
156
158
161
167
169
164
162
159
158
158
165
170
176
181
173
170
177
179
178
175
173
171
171
167
158
160
163
160
157
158
157
157
160
165
166
171
173
173
171
164
174
173
170
175
172
180
182
177
174
172
173
170
170
174
174
174
173
172
172
172
172
173
175
175
173
174
173
178
181
179
179
184
183
182
182
184
179
180
184
187
182
180
180
191
186
187
190
193
193
188
192
189
184
184
184
183
183
183
184
186
195
201
205
210
212
215
197
198
204
201
206
195
201
197
199
202
195
194
194
194
195
196
197
196
195
196
196
196
195
197
197
198
201
204
205
204
199
201
201
200
200
201
201
201
201
201
201
202
203
203
203
205
206
205
210
213
212
220
225
216
221
217
210
209
209
209
209
209
212
216
219
221
222
225
221
220
218
218
218
227
221
224
232
248
246
251
251
251
251
253
253
255
258
261
254
248
241
246
250
251
252
257
260
256
260
242
242
243
241
237
235
239
238
239
244
248
247
241
240
241
245
241
241
242
244
245
245
245
246
247
247
249
251
255
266
269
269
267
265
265
266
266
265
265
266
266
266
268
272
272
272
272
274
276
276
277
278
278
279
282
285
287
298
298
300
306
314
320
320
321
323
327
334
339
344
348
357
366
361
360
343
340
340
337
322
318
315
307
299
298
294
295
284
284
274
272
269
269
268
262
263
266
270
269
270
270
265
255
252
253
256
258
259
263
265
264
251
246
246
246
245
243
240
237
236
236
234
233
233
234
232
230
229
228
228
226
226
226
226
233
236
229
225
225
230
230
232
233
234
216
216
217
219
219
219
220
221
229
231
234
233
232
227
224
222
215
212
211
210
209
207
205
204
202
202
202
202
194
193
191
191
191
189
189
188
187
188
189
188
188
188
188
187
186
189
189
189
190
190
191
191
190
190
190
190
190
191
191
191
192
193
191
193
193
194
197
202
206
211
211
212
216
216
212
211
212
209
200
200
203
204
204
211
215
217
218
214
208
207
222
198
198
198
198
200
200
198
198
199
199
198
196
197
200
199
201
203
205
202
197
201
202
201
201
199
199
200
200
201
201
199
201
202
202
205
200
205
213
212
217
218
224
212
207
202
202
203
203
202
202
202
201
201
201
199
198
200
199
200
200
200
200
200
200
200
200
201
201
201
200
200
200
200
200
201
201
202
202
202
202
202
203
205
209
209
209
209
209
212
212
216
221
220
219
218
217
216
215
209
209
211
212
212
212
212
212
213
213
212
212
213
213
216
216
216
216
214
215
212
213
217
217
218
221
221
219
218
218
219
219
219
218
218
219
220
216
215
214
213
214
218
223
225
220
222
224
224
225
227
222
220
221
222
222
222
219
220
220
228
230
232
233
234
235
234
232
229
229
231
230
229
235
235
230
231
232
230
232
233
237
226
226
227
233
232
230
234
234
249
252
248
251
256
252
247
249
243
232
239
237
245
246
244
244
244
243
246
253
257
249
250
246
247
252
256
255
255
251
253
247
241
242
246
239
237
237
237
236
235
237
236
236
236
236
237
240
240
242
242
245
256
268
247
246
246
252
259
257
255
252
248
247
248
243
241
248
252
258
258
256
256
255
254
252
250
249
249
250
250
250
250
249
254
256
256
257
256
254
253
263
261
260
259
259
270
270
270
269
267
261
269
267
264
262
264
264
269
271
271
269
268
270
270
271
274
277
278
279
281
279
276
280
282
283
294
293
299
293
282
281
293
292
299
304
309
314
314
312
313
314
314
313
310
310
313
317
318
319
321
321
317
316
333
333
349
349
353
354
354
335
330
330
332
339
329
325
323
324
324
324
324
326
325
328
328
326
320
313
309
313
322
322
322
317
316
316
315
316
317
315
313
313
306
306
306
306
306
306
311
313
315
318
314
314
314
308
306
302
299
298
298
298
297
291
292
294
295
295
295
291
291
291
286
279
279
281
281
280
280
280
280
279
278
281
282
284
287
287
282
281
275
271
273
278
283
287
288
271
274
281
286
297
299
302
303
301
308
324
343
348
333
313
311
309
306
299
296
298
298
297
297
299
307
305
304
315
319
328
325
322
319
319
324
325
321
323
330
339
346
370
364
362
361
363
364
363
353
349
347
351
355
370
424
424
424
419
413
410
408
404
405
407
409
410
411
412
414
416
418
420
425
427
429
431
433
438
442
443
444
444
445
445
443
442
453
449
449
451
453
455
458
461
462
465
473
476
482
484
486
485
486
491
497
497
497
496
495
494
494
495
496
492
487
480
473
466
465
459
457
456
458
459
457
450
446
448
448
450
450
450
448
447
445
443
439
436
433
425
420
419
415
415
414
413
412
396
396
396
396
396
396
396
395
398
398
398
397
396
393
389
387
384
378
369
365
364
364
361
360
360
360
360
360
360
362
363
365
368
371
375
379
381
380
380
388
389
388
392
397
394
412
417
430
430
430
438
443
453
468
470
477
487
498
496
493
496
506
507
500
501
503
503
511
517
521
522
523
524
525
525
523
521
521
521
524
528
529
530
532
535
537
539
536
534
536
534
526
519
517
509
507
504
502
499
498
492
488
486
483
483
479
475
470
467
466
464
463
461
457
444
442
441
434
432
430
424
417
411
408
404
406
406
404
403
401
399
399
398
394
392
392
392
390
380
377
374
366
359
353
351
348
342
339
338
336
335
338
339
341
346
344
343
341
340
339
338
337
335
329
326
325
325
325
327
328
329
325
320
320
321
324
322
321
324
324
326
328
324
319
314
313
313
312
312
311
316
330
372
379
392
409
411
412
421
422
423
423
426
427
441
440
441
441
444
444
452
452
452
453
456
457
447
443
438
439
415
413
395
388
387
374
357
354
354
356
360
358
357
375
374
376
384
396
394
402
401
400
398
397
393
392
391
390
389
388
384
372
372
372
372
366
359
358
358
359
359
360
360
360
370
381
393
402
407
410
412
414
418
421
423
424
427
427
428
428
429
431
438
436
426
427
428
430
456
458
460
462
456
449
431
403
399
397
372
350
343
338
347
310
309
308
307
286
260
250
246
243
239
237
237
237
237
238
238
234
233
232
231
230
228
227
221
210
207
205
204
203
204
202
190
189
189
189
189
193
207
210
212
218
211
214
226
227
184
182
182
182
182
183
184
185
185
185
186
186
187
188
188
187
187
183
179
177
177
177
176
175
175
175
175
175
176
177
181
183
185
188
190
183
185
186
186
184
186
185
185
185
186
187
188
190
192
191
190
193
195
195
202
202
220
221
219
217
218
221
242
245
266
291
316
328
329
312
307
301
281
264
264
263
261
258
257
257
257
257
257
256
254
256
256
254
250
249
248
247
246
245
245
245
246
245
243
237
236
235
234
234
233
233
232
230
226
226
226
226
227
228
226
226
226
225
225
225
232
233
234
235
236
237
237
244
245
244
243
242
241
241
241
240
240
240
238
236
235
235
234
225
221
216
212
204
205
207
210
211
214
214
212
202
186
186
177
176
175
175
175
174
174
174
172
171
171
171
170
168
168
172
172
173
174
177
177
176
176
176
176
177
180
178
177
176
176
176
177
178
179
177
174
176
180
183
176
182
180
179
178
179
178
174
176
179
183
185
185
184
175
175
175
175
175
176
178
178
179
179
180
183
185
184
182
179
181
186
187
183
178
176
176
182
182
183
184
184
185
186
188
191
193
203
210
213
213
214
216
219
223
225
233
238
242
241
244
244
246
244
240
233
230
234
241
241
241
241
241
238
237
239
236
228
193
188
181
180
175
175
174
174
174
174
174
174
171
170
169
169
167
167
166
166
167
166
166
166
168
168
168
168
168
169
169
170
172
172
167
169
168
167
169
166
164
163
172
164
163
165
165
167
170
162
168
173
172
175
173
179
179
179
179
179
177
177
176
173
173
172
171
172
172
172
172
171
170
171
168
167
168
176
176
173
167
169
170
169
168
167
167
168
168
168
167
167
167
167
168
167
168
167
168
168
170
170
171
168
168
169
167
175
179
175
183
181
176
184
178
177
175
182
188
185
187
189
191
190
187
187
191
191
188
190
189
186
188
185
180
176
178
183
182
180
180
181
180
179
175
172
176
179
180
179
176
198
184
201
185
180
174
174
175
177
177
175
171
171
173
173
177
176
176
176
176
177
178
178
178
177
176
175
173
172
172
173
173
173
172
172
175
175
175
175
173
180
178
177
180
179
178
178
179
180
180
180
183
183
183
184
186
183
183
187
184
188
177
173
179
176
178
180
189
183
183
177
175
176
176
173
174
175
173
173
176
177
175
174
176
177
175
172
175
177
178
178
178
178
179
178
178
178
177
177
175
174
174
174
175
175
175
175
175
174
177
177
178
178
175
181
177
179
179
178
178
177
177
176
173
175
176
178
177
175
177
177
176
176
176
176
176
182
189
181
193
184
188
187
186
186
184
183
186
184
185
181
179
179
179
179
179
179
193
193
193
196
201
205
214
236
240
243
247
251
258
270
270
266
266
247
241
241
245
246
254
306
312
325
327
327
330
331
331
328
324
324
324
322
321
321
320
320
324
324
324
323
323
321
321
329
329
324
324
321
333
334
334
335
335
335
335
332
330
329
332
333
333
332
331
330
328
328
328
328
325
325
322
322
320
314
304
309
311
314
316
317
317
317
317
317
317
317
318
318
322
323
324
324
333
335
333
332
331
324
323
326
331
332
333
349
351
351
352
353
359
359
360
360
360
360
360
360
360
361
363
364
363
362
372
373
374
374
372
373
373
372
369
371
373
375
376
377
377
379
379
383
389
391
391
390
385
385
384
383
381
379
376
371
370
365
364
363
363
362
360
365
363
362
360
353
353
355
358
352
354
358
355
356
358
353
349
347
347
341
331
331
329
320
321
320
318
317
318
319
325
323
323
324
325
325
328
329
329
330
331
332
339
343
347
352
356
356
361
362
363
364
365
365
369
369
371
371
371
374
377
377
379
385
386
390
404
411
416
431
439
442
446
449
451
454
458
469
470
471
472
461
456
456
447
450
445
445
445
443
443
443
440
443
451
451
447
449
436
436
436
439
437
434
431
433
433
433
437
437
447
451
459
465
464
462
462
462
461
460
462
470
449
443
436
434
430
428
429
426
426
419
417
422
422
420
420
420
423
424
421
414
414
414
412
412
412
412
415
417
416
416
420
423
424
416
410
410
409
408
408
408
411
410
408
408
404
404
405
407
408
408
410
410
407
407
410
408
405
403
405
404
404
404
402
402
402
404
404
405
406
408
411
408
408
409
409
407
405
403
403
404
404
404
403
403
402
402
403
404
404
404
405
404
403
403
406
406
404
403
402
401
401
401
402
404
403
401
401
401
402
402
404
407
410
413
415
416
421
425
426
428
431
433
442
442
442
442
444
447
459
459
461
464
467
470
473
479
465
465
465
454
453
449
449
448
444
442
451
464
458
459
459
466
471
475
474
477
480
480
478
478
477
465
465
465
470
470
476
454
454
451
446
446
450
459
466
461
460
457
453
449
453
445
444
445
448
450
438
438
439
440
443
435
435
434
434
433
433
440
440
437
433
434
434
435
434
434
433
433
433
432
431
431
430
431
431
431
432
432
432
431
428
428
428
427
429
427
426
426
424
421
423
429
431
431
435
435
433
433
433
433
433
434
432
432
432
430
421
415
415
415
417
420
422
423
422
423
423
421
418
418
417
416
415
416
415
414
414
414
414
413
412
413
413
413
413
413
413
413
412
413
414
414
414
414
413
413
415
416
416
415
415
414
414
414
414
414
412
412
411
412
412
412
411
413
413
415
414
413
413
415
415
414
414
413
413
413
414
414
416
416
416
415
415
414
414
414
414
414
413
413
412
411
413
413
413
416
415
415
417
418
418
418
419
417
416
418
419
416
416
416
416
416
414
413
413
413
413
423
423
429
429
429
430
434
436
436
437
437
440
442
444
448
461
466
477
489
490
485
483
486
485
485
486
492
494
496
497
498
497
497
497
497
495
479
480
478
476
474
459
458
456
456
457
457
457
457
456
456
455
455
455
455
455
455
456
460
461
461
473
475
477
479
479
479
477
477
477
477
467
467
464
456
455
450
448
450
452
451
448
394
394
394
394
394
395
396
393
394
395
393
398
394
390
390
394
397
403
406
412
410
408
415
422
424
424
428
429
430
432
434
434
434
434
434
436
437
438
439
440
438
438
439
441
446
446
446
448
450
459
460
471
477
478
481
488
499
497
500
505
509
512
514
515
525
531
535
535
535
537
539
541
544
546
553
557
561
564
570
573
574
580
589
589
595
595
596
598
594
598
585
577
558
557
560
551
553
554
555
558
559
539
535
535
527
523
520
519
517
516
513
509
507
505
505
506
507
508
503
500
496
493
492
492
491
486
490
483
484
490
493
494
495
495
495
495
496
497
498
498
498
499
501
503
507
515
520
518
517
516
517
517
517
516
522
523
527
528
528
527
524
524
539
552
557
536
540
542
539
537
542
545
549
549
549
549
549
541
541
540
540
540
540
537
533
532
532
517
516
516
516
513
512
511
508
507
500
497
488
483
481
481
481
479
476
472
476
484
480
474
462
459
456
461
464
447
435
440
445
449
451
459
448
434
425
444
406
407
412
416
420
400
392
390
388
388
388
389
389
389
389
390
391
394
392
389
392
393
400
403
399
406
413
408
401
405
406
407
408
410
414
420
409
420
412
417
415
410
413
411
410
408
405
429
405
414
414
413
420
420
422
424
430
446
451
459
458
462
462
463
466
470
471
472
471
468
466
466
452
450
447
447
449
448
448
447
445
444
442
441
446
447
448
447
459
461
455
454
452
412
417
426
433
424
425
432
428
429
428
428
421
418
418
415
414
413
413
411
411
410
409
409
408
412
412
413
411
411
410
410
410
409
408
406
404
404
402
402
401
402
402
400
399
399
402
404
406
406
404
401
398
395
394
389
391
391
391
391
390
387
385
380
379
381
382
386
383
384
383
383
383
382
382
382
381
381
381
378
378
379
379
379
379
379
380
379
377
377
377
377
377
377
377
378
377
377
377
377
377
377
376
376
376
376
376
376
375
377
376
376
376
376
378
377
377
376
376
376
376
376
372
371
371
371
370
369
369
370
371
369
369
368
368
368
368
372
372
372
372
372
371
369
369
369
369
369
367
369
369
369
368
368
367
368
366
366
366
365
365
366
367
367
367
368
368
368
368
368
368
367
367
366
367
368
368
368
366
365
365
365
365
365
366
365
365
367
367
368
368
367
367
365
366
367
368
369
369
370
368
368
368
368
367
367
367
369
369
369
369
369
369
369
368
368
369
368
368
370
370
370
370
370
370
372
372
372
372
372
372
372
373
375
374
380
395
399
406
410
414
423
421
411
406
403
400
381
380
382
383
383
380
380
381
381
384
384
381
381
381
380
382
385
387
384
384
385
386
386
387
387
387
387
388
384
386
390
390
391
391
392
395
398
399
399
400
400
406
409
409
412
418
421
427
430
432
432
437
437
437
437
437
447
451
462
464
471
481
482
486
490
492
493
493
495
496
487
475
479
475
472
479
479
482
479
478
479
486
500
493
488
483
481
481
481
457
448
445
441
440
440
453
465
438
428
428
430
434
437
441
441
441
436
436
436
436
437
437
438
441
442
448
448
448
448
442
440
439
438
436
430
429
427
423
421
420
418
420
420
422
421
422
423
423
423
423
424
425
426
427
427
427
427
428
427
427
427
427
431
430
430
430
430
431
432
430
431
430
430
434
433
433
433
435
435
438
438
434
433
433
437
438
435
435
436
439
445
447
444
442
446
446
443
442
444
444
450
447
448
450
451
451
450
448
448
448
448
453
454
460
464
464
464
464
464
464
464
464
466
472
473
474
477
480
483
488
491
493
498
500
501
502
506
506
507
507
506
505
505
506
521
519
517
511
504
500
498
487
482
480
479
479
479
482
476
471
469
467
466
462
454
450
452
450
452
451
470
470
471
471
472
475
477
480
483
493
495
513
508
502
498
494
484
485
488
494
496
498
489
493
494
496
495
492
489
480
475
472
472
471
474
479
485
485
487
491
493
493
493
492
490
485
484
482
478
478
479
479
478
483
486
488
490
491
492
487
484
494
503
503
503
503
502
501
501
500
498
501
497
496
494
494
493
494
493
492
499
494
493
492
487
485
476
471
470
473
464
460
459
459
459
459
459
459
459
459
458
458
458
458
455
455
455
454
454
455
457
462
464
467
469
470
476
479
482
487
489
488
490
487
484
484
489
485
486
487
486
485
485
486
486
484
483
486
486
487
489
488
486
487
490
492
492
489
486
482
467
466
466
467
469
472
473
473
473
472
470
470
470
468
468
468
469
469
469
469
469
470
471
472
472
472
472
472
472
473
472
474
473
473
475
478
477
480
483
483
481
482
483
483
484
482
482
480
482
482
482
482
482
485
484
487
487
486
486
488
489
488
486
486
489
492
489
489
490
492
491
491
493
493
491
493
495
493
495
494
493
496
498
499
500
500
500
500
500
500
500
500
502
503
505
506
506
504
503
503
503
503
503
503
503
504
504
503
504
504
505
505
507
507
508
514
515
513
512
516
516
513
511
511
516
529
521
524
524
524
524
525
524
524
524
524
524
530
532
530
528
525
525
526
527
530
531
533
536
537
537
541
540
540
544
545
544
544
547
547
545
544
545
545
546
545
546
546
546
548
550
550
550
551
551
550
551
545
549
551
548
546
548
551
553
548
554
553
553
556
558
558
558
561
562
565
563
564
565
565
565
569
568
567
567
570
570
572
573
575
579
580
581
578
580
584
582
584
592
592
593
594
594
597
597
599
600
601
601
606
613
614
615
611
611
611
612
612
612
614
614
614
616
625
627
626
625
621
621
620
620
620
621
622
624
629
630
630
631
620
622
636
637
648
649
654
654
653
652
650
667
664
661
655
653
652
653
655
655
655
655
658
659
659
660
666
666
669
667
665
661
660
661
664
666
666
665
664
663
662
660
660
658
658
659
662
662
660
652
650
645
644
643
642
644
644
644
643
642
641
645
645
645
645
645
647
647
649
648
649
649
649
651
652
655
657
657
658
660
662
664
667
665
662
659
659
656
652
649
653
659
663
654
647
648
648
649
646
643
643
641
640
640
640
640
637
634
625
624
623
622
622
617
612
618
625
625
625
625
625
625
624
622
605
602
610
603
598
595
591
586
583
581
579
574
573
579
581
581
585
587
590
593
594
582
579
578
578
578
577
577
577
577
576
576
576
577
578
578
578
579
580
579
578
578
578
577
577
577
576
575
576
577
579
579
580
580
578
578
579
579
580
581
579
584
584
582
581
581
580
583
582
581
580
583
585
585
593
593
592
592
592
593
595
599
595
597
597
594
593
594
595
597
597
596
597
597
595
595
597
598
599
600
600
597
597
600
604
605
601
603
605
606
606
601
600
600
600
600
600
602
604
604
603
602
603
604
608
614
611
611
611
611
611
612
613
611
611
611
610
610
611
610
608
608
608
609
609
607
607
609
606
604
604
604
604
604
603
603
603
603
602
601
601
600
600
600
600
603
620
622
636
644
645
646
647
647
645
645
645
645
644
638
640
642
644
646
648
649
652
651
651
652
653
653
656
656
658
657
656
656
653
650
643
641
638
634
635
632
634
633
633
634
634
633
632
632
630
628
622
621
616
615
612
607
605
605
606
605
609
607
622
623
624
625
626
626
623
617
617
618
617
617
611
608
605
604
604
603
603
603
603
603
603
604
608
608
607
605
604
602
602
602
602
602
604
604
605
602
601
601
603
606
605
603
597
600
602
603
603
603
602
602
600
604
605
606
610
610
616
619
621
624
624
624
624
627
630
632
632
638
640
639
639
639
636
632
631
633
631
628
618
615
615
615
615
613
612
611
610
610
610
611
611
611
611
611
611
611
611
610
609
610
610
610
610
610
611
612
613
613
613
613
619
623
624
624
625
625
624
624
625
625
628
630
632
635
635
635
635
635
633
631
630
628
627
627
628
630
630
631
634
624
624
624
624
624
621
619
618
614
614
618
617
616
616
620
633
634
631
631
638
639
641
647
655
654
651
609
607
605
605
603
603
603
602
602
604
605
608
608
606
604
607
610
611
610
608
608
609
609
611
612
613
614
614
615
615
616
617
619
620
622
622
622
622
622
625
630
622
620
619
617
613
611
609
608
607
611
621
618
616
613
612
610
609
607
608
609
608
609
610
616
621
618
607
612
617
630
634
633
631
623
621
622
624
625
625
631
636
669
676
671
662
662
662
662
662
662
662
662
662
662
662
662
666
667
669
670
672
676
679
682
684
685
686
686
685
684
684
687
705
684
679
678
676
675
671
679
687
692
695
694
697
708
712
716
735
742
737
732
723
712
724
723
722
721
723
736
745
743
742
741
739
739
741
741
739
735
732
735
747
752
753
756
760
763
768
773
775
779
780
782
765
766
771
789
794
794
794
794
794
792
788
793
796
803
803
803
803
803
827
829
830
829
827
823
820
841
849
847
844
842
839
836
837
842
839
841
845
848
882
883
866
862
857
855
851
851
851
851
851
852
855
859
870
871
865
857
850
840
841
840
840
839
838
838
838
838
838
836
834
825
817
822
824
827
816
808
808
814
820
811
805
804
807
822
823
824
820
812
831
825
822
810
808
804
798
798
798
801
810
813
816
826
840
841
832
828
819
806
807
807
807
816
830
831
799
823
828
809
804
818
822
812
798
798
804
811
813
816
817
816
814
812
808
807
806
805
804
804
804
803
803
802
802
802
803
805
804
804
803
806
806
803
802
805
804
801
799
803
806
812
815
814
813
815
819
823
823
825
827
828
830
826
826
833
843
851
854
864
854
862
869
880
876
873
865
861
857
872
845
845
845
842
839
837
827
826
825
825
824
821
817
814
813
810
809
808
808
807
808
811
818
822
829
823
835
823
831
815
833
829
834
838
834
836
840
840
837
842
843
837
843
847
848
848
845
848
848
847
857
862
868
877
890
887
899
898
900
898
898
899
899
899
900
898
896
887
882
879
877
878
879
875
874
871
871
871
871
871
871
866
866
865
865
866
868
868
867
869
869
875
876
876
876
876
875
877
878
880
881
878
879
880
880
881
882
881
882
884
885
886
887
886
884
882
882
882
882
882
882
881
894
901
896
882
879
883
888
891
886
885
885
894
893
893
901
913
913
910
909
909
913
912
924
924
926
930
932
933
944
940
942
941
946
961
964
964
964
952
954
951
950
942
935
926
927
927
922
920
921
922
922
924
924
924
922
923
924
932
933
934
936
938
938
939
942
941
942
946
948
949
949
945
949
953
954
956
957
957
957
957
958
959
959
959
959
959
959
960
962
963
964
964
963
963
964
967
967
969
969
978
1009
1004
1001
1001
1003
1006
1011
1013
1012
1011
1007
1005
1009
1011
1014
1016
1020
1020
1020
1019
1019
1020
1030
1039
1045
1045
1047
1051
1055
1058
1062
1071
1072
1076
1081
1075
1073
1079
1083
1087
1084
1079
1070
1093
1092
1101
1107
1112
1110
1125
1128
1136
1137
1137
1158
1155
1152
1152
1154
1155
1161
1163
1174
1178
1191
1180
1188
1193
1202
1225
1217
1216
1216
1217
1218
1224
1230
1230
1227
1225
1207
1202
1197
1195
1190
1187
1190
1189
1189
1189
1188
1176
1171
1165
1159
1148
1148
1149
1141
1137
1137
1127
1126
1134
1120
1110
1106
1104
1104
1109
1104
1100
1098
1097
1106
1099
1090
1088
1084
1080
1065
1067
1071
1067
1050
1028
1019
1020
1014
1009
1009
1007
1010
1006
1002
1007
1013
1005
1003
1002
997
954
955
928
919
908
909
910
880
880
874
844
833
819
817
815
812
809
804
780
776
752
734
702
691
678
676
674
674
673
673
676
660
663
665
655
645
653
660
668
671
643
648
645
623
609
605
605
603
603
603
603
603
603
603
604
604
604
604
604
604
593
590
590
592
591
591
590
590
590
590
590
590
590
591
593
594
594
594
594
594
594
596
596
596
596
593
593
592
592
592
591
589
587
582
584
583
582
581
583
581
581
581
582
581
581
581
581
582
580
580
580
580
581
581
581
581
581
581
580
580
581
581
582
582
582
584
584
591
604
608
613
616
619
619
619
618
620
629
626
620
598
598
599
594
594
585
589
595
591
584
587
586
581
580
579
579
578
578
579
579
578
577
580
582
581
580
580
580
580
580
579
578
577
587
608
615
617
614
607