658
657
657
657
657
657
657
657
659
660
661
662
666
666
667
668
669
669
669
670
670
671
672
672
673
673
674
676
678
680
680
680
682
683
684
685
688
689
689
689
689
689
689
690
690
690
690
689
689
688
688
686
686
686
686
687
690
691
691
692
690
690
687
684
683
682
681
681
677
674
674
673
668
664
662
660
660
659
659
659
658
656
656
656
656
652
652
650
648
642
642
642
641
638
635
635
633
631
630
630
629
629
628
628
628
636
639
640
642
642
642
642
642
642
642
642
642
637
634
632
632
632
632
632
632
632
632
632
632
632
632
632
632
631
629
628
627
626
626
626
625
629
628
628
627
627
626
626
624
624
620
620
619
619
626
627
627
627
627
628
625
620
616
614
613
612
610
609
608
604
599
599
598
597
597
598
599
600
600
600
601
601
600
598
596
596
595
594
590
584
584
584
583
581
579
579
578
578
578
578
576
575
573
570
566
566
564
561
557
557
557
558
557
556
551
551
551
554
554
554
556
556
556
556
557
558
557
554
548
546
546
545
545
544
544
544
543
545
547
548
548
536
535
535
534
528
526
523
523
522
522
522
521
521
521
520
520
520
520
519
518
518
518
515
516
516
517
517
517
518
518
518
518
519
520
520
520
520
520
520
520
520
519
519
519
519
519
522
523
523
523
524
524
525
525
525
525
521
519
516
513
510
510
509
508
506
504
504
498
497
496
496
495
494
494
491
490
489
489
489
488
486
486
486
485
483
480
480
479
479
479
477
476
473
472
472
469
469
467
467
467
467
466
465
464
463
463
463
465
466
468
469
469
469
467
463
458
453
453
449
447
447
447
447
447
447
447
448
448
448
448
448
448
449
449
449
449
449
449
449
449
450
450
451
456
456
458
459
458
458
458
457
456
456
455
455
455
456
458
458
459
460
460
460
460
460
460
460
460
459
457
457
456
456
451
447
445
445
444
443
437
434
432
431
426
424
422
415
412
412
407
403
403
401
401
400
399
398
396
392
392
391
391
391
391
391
391
391
392
393
393
393
393
394
394
394
394
394
394
394
394
395
395
395
395
395
395
393
393
390
390
389
387
386
385
385
385
386
386
386
387
387
388
388
388
388
388
388
388
389
389
389
389
389
389
389
389
389
389
389
390
391
392
392
390
390
386
385
384
383
383
384
385
393
393
393
394
394
394
393
393
393
393
396
396
396
397
398
389
381
380
380
380
379
379
379
378
375
375
374
373
373
372
372
372
372
373
374
375
375
376
377
378
380
381
381
381
383
391
399
403
403
403
401
401
400
396
393
392
392
384
380
377
379
379
380
381
381
381
380
378
377
377
357
357
351
350
349
346
344
343
343
348
351
372
373
374
374
374
374
373
372
369
362
356
355
355
349
349
348
347
346
343
342
342
341
341
339
339
340
340
342
344
344
349
355
351
351
350
350
343
343
341
341
334
334
334
334
334
334
334
334
334
334
334
334
335
335
335
333
333
332
332
332
331
331
329
329
329
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
330
333
333
334
335
335
335
335
335
334
334
334
334
336
346
348
348
348
351
352
338
325
328
328
329
333
335
335
338
339
337
336
335
335
333
325
324
322
322
322
322
323
324
324
324
324
324
324
333
336
337
338
339
343
345
345
347
348
353
350
347
347
345
341
340
341
341
342
342
342
343
343
343
344
344
343
341
338
329
326
326
325
321
315
315
315
315
314
314
314
314
315
315
315
315
314
314
312
312
312
311
310
307
305
305
305
305
305
305
305
304
304
304
304
304
304
304
304
305
306
306
306
304
304
300
299
299
298
298
298
298
298
298
298
298
298
298
298
298
297
297
296
296
296
296
296
296
296
297
297
297
297
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
295
295
295
295
294
294
292
292
292
292
291
290
290
290
290
290
289
289
289
289
289
289
288
288
288
288
288
288
288
288
288
288
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
286
286
286
286
286
286
286
286
286
285
285
285
285
285
285
285
285
286
286
286
285
284
284
284
284
283
283
283
283
283
283
283
283
283
283
283
284
285
286
287
290
290
290
292
293
297
299
301
301
302
303
305
310
313
313
313
314
315
312
311
310
310
310
304
301
280
279
279
279
279
279
279
279
279
279
279
279
278
278
278
278
278
278
278
277
276
276
276
276
276
275
275
275
275
276
277
277
277
278
278
278
279
278
278
278
278
277
276
276
276
276
276
275
275
275
275
275
274
274
274
279
279
281
281
281
282
283
284
284
283
283
283
283
282
282
281
281
279
276
276
275
275
274
273
273
273
273
273
273
278
281
284
284
284
285
287
289
294
293
293
292
291
283
283
282
269
268
267
267
267
265
265
265
265
265
262
262
262
262
262
262
262
266
266
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
261
261
261
261
261
261
261
262
262
262
262
262
265
266
268
270
274
274
275
276
278
286
286
292
294
297
299
299
300
298
296
296
294
294
294
293
293
280
275
274
274
263
259
259
259
259
259
260
260
261
261
261
261
261
261
261
261
261
261
261
260
260
258
256
256
256
255
255
255
255
255
254
254
254
253
253
252
252
253
253
253
253
255
257
258
258
260
261
274
277
274
271
270
268
260
259
259
258
258
256
256
254
253
250
249
249
249
247
246
246
247
255
254
253
246
245
245
245
246
247
248
248
248
247
247
247
242
242
242
243
244
245
245
245
244
244
244
244
244
243
243
243
243
243
243
243
243
243
242
241
240
240
239
239
238
238
238
238
238
238
238
239
239
239
239
239
240
241
241
242
243
241
241
239
238
235
235
235
236
237
238
238
240
240
246
247
248
249
251
250
248
246
244
242
239
237
237
237
236
235
235
235
234
233
233
240
248
257
257
256
256
255
254
253
252
249
248
247
247
247
247
246
241
238
236
235
230
229
228
227
228
232
238
239
237
228
228
225
224
222
246
248
239
237
229
226
223
225
225
221
217
217
217
217
217
218
215
215
216
215
213
213
212
212
213
214
212
212
212
210
209
209
208
209
210
222
229
221
210
204
207
212
218
220
216
213
206
203
202
202
203
204
203
203
200
200
203
203
201
200
196
194
191
191
191
191
191
190
194
202
208
222
212
215
202
195
191
184
184
185
181
187
194
203
185
185
184
183
179
178
179
178
179
180
178
174
173
173
170
171
171
170
170
170
168
167
167
168
168
168
168
166
165
165
166
165
165
166
166
166
166
166
166
166
166
166
166
166
166
169
171
170
170
170
170
170
169
169
166
166
166
165
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
162
160
160
162
162
162
163
166
166
166
164
164
164
163
162
162
161
160
160
160
160
160
160
160
160
160
160
160
160
159
158
158
158
158
158
158
158
158
158
158
158
158
157
157
157
157
157
156
156
156
156
156
156
156
156
155
155
155
155
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
156
156
157
157
157
157
157
157
157
156
156
156
156
156
156
156
156
156
156
156
156
156
155
155
155
155
155
155
155
155
155
155
155
154
154
154
154
154
154
155
155
156
156
156
156
155
155
155
154
154
154
153
152
152
152
152
152
152
152
152
152
152
151
151
151
151
151
151
151
152
153
153
153
153
153
153
153
153
151
151
151
151
151
151
151
151
150
150
150
150
150
150
149
149
148
148
148
147
147
147
147
148
148
148
148
151
158
159
159
161
161
162
167
172
172
174
174
175
175
175
175
176
176
176
176
176
176
178
178
178
178
179
179
179
179
169
167
165
163
162
161
161
159
159
158
156
155
153
153
152
150
149
149
147
147
147
148
149
149
149
149
150
150
150
149
148
147
146
146
146
145
143
143
143
141
141
141
141
141
139
139
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
140
140
140
140
140
140
140
140
140
139
139
139
139
139
138
138
138
138
138
138
138
138
137
136
136
136
135
135
135
135
135
135
135
135
135
135
135
135
135
134
133
133
133
132
132
132
132
133
133
133
134
136
137
138
138
138
138
138
137
137
137
136
136
136
135
135
135
135
134
132
132
130
131
131
131
131
131
131
134
134
134
132
131
131
131
131
131
131
131
129
129
129
130
130
130
130
130
128
128
128
128
128
128
128
129
129
127
127
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
128
128
128
128
127
127
125
125
126
127
127
127
128
130
130
131
131
131
131
131
131
131
130
128
128
128
127
127
127
127
127
128
128
128
128
128
128
128
128
127
127
127
127
127
127
126
126
126
126
126
126
125
125
125
125
125
124
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
123
123
123
123
123
123
127
135
137
137
137
138
138
138
137
137
134
134
135
134
133
133
132
132
131
131
126
121
121
121
120
120
120
120
120
120
120
120
120
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
117
117
117
117
117
117
116
116
116
116
116
116
116
116
117
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
116
117
116
116
116
116
116
116
116
116
116
116
116
115
115
114
114
115
116
116
115
115
115
115
115
115
115
115
114
114
114
114
115
115
115
115
115
114
114
114
113
113
113
113
113
113
113
112
112
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
110
110
110
110
110
110
110
110
110
110
110
110
110
112
112
112
112
112
114
114
114
112
111
111
111
110
110
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
107
108
108
108
108
109
109
109
107
108
107
106
106
106
107
108
106
105
105
104
104
104
106
106
106
106
107
107
107
107
107
107
106
106
106
106
105
104
104
104
104
104
104
104
104
104
104
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
105
105
106
106
106
106
106
106
106
106
107
107
107
107
107
108
108
108
108
109
110
110
110
110
110
108
107
106
106
105
105
106
106
106
107
107
107
107
108
109
109
109
108
108
108
108
108
108
108
108
108
108
108
109
109
109
109
109
110
110
111
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
113
113
113
113
113
113
112
112
111
111
111
110
109
109
109
108
109
109
110
112
112
112
112
113
113
113
112
112
112
111
112
112
112
123
123
123
123
122
121
120
120
120
116
115
115
115
113
112
112
112
112
110
110
110
108
108
105
105
105
105
105
105
105
105
105
105
104
104
104
104
104
103
103
103
103
102
102
102
102
102
102
103
103
103
103
103
103
104
104
104
104
105
106
106
104
104
103
103
104
105
105
105
106
107
107
107
107
107
108
108
108
108
108
108
108
108
108
109
109
109
109
109
108
107
113
120
122
112
109
105
101
119
130
128
120
105
101
100
98
98
98
98
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
97
97
97
97
97
97
96
96
96
97
98
98
98
98
98
98
98
98
101
102
101
97
96
95
94
94
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
93
92
92
92
91
90
90
91
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
91
91
91
90
90
90
89
89
89
89
89
89
89
89
93
94
95
95
95
95
95
95
95
95
95
96
96
99
102
104
107
107
106
102
101
100
100
100
100
116
118
118
121
124
125
127
129
129
130
132
127
123
122
122
119
116
110
110
109
108
107
103
103
101
100
100
100
100
100
98
94
94
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
95
95
95
95
95
93
93
93
93
91
91
91
91
90
89
89
88
88
88
88
88
87
87
87
87
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
86
86
85
85
85
85
85
85
85
84
84
84
84
84
84
84
85
85
85
87
87
87
86
86
86
86
86
86
86
86
86
86
87
88
88
88
88
88
88
88
88
88
88
88
88
88
87
86
86
88
88
88
88
88
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
89
89
90
91
92
94
95
95
95
96
97
100
101
101
102
102
103
103
104
104
104
104
104
104
103
103
102
102
102
102
101
101
101
100
100
99
99
98
98
98
98
97
96
96
96
97
98
100
101
101
102
100
100
100
100
90
89
89
89
89
89
89
89
89
89
89
90
90
90
90
91
91
91
90
90
89
89
89
89
93
92
92
91
90
90
88
84
84
83
83
83
83
83
83
83
83
83
83
83
83
83
84
85
85
85
85
85
84
83
83
83
82
82
82
82
82
83
82
80
80
79
78
73
73
73
73
72
71
71
71
71
71
71
71
72
72
72
72
73
73
73
74
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
75
74
74
74
74
74
74
74
74
74
74
74
74
75
76
76
76
76
76
75
75
75
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
75
75
75
75
75
75
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
77
78
78
78
78
78
78
78
78
78
78
78
78
78
78
80
80
80
80
82
82
83
84
84
84
90
94
96
96
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
96
94
92
91
91
90
90
90
90
90
90
93
94
96
87
85
85
83
73
73
76
78
79
82
84
86
86
87
89
90
90
90
90
90
90
90
90
90
90
90
87
86
84
84
83
82
81
81
81
81
81
81
80
80
80
79
79
79
79
79
80
81
81
81
82
83
83
82
80
80
80
80
77
77
76
74
73
73
72
72
72
72
72
72
72
72
72
72
72
71
71
71
71
71
71
71
71
75
76
76
76
76
76
76
74
72
71
71
71
71
70
70
70
69
69
69
69
69
69
69
69
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
69
69
69
69
69
69
69
69
69
70
71
72
72
72
73
73
73
73
73
72
72
72
72
72
72
72
72
74
79
79
79
81
82
83
83
83
82
80
81
86
91
93
93
93
94
94
94
99
99
101
98
87
82
82
91
89
89
86
81
81
80
79
79
81
81
82
83
84
85
85
85
84
83
76
75
72
72
70
69
66
66
64
63
63
60
60
57
59
60
61
61
63
65
65
65
65
65
66
67
67
67
67
67
68
68
68
68
68
68
68
68
68
67
67
67
67
66
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
64
64
64
63
63
63
63
63
63
63
63
63
64
64
64
65
65
67
68
68
69
69
70
70
70
70
70
69
69
68
67
67
67
66
66
66
66
65
66
66
66
68
69
70
66
61
61
62
62
62
62
62
62
62
62
63
65
67
67
67
70
71
71
74
76
78
79
82
82
82
79
79
78
76
75
71
71
68
68
68
68
67
66
64
64
64
64
63
63
63
63
62
61
59
59
60
60
65
73
75
76
78
78
67
67
65
65
68
69
70
70
70
69
67
66
63
60
59
59
57
58
59
60
61
61
61
62
62
62
62
62
61
60
60
60
60
60
59
59
59
58
58
58
58
58
58
58
58
56
56
56
55
55
53
54
54
59
60
60
60
60
60
60
60
58
54
54
55
55
58
59
60
61
61
62
63
63
63
63
63
63
63
62
61
60
57
56
56
56
56
56
56
56
58
59
59
59
59
59
59
59
58
57
56
56
56
56
56
56
56
56
57
57
57
66
74
74
74
74
74
75
75
68
65
56
55
54
54
54
52
53
53
53
54
56
57
57
57
57
57
57
57
57
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
58
58
58
60
60
63
69
74
69
64
64
62
61
61
62
63
62
62
62
62
62
61
60
60
61
61
61
61
61
61
61
61
61
61
61
62
62
63
64
64
65
65
65
63
62
61
60
60
60
60
58
55
54
51
50
52
54
54
54
55
56
56
56
55
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
53
53
52
52
52
52
51
51
51
51
51
51
51
51
51
51
52
52
53
53
53
53
53
53
53
53
53
55
55
56
57
57
57
57
57
57
57
57
57
57
57
57
57
59
59
59
59
59
59
59
60
60
60
60
60
61
61
61
61
61
61
61
62
62
62
62
62
63
63
63
60
60
60
61
62
63
63
64
64
64
65
65
66
66
66
66
66
67
67
67
67
66
66
66
65
65
65
66
68
69
70
72
71
68
67
67
66
61
61
60
60
59
58
56
56
56
56
53
53
53
53
53
53
53
52
52
52
51
57
59
60
60
61
62
64
64
66
67
70
63
63
60
58
55
52
53
54
54
54
56
60
65
67
67
68
67
64
64
63
62
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
59
59
60
55
55
56
56
56
57
57
58
58
59
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
62
63
62
62
61
60
58
53
54
55
55
55
55
55
55
55
54
54
53
52
51
51
53
53
55
56
61
66
66
69
70
69
68
65
65
64
55
53
52
52
52
52
53
54
54
55
57
58
59
59
64
65
68
69
69
69
67
63
60
59
58
57
57
55
53
51
51
51
51
51
51
52
52
52
52
53
53
49
50
50
50
51
51
56
57
56
55
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
52
52
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
53
53
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
52
51
50
49
49
49
48
47
47
47
47
47
48
48
48
45
45
45
45
45
46
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
45
44
44
45
48
50
49
49
49
49
49
49
49
49
49
49
49
49
47
44
46
48
50
50
50
52
52
52
52
51
51
50
49
47
47
47
46
46
45
45
45
43
42
42
42
42
42
42
42
42
42
46
46
47
47
47
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
45
44
42
42
42
42
41
40
40
40
40
41
41
41
40
40
40
40
40
40
40
40
40
40
42
45
46
47
47
47
47
49
50
51
53
58
58
59
59
59
60
60
61
61
62
62
62
69
71
71
74
70
56
43
43
43
43
42
42
42
42
42
41
41
41
40
39
39
39
38
38
38
37
37
37
37
37
37
39
39
39
39
39
39
39
39
38
38
37
37
37
37
37
38
39
39
39
39
39
38
38
38
38
38
38
38
38
37
37
37
37
37
40
40
40
40
36
36
36
36
36
36
36
36
36
37
37
37
37
37
38
39
39
39
39
39
39
39
39
39
39
38
38
38
38
38
38
39
39
39
39
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
38
38
37
37
37
37
36
36
36
36
36
36
37
37
37
38
39
40
40
41
43
45
46
46
47
49
52
53
55
56
58
58
59
59
60
59
58
57
56
55
55
54
52
51
51
51
50
50
49
49
48
47
47
44
44
44
42
41
41
40
40
39
38
38
37
37
36
36
36
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
34
34
34
34
34
33
33
33
33
33
33
33
34
34
34
35
35
35
36
37
37
37
38
38
38
39
39
39
39
39
39
40
40
41
41
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
43
39
36
34
34
34
34
34
34
34
34
34
34
34
35
35
35
37
37
37
38
40
40
40
40
39
39
38
37
37
37
37
35
35
34
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
32
32
32
32
32
32
31
31
30
30
30
30
30
30
30
31
31
31
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
31
31
30
30
30
30
30
30
30
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
29
28
27
27
27
26
26
29
31
31
31
30
30
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
30
30
30
30
30
30
30
30
30
30
30
29
28
28
27
27
27
27
26
26
26
26
26
26
26
26
27
27
27
27
27
29
29
29
30
29
28
27
27
27
27
27
30
30
31
31
32
32
32
32
32
33
33
33
33
33
32
32
32
31
31
30
29
29
29
28
28
28
29
30
30
30
29
24
24
24
24
24
25
25
25
26
27
29
33
32
32
31
31
30
28
27
27
27
27
26
26
26
26
26
26
26
26
27
27
28
30
29
29
28
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
26
26
26
26
26
25
24
26
28
28
28
29
30
29
28
27
27
27
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
25
25
26
26
26
26
25
25
25
25
25
25
26
26
27
28
28
28
29
29
28
28
27
23
23
23
21
20
20
20
20
20
20
20
20