1
1
1
1
8
1
8
8
8
20
13
15
15
20
27
1
1
1
1
20
27
27
27
39
1
1
8
13
27
34
34
34
34
51
8
13
15
20
34
46
46
41
41
46
46
58
20
27
46
41
53
58
58
53
53
53
53
70
1
27
34
34
34
34
41
58
60
70
65
70
65
60
82
82
1
34
46
46
41
58
48
48
65
65
82
82
94
94
46
41
58
53
53
65
94
94
106
106
1
20
53
53
53
65
65
77
101
101
113
113
1
1
1
51
58
53
53
53
53
65
65
77
72
89
125
125
1
13
34
58
53
53
65
65
77
72
89
96
137
137
1
46
48
53
77
77
72
72
84
96
137
149
149
1
1
1
53
53
53
53
53
53
65
65
89
84
96
96
137
149
161
161
1
1
53
53
53
53
53
53
65
65
72
72
89
89
89
84
84
101
149
161
173
173
1
53
53
53
53
53
53
53
65
65
65
77
77
89
96
96
96
96
113
113
161
173
185
185
1
1
1
8
53
53
53
65
65
77
72
72
84
84
89
89
96
96
125
125
173
185
197
197
1
1
1
15
53
53
53
53
53
53
53
53
65
65
77
77
84
89
84
96
96
137
137
185
197
209
209
1
8
8
27
53
53
53
53
53
53
53
53
53
65
65
65
65
65
72
72
89
89
89
89
84
84
96
149
149
197
209
221
221
1
20
15
53
53
53
53
53
53
53
65
65
65
77
77
77
72
72
89
89
89
96
96
96
96
161
161
209
221
233
233
1
8
27
53
53
53
53
53
53
53
53
53
53
65
65
65
77
77
77
84
84
89
84
89
89
96
96
96
173
173
221
233
245
245
1
1
20
53
53
53
53
58
53
53
65
65
65
65
77
72
72
72
72
72
72
72
89
84
89
89
89
89
89
84
84
96
96
96
185
185
233
245
257
257
1
1
1
8
53
53
53
53
53
53
65
65
77
77
77
72
72
89
84
96
96
96
96
96
96
96
96
96
96
96
108
197
197
221
221
221
233
245
257
269
269
269
269
1
8
8
15
53
53
53
53
65
77
72
77
84
84
84
84
84
84
89
89
84
84
84
84
96
96
96
108
120
209
209
233
233
233
245
252
264
281
281
281
281
1
1
1
1
20
27
53
53
53
53
53
53
53
58
70
65
65
65
65
65
72
89
84
84
84
84
89
89
84
96
96
96
96
103
120
120
127
209
221
221
245
245
245
257
276
293
293
293
293
1
1
1
1
8
34
41
41
53
48
53
53
65
60
65
65
65
65
65
82
82
72
72
72
72
72
72
72
89
84
89
89
84
96
96
96
96
96
96
96
108
103
108
120
127
127
127
221
233
233
252
257
257
264
288
300
300
300
300
1
1
1
8
8
13
15
41
46
58
48
53
53
70
65
65
65
77
77
77
72
94
94
84
84
89
84
84
84
84
91
96
96
96
96
96
103
103
108
103
120
120
115
120
127
127
127
233
233
245
245
269
269
276
288
300
312
312
1
1
1
1
13
20
15
27
34
34
41
41
53
53
53
53
53
65
65
65
82
89
84
84
84
84
106
106
96
91
96
91
103
108
103
115
120
127
127
127
139
245
245
257
257
281
281
288
300
312
324
324
1
1
1
8
27
34
34
34
46
46
41
41
46
58
48
53
53
53
53
53
53
53
65
60
65
65
65
72
94
89
84
84
91
96
91
96
96
118
118
103
120
120
115
127
139
151
257
257
264
269
293
293
300
312
319
336
336
1
1
1
8
8
20
34
46
41
41
46
58
53
58
53
48
53
53
53
53
65
65
65
65
77
72
72
72
72
89
89
84
84
84
84
106
96
91
96
96
91
96
96
91
96
96
96
103
103
103
130
130
120
127
127
151
151
151
158
264
269
281
305
305
312
319
331
348
348
1
1
8
15
15
58
53
53
53
53
65
60
65
65
65
77
77
77
89
84
84
91
96
91
91
96
96
96
96
118
108
108
103
103
115
115
120
120
120
120
120
142
142
127
127
151
151
158
158
158
158
281
293
317
317
324
331
343
360
360
1
8
8
20
27
27
53
53
53
53
53
53
60
60
60
65
65
65
65
65
77
89
89
89
84
84
96
96
96
108
108
103
130
120
120
127
127
127
122
122
127
127
149
149
158
158
158
158
293
305
324
329
329
336
343
343
355
372
372
1
1
1
20
20
48
53
53
53
53
53
60
60
60
65
65
72
72
77
72
72
72
72
89
89
89
84
96
96
96
96
96
118
118
103
115
120
115
142
127
127
122
122
161
170
170
305
317
336
341
341
348
355
355
367
384
384
1
8
27
34
53
48
53
53
53
53
53
53
60
60
60
65
72
77
77
72
72
72
84
79
79
89
84
89
89
84
84
84
84
84
96
96
96
96
96
96
103
130
130
115
115
120
127
127
154
154
173
173
182
182
317
329
348
353
353
355
367
367
374
396
396
1
1
1
1
1
8
8
53
58
60
65
65
65
65
72
67
67
67
77
72
72
84
89
89
89
89
84
84
84
91
91
96
96
96
96
96
103
103
115
115
120
120
142
142
127
127
127
166
166
151
185
185
182
189
189
329
341
355
365
365
374
379
386
408
408
1
1
1
8
8
15
60
65
67
77
72
72
89
89
79
84
84
96
91
96
96
96
96
96
96
103
103
108
108
103
115
120
127
127
127
127
149
149
139
178
178
158
197
197
182
189
341
353
353
353
377
377
386
391
398
420
420
1
8
8
8
8
15
15
27
72
72
72
72
79
79
84
84
84
84
84
84
84
84
84
96
91
96
96
96
96
108
103
103
108
103
115
115
120
120
115
127
127
127
134
161
151
146
185
185
182
182
204
204
189
353
365
365
365
384
384
403
398
410
432
432
1
20
20
20
27
27
65
65
65
65
72
67
72
72
72
72
84
79
84
84
84
84
91
96
96
96
108
103
103
103
103
103
103
120
110
115
115
120
120
120
120
127
127
127
127
127
139
151
173
158
182
189
189
216
216
365
377
377
377
396
415
410
422
444
444
1
1
1
65
65
65
72
72
72
72
72
72
72
72
84
84
84
84
84
91
91
96
96
96
103
108
108
103
103
103
115
120
110
120
120
120
120
127
127
127
127
127
127
127
127
139
146
151
158
185
182
182
189
228
228
377
384
384
389
408
422
427
434
456
456
1
1
8
8
65
70
79
84
84
89
84
84
84
84
91
91
91
96
96
103
103
103
103
103
103
103
120
115
120
120
115
120
120
120
115
120
122
127
127
127
127
127
127
127
139
134
151
151
146
158
197
182
189
189
240
240
389
396
401
420
434
439
446
468
468
1
1
1
1
8
15
15
72
79
79
91
91
91
91
96
91
96
91
96
103
103
103
103
120
110
127
127
127
127
127
127
127
127
139
139
139
139
146
158
158
209
189
201
252
252
401
408
413
432
456
456
451
446
458
480
480
8
8
8
15
27
27
72
72
91
91
96
91
103
103
103
103
103
103
103
103
103
120
120
110
110
120
115
115
127
127
127
139
139
151
151
146
146
146
146
189
189
221
201
213
213
264
264
408
420
425
439
468
468
458
458
465
487
487
1
20
20
20
27
77
77
91
96
96
91
96
103
103
103
103
103
115
110
115
115
127
127
127
127
127
127
122
139
151
151
151
151
146
146
146
158
158
158
158
158
182
189
233
213
220
220
220
220
276
276
377
408
432
437
427
434
451
480
480
470
477
499
1
1
1
77
77
77
79
79
91
91
96
91
103
108
103
103
103
103
120
110
115
115
115
120
115
115
122
127
127
127
127
127
134
151
151
146
146
146
158
158
158
158
158
158
158
158
170
189
189
245
220
220
288
288
389
420
444
444
449
439
446
463
463
487
487
482
482
489
489
511
1
8
77
79
79
79
91
91
91
91
91
96
96
91
103
103
108
120
120
120
115
115
115
115
127
127
122
122
122
122
122
122
122
127
134
134
151
151
151
146
158
158
158
158
170
165
165
182
177
177
213
257
300
300
401
432
456
456
461
451
458
475
475
499
494
494
501
501
523
1
1
8
15
72
72
91
96
103
103
108
120
120
110
110
127
127
127
127
122
122
122
151
146
151
158
158
158
158
158
170
170
182
182
177
189
213
220
269
312
312
408
439
449
468
468
473
458
465
487
487
511
511
506
506
513
513
535
1
1
1
8
15
27
79
91
91
103
108
103
115
120
110
120
115
127
127
127
122
122
122
127
134
134
134
151
158
158
170
170
165
182
182
177
189
189
213
213
220
232
281
324
324
451
461
475
475
480
477
494
494
523
523
513
513
520
520
542
1
8
20
27
79
79
91
91
91
91
103
103
103
103
120
110
120
115
115
115
115
115
122
127
127
122
122
134
134
151
158
158
158
158
170
165
182
182
182
177
189
189
189
189
213
220
220
232
244
293
336
336
463
473
489
506
506
535
535
532
532
554
1
1
1
20
72
72
79
79
91
91
103
103
120
120
110
110
115
115
115
127
127
127
127
127
122
122
151
146
146
151
158
158
182
182
177
177
189
189
189
189
189
201
220
244
251
305
348
348
475
480
501
518
518
542
547
547
544
544
566
566
1
1
1
79
79
79
91
91
91
91
103
115
120
110
120
120
115
115
115
115
127
127
127
127
122
127
122
139
134
139
151
151
158
158
153
153
153
153
165
182
182
177
177
189
189
189
208
244
251
317
360
360
487
513
530
530
554
559
559
556
556
578
578
1
1
8
77
91
91
103
103
103
103
103
120
120
120
110
127
127
122
127
127
127
127
139
134
146
146
158
158
158
165
165
182
182
182
177
177
177
177
189
189
201
196
213
213
244
251
329
372
372
499
525
542
542
566
571
571
568
568
590
590
1
1
1
1
8
15
103
110
110
110
110
115
115
115
127
127
127
127
139
139
134
151
151
141
146
146
158
158
177
189
189
189
189
189
201
213
220
220
244
244
251
341
384
384
511
537
554
554
578
578
578
580
580
597
597
1
1
1
8
15
27
110
110
110
110
122
127
127
127
139
139
134
134
151
146
141
146
141
141
158
158
182
189
201
196
213
213
220
251
251
353
360
360
391
391
523
549
566
566
590
592
592
609
609
1
1
1
1
1
8
20
27
84
84
110
110
110
110
115
115
122
122
122
127
127
129
129
134
151
151
146
146
146
146
158
158
153
158
165
165
182
182
177
189
196
213
208
220
220
244
365
372
372
403
535
561
578
578
602
604
604
621
621
1
1
1
1
1
1
20
34
41
53
65
84
84
103
103
110
115
122
122
127
127
127
127
134
134
151
141
146
158
158
158
158
158
165
165
165
165
165
182
182
182
177
177
177
177
177
189
189
213
213
220
244
251
377
377
384
384
415
415
547
573
590
590
614
616
616
633
633
1
1
1
8
8
27
39
39
41
46
41
41
48
48
65
84
118
118
110
115
110
115
115
115
122
122
127
134
129
139
134
134
134
151
141
141
141
141
151
151
146
158
158
158
165
172
177
189
189
189
189
189
213
213
220
220
244
244
251
389
389
391
391
427
427
559
585
602
602
626
628
628
645
645
1
1
1
1
1
8
15
15
39
46
46
53
58
48
53
53
53
60
65
65
84
130
130
115
115
122
122
127
127
129
129
139
151
141
146
141
146
146
146
141
146
158
158
158
170
165
182
182
182
177
189
201
196
213
220
220
244
251
251
401
401
403
439
439
571
597
614
614
638
640
640
657
657
1
1
8
8
8
8
15
27
27
48
60
60
65
60
65
72
118
118
118
103
103
142
142
122
127
127
127
134
129
134
141
146
146
141
146
158
153
158
158
170
165
165
182
182
182
182
177
177
177
177
189
189
189
196
213
213
213
208
220
244
251
408
408
415
446
446
583
609
626
626
650
652
652
669
669
1
8
15
20
20
20
27
46
48
53
60
65
65
77
84
130
130
130
115
115
115
115
115
115
122
122
127
127
127
149
149
134
129
139
134
134
141
151
151
146
141
146
153
158
158
165
165
165
165
165
182
177
177
189
189
189
189
189
189
213
213
220
220
220
244
244
251
427
458
458
595
621
638
638
662
664
664
681
681
1
1
1
20
27
46
58
65
60
65
72
77
77
84
91
115
115
142
142
142
127
127
127
127
129
134
129
139
161
141
146
146
141
146
146
146
141
141
146
141
146
141
153
158
158
160
165
165
165
182
182
182
182
182
182
182
182
172
177
177
177
177
189
189
189
189
201
196
213
213
213
220
220
220
220
244
244
244
251
251
439
470
470
607
633
650
650
674
676
676
693
693
1
1
1
1
8
8
46
46
46
65
65
72
77
84
84
84
84
84
108
127
127
149
149
154
129
139
139
134
139
141
141
141
146
146
146
173
153
153
158
158
153
158
158
158
153
163
160
182
182
177
177
189
189
189
189
189
189
189
189
189
189
196
213
213
213
208
220
220
220
220
220
244
244
244
251
251
251
251
251
451
482
482
619
650
650
645
662
662
686
676
676
688
688
705
705
1
8
8
8
15
15
46
58
65
65
65
77
77
77
84
84
79
91
91
91
122
122
122
139
134
161
166
141
146
146
146
153
185
160
165
165
165
165
165
182
182
189
189
189
189
189
201
201
196
196
196
208
220
220
220
232
251
251
251
263
463
494
494
631
662
662
657
674
674
698
688
688
705
705
700
700
717
717
1
1
1
8
15
20
20
27
27
77
77
84
84
84
91
103
115
115
134
134
129
141
146
146
146
146
178
173
153
153
160
165
165
165
170
197
172
172
189
189
196
196
196
196
196
213
213
213
232
244
263
275
475
506
506
643
674
674
669
681
681
710
700
700
717
717
707
707
729
729
1
8
15
27
72
84
84
84
84
84
91
103
115
115
115
115
115
127
129
129
146
141
141
146
146
146
146
146
153
158
158
158
185
185
160
160
170
170
170
182
177
172
172
204
196
196
196
196
213
213
213
208
208
213
213
220
220
220
220
220
220
244
244
251
275
275
275
282
282
487
518
518
655
681
681
681
693
722
707
707
729
729
719
736
736
1
1
8
20
27
34
34
34
84
84
84
84
84
84
96
96
115
115
122
122
122
122
122
122
127
154
141
141
141
146
151
146
146
173
153
158
158
158
158
158
160
170
165
165
165
165
170
170
197
182
182
182
189
189
184
216
201
196
213
208
208
213
220
220
220
220
220
220
220
220
244
251
251
275
275
282
282
282
282
282
499
530
530
667
667
693
693
693
705
705
719
734
736
736
731
731
748
20
27
27
34
34
46
46
46
72
72
72
79
84
84
96
91
96
108
103
103
122
122
134
134
129
129
129
129
166
141
141
141
153
153
153
158
158
158
185
165
165
165
165
165
177
177
172
177
209
209
189
189
189
184
196
191
228
228
208
220
220
220
215
232
227
227
227
227
251
282
282
294
511
542
542
679
679
705
705
705
717
717
731
746
748
743
743
760
34
58
58
58
58
72
84
96
96
108
103
103
115
115
115
129
129
146
141
141
141
178
153
160
160
160
165
165
165
165
197
182
182
182
182
182
184
184
221
221
191
240
240
215
215
215
232
227
244
294
306
523
554
554
691
691
717
717
717
729
729
743
758
755
755
760
772
1
1
1
27
46
65
65
65
65
84
89
96
96
103
115
115
122
127
141
141
153
153
153
158
185
160
165
165
182
177
204
189
189
189
189
189
189
189
191
233
233
213
208
215
215
252
252
227
244
244
251
275
306
306
313
535
566
566
698
698
729
724
724
736
736
755
765
762
762
772
784
1
1
1
1
8
8
34
53
77
77
72
96
103
103
103
115
115
122
127
134
153
158
160
160
160
160
170
165
177
189
189
216
201
201
213
208
240
240
220
215
220
227
259
259
244
239
251
251
275
282
306
313
313
547
554
554
578
578
741
748
748
767
777
774
774
784
791
1
1
1
8
8
15
15
27
27
34
34
89
89
96
96
108
103
115
127
127
122
134
134
134
146
153
160
160
160
160
182
189
196
228
213
213
220
232
239
271
271
246
251
282
313
559
566
566
585
585
753
760
760
779
784
786
786
791
803
1
1
1
1
20
20
27
27
39
34
34
34
53
53
96
101
101
115
115
139
134
134
146
146
153
160
160
160
172
172
189
196
213
240
220
220
239
246
283
283
571
578
578
597
765
772
772
784
791
796
798
798
803
810
1
1
1
1
1
8
27
27
34
34
34
34
34
51
53
89
89
103
113
113
115
115
127
134
134
134
146
146
146
153
160
160
165
172
172
177
184
179
213
213
220
252
295
295
583
585
585
609
772
784
784
796
798
810
810
810
822
1
1
1
1
1
1
1
1
8
15
20
34
34
39
34
34
34
46
53
53
65
101
101
96
103
103
115
115
115
115
125
125
127
127
134
134
146
146
146
146
153
160
165
160
165
165
172
172
172
177
172
177
179
179
191
213
220
220
264
239
307
307
595
597
621
784
791
791
810
810
817
817
822
834
1
1
1
8
13
15
20
27
34
34
34
34
34
34
46
51
51
53
53
58
53
77
96
96
113
113
115
127
127
137
137
134
134
146
146
146
153
165
172
172
177
172
177
172
179
179
179
189
220
220
220
220
232
239
239
276
319
319
607
609
633
791
803
803
810
817
822
829
829
834
846
1
1
1
1
1
8
20
20
27
34
34
34
34
34
34
46
51
46
53
53
58
58
53
53
53
65
65
65
89
125
125
127
139
134
149
149
146
153
153
165
172
177
177
172
179
179
179
179
179
189
189
196
220
220
220
232
244
244
239
288
331
331
583
614
609
621
640
698
803
810
810
810
829
834
836
836
846
858
1
1
1
1
1
20
27
34
34
34
34
34
34
34
34
51
46
53
53
58
58
58
58
53
65
65
70
65
65
72
77
72
101
103
103
115
137
137
137
137
134
146
146
156
156
146
158
165
165
177
172
172
184
179
179
179
179
189
189
191
191
196
196
213
208
215
220
244
239
239
251
251
300
301
343
343
595
621
633
652
710
705
791
810
817
822
822
822
846
848
848
858
870
1
1
8
13
34
34
34
34
46
41
41
58
58
58
53
53
65
65
65
70
60
77
72
72
72
72
72
72
84
89
103
103
103
113
115
115
115
115
115
127
127
149
149
149
149
146
153
168
158
158
158
165
165
165
165
165
172
172
172
172
177
172
177
179
179
179
189
189
196
191
196
203
208
208
208
220
215
215
215
220
227
239
239
239
251
251
251
270
312
301
355
355
607
633
645
664
705
722
717
834
834
834
836
858
860
860
870
882
1
1
1
1
8
15
34
34
34
34
34
34
34
46
53
53
53
65
65
65
60
60
77
77
72
72
89
84
84
96
96
96
101
115
125
127
127
134
134
146
146
156
156
161
161
161
161
153
158
158
180
165
165
165
165
165
165
177
177
177
179
189
189
191
196
213
203
213
213
203
208
208
208
220
210
215
215
215
220
220
227
227
244
244
239
239
251
270
324
301
367
367
614
640
645
657
667
664
676
717
729
729
836
846
846
846
848
870
872
872
882
889
1
1
1
8
15
27
34
34
34
34
34
46
53
53
53
65
65
65
77
77
72
72
72
72
89
89
101
96
96
103
103
108
115
127
137
137
137
139
134
146
153
153
168
173
173
173
173
165
165
165
192
172
177
177
177
184
189
189
189
191
196
196
203
208
220
220
210
210
220
215
215
220
220
220
227
244
239
239
239
239
251
251
246
336
301
301
379
379
652
657
669
679
676
688
705
729
741
736
858
858
858
860
882
884
884
889
889
901
1
1
8
20
27
34
34
34
34
34
34
53
53
53
53
53
65
65
65
65
65
65
65
77
77
72
72
89
89
89
84
84
101
96
103
103
108
103
108
115
115
115
115
120
125
127
127
134
144
149
149
146
146
153
180
180
180
180
180
180
165
165
199
189
189
196
196
196
203
198
198
208
210
215
215
227
244
239
251
246
246
263
263
270
282
282
282
348
391
391
669
664
676
691
688
695
705
717
731
731
736
748
748
870
870
870
872
894
889
896
896
901
913
1
20
27
27
34
34
34
34
46
53
53
53
53
65
65
65
77
77
77
72
72
89
89
89
89
84
84
96
96
96
96
96
96
91
91
101
113
103
103
115
115
120
120
127
127
132
137
134
134
146
146
161
161
153
165
192
192
192
192
211
191
196
196
198
210
210
210
215
227
227
227
244
239
246
251
275
275
282
301
360
403
403
676
676
693
698
695
707
717
729
743
743
748
748
755
784
882
882
882
884
906
908
908
913
925
1
1
1
27
34
34
39
34
34
34
34
34
34
58
58
53
53
70
77
72
72
72
89
89
84
96
96
96
96
96
96
91
103
103
103
113
115
115
115
115
120
125
127
132
132
132
139
134
144
144
146
146
146
153
153
173
173
199
204
204
204
191
223
210
210
222
222
227
239
246
251
275
275
282
282
372
415
415
688
705
710
707
729
719
736
755
755
755
755
784
894
894
889
896
918
920
915
925
937
1
1
1
1
1
27
27
34
34
34
46
51
53
70
70
72
72
72
72
72
72
84
101
96
96
96
96
91
91
91
108
108
115
115
125
127
127
132
137
134
134
134
144
144
144
134
134
146
146
146
146
156
141
141
153
153
153
185
185
177
177
211
216
216
216
235
222
234
229
246
282
282
384
427
427
700
717
717
719
736
731
748
755
762
762
906
901
901
908
930
927
927
937
949
1
1
1
8
34
34
34
34
46
58
53
53
53
77
77
82
72
72
84
84
84
96
91
91
91
103
120
120
127
137
134
134
144
149
134
134
134
156
156
151
146
141
146
141
141
153
153
153
153
153
163
153
153
165
197
197
177
204
223
223
223
228
228
208
208
220
242
229
241
396
415
415
439
439
717
712
724
731
748
743
755
774
774
817
889
918
913
920
942
939
949
961
1
1
1
1
8
15
34
34
34
53
53
53
53
53
72
72
72
89
84
89
94
94
96
96
91
108
103
120
110
115
127
127
134
134
134
134
134
149
134
146
146
151
161
146
146
146
141
146
146
163
168
153
153
153
165
175
165
165
177
209
209
216
208
208
208
235
235
240
240
220
220
220
254
408
427
427
446
446
650
724
736
743
755
750
781
781
901
901
930
925
932
954
951
961
973
1
1
1
8
20
27
27
34
34
34
34
34
34
46
53
53
53
53
77
77
72
84
101
96
101
106
106
101
108
108
108
120
115
110
110
115
127
134
134
146
146
161
146
146
146
153
173
153
158
175
180
165
165
165
177
177
187
172
172
172
184
189
189
221
221
223
208
208
242
247
252
252
266
420
439
439
458
662
657
669
731
743
743
755
750
762
791
810
810
810
810
913
942
937
944
966
963
973
985
1
1
8
15
34
34
51
53
53
70
65
65
65
77
72
72
72
89
84
96
96
91
91
108
108
108
108
108
108
113
113
108
120
120
115
110
115
127
134
134
134
134
146
146
146
146
146
158
158
153
173
158
185
165
165
165
170
177
192
187
172
172
172
184
184
184
199
209
209
196
196
196
196
228
228
208
254
259
264
264
278
270
270
432
446
446
470
674
669
681
743
762
769
791
810
810
810
810
810
822
822
915
925
954
949
956
978
975
985
997
1
1
1
1
20
27
34
34
34
58
60
77
72
77
72
72
72
72
89
84
96
96
96
108
108
108
120
115
125
125
110
110
110
115
127
127
139
146
146
146
146
146
146
153
153
158
165
165
185
170
170
170
177
177
197
172
177
184
184
184
204
199
211
221
221
196
196
196
196
208
208
208
240
266
276
276
271
290
270
270
432
444
458
470
482
681
681
693
755
750
769
781
810
822
822
822
829
829
927
927
937
966
961
968
990
987
997
1009
1
1
1
1
8
27
34
34
46
53
53
53
77
77
77
72
72
72
72
72
72
72
89
84
101
96
96
91
91
108
108
120
115
120
115
110
115
137
137
127
146
146
146
158
153
153
153
158
165
165
170
170
170
197
177
184
184
209
189
196
211
216
223
228
228
208
208
208
208
208
198
220
220
210
252
278
288
288
283
270
302
444
456
470
482
494
693
688
700
750
781
781
793
810
810
829
829
834
836
836
939
949
978
973
980
1002
999
1009
1021
1
8
8
15
27
27
27
34
34
34
34
46
58
60
60
72
77
72
72
72
89
89
84
96
101
96
96
91
108
108
108
108
120
115
115
110
110
115
127
127
122
149
149
146
146
153
153
153
158
165
170
177
177
209
189
189
189
196
221
191
208
223
228
208
198
198
235
240
220
220
220
210
210
227
227
222
264
276
276
295
295
290
290
270
270
309
456
463
482
494
501
631
700
700
712
769
793
810
810
810
810
805
817
822
836
836
841
848
848
951
961
990
985
992
1014
1011
1021
1033
1
20
15
27
27
39
34
34
34
34
53
53
58
70
72
72
84
91
91
108
113
108
103
115
115
115
110
110
110
127
122
139
129
129
146
146
146
161
161
146
146
153
153
158
158
158
165
165
170
177
184
216
191
191
208
208
208
233
208
198
215
240
235
220
210
247
252
227
227
222
222
239
234
271
251
251
251
288
288
270
307
302
321
463
494
501
513
643
650
650
676
700
707
719
789
769
781
781
810
810
810
805
822
822
822
817
829
836
836
860
860
963
973
1002
997
1004
1026
1023
1033
1045
1
8
27
27
27
27
34
34
34
51
60
60
70
72
82
72
72
84
96
91
91
91
91
103
125
115
115
115
115
110
110
127
127
139
129
129
129
129
129
134
146
146
146
151
151
146
158
153
153
153
173
173
170
177
177
177
177
177
184
196
196
196
191
208
198
215
215
215
215
245
210
220
247
247
222
254
264
234
239
234
271
251
251
241
251
251
283
295
295
290
270
270
319
314
314
333
333
506
513
525
655
645
657
662
662
676
688
707
719
796
793
810
822
817
834
834
829
829
848
867
867
975
985
1014
1009
1016
1038
1035
1045
1057
1
1
8
20
34
34
34
34
34
46
53
53
63
72
82
72
72
72
94
91
91
91
91
108
115
115
115
115
110
110
137
127
127
127
129
151
141
158
158
153
158
158
158
158
170
165
185
185
170
177
197
177
184
184
184
184
216
196
196
196
191
208
223
208
208
198
215
215
215
210
220
210
252
257
222
259
234
266
276
276
241
241
251
283
295
295
270
270
307
302
331
326
326
345
345
506
518
525
525
537
662
657
669
674
674
664
664
688
700
796
805
834
829
841
841
841
855
987
997
1021
1021
1028
1050
1047
1057
1069
1
1
1
1
1
1
1
1
15
27
34
34
34
46
53
60
60
70
72
72
89
106
96
96
96
91
91
108
103
103
115
115
115
127
127
149
139
134
134
134
141
141
158
158
153
170
170
172
177
197
197
177
184
184
184
209
191
228
208
208
203
215
235
220
220
210
227
222
264
264
239
234
271
271
241
278
278
288
288
290
307
307
319
309
338
333
333
352
352
518
530
537
537
549
674
669
681
681
681
676
676
700
707
810
817
841
841
841
841
853
999
1009
1021
1033
1028
1040
1062
1054
1069
1081
1
1
1
1
1
1
1
8
27
34
53
53
53
63
53
53
72
82
72
84
101
96
91
91
118
103
103
115
110
110
110
110
127
127
139
134
134
129
134
134
134
161
151
146
146
141
146
141
141
148
153
160
172
177
172
177
177
209
209
216
208
240
245
220
220
220
220
227
247
227
239
234
271
241
283
283
290
290
295
295
314
314
319
331
321
350
364
364
530
537
549
549
556
602
681
676
688
693
693
688
688
707
719
810
822
829
836
836
836
853
860
1011
1021
1033
1028
1045
1047
1054
1074
1066
1081
1093
1
1
1
1
1
1
1
1
8
20
27
53
53
53
53
60
60
60
70
72
72
72
72
72
89
96
91
91
113
103
103
103
103
130
115
120
110
110
110
127
127
134
129
129
134
134
161
151
146
146
141
146
146
141
173
158
153
153
153
165
165
165
165
177
177
172
184
189
189
221
221
208
208
208
247
257
227
239
239
239
254
246
241
283
295
295
302
302
326
326
331
343
343
333
362
362
376
376
537
556
561
568
614
621
621
681
688
700
700
700
695
695
719
726
834
836
841
848
848
860
860
872
1023
1033
1045
1047
1057
1066
1086
1078
1093
1105
1
1
1
15
39
34
53
53
53
53
53
53
53
53
53
53
53
53
65
72
72
72
89
89
84
96
96
96
96
101
96
91
103
118
103
120
110
110
137
127
134
134
134
151
146
146
146
173
158
158
148
148
153
153
185
185
170
160
165
165
165
165
165
177
177
177
172
172
172
196
208
208
228
228
208
208
269
269
264
246
246
246
266
295
302
302
309
309
338
338
338
355
355
345
374
374
388
388
568
573
580
626
633
633
700
700
695
707
707
707
726
841
853
860
855
860
872
884
1035
1045
1057
1069
1078
1098
1090
1105
1117
1
1
1
1
1
1
8
8
27
34
51
58
53
53
53
53
65
65
60
60
60
77
72
72
72
72
89
89
84
84
89
84
84
84
96
96
96
91
91
91
91
91
91
113
113
103
103
103
103
130
110
110
115
110
115
115
127
127
134
149
139
134
129
129
146
146
146
173
153
158
158
158
185
170
165
160
165
165
172
177
197
197
182
172
172
172
189
189
203
215
215
240
239
264
281
281
278
307
321
321
350
350
350
362
362
357
381
381
400
400
585
580
592
633
645
645
707
714
714
714
810
841
865
867
884
896
1047
1057
1069
1081
1090
1110
1102
1117
1129
1
1
1
1
1
1
1
8
8
20
15
27
63
53
53
53
53
53
53
53
53
53
53
53
53
65
65
60
72
72
84
89
89
96
96
96
96
96
96
96
96
91
91
108
103
103
103
103
115
120
125
110
110
110
110
110
110
115
115
115
137
127
122
127
127
127
127
127
161
146
146
146
153
153
148
148
165
165
185
170
165
160
165
177
177
197
182
177
172
172
177
177
184
209
209
209
189
209
209
189
196
196
245
252
252
269
269
239
239
239
239
276
246
293
293
283
290
319
333
333
362
362
362
369
393
393
412
412
597
592
604
645
652
652
695
714
726
750
810
822
836
867
877
896
908
1059
1069
1081
1093
1102
1122
1114
1129
1141
1
8
8
8
15
15
27
27
53
53
53
53
53
75
65
65
65
65
60
60
60
60
72
77
77
84
84
84
84
84
84
89
89
96
96
96
91
91
91
108
103
103
103
103
120
115
110
115
127
137
127
127
127
127
127
127
134
134
134
149
134
129
134
129
129
129
139
139
146
146
146
173
158
158
160
165
165
177
177
177
172
197
182
177
177
177
177
177
177
172
172
209
189
189
189
189
189
179
179
196
221
221
221
221
221
208
208
220
257
264
264
239
239
239
239
281
281
246
246
246
283
288
300
300
295
302
331
345
345
374
374
374
381
405
405
424
424
595
604
609
616
652
664
664
726
750
796
834
836
848
889
908
920
1071
1081
1093
1105
1114
1134
1126
1141
1153
1
1
1
1
20
20
20
27
27
27
27
34
34
53
58
53
53
53
53
53
65
65
65
65
60
60
72
77
72
72
72
72
72
87
84
84
89
84
84
84
96
96
96
96
96
96
96
91
103
103
103
120
120
110
115
115
115
115
115
115
125
110
110
110
110
110
127
127
127
127
127
129
134
144
134
134
134
139
139
139
146
146
161
161
146
146
146
146
146
146
146
158
153
153
158
158
148
148
158
158
158
158
180
165
160
165
165
182
177
177
177
172
172
172
189
189
209
189
189
189
189
189
179
179
179
179
179
221
201
191
191
233
228
228
228
228
208
208
208
203
220
215
215
269
239
239
239
271
271
251
251
293
293
295
300
312
307
314
343
357
357
386
386
386
393
417
417
434
436
436
607
602
602
621
616
628
628
652
671
671
801
803
803
822
841
841
860
901
920
932
1083
1093
1105
1117
1126
1146
1138
1153
1165
1
1
8
27
39
34
34
34
58
65
65
65
60
87
72
72
72
72
77
72
72
84
84
84
84
84
79
99
96
96
96
96
96
96
96
91
91
91
91
91
108
108
108
103
120
110
110
110
115
115
115
110
127
127
127
127
122
127
127
127
127
127
127
137
127
127
127
129
129
134
129
129
129
139
134
151
146
146
146
146
146
146
146
146
158
158
158
153
153
173
173
158
158
158
158
148
158
158
165
165
160
165
192
182
182
177
172
209
189
189
189
179
179
179
179
221
221
201
201
196
191
191
191
196
196
233
208
208
203
208
203
245
240
220
239
239
239
281
281
251
251
283
283
300
300
307
312
324
324
319
326
355
377
369
369
398
398
398
415
405
429
429
446
446
448
448
619
614
614
621
628
633
628
640
640
671
671
808
803
803
829
846
846
841
841
853
853
867
913
932
944
1095
1105
1117
1129
1138
1158
1150
1165
1177
1
1
1
1
1
1
1
1
8
8
15
27
27
27
27
34
34
51
53
70
65
65
72
99
84
84
89
84
84
84
84
84
84
79
79
91
96
111
91
91
103
103
103
108
120
120
115
115
120
120
115
115
110
110
110
110
110
110
110
110
127
122
122
122
127
127
127
122
129
129
139
134
134
134
134
134
134
144
134
134
151
141
141
146
146
146
158
158
158
153
153
153
158
148
148
148
158
180
185
170
165
160
160
160
160
204
189
189
189
189
179
221
201
201
196
191
233
233
208
208
208
208
203
203
203
240
210
210
220
220
220
252
252
239
293
293
295
295
312
319
324
336
336
331
338
377
367
389
381
381
415
410
410
410
427
427
417
441
441
458
458
460
460
583
626
626
626
633
640
640
640
652
652
769
769
769
769
808
829
853
853
853
853
860
860
867
879
925
944
956
1107
1117
1129
1141
1150
1170
1162
1177
1189
1
1
1
1
1
1
1
1
1
1
1
8
8
8
15
20
27
27
27
27
34
34
34
34
34
34
46
63
65
60
60
77
72
82
84
84
84
79
96
91
96
91
96
91
91
111
103
103
123
120
115
110
110
110
110
110
110
110
127
127
127
127
127
127
139
129
129
129
139
134
134
134
129
134
129
129
134
129
129
134
129
129
134
141
141
146
146
141
158
158
153
153
153
170
165
165
165
160
192
197
182
182
182
177
172
172
177
189
179
179
216
201
191
233
208
208
203
245
245
210
210
210
264
264
305
305
312
307
307
324
319
331
336
348
348
343
350
389
379
401
393
393
415
410
410
427
422
422
422
439
439
429
453
453
453
453
448
448
470
470
467
467
595
609
609
638
633
633
645
652
652
647
659
659
769
769
769
769
781
781
829
853
853
860
860
867
879
886
937
956
968
1119
1129
1141
1153
1162
1182
1174
1189
1201
1
1
1
1
1
8
8
8
20
15
15
27
27
27
27
27
27
34
34
34
34
46
63
53
70
65
65
65
75
82
89
84
84
79
94
79
79
96
91
96
91
96
91
96
96
103
103
123
120
120
120
115
115
115
115
115
110
135
110
110
127
127
122
122
122
122
139
129
129
129
134
134
134
134
134
134
134
134
134
134
134
151
151
151
141
146
146
151
151
146
146
146
146
146
146
146
141
141
146
141
141
158
158
153
170
182
177
177
182
182
177
177
204
189
189
189
209
179
179
189
179
179
228
208
208
240
210
252
257
276
276
312
312
324
319
319
336
331
343
343
355
355
350
362
401
391
408
405
405
427
422
422
439
429
429
434
446
451
441
465
465
465
465
460
460
482
482
479
607
621
621
645
645
645
652
659
659
659
671
671
781
781
803
803
788
788
829
867
867
879
886
949
968
980
1131
1141
1153
1165
1174
1194
1186
1201
1213
1
1
1
1
1
8
8
13
20
20
15
27
27
27
27
27
34
34
34
51
53
65
75
75
60
60
82
77
77
87
84
84
94
94
79
91
91
96
96
91
96
91
96
96
96
96
96
91
91
106
91
91
108
103
103
103
103
120
120
120
115
115
110
135
127
127
127
127
122
122
122
127
127
127
127
127
127
127
147
129
129
134
139
134
129
129
129
134
134
151
151
151
141
141
146
146
146
146
146
141
146
146
141
158
158
158
158
158
158
158
158
158
153
153
153
153
153
158
165
165
165
182
182
182
177
182
182
182
189
184
184
189
189
179
179
179
189
189
216
221
208
208
208
240
264
269
288
288
336
331
331
348
343
355
367
367
362
374
408
403
417
417
439
429
429
446
441
446
458
463
453
472
472
472
472
467
467
494
494
491
547
614
633
633
645
652
652
664
659
671
671
666
678
678
788
788
815
815
829
846
841
841
867
879
879
886
961
980
992
1143
1153
1165
1177
1186
1206
1198
1213
1225
1
1
1
1
1
1
8
13
20
15
25
27
27
27
34
34
34
34
34
46
58
53
70
60
82
82
89
99
79
79
96
91
96
96
91
91
101
101
91
108
108
103
103
103
103
103
118
120
115
115
120
115
115
115
115
110
110
110
127
127
127
127
127
122
122
122
127
127
122
122
147
139
134
129
129
129
139
134
134
159
129
129
129
129
151
151
151
146
146
146
146
146
141
141
141
146
146
158
158
158
158
158
153
153
158
158
158
158
153
153
158
153
165
170
165
160
165
165
165
165
182
177
177
182
182
182
172
172
189
189
189
189
184
189
189
189
179
179
179
189
228
228
208
208
203
247
281
276
246
300
300
343
343
343
360
360
350
367
379
379
379
374
386
415
415
429
429
451
441
458
453
453
453
458
470
475
465
484
484
479
506
506
491
503
559
566
566
626
640
640
652
652
671
666
671
678
683
678
690
829
853
853
853
879
891
886
973
992
999
999
1155
1165
1177
1189
1198
1218
1210
1225
1237
1
1
1
1
8
15
25
27
32
27
34
34
34
46
51
41
41
53
53
53
53
70
60
82
84
79
79
79
101
91
91
106
91
91
103
103
103
103
103
113
113
98
98
120
115
115
115
115
115
115
115
115
115
110
110
110
125
127
127
122
122
122
122
127
127
127
127
127
122
139
134
134
129
139
134
134
159
129
129
151
151
146
141
151
146
146
151
151
146
146
146
146
146
171
141
141
146
158
158
158
158
158
158
153
158
158
153
153
153
170
160
160
165
165
165
160
165
165
165
165
165
182
177
182
182
182
182
177
172
172
172
172
177
172
172
189
189
189
184
184
189
189
189
179
184
191
203
203
240
257
259
234
276
246
246
288
288
307
312
355
355
372
372
362
379
391
391
391
386
398
427
427
451
441
441
463
453
470
470
465
465
465
470
482
487
472
491
496
496
518
518
503
510
571
561
578
578
633
652
652
671
695
690
702
769
853
860
860
872
891
898
980
980
1004
1011
1011
1167
1177
1189
1201
1210
1230
1222
1237
1249
1
1
8
8
20
27
27
27
34
41
41
46
58
53
53
53
53
53
82
89
99
79
79
96
96
113
103
103
103
108
118
98
98
98
98
98
103
115
115
115
120
110
125
125
115
127
127
127
127
127
127
127
127
122
122
122
122
137
139
139
134
134
134
151
146
146
146
171
146
158
158
158
148
153
158
158
158
158
158
158
183
153
170
160
160
165
165
165
165
165
160
165
165
182
182
182
182
182
182
172
172
177
172
177
177
172
189
184
184
184
189
189
189
189
189
189
209
179
189
184
184
184
201
196
191
196
228
198
203
215
252
252
269
234
234
234
271
271
246
288
300
319
324
343
343
362
362
384
384
374
391
403
403
403
398
410
434
434
463
453
453
475
465
482
482
472
472
472
477
494
499
503
508
508
530
530
510
522
578
573
590
590
580
633
659
659
678
707
702
714
769
769
781
860
860
879
898
1016
1023
1023
1179
1189
1201
1213
1222
1242
1234
1249
1261
1
1
1
1
1
1
1
1
13
20
15
27
27
41
46
53
58
53
53
53
94
79
79
101
91
106
103
103
98
103
103
103
125
115
125
110
115
115
115
127
127
127
127
127
137
137
127
127
139
139
134
134
134
134
134
149
129
134
146
146
146
146
146
146
146
141
146
146
146
158
158
158
148
153
148
158
158
158
183
165
165
165
165
165
170
165
165
165
195
165
160
160
160
182
182
182
182
182
177
177
177
177
189
184
189
189
189
189
189
189
189
189
184
184
201
196
201
221
196
196
196
196
213
208
208
198
198
198
203
240
220
215
264
264
239
234
234
281
283
283
300
312
331
336
355
355
367
374
374
391
391
386
398
410
410
415
405
422
475
465
465
482
477
494
494
484
484
484
501
511
530
530
515
515
515
542
542
522
547
534
590
585
580
597
597
592
659
659
678
719
714
726
769
781
793
879
1028
1035
1035
1191
1201
1213
1225
1234
1254
1246
1261
1268
1
1
1
1
8
8
25
27
27
34
34
41
53
53
58
53
53
53
53
53
65
70
84
84
84
84
101
103
103
113
103
103
103
103
103
103
115
115
120
115
110
115
115
132
127
122
132
137
122
127
127
127
127
127
127
139
134
134
149
149
129
139
134
151
141
141
141
146
146
146
146
146
146
141
141
156
146
158
153
153
158
153
158
158
158
158
158
160
165
165
165
165
195
165
165
160
160
160
182
177
177
182
182
182
177
202
177
177
177
177
177
172
189
189
189
189
189
189
189
179
189
201
196
196
196
213
213
213
208
213
228
208
203
203
203
220
215
215
220
247
239
239
271
271
251
251
288
290
290
307
312
324
331
343
348
362
362
379
386
386
398
422
422
427
417
434
465
465
482
477
477
484
489
501
506
496
496
496
513
523
542
542
527
522
522
554
554
534
559
554
546
566
592
597
592
592
609
609
604
731
726
738
793
800
800
898
1040
1047
1047
1203
1213
1225
1237
1246
1266
1258
1268
1280
1
1
1
8
13
13
20
15
37
37
34
41
41
41
41
53
53
53
58
53
53
53
65
65
60
60
60
60
72
72
82
84
91
91
98
115
115
125
115
115
120
120
115
110
110
127
127
127
122
127
117
127
127
127
127
144
134
149
129
139
139
139
134
134
134
151
146
151
151
151
146
146
141
161
161
146
146
146
146
158
153
153
153
148
148
158
158
158
158
165
165
165
165
165
160
160
160
172
182
182
177
177
207
177
177
177
172
189
189
184
189
189
189
214
189
189
184
201
201
196
213
213
208
208
203
203
220
220
220
215
220
259
239
251
251
302
302
319
324
336
343
355
360
374
391
398
398
410
439
434
434
429
446
477
477
489
489
496
513
518
508
508
525
535
554
554
534
534
534
561
561
546
571
566
553
573
578
580
604
604
604
616
616
611
743
738
755
750
800
898
1052
1059
1059
1215
1225
1237
1249
1258
1278
1268
1270
1292
1
1
1
1
1
20
27
27
27
27
27
34
44
34
44
41
53
53
53
53
53
53
65
60
60
60
60
65
60
60
82
72
77
72
94
79
91
91
113
108
98
98
115
115
115
127
127
137
137
127
127
127
127
122
139
134
134
139
129
139
139
134
134
156
156
146
146
146
146
146
141
141
141
161
161
146
146
146
158
158
158
158
148
153
158
153
183
168
168
158
153
153
165
165
165
165
165
165
170
165
165
165
165
165
165
160
160
160
160
182
177
177
177
177
177
172
172
179
189
189
184
219
189
184
189
196
201
226
226
201
201
196
191
213
213
213
208
208
208
208
208
215
215
220
220
239
271
314
314
336
331
343
355
362
367
386
398
405
405
422
451
446
446
441
458
489
489
496
496
503
530
525
515
515
537
547
561
561
541
546
546
573
553
578
578
560
585
590
592
597
616
611
611
623
750
755
762
762
813
812
1064
1071
1071
1227
1237
1249
1261
1268
1270
1290
1280
1282
1304
1
1
1
1
1
27
27
34
41
41
56
56
72
77
72
72
94
84
89
106
103
103
103
125
115
115
127
127
127
122
122
127
117
117
122
122
149
149
134
134
134
139
139
139
149
129
134
134
146
151
151
141
141
146
146
141
141
141
161
161
146
146
146
168
168
153
153
158
158
153
173
173
158
170
170
160
165
165
165
165
160
195
180
165
160
160
160
160
160
165
182
182
182
172
172
177
177
177
177
177
177
177
177
177
172
172
177
189
189
184
184
184
184
189
184
184
189
189
231
201
191
213
213
213
208
208
208
213
213
213
238
238
208
208
208
208
215
220
220
220
220
239
283
326
326
343
343
348
362
374
386
398
410
417
417
429
434
434
458
458
463
453
470
496
496
508
515
542
537
522
522
522
549
554
559
541
573
553
558
558
560
590
585
585
572
597
597
604
616
611
623
623
630
659
762
767
762
774
820
800
800
824
1076
1083
1083
1239
1249
1261
1273
1282
1302
1292
1294
1316
1
1
1
27
27
34
34
68
68
53
53
60
60
84
89
101
96
101
118
98
98
115
115
115
115
115
115
110
110
115
127
132
122
122
122
139
134
134
139
139
129
134
151
151
156
156
146
141
156
146
158
158
153
153
153
148
158
168
168
158
175
175
170
170
165
160
160
160
180
180
160
160
160
165
165
182
182
182
172
182
182
177
177
177
202
192
177
177
189
189
189
189
184
184
184
189
189
184
184
189
184
184
189
196
196
201
191
191
213
213
243
198
198
208
208
215
215
215
220
220
220
220
220
245
245
220
220
220
295
338
338
355
360
374
386
398
410
422
429
429
441
441
446
470
475
470
460
482
482
508
503
520
520
522
547
549
534
534
534
554
554
561
566
571
570
570
585
572
597
597
597
584
604
609
611
616
635
630
659
678
762
762
779
774
786
800
812
812
831
858
858
1088
1095
1095
1251
1261
1273
1285
1294
1314
1304
1306
1328
1
1
1
27
27
27
34
34
34
34
34
34
75
80
60
60
60
72
72
72
72
72
72
91
101
103
113
115
130
110
115
127
127
117
117
122
122
139
144
134
134
134
129
134
129
134
129
146
146
141
146
146
158
158
158
153
153
165
165
160
160
160
160
180
160
160
165
182
187
187
182
177
177
189
189
189
184
184
189
184
184
214
199
179
179
179
179
189
189
196
196
196
196
196
196
201
191
191
208
208
220
220
250
227
227
232
257
257
307
350
350
367
367
386
398
405
410
422
434
429
441
441
453
453
453
453
487
482
482
472
494
494
520
532
532
559
546
546
546
566
566
561
578
578
573
560
560
577
577
577
577
597
597
584
604
609
596
616
616
623
630
630
642
666
791
786
798
820
812
824
819
858
865
865
1100
1107
1107
1263
1273
1285
1297
1306
1326
1316
1318
1340
1
1
1
27
27
34
34
34
34
46
41
46
46
68
53
60
60
87
92
72
72
72
79
79
79
79
79
79
103
103
113
98
98
125
115
127
127
127
122
142
122
122
122
134
134
129
129
134
129
129
146
156
146
151
141
146
153
153
153
165
160
160
165
182
182
182
177
172
172
192
177
177
172
172
172
199
199
189
184
184
184
184
179
179
189
196
196
196
196
226
231
208
198
198
198
208
203
215
232
262
239
239
244
269
269
319
362
362
379
398
410
417
422
429
441
441
453
448
460
465
465
460
460
499
494
494
484
506
506
491
532
522
522
544
544
571
558
558
558
578
578
573
585
590
585
572
589
589
604
609
596
616
616
608
623
630
666
678
803
798
810
819
831
865
865
865
865
865
877
903
1112
1119
1119
1275
1285
1297
1309
1318
1338
1328
1330
1352
1
1
1
1
1
1
1
1
27
27
34
34
34
34
46
58
58
53
53
75
80
60
60
72
72
94
99
79
79
79
91
91
91
91
103
115
115
115
115
115
120
115
127
122
132
117
117
122
122
122
139
134
134
154
129
129
134
151
151
151
141
146
146
141
168
153
158
153
158
158
160
160
160
165
165
165
182
177
177
192
172
177
172
172
184
184
184
204
204
179
179
179
184
189
189
189
211
211
196
196
196
196
208
208
213
238
243
203
203
215
215
239
239
244
244
274
274
234
246
246
281
281
251
331
374
374
391
410
415
422
429
429
448
453
465
460
472
472
472
484
484
506
506
496
491
511
511
513
513
503
544
534
551
551
578
570
570
570
585
585
585
597
597
597
584
601
601
616
608
623
628
620
815
810
822
865
865
865
877
872
872
884
884
903
910
1119
1131
1131
1287
1297
1309
1321
1330
1350
1340
1342
1364
1
1
1
1
27
27
27
27
39
34
46
41
41
53
53
53
53
60
60
65
65
87
92
87
79
79
79
111
103
98
98
103
115
115
127
122
122
117
122
139
144
129
134
134
129
129
146
146
166
166
146
141
146
146
158
153
158
158
158
158
180
160
165
165
182
182
177
177
177
172
177
177
172
189
184
184
189
184
199
189
179
184
184
184
184
196
196
216
216
191
196
223
223
208
208
208
213
198
220
215
250
250
220
215
215
244
234
234
234
246
246
286
286
251
251
293
293
343
386
386
403
422
427
434
449
441
453
453
460
465
477
472
484
479
479
479
511
506
508
503
523
523
518
518
510
546
556
563
563
590
582
582
577
597
597
597
592
604
609
604
596
613
613
628
615
630
635
627
800
827
822
834
877
872
872
884
891
910
1119
1131
1143
1138
1299
1309
1321
1333
1342
1362
1352
1354
1376
1
1
1
27
34
34
34
34
34
34
51
58
58
53
60
60
77
72
72
99
94
99
79
79
79
79
91
91
103
123
103
103
103
110
110
115
115
115
115
117
117
117
127
127
134
134
134
129
129
129
129
129
134
134
134
156
156
146
146
146
146
146
146
158
153
178
178
153
165
160
160
192
182
177
177
177
177
177
189
189
184
189
189
189
184
184
184
184
196
196
201
191
196
196
196
208
208
223
223
203
235
235
215
220
220
215
215
215
227
262
262
239
239
239
234
234
251
293
293
305
305
355
398
398
415
434
434
446
461
453
465
465
472
472
489
479
499
484
496
523
518
520
510
535
525
525
535
530
530
517
541
558
568
575
575
597
594
589
589
604
609
604
604
616
608
625
625
635
635
642
647
639
762
812
839
834
846
865
865
884
891
1131
1138
1155
1150
1311
1321
1333
1345
1354
1374
1364
1366
1388
1
1
1
1
1
1
13
34
34
41
41
41
63
53
60
60
65
65
65
72
89
79
79
79
79
79
111
111
91
91
103
113
98
98
103
103
125
135
110
110
110
115
115
115
115
122
122
122
127
127
127
127
127
127
122
134
129
129
129
134
139
129
146
151
141
141
146
146
146
146
146
146
163
163
158
153
158
158
158
165
185
185
165
165
177
177
177
177
177
177
177
204
189
189
184
196
196
196
196
208
208
208
208
203
203
203
220
215
215
247
247
239
239
274
274
239
239
251
251
246
246
305
305
317
317
367
386
386
405
405
410
427
446
441
441
458
473
465
472
472
479
484
501
511
491
508
518
518
535
530
517
522
522
522
522
542
532
537
537
542
542
542
544
570
580
597
587
587
604
604
606
601
616
611
623
620
635
637
637
647
647
659
651
800
824
851
846
858
877
910
1150
1167
1162
1323
1333
1345
1357
1366
1376
1381
1378
1400
1
1
1
1
1
1
1
1
25
34
34
34
34
34
34
34
34
41
41
75
60
60
60
77
72
79
91
91
101
103
123
98
98
98
123
115
120
115
115
122
132
147
127
127
127
127
122
134
134
134
129
134
134
134
129
139
139
139
134
129
151
146
146
141
141
146
146
146
146
146
141
153
158
148
148
158
158
158
158
148
165
170
182
182
197
197
177
177
177
177
177
179
189
189
189
189
216
201
196
208
208
208
208
203
203
220
215
220
259
259
239
286
286
251
251
246
246
317
317
329
329
379
398
398
417
422
439
429
429
458
470
480
472
479
479
479
491
523
498
513
525
530
530
520
522
522
542
537
544
534
534
554
544
549
549
554
549
549
556
560
582
587
604
599
599
611
616
618
613
628
623
635
632
649
649
659
659
671
663
762
812
831
863
858
865
870
884
910
1162
1179
1174
1335
1345
1357
1369
1378
1388
1393
1390
1407
1
1
1
1
1
1
1
13
32
27
27
34
34
34
34
34
46
41
41
46
53
63
53
53
53
60
60
60
60
82
89
89
79
79
79
79
79
91
91
103
108
98
98
115
135
135
115
122
134
134
134
144
159
134
139
139
129
146
146
146
146
146
141
141
146
146
146
146
141
141
141
158
148
148
148
158
153
158
158
158
148
153
148
148
165
170
170
160
182
182
177
177
177
177
177
189
189
209
209
179
179
189
189
189
189
201
201
196
228
208
208
208
208
208
208
215
220
220
227
239
271
271
298
298
329
329
341
341
391
405
405
429
429
451
441
441
470
482
492
479
479
511
506
503
498
530
510
530
525
537
522
522
522
542
542
532
534
554
549
556
541
541
561
556
556
556
561
561
561
568
560
560
572
594
599
606
606
615
630
625
640
635
647
644
661
661
671
671
683
675
805
824
831
865
870
870
877
882
1174
1191
1186
1347
1357
1369
1381
1390
1400
1402
1419
1
1
1
1
1
1
1
13
25
34
44
34
34
34
34
58
53
58
75
60
60
60
72
79
79
79
79
79
79
91
91
91
101
101
91
103
103
103
103
98
98
98
98
98
120
122
122
142
147
122
122
134
129
129
129
129
146
151
156
166
146
146
141
141
146
146
146
146
141
141
158
153
148
148
148
158
153
158
158
153
148
153
153
148
165
160
160
170
170
160
160
160
177
177
177
177
172
189
189
179
189
179
179
189
189
179
189
221
221
201
208
208
208
208
208
208
240
220
239
283
283
310
310
341
341
341
341
353
353
391
403
417
429
441
436
436
463
448
448
482
494
499
518
523
518
510
530
525
522
522
522
542
522
542
537
549
534
534
549
549
544
541
561
556
561
568
563
568
568
568
573
568
560
560
560
575
572
577
584
589
606
606
618
618
627
627
642
637
652
647
659
656
673
673
683
683
695
687
812
831
882
877
889
894
1186
1203
1198
1359
1369
1381
1393
1402
1412
1414
1431
1
1
1
1
1
1
13
25
34
34
34
46
51
46
41
41
41
41
53
53
65
60
60
60
60
65
65
82
72
79
79
79
79
79
79
91
91
103
108
113
98
98
98
103
115
115
115
115
122
132
122
134
134
159
129
129
129
134
151
141
141
141
141
141
146
153
168
178
148
148
158
153
153
153
158
165
160
160
160
160
160
160
170
160
160
182
182
177
177
177
177
172
172
172
172
189
189
179
189
189
201
191
191
233
233
208
208
208
208
252
271
271
290
290
322
322
353
353
353
353
360
360
403
410
429
441
448
475
455
455
494
489
499
479
499
506
506
498
530
535
530
525
517
522
522
522
522
522
522
522
542
537
534
534
549
534
554
544
556
541
546
561
561
551
568
573
568
575
575
575
575
580
585
572
587
584
591
601
618
618
625
625
639
654
649
664
659
671
668
685
685
695
695
707
699
812
831
843
870
894
896
906
1198
1215
1210
1371
1381
1393
1405
1414
1424
1426
1443
1
1
1
1
1
1
25
37
34
34
34
34
34
46
41
41
53
53
53
53
53
53
60
60
60
60
60
65
77
72
103
98
98
98
98
98
98
98
98
98
98
123
103
103
103
103
103
103
103
115
120
125
110
115
115
115
122
122
147
127
127
134
134
144
129
129
146
146
171
171
146
146
141
141
141
141
146
146
146
148
148
153
153
153
158
153
180
190
190
160
160
160
160
160
160
160
182
182
167
177
177
177
172
172
172
177
184
179
179
179
189
189
189
189
201
208
203
245
245
264
239
283
283
302
334
334
360
360
365
365
365
365
372
410
410
441
448
448
448
463
460
455
487
506
496
496
511
503
498
518
518
510
542
542
537
537
534
534
549
534
554
549
541
546
546
546
561
556
556
568
553
568
568
563
585
587
582
592
597
579
594
591
606
613
630
637
637
664
651
666
661
676
671
683
680
697
697
707
707
714
714
711
812
831
843
865
870
850
882
877
906
918
1210
1227
1222
1383
1393
1405
1417
1426
1436
1438
1455
1
1
1
1
1
27
27
27
27
37
49
46
41
41
41
58
53
58
53
53
53
60
60
60
60
60
60
65
72
77
77
77
89
89
91
91
98
98
98
98
103
103
103
103
103
103
110
110
110
110
110
135
115
115
110
115
115
122
122
122
132
137
127
127
127
127
127
127
159
129
139
146
156
146
146
141
146
146
158
183
183
153
153
153
153
158
160
160
160
160
165
192
202
202
167
167
167
177
177
172
177
177
177
179
184
184
184
179
179
189
189
189
196
208
208
257
257
239
276
290
290
314
346
346
346
372
377
377
377
377
384
384
391
422
429
429
429
453
460
460
460
455
475
472
482
479
499
523
518
530
530
517
522
549
554
549
549
541
541
546
561
556
553
553
568
568
558
573
563
575
570
575
597
594
594
604
609
625
625
642
649
649
671
663
678
673
688
683
695
692
709
709
719
714
714
726
726
723
825
812
831
843
865
850
877
877
877
877
894
918
915
930
1222
1239
1234
1395
1405
1417
1429
1438
1448
1450
1467
1
1
1
1
1
27
27
44
34
34
34
49
34
34
41
61
58
53
70
70
60
60
60
60
60
60
60
60
72
72
77
77
77
89
101
101
91
110
110
110
110
110
110
115
115
110
110
122
122
122
122
122
142
117
127
127
127
127
127
127
144
149
134
139
139
139
166
146
146
146
168
148
153
153
153
158
190
190
160
165
165
177
177
177
177
204
209
209
179
184
184
184
184
184
191
196
196
196
208
208
203
203
215
269
269
239
234
276
288
302
314
326
358
358
358
384
384
384
384
384
396
396
386
403
410
410
429
441
441
441
465
470
472
467
467
487
484
494
511
530
530
522
537
542
534
561
561
561
556
556
553
553
573
563
568
560
575
565
580
575
582
609
606
616
621
625
637
637
654
661
661
671
683
675
690
685
695
700
707
699
699
721
721
731
738
738
730
730
832
832
812
843
850
877
889
884
884
896
906
915
930
922
942
1234
1251
1246
1381
1407
1417
1429
1441
1450
1460
1462
1479
1
1
1
39
34
34
51
61
61
53
53
53
73
73
65
65
60
60
60
60
65
77
77
72
72
72
72
84
84
79
79
96
108
108
103
103
115
122
122
127
127
134
129
129
129
134
129
134
134
129
129
139
139
134
156
156
146
146
146
146
146
178
153
153
175
160
165
177
177
177
172
179
184
184
184
184
184
184
216
221
221
196
196
196
208
208
208
215
220
215
257
257
239
239
234
234
276
276
246
288
295
314
326
333
365
365
370
396
396
396
403
403
398
405
405
410
422
422
436
448
448
448
472
482
484
474
474
484
494
491
506
523
520
522
522
542
542
534
549
549
546
556
553
568
568
560
560
560
580
570
575
572
577
597
597
594
594
604
621
618
628
633
649
649
661
661
671
673
673
678
690
687
702
692
692
712
707
719
733
733
743
750
750
742
742
812
844
844
824
831
850
884
884
896
896
903
918
922
942
954
1246
1258
1263
1393
1407
1419
1429
1441
1453
1462
1472
1474
1491
1
1
1
34
34
34
34
41
51
41
53
68
68
53
53
60
60
60
60
80
80
77
72
72
79
79
84
91
91
98
103
103
103
103
120
120
110
115
115
115
115
117
127
127
127
127
134
129
129
134
134
134
134
129
129
141
141
141
141
141
146
146
146
146
146
146
168
158
153
153
153
190
165
165
187
177
177
177
177
177
177
184
184
184
184
196
196
196
228
233
233
208
208
203
208
208
203
203
215
215
220
220
220
215
269
269
239
234
246
246
288
295
326
333
345
382
408
408
408
415
415
405
417
417
417
417
429
429
456
455
455
455
455
479
484
494
491
496
506
498
513
520
530
522
532
534
549
549
561
546
556
561
558
560
580
580
575
572
582
582
584
594
589
604
606
623
633
630
640
645
661
661
678
685
685
690
702
699
714
704
704
724
719
731
745
745
755
762
762
754
754
832
824
831
843
896
903
908
908
930
954
966
1258
1275
1270
1419
1431
1441
1453
1465
1474
1484
1486
1503
1
1
27
27
27
27
34
34
34
34
46
53
53
63
53
60
60
92
92
89
79
79
79
79
79
84
84
91
91
96
103
103
98
103
103
103
103
103
115
115
115
115
115
132
132
122
122
122
122
122
137
127
127
127
127
127
127
127
127
127
127
129
129
139
161
161
141
141
141
156
146
146
146
158
158
158
153
153
153
180
180
165
165
165
202
177
177
177
177
177
177
177
172
177
199
199
189
184
184
184
184
184
196
196
196
208
203
208
240
245
245
215
220
220
220
227
227
239
239
239
234
276
276
246
300
338
338
345
357
357
389
413
420
420
420
412
412
427
427
424
424
444
436
436
436
468
465
470
482
479
479
491
496
501
498
508
513
510
525
522
532
542
549
544
561
546
556
561
553
553
568
560
565
570
575
575
572
579
594
591
591
601
611
618
645
642
652
657
673
673
678
690
697
697
702
709
711
726
716
716
736
731
743
757
757
767
774
774
766
766
836
843
850
908
915
915
922
942
966
978
1270
1287
1282
1431
1443
1453
1465
1477
1486
1496
1498
1515
1
1
1
1
25
37
27
27
27
27
34
34
34
34
34
39
34
46
53
53
53
58
53
53
53
60
60
75
60
60
72
79
104
104
101
91
91
91
91
96
103
103
103
103
115
115
127
127
127
127
127
127
122
127
127
127
127
127
127
144
144
134
149
134
139
139
139
139
141
141
146
141
173
173
153
168
148
148
148
158
158
158
148
153
160
165
160
160
165
165
192
192
167
167
177
177
177
177
177
177
177
177
177
214
189
189
189
189
184
184
184
184
211
211
201
196
196
208
208
208
203
220
220
215
220
215
252
257
257
227
227
239
234
288
312
350
350
357
369
369
396
425
427
427
427
432
439
439
431
431
456
436
456
463
463
480
455
470
477
482
474
494
501
508
513
513
510
515
522
522
532
534
544
549
546
551
561
553
553
568
568
580
577
582
584
606
611
613
623
630
657
654
664
669
685
685
702
709
704
709
723
738
728
728
748
743
755
769
769
779
786
786
778
778
843
850
896
915
922
954
978
990
1282
1299
1294
1443
1455
1465
1477
1489
1498
1508
1510
1527
1
1
1
1
27
27
27
37
37
34
34
34
34
34
34
34
34
34
34
34
49
49
51
53
53
53
53
53
53
65
65
70
60
72
77
87
84
84
91
91
91
91
111
116
116
96
91
91
113
113
103
103
103
103
125
115
115
110
127
122
122
127
127
127
127
122
129
129
139
139
129
139
139
139
134
161
161
156
156
156
146
146
146
146
141
141
146
146
141
141
141
153
148
148
148
148
158
158
148
153
148
148
158
180
180
160
180
175
160
160
165
160
165
165
177
177
177
177
177
177
177
177
199
199
199
189
189
189
189
189
189
189
184
226
201
201
218
218
208
208
203
208
208
220
215
220
227
259
269
269
239
300
319
357
357
369
376
376
396
408
437
424
424
434
434
434
444
431
446
446
436
468
468
475
475
455
475
482
487
482
482
474
489
489
494
506
498
498
508
508
508
498
498
498
498
515
520
522
527
534
549
546
551
561
553
553
558
558
563
568
580
592
589
594
591
591
618
625
635
635
642
669
666
676
681
678
690
697
697
709
716
716
735
750
740
740
760
755
767
781
781
791
798
798
790
790
843
850
966
990
1002
1294
1311
1306
1455
1467
1477
1489
1501
1510
1520
1522
1534
1
1
1
1
1
1
1
27
27
34
34
34
39
34
34
34
39
34
44
44
46
46
56
56
53
63
53
53
53
60
60
72
72
72
82
77
89
99
79
79
79
91
91
91
91
96
91
91
91
103
98
103
128
123
123
128
98
103
103
125
125
110
115
110
110
110
115
137
122
122
122
122
122
129
129
129
129
139
139
134
134
141
141
146
146
146
141
141
146
146
146
146
146
146
141
141
146
173
173
168
168
148
148
148
158
158
153
148
153
153
148
158
158
160
160
165
165
160
160
160
160
160
160
192
192
187
167
167
167
177
177
177
172
177
177
189
189
189
189
189
189
184
211
201
238
208
208
208
208
208
230
230
240
220
220
227
239
281
281
300
312
331
367
381
388
388
405
429
444
436
436
446
446
431
446
451
456
453
453
480
475
470
470
487
487
487
482
494
489
499
479
494
494
501
496
501
498
498
513
510
515
515
510
510
520
527
532
534
534
546
553
553
563
568
568
565
565
570
592
604
601
606
603
603
635
635
635
635
635
635
630
637
647
654
681
678
688
693
702
709
709
728
747
762
752
752
772
767
779
793
793
803
810
810
802
802
832
850
978
1002
1009
1306
1323
1318
1467
1479
1489
1501
1513
1522
1527
1534
1546
1
1
1
1
1
1
1
27
27
27
27
27
34
34
34
34
34
34
51
51
53
53
53
58
58
68
68
75
60
60
60
72
72
72
72
77
94
79
79
84
84
101
111
91
91
91
96
113
103
98
98
103
110
110
135
130
130
135
110
110
115
110
110
110
110
110
115
115
115
137
137
122
117
117
127
122
122
122
149
129
129
129
134
134
141
141
141
141
141
146
146
146
146
146
146
146
148
148
158
153
153
153
158
158
153
180
180
180
180
160
160
160
160
160
160
160
160
160
160
177
177
177
172
172
172
177
204
199
204
199
189
189
179
189
189
189
189
201
223
208
208
208
208
250
242
242
252
227
293
293
312
324
343
379
391
386
386
393
400
400
417
429
434
441
456
451
443
443
458
458
463
463
465
465
470
470
470
470
487
487
482
482
494
494
499
494
506
501
506
506
501
513
508
513
515
510
525
522
517
517
534
546
558
553
553
568
568
568
565
565
565
570
580
582
604
591
591
591
606
616
613
618
610
610
647
647
647
642
649
654
666
693
690
690
700
705
709
721
721
740
759
774
764
764
784
779
791
805
805
815
822
822
814
814
844
896
990
1009
1021
1318
1335
1330
1479
1491
1501
1513
1520
1534
1534
1546
1558
1
1
1
1
1
1
27
27
34
34
34
34
34
39
34
39
34
34
39
34
39
34
34
34
41
53
53
53
58
58
53
53
53
53
60
60
65
60
65
80
80
72
72
72
72
82
104
84
101
91
91
91
91
91
96
91
91
113
123
103
103
103
98
98
98
103
98
103
103
103
125
110
110
110
110
110
110
110
110
115
115
115
115
122
122
147
147
127
122
122
127
127
149
149
149
129
129
129
129
129
134
129
129
134
161
141
141
141
141
141
141
146
146
141
141
146
146
153
153
153
153
158
158
160
160
160
165
165
160
192
192
192
167
177
177
172
172
177
177
204
179
179
179
189
189
189
189
216
211
216
211
201
208
235
262
254
254
259
290
290
305
305
319
324
336
346
343
348
355
386
403
398
398
405
415
412
412
424
434
441
448
463
463
463
450
450
470
470
475
475
477
477
482
482
482
482
499
494
494
494
506
506
506
506
513
513
498
498
513
513
520
515
515
520
517
532
532
534
553
553
553
553
553
565
565
565
570
572
572
592
591
616
603
603
603
628
625
630
654
654
654
654
661
678
678
705
702
702
712
717
733
733
752
771
786
776
776
796
791
803
817
817
832
827
834
834
826
826
896
908
1002
1033
1330
1347
1342
1491
1503
1513
1520
1527
1532
1546
1546
1553
1553
1570
1
1
1
1
1
1
1
27
27
27
34
34
34
34
34
34
34
51
51
41
41
51
51
41
41
53
53
53
58
53
58
53
53
53
53
60
65
65
60
60
60
72
72
77
77
92
92
84
79
79
84
84
84
79
79
101
91
91
91
91
91
91
111
96
96
96
96
113
103
98
98
103
103
120
115
115
110
110
135
135
110
110
110
110
115
115
115
137
137
122
122
127
127
127
127
127
127
134
134
159
159
134
134
134
129
134
139
161
161
156
141
141
141
141
146
146
168
153
153
158
153
158
158
160
160
160
165
165
165
165
165
165
160
160
177
177
177
177
177
204
204
204
209
204
179
179
216
223
223
223
223
223
208
208
208
252
242
274
271
266
266
302
302
317
317
331
336
343
358
343
355
360
362
362
386
386
393
393
410
405
405
417
427
434
424
424
434
434
431
431
446
448
453
453
455
475
475
482
482
482
482
479
489
489
494
494
494
494
506
501
501
513
513
518
513
525
520
515
515
510
525
515
520
532
534
546
563
565
577
572
604
603
628
615
615
610
635
640
637
642
666
668
690
717
704
714
714
724
729
745
745
764
783
798
788
788
808
803
815
829
829
839
846
846
838
838
908
915
1014
1045
1342
1359
1354
1503
1515
1525
1520
1544
1553
1553
1558
1565
1565
1582
1
1
1
1
1
1
1
27
34
34
34
34
34
34
34
41
41
58
63
53
53
58
63
53
53
53
60
60
60
65
65
60
60
72
72
72
72
77
72
72
84
89
89
104
104
79
84
91
91
91
91
91
91
91
91
91
96
91
96
113
98
98
123
108
108
98
98
103
110
110
110
110
125
125
115
110
115
127
122
147
147
127
127
127
127
149
149
129
129
129
139
139
139
139
139
134
146
171
171
146
141
146
146
146
146
168
173
168
153
158
160
160
165
165
165
165
165
177
177
177
177
209
184
216
216
216
221
216
196
223
208
208
235
235
235
235
252
264
254
234
286
283
278
278
305
305
314
314
324
324
346
343
343
365
365
365
355
362
362
367
374
374
398
398
417
412
412
424
439
436
436
446
446
458
463
455
465
482
487
482
489
489
489
489
494
494
501
501
501
501
501
501
498
498
513
513
525
525
525
532
532
527
527
517
532
539
558
558
553
553
563
570
572
589
596
616
610
635
635
640
622
622
647
652
649
649
678
680
702
729
716
716
726
721
736
741
757
757
776
795
810
800
800
815
815
815
832
827
841
841
851
858
858
850
850
882
915
1026
1057
1354
1371
1366
1515
1520
1527
1537
1532
1556
1570
1577
1577
1594
1
1
1
34
34
34
34
34
41
41
41
41
53
53
53
53
53
75
75
75
65
65
72
72
72
72
72
72
72
77
77
72
84
84
84
94
79
79
84
91
91
91
101
91
101
91
91
91
91
116
116
116
116
96
91
91
96
103
103
98
98
108
120
110
110
135
115
115
115
110
115
110
122
132
132
117
134
154
154
134
139
139
134
134
134
134
139
139
156
161
141
146
146
146
146
146
183
183
148
148
153
158
185
180
160
160
165
177
177
177
172
172
204
204
189
189
184
184
221
196
196
228
228
223
223
228
223
208
235
247
247
252
242
247
247
264
234
234
271
266
298
295
290
290
317
317
326
326
336
358
355
377
377
372
372
362
374
374
384
384
374
374
381
386
405
405
417
412
431
446
443
443
458
458
450
470
477
494
494
501
501
501
498
513
508
513
498
498
513
513
513
513
510
510
520
520
532
532
532
539
539
539
534
570
565
565
565
565
570
602
601
603
603
628
625
625
635
647
652
659
664
661
690
690
692
714
741
728
738
748
753
769
769
788
807
822
812
812
827
822
827
822
844
839
848
848
863
870
870
862
862
889
896
908
915
1009
1038
1069
1366
1378
1383
1527
1539
1549
1544
1568
1582
1589
1589
1606
1
1
34
34
34
34
34
34
34
34
34
34
34
34
41
41
53
60
65
82
87
72
87
72
84
84
89
89
84
91
91
91
91
101
91
91
96
91
91
96
103
103
113
98
98
123
123
123
123
113
108
108
108
108
110
110
110
110
110
110
110
110
110
110
110
110
110
115
115
115
115
110
120
110
147
127
127
134
129
129
129
129
134
134
134
134
166
166
146
146
146
146
146
146
168
173
148
148
148
148
148
153
195
195
165
165
160
197
192
177
177
172
172
189
189
184
216
216
196
196
196
228
203
208
208
240
240
235
220
215
247
259
259
264
254
259
259
234
271
283
278
310
307
302
302
324
324
338
338
338
338
348
365
367
384
384
369
396
396
381
396
396
386
388
408
398
400
400
412
412
412
431
443
458
450
450
450
465
465
482
489
506
501
506
498
498
513
513
513
510
520
520
520
520
520
520
520
532
522
522
553
568
570
582
572
572
582
609
609
613
625
625
640
637
637
659
664
666
676
676
673
678
702
702
704
726
753
740
750
760
765
781
781
800
819
834
824
824
839
839
851
860
855
875
882
882
874
874
889
889
901
908
915
915
1009
1021
1050
1081
1378
1395
1390
1539
1551
1561
1556
1580
1594
1601
1601
1618
34
34
34
34
34
34
34
34
34
46
46
53
53
53
53
53
53
65
72
72
84
84
99
79
79
99
84
91
91
91
96
101
91
91
91
91
91
91
91
101
96
91
91
91
91
91
91
96
91
103
113
98
98
108
103
103
108
108
108
110
110
110
110
110
110
125
110
135
135
125
115
115
115
115
115
110
120
115
110
110
122
122
122
127
127
127
127
127
122
134
134
159
129
146
146
146
146
141
141
146
146
178
178
148
158
158
180
180
160
160
160
165
160
207
207
177
177
209
199
189
189
184
184
196
196
196
223
223
208
208
208
203
208
220
220
215
215
247
247
247
227
259
234
266
266
276
276
266
266
271
283
295
295
285
310
322
319
314
314
336
348
343
350
350
350
350
360
377
372
372
369
379
381
391
391
391
381
388
403
403
398
420
405
410
412
412
465
450
465
462
462
477
477
494
484
506
501
501
501
498
498
498
513
513
510
525
525
520
520
520
522
532
529
529
568
565
565
572
594
609
606
625
625
625
622
652
649
649
649
666
666
666
676
668
688
683
683
685
714
714
716
738
765
752
762
772
777
793
793
812
831
846
836
836
851
851
848
848
848
863
855
872
862
887
889
894
894
886
886
896
896
908
915
1033
1062
1093
1390
1407
1402
1551
1563
1573
1568
1592
1606
1613
1613
1630
27
27
34
34
34
34
34
34
34
34
41
41
53
53
58
58
53
53
60
60
65
72
72
72
72
84
79
79
84
91
91
91
91
91
96
106
106
96
91
96
91
91
103
103
113
98
98
98
113
98
98
108
103
108
103
103
103
103
110
110
110
110
110
110
110
125
115
110
115
115
110
110
110
110
120
115
115
115
122
122
122
132
147
147
132
127
117
127
127
127
127
127
122
134
134
129
129
129
129
129
129
134
161
146
171
146
146
146
146
146
146
146
146
141
146
146
146
146
141
141
141
153
158
158
158
158
158
180
190
190
165
165
165
160
160
165
165
192
177
177
177
177
209
219
219
189
189
184
184
221
211
196
196
208
208
235
220
215
247
247
227
227
259
234
271
266
278
278
288
288
278
283
295
307
307
297
322
329
331
326
326
348
360
355
357
357
357
357
367
362
362
389
391
386
393
388
408
393
410
410
405
432
412
412
422
419
419
429
429
446
455
465
450
465
477
462
474
474
484
484
506
491
513
513
510
520
520
520
520
522
537
537
529
544
549
541
566
570
570
577
572
606
616
616
637
622
637
664
656
656
688
680
700
695
695
697
726
721
721
728
750
777
764
774
784
789
805
805
824
843
858
848
848
863
863
860
855
875
862
884
899
896
896
906
906
898
898
908
927
1045
1074
1105
1402
1419
1414
1563
1575
1585
1580
1604
1618
1625
1625
1642
1
34
34
34
34
34
34
34
34
46
41
41
41
41
41
41
46
41
41
41
41
53
53
53
53
65
65
65
65
65
60
72
72
72
79
79
79
79
79
84
91
96
91
91
91
96
91
91
103
103
103
103
98
98
98
98
98
103
108
108
103
103
103
103
110
110
110
125
110
125
115
110
115
115
115
110
110
115
120
115
115
115
122
122
122
122
137
127
117
127
127
127
122
127
127
127
127
127
127
122
122
122
129
144
154
159
159
144
134
129
139
129
129
129
134
134
146
146
146
141
141
146
141
141
141
173
153
153
153
183
148
158
158
158
153
158
153
153
170
170
170
165
165
165
160
160
160
160
165
165
192
202
202
177
177
177
177
177
177
177
177
177
177
204
189
184
221
231
231
196
228
223
208
208
208
208
203
208
220
247
227
259
259
266
283
278
290
290
295
295
290
295
307
322
314
314
309
314
314
329
333
333
343
360
367
362
369
369
379
374
374
386
386
401
388
408
393
393
400
420
400
400
400
415
412
412
434
434
434
434
439
434
424
434
426
426
441
441
453
458
477
479
489
474
484
484
491
491
486
486
518
525
517
529
549
549
529
529
549
556
553
568
573
573
573
577
577
589
616
618
628
649
644
676
683
700
692
712
709
721
721
738
733
733
740
762
789
776
786
796
801
817
817
836
855
870
860
860
855
875
875
872
862
887
896
896
896
911
908
908
918
918
910
910
915
915
927
927
934
1057
1086
1117
1414
1431
1426
1575
1587
1597
1592
1616
1630
1637
1637
1654
1
1
1
1
1
34
34
34
34
34
34
34
34
34
41
41
53
53
53
53
53
53
53
53
53
65
60
60
65
65
60
72
87
72
87
91
91
96
91
103
103
103
103
103
113
113
98
98
98
98
98
103
108
98
108
103
110
110
110
110
110
110
110
110
115
110
120
110
115
122
137
137
137
137
127
127
127
122
122
127
127
127
127
127
127
122
122
122
122
129
129
129
149
134
134
134
129
129
129
139
129
139
139
139
129
129
129
129
134
134
134
134
134
156
156
171
166
166
171
156
156
146
141
141
141
141
141
146
146
141
146
141
146
141
146
153
153
153
153
153
158
153
153
180
195
160
170
170
170
160
160
177
177
177
177
177
177
177
177
177
177
172
199
204
214
214
189
189
189
189
189
189
216
231
231
228
223
243
243
235
220
227
259
266
266
278
295
285
290
302
302
302
307
319
309
334
326
326
321
326
326
341
341
345
355
372
367
377
379
369
369
391
381
381
381
381
396
398
398
408
408
420
415
407
407
432
427
412
412
407
407
427
434
434
424
434
446
446
451
436
441
453
453
453
455
465
470
489
496
486
508
498
498
530
520
520
520
537
529
561
561
541
541
568
573
560
580
580
577
577
577
577
589
601
623
630
635
627
627
661
688
712
704
724
721
733
750
740
740
752
774
801
788
793
808
813
829
829
843
867
882
872
872
862
887
887
884
899
908
908
923
915
915
930
930
922
922
927
934
934
934
934
934
934
1069
1098
1129
1426
1443
1438
1587
1599
1609
1604
1628
1642
1649
1649
1666
1
1
1
1
1
1
1
27
34
34
41
41
41
41
53
53
53
65
65
65
72
77
72
77
99
79
99
91
91
91
91
91
91
91
91
91
103
98
103
108
98
103
108
103
110
110
110
110
110
115
115
125
125
115
110
110
115
110
110
120
115
115
115
110
115
122
147
127
122
122
122
122
122
129
129
149
149
129
129
129
149
149
129
129
129
139
139
139
129
129
129
129
134
134
134
134
161
141
141
141
141
146
146
146
146
146
141
141
146
146
146
146
146
146
153
168
168
178
173
173
178
168
168
148
153
153
153
158
158
153
153
158
153
165
165
160
160
207
177
177
177
177
177
177
177
177
172
189
189
189
211
216
226
226
196
223
243
243
235
250
250
242
227
271
271
278
290
290
307
297
302
314
314
309
319
324
331
321
341
338
338
328
333
333
353
353
357
362
384
379
389
391
403
388
388
393
393
408
405
405
420
410
420
415
432
412
422
427
434
434
439
439
434
419
419
439
446
436
446
446
431
431
453
453
458
453
453
453
453
448
453
460
460
477
477
496
498
508
498
510
510
542
532
549
529
573
573
548
548
568
580
570
580
580
589
589
596
613
608
623
625
625
625
635
637
637
647
634
634
668
668
700
724
716
736
733
740
762
764
781
793
813
800
805
820
825
841
836
843
855
879
894
884
884
899
899
896
896
896
911
908
908
920
915
915
935
927
942
942
934
934
934
934
934
946
946
946
1081
1110
1141
1438
1455
1450
1599
1611
1621
1616
1640
1654
1661
1661
1678
1
1
1
1
1
1
27
34
34
34
34
34
34
41
60
60
60
60
60
60
60
60
60
60
72
77
72
72
72
77
89
79
79
89
79
106
106
91
91
91
91
103
103
108
103
103
103
110
110
115
110
110
110
110
110
110
110
115
110
110
115
115
115
122
127
122
122
132
132
127
122
122
122
122
127
127
129
129
129
154
129
134
129
129
134
156
156
156
156
141
141
141
141
141
146
146
146
146
146
146
146
146
146
173
148
148
153
153
153
153
158
158
158
158
153
158
158
175
175
190
190
175
175
160
160
160
160
165
165
177
172
177
177
177
177
219
196
223
223
238
238
250
250
242
262
254
283
283
290
302
302
309
309
319
319
319
324
319
326
326
331
336
328
348
348
343
343
343
350
350
340
345
360
360
357
369
369
391
386
401
403
388
410
400
400
415
420
412
412
427
432
412
427
434
434
434
439
424
434
439
426
446
451
451
446
426
426
426
446
453
448
458
458
465
465
460
460
472
472
484
489
491
498
498
498
508
510
515
510
522
522
554
544
561
541
585
585
577
577
592
577
577
577
577
596
596
623
623
625
615
615
625
635
635
637
637
647
654
680
680
712
736
728
748
745
774
776
781
805
825
812
817
832
837
836
853
855
867
891
906
896
896
911
911
908
908
908
923
915
915
932
927
947
939
954
954
946
946
946
953
953
953
1093
1122
1148
1450
1467
1462
1611
1623
1628
1628
1652
1666
1673
1673
1690
1
1
1
1
1
1
1
27
27
27
27
34
34
34
34
34
34
34
46
46
46
41
53
53
53
65
65
60
60
72
72
72
72
72
72
72
84
79
79
84
84
84
79
96
96
91
103
113
98
103
103
103
110
110
110
115
110
110
115
115
122
122
132
122
127
127
127
127
127
127
127
129
134
144
129
144
129
129
129
129
134
139
141
166
141
141
141
141
141
146
153
148
148
148
153
153
158
158
158
158
158
158
185
160
160
160
160
165
165
165
172
187
187
202
202
187
187
177
177
177
177
177
184
226
226
231
231
235
245
245
245
262
254
274
274
266
290
290
302
322
309
309
321
331
331
331
336
331
338
343
343
343
338
338
340
355
355
355
360
352
357
367
367
362
362
377
369
369
376
376
376
401
381
398
393
393
388
408
410
410
415
417
407
407
427
427
434
434
439
439
426
446
446
451
436
446
446
453
458
458
458
458
460
470
465
450
450
450
472
472
472
479
479
479
496
498
510
515
522
522
529
534
534
566
556
573
553
568
597
597
589
604
584
584
637
647
647
649
644
654
683
683
692
692
724
721
748
740
760
752
786
783
817
837
824
829
844
849
865
867
879
896
903
918
908
908
908
923
923
920
920
915
935
927
927
944
934
959
946
966
966
958
958
953
1105
1129
1148
1160
1462
1479
1474
1623
1635
1640
1640
1659
1678
1685
1685
1702
1
1
1
1
27
27
34
34
39
34
39
34
34
34
34
34
41
41
41
58
58
58
58
53
53
53
53
60
60
60
72
72
84
79
79
91
91
96
91
91
91
91
91
91
103
110
110
125
110
115
122
127
127
127
127
127
122
129
134
144
129
139
139
139
156
141
156
141
141
146
146
141
141
146
153
178
153
153
148
158
158
160
160
160
160
160
165
165
197
172
177
177
184
199
199
214
214
199
199
238
238
243
243
247
257
257
274
266
286
286
278
314
334
319
321
321
341
341
333
338
338
338
343
338
355
355
350
350
350
352
357
367
362
362
362
372
364
369
374
374
389
379
379
376
388
398
388
388
408
408
410
420
417
427
427
429
419
419
439
439
451
446
426
458
458
453
458
448
453
458
470
465
460
465
467
477
477
479
479
491
496
498
510
517
529
529
534
541
546
546
578
568
585
560
575
577
609
609
584
596
616
649
634
654
654
656
695
704
704
736
721
733
760
752
752
772
783
798
795
829
849
836
841
856
861
877
879
896
891
908
915
925
920
920
935
935
932
927
947
939
934
951
971
978
970
970
1117
1129
1160
1172
1474
1491
1486
1635
1647
1652
1671
1690
1692
1697
1692
1714
1
1
27
27
27
27
39
39
34
34
34
34
46
51
51
41
63
53
53
53
65
65
65
65
72
72
84
84
84
84
84
84
96
91
91
96
103
98
103
103
98
115
110
110
110
110
110
110
122
132
137
117
117
117
122
127
122
129
129
134
134
134
129
129
129
134
129
129
129
139
139
156
146
146
146
141
146
146
146
168
168
148
148
148
153
158
190
160
165
165
165
160
160
177
172
209
184
211
211
226
226
211
211
203
203
245
245
250
250
259
269
264
286
278
293
293
290
326
341
331
333
333
353
353
338
338
345
345
345
350
350
345
367
362
362
357
357
364
369
369
369
369
384
381
376
381
381
401
391
391
388
395
395
400
412
427
429
439
441
431
431
446
446
453
453
458
458
465
465
465
460
465
450
465
477
477
484
489
484
491
515
522
529
546
553
558
558
590
580
575
577
577
592
592
589
584
621
621
623
623
625
634
661
656
716
716
748
733
740
772
764
784
795
810
807
841
861
848
853
868
873
889
891
903
920
927
932
932
947
947
944
954
946
963
982
982
1129
1172
1184
1486
1498
1503
1647
1664
1654
1654
1683
1702
1704
1709
1704
1726
1
1
1
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
51
51
41
41
53
53
63
53
53
53
63
53
53
75
60
60
65
60
77
77
77
72
72
72
72
79
79
79
79
84
96
91
96
96
91
91
103
103
98
98
98
103
115
115
115
115
110
110
110
110
110
110
110
122
117
127
127
127
134
144
149
129
129
129
134
134
129
129
146
146
141
141
146
146
146
141
141
141
141
146
146
168
148
158
153
180
180
165
165
165
165
165
165
165
160
160
202
177
177
172
177
172
177
184
221
223
223
238
238
223
223
203
257
271
281
271
271
298
298
290
305
305
302
319
348
348
338
338
338
345
345
360
360
350
350
345
362
362
372
357
357
357
369
369
369
369
369
364
364
376
376
381
391
393
388
388
388
388
408
403
403
400
417
417
412
402
402
427
412
407
441
446
446
453
458
453
443
443
458
465
465
465
477
472
477
472
484
491
491
491
496
503
525
515
529
529
541
573
558
560
570
570
602
577
592
589
614
601
633
633
635
635
625
635
637
673
728
728
760
740
784
776
796
807
822
819
853
873
860
865
880
885
901
903
915
927
927
939
934
944
944
954
959
956
975
994
994
1141
1184
1196
1498
1515
1505
1659
1676
1695
1714
1716
1721
1716
1738
1
1
1
1
1
1
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
41
53
53
53
63
53
53
63
53
75
70
75
75
65
60
87
72
72
72
72
94
89
89
84
84
84
84
84
84
84
84
84
111
96
91
91
91
96
91
96
91
91
91
91
91
91
103
98
98
98
98
98
98
108
103
103
103
115
115
115
115
110
115
115
110
110
110
110
115
110
122
127
127
137
117
127
127
127
122
134
134
134
134
129
134
134
129
129
129
156
156
156
146
146
146
146
141
158
158
175
160
170
165
165
165
165
165
160
192
192
177
177
177
172
177
177
214
189
189
189
189
184
223
228
203
203
235
235
250
250
250
250
235
235
269
283
288
310
310
295
302
317
317
317
317
314
329
319
331
348
343
345
345
350
350
350
367
367
357
357
357
357
357
374
374
384
369
369
364
376
376
383
383
393
388
388
403
400
395
400
400
400
420
410
410
412
417
407
429
419
419
453
458
453
458
465
465
455
455
465
465
465
477
467
484
479
484
484
496
515
532
534
554
541
541
553
573
560
575
580
570
587
582
582
614
604
601
611
621
608
623
645
645
647
647
647
639
639
649
671
671
683
685
740
740
740
772
796
788
808
819
834
831
865
885
872
877
892
892
896
913
915
927
934
951
946
956
956
968
987
1006
1006
1153
1196
1208
1505
1527
1517
1628
1671
1688
1707
1726
1728
1733
1728
1750
1
27
27
27
34
39
34
34
34
34
34
34
34
34
46
46
46
53
53
58
58
53
53
53
53
53
53
53
53
60
60
60
70
70
65
65
65
82
82
82
82
72
72
72
99
79
84
84
84
101
101
101
96
96
91
96
91
91
96
91
96
96
96
91
91
91
91
91
96
91
91
123
103
103
98
98
103
108
103
103
103
115
115
115
115
115
115
110
115
115
110
110
110
110
110
115
115
110
110
122
127
122
122
122
127
127
122
127
134
149
129
129
134
129
129
129
134
146
146
141
141
168
168
158
158
170
170
165
165
160
187
177
177
177
204
209
204
189
189
189
189
189
184
184
184
226
196
196
203
235
235
247
247
262
262
262
262
247
247
269
281
295
300
310
300
317
317
307
314
329
329
329
329
326
341
331
348
338
338
338
360
355
360
367
367
357
357
364
364
369
369
369
369
364
381
381
396
376
376
376
388
388
410
395
410
407
417
402
412
412
412
427
422
422
419
429
441
426
431
453
465
465
465
465
477
462
462
472
484
484
491
491
496
532
527
529
529
529
544
541
541
561
548
548
560
560
580
582
582
582
582
594
594
589
589
626
616
621
608
618
620
657
657
659
659
659
646
646
656
678
678
695
697
721
752
752
784
808
800
820
831
846
843
877
892
894
884
889
904
904
896
908
925
927
934
939
954
946
963
958
968
968
980
999
1018
1018
1165
1208
1220
1539
1529
1640
1659
1683
1700
1719
1738
1740
1745
1740
1762
1
1
1
27
27
34
34
34
34
34
34
34
34
34
34
34
51
51
41
41
41
41
53
53
53
53
53
53
53
53
75
70
65
70
60
65
60
60
65
65
87
94
89
84
79
79
79
94
84
84
94
84
84
79
106
96
91
96
91
96
96
96
96
91
91
96
96
91
113
113
113
108
103
98
98
103
108
108
108
103
103
103
103
135
115
110
110
115
115
110
110
110
115
110
115
115
110
110
110
110
127
122
122
122
122
127
122
122
127
127
134
129
129
129
129
129
134
134
139
134
156
146
146
141
141
158
158
153
153
175
180
170
170
165
165
165
165
177
177
177
172
177
199
184
189
216
216
221
216
196
196
196
228
228
238
247
247
259
259
269
269
269
269
259
259
281
293
307
312
322
312
324
324
324
319
319
314
314
314
326
336
336
336
336
353
338
338
338
338
360
350
345
350
367
362
372
367
367
364
369
379
374
374
364
364
376
376
376
388
388
403
383
383
383
388
400
400
402
412
412
412
412
407
422
402
427
439
419
429
414
424
424
424
429
429
426
441
453
458
438
443
472
477
462
462
484
474
484
491
491
491
503
508
532
529
544
539
541
541
541
541
541
561
560
560
572
572
582
582
589
589
589
589
594
594
594
606
606
601
638
608
608
628
618
620
627
627
669
669
671
671
656
666
668
678
709
726
733
764
764
796
820
812
832
843
858
855
860
889
901
901
896
901
916
916
920
937
934
939
946
946
951
966
975
980
980
965
992
1011
1030
1030
1177
1220
1232
1505
1551
1541
1671
1695
1712
1731
1750
1752
1757
1752
1774
1
1
1
1
1
13
27
27
27
27
27
27
27
27
34
34
34
34
34
46
41
41
53
53
53
63
63
53
53
53
53
63
53
53
53
53
65
60
60
60
60
60
60
60
60
82
82
77
77
82
82
82
82
72
72
72
72
72
99
84
79
84
84
84
79
79
79
101
96
96
106
106
96
91
106
106
96
96
96
91
96
118
103
98
108
108
108
103
103
103
135
125
125
125
120
120
110
110
115
115
115
115
110
110
115
110
110
115
110
115
110
147
127
122
122
122
127
127
122
122
127
127
129
134
134
134
129
139
139
134
141
146
146
146
141
146
148
148
148
148
153
153
153
158
153
153
170
165
187
192
177
177
177
172
172
177
177
209
189
189
211
196
228
228
228
228
240
240
250
259
259
271
271
281
281
271
271
288
293
298
305
312
324
329
319
319
336
331
331
326
326
321
321
343
343
343
343
338
360
350
345
350
345
345
350
360
367
357
352
352
357
367
374
369
369
384
364
369
364
364
379
391
386
386
386
376
398
413
393
383
383
383
415
400
410
402
412
412
412
412
424
424
434
414
446
446
441
426
436
436
436
436
458
438
448
465
450
455
484
484
474
496
486
515
520
541
551
553
553
548
578
580
572
572
579
579
589
589
596
596
606
606
606
618
613
613
613
650
620
620
640
635
627
681
681
656
683
683
668
678
675
721
733
740
776
776
808
832
824
844
855
870
867
867
892
901
913
913
908
913
928
928
927
927
949
954
951
958
963
965
987
992
992
1004
1023
1042
1042
1189
1232
1244
1517
1563
1553
1683
1707
1724
1743
1762
1764
1769
1764
1786
1
1
1
1
1
8
13
25
27
27
34
34
34
34
34
34
34
34
41
41
53
53
53
53
53
63
53
63
53
75
60
60
75
75
65
77
72
72
72
89
84
89
89
84
79
79
79
94
94
84
84
84
94
94
84
84
84
84
79
79
79
79
79
84
106
96
91
96
96
96
96
91
96
96
96
96
96
91
91
96
96
91
96
91
91
96
113
108
108
103
103
118
118
118
118
103
103
103
108
125
130
120
115
115
115
115
115
115
115
115
110
110
110
110
115
115
110
110
110
110
115
147
132
137
137
127
127
122
122
127
127
122
122
127
154
134
134
129
129
129
129
129
139
134
129
139
139
134
146
146
146
146
146
146
146
141
146
146
146
158
153
160
160
177
177
172
177
199
199
189
184
184
189
189
221
218
240
240
240
252
252
262
271
271
276
283
283
283
283
293
293
300
305
310
312
317
317
324
324
314
331
336
326
331
343
353
338
338
333
333
355
355
350
345
345
372
357
357
357
367
372
374
364
369
364
364
364
364
369
369
379
391
386
391
398
398
398
398
383
383
420
420
395
395
422
402
412
424
424
424
446
431
431
426
426
441
426
448
438
448
448
448
443
470
470
450
460
455
455
477
462
467
484
496
496
486
508
498
527
532
534
541
541
548
563
560
560
580
585
579
579
596
621
601
618
613
613
623
618
625
662
627
627
652
647
646
656
656
693
693
668
695
695
675
733
733
740
752
788
788
820
844
836
856
867
882
892
879
904
901
913
920
920
925
940
940
927
927
939
939
961
963
975
965
999
1004
1004
1016
1035
1054
1054
1201
1244
1256
1505
1529
1575
1565
1695
1719
1736
1755
1774
1776
1781
1776
1798
1
1
1
1
1
8
15
25
37
34
34
34
34
53
53
53
53
53
53
53
53
53
53
60
60
60
60
65
60
60
60
60
70
65
70
65
65
60
87
82
82
72
72
72
72
89
84
79
79
84
84
79
79
84
84
84
96
96
101
96
91
91
101
101
96
91
101
101
96
96
91
96
96
91
91
91
91
91
91
91
96
118
108
103
108
108
108
108
108
103
103
103
108
125
120
115
115
115
125
125
125
125
115
110
110
110
115
110
115
115
110
110
115
110
110
120
132
142
127
122
117
127
127
127
127
122
122
122
122
154
149
149
129
129
129
129
129
129
139
134
134
129
129
139
166
146
141
146
146
146
146
141
146
146
146
146
148
148
148
153
153
158
158
153
180
165
165
177
177
177
199
189
189
189
184
211
221
233
230
240
252
252
252
264
264
269
271
271
271
271
283
283
288
290
290
290
290
305
305
312
312
317
314
329
329
331
336
341
326
326
343
343
353
333
338
365
345
345
340
340
340
367
367
357
357
357
379
364
364
379
364
364
364
379
384
371
371
391
388
403
388
398
383
383
398
410
405
405
410
395
417
412
412
402
407
407
414
424
429
446
431
436
436
438
453
438
460
450
460
460
460
465
477
477
462
467
462
462
489
484
474
479
496
503
503
498
520
510
539
544
541
541
553
553
575
565
560
560
585
585
596
618
628
613
630
637
674
664
659
646
656
668
668
705
705
675
707
707
733
745
740
752
759
800
800
832
856
848
868
879
894
891
916
925
932
927
932
932
952
952
939
951
946
946
973
975
987
977
1011
1016
1016
1028
1047
1066
1066
1213
1256
1268
1541
1587
1577
1707
1731
1748
1767
1786
1788
1793
1788
1810
1
1
1
20
27
37
37
34
34
34
34
34
34
34
49
49
34
41
41
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
65
77
77
77
72
72
72
94
84
79
79
79
79
79
79
79
79
94
94
79
79
84
84
84
84
84
101
96
96
91
91
91
91
91
91
96
91
91
91
91
91
96
108
108
98
98
108
108
130
120
120
115
115
115
115
115
115
115
110
115
110
110
115
110
110
110
110
115
110
110
120
115
137
137
127
122
122
122
137
137
137
137
117
117
117
127
127
127
127
122
122
122
122
127
149
129
129
129
139
139
134
134
134
134
129
129
129
129
166
161
161
166
141
146
146
141
146
141
146
178
178
148
153
158
158
158
165
165
192
177
177
172
177
211
223
233
245
242
252
264
264
264
276
276
276
276
276
276
276
283
283
283
283
295
295
295
295
300
300
295
302
302
312
312
324
324
324
319
326
336
336
343
338
338
333
333
343
343
353
333
333
333
365
355
345
345
345
345
345
377
379
379
369
369
364
364
364
364
364
391
376
391
391
388
398
398
378
378
388
388
398
410
410
410
417
417
407
407
417
417
417
417
407
429
424
419
419
429
446
446
426
436
443
448
448
450
460
450
465
472
477
467
462
472
472
472
462
462
462
462
474
474
501
496
486
491
503
510
532
532
522
551
556
582
572
572
572
582
592
592
618
628
640
625
642
649
686
676
666
668
680
675
717
717
719
719
733
740
740
757
752
759
812
812
844
868
860
880
867
867
891
901
901
903
928
925
932
927
937
944
944
944
964
964
946
958
985
965
965
987
999
989
1023
1028
1028
1035
1054
1078
1078
1225
1268
1280
1553
1599
1589
1719
1743
1760
1779
1798
1800
1805
1800
1822
1
1
1
1
27
27
34
34
34
34
34
44
44
34
46
56
56
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
65
75
60
65
72
72
72
72
84
84
89
89
84
84
84
84
79
79
79
79
96
96
96
91
91
91
106
106
91
96
91
91
91
91
91
91
113
108
108
98
98
103
108
103
103
108
103
130
120
115
120
120
115
115
115
115
115
115
115
115
110
110
110
110
110
110
110
110
110
110
115
110
120
142
127
127
122
122
122
122
122
122
122
122
127
149
149
149
149
149
149
129
129
129
139
139
134
134
129
161
166
156
146
146
146
141
141
146
146
141
141
146
178
173
173
178
153
148
158
190
190
160
165
199
184
231
218
223
235
240
242
257
254
259
276
276
276
276
271
288
288
288
288
288
288
288
290
290
290
290
295
307
307
302
307
312
312
307
314
314
319
319
319
314
314
314
336
331
333
343
343
350
350
345
345
355
365
355
345
345
340
340
340
377
367
352
379
384
391
391
376
376
376
403
388
388
398
403
410
410
410
417
417
417
412
412
407
407
407
407
402
402
417
417
417
429
419
424
424
429
419
441
431
431
431
458
458
438
448
460
460
460
477
462
462
484
484
489
484
484
474
484
484
484
474
474
481
481
513
503
493
503
522
544
544
534
563
563
560
585
572
582
592
592
594
579
579
594
594
604
608
640
637
654
661
666
661
698
688
678
680
687
729
729
731
731
733
740
752
752
769
759
824
824
856
880
872
867
892
874
874
903
915
940
937
927
927
939
949
951
951
956
956
956
976
976
965
997
977
977
999
1011
996
1035
1040
1040
1066
1085
1085
1237
1280
1292
1565
1611
1601
1731
1755
1772
1786
1810
1812
1817
1812
1834
1
1
1
1
34
34
34
34
34
34
34
53
68
68
53
53
53
53
53
53
53
65
65
60
60
60
60
60
60
60
72
87
72
72
82
72
72
72
72
79
84
84
79
79
79
84
96
96
101
96
96
91
96
91
91
91
91
91
96
108
108
103
118
118
98
98
98
98
103
108
98
125
120
120
120
115
115
115
115
115
115
115
115
115
110
115
110
110
110
115
110
110
110
110
110
110
110
110
120
142
127
127
127
127
127
122
122
122
122
122
127
127
127
154
134
134
129
134
129
129
134
134
129
156
156
161
161
156
161
161
161
161
146
146
141
141
146
173
178
163
153
158
190
180
180
185
165
197
197
204
243
230
235
242
247
254
269
274
274
274
261
276
276
266
266
276
276
288
288
288
283
295
295
295
295
295
295
290
290
302
302
307
319
319
314
314
314
319
319
314
314
314
314
324
326
326
331
331
331
326
326
326
343
348
338
340
345
357
357
352
352
367
372
367
352
352
374
384
374
359
359
364
364
364
364
396
403
398
383
383
388
410
400
410
410
412
412
407
407
422
422
417
429
424
424
419
419
424
424
429
441
426
436
431
448
443
443
450
460
467
462
462
472
472
474
474
496
496
496
496
496
486
496
496
496
481
481
525
505
515
532
534
556
546
560
575
592
592
579
579
594
594
604
606
606
611
620
649
666
666
668
678
673
710
700
685
687
741
741
743
743
733
752
764
759
781
836
836
868
892
884
874
874
874
874
904
901
901
886
915
927
927
952
961
963
958
968
968
968
988
988
977
1009
989
984
1011
1023
1035
1047
1047
1047
1054
1078
1097
1249
1292
1304
1577
1623
1613
1743
1767
1779
1786
1798
1822
1824
1829
1824
1846
1
1
34
34
41
53
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
80
80
60
60
65
60
60
72
72
72
72
72
72
72
72
79
94
84
84
84
84
79
91
96
91
91
91
91
91
91
91
96
108
108
108
98
103
103
108
103
103
115
115
115
115
130
115
130
115
115
115
110
110
110
115
110
110
110
110
110
110
115
137
127
127
127
127
127
117
127
127
122
127
127
122
127
127
149
154
139
134
134
129
129
129
134
166
156
146
141
146
146
146
146
141
173
173
173
163
173
173
173
173
185
185
165
165
202
192
197
177
172
209
209
216
250
242
242
274
261
286
286
286
281
276
281
273
288
288
288
288
300
295
295
305
305
295
295
295
295
295
290
307
307
302
302
302
302
319
319
314
314
319
324
314
331
331
326
326
321
326
326
326
321
326
326
336
333
333
338
343
343
343
333
333
333
345
355
345
360
364
364
359
359
379
384
374
364
359
359
359
396
381
376
398
403
383
383
378
410
410
410
400
410
407
407
422
412
417
419
429
429
436
436
436
426
426
436
448
443
455
455
467
462
472
474
484
484
486
486
508
503
503
498
508
508
508
537
517
527
544
546
568
558
585
587
604
626
606
611
608
618
613
613
628
632
627
666
661
668
678
685
685
722
712
753
753
755
755
745
764
771
793
848
848
880
904
896
886
886
916
913
893
927
927
939
939
939
964
973
975
980
965
980
980
1000
1000
984
1021
996
1023
1035
1059
1059
1066
1085
1085
1090
1109
1261
1304
1316
1589
1635
1625
1755
1779
1779
1798
1810
1834
1836
1841
1836
1858
27
34
34
34
34
34
53
53
53
53
60
60
60
60
60
60
80
60
60
65
60
60
60
60
72
72
72
72
87
92
72
72
72
72
72
72
79
79
79
84
84
79
84
96
96
96
96
91
108
98
108
103
103
98
108
103
115
115
115
115
115
115
110
110
115
110
115
115
110
110
110
110
120
122
142
127
142
127
127
122
127
122
127
127
122
127
149
139
134
129
134
129
134
134
134
134
129
161
166
151
141
146
146
141
146
146
141
146
146
173
168
168
153
158
158
180
180
185
185
185
185
185
165
192
197
177
177
172
172
172
214
204
209
209
189
189
221
221
226
223
247
257
257
254
274
286
286
281
273
293
293
293
293
288
293
285
295
295
295
295
312
317
317
302
307
307
307
307
307
297
297
319
319
319
309
309
324
331
331
326
326
331
336
321
321
341
343
343
333
333
333
333
333
348
345
345
345
345
340
355
355
345
340
360
340
340
362
362
372
374
359
374
391
391
381
381
403
393
398
388
383
383
383
422
422
407
407
402
412
417
417
419
429
424
426
426
441
441
443
443
455
467
467
462
474
484
481
496
496
503
498
498
520
510
520
520
520
549
529
539
566
563
558
580
565
565
570
580
585
582
592
594
599
611
613
608
613
620
630
639
683
678
673
685
687
692
734
724
760
760
767
767
752
771
805
860
860
892
916
908
893
893
928
927
939
939
946
951
976
965
985
987
992
977
992
992
1012
1012
1033
1035
1047
1047
1047
1071
1071
1078
1097
1102
1121
1273
1316
1328
1601
1647
1637
1767
1791
1810
1822
1846
1848
1848
1853
1870
1
1
1
1
13
13
27
27
34
34
34
34
34
34
34
41
53
53
53
53
53
53
53
60
60
60
65
72
72
72
72
72
87
72
72
72
72
79
89
99
104
84
79
79
79
79
84
84
91
96
91
91
108
103
98
108
103
103
115
115
115
115
115
115
115
110
110
110
115
110
120
115
127
122
127
122
122
127
127
122
122
127
149
154
154
134
134
134
129
129
134
134
134
129
129
134
134
134
134
134
134
134
161
151
151
141
141
146
146
141
146
146
146
146
141
173
173
153
158
158
153
158
158
180
180
170
165
165
192
192
197
197
197
197
177
172
172
204
204
209
189
189
184
184
226
216
221
221
233
233
238
250
230
252
266
286
298
293
293
293
293
285
300
300
300
300
295
305
297
302
302
324
324
324
324
314
314
314
314
314
321
326
331
331
316
316
336
343
343
338
343
348
338
353
350
350
345
345
340
340
340
340
350
355
357
367
367
357
362
372
359
369
384
364
364
359
391
381
403
393
393
378
405
405
400
417
407
417
434
419
429
424
426
426
431
436
436
438
448
448
455
467
462
462
479
479
474
481
486
496
503
508
508
510
510
532
522
532
527
527
527
527
556
556
546
541
551
573
570
587
587
572
572
582
587
592
592
592
594
601
601
601
611
628
620
625
627
627
642
651
651
683
685
685
687
704
746
736
772
752
779
779
817
872
872
904
928
920
940
927
946
951
958
963
988
977
997
999
1004
989
1004
1004
1024
1019
1045
1047
1059
1059
1083
1083
1090
1109
1114
1133
1285
1328
1340
1613
1659
1649
1779
1803
1822
1834
1858
1860
1865
1860
1882
1
1
1
1
25
25
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
53
53
60
60
60
60
60
65
60
72
72
72
72
72
72
72
72
72
79
79
84
89
79
99
79
79
84
79
79
101
111
116
96
91
91
91
91
96
103
103
108
103
103
103
115
115
115
115
110
110
115
115
115
110
115
115
127
117
122
127
122
122
122
127
127
139
129
129
134
134
134
134
129
129
134
161
151
166
166
146
146
141
146
146
146
146
141
141
141
168
153
153
158
153
153
153
153
153
158
158
153
153
158
158
153
153
185
170
170
165
165
187
187
197
177
177
177
172
172
177
204
204
209
209
209
209
216
216
221
238
223
228
228
245
245
245
250
230
262
264
278
293
305
300
305
305
305
290
297
302
307
302
302
312
324
309
319
331
331
336
321
326
321
321
321
321
321
336
321
321
331
316
343
338
338
348
350
350
350
355
355
350
340
365
362
357
357
357
357
367
369
364
374
374
374
374
369
374
384
369
369
381
381
381
391
398
403
383
425
410
415
405
405
405
405
417
417
417
417
402
412
429
446
426
426
426
431
436
436
443
443
438
438
448
448
448
448
450
467
462
479
474
491
491
486
493
493
498
508
520
520
532
522
522
544
534
544
539
539
553
553
553
563
573
577
582
587
592
599
599
594
604
606
608
608
608
623
613
613
640
637
639
639
654
658
658
658
658
697
716
758
748
760
760
784
791
791
771
829
884
884
874
874
874
901
916
940
932
952
946
958
963
975
970
1000
989
1009
1011
1016
996
1016
1016
1031
1031
1057
1059
1071
1071
1095
1095
1102
1121
1126
1145
1297
1340
1352
1625
1661
1666
1791
1815
1834
1846
1870
1872
1877
1872
1894
1
1
1
1
1
1
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
46
46
46
46
46
46
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
65
60
60
60
72
72
72
72
72
72
72
72
84
79
79
84
79
84
84
79
79
91
91
91
91
101
111
91
91
91
91
96
96
103
128
123
98
98
108
98
103
115
115
115
115
110
110
110
110
110
115
110
110
110
110
110
115
127
127
117
117
117
122
127
122
122
122
122
122
122
127
127
129
129
129
134
134
134
134
134
134
129
129
139
134
146
141
146
146
141
168
178
178
158
153
153
158
158
153
153
158
153
153
170
165
165
197
177
177
177
172
177
177
209
216
216
221
221
221
221
223
228
233
235
240
240
250
257
257
262
252
252
252
269
271
271
293
300
300
300
300
290
290
312
312
312
312
312
307
302
312
302
312
314
314
319
309
309
309
319
324
321
321
321
331
331
321
316
348
343
348
343
355
345
345
345
345
340
355
362
357
367
367
357
372
369
364
369
374
374
374
376
386
386
381
376
386
391
376
376
403
393
383
393
393
393
403
417
432
422
427
417
412
429
429
424
441
458
443
438
438
438
448
455
455
450
460
455
482
482
457
474
491
486
503
503
493
505
510
520
532
532
534
534
556
546
556
551
551
565
575
587
587
592
592
584
584
584
594
604
611
611
601
606
611
608
608
608
608
618
613
628
620
620
620
635
625
625
627
627
644
646
666
666
666
658
658
670
670
685
709
728
770
760
772
796
771
803
803
841
896
896
886
886
913
928
927
952
944
964
975
987
977
1012
996
996
1021
1023
1028
1028
1028
1043
1069
1071
1083
1083
1107
1107
1114
1133
1138
1157
1309
1352
1364
1637
1666
1678
1668
1803
1827
1846
1858
1882
1884
1889
1884
1906
1
1
1
1
13
13
27
34
34
34
34
34
34
34
46
58
58
58
58
58
58
58
58
53
53
53
53
53
53
53
60
60
60
60
60
60
65
60
65
65
60
60
60
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
77
72
72
72
79
79
79
84
79
84
84
79
79
79
79
79
91
91
91
96
91
91
96
96
91
91
91
91
96
91
91
103
123
98
103
103
103
103
115
140
135
110
115
115
110
110
110
115
115
115
110
115
127
127
122
122
122
122
122
122
127
129
129
129
134
134
134
134
129
139
139
134
141
146
146
146
146
146
146
146
141
146
158
158
158
190
190
170
165
165
177
177
209
184
216
216
228
228
228
233
233
233
233
235
240
245
247
247
252
252
262
269
264
269
269
276
276
276
278
283
295
300
305
305
290
290
290
312
312
302
302
324
324
319
319
314
314
309
324
324
326
326
321
321
321
331
331
343
343
343
343
328
343
343
355
360
355
367
357
357
367
364
379
374
364
384
374
364
376
376
381
381
386
376
383
398
398
383
383
393
403
405
400
400
400
410
417
429
434
439
429
424
436
441
436
448
448
443
438
470
445
460
455
462
462
457
472
467
489
489
501
503
493
515
515
517
522
532
544
544
546
541
568
553
568
563
563
572
577
587
592
584
591
591
606
616
623
623
618
620
620
620
630
625
627
627
647
637
632
639
639
658
658
678
678
670
677
677
697
692
721
740
782
772
784
808
815
815
853
874
908
908
898
893
940
932
939
964
956
976
987
977
999
1024
996
1033
1035
1040
1040
1040
1055
1081
1083
1095
1095
1119
1119
1126
1145
1150
1169
1321
1364
1376
1649
1678
1668
1690
1815
1839
1858
1870
1894
1896
1901
1896
1918
1
1
1
25
25
27
27
27
39
34
34
34
34
34
34
34
34
46
46
46
41
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
65
65
65
65
60
60
60
72
72
72
72
72
72
72
77
77
72
84
84
84
84
84
84
84
84
79
84
84
84
79
79
91
91
96
96
96
96
91
91
91
91
91
96
91
103
103
98
98
108
98
98
103
103
103
103
115
130
110
110
110
110
115
115
115
110
110
110
115
115
110
110
152
142
127
127
122
127
122
127
129
134
134
134
134
134
129
139
146
146
146
146
146
146
141
153
158
153
158
158
158
158
170
165
202
202
177
177
177
221
221
221
221
221
223
228
240
240
240
240
240
240
240
247
252
252
252
257
257
257
259
259
264
264
269
276
276
276
271
271
271
281
281
300
305
305
295
290
307
302
317
312
302
302
312
302
319
324
324
309
309
331
331
326
326
316
336
336
333
333
328
328
328
343
355
355
335
355
350
340
340
367
367
362
364
374
364
369
369
374
376
391
376
391
386
376
383
403
383
398
395
410
410
405
395
405
400
400
410
432
417
407
412
412
441
446
451
436
431
448
448
455
455
482
472
467
489
489
489
489
484
501
508
508
508
508
493
493
515
505
522
522
529
534
544
556
556
558
580
565
580
575
575
572
589
599
591
591
608
608
618
623
635
635
630
627
627
627
642
632
659
644
651
646
670
690
685
677
709
733
752
794
784
796
820
827
827
865
920
920
910
952
939
946
976
963
968
988
999
1011
1036
1045
1047
1052
1052
1052
1067
1093
1095
1107
1107
1131
1131
1138
1157
1162
1181
1333
1376
1388
1661
1690
1702
1827
1851
1870
1882
1906
1908
1913
1908
1930
1
1
1
1
1
1
1
1
37
27
34
34
34
34
34
34
34
34
34
34
34
34
34
51
51
41
41
53
53
53
53
53
53
53
53
65
60
72
77
77
77
77
72
77
77
72
89
84
79
79
79
84
84
84
84
79
79
79
84
91
91
91
91
96
96
91
91
91
91
91
91
91
96
91
91
91
91
103
103
123
108
103
103
103
103
103
110
115
135
115
110
110
110
110
110
110
110
110
115
115
115
110
110
110
115
117
127
127
127
127
127
127
127
122
127
127
154
164
134
134
134
134
129
139
134
134
139
141
146
146
158
158
153
158
158
165
165
207
197
177
177
177
177
177
214
214
233
233
233
233
233
228
235
247
247
252
252
252
257
247
259
264
264
264
269
269
269
266
266
281
281
276
276
276
278
283
283
288
288
290
290
302
317
317
307
297
314
319
329
319
324
309
309
324
309
331
331
331
316
316
331
331
316
331
343
333
333
343
343
340
340
345
335
335
335
340
350
362
362
347
362
362
374
379
364
374
381
381
391
403
388
398
395
410
410
395
400
400
400
400
405
407
422
422
407
412
412
429
419
419
426
448
448
458
463
443
460
460
467
494
484
501
501
496
508
515
515
505
505
527
512
534
541
546
556
568
568
565
565
592
577
592
587
587
592
596
596
611
620
620
630
647
647
632
642
639
654
666
658
677
697
692
721
745
764
806
796
808
832
839
839
877
932
932
917
944
939
964
946
958
988
970
980
1000
1011
1023
1048
1052
1059
1064
1064
1064
1079
1105
1107
1119
1119
1143
1143
1150
1169
1174
1188
1345
1388
1400
1673
1702
1714
1839
1863
1882
1894
1918
1920
1925
1920
1942
1
1
1
1
13
27
27
27
27
27
27
27
34
49
34
34
34
34
34
34
34
34
34
34
34
34
46
46
41
41
41
41
63
53
53
53
53
53
53
65
60
60
60
60
60
60
60
60
65
72
72
72
72
72
72
72
77
72
72
72
89
89
89
89
84
79
84
84
79
79
84
84
91
91
101
91
91
91
91
91
91
96
91
91
91
91
96
103
110
115
130
115
115
115
115
110
110
115
115
115
115
110
110
110
115
115
110
115
115
142
122
127
127
127
127
127
122
122
122
122
122
129
129
139
139
139
134
139
176
166
146
141
141
146
146
146
158
158
165
202
177
177
219
209
226
226
231
231
223
245
240
240
240
240
250
240
262
242
247
264
264
264
269
259
271
276
271
271
276
276
276
271
271
276
278
278
293
293
288
288
288
290
285
285
290
295
295
302
302
297
319
319
319
319
319
319
329
329
314
321
321
331
336
336
316
316
316
336
316
343
338
338
343
343
343
343
355
340
340
345
355
355
357
347
362
359
374
369
369
386
381
383
383
383
383
393
393
415
405
395
410
405
407
407
412
412
412
417
419
434
434
419
419
441
426
426
426
438
460
460
470
475
455
472
472
489
489
474
506
496
508
508
508
493
515
522
522
512
512
539
541
546
553
553
558
568
580
580
590
577
577
592
604
589
604
599
599
604
608
608
608
623
613
628
627
642
659
659
639
651
666
666
671
673
697
692
709
699
733
757
776
818
808
820
844
851
851
872
889
874
917
944
944
939
951
946
976
963
958
965
1000
992
1012
1019
1023
1035
1060
1064
1071
1076
1076
1071
1091
1112
1119
1131
1131
1150
1150
1162
1181
1186
1200
1357
1400
1412
1685
1714
1726
1851
1875
1894
1906
1930
1932
1937
1932
1954
1
1
1
1
1
1
13
25
25
27
27
39
34
34
34
34
34
39
34
34
39
34
34
34
34
34
34
34
34
34
61
41
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
75
65
60
60
60
60
65
65
77
72
72
72
72
72
72
72
72
72
89
79
84
79
79
79
79
84
79
79
79
79
79
84
101
101
91
91
91
101
101
91
91
91
96
91
91
91
96
96
113
98
103
103
103
108
110
110
115
115
115
115
115
115
110
115
110
110
110
115
122
122
127
122
122
154
134
134
134
134
134
134
139
139
134
146
146
146
141
146
183
173
153
153
153
153
158
165
192
192
214
226
226
226
226
231
226
216
226
238
238
228
243
243
257
252
252
262
242
252
252
252
247
264
264
274
269
269
259
276
276
276
276
276
266
283
278
278
283
283
283
288
283
283
290
290
300
300
295
295
295
297
297
297
297
297
297
307
307
314
319
319
319
314
314
309
309
331
331
331
336
336
321
321
316
343
348
348
343
355
355
335
335
355
355
367
362
362
362
369
359
369
369
369
371
381
386
376
398
388
388
395
410
395
400
400
410
427
407
407
417
419
419
419
419
419
424
431
446
446
436
431
426
448
448
448
448
453
443
438
450
467
467
482
482
482
467
484
484
501
513
513
508
515
520
534
551
558
558
565
565
570
580
587
587
587
597
584
584
616
601
616
611
611
616
608
608
620
620
620
620
635
625
627
671
671
666
658
678
680
709
699
721
745
769
776
788
830
820
832
856
863
863
884
874
901
886
939
956
956
946
946
958
988
970
965
1012
1004
1019
1031
1031
1035
1047
1052
1072
1083
1088
1088
1083
1103
1131
1143
1143
1162
1174
1198
1188
1193
1212
1369
1412
1424
1697
1726
1738
1863
1887
1906
1918
1942
1944
1949
1944
1966
1
1
1
1
1
25
27
32
27
27
27
37
34
34
34
34
34
34
34
34
34
34
34
34
34
51
46
41
51
51
68
53
53
53
53
53
53
53
53
53
53
53
53
53
70
65
60
65
60
60
60
65
87
72
72
72
72
72
72
72
72
89
84
79
79
79
79
84
79
79
84
89
79
79
101
91
91
96
91
91
91
91
91
91
96
113
113
103
113
113
103
98
103
103
103
103
108
108
125
115
115
115
115
115
115
115
115
115
110
115
115
110
110
115
147
147
122
122
122
122
122
122
127
127
122
164
134
166
146
146
146
141
173
153
195
165
165
177
199
199
209
221
238
238
238
238
243
233
233
223
223
238
245
245
240
250
250
264
264
269
264
264
269
264
254
276
276
276
281
281
281
276
276
266
266
283
283
283
283
288
283
283
288
273
295
300
295
290
290
295
302
302
307
307
302
302
302
312
307
314
304
304
319
319
326
331
326
326
316
316
316
338
338
338
343
348
348
338
340
355
355
355
335
335
350
355
367
367
347
362
362
362
362
374
374
374
381
386
371
376
376
383
398
410
410
410
405
400
400
395
395
407
407
412
439
414
414
414
414
424
424
431
431
426
431
436
443
448
458
458
443
438
460
460
460
460
465
455
445
455
455
457
457
489
489
494
474
496
496
508
493
525
525
520
532
546
563
565
565
570
577
577
582
592
597
599
609
606
628
608
613
613
623
623
623
623
620
620
627
632
632
632
637
639
639
683
683
658
658
690
680
721
733
757
757
776
776
776
783
795
795
837
832
844
863
875
875
896
913
898
939
951
946
968
968
958
958
965
1000
1019
1019
1016
1031
1043
1047
1064
1054
1084
1071
1095
1100
1100
1095
1115
1143
1155
1155
1150
1174
1186
1210
1200
1205
1224
1381
1424
1436
1709
1738
1750
1875
1899
1918
1930
1954
1956
1961
1956
1978
1
1
1
27
27
27
27
27
37
37
34
34
44
34
49
34
34
34
34
34
34
34
34
34
34
49
49
34
34
34
34
34
41
63
53
53
53
53
53
53
53
65
65
65
60
60
65
65
60
60
60
60
60
60
82
80
77
72
72
72
72
72
72
99
84
79
79
84
79
89
84
89
79
79
79
79
96
91
96
91
91
91
96
91
91
113
113
123
103
103
108
98
98
98
103
103
103
108
125
125
125
125
110
115
110
110
110
115
115
115
115
110
115
115
115
110
110
110
115
115
132
117
117
127
127
122
127
127
127
122
159
159
134
134
134
134
134
166
176
146
146
141
141
146
178
158
153
153
185
165
207
177
177
189
189
206
206
221
228
228
228
233
245
245
245
245
250
245
245
245
247
257
257
257
254
276
276
276
276
271
271
281
271
283
283
288
288
288
288
288
288
288
283
278
273
295
295
295
305
300
307
302
312
307
307
297
297
319
319
314
314
314
324
314
314
319
326
316
311
311
316
331
331
333
338
343
338
333
333
333
340
355
355
340
367
367
357
357
362
362
374
374
374
359
374
374
369
374
381
381
381
381
381
376
393
393
393
383
395
395
400
395
395
395
395
437
412
412
407
419
419
424
414
414
424
451
426
426
436
436
438
448
438
443
443
448
450
460
470
470
450
450
472
472
467
472
477
467
467
489
489
474
501
501
506
508
508
493
505
537
537
532
544
558
575
587
582
589
589
594
604
609
611
613
623
640
625
625
630
635
632
639
639
644
644
644
646
658
658
695
695
670
670
702
699
733
745
769
764
783
807
807
844
856
875
887
887
903
925
905
939
958
980
980
970
965
1012
1019
1031
1028
1043
1055
1054
1066
1096
1083
1107
1112
1112
1107
1127
1155
1167
1167
1186
1198
1222
1212
1217
1236
1393
1436
1448
1721
1750
1762
1887
1911
1930
1942
1966
1968
1968
1968
1990
37
37
34
34
49
49
34
34
34
34
34
34
34
34
34
39
34
34
34
39
34
44
44
34
34
46
61
41
46
56
56
58
53
53
53
53
53
53
75
65
60
65
60
60
60
60
60
77
72
77
72
72
77
72
72
72
72
72
72
72
72
94
92
89
84
79
79
79
79
79
79
84
84
89
89
79
111
96
96
91
91
91
98
108
98
103
103
103
103
103
125
125
135
110
110
110
115
115
110
110
110
110
110
110
110
110
115
115
115
110
115
115
115
115
110
110
115
115
137
137
137
137
127
127
122
127
122
122
122
127
127
127
127
122
122
122
144
129
129
134
139
139
171
171
146
146
141
146
146
141
173
183
178
158
158
153
153
190
170
165
207
192
192
177
219
189
189
228
240
245
252
252
252
257
257
257
252
257
257
252
252
254
281
266
266
288
288
278
278
288
278
278
295
295
295
295
295
295
290
290
295
285
307
307
302
307
302
317
307
319
319
314
324
314
314
331
331
316
326
326
326
336
316
326
326
331
333
343
333
343
343
340
355
355
340
340
340
345
335
335
362
364
374
374
374
369
369
381
381
386
386
371
381
381
381
381
381
381
393
393
405
395
400
407
412
407
407
444
419
419
424
414
431
431
436
426
453
463
433
433
448
448
455
455
450
450
460
455
462
467
482
482
462
457
457
479
479
484
489
474
474
513
513
518
513
520
520
505
512
549
549
544
556
578
570
587
587
587
597
584
594
601
601
606
616
613
618
623
623
623
625
635
652
637
637
642
639
646
656
656
707
707
682
682
714
699
745
757
764
781
819
819
856
868
887
899
899
903
905
937
917
951
970
970
992
992
977
1024
1043
1040
1055
1067
1078
1108
1095
1119
1124
1124
1119
1139
1167
1179
1179
1198
1210
1234
1224
1229
1248
1405
1448
1460
1733
1762
1774
1899
1923
1942
1954
1978
1980
1980
1975
2002
1
1
27
44
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
56
56
41
41
51
51
41
53
68
53
53
53
53
58
58
68
68
53
53
53
53
53
65
65
65
60
60
82
77
72
72
72
72
72
72
72
72
72
92
84
89
84
84
89
84
79
79
79
79
79
79
79
79
89
79
84
101
104
96
91
96
96
91
91
91
91
91
96
91
91
96
91
96
96
123
98
98
98
98
108
98
103
103
103
103
115
110
115
115
115
115
115
115
115
115
115
115
132
137
147
122
127
122
122
127
122
122
127
127
127
127
127
149
149
149
149
134
134
139
139
139
134
134
134
134
156
146
146
146
141
146
146
146
141
141
183
183
158
195
190
170
170
165
197
177
177
177
219
199
204
226
233
233
235
235
252
252
247
247
252
252
247
247
247
264
264
264
269
271
276
276
288
288
278
278
278
273
300
295
300
300
295
295
307
302
307
307
302
302
302
302
302
292
292
297
319
329
319
329
319
314
326
336
326
321
343
343
338
338
338
343
333
333
343
340
355
345
355
355
367
357
362
364
376
381
393
393
393
383
388
388
400
400
400
395
395
417
407
444
419
414
414
424
414
414
456
436
443
443
448
433
460
460
475
455
455
450
460
460
472
467
474
494
494
474
474
474
469
469
496
501
486
486
493
520
520
530
520
520
520
520
532
532
512
512
561
561
556
568
585
582
584
589
599
599
606
613
613
613
618
623
628
625
625
635
635
642
664
644
639
639
649
644
644
651
663
668
668
719
719
689
689
726
757
769
793
783
831
831
868
880
899
911
911
903
905
917
949
924
958
970
977
1004
1004
1036
1055
1052
1067
1079
1090
1120
1107
1131
1136
1136
1131
1151
1179
1191
1191
1210
1222
1246
1236
1241
1260
1417
1460
1472
1745
1774
1786
1911
1935
1954
1966
1968
1990
1992
1992
2014
1
1
1
1
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
68
68
53
53
53
53
53
53
53
58
58
53
53
53
53
53
75
65
65
65
65
80
80
60
60
60
65
80
77
72
72
72
72
72
72
72
72
72
94
84
84
84
84
84
79
84
84
79
79
79
84
84
84
84
104
101
96
101
91
91
91
91
91
91
91
96
96
91
91
91
91
96
96
91
96
96
96
113
111
98
108
103
103
103
103
103
103
103
103
103
135
115
115
115
115
110
110
110
110
115
115
115
115
115
110
110
110
115
115
117
127
122
127
122
127
127
127
144
149
159
134
134
139
139
139
139
134
161
161
161
161
146
146
146
141
146
146
146
146
146
141
168
183
158
153
153
153
195
195
195
195
170
197
207
177
177
177
209
209
226
211
238
233
245
245
245
257
257
264
254
259
264
259
259
264
264
259
259
259
269
271
271
266
266
271
271
271
271
281
278
283
283
273
295
285
285
307
302
307
307
302
312
297
319
319
309
309
319
326
336
336
336
326
316
316
311
336
331
326
321
338
343
338
333
350
350
350
355
345
345
350
350
350
355
340
340
355
357
367
367
374
374
374
364
374
381
381
386
376
383
383
388
388
388
388
400
395
400
400
412
407
444
419
429
419
456
431
426
431
448
455
455
460
487
457
457
457
472
472
484
486
506
506
486
486
486
476
476
508
513
493
493
498
520
520
505
532
542
527
527
544
544
573
573
568
580
585
594
596
611
611
618
625
625
630
625
635
640
647
642
644
644
676
651
651
651
656
656
658
670
680
680
689
731
731
701
738
769
781
783
805
843
843
880
892
911
923
923
903
903
905
917
924
961
958
1016
1016
1001
1048
1067
1064
1054
1079
1091
1112
1102
1132
1119
1143
1148
1148
1143
1158
1191
1203
1203
1222
1234
1258
1248
1253
1272
1429
1472
1484
1757
1786
1798
1923
1947
1966
1978
1980
1975
2002
2004
2004
2026
1
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
80
80
60
60
60
65
60
60
65
60
60
60
60
65
82
77
72
72
77
77
87
92
92
72
72
72
72
72
84
92
84
84
84
84
84
79
79
79
79
79
84
84
84
79
84
84
101
96
96
96
96
96
96
96
91
91
91
91
91
96
96
91
91
91
91
91
91
96
91
96
111
113
113
103
108
103
108
103
103
103
103
103
103
103
103
103
108
135
125
123
135
115
115
115
115
110
115
115
110
110
110
115
115
115
115
115
115
115
115
110
110
115
147
127
127
122
127
129
139
139
139
139
134
156
156
156
156
171
146
141
141
146
141
146
146
146
146
141
173
173
173
173
178
158
153
153
175
195
170
207
207
207
207
207
207
177
219
199
209
221
221
238
238
218
250
245
252
252
252
247
247
247
257
269
269
269
269
269
264
271
266
271
276
276
266
271
266
266
281
283
283
278
278
278
283
283
283
293
290
295
295
295
295
292
292
314
314
324
314
326
336
326
316
316
331
333
333
348
343
338
350
345
345
345
345
345
335
355
350
340
357
362
362
362
362
352
352
367
374
364
379
379
369
386
386
386
376
383
383
393
383
383
393
393
393
395
395
395
400
400
407
407
419
419
419
414
414
424
414
441
431
438
438
443
433
455
455
460
450
467
467
457
472
479
499
469
469
469
484
484
496
498
518
518
493
493
498
520
525
505
505
532
532
527
512
512
539
554
551
556
585
585
580
592
606
618
623
625
630
625
637
637
637
652
644
659
651
651
651
656
688
663
658
658
658
668
663
692
692
689
689
743
743
713
750
781
793
817
855
855
892
904
923
903
935
935
915
905
917
924
973
977
1023
1023
1008
1060
1079
1076
1066
1091
1103
1124
1114
1144
1131
1158
1155
1150
1160
1160
1155
1170
1203
1215
1215
1234
1246
1270
1260
1265
1284
1441
1484
1496
1769
1798
1810
1935
1959
1978
1990
1992
2014
2016
2016
2033
1
1
1
1
1
27
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
80
60
65
65
65
65
65
65
60
60
65
65
60
60
60
60
60
60
60
60
87
92
92
72
72
72
72
72
77
72
72
72
72
84
84
89
89
104
99
99
104
79
79
84
84
79
79
79
84
79
104
96
96
96
96
91
91
91
96
96
91
91
91
91
96
91
113
103
98
108
103
108
103
103
103
103
103
103
103
108
125
123
135
125
125
125
115
115
110
110
110
120
110
115
115
115
115
115
110
110
115
115
147
132
135
137
147
137
122
127
127
127
127
127
154
139
134
139
134
156
161
161
161
161
146
146
146
146
146
146
146
146
141
146
168
168
168
183
173
153
153
180
180
180
180
190
170
187
202
202
202
177
202
214
214
214
214
204
219
219
209
204
221
231
228
218
228
228
250
250
245
257
257
262
252
252
259
259
264
259
259
259
269
276
276
281
281
281
266
266
276
271
278
278
273
273
278
278
283
283
273
273
283
273
273
293
290
290
285
285
295
300
297
297
302
307
314
314
314
326
326
311
331
326
333
333
343
345
345
345
345
355
350
350
340
357
357
357
362
362
352
364
374
374
374
364
364
379
386
381
381
376
381
381
391
391
383
383
383
393
393
393
383
383
383
383
393
395
400
395
405
405
395
395
407
407
407
407
407
419
414
414
426
426
431
431
453
443
450
450
450
450
455
467
467
472
479
479
479
474
474
479
469
484
511
481
481
476
496
496
503
503
510
530
530
510
505
527
532
532
512
539
539
524
524
566
563
568
597
597
597
597
592
597
604
596
596
618
623
635
637
649
649
664
656
671
658
663
700
670
680
704
704
689
701
701
755
755
720
762
793
805
829
867
867
904
916
935
915
905
947
947
927
924
985
977
982
1001
1035
1072
1054
1091
1088
1078
1103
1115
1126
1151
1143
1170
1167
1162
1172
1172
1167
1215
1227
1227
1246
1258
1282
1272
1277
1296
1453
1496
1508
1781
1810
1822
1947
1971
1990
2002
2004
2026
2028
2028
2033
2045
1
1
1
1
1
27
27
34
34
34
34
34
34
34
34
34
51
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
65
80
60
60
60
65
60
60
87
72
72
72
72
72
72
72
72
72
72
77
77
72
72
72
72
104
99
99
104
84
84
84
79
79
84
84
84
84
84
79
79
79
79
101
101
111
106
106
111
96
96
91
91
96
91
91
96
116
103
103
103
108
108
103
103
103
125
125
110
110
115
110
110
110
120
115
115
110
110
110
110
110
115
132
135
147
132
137
137
127
122
122
122
122
127
127
127
127
127
127
127
154
147
149
154
149
149
139
134
134
139
149
166
161
161
146
146
146
168
173
173
173
173
180
180
180
185
195
192
192
197
207
177
199
214
214
209
209
214
204
226
226
216
226
226
226
221
221
221
216
228
243
223
235
235
235
235
240
257
262
257
257
269
269
269
259
259
264
259
271
266
266
266
276
283
283
278
293
288
288
278
278
278
278
288
290
290
290
290
290
295
300
297
297
292
292
302
302
307
312
314
336
336
343
338
345
340
345
340
345
335
355
350
357
357
357
362
362
362
364
364
364
374
364
381
381
386
386
386
376
376
381
391
393
393
393
383
398
388
388
403
403
388
388
395
395
395
407
407
407
414
414
419
431
438
438
443
443
465
455
462
462
462
467
484
491
486
486
486
491
476
496
523
488
488
508
503
503
515
515
505
522
542
542
522
512
512
512
544
524
531
531
578
570
575
580
597
609
609
604
604
604
604
604
616
613
603
603
603
603
625
630
635
637
647
644
649
651
661
651
656
661
676
663
683
712
692
704
689
716
716
701
708
708
767
767
774
805
817
841
879
879
916
928
947
927
922
959
959
934
997
989
1023
1023
1008
1008
1047
1084
1103
1100
1090
1115
1127
1151
1138
1155
1179
1174
1184
1184
1179
1227
1234
1239
1253
1270
1294
1284
1289
1308
1465
1508
1520
1793
1822
1834
1959
1983
2002
2014
2016
2033
2040
2040
2045
2057
1
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
53
53
53
53
63
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
60
65
60
60
60
60
60
72
72
72
72
72
72
72
87
72
72
72
72
72
77
99
84
84
79
84
84
84
84
79
79
111
106
106
111
91
91
91
96
91
91
91
91
91
96
91
91
91
91
91
103
103
103
103
113
113
123
123
98
108
103
103
103
103
128
125
115
110
110
120
115
110
137
137
132
127
122
127
147
154
149
149
134
134
134
139
166
159
161
166
156
161
146
146
141
146
146
161
178
178
168
173
175
180
180
180
180
180
192
192
192
192
207
199
204
204
204
204
219
204
211
221
221
226
221
216
223
233
233
233
238
228
238
238
233
233
223
235
250
235
242
242
247
264
264
269
259
264
269
271
271
281
281
276
271
271
271
276
276
278
278
273
273
278
273
273
288
300
295
295
285
285
295
297
312
292
302
292
302
302
297
297
312
314
314
314
319
316
326
333
333
348
348
333
333
340
345
345
350
350
350
357
357
357
362
362
369
364
379
374
374
369
364
364
369
374
369
369
386
376
398
398
398
393
388
388
388
403
388
405
405
400
415
415
400
402
402
414
444
414
419
431
426
443
455
445
445
450
450
477
467
474
484
484
474
469
469
479
486
496
503
493
493
503
508
535
520
505
505
527
527
534
554
554
534
524
524
524
556
531
590
577
587
592
604
604
604
604
609
621
621
616
616
616
603
603
628
623
625
615
615
642
642
639
639
659
651
656
661
673
668
673
683
685
690
724
704
689
704
711
701
728
728
713
779
779
786
817
829
853
891
891
928
935
954
929
934
971
971
1009
989
1008
1035
1020
1059
1096
1115
1112
1102
1127
1139
1150
1167
1191
1186
1196
1191
1234
1239
1251
1253
1265
1282
1306
1296
1301
1320
1477
1520
1532
1805
1834
1846
1971
1995
2014
2026
2028
2033
2052
2052
2057
2069
1
1
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
53
53
53
53
53
58
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
60
60
60
60
60
75
65
60
60
60
60
60
60
72
72
72
72
72
72
72
72
72
72
72
77
72
72
72
72
84
84
84
99
79
84
79
79
79
79
79
79
111
91
91
96
91
96
91
91
96
91
91
96
91
91
123
123
103
98
98
98
98
98
108
103
103
115
115
125
125
135
135
110
110
110
110
110
110
115
120
115
110
110
140
137
137
127
127
127
122
122
122
149
149
149
149
134
159
166
161
161
161
146
178
171
173
178
178
168
168
153
168
168
190
190
175
180
187
192
192
192
204
204
204
204
199
204
204
199
214
211
216
216
226
216
218
228
228
228
233
238
228
228
223
230
245
235
250
250
240
240
230
252
257
257
252
242
264
264
264
254
254
254
254
276
266
266
271
271
281
283
283
293
288
288
288
283
283
278
278
288
288
288
295
297
312
292
292
292
292
307
319
309
309
319
316
321
321
326
333
345
340
345
345
367
357
362
362
369
369
364
369
369
381
386
386
386
386
381
386
386
386
383
398
388
388
388
410
410
410
400
400
400
415
400
412
412
407
427
427
407
444
456
426
443
465
455
455
457
489
474
486
491
491
486
486
493
493
508
515
520
515
520
547
532
532
539
539
546
566
566
551
546
536
536
531
568
602
589
589
599
604
596
616
616
633
633
613
628
623
623
618
625
615
640
635
622
622
654
651
651
671
663
673
685
680
685
692
702
736
711
701
716
713
740
740
720
791
791
798
829
841
865
903
903
940
929
966
978
978
989
1021
1008
1020
1047
1027
1071
1108
1127
1124
1114
1139
1151
1162
1179
1203
1198
1208
1251
1263
1265
1277
1294
1318
1308
1313
1332
1489
1532
1544
1817
1846
1858
1983
2007
2026
2038
2040
2064
2064
2069
2081
1
1
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
53
53
58
53
53
53
53
53
53
53
53
53
53
53
60
60
60
70
60
60
72
72
72
72
72
72
72
87
72
72
77
72
77
79
84
84
84
84
79
79
84
79
79
79
79
79
84
84
79
96
91
111
91
91
96
91
91
91
91
91
91
91
91
91
123
108
103
103
103
103
135
135
115
115
110
110
110
120
115
115
110
115
127
122
137
137
147
147
127
127
127
122
122
127
127
152
149
149
134
134
134
134
156
156
161
161
146
146
171
178
168
168
168
190
183
185
190
190
175
180
180
175
197
197
187
177
199
199
204
204
199
209
209
209
209
209
209
216
216
216
216
216
216
226
226
221
218
223
223
228
233
223
233
230
245
230
252
247
257
257
247
247
264
264
254
264
249
276
276
276
261
261
276
281
283
288
278
278
278
288
288
273
290
290
300
300
300
300
300
295
290
290
300
295
295
290
300
300
295
292
319
319
314
316
316
316
333
355
355
357
357
374
369
369
369
374
381
381
376
393
383
393
393
393
393
383
383
393
398
388
388
388
410
400
400
407
407
422
422
422
412
412
427
412
424
439
439
456
431
426
426
438
445
445
445
450
472
472
467
469
501
498
498
488
498
520
520
522
522
532
522
522
532
517
559
544
551
551
553
553
578
578
563
553
553
543
543
580
577
614
596
596
596
596
611
616
613
623
623
645
645
625
640
630
625
637
622
652
642
639
639
644
666
658
683
675
685
697
692
692
697
694
714
748
713
728
720
720
752
752
803
803
788
810
841
853
877
935
915
915
952
954
934
956
978
990
1033
1020
1027
1059
1083
1120
1139
1136
1126
1151
1174
1191
1215
1210
1220
1263
1275
1277
1289
1306
1330
1320
1325
1344
1501
1544
1556
1829
1858
1870
1995
2019
2038
2050
2052
2076
2076
2081
2093
1
1
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
41
41
41
53
53
53
53
60
60
70
60
60
60
60
72
82
72
72
72
72
72
72
72
77
77
77
72
72
72
72
72
79
84
84
79
84
99
84
84
84
84
84
79
79
79
84
79
79
84
84
84
84
84
91
91
91
91
91
91
91
91
96
96
91
103
103
103
123
98
98
98
103
103
103
103
103
103
103
103
103
103
103
103
103
103
135
110
115
110
115
120
115
115
115
110
115
147
147
122
127
127
127
127
134
149
149
159
159
159
134
134
134
164
156
156
146
146
168
168
158
183
190
175
185
175
202
195
197
197
197
187
187
177
177
187
209
209
204
211
216
216
221
221
221
221
221
221
221
223
223
223
223
223
223
238
233
233
238
233
230
235
235
230
245
240
240
242
252
257
247
254
259
264
264
264
276
271
276
271
283
283
283
283
268
268
288
273
273
288
288
300
295
285
285
300
300
300
300
297
297
307
307
312
297
297
292
312
307
307
314
314
319
321
340
340
340
362
362
362
369
374
374
369
374
376
376
386
383
383
383
388
393
383
383
383
388
388
388
395
400
395
400
405
410
400
412
412
422
412
434
434
434
424
424
439
419
436
451
451
438
438
445
445
457
457
479
476
488
513
510
525
525
510
510
532
532
539
544
524
524
571
556
563
563
565
565
590
590
575
565
565
592
596
596
626
608
608
623
603
628
625
657
657
652
642
642
644
664
656
651
651
656
658
678
695
682
697
709
704
709
711
701
726
760
720
740
764
764
788
815
815
795
822
853
865
889
927
927
964
934
966
978
978
963
990
1002
982
989
1008
1045
1027
1071
1095
1132
1151
1148
1138
1158
1158
1186
1227
1222
1232
1275
1287
1289
1301
1318
1342
1332
1337
1356
1513
1556
1568
1841
1870
1882
2007
2031
2050
2062
2064
2088
2088
2093
2105
1
1
27
27
27
27
27
27
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
41
41
41
41
41
41
58
53
53
53
53
53
53
53
53
53
53
53
65
60
60
70
60
60
60
60
60
60
60
60
60
60
60
60
77
72
72
72
72
77
77
72
72
72
72
79
79
79
89
79
79
79
84
79
84
84
84
79
84
111
91
91
91
96
96
96
91
91
91
91
91
91
91
91
91
91
96
96
96
96
96
96
91
91
91
91
91
103
98
103
108
103
115
135
115
115
115
110
115
115
115
115
115
115
147
127
127
127
122
122
122
122
127
127
122
159
159
134
134
161
161
171
171
171
146
146
176
183
183
178
158
158
158
158
175
185
170
195
202
177
197
214
209
209
214
194
194
209
207
204
204
221
221
221
216
223
228
233
228
228
228
223
223
228
228
228
228
223
223
223
223
235
235
235
235
245
245
245
245
242
247
252
247
257
252
252
247
254
249
269
276
266
276
276
276
283
278
278
288
278
278
273
290
290
290
300
290
307
312
292
292
312
307
307
307
314
324
319
319
319
319
316
328
333
362
381
381
376
381
381
383
383
398
395
395
407
412
412
407
412
407
422
412
424
424
434
424
446
441
441
441
441
431
436
436
451
443
463
463
445
445
457
474
464
464
491
486
491
525
522
532
532
532
532
522
522
539
544
556
583
568
543
575
575
577
577
602
602
587
577
577
597
604
604
596
596
608
638
603
603
615
615
635
615
640
637
669
669
649
644
664
654
651
676
663
658
658
663
675
670
690
707
709
721
711
701
716
721
738
772
752
769
776
776
795
827
827
834
865
877
901
939
939
976
978
963
963
990
1002
982
1014
989
1020
1057
1083
1107
1139
1139
1163
1150
1155
1155
1170
1170
1193
1193
1239
1234
1244
1287
1299
1301
1313
1330
1354
1344
1349
1368
1525
1568
1580
1853
1882
1894
2019
2043
2062
2074
2076
2100
2095
2105
2117
1
1
1
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
41
41
41
41
41
41
41
41
41
41
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
70
70
60
60
60
60
60
60
60
60
60
60
60
65
82
72
72
72
72
72
72
72
72
72
72
72
72
72
72
79
79
79
79
79
79
79
79
84
79
84
84
84
101
91
91
91
91
96
96
96
96
91
123
98
103
103
103
108
108
108
103
103
103
110
110
110
115
115
115
115
115
115
110
110
122
147
127
122
122
122
122
122
127
127
159
149
149
134
134
134
134
134
134
159
171
171
161
161
146
146
173
173
183
183
183
183
183
178
158
158
195
195
185
190
185
170
170
188
185
197
207
207
177
177
214
194
209
204
204
207
204
221
221
226
221
219
226
216
216
233
233
233
223
235
240
235
235
235
240
235
235
235
235
235
235
235
235
235
235
235
247
252
252
252
252
247
252
247
247
254
259
259
264
264
264
259
259
271
266
281
271
273
273
278
288
288
268
288
290
300
307
307
307
307
324
314
319
314
336
331
326
326
333
340
340
340
383
393
383
393
393
393
393
395
395
410
402
412
402
424
414
414
424
414
414
424
424
434
419
419
431
431
431
446
436
426
458
453
453
448
448
463
475
475
469
491
491
493
493
498
503
537
534
539
539
539
534
534
551
556
568
543
595
580
587
587
589
589
614
614
599
589
589
604
604
609
616
616
608
603
623
615
650
615
647
627
652
681
681
651
656
671
666
656
658
683
670
670
682
702
719
721
733
728
733
720
750
784
764
776
788
788
837
839
839
846
877
889
913
951
951
988
990
970
1002
1014
989
989
1026
1027
1069
1095
1119
1175
1162
1182
1182
1205
1205
1251
1246
1256
1299
1311
1313
1325
1342
1366
1356
1361
1380
1537
1580
1592
1865
1894
1906
2031
2055
2074
2086
2088
2107
2107
2117
2129
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
70
65
60
60
60
60
60
65
60
60
60
60
65
65
65
77
82
72
72
72
72
72
72
77
89
84
84
84
84
84
84
84
79
84
79
79
79
79
79
84
84
79
79
79
79
84
84
91
91
96
91
91
96
91
91
91
91
91
91
91
91
91
91
91
91
113
103
103
103
103
108
108
103
103
135
110
110
115
115
115
115
115
115
115
110
110
127
122
134
159
134
134
134
171
156
161
146
146
171
171
173
173
158
158
183
183
180
180
195
195
195
195
195
185
185
170
202
202
197
197
197
177
177
177
200
197
204
219
219
204
194
226
226
221
216
226
211
211
219
216
233
233
233
228
228
223
228
226
238
228
223
223
235
235
235
235
240
230
245
245
247
252
247
252
247
242
242
242
242
247
242
242
259
259
259
259
264
259
259
266
266
276
276
266
276
271
266
266
283
278
278
268
288
288
283
290
300
300
295
297
312
297
307
307
307
319
319
331
331
326
326
333
343
333
338
347
347
347
347
369
374
369
381
393
388
405
405
407
407
422
424
424
424
424
424
424
424
419
436
436
436
436
446
431
431
443
458
448
445
470
465
465
460
460
475
487
487
474
476
498
498
498
500
500
510
515
532
532
539
539
539
539
539
539
549
546
551
546
546
558
568
580
607
592
599
599
604
601
601
626
626
611
601
601
601
616
628
603
628
628
615
635
662
622
659
639
664
663
693
693
658
678
663
670
695
677
709
709
731
728
728
745
740
740
762
796
771
776
800
800
795
849
851
851
863
858
889
901
925
963
963
1000
970
1002
1014
1026
1001
1038
1008
1081
1107
1126
1187
1174
1194
1194
1217
1217
1263
1258
1268
1311
1323
1325
1337
1354
1378
1368
1373
1392
1549
1592
1604
1877
1906
1918
2043
2067
2086
2098
2100
2119
2129
2141
27
27
34
34
34
34
34
34
34
34
34
41
41
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
75
60
60
60
60
65
60
60
60
65
60
65
60
60
60
65
65
82
72
72
72
72
72
72
72
77
77
77
72
94
84
84
84
84
79
79
79
84
84
79
79
84
101
91
91
96
96
96
91
91
91
96
96
91
98
108
103
103
125
115
110
110
115
115
115
115
115
110
115
147
127
122
122
122
137
149
141
171
166
166
146
146
141
178
163
168
158
183
178
178
180
180
170
195
195
195
192
202
202
202
202
202
177
209
209
209
204
204
204
207
204
206
211
226
226
216
238
238
228
223
223
238
226
223
240
240
240
240
235
245
245
235
233
245
240
230
230
247
247
247
247
247
247
257
257
247
254
254
259
249
249
249
249
259
249
249
266
266
266
266
273
273
288
283
278
288
283
295
290
285
295
295
300
295
297
297
292
302
312
312
307
324
314
314
319
319
326
333
333
333
333
338
328
345
355
345
347
347
359
359
374
376
376
391
376
376
388
388
388
400
417
412
417
407
414
414
414
414
434
436
431
436
436
436
426
426
431
448
448
443
458
438
438
445
450
470
460
457
482
477
477
472
472
487
499
499
496
496
481
481
498
505
505
532
522
527
551
551
551
551
561
558
558
558
558
580
619
604
611
611
613
613
638
638
623
613
613
613
603
628
635
615
635
635
635
642
674
651
666
646
646
676
656
658
663
683
705
705
670
690
677
707
743
740
740
757
752
774
808
783
812
812
863
863
875
870
901
913
937
975
975
975
975
1012
1014
989
1026
1038
1050
1020
1088
1119
1138
1199
1186
1206
1206
1229
1229
1275
1270
1280
1323
1335
1337
1349
1366
1390
1380
1385
1404
1561
1604
1616
1889
1918
1930
2055
2079
2098
2110
2112
2131
2141
2153
1
1
1
1
1
1
27
34
34
34
34
34
34
34
34
34
34
34
34
34
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
70
60
65
65
60
60
60
60
60
60
60
65
65
60
77
82
72
72
72
72
72
72
77
72
72
72
72
72
77
77
72
89
84
79
84
84
84
79
79
84
84
84
84
84
79
84
84
84
106
91
96
91
96
91
96
96
96
96
113
98
98
98
103
103
110
115
110
115
115
132
122
122
122
127
159
159
149
156
141
141
153
183
173
173
178
185
175
170
190
195
185
190
192
177
207
202
202
204
204
214
214
209
209
206
211
211
214
214
211
211
221
228
233
233
228
223
245
245
235
235
235
230
230
245
235
235
233
230
230
230
242
242
247
247
242
257
257
247
245
252
247
254
259
259
254
259
259
264
264
259
266
266
266
266
273
273
283
273
273
285
285
300
285
295
295
300
292
302
302
292
307
302
309
319
319
314
314
314
336
326
326
326
333
333
333
333
333
333
345
345
357
367
357
374
359
366
366
381
398
398
398
398
388
400
400
400
400
407
429
424
429
426
426
426
426
446
443
443
443
443
438
438
438
460
460
470
477
457
482
472
469
494
489
489
479
479
499
511
511
503
503
505
505
539
539
539
534
539
563
558
558
558
573
548
548
570
570
570
590
631
616
623
623
625
625
645
645
635
635
625
625
625
635
635
635
627
642
642
654
686
651
651
666
671
658
678
683
688
670
695
690
717
717
682
702
719
740
755
752
752
769
764
771
786
820
795
795
824
824
875
875
887
882
913
925
939
949
987
987
982
982
1024
989
1026
1038
1050
1062
1027
1126
1131
1150
1211
1198
1218
1218
1241
1241
1287
1282
1292
1335
1342
1342
1349
1361
1378
1402
1392
1392
1411
1573
1616
1628
1901
1930
1942
2067
2091
2110
2122
2124
2143
2153
2165
1
1
1
13
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
46
41
41
63
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
60
60
60
65
60
60
60
60
60
65
65
82
72
72
72
77
77
72
72
72
72
72
72
72
72
72
72
72
84
79
84
84
84
84
84
84
84
84
79
79
84
84
84
101
96
91
91
91
96
91
91
96
91
91
96
96
96
96
96
113
118
103
103
103
103
103
103
125
110
110
110
115
115
115
115
115
110
115
122
122
122
127
127
122
144
149
149
134
139
141
171
171
141
156
161
163
183
165
195
180
180
175
180
185
185
183
183
185
190
177
207
197
197
197
204
204
214
209
209
209
209
216
216
226
226
211
221
223
233
240
230
240
230
235
230
257
252
252
242
252
245
252
259
254
254
254
254
249
249
264
264
257
249
264
254
249
266
266
266
266
266
271
271
266
273
273
273
285
290
285
290
285
285
297
297
312
292
307
307
302
307
307
314
309
319
319
324
304
314
314
314
314
314
331
321
331
326
343
348
333
345
345
357
367
367
357
347
347
364
379
364
376
376
366
393
393
405
405
405
400
412
412
412
414
414
414
414
414
414
424
441
436
441
426
433
433
433
433
458
450
445
445
445
472
472
482
484
484
469
494
484
476
506
501
501
491
511
518
518
520
500
532
544
529
551
551
546
551
570
555
555
582
582
582
597
596
596
643
628
635
635
637
637
657
647
637
637
632
632
647
634
634
654
654
651
661
698
663
658
678
663
670
690
695
700
682
707
729
729
689
714
731
767
764
764
781
776
783
793
832
807
836
836
887
887
899
894
925
937
939
934
946
961
982
982
982
982
989
999
999
994
1036
1038
1050
1062
1074
1088
1138
1143
1162
1223
1210
1230
1230
1253
1253
1299
1294
1304
1342
1342
1354
1354
1361
1373
1390
1404
1409
1423
1585
1628
1640
1913
1942
1954
2079
2103
2095
2122
2134
2136
2155
2165
2177
13
25
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
75
70
60
65
60
60
60
65
65
60
60
60
60
60
60
60
60
60
72
72
72
72
72
72
77
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
84
89
84
84
84
84
84
84
79
79
84
84
79
79
79
84
84
84
84
84
84
79
84
84
91
96
96
91
91
96
96
96
96
96
113
113
113
113
113
103
103
103
103
103
103
103
103
103
103
103
103
125
130
135
115
115
115
115
110
115
135
125
137
122
122
122
127
122
122
134
139
139
156
156
156
161
146
141
161
153
178
178
163
173
185
195
202
172
197
192
197
197
195
195
202
197
209
214
199
199
209
209
204
216
221
221
221
221
221
221
216
216
221
221
221
221
221
223
223
238
238
233
233
230
235
230
233
230
230
245
247
252
252
247
242
242
252
259
254
249
249
264
257
249
254
249
261
261
271
271
271
269
266
271
273
273
273
273
273
273
273
273
283
283
273
305
290
297
297
297
297
309
314
309
324
304
314
314
314
314
321
321
331
331
331
316
326
326
321
326
328
343
333
355
360
352
352
364
374
374
374
364
359
376
376
376
391
376
376
376
381
381
405
400
400
400
400
424
414
444
424
424
414
424
424
426
426
426
426
426
426
436
431
453
443
453
438
470
457
484
484
494
479
479
476
506
496
518
513
513
503
523
520
500
530
539
539
551
536
536
563
558
558
563
597
594
594
589
596
596
608
608
655
640
635
635
635
647
647
642
642
649
649
669
659
649
649
659
646
646
661
661
710
670
670
690
677
702
707
712
689
719
741
741
726
743
725
774
776
776
793
788
793
795
844
819
848
848
899
899
911
906
937
949
941
946
973
994
994
1001
1011
1011
1001
1043
1013
1008
1050
1062
1074
1081
1150
1155
1174
1235
1222
1242
1242
1265
1265
1311
1306
1316
1366
1366
1373
1385
1402
1392
1409
1416
1411
1421
1435
1597
1640
1652
1925
1954
1966
2091
2115
2107
2107
2134
2146
2148
2167
2177
2189
1
1
1
25
37
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
65
65
60
65
60
65
65
60
60
60
60
60
60
60
60
87
82
72
72
87
72
72
72
72
77
72
72
72
72
72
72
72
84
84
84
79
79
84
84
79
79
101
91
91
91
96
96
91
91
91
91
91
96
96
91
91
91
96
96
96
96
91
91
91
96
91
98
103
98
108
108
103
103
103
103
103
103
103
103
125
125
125
125
120
110
115
110
115
115
115
115
115
132
137
137
137
147
122
127
122
147
137
149
159
159
159
134
134
139
159
156
161
141
164
146
146
141
168
163
163
173
163
173
160
185
180
180
180
202
202
202
202
197
204
209
179
204
204
199
204
204
202
202
209
214
204
221
221
221
211
211
221
221
233
233
228
233
233
233
228
228
233
228
228
233
233
233
233
235
235
245
245
233
230
245
242
245
252
254
254
254
254
254
249
254
254
276
276
276
276
271
269
271
268
268
283
283
283
273
281
283
273
293
285
290
285
295
295
312
292
309
309
314
309
309
321
321
336
316
326
321
321
321
326
328
328
328
343
338
328
333
333
333
355
345
345
367
372
347
347
374
374
386
366
391
381
381
403
388
388
400
400
417
412
412
424
419
436
426
436
436
426
436
438
438
433
443
438
438
433
448
438
438
465
465
445
445
457
457
482
496
496
476
476
476
506
491
503
488
518
508
530
525
525
515
535
532
537
542
539
539
551
551
570
570
570
555
597
597
606
606
601
620
620
635
667
632
632
632
652
647
647
642
634
659
659
654
654
661
661
681
671
661
661
666
653
653
670
682
722
677
702
697
714
719
724
706
731
753
753
738
725
755
732
774
788
788
805
800
807
856
831
860
860
911
911
923
918
949
961
941
985
982
982
982
1001
1001
1023
1023
1020
1020
1020
1062
1074
1086
1093
1162
1167
1186
1247
1234
1254
1254
1277
1277
1323
1318
1328
1378
1378
1385
1397
1409
1421
1428
1423
1433
1447
1609
1652
1664
1937
1966
1978
2103
2127
2119
2146
2158
2160
2179
2189
2201
1
1
37
37
49
49
34
34
34
34
34
39
34
39
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
65
65
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
72
72
77
72
72
77
72
72
72
72
72
72
72
72
72
72
72
72
72
72
99
84
99
84
79
79
79
79
79
84
84
79
79
79
79
96
96
91
91
91
91
91
91
91
91
96
91
113
118
98
108
108
103
103
103
103
103
103
103
103
103
125
110
115
115
115
115
110
110
115
137
137
137
137
122
127
127
127
144
149
149
149
144
154
149
134
139
154
159
144
156
171
171
171
171
161
161
156
156
166
161
146
171
168
173
148
148
176
175
180
180
167
197
192
192
187
204
214
209
209
209
214
214
209
199
199
216
221
211
191
216
216
221
206
206
221
211
211
209
209
221
221
221
221
223
218
218
228
233
233
240
240
240
240
240
235
235
245
240
240
245
245
245
240
252
252
247
247
257
252
249
249
249
257
264
276
276
261
261
288
288
273
281
273
295
295
295
285
293
295
300
297
297
292
307
307
312
312
304
321
321
321
321
321
326
333
333
333
333
348
338
328
355
340
367
347
347
352
352
374
374
379
384
359
359
386
393
388
398
398
393
415
412
419
424
424
419
419
419
419
448
433
443
443
448
433
448
445
445
445
445
455
472
472
472
472
457
457
494
503
503
503
503
503
488
488
518
503
518
518
505
505
495
530
520
537
537
537
527
547
539
544
554
551
563
563
555
582
582
618
618
613
635
627
627
632
647
679
644
634
644
634
634
664
659
654
654
646
671
671
661
673
673
693
683
673
673
682
734
714
704
704
726
731
736
713
743
765
765
750
732
767
800
800
817
812
819
868
843
872
872
923
923
935
930
961
946
968
997
982
994
994
1035
1035
1032
1027
1032
1027
1074
1086
1098
1105
1174
1179
1198
1259
1246
1266
1266
1289
1289
1335
1330
1340
1390
1390
1397
1409
1409
1433
1440
1435
1445
1459
1621
1664
1676
1949
1978
1990
2115
2139
2131
2158
2172
2191
2201
2213
1
1
1
27
27
44
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
56
56
41
41
41
41
51
51
51
41
41
41
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
72
77
72
72
72
72
72
72
72
72
72
72
72
72
89
79
84
84
84
79
84
79
79
79
79
79
79
84
79
84
84
79
111
111
91
91
96
91
91
96
96
96
96
91
96
96
91
91
91
108
103
113
103
103
103
103
103
130
125
110
110
115
115
115
115
115
115
115
110
137
137
147
122
127
127
149
149
149
149
129
139
156
156
161
161
151
161
161
161
146
146
146
161
146
171
161
161
151
183
178
178
178
173
173
163
163
178
173
178
175
190
190
175
180
183
180
187
202
202
187
187
187
179
209
204
204
199
199
204
216
221
211
221
221
221
221
216
211
211
223
203
223
223
233
228
233
233
233
228
228
235
225
225
240
233
233
245
240
247
247
247
247
247
242
242
252
252
252
257
257
257
252
264
264
259
259
264
264
264
264
264
269
271
273
288
273
268
268
295
295
293
307
307
307
297
305
307
309
309
314
319
319
319
319
316
333
333
333
328
333
333
333
328
328
328
333
345
340
345
340
360
340
367
352
352
352
352
352
379
364
386
391
396
371
371
381
393
400
400
427
424
424
419
419
426
426
426
426
431
443
443
438
460
455
455
460
455
455
455
445
445
445
457
464
464
486
476
506
515
515
515
515
495
495
530
515
530
512
512
542
532
544
544
539
559
556
566
570
570
570
589
589
594
630
630
625
635
627
639
654
691
656
656
646
676
666
653
683
683
685
685
705
695
685
685
746
726
738
713
713
743
748
755
777
777
732
732
732
762
744
779
812
812
829
824
831
880
855
884
884
935
935
947
942
946
968
980
982
1009
994
1006
1001
1020
1027
1027
1047
1047
1044
1044
1086
1098
1110
1117
1186
1191
1210
1271
1258
1278
1278
1301
1301
1347
1342
1352
1402
1402
1409
1421
1445
1452
1447
1457
1471
1633
1676
1683
1961
1990
2002
2127
2151
2143
2184
2203
2213
2225
1
1
1
1
1
1
13
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
46
46
46
41
41
41
68
68
63
53
53
63
63
53
53
53
53
53
53
53
53
53
53
53
53
53
80
80
60
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
72
77
77
77
72
72
72
84
79
84
84
84
84
84
84
79
79
79
84
84
79
84
79
79
84
84
84
84
84
84
84
79
96
96
96
96
96
91
91
96
96
91
91
91
123
103
123
103
103
103
115
120
125
115
115
115
115
115
115
115
115
115
115
115
115
115
110
115
137
137
122
122
127
127
127
122
122
129
144
144
164
159
134
161
161
161
161
161
161
161
161
161
141
171
146
151
168
173
168
168
173
178
190
175
185
185
185
185
180
180
185
185
170
170
180
180
180
185
185
185
187
202
202
187
167
197
190
190
192
199
214
214
204
204
186
221
216
211
206
206
223
228
228
223
223
228
228
223
223
233
233
233
228
228
223
223
218
218
230
210
230
230
225
240
240
240
240
240
252
242
252
252
252
252
252
254
254
264
264
264
264
264
259
259
269
269
269
259
276
276
266
266
276
276
276
276
271
273
273
268
281
295
292
292
305
319
319
319
314
314
309
317
319
319
319
319
319
321
321
326
331
331
331
331
331
333
333
328
333
328
328
345
345
340
357
352
357
352
372
352
379
364
364
364
391
371
381
393
403
403
408
388
378
378
412
439
431
438
438
438
438
455
455
445
472
462
462
472
457
457
457
493
493
488
518
527
527
527
527
542
527
542
544
554
544
556
551
571
578
575
570
570
582
589
589
601
606
642
642
627
627
637
651
651
703
668
653
663
663
688
695
695
697
697
717
707
697
697
689
758
738
750
755
760
767
789
789
744
744
774
751
786
824
824
841
836
843
892
867
896
896
942
942
959
954
992
982
1021
1006
1018
1039
1059
1059
1051
1051
1098
1110
1122
1129
1198
1203
1222
1278
1270
1290
1290
1313
1313
1359
1354
1364
1414
1414
1421
1433
1457
1464
1459
1469
1483
1645
1683
1695
1973
2002
2014
2139
2163
2155
2196
2215
2225
2237
1
25
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
39
34
34
34
39
34
34
34
34
34
34
34
34
34
34
51
46
53
53
53
53
58
53
58
58
53
53
53
53
53
80
80
75
75
75
60
60
65
60
60
60
60
87
92
72
72
72
72
72
72
72
72
72
77
77
77
72
72
72
72
84
84
84
79
79
79
84
84
84
79
84
84
84
84
96
96
96
96
96
96
96
91
91
91
96
96
96
96
96
96
108
98
98
103
103
103
135
115
135
115
115
115
115
115
115
115
115
115
137
147
127
127
127
122
122
127
149
144
129
159
129
139
139
139
141
151
151
141
141
176
146
146
146
166
171
173
173
173
173
173
173
173
173
173
148
183
180
180
175
185
175
180
180
180
185
185
197
187
187
197
192
192
192
192
187
187
199
204
209
209
179
179
204
204
204
209
204
204
199
209
211
221
221
211
216
211
214
214
209
233
223
230
235
235
235
235
245
245
225
240
235
225
225
252
222
247
252
252
252
252
247
247
247
264
254
249
249
259
264
259
259
266
276
276
276
271
271
271
281
281
281
288
288
273
273
288
268
283
283
300
293
300
312
314
317
331
331
331
326
321
329
331
331
331
333
333
333
333
338
338
338
343
343
338
345
345
340
340
340
352
352
352
352
352
364
364
364
374
364
364
364
384
364
391
376
371
371
403
393
410
410
410
410
415
420
390
400
400
424
424
419
419
446
438
438
445
445
462
462
457
457
484
484
469
469
464
503
495
530
532
539
539
539
539
539
554
539
554
556
566
556
563
583
590
582
582
582
589
613
618
635
627
647
654
654
639
639
649
658
658
658
710
700
675
707
707
709
709
729
694
689
719
709
709
716
716
713
770
750
762
732
767
767
779
801
801
751
751
786
781
798
836
836
853
855
904
908
908
954
971
966
994
1004
1033
1018
1025
1046
1071
1071
1110
1122
1134
1141
1210
1215
1234
1290
1282
1302
1297
1325
1325
1371
1366
1376
1426
1426
1433
1445
1469
1476
1471
1481
1495
1657
1707
1985
2014
2026
2175
2167
2208
2227
2237
2249
1
1
1
1
1
27
27
27
27
27
27
27
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
51
41
41
53
63
53
53
53
53
53
53
53
53
53
53
53
53
80
65
80
65
70
70
70
60
60
60
60
60
60
60
65
60
60
60
60
60
87
92
92
92
87
87
87
72
72
72
72
72
72
72
72
72
72
72
104
99
79
79
84
96
96
96
91
91
96
91
96
96
96
96
96
96
91
103
108
103
103
103
108
108
108
115
110
110
125
115
115
115
115
115
147
147
147
122
127
127
127
144
154
139
139
139
149
161
136
171
151
166
166
146
146
146
161
161
159
159
148
183
148
148
183
183
173
180
180
180
180
180
180
180
180
180
155
175
185
175
190
185
192
192
167
167
187
192
192
187
187
179
179
204
199
199
209
209
211
216
216
216
191
216
216
216
221
211
216
216
216
206
206
228
228
223
223
240
230
235
230
233
247
242
242
247
242
242
257
252
247
247
242
254
234
264
259
259
276
276
276
271
271
271
271
271
271
271
273
288
273
283
283
273
273
268
278
278
293
293
293
300
300
285
285
295
307
307
305
319
319
319
319
336
329
343
343
343
338
333
341
343
338
338
345
345
340
340
345
355
355
357
357
352
352
374
374
364
364
376
386
376
396
376
403
388
378
378
378
415
400
400
417
417
417
427
427
402
412
412
424
436
436
431
458
448
443
443
445
445
450
489
469
464
496
496
476
476
476
510
532
512
542
539
551
551
551
551
551
566
551
566
563
578
568
575
575
560
560
595
597
602
589
589
589
625
630
627
647
639
666
666
646
646
661
675
675
722
712
694
719
719
721
721
736
701
731
721
721
723
723
723
723
723
723
782
762
767
774
744
779
786
791
813
813
798
793
810
848
848
865
867
916
920
920
942
942
966
983
978
968
994
1016
1001
1045
1025
1083
1083
1122
1134
1146
1153
1222
1227
1246
1278
1294
1314
1309
1337
1337
1383
1378
1388
1438
1438
1445
1457
1481
1488
1483
1493
1507
1669
1719
1997
2026
2038
2187
2179
2220
2234
2249
2261
1
1
1
1
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
51
46
41
58
63
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
75
60
60
60
60
60
60
60
60
60
60
60
60
60
60
87
87
82
82
82
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
104
99
99
104
99
104
99
99
99
84
84
79
79
79
79
79
84
84
84
84
111
106
91
111
108
103
118
103
108
103
108
108
108
103
103
115
125
135
115
115
115
115
115
115
115
115
115
125
135
127
137
122
122
122
137
140
154
159
129
159
159
136
161
146
146
146
161
173
148
178
183
148
173
173
173
173
173
171
171
155
195
190
190
180
190
192
192
192
192
192
167
197
197
197
167
197
197
197
197
187
204
179
199
199
204
209
216
191
186
191
226
211
211
209
206
206
206
206
223
203
228
228
223
223
223
228
223
228
223
223
223
210
235
230
230
235
225
247
247
247
252
242
247
249
249
249
249
264
264
264
264
259
259
246
276
276
271
271
271
271
273
273
288
288
273
273
278
285
300
285
305
305
305
307
307
307
307
317
297
297
292
319
319
317
319
319
326
326
326
326
328
328
341
355
355
355
345
345
345
353
355
357
357
367
367
352
364
364
374
364
364
364
364
386
376
371
388
398
388
408
393
388
378
415
400
390
390
417
427
439
409
424
424
431
438
470
455
455
455
457
457
457
496
481
508
508
488
510
510
512
554
551
563
563
558
563
563
578
563
578
590
575
582
582
567
567
607
589
614
635
627
637
642
639
659
651
678
678
673
663
687
687
682
724
701
731
731
733
733
748
743
733
733
723
723
713
735
735
735
794
774
786
751
791
798
825
825
810
800
822
860
860
877
928
932
932
954
978
995
975
990
975
1001
1028
1020
1020
1027
1057
1095
1095
1134
1146
1158
1165
1234
1239
1258
1290
1297
1306
1326
1321
1349
1349
1390
1400
1395
1450
1450
1457
1469
1493
1495
1495
1505
1514
1681
1731
2009
2038
2050
2199
2191
2227
2234
2246
2261
2273
1
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
46
41
41
46
51
51
41
41
41
41
58
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
75
75
60
65
65
60
60
60
60
60
60
60
60
60
60
60
60
65
60
60
60
60
60
60
87
72
72
72
72
72
72
72
99
99
94
94
94
99
79
84
84
79
79
84
84
111
106
106
111
106
111
111
111
111
96
91
116
96
91
123
103
98
103
108
123
115
125
115
115
115
115
115
115
115
110
110
135
135
125
127
132
147
122
132
147
134
144
134
134
149
152
161
171
171
156
156
171
161
156
156
178
148
178
168
195
185
185
185
180
180
180
180
178
178
167
202
167
192
197
197
187
179
209
209
204
209
209
199
199
204
204
204
204
216
216
191
206
206
216
206
206
198
198
233
230
230
215
230
230
230
230
240
235
240
235
233
230
230
225
222
262
242
247
264
259
276
276
271
271
271
271
273
273
273
273
273
258
273
273
273
288
268
278
273
273
285
300
300
285
297
307
297
317
317
317
319
319
324
309
309
319
329
331
338
340
340
340
340
340
353
367
367
367
357
357
357
365
367
352
352
369
369
379
379
364
376
376
376
376
376
376
386
398
393
388
400
405
400
420
400
390
427
412
397
397
439
451
431
431
431
438
450
450
455
450
450
450
482
462
462
469
476
508
508
488
520
520
495
517
517
517
517
544
566
541
558
563
575
575
575
575
590
575
590
602
597
589
594
614
621
647
639
649
654
651
666
658
663
690
690
685
682
694
694
736
713
743
743
745
745
760
755
745
745
735
725
742
742
742
732
806
786
798
803
810
837
837
822
834
872
872
889
940
944
944
966
951
990
975
1007
1002
982
1040
1025
1032
1027
1039
1069
1107
1107
1146
1153
1170
1172
1246
1251
1270
1309
1318
1338
1333
1361
1361
1402
1412
1407
1462
1462
1469
1481
1505
1507
1517
1526
1693
1743
2021
2050
2062
2211
2203
2227
2246
2258
2273
2285
1
1
1
27
27
27
27
27
27
34
34
34
34
34
34
34
34
39
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
46
46
41
41
41
41
41
53
53
53
53
53
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
60
60
60
60
60
60
60
60
60
60
60
65
60
60
60
77
82
87
82
72
72
72
72
72
72
72
72
72
72
72
72
72
77
72
72
72
67
72
67
72
94
94
79
79
84
84
79
79
84
84
84
84
84
111
111
101
101
101
91
106
96
96
123
123
123
123
123
123
103
128
103
103
103
103
103
135
125
110
130
122
132
137
137
137
137
137
147
147
132
137
134
129
154
139
159
154
154
139
141
151
151
156
159
163
178
148
178
168
168
178
173
178
168
168
155
155
155
190
190
180
180
175
175
202
187
197
167
187
187
185
185
174
209
209
209
179
179
179
199
186
216
216
216
216
216
211
211
216
216
216
216
223
198
233
223
230
230
230
227
247
242
247
247
234
269
249
259
259
271
288
283
273
273
273
273
285
285
270
285
295
295
285
297
312
307
297
292
307
304
324
319
304
329
329
329
319
319
326
331
331
321
321
326
331
341
338
338
338
345
352
352
365
352
364
364
364
364
364
364
379
379
379
364
364
369
377
379
364
381
381
391
391
376
383
383
383
383
388
388
393
405
400
412
417
412
432
412
402
439
424
431
431
451
431
463
443
438
450
457
457
462
462
457
457
457
494
496
476
488
515
515
515
515
532
532
517
517
544
529
529
556
578
548
548
570
587
587
587
587
602
587
567
602
614
606
633
640
632
659
651
661
666
658
658
702
702
697
694
694
706
748
725
755
755
757
757
772
767
757
757
742
737
732
744
818
798
810
815
800
800
822
849
849
834
846
884
884
901
952
951
951
951
946
978
958
1002
982
1019
1014
1001
1052
1044
1046
1081
1119
1119
1158
1153
1182
1172
1184
1258
1263
1282
1321
1330
1350
1345
1373
1373
1414
1424
1419
1474
1474
1481
1493
1517
1519
1529
1538
1683
1705
1755
2033
2062
2074
2223
2215
2258
2270
2285
2297
1
1
27
27
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
51
41
41
41
53
58
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
75
75
65
60
60
60
60
60
65
65
77
77
72
72
72
72
72
77
72
72
89
94
94
94
79
84
79
84
79
79
79
84
84
84
84
79
84
84
84
84
101
96
116
96
96
96
101
123
123
113
113
113
123
123
113
103
103
103
108
108
135
135
135
135
135
135
135
135
115
110
110
147
122
132
122
137
137
137
134
129
149
149
149
149
149
154
154
139
149
141
136
136
161
161
161
171
161
161
166
161
153
163
148
178
178
178
178
163
163
166
166
173
173
178
155
155
185
185
175
175
185
180
180
190
175
175
167
167
197
187
197
192
192
209
209
209
204
204
204
199
199
191
191
206
198
223
223
223
223
223
218
218
223
223
223
223
230
230
230
230
230
238
238
247
254
249
239
269
269
249
249
259
254
246
261
266
278
273
273
295
295
285
285
305
292
297
277
307
307
292
292
304
324
304
319
326
326
326
336
331
326
326
326
341
341
341
331
343
343
333
328
343
353
345
357
364
364
364
364
377
376
376
376
376
376
376
391
391
391
381
389
391
376
393
393
378
393
393
403
403
383
405
400
400
412
424
424
424
444
424
409
451
436
431
431
431
431
438
438
438
438
463
438
438
475
455
450
457
506
476
488
515
515
495
495
527
527
544
544
529
556
536
536
570
590
587
582
599
599
599
599
614
599
614
626
618
645
647
639
666
666
658
673
673
668
668
714
714
704
694
706
713
760
767
769
769
784
779
769
769
744
744
751
830
810
822
827
812
812
834
861
861
846
858
896
896
913
964
963
953
958
990
1014
1031
1026
1043
1025
1064
1051
1093
1131
1131
1170
1194
1184
1196
1270
1275
1294
1333
1342
1362
1357
1385
1385
1426
1436
1431
1481
1486
1481
1493
1505
1529
1531
1541
1550
1683
1695
1717
1767
2045
2074
2086
2235
2227
2270
2282
2297
2309
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
41
41
41
41
41
58
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
60
60
60
60
65
60
65
65
72
77
82
82
72
72
72
72
72
72
72
77
72
72
77
72
89
89
89
84
84
84
84
84
84
84
79
79
84
84
84
79
84
101
101
101
86
116
91
91
91
91
91
96
96
113
123
103
103
108
108
113
125
135
125
125
125
135
125
130
130
125
135
115
115
135
115
115
147
147
147
147
147
147
147
142
137
139
134
159
149
136
156
156
156
156
156
161
161
161
161
156
153
173
173
178
153
173
173
173
165
155
155
155
185
190
190
185
190
190
185
185
185
190
190
185
167
167
197
182
182
197
192
187
197
182
182
179
179
204
204
199
199
204
204
199
199
199
199
199
199
216
216
211
211
211
211
219
198
198
210
230
230
225
225
230
230
230
230
242
245
245
249
254
249
246
261
266
266
258
283
273
278
273
278
278
285
307
292
292
312
312
309
289
319
319
336
338
353
353
353
343
355
355
340
340
340
345
350
365
357
364
376
376
376
376
389
388
388
383
388
388
383
378
403
403
403
393
401
393
403
383
405
410
405
390
410
410
417
412
412
424
436
436
456
431
431
463
443
443
443
443
475
450
450
487
462
518
498
515
515
527
534
534
556
556
536
568
570
575
575
582
602
567
594
589
611
611
611
611
621
611
626
633
630
647
657
639
666
663
678
685
675
675
694
694
694
726
701
726
716
706
713
744
781
781
796
791
781
781
756
751
842
822
834
839
819
819
819
819
846
868
868
858
870
908
908
925
976
951
951
953
975
1002
1026
1001
1043
1038
1055
1020
1081
1051
1076
1105
1143
1143
1182
1206
1196
1208
1282
1287
1306
1345
1354
1374
1369
1397
1397
1438
1443
1443
1443
1493
1498
1493
1505
1517
1541
1543
1553
1562
1707
1729
1779
2057
2086
2098
2247
2239
2282
2294
2309
2321
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
41
41
41
41
41
41
41
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
60
60
60
65
60
65
65
72
72
77
77
77
72
72
72
72
72
72
72
72
72
72
77
72
72
72
77
77
84
84
79
79
79
79
84
84
79
79
84
84
84
84
84
84
84
84
84
101
101
101
86
96
96
96
91
91
96
96
96
91
91
101
96
96
108
113
113
123
123
103
103
103
103
103
125
125
125
115
135
130
140
115
115
125
115
115
115
115
120
132
147
132
132
132
147
137
137
137
122
122
137
147
142
137
147
154
154
154
154
159
149
159
159
141
141
141
161
171
161
156
161
163
163
163
163
163
163
163
163
173
163
173
160
180
180
180
185
185
160
180
180
180
180
167
172
197
197
197
197
187
187
185
192
192
197
197
197
197
179
179
179
199
204
214
214
191
186
211
211
211
211
206
211
211
206
206
223
223
218
218
226
226
210
225
240
222
252
252
252
252
252
252
242
242
242
242
242
254
249
271
266
273
273
273
273
273
273
278
270
285
285
285
292
319
324
324
321
301
326
326
348
340
345
365
365
365
350
350
367
367
352
357
369
369
377
388
383
388
383
403
401
383
383
395
395
395
395
390
415
410
410
410
410
405
413
415
395
412
412
417
422
422
412
412
402
422
424
424
424
436
431
431
443
443
443
443
468
438
475
455
455
450
450
457
457
487
457
499
481
481
530
505
495
527
517
534
568
568
570
575
587
582
587
582
589
589
614
623
623
623
623
623
638
645
647
642
669
666
658
678
670
670
685
697
694
701
706
706
738
738
723
728
718
744
756
751
751
793
793
808
803
793
793
768
854
834
819
819
846
851
831
831
858
880
870
882
920
920
937
988
963
958
987
1014
1038
1055
1050
1032
1027
1093
1088
1117
1155
1155
1194
1218
1208
1220
1294
1299
1318
1357
1366
1386
1381
1409
1409
1450
1455
1505
1510
1505
1517
1553
1555
1565
1574
1719
1741
1791
2069
2098
2110
2259
2251
2294
2306
2321
2333
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
75
60
60
60
60
60
60
60
60
60
60
60
60
65
65
60
60
60
60
60
60
65
60
60
60
60
65
72
77
77
72
72
72
72
72
72
72
72
77
72
72
72
72
72
72
72
72
77
72
77
84
84
89
84
89
79
79
79
79
84
84
84
79
84
84
84
84
84
84
84
84
91
91
106
96
96
91
96
91
108
113
113
103
103
113
103
103
113
120
125
125
115
130
135
135
125
115
115
115
132
132
122
122
147
137
142
152
147
147
132
137
137
135
135
137
127
154
154
144
159
159
129
129
144
154
154
149
154
166
166
166
166
141
141
161
171
156
171
171
156
153
153
163
163
173
178
163
173
163
173
160
160
180
185
185
187
187
192
187
187
192
187
185
174
174
184
204
204
204
204
204
199
199
204
209
186
191
206
206
221
221
221
203
223
218
218
198
198
223
218
218
218
218
230
230
230
225
230
225
225
230
230
252
252
222
247
257
234
264
264
264
254
254
254
249
254
254
266
261
273
273
273
273
273
273
278
273
273
285
285
285
285
285
282
297
297
312
324
333
313
360
345
350
377
377
377
362
362
379
379
364
376
376
376
376
389
383
400
415
400
410
413
410
410
395
395
417
402
427
422
422
417
425
427
402
424
429
429
409
434
436
436
436
448
455
455
460
455
455
480
460
460
450
457
457
487
467
462
462
499
511
488
488
542
517
517
534
529
580
580
582
594
589
599
601
626
635
635
635
635
635
650
657
654
681
673
678
685
709
704
694
694
694
723
718
713
750
750
735
740
730
768
763
805
805
820
815
805
805
775
800
866
846
831
858
863
838
838
870
892
882
894
932
932
949
958
1000
975
999
1026
1045
1067
1032
1057
1044
1105
1095
1129
1167
1167
1206
1230
1220
1232
1306
1311
1330
1369
1378
1398
1393
1421
1421
1462
1467
1495
1517
1522
1517
1565
1567
1577
1586
1731
1753
1803
2081
2110
2122
2271
2263
2306
2318
2333
2345
1
13
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
46
41
41
41
53
63
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
65
65
60
60
60
65
72
87
87
72
72
72
77
77
72
72
72
72
72
72
72
77
72
77
89
84
84
84
79
84
84
84
84
79
84
84
84
84
84
79
84
101
101
96
96
91
96
96
96
91
103
103
113
103
103
113
116
103
120
125
125
125
135
135
120
115
115
115
135
120
110
132
137
122
147
137
142
137
137
122
127
154
149
159
159
159
139
149
149
154
147
147
149
166
166
141
141
141
151
151
171
171
151
151
161
161
161
161
156
161
161
161
156
178
153
173
173
178
178
178
173
173
173
178
163
163
178
178
168
155
165
165
185
185
185
180
185
185
192
182
182
197
197
199
204
204
199
204
204
186
186
196
206
206
221
216
223
198
223
215
225
225
230
210
210
225
225
230
225
225
230
230
242
242
257
242
247
245
264
254
229
264
246
271
271
271
266
246
266
266
276
276
266
266
276
276
273
273
278
273
273
285
285
285
297
277
307
297
297
307
297
294
309
304
331
328
340
345
325
350
372
362
389
389
389
369
369
391
391
376
401
390
410
412
422
412
425
422
402
402
429
429
409
439
434
434
429
437
439
436
441
431
431
431
446
443
443
448
448
443
460
467
467
467
467
467
467
467
492
467
467
457
499
479
469
469
518
505
515
517
517
549
524
524
524
524
541
575
570
592
592
589
601
621
611
608
633
638
647
647
647
647
647
647
662
669
666
666
693
675
685
706
721
716
706
723
730
762
762
747
752
737
775
770
817
817
832
827
817
817
878
858
838
870
870
882
904
894
901
944
944
961
987
1007
1011
1038
1045
1057
1057
1079
1039
1051
1095
1117
1107
1141
1179
1179
1218
1242
1232
1244
1318
1323
1342
1381
1390
1410
1405
1433
1433
1474
1479
1507
1514
1529
1534
1529
1577
1579
1589
1598
1743
1765
1815
2093
2122
2134
2283
2275
2318
2330
2345
2357
1
1
1
1
13
25
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
41
41
41
41
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
75
75
65
60
60
60
60
65
60
60
60
60
60
72
77
72
72
72
72
72
72
72
72
77
77
72
72
72
67
77
72
67
72
92
77
84
99
104
94
79
79
79
79
84
84
84
84
79
79
84
84
84
84
84
84
84
84
101
96
91
96
101
91
91
96
91
113
113
98
103
103
103
98
110
120
115
115
115
125
128
110
110
125
132
137
137
137
137
137
142
147
137
127
122
122
147
127
144
149
154
154
129
149
154
149
149
144
149
136
161
161
151
156
161
161
166
161
166
166
161
156
156
166
161
154
154
161
156
178
153
178
178
178
173
173
173
168
173
173
163
173
173
173
168
190
155
155
165
185
185
190
190
190
185
185
180
185
185
185
185
185
185
175
167
177
172
197
197
182
197
182
197
192
199
199
204
204
204
206
206
206
206
206
198
208
198
228
230
225
222
222
252
252
217
217
245
254
269
254
249
249
264
264
254
271
273
253
253
273
278
273
278
278
283
283
278
278
283
283
285
285
290
285
285
292
307
292
297
297
304
304
289
319
304
304
309
304
304
306
321
343
343
345
352
357
337
384
369
401
401
401
403
403
388
393
393
383
395
395
390
390
413
424
429
429
424
409
409
437
434
441
421
451
446
446
441
449
451
443
448
443
443
458
455
460
460
462
462
467
462
462
472
467
479
479
474
474
479
479
491
527
517
544
524
524
529
561
536
536
553
570
582
604
589
604
601
608
623
645
650
647
659
659
659
659
659
674
681
678
678
675
705
680
706
723
733
728
713
713
735
737
774
774
764
754
829
829
844
839
829
829
890
870
882
894
916
906
913
956
956
973
1007
999
1023
1050
1057
1069
1039
1091
1051
1063
1107
1129
1119
1153
1186
1186
1230
1254
1244
1256
1330
1330
1349
1393
1402
1417
1445
1445
1486
1491
1526
1541
1546
1541
1589
1591
1601
1610
1755
1777
1822
2105
2134
2146
2295
2287
2330
2342
2357
2369
1
1
25
27
27
27
27
37
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
60
60
60
60
60
60
60
60
60
60
60
77
87
72
72
87
77
72
72
72
77
72
72
72
72
72
67
77
72
72
72
72
84
84
79
79
79
104
84
84
84
84
84
84
84
104
84
111
111
101
111
91
96
96
91
111
96
113
103
123
113
103
98
108
125
125
105
135
115
115
110
110
117
122
132
135
127
117
117
137
132
132
144
149
149
149
149
144
129
149
154
149
154
154
156
141
136
166
151
161
156
166
161
151
156
156
161
163
173
173
173
173
173
173
168
163
163
178
173
161
161
163
190
155
155
155
160
160
185
185
185
160
190
180
185
185
185
185
180
180
175
197
167
172
187
192
192
197
197
197
187
192
192
187
197
197
197
197
197
182
179
189
214
209
204
209
199
204
204
206
206
206
216
216
198
238
210
220
210
225
235
252
252
259
264
264
254
269
259
264
266
266
266
273
273
273
273
283
283
283
283
283
283
265
265
285
285
285
295
285
285
295
297
297
297
297
297
319
304
304
304
304
304
301
331
321
318
333
350
350
350
350
345
364
369
349
396
413
413
413
395
415
415
400
395
425
424
409
436
441
436
421
421
449
436
446
443
448
443
428
463
458
458
453
461
463
455
455
470
467
472
472
467
469
469
474
474
469
469
484
491
491
491
491
518
503
488
515
515
549
524
524
539
536
541
573
543
543
553
560
582
582
616
601
616
613
635
657
662
659
671
671
671
671
666
666
666
686
693
685
685
685
687
712
687
713
745
740
747
744
754
786
786
776
819
841
841
856
851
841
841
902
882
894
906
928
918
925
968
968
985
1011
1035
1062
1069
1039
1081
1051
1103
1063
1070
1119
1141
1131
1165
1198
1242
1256
1261
1268
1342
1361
1405
1414
1457
1457
1498
1503
1538
1553
1558
1553
1601
1598
1613
1617
1767
1784
1834
2117
2146
2158
2307
2299
2342
2354
2369
2381
1
1
1
1
25
27
27
37
32
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
41
41
41
41
53
63
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
70
70
65
60
60
60
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
77
77
72
72
72
72
89
99
84
84
99
84
79
79
79
79
79
79
79
84
84
84
84
84
84
84
99
99
94
91
91
96
91
91
86
86
111
96
96
91
111
111
123
118
103
103
123
108
98
98
123
113
108
125
130
120
115
115
135
115
137
137
137
137
137
137
147
122
137
127
117
139
139
142
142
129
129
144
144
144
156
156
156
156
136
141
161
151
166
161
151
156
156
161
166
163
148
148
173
163
173
173
173
163
168
173
163
163
185
175
180
180
160
180
185
180
197
167
172
172
187
197
187
187
192
197
197
187
187
182
204
179
199
199
204
204
204
199
199
209
209
209
209
209
201
186
186
221
221
216
216
221
216
211
198
198
223
223
225
230
210
225
245
245
230
230
225
222
232
222
250
250
266
266
276
276
266
266
278
278
283
283
283
283
278
285
285
285
285
300
300
285
295
285
285
295
295
277
277
312
297
302
297
302
304
304
304
309
304
304
309
304
304
331
316
316
331
313
338
333
325
345
350
350
345
362
362
357
376
381
356
408
383
383
425
425
425
427
427
417
412
424
437
436
448
448
448
428
428
461
443
458
450
450
450
450
475
470
470
465
473
475
462
462
482
479
484
484
496
503
503
503
503
488
515
515
515
527
527
561
536
546
543
548
585
560
565
582
572
572
589
594
628
613
628
620
647
647
669
674
683
683
683
683
663
678
693
680
680
705
697
697
712
687
709
694
757
752
754
756
751
751
798
798
788
819
819
819
831
853
853
868
863
853
853
914
894
906
918
940
930
937
980
980
997
1023
1030
1047
1074
1039
1081
1051
1051
1093
1063
1115
1070
1131
1153
1143
1177
1210
1254
1261
1268
1273
1280
1330
1354
1349
1373
1417
1426
1469
1469
1515
1550
1565
1570
1565
1598
1613
1625
1617
1629
1779
1846
2129
2158
2165
2319
2311
2354
2366
2381
2393
1
1
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
56
41
41
41
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
75
65
75
60
60
60
60
60
60
60
60
60
60
60
60
60
60
75
82
82
72
72
72
72
72
72
72
72
77
77
72
84
84
84
84
104
79
84
84
84
84
84
101
111
111
96
91
91
96
101
91
116
101
91
96
96
96
96
106
106
101
103
103
103
103
103
118
113
103
103
103
103
113
118
108
98
98
118
123
135
135
130
135
115
115
115
110
110
130
135
125
115
137
122
137
127
122
127
127
127
117
147
149
149
149
149
149
149
154
149
129
141
141
161
161
156
156
141
141
151
151
151
151
168
168
163
153
163
163
163
168
168
178
163
175
180
180
160
175
180
180
180
185
175
180
185
187
187
187
187
197
187
204
174
184
204
204
204
204
216
186
186
216
216
216
221
221
221
221
221
211
198
198
208
208
203
228
223
233
231
223
225
210
225
222
234
239
239
229
249
257
257
283
283
283
273
283
283
290
290
295
295
290
292
292
297
307
307
307
302
297
302
302
312
289
289
319
309
309
316
316
321
316
316
321
316
338
323
323
325
325
345
345
357
362
369
369
356
388
393
368
400
400
420
400
400
390
395
395
417
437
432
432
439
439
424
429
409
436
449
448
443
460
460
473
470
487
482
482
477
485
462
487
474
494
491
496
496
508
515
515
515
515
527
539
539
546
573
543
548
560
582
597
572
584
584
601
640
620
640
644
659
659
681
686
671
666
663
693
695
695
695
695
670
675
685
687
687
717
709
709
694
716
744
769
764
766
768
810
810
800
831
843
865
865
880
875
865
865
870
921
906
901
918
930
952
942
949
992
992
1009
1035
1030
1042
1039
1054
1086
1051
1093
1063
1063
1105
1070
1127
1143
1165
1155
1189
1222
1261
1273
1280
1285
1292
1366
1361
1385
1438
1481
1481
1527
1562
1577
1582
1577
1625
1637
1629
1641
1791
1858
2141
2165
2177
2331
2323
2366
2378
2393
2405
1
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
41
56
41
41
53
53
68
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
65
60
60
60
60
65
60
60
75
60
87
87
72
87
87
67
67
72
72
72
72
72
72
82
94
94
94
94
104
94
79
84
84
96
91
96
96
111
111
111
96
96
101
96
96
96
96
113
123
123
108
103
98
113
98
98
98
128
113
98
108
108
113
113
108
113
115
105
110
110
110
110
115
115
110
110
120
130
115
115
115
115
115
115
125
125
135
130
127
122
147
147
132
127
137
147
137
137
117
117
117
147
137
137
132
149
154
141
141
141
156
156
161
161
151
156
156
156
161
156
161
141
153
148
163
168
168
161
163
153
153
158
158
165
180
180
185
175
185
180
185
187
187
187
182
187
187
187
187
204
216
196
186
186
186
211
216
211
216
216
226
226
228
228
228
228
233
233
233
233
233
223
205
205
210
210
235
225
245
238
238
222
229
229
246
251
251
266
266
283
273
285
285
295
297
302
302
302
302
302
304
304
304
304
304
304
309
304
304
309
324
301
301
321
321
323
323
333
338
323
323
333
323
350
350
350
350
337
357
357
369
369
381
381
368
383
400
405
380
390
407
407
432
407
407
402
402
402
429
429
449
444
451
451
436
441
421
448
461
443
455
472
472
485
462
482
469
469
499
494
494
489
497
474
499
501
481
506
503
508
508
527
527
527
527
539
546
546
546
546
585
560
567
609
614
601
591
591
652
652
651
671
693
698
678
678
670
707
707
707
707
682
682
729
716
721
721
737
744
754
754
756
751
751
776
778
775
822
822
819
838
850
877
877
892
887
877
877
933
918
913
930
942
959
954
961
980
1004
1004
1016
1047
1042
1039
1049
1066
1098
1063
1105
1075
1070
1117
1139
1155
1177
1167
1186
1186
1201
1234
1261
1285
1292
1297
1304
1378
1373
1397
1450
1493
1493
1539
1574
1589
1594
1589
1637
1649
1641
1653
1803
1870
2153
2189
2343
2335
2378
2390
2405
2417
1
27
27
39
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
41
41
41
41
41
41
46
68
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
75
60
60
60
60
60
60
60
65
75
60
65
60
60
60
60
60
72
72
72
72
72
72
67
67
92
72
72
72
72
72
72
72
72
72
72
72
72
72
87
77
94
94
84
94
94
79
79
79
84
84
84
89
101
101
101
101
111
101
91
103
103
123
118
123
98
123
103
98
108
108
108
108
118
113
115
105
120
105
105
135
135
110
135
120
135
110
125
125
135
135
115
115
115
125
130
130
125
127
122
117
117
137
117
117
137
137
117
117
117
137
127
117
117
117
132
132
147
137
134
134
154
154
149
154
154
139
139
156
156
161
161
161
161
161
161
153
148
148
148
163
163
173
173
163
163
163
163
163
163
163
173
161
163
153
165
185
175
175
165
165
172
172
192
192
187
187
182
187
192
187
182
197
202
204
204
199
204
204
204
204
199
194
199
199
186
211
228
208
198
198
198
228
223
223
233
233
240
240
240
210
210
240
245
245
245
245
245
235
257
229
229
229
249
266
266
266
241
241
266
266
266
258
263
263
273
283
283
297
307
302
312
304
309
314
319
304
314
314
316
316
316
316
316
316
321
316
321
313
313
338
333
333
345
345
357
362
362
349
369
381
388
388
388
388
388
380
395
412
412
412
427
392
402
444
429
409
441
461
456
463
463
443
443
453
428
455
473
484
469
484
469
497
474
494
506
506
506
501
509
481
506
508
513
493
493
515
520
539
539
539
539
546
546
558
558
548
582
597
567
589
621
591
591
591
591
626
621
603
664
664
651
651
683
670
670
670
705
710
685
682
719
719
719
719
716
716
736
733
733
713
754
756
766
766
768
763
788
775
785
834
834
819
831
889
889
904
899
889
889
930
925
937
954
971
966
958
973
992
1016
1016
1054
1059
1049
1056
1078
1110
1075
1117
1082
1129
1151
1167
1189
1179
1198
1213
1246
1297
1304
1309
1316
1390
1385
1409
1462
1505
1505
1551
1586
1601
1606
1601
1649
1661
1653
1665
1815
1822
1882
2165
2201
2355
2347
2390
2402
2417
2429
1
8
8
27
27
27
27
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
51
41
41
41
41
41
41
41
41
41
41
46
41
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
80
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
65
60
87
72
72
92
72
82
72
72
72
72
72
72
67
72
84
84
84
84
84
99
84
99
84
84
94
89
96
86
86
111
111
113
113
113
113
118
108
113
103
98
98
115
115
130
135
130
130
110
115
115
115
125
127
127
127
117
117
147
147
142
127
127
147
132
132
117
132
132
147
147
137
142
142
117
137
137
137
132
149
149
149
129
129
139
149
149
149
134
149
129
129
129
144
154
139
139
139
156
156
161
161
161
156
156
156
156
156
161
161
161
161
161
168
168
173
160
180
180
180
165
185
172
172
187
182
182
177
177
187
182
184
184
199
199
199
199
194
204
199
204
209
216
216
216
206
211
211
198
233
233
240
220
210
210
205
230
230
230
230
240
230
230
230
230
235
230
230
230
230
245
252
252
252
252
257
257
252
257
257
257
229
269
257
269
241
241
273
248
248
283
283
283
270
275
275
285
295
295
304
319
304
304
324
316
321
326
316
326
326
328
328
323
328
328
323
333
323
333
325
325
350
345
345
350
350
350
357
357
369
369
361
381
393
390
395
395
392
402
402
424
434
404
414
456
421
453
443
473
468
475
475
455
455
460
485
462
496
496
509
481
506
508
508
513
521
525
500
500
527
527
524
524
551
551
551
551
546
546
546
558
558
548
580
570
570
582
589
609
601
633
603
603
638
610
676
676
678
695
685
682
682
687
717
717
689
731
731
731
731
748
745
745
737
766
763
778
773
770
775
800
846
846
843
901
901
916
901
901
911
937
937
949
966
983
978
965
985
999
1016
1028
1028
1066
1071
1063
1090
1122
1082
1129
1141
1163
1179
1201
1191
1210
1225
1258
1309
1316
1321
1328
1402
1397
1421
1474
1517
1517
1563
1598
1613
1618
1613
1661
1673
1665
1677
1784
1827
1834
1894
2177
2213
2367
2359
2402
2414
2429
2441
1
1
13
13
13
8
8
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
41
41
41
41
41
41
41
41
41
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
80
60
60
60
60
60
60
60
60
65
65
72
72
72
92
72
72
72
72
72
72
72
72
72
72
77
72
72
72
72
72
84
99
84
99
89
79
84
84
84
84
84
94
79
84
84
91
91
91
91
91
91
91
91
91
96
96
106
91
111
96
111
101
101
91
101
96
103
103
123
123
123
113
103
98
98
123
113
115
125
135
130
105
105
125
125
135
130
125
125
125
115
110
125
125
127
137
137
147
137
137
137
122
117
137
122
122
117
132
139
134
124
124
124
124
154
154
139
154
144
144
154
139
139
144
154
144
149
149
149
149
139
139
161
161
156
161
136
136
136
136
161
161
156
141
156
141
141
141
161
161
161
168
168
173
168
168
163
168
168
163
163
158
175
175
185
185
185
180
185
185
172
172
172
187
187
187
182
182
187
177
184
184
204
191
191
191
206
206
211
206
211
228
228
228
223
218
218
218
223
233
233
205
230
230
210
210
230
230
230
230
230
230
230
230
245
252
232
217
217
242
242
252
242
242
242
242
252
264
264
259
264
269
269
259
259
257
269
269
269
281
276
273
248
248
283
283
295
282
287
287
297
307
307
309
309
304
304
309
309
331
316
316
323
333
338
343
338
323
338
338
335
335
335
335
345
345
350
350
355
337
337
357
357
357
362
362
362
369
369
369
373
388
400
415
407
407
402
434
404
409
414
414
436
416
421
468
428
460
455
485
480
487
487
467
467
472
462
497
474
508
508
508
521
518
533
537
524
524
539
536
536
563
563
563
563
558
558
558
570
570
565
577
577
572
587
601
621
608
625
645
610
610
650
651
688
688
670
687
717
707
689
689
729
736
743
743
743
743
713
760
757
757
754
763
773
775
785
805
787
858
858
850
908
908
928
908
908
923
949
961
995
990
997
999
1040
1040
1049
1063
1078
1083
1102
1134
1141
1153
1175
1191
1213
1203
1222
1237
1270
1321
1328
1333
1340
1414
1409
1433
1486
1529
1529
1575
1610
1625
1630
1625
1673
1685
1677
1689
1839
1846
1906
2189
2225
2379
2371
2414
2426
2441
2453
13
13
13
25
25
25
27
27
27
27
27
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
46
41
63
68
53
53
53
53
53
73
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
60
60
65
60
60
60
60
65
77
77
92
67
67
67
67
72
72
72
92
72
72
72
77
72
72
84
99
99
79
79
79
79
79
79
79
84
84
89
84
84
84
84
84
92
92
79
84
84
84
96
106
91
106
106
91
91
103
103
103
103
103
103
103
103
103
103
98
98
118
118
113
113
118
113
98
113
113
103
115
125
105
110
125
125
110
130
135
135
125
110
110
130
125
127
132
147
142
117
117
117
117
137
142
132
132
147
142
132
132
137
132
122
117
117
117
132
132
137
134
134
134
154
134
149
129
134
149
129
129
139
161
161
161
146
161
151
151
161
161
161
151
151
156
156
156
156
156
163
168
168
163
148
148
148
148
163
168
168
163
163
153
163
153
153
153
158
175
175
175
175
175
175
185
172
187
182
182
182
182
187
184
184
184
194
199
189
226
196
198
198
218
218
218
218
223
240
240
240
250
230
230
230
245
242
222
222
242
242
242
242
252
259
244
249
249
234
229
229
259
249
249
269
249
249
271
271
271
271
281
281
281
281
281
276
273
293
283
288
285
295
307
294
299
299
304
304
319
314
314
316
316
316
316
316
316
328
328
345
350
350
350
350
350
350
357
357
362
349
349
369
369
374
374
369
381
381
385
395
407
407
412
402
402
402
446
416
421
421
421
448
428
443
443
480
460
460
472
472
462
497
492
499
499
479
479
479
474
509
481
481
520
520
533
530
527
545
549
546
546
551
548
548
575
575
575
575
570
565
565
582
572
577
587
599
599
594
606
608
633
625
632
657
662
700
700
685
682
719
716
741
748
755
755
755
755
772
742
754
769
769
766
775
787
812
794
870
870
862
920
940
920
935
961
973
963
963
1007
1002
1052
1052
1090
1095
1082
1114
1146
1153
1165
1187
1203
1225
1215
1234
1249
1282
1333
1340
1345
1352
1426
1421
1445
1498
1541
1541
1587
1622
1637
1637
1642
1685
1697
1689
1701
1851
1858
1918
2201
2237
2391
2383
2426
2438
2453
2465
1
25
25
25
27
37
27
37
27
37
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
51
41
41
61
41
41
41
41
41
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
75
60
75
60
60
60
60
60
80
60
65
65
65
60
65
65
72
67
67
67
67
92
77
72
72
92
67
72
82
77
72
89
89
99
79
79
79
84
104
94
84
84
84
84
79
84
106
86
86
86
86
86
86
101
91
96
101
91
91
101
101
104
104
91
96
96
118
113
113
103
118
98
113
113
113
103
98
103
105
105
105
105
105
105
105
110
110
110
110
110
110
110
110
110
125
125
125
120
120
130
125
120
125
132
117
117
117
117
117
117
117
117
132
132
122
137
142
142
132
117
117
117
137
137
137
132
137
154
139
149
129
129
134
154
139
139
149
139
139
149
139
129
139
139
149
129
129
129
129
161
161
161
141
161
156
141
141
161
156
156
141
163
163
153
163
173
158
158
173
163
163
175
175
160
160
160
160
175
175
165
165
165
165
182
182
182
182
182
182
182
184
199
184
184
196
196
191
206
206
211
201
233
233
218
208
230
230
230
230
230
230
235
230
252
252
252
242
237
237
252
259
249
249
249
249
249
256
241
241
241
276
276
276
283
288
288
283
283
293
293
293
293
293
288
290
305
297
312
307
312
314
314
314
306
311
311
331
316
336
326
338
335
335
350
357
362
357
362
362
362
369
369
369
361
361
381
381
381
381
381
393
393
395
395
395
397
402
424
414
414
414
428
428
428
455
460
460
465
440
455
455
492
467
472
472
467
462
479
474
509
504
511
511
491
491
481
508
521
510
500
532
532
540
542
552
546
561
558
558
563
555
555
587
587
587
587
577
572
594
594
591
591
591
606
606
613
645
632
669
674
651
651
712
712
689
716
731
753
760
767
767
767
767
742
784
754
766
781
781
763
778
775
787
794
850
882
882
874
908
908
908
908
932
952
932
947
973
985
970
970
970
970
1019
1014
1064
1064
1049
1082
1102
1107
1126
1158
1165
1177
1199
1215
1237
1227
1246
1256
1289
1345
1352
1357
1364
1433
1433
1452
1510
1548
1548
1599
1634
1649
1654
1649
1697
1709
1701
1713
1863
1870
1930
2213
2249
2403
2395
2438
2450
2465
2477
1
27
27
37
37
37
27
27
37
27
27
27
27
27
34
34
39
34
34
34
49
34
34
49
49
34
34
39
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
46
46
46
41
41
41
41
41
46
46
41
53
63
53
53
53
53
68
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
60
60
65
80
60
65
60
60
60
60
60
65
60
65
65
80
65
87
72
87
72
72
77
72
72
87
72
72
77
77
77
72
72
72
77
77
84
104
84
84
84
99
89
104
79
84
94
84
84
84
101
101
86
86
86
86
86
86
86
86
111
111
111
106
91
91
91
96
96
118
98
98
98
98
98
98
103
103
108
108
108
111
111
98
118
113
125
125
105
105
120
110
110
130
130
125
125
120
110
117
117
117
117
117
117
117
117
117
117
137
137
127
127
132
122
122
117
137
127
127
132
137
139
129
129
129
129
129
129
139
139
129
149
149
149
139
129
129
149
149
139
149
161
156
156
141
141
141
161
156
156
156
141
156
141
141
163
153
163
163
173
163
163
153
163
173
163
163
148
165
185
190
185
190
177
182
172
172
172
172
182
177
182
182
182
177
177
177
187
204
204
204
191
206
211
196
203
203
218
218
223
213
233
230
230
230
230
230
220
222
222
217
242
242
242
242
242
242
242
237
237
264
264
264
254
266
266
266
241
268
248
248
288
288
295
295
295
295
295
295
305
305
305
305
305
312
297
317
304
304
304
314
314
326
326
318
323
323
343
333
335
350
350
335
347
362
369
374
374
374
369
381
381
381
381
373
373
393
388
393
393
388
400
400
405
412
412
412
412
409
414
436
426
426
421
421
440
462
467
472
472
452
462
504
479
479
479
474
474
481
516
516
523
523
503
503
508
533
517
544
544
554
564
558
573
570
570
575
555
567
599
599
599
599
606
591
591
606
606
613
603
603
618
657
681
686
663
663
675
670
670
692
724
724
743
765
772
779
779
779
779
759
754
796
761
763
763
778
793
793
775
785
787
799
850
894
894
881
920
920
944
964
944
959
970
970
985
997
982
982
1031
1026
1076
1076
1114
1119
1138
1170
1177
1189
1211
1227
1249
1239
1258
1301
1357
1364
1369
1376
1445
1464
1522
1560
1611
1646
1661
1666
1661
1709
1721
1713
1725
1875
1882
1942
2225
2261
2415
2407
2450
2462
2477
2489
1
1
27
37
27
37
27
27
27
27
27
27
27
27
34
34
34
34
39
34
34
39
34
34
34
49
44
44
44
34
34
34
49
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
56
46
56
56
51
41
56
41
41
41
46
41
58
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
58
53
53
53
75
65
65
60
60
80
60
75
65
65
65
60
60
60
65
60
65
80
65
72
72
87
77
72
72
72
67
72
87
82
87
77
99
84
84
84
89
99
79
89
84
84
84
84
84
84
79
99
99
99
84
84
84
84
84
84
96
91
96
86
86
86
86
91
111
111
111
91
91
106
96
111
101
111
91
101
113
113
123
123
113
113
103
103
118
113
113
98
118
130
110
110
115
115
115
118
118
130
125
132
132
137
137
137
142
137
132
132
129
129
129
129
129
129
129
129
129
129
149
144
144
139
139
129
129
129
129
129
139
149
161
136
136
136
136
136
136
141
161
141
141
156
156
161
153
153
163
153
163
163
163
163
148
148
165
185
165
185
182
177
182
197
197
182
197
197
187
204
204
184
184
184
184
184
184
204
204
204
189
189
184
184
184
184
199
216
216
216
203
223
208
233
233
230
230
230
230
230
230
235
243
225
245
217
242
242
242
232
229
229
254
254
249
254
254
254
254
254
276
276
266
276
266
248
248
280
295
307
307
307
297
297
317
317
317
317
317
304
329
316
316
316
326
326
316
343
343
333
333
330
335
335
335
335
335
335
335
357
359
369
369
381
381
386
386
381
381
381
381
393
393
393
393
388
385
385
405
405
405
412
412
417
407
419
419
419
419
421
421
448
433
433
472
452
474
474
484
479
464
474
474
516
491
486
486
486
486
481
528
523
535
535
515
515
500
517
517
545
540
552
556
556
551
566
576
570
555
555
585
577
577
582
587
579
611
611
611
611
591
606
618
603
618
620
615
610
625
669
693
698
682
682
682
687
704
736
736
755
777
784
791
791
791
791
766
761
763
808
780
775
785
785
805
805
787
812
799
806
862
906
906
932
932
956
976
956
971
982
997
1009
989
989
1043
1038
1088
1088
1126
1131
1150
1182
1189
1201
1223
1239
1261
1251
1270
1289
1313
1369
1376
1381
1388
1457
1476
1534
1572
1623
1658
1673
1678
1673
1721
1733
1725
1737
1887
1894
1954
2237
2273
2427
2419
2462
2474
2489
2501
1
1
1
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
39
34
34
34
44
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
51
46
46
41
56
41
56
41
41
41
41
41
41
41
46
41
41
58
58
53
68
53
68
68
63
53
68
53
53
53
53
53
53
53
48
53
53
53
53
53
53
53
53
58
53
53
63
53
65
65
70
65
60
65
60
60
60
65
65
65
87
67
67
67
67
92
87
67
72
72
77
77
72
87
77
84
79
79
79
79
94
79
79
84
84
84
84
94
79
84
94
89
99
84
91
96
91
111
96
91
106
91
106
106
111
91
111
103
103
98
103
98
118
118
123
98
98
98
113
103
123
113
118
108
125
125
105
110
105
105
105
105
130
130
120
120
110
110
110
120
120
125
118
115
110
130
137
142
132
132
142
137
139
139
149
149
149
129
149
144
144
139
139
129
129
129
129
139
136
136
141
141
141
141
136
136
136
136
141
141
141
141
161
148
153
163
163
158
163
163
163
168
175
165
165
160
175
190
190
172
197
197
177
182
197
197
204
204
204
204
204
204
204
184
204
204
204
209
209
214
216
196
196
196
196
216
201
201
196
196
211
228
228
228
233
210
210
230
235
220
245
242
242
242
247
250
237
257
254
254
254
244
261
261
261
261
246
261
261
266
261
261
261
261
276
261
261
288
288
288
278
292
319
319
319
324
324
314
329
324
324
316
341
323
323
323
333
333
343
335
342
347
347
347
347
362
366
381
393
398
398
393
393
393
400
400
400
400
405
405
397
397
417
417
412
424
424
429
414
414
433
428
460
462
462
464
481
481
481
481
496
491
476
481
481
481
481
486
486
506
481
528
498
498
498
540
547
547
527
527
537
557
564
568
568
558
558
578
555
588
577
582
567
567
597
594
599
586
606
623
623
623
623
618
620
630
615
625
622
681
705
710
682
692
692
689
694
689
694
711
748
748
767
789
766
796
803
803
803
803
785
820
787
787
817
817
812
794
806
850
874
918
918
944
944
968
988
968
983
989
1021
1055
1050
1100
1100
1138
1143
1162
1194
1201
1213
1235
1251
1256
1273
1263
1282
1301
1325
1381
1388
1393
1400
1469
1488
1546
1584
1635
1670
1685
1690
1685
1733
1745
1737
1749
1899
1906
1966
2165
2249
2285
2439
2431
2474
2486
2501
2513
1
1
1
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
51
41
46
41
41
41
41
41
41
41
61
63
58
58
58
53
68
53
53
68
53
53
53
53
53
53
53
53
53
53
48
53
53
53
53
53
53
53
53
53
58
65
65
80
80
80
75
75
65
80
60
60
60
60
65
60
60
65
60
60
75
60
70
70
77
72
72
82
82
72
72
72
72
77
72
72
72
72
72
77
77
77
82
87
72
72
77
99
79
104
94
79
79
79
99
84
79
84
84
84
84
84
89
89
84
94
89
84
96
86
86
86
86
86
86
91
86
96
96
96
101
91
106
96
103
103
98
118
103
103
98
103
103
98
113
113
103
98
113
113
113
123
113
113
108
123
105
110
115
110
125
130
120
130
115
120
118
117
117
117
117
117
117
117
117
117
117
137
137
117
117
117
117
117
117
117
117
117
117
117
117
137
137
127
127
132
122
142
137
137
149
149
129
129
129
129
129
144
144
129
139
149
139
144
156
156
156
141
141
156
141
148
148
148
148
148
148
148
148
153
153
148
153
148
163
168
175
175
165
190
190
180
177
177
182
197
197
187
187
184
204
204
189
204
204
216
216
216
196
216
216
216
216
216
216
221
228
208
208
203
208
208
208
208
228
213
213
208
208
223
235
235
235
242
247
232
257
254
254
254
264
259
262
262
244
264
266
266
261
261
261
261
261
261
261
251
276
273
273
253
253
253
278
273
273
300
300
300
290
297
304
331
331
331
336
326
341
336
323
353
340
340
355
340
340
347
362
354
359
359
354
354
405
410
410
405
400
400
417
417
409
409
429
429
436
436
441
445
472
472
481
481
476
481
481
506
493
493
508
498
488
493
493
498
518
540
505
505
517
552
559
559
539
539
549
569
576
580
580
555
585
577
582
577
567
600
577
589
574
574
604
606
611
606
618
635
635
635
635
630
642
622
693
717
682
694
689
689
699
699
699
699
706
711
760
760
779
801
808
815
815
815
815
787
832
812
794
829
829
850
862
881
930
930
937
956
956
968
980
1000
980
995
1033
1067
1062
1112
1112
1150
1155
1174
1206
1213
1225
1247
1263
1285
1275
1294
1313
1337
1393
1400
1412
1481
1500
1558
1596
1647
1682
1697
1702
1697
1745
1757
1749
1761
1911
1918
1978
2165
2177
2261
2292
2451
2443
2486
2513
2525
1
1
13
13
27
27
27
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
46
41
41
41
41
41
41
46
41
41
41
41
41
41
41
58
63
58
58
53
53
53
53
48
48
48
48
68
53
53
53
53
53
53
53
63
53
53
53
53
53
75
65
65
65
80
80
80
65
80
80
80
60
60
65
77
77
72
87
82
82
77
72
92
72
72
67
92
92
72
72
87
72
77
87
77
77
82
77
72
77
77
89
84
84
89
89
84
79
79
79
79
99
99
79
79
79
79
94
84
84
84
84
84
94
84
84
84
89
99
79
79
84
89
86
86
111
86
86
111
91
91
91
91
111
106
96
96
96
96
96
96
96
96
101
101
91
103
98
118
98
118
108
118
108
118
108
113
110
125
125
110
110
110
125
125
110
110
115
115
115
120
130
125
125
130
122
117
117
117
117
122
137
137
137
137
127
127
122
129
129
129
129
129
129
129
129
129
129
129
129
129
129
139
139
139
129
134
139
149
149
149
156
161
161
156
141
141
141
141
141
166
141
141
151
151
166
141
161
156
163
163
163
163
153
168
153
153
158
148
160
160
160
160
165
160
180
177
197
197
197
197
187
189
189
189
209
196
196
223
203
223
223
208
223
223
228
228
223
228
228
235
215
215
220
220
220
220
235
220
225
220
220
235
250
234
234
229
259
244
264
266
261
266
276
271
269
269
269
269
276
276
278
278
273
253
273
263
288
285
285
260
260
290
280
280
312
312
312
302
309
304
304
314
316
321
321
321
343
343
343
348
333
353
348
365
347
347
362
362
347
347
359
366
371
371
381
417
422
422
412
419
419
429
429
421
421
441
441
448
448
453
433
472
457
479
479
484
474
481
481
481
481
493
488
493
513
518
513
500
500
520
500
500
500
505
552
517
544
564
571
571
551
551
581
555
588
585
592
592
567
584
589
579
612
604
584
616
606
618
623
630
647
647
647
647
622
642
654
634
705
690
729
699
699
706
701
711
711
713
772
772
791
813
820
827
827
827
827
844
841
841
862
869
942
942
949
968
968
980
970
992
1012
992
1007
1045
1079
1074
1119
1119
1162
1167
1186
1218
1225
1237
1259
1275
1297
1287
1306
1325
1349
1412
1424
1493
1512
1570
1608
1659
1694
1709
1714
1709
1757
1769
1761
1773
1923
1930
2189
2268
2304
2463
2455
2525
2537
13
13
25
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
51
46
41
41
41
56
41
41
41
41
41
41
41
41
41
41
41
41
41
41
51
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
48
53
53
70
75
65
65
60
60
60
75
60
60
65
70
70
87
77
87
87
87
87
87
82
72
82
72
87
92
87
77
89
84
99
84
84
104
94
84
104
89
79
79
84
104
94
94
79
89
94
89
94
84
89
89
84
89
101
101
101
91
111
91
96
106
106
86
86
86
86
91
91
111
86
101
111
101
96
96
96
96
96
96
106
96
101
123
118
98
98
98
98
123
98
113
103
103
108
108
108
108
108
113
110
110
105
115
115
115
130
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
132
132
132
132
132
122
137
132
132
137
139
134
129
139
139
134
134
139
136
136
136
136
136
136
141
141
141
141
141
141
141
141
141
141
161
161
146
141
161
161
151
151
161
156
156
163
163
163
163
168
153
153
148
153
148
148
173
158
158
163
153
173
168
163
180
165
160
165
165
160
160
172
172
172
172
177
172
182
197
197
172
187
184
189
209
209
196
196
201
201
216
221
208
223
223
223
215
220
240
240
240
240
232
232
232
232
232
237
232
232
247
229
241
241
261
261
261
261
271
269
269
256
278
278
288
283
281
281
288
283
285
260
260
280
275
297
297
302
324
324
324
314
314
316
316
316
316
321
326
328
328
328
328
328
343
355
355
355
335
360
365
360
377
362
369
374
369
366
381
378
383
383
393
419
429
419
434
434
441
441
433
433
453
453
433
460
460
465
472
479
479
469
491
496
486
486
493
493
500
500
500
530
532
512
517
564
576
578
578
563
563
593
567
600
604
604
584
579
584
586
624
616
628
630
630
637
622
642
659
659
659
659
634
649
661
646
683
717
741
711
713
708
718
718
784
784
761
803
820
832
839
839
839
839
851
853
853
869
937
954
954
961
968
980
980
970
992
982
1004
1024
1004
1019
1057
1054
1091
1086
1131
1174
1179
1198
1230
1237
1249
1271
1287
1309
1299
1318
1337
1361
1424
1436
1505
1524
1582
1620
1671
1706
1721
1726
1721
1769
1781
1773
1785
1935
1942
2201
2292
2316
2475
2467
2537
2549
8
25
25
27
27
37
37
27
27
27
27
27
27
27
27
27
27
27
39
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
49
34
51
41
41
41
41
46
41
41
41
41
58
58
53
53
53
53
53
63
53
53
53
53
48
65
65
75
60
65
75
60
65
60
75
75
60
70
65
82
77
67
67
67
67
67
87
67
67
67
87
87
82
72
72
77
87
77
82
77
99
89
99
99
89
89
94
79
79
79
79
79
99
99
99
89
89
94
79
99
99
94
89
89
99
101
91
91
111
101
91
106
106
111
111
86
86
86
86
91
91
111
101
106
106
101
96
101
96
101
96
96
96
101
98
123
103
103
113
113
113
113
98
108
98
98
123
98
98
108
113
113
113
113
113
123
108
113
113
108
108
113
113
113
108
105
130
110
110
130
110
105
115
110
110
115
115
115
115
115
122
122
117
137
142
137
139
129
129
129
129
129
129
129
129
129
129
139
139
129
139
139
129
139
139
144
144
144
139
139
139
149
136
136
136
136
136
136
141
156
141
141
141
148
153
148
148
153
148
148
153
148
148
153
148
153
153
153
158
168
163
163
163
163
180
165
160
160
170
160
192
172
172
177
197
197
187
197
197
172
172
204
184
184
184
184
204
189
184
204
209
179
196
201
216
216
213
213
233
220
222
222
232
252
252
252
252
259
244
244
244
244
259
244
244
244
244
259
244
264
269
269
273
273
273
283
281
268
290
300
300
290
295
288
288
292
297
287
309
309
314
314
319
331
331
331
326
326
323
323
323
343
333
340
335
362
362
362
362
362
347
372
377
372
389
386
381
393
390
395
395
405
441
446
446
453
453
445
445
465
465
472
472
472
477
491
481
481
503
503
498
498
500
500
512
542
544
519
576
588
590
575
575
560
605
592
579
612
584
616
616
586
586
606
606
636
628
640
637
642
622
644
649
671
671
671
671
646
673
653
690
729
753
718
796
796
815
844
851
851
851
851
806
863
865
865
850
966
966
973
970
965
992
992
1004
994
1036
1011
1026
1011
1064
1054
1061
1103
1098
1087
1119
1119
1143
1186
1191
1210
1242
1249
1261
1283
1299
1321
1311
1330
1349
1373
1436
1448
1517
1536
1594
1632
1683
1718
1733
1738
1733
1781
1793
1785
1797
1942
1954
2213
2304
2328
2487
2549
2561
1
1
1
8
27
37
37
27
27
27
27
27
27
27
27
27
27
27
27
27
37
34
34
34
49
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
51
51
51
41
41
41
41
41
51
61
41
56
63
53
53
53
53
53
53
53
53
53
53
53
48
48
63
53
53
53
53
60
60
60
60
60
80
60
60
60
77
77
82
72
87
72
87
82
72
67
87
82
72
72
82
72
87
77
82
87
72
89
79
84
84
94
94
94
79
94
94
89
84
79
84
99
84
89
84
94
84
101
91
106
106
101
101
101
91
86
86
86
86
86
86
106
86
86
86
86
91
106
106
101
101
101
91
86
86
106
106
106
101
101
106
111
103
98
118
108
118
118
118
118
118
98
98
103
98
118
108
118
118
98
98
103
103
113
108
103
113
103
103
108
110
130
120
120
110
110
110
130
110
125
125
125
125
125
115
130
125
125
115
115
125
125
115
115
117
137
122
117
117
117
117
122
137
122
134
129
139
129
139
139
139
139
129
129
139
139
139
139
139
139
149
136
136
136
136
136
136
136
136
156
141
141
141
141
151
141
141
141
151
156
151
156
153
168
153
153
153
153
158
163
163
160
165
160
165
160
165
160
165
160
165
165
170
175
175
175
192
172
187
204
204
204
204
204
189
204
204
209
209
179
179
216
206
206
206
206
206
206
196
196
196
196
216
201
196
216
196
216
238
208
213
220
220
215
225
225
220
232
259
244
264
264
264
264
269
271
271
256
256
256
256
271
271
271
256
261
261
251
276
271
269
256
251
276
281
280
280
280
295
288
280
302
307
307
302
297
307
319
299
314
331
321
321
331
331
321
326
323
333
333
333
362
352
347
362
362
347
347
362
374
374
369
374
359
384
389
384
369
401
393
388
405
402
407
407
412
453
458
458
438
438
465
465
457
457
484
484
484
484
486
486
486
503
493
510
515
510
505
505
505
519
554
556
531
588
602
587
587
567
617
584
599
586
624
628
618
628
618
648
640
632
652
622
654
634
644
683
683
683
683
653
685
682
741
765
761
808
808
827
812
806
856
858
858
858
858
875
877
877
862
973
973
985
970
982
1004
1004
1004
1011
1016
1026
1011
1001
1023
1023
1048
1064
1076
1061
1115
1110
1087
1094
1131
1155
1198
1203
1222
1249
1261
1268
1295
1311
1333
1323
1342
1361
1385
1448
1460
1524
1543
1606
1639
1695
1730
1745
1750
1745
1793
1797
1809
1961
2225
2316
2340
2499
2561
2573
1
1
1
27
37
37
27
27
27
27
27
27
27
27
27
27
34
34
44
49
44
49
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
41
56
56
46
41
41
46
41
41
41
41
46
41
51
41
41
41
63
53
53
53
53
48
53
53
68
58
53
53
63
75
65
60
60
60
60
60
60
65
60
65
70
60
72
72
67
67
92
67
67
67
72
82
87
89
89
89
99
79
99
89
99
89
89
79
79
89
84
84
99
89
79
89
99
79
101
86
86
86
91
91
86
91
91
86
86
86
86
101
101
106
86
86
86
101
101
96
91
106
96
91
101
113
113
108
108
108
98
98
113
113
113
98
98
113
113
98
98
113
113
108
108
108
98
98
98
113
113
113
113
108
108
113
113
123
113
115
130
125
125
130
125
110
110
110
115
130
125
125
110
110
110
125
115
115
122
137
137
127
127
117
117
117
117
117
117
117
117
137
117
122
137
122
132
132
132
132
132
122
122
137
132
132
132
132
122
139
149
129
129
129
129
134
134
139
139
129
141
141
141
141
141
141
151
151
141
141
151
151
161
153
153
163
153
153
163
163
163
163
165
180
165
165
165
172
177
172
177
172
177
172
177
172
172
187
187
187
187
187
204
204
204
204
216
201
206
206
216
216
201
216
216
216
228
218
218
218
208
208
208
208
228
213
208
228
215
245
220
225
227
227
237
237
232
239
241
251
276
276
261
261
276
276
269
276
276
283
268
268
268
268
283
283
268
273
273
283
281
268
283
288
307
307
307
292
314
319
314
314
319
314
311
326
333
333
333
345
340
345
347
347
374
364
374
374
359
386
386
386
366
396
401
396
381
408
393
412
412
414
419
419
424
419
465
445
445
464
464
484
484
484
479
479
496
496
496
486
503
498
510
510
505
527
522
517
517
566
568
563
543
600
582
567
614
599
599
594
599
629
606
606
636
640
640
630
625
625
632
655
652
664
634
666
661
641
695
695
695
695
682
697
694
689
699
753
777
766
820
820
839
858
858
858
858
868
870
870
850
855
887
889
889
874
973
973
997
994
1016
1016
1011
1023
1028
1023
1035
1035
1060
1076
1068
1088
1127
1122
1094
1143
1167
1210
1215
1234
1273
1280
1307
1323
1345
1335
1354
1373
1460
1472
1524
1543
1555
1613
1651
1707
1742
1757
1757
1757
1809
1821
2237
2268
2328
2352
2511
2573
2585
1
27
27
37
27
27
27
27
27
27
39
34
44
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
56
56
41
41
41
41
41
56
41
41
41
41
41
41
41
51
53
68
68
53
53
53
53
53
53
53
53
53
53
53
53
53
53
63
58
58
53
60
60
75
75
60
60
75
65
75
80
72
72
72
72
67
67
72
87
82
72
72
67
82
77
77
82
87
84
84
79
79
79
79
99
99
84
79
79
84
79
89
99
79
101
101
91
106
106
86
106
106
96
91
106
96
96
106
98
98
118
98
118
98
98
98
98
108
103
113
98
98
118
98
98
113
113
108
113
125
115
115
110
110
125
125
125
125
110
110
115
125
115
115
110
110
110
120
125
110
115
115
130
125
142
122
137
132
132
132
142
137
117
117
117
117
117
117
117
117
117
122
122
142
122
137
132
132
132
117
117
132
137
122
122
129
149
129
129
129
129
129
129
139
134
139
139
139
139
139
139
139
139
134
134
139
139
139
139
139
134
139
161
141
141
141
141
141
146
141
141
141
168
163
148
148
148
148
148
148
168
163
153
168
153
158
158
168
153
153
153
153
158
158
168
160
160
175
165
160
160
175
175
175
170
160
160
177
192
172
172
202
172
202
197
184
184
184
184
184
184
184
184
184
184
184
184
199
199
199
211
228
208
208
218
228
223
208
228
235
225
225
225
215
215
215
215
215
215
215
215
235
220
220
235
232
237
249
249
244
246
246
241
251
261
269
263
258
288
288
288
288
295
280
280
280
280
295
265
265
295
280
285
285
295
293
280
295
307
307
319
314
319
299
299
326
326
326
321
331
326
333
318
318
333
345
345
345
345
357
347
352
386
376
386
386
366
398
398
398
408
393
408
408
388
405
405
420
412
424
426
431
431
431
426
426
472
476
481
481
481
481
491
491
486
503
508
508
515
510
505
517
539
529
524
524
524
524
578
580
570
555
612
582
589
594
589
626
611
611
601
586
636
618
648
625
652
652
622
667
664
676
641
678
673
707
707
707
707
694
689
709
699
699
706
711
765
784
766
773
832
832
812
811
851
870
870
880
882
882
862
862
899
901
901
881
970
970
970
1009
1001
1011
1028
1028
1035
1040
1035
1047
1047
1072
1061
1088
1100
1075
1139
1134
1155
1179
1222
1227
1246
1285
1292
1319
1335
1357
1347
1366
1385
1433
1472
1484
1555
1567
1639
1663
1719
1757
1754
1769
1769
1764
1821
1833
2249
2340
2364
2523
2585
2597
1
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
41
41
41
41
41
41
41
41
41
51
41
41
68
68
53
48
53
53
48
53
53
53
48
48
48
48
63
53
48
53
53
48
53
53
53
63
53
53
53
53
63
53
53
65
65
60
60
60
60
60
60
60
60
80
60
80
80
60
60
75
80
60
70
65
65
70
67
67
67
87
67
87
67
72
72
72
67
67
82
82
82
72
87
84
79
79
79
79
79
79
79
79
79
94
84
89
79
79
79
79
79
89
89
89
89
99
84
91
86
86
91
91
91
91
91
91
91
106
106
91
91
86
91
91
106
96
98
98
103
108
113
113
113
113
98
98
98
98
108
108
113
113
113
108
113
113
103
103
113
113
113
113
110
110
110
110
110
110
120
110
110
110
120
125
115
125
120
125
137
132
122
122
132
132
117
117
117
117
132
132
122
122
137
132
117
117
122
132
122
137
132
154
139
154
149
129
129
129
129
129
129
139
154
139
139
139
139
139
139
139
139
139
139
139
134
139
141
161
141
141
141
141
141
141
141
146
151
173
153
153
148
153
153
148
148
148
148
148
153
158
153
153
163
168
175
175
165
175
165
165
165
175
160
165
160
160
172
187
177
172
172
187
182
182
192
192
197
197
172
172
189
204
204
184
209
209
209
209
209
206
206
196
196
196
196
211
211
211
223
235
235
225
235
235
235
235
235
227
227
227
227
227
227
227
227
227
232
247
255
244
249
261
261
261
266
266
256
266
266
269
276
253
253
253
253
263
273
281
283
275
300
300
265
300
300
307
292
292
292
292
307
307
287
292
292
272
272
272
272
307
300
292
302
319
326
331
326
338
338
343
333
333
345
330
330
345
352
352
357
357
352
352
347
347
352
369
366
366
398
388
398
398
378
410
410
410
415
420
415
412
412
424
431
438
443
443
464
464
481
481
481
481
486
486
488
493
493
493
493
503
515
520
515
527
517
517
517
529
529
524
524
551
536
536
570
590
592
567
624
589
589
584
601
596
601
638
623
623
625
660
664
664
634
679
676
688
690
685
719
719
719
719
694
699
706
721
711
716
713
723
777
796
773
844
844
811
863
818
882
882
892
894
894
874
911
913
913
893
982
977
1021
1013
1040
1040
1047
1052
1047
1059
1059
1084
1100
1075
1112
1094
1151
1146
1167
1191
1234
1239
1258
1297
1304
1331
1347
1369
1359
1373
1397
1445
1452
1484
1496
1567
1579
1651
1675
1731
1769
1764
1766
1781
1781
1833
1845
2261
2352
2376
2535
2597
2609
1
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
41
41
41
41
41
51
41
41
41
41
41
46
51
63
53
53
53
53
48
48
53
63
53
53
53
48
48
53
53
63
53
53
58
53
53
53
53
53
53
53
60
60
60
60
60
60
60
80
60
80
80
60
65
65
75
70
75
65
82
87
67
67
72
67
67
67
67
67
67
67
67
67
67
67
67
67
67
82
87
87
67
67
67
67
87
82
87
87
72
82
87
77
77
79
99
99
79
79
79
79
79
89
89
89
84
89
89
94
89
89
89
84
84
91
86
86
86
91
91
91
101
91
96
91
86
91
91
101
96
96
101
96
101
106
98
98
98
98
98
103
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
113
98
98
98
98
98
103
113
110
110
110
110
110
110
115
125
125
122
122
122
122
117
122
122
122
122
122
122
127
132
127
122
137
132
137
137
149
134
134
139
139
139
139
139
139
134
149
134
139
139
139
139
139
149
139
166
166
166
161
141
141
141
141
141
166
166
151
151
141
151
151
166
151
151
156
153
173
148
148
148
148
148
148
148
148
148
148
148
148
153
153
158
163
178
175
185
160
160
160
160
165
170
175
165
160
160
175
160
170
177
172
172
177
187
187
172
172
182
197
172
172
172
204
204
204
184
204
204
199
189
179
179
199
199
199
209
179
179
179
206
206
201
216
216
196
221
218
218
208
208
208
208
223
223
223
223
235
235
235
247
227
247
247
247
234
239
239
239
239
239
239
239
239
244
254
262
256
256
276
253
253
273
273
273
273
273
273
268
273
273
273
265
265
275
285
293
295
287
312
312
292
307
272
272
312
312
319
299
299
299
299
319
319
299
304
284
284
314
319
312
304
326
321
326
333
333
343
350
350
345
355
345
357
342
342
357
359
359
369
369
359
359
381
366
378
378
393
410
400
410
410
385
422
412
422
422
412
432
424
424
424
424
431
450
450
450
445
472
476
491
491
503
498
500
505
505
515
505
505
515
510
527
532
517
539
529
529
524
524
541
536
563
543
543
570
602
604
589
579
636
601
596
608
650
635
635
627
672
676
676
646
691
688
700
702
697
731
731
731
731
701
713
713
733
723
723
730
784
808
790
792
856
856
818
875
862
894
894
904
906
906
881
881
923
925
925
900
989
1033
1025
1052
1052
1059
1064
1059
1071
1071
1096
1061
1112
1124
1163
1158
1179
1203
1246
1251
1270
1309
1316
1343
1359
1381
1371
1404
1464
1496
1508
1548
1548
1579
1591
1663
1687
1743
1781
1778
1793
1793
1845
1857
2273
2364
2388
2547
2609
2621
1
1
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
46
41
46
46
46
41
41
46
41
41
41
41
41
41
46
41
51
58
58
53
53
63
53
48
53
53
63
53
53
63
53
53
63
53
53
53
58
58
53
53
53
53
53
75
65
80
65
80
80
75
70
80
60
70
70
75
60
65
65
60
65
65
67
67
67
67
67
67
67
67
87
67
67
72
87
87
77
82
87
77
77
82
77
89
99
79
79
89
99
94
84
94
89
99
94
79
89
94
84
84
86
91
106
106
106
91
91
101
101
101
101
98
98
98
98
98
98
98
98
98
98
98
98
98
98
103
103
108
113
108
113
110
115
110
110
115
110
110
110
125
120
110
115
110
115
115
115
122
122
122
122
127
132
132
134
129
139
134
139
129
129
134
129
134
139
139
139
134
139
139
149
139
139
139
161
146
146
146
161
146
151
161
173
173
173
173
173
148
148
148
148
148
148
148
148
148
148
148
148
153
173
163
163
173
173
153
153
163
163
163
163
173
173
163
163
163
165
180
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
165
170
175
175
185
192
172
172
177
177
177
172
172
172
197
197
172
182
172
189
184
184
189
194
194
194
194
184
179
179
179
216
191
216
211
201
211
221
191
191
228
208
208
228
203
228
235
230
230
220
220
220
220
235
235
235
235
247
232
232
227
247
247
254
254
259
254
254
254
244
262
251
251
251
251
251
251
251
251
256
266
253
253
268
265
285
285
285
280
272
272
307
287
292
292
292
292
300
300
302
299
324
324
284
324
324
331
311
311
331
331
311
316
291
291
326
331
324
316
328
328
328
328
338
340
340
340
340
355
362
362
357
367
357
369
354
354
364
381
381
393
385
385
405
422
412
422
422
412
434
434
434
444
431
431
431
431
431
431
431
431
445
462
462
467
467
488
503
515
515
505
515
512
522
512
512
512
512
512
512
539
544
529
524
551
536
536
536
553
543
575
614
616
601
591
643
608
662
647
647
622
634
684
688
688
653
703
700
712
714
709
699
701
743
743
743
743
713
723
725
745
730
820
797
799
868
868
887
906
906
918
918
893
935
937
937
1001
1045
1032
1064
1064
1071
1076
1071
1083
1083
1108
1124
1094
1136
1175
1170
1191
1215
1258
1258
1277
1321
1328
1371
1383
1393
1476
1508
1520
1560
1591
1603
1613
1675
1699
1793
1805
1805
1790
1857
1869
2285
2376
2400
2559
2621
2633
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
46
41
41
41
41
41
41
41
41
41
41
51
41
41
41
46
41
41
46
41
58
63
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
70
60
60
75
60
80
70
80
70
60
70
65
65
60
60
60
70
60
65
65
65
65
70
65
65
87
72
72
67
67
72
87
72
87
82
82
67
77
87
67
77
82
82
77
67
72
87
77
77
94
89
89
79
89
94
94
84
89
84
89
99
89
89
84
89
84
84
106
96
86
86
96
96
106
96
106
91
106
96
106
91
96
96
98
113
98
113
98
98
98
108
108
113
108
108
115
105
105
105
105
110
115
110
115
115
125
115
117
127
117
117
117
117
122
122
117
127
117
117
122
129
134
129
129
139
139
134
134
139
139
139
139
139
139
139
146
141
156
156
156
156
146
146
151
151
151
161
168
158
158
158
168
158
163
173
163
163
185
175
180
160
160
160
160
185
180
160
160
160
160
175
165
185
175
170
170
165
175
175
170
170
185
177
192
172
172
167
167
167
167
167
167
167
167
167
167
167
167
177
182
172
172
187
197
197
172
204
179
179
189
179
179
194
194
209
209
179
179
179
179
201
191
191
201
206
206
196
191
223
213
223
223
213
223
228
198
198
235
235
220
220
240
235
240
247
237
237
237
232
232
232
232
247
247
247
247
254
234
239
239
239
239
254
254
254
262
271
256
256
263
263
263
263
263
263
263
263
268
273
273
273
283
265
280
272
297
297
307
307
292
287
292
300
319
299
304
304
304
312
311
336
336
291
336
336
326
343
323
323
343
343
323
323
333
343
331
328
333
335
335
335
345
367
347
367
374
374
374
374
364
379
364
381
381
366
366
366
393
393
393
400
405
427
434
424
434
434
424
446
431
431
431
431
446
446
446
431
431
431
431
456
443
443
443
443
450
450
474
474
474
474
500
515
510
522
527
527
517
524
524
519
524
524
551
556
536
536
563
543
565
587
584
626
628
608
603
655
669
659
659
634
654
696
700
700
665
715
712
689
724
726
721
706
713
755
755
755
755
725
732
757
742
771
790
820
832
797
799
851
880
880
899
918
918
930
930
900
949
949
1057
1076
1076
1083
1088
1083
1095
1095
1120
1136
1148
1187
1182
1203
1222
1270
1289
1333
1340
1383
1395
1405
1488
1520
1532
1572
1603
1615
1687
1711
1805
1817
1817
1802
1869
1881
1942
2297
2388
2412
2571
2633
2645
13
27
27
27
27
27
27
27
37
27
27
27
27
37
27
27
27
27
27
27
37
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
46
41
41
41
41
41
41
41
41
41
41
56
41
41
56
41
41
46
51
41
46
51
41
53
53
48
53
53
58
48
48
48
48
63
48
48
48
48
48
48
63
53
53
53
58
48
53
48
63
63
53
68
58
53
53
53
58
63
63
53
53
53
53
53
63
53
63
58
63
53
53
53
53
48
58
70
65
65
80
65
60
60
80
60
60
60
60
60
60
60
60
70
70
65
65
65
65
60
70
75
65
65
77
77
72
67
82
82
87
72
67
82
87
77
67
77
77
67
67
77
77
72
72
77
82
77
94
89
79
79
79
79
79
94
94
79
79
79
89
89
94
89
79
79
89
84
79
89
89
89
89
84
89
79
79
99
89
84
84
84
101
101
101
96
106
101
101
96
98
113
98
98
98
98
113
103
103
98
98
98
98
98
98
98
98
108
113
98
98
113
118
113
118
103
108
125
115
115
115
115
137
122
127
117
117
122
127
139
129
129
129
129
134
129
139
139
134
139
141
141
141
156
156
151
151
151
151
151
158
168
168
158
158
158
163
178
158
173
163
175
170
170
175
170
180
160
175
170
175
165
185
197
172
172
197
167
167
167
167
187
177
172
197
172
172
187
187
197
172
172
189
204
179
179
189
194
194
194
184
184
199
199
216
201
206
221
221
191
191
191
208
213
213
213
203
228
198
220
250
240
235
235
225
235
247
237
232
232
252
247
247
259
239
239
244
244
244
244
259
259
259
259
251
251
251
253
283
275
275
275
275
275
275
275
275
280
270
295
272
307
292
292
272
272
309
309
319
304
299
304
312
331
311
316
311
311
319
326
323
348
348
348
348
333
355
335
335
355
335
355
335
355
340
345
345
347
359
359
374
379
386
386
381
381
391
393
378
378
378
405
405
405
412
417
417
412
446
436
446
446
431
458
443
443
458
458
458
443
443
468
450
450
450
450
462
474
474
474
474
486
486
491
512
512
512
512
527
517
512
512
512
539
539
524
531
536
531
536
563
568
548
570
575
577
599
591
638
640
615
634
654
649
681
671
671
646
666
653
708
712
712
682
672
689
694
727
724
701
736
713
733
725
767
767
767
767
732
754
778
773
797
844
863
892
892
862
911
881
930
930
942
942
961
961
1069
1088
1088
1095
1100
1095
1107
1107
1132
1148
1160
1199
1189
1215
1234
1282
1301
1340
1352
1395
1402
1417
1500
1532
1544
1584
1615
1627
1699
1723
1817
1829
1829
1814
1881
1893
1961
2309
2400
2424
2583
2645
2657
1
1
13
25
25
27
27
27
27
27
27
37
27
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
41
41
41
46
41
41
41
41
41
41
41
41
41
46
41
41
41
41
51
51
51
41
46
41
41
41
56
41
41
51
41
41
41
53
53
53
53
53
53
53
48
48
53
53
53
53
63
53
68
53
53
53
58
63
53
53
53
53
58
53
53
53
53
60
60
60
65
65
75
75
70
65
75
75
75
65
65
75
75
65
65
60
65
75
75
65
75
65
65
77
87
67
67
87
67
67
67
67
67
67
67
67
67
67
67
67
77
82
77
77
72
67
77
72
82
82
77
79
89
89
89
89
94
79
89
89
89
79
89
94
79
79
94
94
89
89
94
94
89
89
84
89
79
79
79
89
89
79
79
89
89
84
94
89
91
91
91
86
86
86
86
86
86
101
96
91
96
91
96
91
96
106
98
98
118
113
113
108
113
98
98
98
98
98
98
118
113
98
98
113
113
108
113
108
108
108
113
113
108
113
113
108
108
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
130
130
115
137
137
122
127
129
139
134
139
139
141
141
141
141
151
141
141
141
141
151
151
153
148
148
153
148
148
153
148
148
153
148
148
153
153
153
168
158
158
163
163
163
168
165
165
175
175
180
160
165
165
170
175
160
160
185
185
182
182
187
172
172
177
182
187
172
197
209
179
179
209
189
184
209
194
184
199
199
199
196
196
216
196
196
206
206
191
191
211
228
213
213
228
228
233
203
203
198
240
235
220
240
225
240
257
247
247
247
247
259
239
239
244
244
264
259
266
251
256
256
256
256
266
271
271
271
276
253
258
258
273
283
265
295
287
287
287
287
287
287
287
287
287
292
292
282
272
299
284
284
321
321
331
311
311
316
319
338
318
323
330
360
360
360
360
345
367
347
347
367
367
347
367
352
352
359
359
359
366
391
398
398
393
403
405
385
390
390
417
417
424
429
424
424
458
448
458
458
470
450
450
470
470
470
450
450
480
450
450
474
474
474
498
493
503
510
524
524
524
524
519
539
534
524
524
524
524
551
531
546
536
543
543
543
543
575
570
580
555
582
587
572
589
584
584
604
611
591
598
650
652
622
622
644
666
693
683
683
653
673
665
720
724
724
699
699
701
701
739
736
748
725
745
737
779
779
779
779
761
778
797
809
856
818
875
904
904
923
893
942
942
954
954
973
973
977
1001
1081
1100
1100
1107
1112
1107
1119
1119
1160
1172
1211
1227
1246
1258
1277
1294
1313
1352
1359
1402
1414
1429
1512
1544
1556
1596
1627
1639
1711
1735
1829
1841
1841
1826
1893
1905
2321
2412
2436
2595
2657
2669
1
1
13
25
27
27
27
37
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
37
27
27
27
32
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
41
46
41
46
46
41
51
41
41
51
41
41
51
46
41
41
41
41
41
41
41
51
46
53
53
48
58
63
63
53
53
48
58
48
48
63
58
58
58
53
63
53
58
58
53
53
63
58
48
63
60
60
60
60
65
60
60
75
65
60
60
60
65
60
60
60
60
60
60
60
60
60
67
67
67
67
67
67
67
82
67
67
67
67
82
77
82
82
82
72
82
82
77
72
67
72
82
82
82
77
82
94
94
89
79
79
94
94
89
84
79
94
94
84
89
89
84
89
89
84
89
89
84
96
86
86
86
86
96
101
101
101
101
101
96
96
91
106
96
101
101
96
106
96
101
101
96
91
101
101
101
101
101
98
113
98
98
98
98
98
98
98
98
113
118
98
98
103
113
113
113
110
125
110
110
110
110
110
110
125
110
110
125
115
115
115
115
115
115
115
115
122
122
127
122
122
127
127
122
122
122
122
142
142
127
137
149
129
129
134
156
153
153
153
153
163
153
153
163
163
168
175
160
160
160
160
160
160
160
160
160
160
160
160
160
175
160
160
160
160
160
160
160
160
175
165
175
185
175
175
175
177
172
182
187
172
197
194
194
184
184
194
214
199
194
184
214
209
184
221
221
201
196
221
206
196
211
211
208
208
228
208
208
213
223
233
235
220
240
225
235
235
240
240
210
210
247
257
247
247
232
247
247
254
259
254
259
266
251
256
256
276
261
261
266
258
268
268
268
268
273
283
283
283
295
277
307
307
307
292
272
300
299
299
299
299
299
299
299
299
304
304
294
296
296
328
328
338
323
328
350
330
342
372
372
347
372
372
352
379
359
359
379
379
359
379
379
364
371
381
378
403
410
410
400
415
417
412
402
402
429
429
436
436
431
470
460
470
470
482
482
482
482
492
457
457
486
491
491
493
510
515
515
512
517
512
517
536
536
531
531
546
541
546
536
531
531
563
543
548
548
555
555
587
582
587
567
594
589
599
579
601
606
606
618
598
630
662
664
634
634
649
673
705
695
695
672
727
736
736
711
708
718
751
748
760
730
737
757
744
791
791
791
791
778
773
797
809
816
868
887
916
916
935
900
954
954
961
961
985
985
1001
1013
1093
1112
1112
1119
1124
1119
1131
1131
1172
1184
1223
1239
1258
1289
1306
1325
1371
1426
1441
1524
1556
1568
1608
1639
1651
1723
1747
1841
1853
1853
1838
1905
1917
2333
2424
2448
2607
2669
2676
1
1
1
25
25
25
27
27
27
37
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
39
34
39
34
34
39
34
44
34
34
34
49
34
34
39
34
34
34
34
49
34
49
34
34
34
34
34
34
49
34
34
39
34
39
34
49
34
34
34
34
34
34
44
34
34
34
34
34
34
34
39
34
46
41
41
41
41
41
41
51
41
41
41
41
41
41
51
41
41
53
63
53
58
53
53
53
53
53
53
53
53
53
53
53
68
48
63
53
58
53
53
48
63
53
53
53
63
53
53
48
48
58
70
65
75
75
65
60
70
65
65
70
70
65
65
65
60
60
70
70
70
70
65
60
60
60
60
70
60
65
60
75
67
67
67
82
77
72
67
67
72
77
72
72
67
72
77
67
67
67
67
67
67
79
79
89
89
79
79
89
89
84
89
89
89
89
79
89
89
89
89
89
84
79
79
89
89
89
89
89
84
94
101
106
96
106
96
96
96
101
101
96
113
103
103
98
108
108
113
108
108
108
113
103
103
113
98
98
108
108
113
108
108
108
103
108
108
108
113
108
125
110
110
110
110
125
115
115
115
125
125
122
132
127
117
117
117
117
117
117
127
127
137
122
132
137
134
129
129
129
139
134
134
139
129
134
129
129
129
154
139
139
139
139
139
154
139
156
156
141
141
168
175
165
165
165
165
175
160
160
160
160
160
175
160
175
175
175
172
172
167
167
167
167
167
167
167
167
167
167
167
167
172
172
177
187
187
187
184
184
194
199
194
209
204
204
206
206
196
191
206
211
196
221
191
191
233
233
213
223
203
233
218
203
223
223
228
220
220
235
240
235
220
220
235
235
240
247
247
252
237
247
247
247
247
247
239
239
269
254
269
244
254
262
259
271
271
276
253
258
268
268
288
273
278
278
280
280
280
280
285
295
295
295
287
297
292
297
300
319
314
299
284
304
312
311
311
311
311
311
311
311
311
311
316
301
301
338
318
308
303
303
340
340
330
335
335
357
342
354
359
369
391
366
366
391
391
366
366
391
381
391
376
393
393
378
415
385
422
417
427
412
429
414
414
431
441
441
431
431
431
448
448
482
472
482
482
494
494
494
494
474
474
504
498
503
515
517
512
517
512
517
527
524
529
524
546
541
548
543
548
543
575
555
560
555
555
567
567
599
579
579
579
601
601
611
601
608
613
613
598
598
630
610
637
674
634
644
676
646
646
653
717
707
707
739
748
748
718
725
758
760
730
772
744
798
798
798
798
778
797
809
816
818
880
862
862
899
881
923
923
947
966
966
973
973
997
997
1006
1013
1020
1105
1124
1124
1131
1136
1131
1143
1143
1184
1196
1235
1251
1270
1301
1318
1337
1383
1438
1453
1536
1568
1580
1620
1651
1663
1735
1759
1853
1865
1865
1850
1917
1924
2345
2436
2619
2676
2688
1
1
1
1
1
13
27
27
27
27
37
27
32
37
27
37
37
27
27
37
27
37
27
37
27
37
27
27
32
27
27
27
27
34
34
34
34
34
34
39
34
34
39
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
41
41
41
41
51
51
41
51
56
56
51
46
41
41
41
56
56
41
41
41
41
41
41
56
51
46
46
46
41
41
41
56
51
41
41
51
51
41
46
41
46
41
41
46
41
58
53
48
53
53
48
48
63
48
48
53
48
48
48
48
48
48
63
53
53
68
53
58
53
48
53
53
53
48
48
65
75
65
70
60
60
60
60
65
60
60
60
60
60
60
60
60
60
60
75
75
65
65
60
60
60
60
75
60
60
60
65
75
60
60
60
65
77
72
67
67
67
82
82
72
77
72
67
72
72
77
77
72
67
67
67
67
67
67
77
77
77
72
72
67
77
67
67
82
79
79
79
79
79
89
79
79
79
79
89
89
84
79
79
89
79
79
79
79
79
79
91
86
86
86
86
91
91
96
96
96
96
96
96
106
123
108
108
123
108
123
113
113
108
108
113
113
115
115
115
115
115
115
115
115
115
115
115
115
115
120
115
115
115
115
115
115
120
120
137
117
117
122
122
137
122
122
127
137
137
142
129
129
139
149
129
129
129
134
146
141
141
151
146
146
146
146
141
141
156
146
141
141
166
166
151
178
148
148
178
178
168
160
160
180
170
180
170
177
177
177
177
187
172
172
167
167
167
167
187
187
184
184
194
184
184
199
199
199
191
206
211
206
221
211
211
218
218
203
203
223
203
233
245
245
225
215
245
225
235
235
210
232
232
247
252
247
232
232
247
247
254
239
264
249
254
254
262
259
251
256
246
266
253
273
283
278
283
278
265
280
280
285
295
265
292
292
292
292
272
272
305
307
307
307
304
304
304
312
331
326
296
316
324
343
323
323
323
323
323
323
323
323
333
323
350
330
315
315
315
315
350
342
347
354
369
366
376
403
378
378
403
403
378
378
403
403
388
405
427
434
439
424
431
431
441
426
426
443
453
453
443
438
438
460
460
494
494
494
479
474
474
506
506
506
506
516
491
510
515
527
517
517
529
524
529
524
534
536
536
536
560
560
555
587
567
567
567
579
579
611
601
586
608
623
608
598
620
625
610
610
642
617
637
634
634
686
688
658
658
665
729
719
719
706
760
760
725
735
730
770
772
742
784
810
810
809
816
892
911
881
881
959
978
978
985
985
1009
1009
1018
1025
1117
1136
1136
1143
1148
1143
1155
1155
1196
1208
1247
1263
1282
1313
1330
1349
1373
1395
1450
1465
1548
1580
1592
1632
1663
1675
1747
1865
1877
1877
1862
1924
1936
2357
2448
2631
2700
1
1
25
25
25
27
27
27
27
27
27
37
27
27
27
27
27
27
27
27
27
27
37
27
27
27
34
34
34
44
34
44
44
34
34
34
39
34
44
44
34
34
34
34
34
34
44
34
44
34
34
49
39
34
34
34
34
34
34
34
34
39
34
34
46
51
46
51
46
46
56
41
46
41
41
41
41
41
41
41
41
41
46
41
41
41
41
41
41
51
46
41
41
41
41
41
41
46
41
41
41
41
46
53
53
53
53
53
63
53
58
53
53
68
53
48
63
63
63
53
58
53
53
53
63
53
63
48
48
63
53
58
53
58
63
58
53
48
48
63
53
58
58
70
70
60
70
70
75
60
65
70
60
60
60
60
82
72
67
67
67
67
67
67
67
77
77
72
67
67
67
67
67
67
67
67
67
67
67
67
82
82
72
72
67
67
82
72
77
72
82
67
67
72
84
79
89
89
79
79
79
84
94
84
79
79
79
79
84
94
84
84
84
79
84
89
91
91
91
91
91
91
91
101
96
91
91
91
91
91
91
98
98
98
98
98
98
98
98
98
98
103
103
103
98
98
103
103
108
113
130
115
115
115
115
115
130
115
115
130
130
115
115
115
115
115
115
115
115
127
127
122
132
127
127
129
129
144
134
134
129
129
144
129
129
129
139
139
149
149
149
149
146
156
156
141
158
148
148
163
158
158
153
153
153
153
168
158
148
148
178
178
163
168
168
185
185
165
165
165
165
175
170
185
160
160
175
170
185
175
175
187
172
187
189
189
189
189
199
184
184
184
199
184
184
191
191
191
196
211
211
211
203
223
218
203
203
233
230
230
210
235
215
245
215
215
210
257
242
242
257
237
222
257
237
247
247
244
244
254
264
254
244
244
254
259
276
261
246
246
266
263
268
285
295
295
277
292
292
292
292
304
304
304
304
284
284
284
304
284
312
319
319
319
311
301
301
324
338
338
308
323
323
331
345
350
335
335
335
335
335
335
335
335
340
340
340
340
345
335
335
357
342
322
322
357
354
359
364
366
366
376
378
415
390
390
415
415
390
410
415
400
385
385
412
439
431
446
431
451
431
453
438
438
455
465
465
455
472
472
457
479
506
506
506
518
518
518
518
528
522
517
517
527
529
534
541
536
536
536
543
543
543
543
572
567
567
599
579
574
591
591
623
613
608
635
627
632
617
617
654
698
653
653
700
670
670
672
741
731
731
701
713
772
772
747
742
782
784
754
796
822
822
816
904
923
971
990
990
997
997
977
1021
1021
1030
1037
1129
1148
1148
1155
1160
1155
1167
1167
1208
1220
1259
1275
1294
1325
1342
1361
1407
1404
1462
1477
1560
1592
1604
1644
1675
1687
1759
1877
1889
1884
1874
1948
2369
2643
2712
1
1
1
13
25
27
27
27
27
32
27
27
27
27
27
27
32
27
37
27
27
39
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
39
41
51
46
51
51
46
41
41
51
51
51
41
41
41
41
51
41
51
51
46
56
41
41
41
41
41
41
46
51
58
58
53
48
68
53
53
53
48
48
48
53
48
53
63
48
48
58
58
53
48
63
58
48
53
48
58
53
60
65
75
60
60
60
65
70
60
75
75
60
60
60
65
65
65
65
60
60
60
60
75
65
65
70
70
65
65
77
72
67
67
77
77
67
67
67
67
77
77
82
77
77
72
77
67
67
77
77
67
67
67
67
67
67
67
89
89
89
79
89
94
94
79
89
94
94
89
84
79
89
84
89
91
91
96
96
91
106
91
91
91
91
106
91
103
103
98
98
98
103
103
103
103
108
103
113
103
103
103
103
103
103
113
110
130
110
110
110
110
115
115
115
110
110
110
130
110
130
115
120
115
115
125
142
127
127
127
127
127
137
137
127
144
139
139
129
134
144
139
144
139
139
139
141
141
156
146
146
156
141
141
156
151
161
161
168
153
170
175
170
170
160
160
160
180
170
175
190
185
175
190
185
175
175
175
175
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
182
187
172
182
199
184
201
201
201
201
211
191
191
191
191
191
211
196
203
203
203
203
203
223
223
223
225
215
235
225
225
215
215
245
242
242
252
247
222
257
247
222
222
269
239
249
249
249
269
244
269
249
259
259
256
256
271
276
256
256
271
246
271
288
273
275
270
307
307
304
304
304
304
284
284
304
316
316
316
316
296
296
296
291
331
331
331
323
313
303
313
303
331
350
350
315
335
343
352
357
347
347
347
347
347
347
347
347
347
347
347
352
342
357
364
364
369
354
364
364
364
366
371
378
378
378
390
410
427
417
402
402
427
427
417
402
412
427
412
424
431
431
451
443
458
443
463
465
450
450
477
477
462
462
484
484
518
518
518
530
530
530
530
540
527
534
524
524
524
524
534
541
551
553
543
543
584
579
574
611
591
603
613
603
598
635
625
647
666
710
712
682
682
701
706
753
743
743
713
725
784
784
759
749
794
796
766
778
808
834
834
862
916
886
881
935
983
1002
1002
1009
1009
1001
1001
1016
1033
1033
1037
1049
1141
1160
1160
1167
1172
1167
1179
1179
1220
1232
1271
1287
1306
1337
1354
1373
1419
1474
1489
1572
1604
1616
1656
1687
1699
1771
1889
1896
1896
1886
1960
2381
2655
2724
1
1
1
1
1
1
13
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
32
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
39
34
34
34
44
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
41
41
41
41
41
41
41
51
51
41
41
46
41
51
41
41
41
41
41
41
51
41
41
41
46
53
53
53
53
53
53
53
48
58
58
53
53
53
48
58
58
58
63
53
53
53
48
53
53
58
53
53
58
65
75
60
60
60
60
60
60
65
70
70
65
65
60
60
60
60
70
70
60
65
65
60
65
65
65
82
67
67
77
77
77
67
82
72
82
67
67
67
67
67
67
72
72
72
72
67
67
67
67
67
67
82
77
67
67
67
67
67
67
77
77
72
89
89
84
89
84
89
94
84
89
94
94
89
79
89
96
96
96
106
91
96
106
101
96
98
118
103
103
103
103
103
103
118
113
110
115
115
115
115
120
115
120
115
115
115
115
115
115
117
127
127
117
117
117
117
117
117
122
122
117
127
132
142
132
139
149
139
149
129
134
139
156
151
151
141
141
156
156
151
153
153
163
158
158
168
153
153
163
163
173
173
175
160
160
175
182
187
182
182
177
187
187
182
202
182
187
202
182
187
179
179
179
179
179
179
179
179
179
179
179
179
184
184
179
196
196
211
196
196
191
211
213
213
213
213
223
203
203
208
208
208
203
223
203
203
203
210
210
220
210
225
235
235
235
240
252
222
252
232
247
237
222
222
257
247
239
254
254
249
259
259
239
259
269
259
281
271
251
281
251
281
271
256
271
271
268
268
278
288
268
268
278
283
300
285
287
282
319
284
319
316
316
311
328
328
328
328
308
303
303
343
343
343
335
325
325
347
362
342
350
369
359
359
359
359
359
359
359
359
371
371
371
371
376
366
371
371
371
371
378
383
390
390
402
439
414
414
439
439
424
414
424
424
439
424
431
436
463
455
470
455
475
477
462
462
457
489
489
474
474
496
496
530
530
530
542
542
542
542
552
534
546
551
546
553
543
558
543
565
555
579
596
623
603
613
615
620
615
610
647
632
659
678
658
722
724
694
694
728
765
755
755
725
730
732
796
796
766
806
808
778
790
820
797
846
846
928
893
995
977
977
1014
1014
1021
1021
1013
1013
1045
1045
1056
1080
1153
1172
1172
1179
1184
1179
1191
1191
1232
1244
1283
1294
1318
1349
1361
1380
1431
1486
1501
1584
1616
1668
1699
1711
1783
1901
1908
1898
1972
2393
2667
2736
1
1
1
1
1
13
8
13
25
27
37
27
27
37
27
27
37
37
27
27
37
27
37
27
27
27
27
27
27
27
37
27
27
37
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
39
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
39
34
34
34
34
34
39
34
39
34
34
34
39
34
34
39
34
34
41
41
41
41
41
41
46
46
46
41
41
41
41
41
41
41
41
46
46
41
41
41
46
46
46
46
41
41
41
46
51
46
41
41
46
46
41
41
41
41
46
51
46
41
41
41
41
46
53
58
48
48
48
48
48
48
48
48
48
48
53
48
48
58
48
53
53
58
53
48
48
53
48
53
53
48
48
53
65
60
60
60
60
60
60
60
60
60
60
60
60
60
60
65
65
60
60
60
65
65
65
65
75
65
60
60
60
65
60
60
60
60
65
77
82
67
67
72
77
77
77
72
72
67
67
67
72
72
67
67
67
72
67
67
67
77
77
72
67
67
77
72
94
79
79
79
79
79
79
79
89
79
89
89
79
79
79
79
79
79
79
79
89
89
89
89
84
84
96
96
101
96
103
103
118
103
118
108
113
115
125
110
110
110
115
115
115
115
125
120
127
127
117
117
122
122
127
137
127
127
122
127
127
127
127
127
127
127
134
129
139
149
134
129
134
129
134
139
144
144
144
149
151
151
163
158
158
163
148
163
168
163
160
160
170
170
175
160
160
160
175
185
185
172
172
172
194
199
194
194
179
179
179
179
199
184
194
214
214
199
211
203
203
218
203
203
203
225
225
225
225
235
210
210
220
215
215
235
215
240
232
232
237
247
247
247
222
259
259
254
259
244
259
259
244
269
259
266
261
261
266
251
266
246
271
281
271
293
278
263
293
263
273
293
278
278
278
280
280
300
275
280
280
270
270
270
295
312
297
292
319
299
284
294
331
296
301
331
328
328
338
303
340
340
340
340
315
320
355
355
355
342
332
332
374
371
371
376
371
371
371
371
371
371
371
371
371
371
383
383
378
383
383
390
395
385
402
402
414
424
424
429
451
426
426
451
451
426
431
451
436
475
482
462
462
462
462
487
489
474
474
501
501
486
486
508
508
542
542
542
517
554
554
554
554
564
546
558
553
558
565
555
577
587
577
567
579
591
608
618
613
598
635
615
620
625
627
632
627
617
659
644
671
653
678
690
734
736
706
706
706
777
767
767
732
742
808
808
778
778
778
818
820
785
832
809
804
858
858
940
900
961
961
1007
977
1026
1026
1001
1033
1033
1025
1025
1057
1057
1066
1066
1087
1165
1184
1184
1191
1196
1191
1203
1203
1244
1256
1295
1325
1361
1392
1443
1498
1513
1596
1680
1711
1723
1913
1920
1910
1984
2405
2679
2748
1
1
1
1
1
13
13
13
25
25
25
25
25
25
25
25
15
20
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
32
27
27
27
34
44
34
39
34
34
44
34
34
34
34
34
44
34
44
34
34
34
34
34
34
44
34
39
44
34
39
34
34
34
34
34
34
34
34
34
34
34
44
34
34
39
34
34
34
34
34
34
44
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
51
41
41
51
41
41
41
41
51
41
41
41
51
46
41
41
41
41
41
51
41
46
46
41
41
51
46
41
53
48
53
58
58
58
53
53
58
58
48
53
58
58
53
58
58
48
53
53
58
53
53
58
58
53
58
58
53
48
48
58
58
58
53
48
48
58
53
65
65
65
65
60
60
65
65
65
65
60
60
60
60
60
65
60
65
82
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
72
72
67
67
67
67
77
72
72
87
72
67
67
72
72
67
67
67
67
67
67
72
84
79
79
79
79
89
79
84
84
89
79
79
79
79
84
84
89
84
89
106
91
91
91
91
101
101
96
91
91
91
101
101
91
91
91
91
101
96
103
103
108
108
108
130
110
125
115
125
120
125
127
127
122
122
122
122
127
127
127
127
122
129
144
139
134
139
129
144
134
139
139
149
139
139
139
139
139
139
141
141
141
151
141
141
141
141
141
141
141
151
151
156
158
163
165
165
165
165
175
160
180
175
182
182
177
177
177
177
172
192
187
197
197
184
184
184
179
184
206
211
206
206
211
196
191
206
226
226
211
203
203
203
210
210
210
237
237
237
237
247
222
222
232
222
232
247
222
222
259
254
259
244
259
259
259
266
266
266
246
271
281
271
273
263
273
283
293
278
305
305
275
305
270
270
290
292
292
312
287
292
292
292
282
282
282
307
324
309
319
304
309
304
311
296
301
301
338
308
303
340
340
350
315
357
352
352
352
352
327
327
367
367
367
386
383
383
383
383
383
383
383
383
383
383
390
390
390
390
390
410
402
414
424
414
424
424
426
436
463
438
438
463
463
463
448
462
462
487
494
474
474
499
501
486
486
513
513
493
493
520
520
517
554
554
554
566
566
566
566
546
576
553
570
560
577
577
567
589
579
591
603
598
620
630
610
647
627
637
639
644
639
634
671
651
653
678
685
702
746
748
718
718
730
789
779
779
749
754
820
820
790
802
797
832
844
816
811
823
823
870
870
923
923
952
973
973
1019
1038
1038
1013
1045
1045
1032
1032
1069
1069
1099
1099
1177
1196
1196
1203
1208
1203
1215
1215
1256
1268
1307
1373
1404
1455
1510
1525
1608
1692
1723
1735
1925
1932
1922
1996
2417
2691
2760
1
1
13
13
13
13
25
25
25
20
27
27
32
27
27
32
27
32
27
27
32
27
27
32
32
27
27
27
27
27
27
32
27
27
27
27
27
37
27
27
27
34
34
34
39
34
34
34
39
34
34
34
34
34
34
34
34
39
34
34
39
34
34
34
39
34
34
34
34
39
39
34
39
34
34
34
34
34
34
39
34
34
34
34
34
34
39
39
34
34
39
34
39
34
34
34
34
34
46
51
51
51
46
51
51
51
46
51
46
51
51
51
41
41
46
51
51
46
51
51
46
41
41
41
51
41
51
51
51
46
46
51
51
41
46
51
41
41
41
41
46
51
51
48
58
58
58
58
53
53
58
53
48
58
58
53
58
53
48
48
48
58
58
53
53
53
53
53
53
53
53
58
48
53
48
58
58
53
53
58
48
53
53
58
58
58
60
65
65
65
65
65
60
65
65
60
65
65
60
60
65
65
65
65
60
65
65
60
65
65
65
65
65
65
60
60
65
82
82
67
67
72
72
67
67
67
67
72
82
67
67
72
77
67
67
67
67
67
67
67
72
72
72
67
67
89
79
84
84
84
89
79
79
79
79
84
99
84
84
91
91
101
96
101
91
91
91
96
101
118
98
98
98
103
113
113
118
103
113
113
103
103
103
103
103
103
113
130
130
130
110
120
120
122
122
122
122
122
142
127
137
132
144
139
134
134
129
144
134
134
134
134
141
156
146
141
156
151
141
156
151
151
151
151
151
151
151
151
151
151
148
163
153
153
148
148
163
168
170
160
160
190
190
172
172
172
182
172
172
192
187
194
194
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
199
199
209
209
196
196
196
218
223
218
218
203
218
203
218
238
203
238
223
215
215
225
222
222
227
227
249
249
249
249
259
229
229
244
259
271
271
271
278
293
278
285
275
270
290
305
317
317
287
317
302
304
304
324
299
304
304
304
289
294
289
289
319
336
321
311
316
316
316
323
308
323
350
350
315
315
315
357
352
352
357
322
369
364
364
364
364
379
379
379
381
398
390
395
395
395
395
395
395
395
395
390
410
402
422
412
414
426
426
438
475
450
450
475
475
475
460
462
462
474
474
494
506
481
481
506
508
498
498
525
525
532
532
566
566
566
578
578
578
578
588
582
567
589
579
601
586
613
610
610
610
632
642
617
642
659
639
644
651
651
651
683
673
665
685
706
758
760
730
730
742
749
801
791
791
756
761
832
832
809
809
809
844
856
830
830
882
882
964
985
985
1031
1050
1050
1020
1057
1057
1037
1076
1076
1106
1106
1189
1208
1208
1215
1220
1215
1227
1227
1268
1280
1319
1385
1416
1467
1522
1537
1620
1704
1735
1747
1937
1944
1934
2008
2429
2703
2772
1
1
13
25
25
20
25
27
27
27
27
27
27
27
27
27
32
27
32
27
27
27
27
27
27
27
32
27
27
39
39
34
39
34
34
39
34
34
34
34
34
39
34
34
39
34
34
34
34
34
34
39
34
39
34
34
39
34
34
34
34
34
34
39
34
34
34
34
34
34
34
44
34
34
34
34
34
46
46
46
51
46
41
41
41
41
41
46
51
46
41
46
51
46
41
41
51
41
41
41
46
46
46
41
46
46
41
41
51
41
46
41
41
41
46
41
58
53
53
58
58
58
58
53
53
58
58
58
58
48
53
58
53
53
58
58
58
48
48
53
58
58
58
58
63
53
58
53
53
58
58
53
53
58
58
58
53
65
65
65
65
60
60
65
60
65
65
60
60
65
60
65
65
65
65
60
65
60
65
65
65
65
65
65
65
65
72
82
82
72
72
67
72
72
77
72
67
72
72
72
72
77
72
72
72
77
67
67
67
67
67
67
72
72
72
94
94
79
84
84
79
84
79
79
79
79
79
79
91
101
91
91
111
91
98
103
113
103
108
113
98
98
108
113
130
130
130
115
115
125
125
125
125
125
115
115
115
115
115
115
125
142
132
132
129
129
129
129
129
129
139
149
144
156
146
146
141
156
141
156
146
146
148
168
168
163
148
148
168
163
163
163
163
163
163
163
163
163
165
165
175
160
165
165
170
180
172
172
187
187
187
189
194
179
199
184
204
199
206
206
196
191
191
191
191
191
191
191
191
191
191
191
191
191
211
221
221
203
203
218
208
208
230
235
230
230
210
210
230
220
210
230
250
225
215
250
235
222
232
237
229
229
234
234
261
261
261
261
271
256
271
283
278
278
270
305
297
287
282
302
317
329
329
299
329
304
314
312
316
316
336
311
311
316
316
301
296
296
331
348
333
323
323
336
350
335
315
335
357
322
337
337
369
364
364
381
376
376
376
376
381
376
391
386
386
388
410
407
407
407
407
407
407
407
407
422
412
414
424
434
424
426
431
438
443
450
487
462
462
487
487
462
462
487
472
474
474
481
481
518
518
520
510
510
532
532
544
539
539
578
578
578
590
590
590
590
600
594
601
586
613
598
620
632
622
617
622
617
644
654
649
671
651
656
663
663
695
672
706
730
770
730
772
742
742
744
754
756
766
813
798
798
844
844
821
816
821
816
856
868
842
889
889
976
997
997
1043
1062
1062
1069
1069
1088
1118
1201
1215
1215
1227
1232
1227
1234
1234
1280
1292
1331
1397
1428
1479
1534
1549
1632
1716
1747
1759
1949
1956
1946
2020
2441
2715
2784
1
1
1
1
1
1
1
13
13
13
8
8
13
20
27
27
27
27
27
27
27
32
27
32
27
27
32
27
27
34
39
34
34
34
39
34
39
34
34
34
34
34
34
39
34
34
51
41
46
46
41
41
46
46
51
41
41
41
41
51
41
46
41
41
41
46
51
41
46
58
58
53
48
48
58
48
48
53
53
58
58
53
48
48
58
53
53
53
58
58
53
53
53
58
53
53
48
53
53
58
58
53
58
48
48
58
60
65
65
70
65
65
65
65
65
65
65
65
60
65
60
65
65
65
65
65
60
65
65
65
65
65
65
65
65
60
65
65
70
65
72
72
72
72
67
72
72
72
72
72
72
72
72
72
72
77
72
72
72
72
72
67
72
72
67
77
72
72
72
72
72
94
84
84
79
79
79
84
89
79
79
79
79
89
89
84
79
84
84
79
101
101
91
91
91
103
108
113
98
98
103
123
118
103
115
125
115
125
115
120
125
125
120
125
142
122
122
127
137
137
137
127
127
127
127
127
127
137
137
154
134
134
129
134
134
129
144
144
144
144
146
141
146
151
151
151
156
161
168
153
168
153
168
158
158
175
175
170
175
160
160
175
175
175
170
180
175
175
175
175
175
175
180
180
172
172
187
172
172
172
182
187
182
192
184
179
191
196
196
191
196
196
191
196
196
191
201
206
191
196
216
211
218
218
203
203
203
203
203
223
208
233
233
210
210
215
230
215
215
230
215
242
247
242
242
222
222
237
227
227
242
232
237
247
222
254
254
264
249
283
273
273
273
273
278
268
283
283
295
290
282
317
309
299
294
314
304
329
341
341
311
316
316
341
301
316
326
324
328
328
348
323
328
328
328
323
323
343
331
360
345
320
315
343
352
352
347
332
362
342
344
344
371
381
376
376
371
376
388
388
388
388
388
388
403
398
422
419
419
419
419
419
419
419
419
424
434
424
426
441
438
450
455
462
462
462
499
474
474
499
499
474
474
499
484
486
486
530
530
522
522
544
529
529
556
551
551
548
563
548
590
590
590
602
602
602
602
612
606
613
625
620
610
605
620
632
617
644
634
634
644
649
656
666
683
663
668
673
675
675
707
782
742
737
784
744
754
754
761
825
810
809
851
851
816
833
833
868
880
830
830
849
901
901
988
1009
1009
1055
1074
1074
1081
1081
1100
1106
1106
1125
1213
1239
1244
1239
1246
1246
1292
1304
1343
1409
1440
1491
1546
1561
1644
1728
1759
1771
1961
1968
1958
2032
2453
2676
2727
2796
13
13
13
8
13
8
13
25
25
25
15
15
25
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
39
34
34
34
34
39
34
34
34
34
34
39
34
34
34
34
34
41
41
41
41
41
46
41
41
41
41
41
41
41
41
41
41
41
41
41
46
51
41
41
41
41
41
41
46
41
41
41
58
48
53
53
53
53
53
58
53
48
58
48
53
53
53
58
48
48
53
63
53
53
65
65
65
65
65
65
60
60
65
65
65
65
65
65
65
65
60
60
65
65
65
65
65
65
65
65
65
65
65
65
77
77
77
72
72
77
72
72
72
72
72
72
72
72
72
72
72
77
84
79
79
79
84
84
84
79
89
79
84
84
84
84
89
89
79
79
79
79
94
101
101
91
91
86
91
91
106
96
101
96
91
91
91
91
91
103
103
98
108
103
118
110
115
120
115
135
125
115
122
137
127
137
132
132
132
132
137
154
134
144
144
134
149
149
154
139
139
149
149
134
134
134
134
149
154
161
141
141
141
141
141
156
151
151
156
153
153
163
153
148
153
153
158
163
168
173
175
190
165
175
160
175
170
170
177
177
177
177
187
172
172
172
187
187
187
187
187
187
187
182
182
182
182
187
187
199
189
184
204
191
216
216
203
203
203
203
203
203
203
203
203
203
203
203
208
218
203
203
228
223
230
230
215
215
230
215
215
245
245
222
222
227
237
222
237
254
264
259
254
254
234
234
234
254
264
249
254
234
261
261
271
271
256
283
283
283
290
280
280
280
280
290
280
290
275
295
307
302
294
329
316
311
301
301
326
341
353
353
323
323
353
308
338
340
340
360
345
335
340
340
335
335
355
343
335
372
357
327
359
359
359
339
339
369
371
371
371
371
383
388
388
388
383
400
400
400
400
415
410
434
426
426
426
426
426
426
426
426
441
438
450
462
462
462
462
474
474
474
511
486
486
511
511
486
486
511
496
493
493
542
542
534
534
539
556
536
536
568
548
563
563
558
548
558
555
570
555
602
602
602
614
614
614
614
624
618
625
620
637
644
629
656
641
641
656
663
678
695
675
675
682
687
719
737
794
749
796
766
766
837
822
828
840
840
880
830
830
892
842
913
913
1000
1021
1021
1067
1086
1086
1093
1093
1112
1106
1106
1118
1225
1251
1256
1251
1258
1258
1304
1316
1355
1421
1452
1503
1558
1573
1656
1740
1771
1783
1973
1980
1970
2044
2676
2688
2739
2808
1
1
1
1
1
1
13
13
13
13
13
13
13
20
20
20
15
20
15
20
20
27
27
27
27
32
27
27
32
27
27
27
32
27
27
27
27
27
27
27
27
27
27
27
27
27
32
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
41
41
41
46
41
46
41
46
41
41
41
41
48
48
48
48
53
48
48
48
48
48
48
53
48
48
48
48
53
48
58
53
53
53
48
53
48
48
48
48
58
53
48
48
48
65
60
65
60
65
60
65
65
60
60
65
65
60
75
65
60
60
77
72
82
72
67
77
72
77
72
77
72
77
77
84
84
79
79
89
79
84
79
84
79
79
79
79
89
91
91
91
101
96
101
91
91
101
101
91
91
91
91
91
91
103
98
98
113
103
113
103
103
103
115
115
110
110
110
115
115
115
115
130
130
115
125
125
122
147
122
132
134
139
149
144
144
144
149
166
161
141
141
141
141
141
141
151
151
151
151
161
161
161
161
161
151
146
151
146
151
151
161
161
163
158
153
153
148
168
163
168
160
170
165
160
170
170
185
180
197
172
172
182
182
182
182
187
187
189
189
184
184
184
199
179
199
184
179
194
194
199
194
199
194
199
211
201
216
203
203
203
203
203
203
203
203
203
203
203
223
223
223
223
215
215
215
215
215
215
220
230
215
210
215
215
240
235
215
242
242
222
227
227
222
222
257
257
234
234
234
239
239
266
271
271
266
266
261
261
246
241
241
271
266
271
266
271
256
266
278
273
278
278
268
283
290
290
290
292
292
292
287
282
282
307
319
314
311
306
301
341
328
323
308
338
353
365
365
335
365
350
352
352
372
352
357
347
352
352
327
342
362
332
342
350
384
369
359
359
339
369
371
371
371
371
383
383
395
400
400
395
412
412
412
412
427
422
446
438
438
438
438
450
462
467
462
467
462
474
486
481
481
481
481
523
498
498
523
523
493
493
493
493
523
508
554
554
536
536
546
546
551
568
558
580
555
555
575
565
570
555
555
567
567
614
614
614
589
626
626
626
626
636
630
637
649
656
636
663
663
690
707
687
694
699
731
806
808
778
778
849
834
835
892
842
904
849
925
925
1012
1033
1033
1079
1098
1098
1105
1105
1124
1118
1125
1237
1263
1268
1263
1270
1270
1316
1328
1367
1433
1464
1515
1570
1585
1668
1752
1783
1795
1884
1924
1985
1992
1982
2051
2700
2751
2815
1
8
8
8
13
20
20
20
25
20
20
25
20
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
34
34
34
34
34
34
39
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
46
41
41
41
41
46
41
41
41
41
41
41
41
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
58
65
70
65
60
65
65
60
65
70
65
60
60
65
77
82
82
77
72
67
67
77
77
77
72
77
87
72
89
94
84
79
79
79
79
89
84
89
79
79
84
79
79
89
89
84
79
79
79
79
79
89
84
96
96
91
91
91
91
91
96
96
91
91
91
91
91
91
91
103
103
103
103
103
108
113
98
98
108
103
103
103
110
115
115
115
120
115
115
125
110
115
110
122
122
127
127
137
137
127
127
134
159
134
141
141
141
141
141
141
146
161
151
151
151
156
156
161
151
151
156
161
158
178
153
153
163
163
173
173
173
173
163
158
163
158
163
173
160
170
160
160
160
180
170
180
177
177
172
172
177
177
182
197
192
187
187
184
189
189
184
179
199
194
194
199
196
196
211
211
191
206
206
211
206
211
206
206
223
203
203
203
203
203
203
203
203
203
203
208
218
228
223
223
215
215
215
215
210
235
235
227
222
227
222
222
222
242
222
222
252
247
254
254
234
234
269
269
271
261
261
241
241
266
246
271
251
251
278
278
283
278
278
273
258
278
278
278
278
280
275
290
304
304
304
294
319
311
301
331
326
308
313
353
340
335
320
350
365
377
357
377
347
357
377
357
327
362
332
342
364
364
384
359
359
359
364
364
339
374
349
349
396
381
371
346
378
383
395
395
412
412
402
402
424
424
424
424
424
424
439
434
458
450
450
450
450
462
474
474
474
474
474
481
481
481
493
493
493
535
510
510
535
535
535
520
566
536
536
566
558
558
558
558
580
555
565
555
592
567
587
567
574
589
574
626
626
626
638
638
638
638
648
642
649
661
663
702
719
699
706
711
738
818
820
790
790
861
846
904
849
916
937
937
1024
1045
1045
1091
1110
1110
1117
1117
1136
1125
1249
1275
1280
1275
1282
1282
1328
1340
1379
1445
1471
1527
1582
1597
1680
1795
1807
1896
1896
1924
1936
1997
1994
1999
2063
2712
2763
2827
1
1
1
1
1
1
1
13
8
15
15
15
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
32
27
27
27
27
27
27
27
27
27
27
32
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
46
46
41
41
46
41
41
41
41
46
46
41
46
51
46
46
51
48
48
48
53
48
48
48
48
58
68
58
53
53
53
53
65
60
60
60
60
65
60
60
60
65
65
65
82
82
77
77
72
77
77
72
72
72
72
89
94
84
79
89
79
79
79
79
79
84
79
79
99
84
101
106
101
96
91
91
101
96
91
91
96
96
91
91
91
91
96
108
108
103
103
98
103
103
108
108
98
98
103
103
110
115
130
110
130
120
120
115
110
110
122
122
127
127
127
127
127
132
122
134
134
134
134
141
141
141
146
171
141
158
153
153
153
158
148
158
173
163
163
168
163
163
168
168
180
190
160
160
180
180
170
170
185
185
185
185
175
170
175
170
170
180
172
192
192
184
184
184
184
184
184
194
204
204
199
191
196
196
201
196
196
196
196
211
201
201
206
203
203
203
208
223
218
223
218
223
218
235
215
215
215
215
215
215
220
230
235
235
220
222
222
222
222
232
242
242
222
239
234
254
264
259
261
261
246
246
281
281
273
253
258
258
258
290
295
290
290
280
270
290
290
294
316
316
316
331
308
313
343
338
325
365
352
347
327
362
377
389
389
359
389
364
339
369
344
364
376
376
396
371
371
376
376
346
356
356
408
393
393
378
395
402
402
419
419
414
414
436
436
436
436
446
451
446
470
462
462
462
462
474
486
486
486
493
493
505
500
500
547
522
522
547
547
547
532
578
578
565
565
592
567
567
604
574
599
574
638
638
638
650
650
650
650
660
649
644
661
668
731
711
718
723
750
766
830
832
802
802
873
858
830
916
928
949
949
1036
1057
1057
1037
1032
1103
1122
1122
1129
1129
1106
1148
1261
1287
1292
1287
1294
1294
1340
1352
1361
1391
1452
1539
1594
1692
1807
1814
1908
1948
2004
2006
2075
2724
2775
2839
1
1
1
8
13
8
13
13
13
20
15
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
39
34
34
34
34
41
46
41
41
46
41
46
56
41
41
53
53
48
53
53
53
53
48
53
53
48
53
58
53
53
53
53
58
60
60
60
60
60
60
60
65
65
60
75
70
65
60
65
70
65
77
82
72
67
77
77
77
72
72
72
72
77
89
89
89
79
79
79
79
89
79
79
79
84
101
106
91
91
101
91
91
96
96
96
91
111
91
91
113
113
113
108
98
98
113
108
103
103
108
103
103
98
98
103
120
120
110
110
115
110
110
120
120
110
110
122
122
127
137
137
132
127
134
139
134
134
134
134
144
134
141
141
141
141
151
153
153
158
183
153
180
165
165
165
160
160
180
170
170
180
165
165
185
175
170
180
175
170
180
187
202
172
187
182
182
187
197
197
197
197
187
182
187
182
192
184
204
204
191
201
196
196
211
191
206
216
206
203
203
208
208
223
223
215
215
235
230
220
235
230
235
230
247
222
227
222
227
222
222
237
247
242
232
239
244
246
246
266
276
271
273
258
258
278
278
278
278
278
258
258
258
258
258
293
293
280
265
290
270
270
302
307
302
302
302
302
277
294
324
324
324
324
306
328
328
328
313
343
320
325
355
350
332
327
332
377
364
359
374
389
401
401
371
401
346
351
351
386
386
388
388
408
393
378
383
388
388
420
400
405
417
402
432
432
431
426
436
446
426
448
448
448
448
453
463
458
482
474
474
474
474
494
481
506
481
493
493
493
505
500
532
532
517
559
534
534
559
559
559
544
578
578
590
590
577
567
604
574
574
616
591
636
650
645
645
650
650
662
662
662
662
655
672
644
656
673
680
723
738
730
735
762
771
798
798
798
798
798
798
842
844
814
814
868
868
885
870
830
830
842
928
940
961
961
1048
1042
1069
1069
1076
1076
1056
1115
1134
1134
1141
1141
1106
1106
1118
1160
1189
1215
1215
1222
1249
1234
1234
1268
1273
1299
1304
1299
1306
1306
1352
1364
1373
1380
1551
1704
1814
1826
1920
1960
2013
2087
2736
2782
2851
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
1
1
1
1
13
8
15
20
15
20
20
20
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
39
34
41
51
41
41
51
53
48
48
53
53
53
48
48
53
53
53
53
63
53
58
65
65
65
60
65
65
65
70
60
65
65
60
65
65
60
65
70
72
67
72
72
72
72
72
67
72
72
67
72
72
72
72
72
72
72
77
72
72
72
77
72
72
72
72
77
84
89
84
79
79
84
79
79
79
79
84
84
101
96
101
91
91
101
91
91
91
91
91
113
113
113
113
103
113
113
113
103
103
108
108
108
103
113
103
123
113
120
120
115
120
120
110
115
115
115
115
110
115
122
127
137
127
127
132
132
134
139
144
134
141
141
141
151
151
151
151
156
151
141
153
163
180
165
165
170
195
172
187
172
187
182
172
187
197
187
187
192
187
189
214
184
189
194
179
189
209
204
209
194
194
204
194
194
204
191
196
211
216
203
203
208
208
218
228
223
215
215
220
235
210
235
227
247
222
237
227
232
242
242
242
242
259
239
234
239
259
239
261
246
256
246
253
253
253
273
288
283
285
270
270
290
290
270
270
305
300
277
302
282
277
314
319
309
309
314
294
314
289
336
336
308
313
340
340
340
325
355
348
332
362
362
359
339
339
344
389
376
371
381
361
396
413
413
383
413
388
398
400
400
420
400
395
400
400
427
417
414
444
443
433
448
453
433
455
455
455
455
470
470
494
486
486
486
486
481
518
493
517
544
529
571
546
546
571
571
536
536
571
556
590
597
597
589
616
586
628
610
610
620
662
657
662
662
669
669
674
669
667
684
656
668
685
685
692
730
742
747
774
761
810
810
810
790
809
809
854
851
826
826
816
880
830
897
882
842
854
940
947
973
973
1060
1081
1081
1061
1088
1127
1087
1141
1141
1106
1153
1153
1118
1130
1167
1234
1246
1246
1280
1285
1306
1316
1306
1318
1318
1364
1371
1392
1563
1716
1838
1932
1972
2099
2748
2863
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
1
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
8
13
13
13
13
13
13
13
8
13
13
13
8
8
20
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
46
46
46
46
46
41
46
46
46
46
46
46
51
46
46
46
41
48
53
48
53
48
53
53
53
63
53
53
53
53
53
53
53
63
53
53
58
53
65
60
65
65
65
60
65
65
60
65
65
65
65
72
72
72
72
72
72
72
72
72
72
72
72
72
77
72
72
72
82
72
72
72
82
72
77
79
79
79
79
79
79
79
79
84
84
79
79
84
84
96
91
101
91
86
96
101
91
91
91
91
113
108
103
98
108
103
113
103
113
103
113
120
110
115
110
125
120
120
110
115
115
115
115
115
115
120
110
135
132
122
127
137
122
132
132
132
127
132
122
127
134
139
139
139
134
144
134
134
134
134
144
134
134
134
134
141
141
146
151
151
151
156
151
151
153
158
158
163
163
168
163
168
153
180
165
175
180
172
172
177
177
172
207
182
182
182
182
187
187
189
184
189
179
189
204
194
204
204
199
196
226
191
196
206
196
196
196
216
216
216
216
206
201
206
201
216
203
208
223
223
228
215
215
220
210
225
235
240
230
227
247
222
227
247
234
254
244
234
254
244
254
249
254
249
261
261
271
261
261
261
261
246
246
246
271
273
253
258
253
268
258
280
280
280
280
265
285
300
290
295
297
302
302
277
277
312
312
277
277
299
299
299
299
289
314
289
326
331
321
321
321
326
306
321
301
328
328
313
348
348
320
335
347
347
352
327
332
362
359
359
344
374
369
371
351
346
361
396
388
383
393
368
408
393
393
425
425
395
425
410
407
407
427
407
407
402
439
429
419
419
426
426
426
426
426
426
426
426
426
456
455
460
467
467
467
467
482
477
506
481
493
493
493
493
530
505
529
556
536
541
536
583
558
558
583
583
548
548
578
568
563
555
555
565
565
602
609
609
601
623
640
620
622
617
622
617
669
669
669
669
649
681
681
686
681
679
696
663
668
668
680
690
690
682
697
704
742
749
759
786
756
785
822
822
822
821
816
821
816
866
816
863
833
833
892
909
889
854
861
947
959
985
985
1072
1093
1093
1100
1092
1134
1153
1153
1160
1160
1130
1137
1179
1246
1258
1258
1292
1297
1318
1328
1318
1325
1325
1371
1383
1404
1575
1728
1850
1944
1984
2111
2760
2875
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
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
13
8
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
41
41
46
41
41
41
41
46
41
41
46
46
46
41
41
41
41
46
41
53
58
53
53
48
53
48
53
48
48
53
53
48
53
53
58
53
48
53
63
48
48
53
53
48
48
53
53
48
53
58
60
60
60
60
60
65
60
60
65
70
65
75
65
65
65
65
75
70
60
65
72
72
67
67
72
72
72
72
77
82
72
72
77
82
72
94
84
84
79
89
89
84
89
89
89
84
89
91
91
91
91
96
101
106
96
108
103
98
98
108
103
118
113
103
113
108
125
115
115
110
120
115
110
110
130
125
115
115
130
125
115
122
122
122
127
122
142
142
142
142
137
127
127
122
147
144
134
144
144
144
134
134
144
129
134
146
151
151
146
151
156
146
146
156
146
146
151
166
161
141
163
173
148
173
163
163
175
175
170
165
170
175
175
185
180
175
202
197
177
182
192
187
192
187
184
189
194
189
219
209
194
194
199
196
191
191
196
196
201
196
211
211
208
238
218
208
228
203
203
203
223
228
218
218
228
245
220
235
225
225
235
240
227
237
237
227
247
252
239
259
239
234
234
234
254
261
246
261
246
246
256
246
266
251
266
266
273
273
273
278
283
283
278
253
283
258
258
295
295
290
285
270
295
295
290
270
275
312
292
292
277
297
312
300
300
302
277
309
294
314
314
289
324
289
311
311
301
326
301
338
343
323
338
318
313
328
333
313
325
360
335
335
360
352
357
352
352
355
359
359
359
364
369
339
374
371
386
383
363
368
388
400
395
405
380
420
405
405
437
437
422
407
437
402
402
422
419
419
451
431
436
438
438
438
438
438
468
467
472
467
462
479
474
479
474
494
481
518
498
498
493
505
505
505
505
542
512
541
568
548
553
548
595
570
570
595
595
560
555
555
575
575
570
560
555
555
580
555
555
570
567
567
577
614
589
601
621
613
635
652
622
617
634
634
654
681
693
693
698
693
668
691
708
680
685
675
692
694
704
716
761
771
761
761
798
834
834
834
821
811
833
833
878
823
845
904
921
901
861
873
971
997
997
1084
1105
1105
1112
1099
1172
1172
1137
1149
1191
1258
1270
1270
1304
1309
1340
1337
1337
1395
1416
1587
1740
1862
1956
1996
2123
2772
2887
1
1
1
1
1
1
1
1
1
1
1
8
13
8
8
8
8
8
13
8
8
8
8
13
8
8
8
8
13
8
8
8
8
8
8
8
8
20
20
20
20
20
20
20
20
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
41
41
41
41
46
41
41
46
41
46
41
41
41
46
41
46
41
41
56
53
48
48
48
53
53
48
48
48
53
53
53
53
48
48
48
48
53
53
53
53
53
48
53
48
48
48
53
53
48
48
53
48
48
53
53
48
48
53
53
48
48
53
58
65
65
65
65
65
60
60
65
65
60
60
65
65
65
65
75
60
60
65
60
65
80
60
60
65
65
65
72
72
67
67
72
72
72
72
72
67
72
72
72
72
72
77
77
77
87
77
72
77
77
72
77
77
87
72
72
77
77
72
77
77
84
79
89
84
79
79
84
79
94
84
79
84
84
94
79
79
79
79
89
84
79
89
89
94
79
79
79
79
89
84
84
84
89
96
101
101
91
91
91
91
96
96
91
91
96
96
91
101
91
91
91
91
101
113
113
103
118
113
103
103
113
113
103
108
103
108
108
113
103
103
120
115
115
125
115
115
115
110
110
120
115
110
110
110
110
115
125
110
115
110
130
120
122
122
122
122
122
122
122
122
127
137
132
127
127
137
122
122
122
134
134
139
134
144
139
139
129
159
134
156
166
141
141
141
141
156
156
146
156
156
151
151
156
151
151
166
146
146
156
151
151
141
153
163
163
158
168
158
158
168
158
158
173
170
170
160
160
160
160
170
175
175
175
192
182
182
172
177
172
192
192
182
187
197
197
197
182
182
197
197
187
182
187
187
209
184
194
199
204
196
196
191
201
191
196
196
201
201
201
196
196
231
206
206
211
221
203
203
203
203
203
203
203
203
203
208
208
208
208
208
213
223
223
233
233
223
218
220
250
230
220
240
215
215
240
230
230
235
227
242
247
237
247
252
234
234
234
239
234
249
249
234
259
262
259
276
261
261
276
246
271
276
256
246
246
266
251
278
253
258
258
263
278
268
258
258
278
278
290
285
285
285
290
290
290
265
290
290
295
270
302
302
307
307
292
302
302
287
277
277
304
304
324
289
309
294
324
312
289
316
326
326
301
336
301
323
323
323
308
313
338
313
350
355
350
325
325
325
345
325
327
332
372
347
372
342
374
374
359
359
364
369
364
339
364
371
371
371
371
376
371
371
351
346
381
356
386
383
368
368
398
405
390
370
412
407
407
417
392
407
432
412
412
449
449
429
429
419
449
414
414
434
431
431
463
443
448
458
450
450
450
450
450
480
474
484
474
486
486
481
481
506
498
493
498
493
530
505
505
505
517
517
517
517
517
554
524
536
536
553
563
580
570
555
565
570
570
555
607
582
582
607
607
567
567
582
582
567
567
567
587
589
574
574
589
626
601
633
610
620
647
617
664
629
641
641
693
705
705
710
705
703
720
675
692
699
706
716
723
742
756
773
783
768
768
810
809
846
846
846
816
828
890
830
830
840
840
857
916
933
913
885
983
1009
1009
1096
1117
1117
1124
1106
1106
1184
1184
1161
1203
1270
1282
1282
1316
1321
1352
1349
1349
1407
1428
1599
1752
1874
1968
2008
2135
2784
2899
1
1
1
1
13
8
8
13
8
8
13
8
8
8
8
20
20
20
20
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
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
41
46
41
46
46
41
41
41
46
41
46
41
46
53
48
53
53
53
48
53
58
58
53
48
53
53
53
53
68
53
63
60
60
65
65
60
65
60
60
65
65
65
60
65
60
65
65
65
65
72
77
72
72
87
72
72
72
87
77
72
72
72
77
84
84
89
84
89
89
84
84
79
84
84
84
84
89
99
89
99
89
79
84
89
96
91
96
96
91
96
91
101
91
91
101
96
91
91
101
91
96
91
113
118
103
103
113
103
103
98
113
103
108
108
103
108
108
103
103
103
125
115
125
115
110
110
125
115
110
110
110
115
110
110
115
115
132
127
127
137
127
127
122
122
132
122
122
122
127
122
122
122
137
132
122
122
122
122
134
134
134
134
134
134
139
139
134
134
134
141
146
146
141
156
151
146
141
171
168
153
153
173
153
168
158
168
168
163
168
163
173
158
158
168
163
153
165
175
175
170
180
170
170
180
170
170
185
192
182
177
172
172
172
172
192
192
182
177
182
182
184
199
194
184
184
184
199
189
184
199
194
209
194
209
199
194
199
191
191
191
196
196
196
196
191
206
216
208
203
213
208
208
208
208
208
213
213
208
228
203
243
218
218
233
218
215
215
215
215
215
215
225
235
245
230
262
257
227
242
242
222
227
252
227
222
227
252
242
242
247
234
234
234
234
239
234
249
259
249
254
239
264
264
246
246
246
246
246
246
261
246
271
283
273
283
253
283
283
268
258
253
278
265
265
265
265
275
265
290
270
290
290
297
297
292
302
277
302
302
277
277
314
319
304
314
299
316
316
336
301
321
336
324
301
328
313
338
338
313
348
313
335
335
325
350
325
362
367
362
327
337
332
332
357
337
339
339
344
384
354
384
386
371
346
356
383
383
383
388
383
358
358
393
368
363
393
405
405
390
380
410
412
402
382
424
434
419
414
429
414
444
424
399
461
461
441
431
461
426
426
446
443
443
458
475
455
465
462
462
462
462
462
492
486
496
493
518
505
505
542
517
517
512
529
529
529
529
566
536
565
570
592
567
577
577
567
619
594
594
619
619
574
594
574
579
601
601
586
586
601
638
645
632
659
629
676
668
653
705
717
717
722
717
715
732
704
718
735
749
785
795
780
822
858
858
858
828
902
842
852
869
928
945
925
892
995
1021
1021
1108
1129
1129
1136
1118
1196
1196
1168
1215
1282
1294
1294
1328
1333
1364
1361
1361
1419
1440
1611
1764
1886
1980
2020
2147
2796
2911
1
8
8
8
8
20
20
20
20
20
20
15
15
27
27
27
32
27
32
27
27
27
27
27
32
27
27
27
27
32
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
41
46
41
41
41
41
46
41
46
41
51
48
48
48
53
53
48
48
53
53
53
48
48
58
53
48
48
48
53
53
48
48
53
53
53
53
60
65
65
60
60
60
60
65
65
60
65
65
65
75
67
67
77
72
72
67
67
77
72
72
77
84
79
84
99
79
79
84
96
91
101
96
91
91
91
96
91
96
91
111
111
91
113
103
108
108
113
103
98
113
103
108
98
98
98
98
103
125
125
125
115
110
125
110
115
115
110
115
115
115
110
110
110
110
110
137
127
127
122
122
137
127
122
122
144
149
139
134
129
129
144
134
129
129
134
129
129
129
139
134
134
141
141
141
141
141
141
146
146
141
141
158
153
163
158
153
183
180
160
160
165
175
170
180
180
170
180
170
165
165
180
170
165
172
172
172
187
187
177
192
182
182
192
182
182
197
184
199
179
179
184
199
184
199
189
189
201
191
191
191
191
191
206
216
201
216
211
201
206
203
203
213
228
228
215
215
215
220
220
220
220
225
215
255
230
230
225
227
222
222
222
222
237
222
242
252
237
274
269
234
234
234
234
239
254
234
249
239
264
234
239
239
264
254
254
259
246
246
246
271
256
246
276
276
253
253
253
253
253
253
273
258
283
280
265
265
265
295
270
275
285
275
277
277
287
302
277
302
302
309
309
309
289
314
321
326
311
321
311
328
328
338
333
348
331
313
340
350
350
320
360
325
347
347
332
362
374
379
374
349
369
349
346
351
346
351
396
381
356
396
393
378
390
395
395
400
390
365
405
375
417
412
387
422
409
394
436
446
431
441
456
431
411
473
473
448
443
473
433
433
458
455
460
455
465
487
467
474
474
474
474
474
504
498
508
500
530
554
524
524
541
541
541
541
578
543
577
604
574
589
574
631
606
606
631
631
601
586
608
613
608
593
593
613
650
657
644
671
636
688
675
660
717
729
729
734
729
727
744
716
730
747
797
807
787
834
870
870
870
835
914
849
859
881
940
957
937
1007
1033
1033
1120
1141
1141
1148
1125
1208
1208
1227
1294
1306
1306
1340
1345
1376
1373
1373
1431
1452
1623
1776
1898
1992
2032
2159
2808
2923
1
1
1
1
13
32
32
32
44
44
44
44
53
53
53
53
60
60
65
65
65
65
65
70
60
60
65
65
65
65
65
65
72
77
72
72
72
72
77
72
77
77
84
89
84
89
96
96
111
108
108
103
103
108
108
123
123
115
120
115
120
115
137
137
127
137
122
122
149
139
139
149
139
156
161
151
141
156
141
153
153
158
170
165
165
195
192
177
182
192
192
192
177
192
177
184
184
199
199
204
194
194
204
194
194
203
218
223
240
240
215
215
227
237
267
242
242
237
239
249
286
246
246
246
246
251
266
251
276
251
251
276
266
266
271
283
288
265
265
285
270
295
307
282
289
289
299
314
314
314
321
321
301
326
323
340
340
350
345
360
325
352
362
362
372
337
359
359
374
386
391
386
361
381
361
363
408
408
407
407
412
417
434
429
406
448
443
453
468
423
485
485
455
485
470
467
472
467
499
479
486
486
486
486
486
516
510
520
542
566
553
553
553
553
590
589
616
601
643
618
618
643
643
625
625
662
669
656
683
700
729
741
741
746
741
739
756
728
742
759
809
819
846
882
882
882
926
893
952
969
949
1019
1045
1045
1132
1153
1153
1160
1220
1220
1239
1306
1318
1318
1352
1357
1388
1385
1385
1443
1464
1635
1788
1910
2004
2044
2171
2820
2935
