0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
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
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
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
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
1
1
1
255
1
1
1
0
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
1
1
1
1
1
1
215
215
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
1
1
1
254
254
1
1
0
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
1
1
1
1
1
1
214
214
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
253
1
1
1
1
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
1
1
1
1
253
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
1
1
1
1
1
1
1
1
1
213
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
252
1
1
1
1
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
1
1
1
1
252
252
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
1
1
1
1
1
1
1
1
212
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
251
251
1
1
1
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
1
1
1
251
251
251
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
1
1
1
1
1
1
1
1
211
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
250
250
250
250
1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
1
1
250
250
250
250
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
1
1
1
1
1
1
210
210
210
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
250
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
1
1
1
1
1
209
209
209
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
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
1
1
1
1
1
1
1
1
208
208
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
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
1
1
1
1
1
1
1
1
207
207
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
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
1
1
1
1
1
1
1
1
1
206
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
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
1
1
1
1
1
1
1
1
1
1
205
205
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
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
1
1
1
1
1
1
1
1
1
1
204
204
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
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
1
1
1
1
1
1
1
1
1
1
203
203
1
1
1
1
1
1
1
1
1
1
1
1
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
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
1
1
1
1
1
1
1
1
1
1
202
202
202
1
1
1
1
1
1
1
0
0
1
1
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
1
1
1
1
1
1
1
0
0
0
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
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
1
1
0
0
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
1
1
1
1
1
201
201
201
201
201
1
1
1
1
1
0
0
0
1
1
1
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
1
1
1
1
1
1
1
0
0
0
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
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
1
1
1
0
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
1
1
1
1
1
200
200
200
200
200
1
1
1
1
1
0
0
0
1
1
1
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
1
1
1
1
0
0
0
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
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
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
1
1
1
1
1
1
1
1
1
199
199
199
1
1
1
1
1
1
1
0
0
1
1
1
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
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
1
1
1
1
1
1
1
1
1
198
198
1
1
1
1
1
1
1
1
1
1
1
1
1
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
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
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
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
1
1
1
1
1
1
1
1
197
197
1
1
1
1
1
1
1
1
1
1
1
1
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
1
1
1
1
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
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
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
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
1
1
1
1
1
1
1
1
196
196
1
1
1
1
1
1
1
1
1
1
1
1
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
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
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
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
1
1
1
1
1
1
1
195
1
1
1
1
1
1
1
1
1
1
1
1
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
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
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
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
1
1
1
1
1
1
194
194
1
1
1
1
1
1
1
1
1
1
1
1
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
1
1
0
0
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
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
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
1
1
1
1
1
1
193
193
1
1
0
0
1
1
1
1
1
1
1
1
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
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
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
1
1
1
0
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
192
192
192
1
1
0
0
1
1
1
1
1
1
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
395
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
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
1
1
1
191
191
191
1
1
1
0
1
1
1
1
1
1
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
394
395
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
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
1
1
1
1
190
190
1
1
1
1
1
1
1
1
1
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
393
394
395
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
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
1
1
1
189
189
1
1
1
1
1
1
1
1
1
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
392
393
394
395
396
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
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
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
1
1
1
188
188
1
1
1
1
1
1
1
1
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
391
392
393
394
395
396
397
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
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
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
1
1
187
187
187
1
1
1
1
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
390
391
392
393
394
395
396
397
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
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
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
1
1
186
186
186
1
1
1
1
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
389
390
391
392
393
394
395
396
397
398
399
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
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
227
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
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
1
1
185
185
185
1
1
1
1
1
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
388
389
390
391
392
393
394
395
396
397
398
399
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
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
226
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
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
1
1
184
184
184
1
1
1
1
1
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
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
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
226
225
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
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
1
1
183
183
183
1
1
1
1
1
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
27
27
27
27
27
27
27
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
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
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
225
224
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
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
1
1
1
182
182
182
1
1
1
1
1
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
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
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
224
223
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
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
1
1
1
1
181
181
1
1
1
1
1
1
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
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
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
224
223
222
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
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
1
1
1
1
180
180
1
1
1
1
1
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
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
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
223
222
221
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
1
1
1
0
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
1
179
179
1
1
1
1
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
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
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
223
222
221
220
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
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
1
1
1
1
178
178
179
1
1
1
1
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
223
222
221
220
219
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
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
1
1
1
1
177
178
179
1
1
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
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
1
256
256
1
1
0
0
1
1
1
1
1
1
1
1
1
222
221
220
219
218
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
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
1
1
176
176
176
1
1
1
1
1
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
20
20
20
20
20
20
20
20
20
20
20
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
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
255
255
1
1
1
0
1
1
1
1
1
1
1
1
1
222
221
220
219
218
217
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
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
1
1
175
175
175
1
1
1
1
1
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
382
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
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
1
254
1
1
1
1
1
1
1
1
1
1
1
1
1
1
221
220
219
218
217
216
215
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
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
1
1
1
174
174
174
1
1
1
1
1
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
397
1
1
394
393
392
391
390
389
1
1
386
385
384
383
383
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
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
1
1
253
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
220
219
218
217
216
215
214
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
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
1
1
1
173
173
1
1
1
1
1
1
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
1
1
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
398
398
1
1
1
393
392
391
390
390
1
1
1
385
384
384
1
1
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
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
1
1
252
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
220
219
218
217
216
215
214
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
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
1
1
1
1
172
172
1
1
1
1
1
19
18
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
1
1
1
1
49
50
51
52
53
1
1
1
1
58
59
60
61
1
1
1
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
399
399
1
1
1
1
393
392
391
391
1
1
1
1
385
385
385
1
1
1
1
1
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
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
1
251
251
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
219
218
217
216
215
214
213
212
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
1
1
0
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
1
171
171
1
1
1
1
20
19
18
17
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
1
1
1
1
50
50
51
52
1
1
1
1
1
59
59
1
1
1
1
1
66
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
400
400
1
1
1
1
1
1
392
392
1
1
1
1
1
1
386
386
1
1
1
1
1
1
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
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
250
250
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
219
218
217
216
215
214
213
212
211
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
1
1
1
0
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
170
170
171
1
1
1
1
20
19
18
17
16
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
1
1
1
1
1
51
51
1
1
1
1
1
1
60
60
1
1
1
1
1
67
67
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
401
401
401
1
1
1
1
1
1
393
393
1
1
1
1
1
1
387
387
1
1
1
1
1
1
373
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
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
249
249
249
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
219
218
217
216
215
214
213
212
211
210
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
1
1
0
0
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
169
170
171
1
1
22
21
20
19
18
17
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
1
1
1
1
1
52
52
1
1
1
1
1
1
61
61
1
1
1
1
1
1
68
68
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
402
402
402
1
1
1
1
1
1
1
394
394
1
1
1
1
1
1
388
388
1
1
1
1
1
1
1
1
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
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
248
248
1
1
1
248
1
1
1
0
1
1
1
1
1
1
1
1
219
218
217
216
215
214
213
212
211
210
209
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
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
1
1
168
168
168
1
1
1
1
1
22
21
20
19
18
17
16
15
14
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
62
62
1
1
1
1
1
1
1
1
69
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
403
403
403
403
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
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
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
247
247
1
1
1
247
1
1
1
0
1
1
1
1
1
1
1
1
1
218
217
216
215
214
213
212
211
210
209
208
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
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
1
1
167
167
167
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
70
70
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
404
404
404
404
404
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
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
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
246
246
1
1
1
246
246
1
1
0
1
1
1
1
1
1
1
1
1
218
217
216
215
214
213
212
211
210
209
208
207
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
208
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
1
1
166
166
166
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
71
71
71
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
405
405
405
405
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
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
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
245
245
1
1
1
245
245
1
1
1
1
1
1
1
1
1
1
1
1
1
217
216
215
214
213
212
211
210
209
208
207
206
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
207
1
1
1
1
1
1
1
1
1
1
1
1
1
165
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
165
165
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
72
72
72
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
406
406
406
406
406
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
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
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
244
244
244
244
244
244
244
244
1
1
1
1
1
1
1
1
1
1
1
1
217
216
215
214
213
212
211
210
209
208
207
206
205
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
205
206
207
1
1
1
1
1
1
1
1
1
1
1
1
1
164
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
164
164
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
73
73
73
73
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
407
407
407
407
407
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
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
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
243
243
243
243
243
243
243
243
1
1
1
1
1
1
1
1
1
1
1
1
1
216
215
214
213
212
211
210
209
208
207
206
205
204
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
204
205
206
1
1
1
1
1
1
1
1
1
1
1
1
163
163
163
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
163
163
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
74
74
74
74
74
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
1
1
1
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
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
242
242
242
242
242
242
242
242
1
1
1
1
1
1
1
1
1
1
1
1
1
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
203
204
205
1
1
1
1
1
1
1
1
1
1
1
1
1
162
162
162
162
163
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
162
162
163
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
1
1
1
1
1
1
1
1
67
67
67
1
1
1
1
1
67
67
67
1
1
1
1
1
1
1
1
1
75
75
75
75
75
75
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
1
364
364
364
1
1
1
1
1
364
364
364
1
1
1
1
364
364
364
1
1
1
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
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
241
241
241
241
241
241
241
241
241
1
1
1
1
1
1
1
1
1
1
1
1
1
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
202
203
204
205
1
1
1
0
1
1
1
1
1
1
1
1
161
161
161
161
162
163
164
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
161
162
163
1
1
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
1
1
1
1
1
1
1
1
66
66
66
1
1
1
1
1
66
66
66
1
1
1
1
66
66
66
1
1
1
76
76
76
76
76
76
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
410
410
410
410
1
1
1
1
1
1
1
1
1
1
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
1
1
1
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
252
1
1
1
1
1
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
1
1
0
0
1
1
1
1
1
1
1
1
1
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
203
204
1
1
1
1
1
1
1
1
1
1
1
1
1
160
160
160
161
1
1
1
1
1
1
1
1
1
1
1
160
1
1
1
1
1
1
1
160
160
161
162
163
1
1
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
4
4
4
4
4
4
4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
1
1
1
1
1
1
1
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
67
1
1
1
77
77
77
77
77
77
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
411
411
411
411
411
1
1
1
1
1
1
1
1
1
1
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
1
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
258
1
1
1
1
1
1
251
251
1
1
1
1
1
1
241
240
239
239
239
239
239
239
239
239
239
239
239
239
239
1
1
0
1
1
1
1
1
1
1
1
1
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
201
202
203
204
1
1
1
1
1
1
1
1
1
1
1
1
1
159
159
160
1
1
1
1
1
1
1
1
1
1
1
159
159
1
1
1
1
1
1
1
159
1
1
1
163
1
1
1
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
3
3
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
1
1
1
1
1
1
1
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
66
67
68
1
1
1
78
78
78
78
78
78
78
79
80
81
82
83
84
1
1
1
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
1
1
1
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
1
1
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
257
257
1
1
1
1
1
250
250
250
1
1
1
1
1
241
240
239
238
238
238
238
238
238
238
238
238
238
238
238
1
1
0
1
1
1
1
1
1
1
1
1
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
199
200
201
202
203
1
1
1
1
1
1
1
1
1
1
1
1
1
1
158
1
1
1
1
1
1
1
158
1
1
1
1
1
158
158
158
1
1
1
1
1
1
158
1
1
1
164
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
1
1
1
1
1
1
1
1
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
64
65
66
67
68
1
1
1
79
79
79
79
79
79
79
79
80
81
82
83
84
1
1
1
89
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
1
1
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
1
1
1
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
1
1
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
257
256
256
1
1
1
1
1
249
249
249
1
1
1
1
1
241
240
239
238
237
237
237
237
237
237
237
237
237
237
237
1
1
1
1
1
1
1
1
1
1
1
1
1
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
198
199
200
201
202
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
157
1
1
1
1
1
1
1
157
1
1
1
1
157
157
157
157
157
1
1
1
1
157
157
1
1
1
1
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
1
1
1
1
1
1
1
1
1
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
65
66
67
68
69
1
1
1
80
80
80
80
80
1
1
80
81
82
83
1
1
1
1
90
90
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
1
1
1
425
424
423
422
1
1
1
1
417
416
415
414
414
1
1
1
414
414
414
1
1
1
1
1
1
1
1
1
1
1
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
1
1
1
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
257
256
255
255
1
1
1
250
249
248
248
1
1
1
1
242
241
240
239
238
237
236
236
236
236
236
236
236
236
236
236
236
1
1
1
1
1
1
1
1
1
1
1
1
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
198
199
200
201
202
1
1
1
1
1
1
1
1
1
1
1
1
1
1
156
1
1
1
1
1
1
1
1
156
156
1
1
1
156
156
156
156
156
1
1
1
156
156
156
1
1
1
1
1
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
1
1
1
1
1
1
1
1
1
1
61
61
61
61
61
61
61
61
61
61
61
62
63
64
65
66
67
68
69
1
1
1
81
81
81
81
81
1
1
1
81
82
83
1
1
1
1
1
91
91
91
92
93
1
1
1
1
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
1
1
1
1
425
424
423
1
1
1
1
1
417
416
415
1
1
1
1
1
415
415
415
415
1
1
1
1
1
1
1
1
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
1
1
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
258
257
256
255
254
1
1
251
250
249
248
247
1
1
1
243
242
241
240
239
238
237
236
235
235
235
235
235
235
235
235
235
235
1
1
1
1
1
1
1
1
1
1
1
1
1
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
196
197
198
199
200
201
1
1
1
0
1
1
1
1
1
1
1
1
1
1
155
155
1
1
1
1
1
1
1
1
155
155
1
1
155
155
155
155
155
155
1
1
1
155
155
155
1
1
1
155
155
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
1
1
1
1
1
1
1
1
1
1
60
60
60
60
60
60
60
60
60
61
62
63
64
65
66
67
68
69
70
1
1
1
82
82
82
1
1
1
1
82
82
83
1
1
1
1
1
92
92
92
1
1
1
1
1
1
99
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
1
1
1
1
1
1
424
424
1
1
1
1
1
1
416
416
1
1
1
1
1
1
416
416
416
1
1
1
1
1
1
1
1
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
1
1
1
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
1
1
243
242
241
240
239
238
237
236
235
234
234
234
234
234
234
234
234
234
234
1
1
1
1
1
1
1
1
1
1
1
1
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
196
197
198
199
200
201
1
1
1
1
1
1
1
1
1
1
1
1
1
1
154
154
1
1
1
1
1
1
1
1
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
1
1
154
154
155
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1
1
1
1
1
1
1
1
1
59
59
59
59
59
59
59
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
83
83
1
1
1
1
1
83
83
83
1
1
1
1
1
1
93
93
1
1
1
1
1
1
100
100
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
433
433
1
1
1
1
1
1
425
425
1
1
1
1
1
1
417
417
1
1
1
1
1
1
417
417
1
1
1
1
1
1
1
1
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
1
1
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
233
233
233
233
233
233
233
233
1
1
1
1
1
1
1
1
1
1
1
1
1
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
195
196
197
198
199
200
201
1
1
1
1
1
1
1
1
1
1
1
1
1
154
153
153
153
153
1
1
1
1
1
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
155
1
1
1
1
1
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
3
3
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1
1
1
1
1
1
1
1
58
58
58
58
58
58
58
59
60
61
62
63
64
65
66
67
68
69
70
1
1
1
84
84
1
1
1
1
1
1
84
84
1
1
1
1
1
1
94
94
1
1
1
1
1
1
101
101
101
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
434
1
1
1
1
1
1
1
1
426
426
1
1
1
1
1
1
418
418
1
1
1
1
1
1
418
418
1
1
1
1
1
1
1
1
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
1
1
1
355
355
355
355
355
355
355
355
355
355
355
355
355
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
232
232
232
232
232
232
232
232
1
1
0
0
1
1
1
1
1
1
1
1
1
210
209
208
1
1
1
1
1
202
201
200
199
198
197
196
195
194
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
1
1
1
1
1
198
199
200
1
1
1
1
1
1
1
1
1
1
1
1
1
155
154
153
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
153
154
155
1
1
1
1
1
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
4
4
4
4
4
4
4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
1
1
1
1
1
1
1
57
57
57
57
57
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
1
85
85
1
1
1
1
1
1
85
85
1
1
1
1
1
1
95
95
1
1
1
1
1
1
1
1
102
102
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
435
435
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
1
355
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
1
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
231
231
231
231
231
231
231
231
1
1
0
1
1
1
1
1
1
1
1
1
210
209
209
1
1
1
1
1
1
201
200
199
198
197
196
195
194
193
192
191
191
191
191
191
191
191
191
191
191
191
191
191
191
1
1
1
1
1
1
1
199
200
1
1
1
1
1
1
1
1
1
1
1
1
156
155
154
153
152
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
1
1
154
155
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
1
1
1
1
1
1
56
56
56
56
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
103
103
103
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
436
436
436
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
356
355
354
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
1
1
353
353
353
353
353
353
353
353
353
353
353
353
353
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
230
230
230
230
230
230
230
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
201
200
199
198
197
196
195
194
193
192
191
190
190
190
190
190
190
190
190
190
190
190
190
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
156
155
154
153
152
151
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
1
1
1
1
155
1
1
1
1
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
1
1
1
1
1
55
55
55
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
104
104
104
104
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
437
437
437
437
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
356
355
354
353
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
1
1
352
352
352
352
352
352
352
352
352
352
352
352
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
229
229
229
229
229
229
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
200
199
198
197
196
195
194
193
192
191
190
189
189
189
189
189
189
189
189
189
189
189
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
157
156
155
154
153
152
151
150
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
1
1
1
1
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
1
1
1
1
54
54
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
105
105
105
105
105
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
438
438
438
438
438
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
357
356
355
354
353
352
351
351
351
351
351
351
351
351
351
351
351
351
351
1
1
1
351
351
351
351
351
351
351
351
351
351
351
351
1
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
228
228
228
228
228
228
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
188
188
188
188
188
188
188
188
188
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
157
156
155
154
153
152
151
150
149
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
1
1
1
1
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
1
1
1
53
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
106
106
106
106
106
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
439
439
439
439
439
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
357
356
355
354
353
352
351
350
350
350
350
350
350
350
350
350
350
350
350
1
1
350
350
350
350
350
350
350
350
350
350
350
350
1
1
354
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
1
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
227
227
227
227
227
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
187
187
187
187
187
187
187
187
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
158
157
156
155
154
153
152
151
150
149
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
1
1
1
147
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
1
1
1
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
107
107
107
107
107
107
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
440
440
440
440
440
440
1
1
1
1
1
1
1
1
1
381
381
1
1
1
1
1
374
373
373
1
1
1
1
1
366
365
365
1
1
1
1
1
358
357
356
355
354
353
352
351
350
349
349
349
349
349
349
349
349
349
349
1
1
1
349
349
349
349
349
349
349
349
349
349
349
1
1
1
355
355
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
226
226
226
226
226
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
187
186
186
186
186
186
186
186
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
158
157
156
155
154
153
152
151
150
149
148
147
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
1
146
146
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
1
1
1
1
1
1
1
82
82
83
1
1
1
1
1
90
90
91
1
1
1
1
1
1
1
1
1
108
108
108
108
108
108
108
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
441
441
441
441
441
441
1
1
1
1
1
1
1
1
1
1
381
380
1
1
1
1
1
374
373
372
1
1
1
1
1
366
365
364
1
1
1
1
359
358
357
356
355
354
353
352
351
350
349
348
348
348
348
348
348
348
348
348
1
1
348
348
348
348
348
348
348
348
348
348
348
1
1
1
1
1
356
356
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
1
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
225
225
225
225
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
185
185
185
185
185
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
158
157
156
155
154
153
152
151
150
149
148
147
146
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
1
1
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
1
1
1
1
1
1
81
82
83
1
1
1
1
1
89
90
91
1
1
1
1
1
1
1
1
1
1
109
109
109
109
109
109
109
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
442
442
442
442
442
1
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
1
1
1
1
1
357
357
357
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
1
1
1
1
1
1
1
1
1
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
224
224
224
224
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
184
184
184
184
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
1
1
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
1
1
1
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
1
1
1
110
110
110
110
110
110
110
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
443
443
443
443
443
443
1
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
1
1
1
1
1
1
358
358
358
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1
1
1
1
1
1
1
1
1
1
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
223
223
223
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
183
183
183
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
1
1
1
25
24
23
22
21
20
19
18
17
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
1
1
1
1
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
1
1
1
111
111
111
111
111
111
111
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
444
444
444
444
444
444
444
1
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
1
1
1
1
1
1
1
359
359
359
359
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
1
1
1
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
222
222
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
182
182
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
1
1
1
1
24
23
22
21
20
19
18
17
16
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
1
1
1
1
1
1
1
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
1
1
1
112
112
112
112
112
112
112
112
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
445
445
445
445
445
445
445
445
1
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
1
1
1
1
1
1
1
1
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
1
1
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
221
221
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
181
181
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
142
141
141
1
1
1
1
24
23
22
21
20
19
18
17
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
1
1
1
1
1
1
1
39
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
1
1
1
113
113
113
113
113
113
113
113
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
446
446
446
446
446
446
446
446
446
1
1
1
1
1
1
1
1
1
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
1
1
1
1
1
1
1
1
1
361
361
361
361
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
1
1
1
1
1
1
1
1
1
1
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
220
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
180
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
140
140
140
140
140
140
140
140
140
140
140
140
1
1
1
140
1
1
1
1
1
23
22
21
20
19
18
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
18
19
20
21
22
23
24
25
26
27
28
1
1
1
1
1
1
1
1
1
40
40
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
1
1
1
114
114
114
114
114
114
114
114
114
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
447
447
447
447
447
447
447
447
447
1
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
342
342
342
342
342
342
342
342
342
342
342
342
342
1
1
1
1
1
1
1
1
1
1
362
362
362
362
362
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
1
1
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
139
139
139
139
139
139
139
139
139
139
139
1
1
1
139
139
1
1
1
1
23
22
21
20
19
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
19
20
21
22
23
24
25
26
27
28
1
1
1
1
1
1
1
1
1
1
41
41
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
1
1
1
115
115
115
115
115
115
115
115
115
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
448
448
448
448
448
448
448
448
448
448
1
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
341
341
341
341
341
341
341
341
341
341
341
1
1
1
1
1
1
1
1
1
1
1
363
363
363
363
363
363
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
1
1
1
1
1
1
1
210
209
209
1
1
1
1
1
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
1
1
1
1
1
1
1
170
169
169
1
1
1
1
1
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
138
138
138
138
138
138
138
138
138
138
1
1
1
138
138
1
1
1
1
23
22
21
20
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
20
21
22
23
24
25
26
27
1
1
1
1
1
1
1
1
1
1
1
1
42
42
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
1
1
1
116
116
116
116
116
116
116
116
116
116
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
449
449
449
449
449
449
449
449
449
449
1
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
340
340
340
340
340
340
340
340
340
1
1
1
1
1
1
1
1
1
1
1
1
1
364
364
364
364
364
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
1
1
1
1
1
1
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
1
1
1
1
1
1
210
209
208
1
1
1
1
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
1
1
1
1
1
1
170
169
168
1
1
1
1
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
137
137
137
137
137
137
137
137
137
1
1
1
137
137
1
1
1
1
1
22
21
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
22
23
24
25
26
27
1
1
1
1
1
1
1
1
1
1
1
1
1
1
43
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
1
1
1
117
117
117
117
117
117
117
117
117
117
117
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
450
450
450
450
450
450
450
450
450
450
1
1
1
1
1
1
1
1
1
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
339
339
339
339
339
339
339
339
1
1
1
1
1
336
336
336
336
336
336
1
1
365
365
365
365
365
365
365
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
1
1
1
1
1
1
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
136
136
136
136
136
136
136
136
136
136
136
136
1
1
1
136
1
1
1
1
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
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
22
23
24
25
1
1
1
1
1
1
1
1
1
1
56
56
1
1
1
1
44
44
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
118
118
118
118
118
118
118
118
118
118
118
118
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
451
451
451
451
451
451
451
451
451
451
451
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
338
338
338
338
338
338
338
1
1
1
1
335
335
335
335
335
335
335
1
1
1
366
366
366
366
366
366
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
1
1
1
1
1
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
135
135
135
135
135
135
135
135
135
135
135
1
1
1
135
1
1
1
1
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
24
25
1
1
1
1
1
1
1
1
1
1
56
55
55
1
1
1
1
45
45
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
452
452
452
452
452
452
452
452
452
452
452
1
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
337
337
337
337
337
1
1
1
1
1
334
334
334
334
334
334
334
1
1
1
1
367
367
367
367
367
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
1
1
1
1
1
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
134
134
134
134
134
134
134
134
134
134
1
1
1
134
1
1
1
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
1
1
1
1
1
1
1
1
1
1
1
56
55
54
54
1
1
1
1
46
46
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
120
120
120
120
120
120
120
120
120
120
120
120
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
453
453
453
453
453
453
453
453
453
453
453
453
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
336
336
336
337
1
1
1
1
1
333
333
333
333
333
333
333
1
1
1
1
368
368
368
368
368
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
1
1
1
1
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
133
133
133
133
133
133
133
133
133
1
1
1
133
133
1
1
1
1
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
1
1
1
1
1
1
1
1
1
1
1
57
56
55
54
53
53
1
1
1
47
47
47
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
454
454
454
454
454
454
454
454
454
454
454
454
1
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
335
1
1
1
1
332
332
332
332
332
332
332
332
332
332
1
1
1
1
1
369
369
369
369
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
1
1
1
1
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
132
132
132
132
132
132
132
132
132
132
132
132
132
1
1
1
1
1
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
1
1
1
1
1
1
1
1
1
1
1
57
56
55
54
53
52
1
1
1
48
48
48
48
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
1
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
455
455
455
455
455
455
455
455
455
455
455
455
455
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
1
1
1
1
331
331
331
331
331
331
331
331
331
331
331
1
1
1
1
370
370
370
370
370
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
1
1
1
1
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
131
131
131
131
131
131
131
131
131
131
131
131
131
1
1
1
1
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
1
1
1
1
1
1
1
1
59
58
57
56
55
54
53
52
51
1
49
49
49
49
49
49
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
456
456
456
456
456
456
456
456
456
456
456
456
456
1
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
1
330
330
330
330
330
330
330
330
330
330
330
330
1
1
1
1
371
371
371
371
371
371
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
1
1
1
1
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
1
1
1
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
1
1
1
1
1
1
1
1
59
58
57
56
55
54
53
52
51
50
50
50
50
50
50
50
50
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
329
329
329
329
329
329
329
329
329
329
1
1
1
1
1
372
372
372
372
372
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
1
1
1
1
1
1
1
1
1
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
129
129
129
129
129
129
129
129
129
129
129
130
1
1
1
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
27
27
27
27
27
27
27
27
1
1
1
1
1
1
1
1
60
59
58
57
56
55
54
53
52
51
51
51
51
51
51
51
51
51
51
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
1
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
328
328
328
328
328
328
328
328
328
328
328
328
1
1
1
373
373
373
373
373
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
1
1
1
1
1
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
128
128
128
128
128
128
128
128
128
1
1
1
1
1
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
1
1
1
1
1
1
1
1
1
1
60
59
58
57
56
55
54
53
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
327
327
327
327
327
327
327
327
327
327
327
327
1
1
1
374
374
374
374
374
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
1
1
1
1
1
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
127
127
127
127
127
127
127
1
1
1
1
127
1
1
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
1
1
1
1
1
1
1
1
1
1
60
59
58
57
56
55
54
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
326
326
326
326
326
326
326
326
326
326
326
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
1
1
1
1
1
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
126
126
126
126
126
126
1
1
1
1
126
1
1
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
1
1
1
1
1
1
1
1
1
1
1
60
59
58
57
56
55
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
325
325
325
325
325
325
325
325
325
325
325
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
1
1
1
1
1
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
125
125
125
125
125
1
1
1
125
125
1
1
1
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
1
1
1
1
1
1
1
1
1
1
1
61
60
59
58
57
56
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
1
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
324
324
324
324
324
324
324
324
324
324
1
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
1
1
1
1
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
124
124
124
124
124
124
124
124
124
124
1
1
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
1
1
1
1
1
1
1
1
1
1
1
61
60
59
58
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
1
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
1
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
323
323
323
323
323
323
323
323
323
323
1
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
1
1
1
1
1
1
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
123
123
123
123
123
123
123
123
123
1
1
1
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
1
1
1
1
1
1
1
1
63
62
61
60
59
58
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
1
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
1
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
322
322
322
322
322
322
322
322
322
1
1
1
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
1
1
1
1
1
1
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
122
122
122
122
122
122
122
122
122
1
1
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
1
1
1
1
1
1
1
1
63
62
61
60
59
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
1
1
1
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
1
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
321
321
321
321
321
321
321
321
1
1
1
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
1
1
1
1
1
1
1
1
1
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
121
121
121
121
121
121
121
121
1
1
1
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
1
1
1
1
1
1
1
1
64
63
62
61
60
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
1
1
1
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
1
1
1
1
1
1
1
1
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
320
320
320
320
320
320
320
320
1
1
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
1
1
1
1
1
1
1
1
1
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
120
120
120
120
120
120
120
120
1
1
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
1
1
1
1
1
1
1
1
1
1
64
63
62
61
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
60
60
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
1
1
1
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
1
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
319
319
319
319
319
319
319
319
1
1
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
1
1
1
1
1
1
1
1
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
119
119
119
119
119
119
119
1
1
1
37
37
37
37
37
37
37
1
1
37
37
37
37
37
37
37
37
37
37
37
37
37
37
1
1
37
37
37
37
37
37
1
1
1
1
1
1
1
1
1
1
64
63
62
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
318
318
318
318
318
318
318
1
1
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
1
1
1
1
1
1
1
1
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
118
118
118
118
118
118
1
1
1
1
38
38
38
38
38
38
1
1
38
38
38
38
38
38
38
38
38
38
38
38
38
38
1
1
38
38
38
38
38
38
1
1
1
1
1
1
1
1
1
1
64
63
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
317
317
317
317
317
317
1
1
1
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
384
385
386
387
388
389
390
391
392
393
394
395
396
397
1
1
1
1
1
1
1
1
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
117
117
117
117
117
1
1
1
1
39
39
39
39
39
1
1
1
39
39
39
39
39
39
39
39
39
39
39
39
39
1
1
1
39
39
39
39
39
39
1
1
1
1
1
1
1
1
1
1
64
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
316
316
316
316
316
316
1
1
385
385
385
385
385
385
1
1
1
385
385
385
385
385
1
1
1
1
386
387
388
389
1
1
1
393
394
395
396
397
1
1
1
1
1
1
1
1
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
116
116
116
116
1
1
1
1
1
40
40
40
1
1
1
1
1
40
40
40
40
40
1
1
1
40
40
40
1
1
1
1
1
40
40
40
40
40
1
1
1
1
1
1
1
1
1
65
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
1
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
315
315
315
315
315
1
1
1
386
386
386
1
1
1
1
1
386
386
386
386
1
1
1
1
1
387
387
1
1
1
1
1
394
394
395
396
1
1
1
1
1
1
1
1
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
115
115
115
115
1
1
1
1
41
41
41
1
1
1
1
1
41
41
41
1
1
1
1
1
41
41
41
1
1
1
1
1
41
41
41
41
1
1
1
1
1
1
1
1
1
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
140
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
314
314
314
314
314
1
1
387
387
387
1
1
1
1
1
387
387
387
1
1
1
1
1
1
388
388
1
1
1
1
1
1
395
395
396
1
1
1
1
1
1
1
1
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
114
114
114
1
1
1
1
42
42
42
1
1
1
1
1
1
42
42
1
1
1
1
1
1
42
42
1
1
1
1
1
42
42
42
42
1
1
1
1
1
1
1
1
1
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
313
313
313
313
1
1
1
388
388
1
1
1
1
1
1
388
388
1
1
1
1
1
1
389
389
1
1
1
1
1
1
396
396
1
1
1
1
1
1
1
1
1
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
113
113
1
1
1
1
1
43
43
1
1
1
1
1
1
43
43
1
1
1
1
1
1
43
43
1
1
1
1
1
1
43
43
1
1
1
1
1
1
1
1
1
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
312
312
312
312
1
1
389
389
1
1
1
1
1
1
389
389
1
1
1
1
1
1
390
390
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
112
112
112
112
1
1
44
44
1
1
1
1
1
1
44
44
1
1
1
1
1
1
1
1
1
1
1
1
1
1
44
44
1
1
1
1
1
1
1
1
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
311
311
311
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
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
111
111
111
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
1
1
1
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
476
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
310
310
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
1
1
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
110
110
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
1
1
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
477
1
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
309
309
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
1
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
109
109
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
1
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
478
1
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
308
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
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
108
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
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
479
1
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
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
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
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
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
480
1
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
1
1
1
1
1
1
1
298
297
297
1
1
1
1
1
290
289
289
1
1
1
1
1
282
281
281
1
1
1
1
1
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
1
1
1
1
1
1
1
98
97
97
1
1
1
1
1
90
89
89
1
1
1
1
1
82
81
81
1
1
1
1
1
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
1
1
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
481
1
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
1
1
1
1
1
1
298
297
296
1
1
1
1
1
290
289
288
1
1
1
1
1
282
281
280
1
1
1
1
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
1
1
1
1
1
1
98
97
96
1
1
1
1
1
90
89
88
1
1
1
1
1
82
81
80
1
1
1
1
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
1
1
1
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
1
1
1
1
1
1
1
1
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
1
1
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
1
1
1
87
86
85
84
83
82
81
80
79
78
77
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
1
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
1
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
1
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
1
1
1
1
87
86
85
84
83
82
81
80
79
78
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
152
153
154
155
1
1
1
1
0
489
488
487
486
485
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
1
1
1
1
1
1
1
1
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
1
1
1
1
285
284
283
282
1
1
1
1
277
277
1
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
1
1
1
1
101
100
99
98
1
1
1
1
93
93
1
1
1
1
87
86
85
84
83
82
81
80
79
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
1
1
1
1
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
153
154
155
1
1
1
1
0
489
488
487
486
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
485
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
1
1
1
1
1
285
284
283
1
1
1
1
1
277
277
1
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
1
1
1
1
1
101
100
99
1
1
1
1
1
93
92
1
1
1
88
87
86
85
84
83
82
81
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
155
1
1
1
1
0
489
488
487
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
1
1
1
1
1
1
1
1
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
1
1
1
1
1
285
284
283
1
1
1
1
1
277
276
1
1
1
1
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
1
1
1
1
1
101
100
99
1
1
1
1
1
93
92
91
90
89
88
87
86
85
84
83
82
81
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
1
1
1
1
0
489
488
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
1
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
1
1
1
1
285
284
283
282
1
1
1
1
277
276
275
1
1
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
1
1
1
1
101
100
99
98
1
1
1
1
93
92
91
90
89
88
87
86
85
84
83
82
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
1
1
1
1
0
489
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
1
1
1
1
1
1
1
1
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
1
1
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
1
1
1
1
0
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
1
1
1
1
1
1
1
1
1
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1
1
158
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
1
1
1
1
0
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
1
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
349
1
1
1
1
1
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
1
1
1
1
1
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
1
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
1
1
1
1
0
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
350
1
1
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
1
1
1
1
1
1
1
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
1
1
1
1
0
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
1
1
1
1
1
1
1
1
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
351
351
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
1
1
1
1
1
1
1
1
1
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1
1
1
1
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
1
1
1
1
0
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
352
352
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
1
1
1
1
1
1
1
1
1
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
1
1
1
1
0
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
1
1
1
1
1
1
1
1
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
353
353
353
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
1
1
1
1
1
1
1
1
1
1
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
1
1
1
1
0
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
354
354
354
1
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
1
1
1
1
1
1
1
1
1
1
1
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
1
1
1
1
0
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
1
1
1
1
1
1
1
1
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
355
355
355
355
1
1
1
1
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
1
1
1
1
1
1
1
1
1
1
1
1
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
1
1
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
1
1
1
1
0
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
497
1
1
1
1
1
1
1
1
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
356
356
356
356
1
1
566
566
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
1
1
234
234
1
1
1
1
1
1
1
1
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
92
93
94
95
96
97
98
99
100
101
102
103
1
1
166
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
1
1
1
1
0
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
1
1
1
1
1
1
1
1
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
357
357
357
357
1
1
1
565
565
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
1
1
1
233
233
1
1
1
1
1
1
1
1
1
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
92
93
94
95
96
97
98
99
100
101
102
1
1
1
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
1
1
1
1
0
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
499
1
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
358
358
358
358
358
1
1
1
564
564
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
1
1
1
232
232
232
1
1
1
1
1
1
1
1
1
1
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
95
96
97
98
99
100
101
102
1
1
1
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
1
1
1
1
0
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
1
1
1
1
1
1
1
1
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
359
359
359
359
359
1
1
1
1
563
563
563
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
1
1
1
231
231
231
231
1
1
1
1
1
1
1
1
1
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
95
96
97
98
99
100
101
1
1
1
1
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
1
1
1
1
0
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
360
360
360
360
360
1
1
1
1
1
562
562
562
562
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
1
1
1
230
230
230
230
230
1
1
1
1
1
1
1
1
1
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
98
99
100
1
1
1
1
1
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
1
1
1
1
0
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
1
1
1
1
1
1
1
1
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
361
361
361
361
361
361
1
1
1
1
561
561
561
561
561
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
1
1
1
1
229
229
229
229
1
1
1
1
1
1
1
1
1
1
1
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
98
99
100
1
1
1
1
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
1
1
1
1
0
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
1
1
1
1
1
1
1
1
1
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
362
362
362
362
362
362
1
1
1
560
560
560
560
560
560
560
1
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
1
1
228
228
228
228
228
228
228
1
1
1
1
1
1
1
1
1
1
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
99
1
1
1
172
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
1
1
1
1
0
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
1
1
1
1
1
1
1
1
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
363
363
363
363
363
363
363
1
1
1
1
559
559
559
559
559
559
559
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
1
1
1
227
227
227
227
227
227
227
1
1
1
1
1
1
1
1
1
1
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
1
1
1
1
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
1
1
1
1
0
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
1
1
1
1
1
1
1
1
1
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
364
364
364
364
364
364
364
364
1
1
1
1
558
558
558
558
558
558
559
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
1
1
1
227
226
226
226
226
226
226
1
1
1
1
1
1
1
1
1
1
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
1
1
1
1
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
1
1
1
1
0
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
506
1
1
1
1
1
1
1
1
1
382
381
380
1
1
1
1
1
374
373
372
1
1
1
1
1
366
365
365
1
1
1
1
365
365
365
1
1
1
557
557
557
557
557
557
557
558
559
560
1
1
1
1
1
1
1
1
1
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
1
1
1
228
227
226
225
225
225
225
225
225
225
1
1
1
1
1
1
1
1
1
100
100
100
1
1
1
1
1
100
100
100
1
1
1
1
1
100
100
100
1
1
1
1
1
1
1
1
1
1
175
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
1
1
1
1
0
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
1
1
1
1
1
1
1
1
382
381
381
1
1
1
1
1
374
373
373
1
1
1
1
1
366
366
366
1
1
1
1
1
366
366
1
1
1
556
556
556
556
556
556
557
558
559
560
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
1
1
1
228
227
226
225
224
224
224
224
224
224
224
1
1
1
1
1
1
1
1
101
101
101
1
1
1
1
1
101
101
101
1
1
1
1
1
101
101
101
1
1
1
1
1
1
1
1
1
176
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
1
1
1
1
0
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
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
1
1
1
1
555
555
555
555
555
556
557
558
559
560
561
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
1
1
1
1
228
227
226
225
224
223
223
223
223
223
223
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
1
1
1
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
1
1
1
1
0
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
509
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
1
1
1
1
554
554
554
554
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
1
1
1
1
1
228
227
226
225
224
223
222
222
222
222
222
222
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
1
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
1
1
1
1
0
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
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
1
1
1
1
553
553
553
553
554
555
556
557
558
559
560
561
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
1
1
1
1
229
228
227
226
225
224
223
222
221
221
221
221
221
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
1
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
1
1
1
1
0
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
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
1
1
552
552
552
552
553
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
1
1
1
231
230
229
228
227
226
225
224
223
222
221
220
220
220
220
220
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
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
1
1
1
1
0
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
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
1
551
551
551
552
553
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
219
219
219
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
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
1
1
1
1
0
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
534
534
1
1
1
1
1
1
544
544
1
1
1
1
1
1
1
1
550
550
551
552
553
554
555
556
557
558
559
560
561
562
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
218
218
218
218
1
1
1
1
1
1
210
210
1
1
1
1
1
1
1
1
1
1
1
1
1
1
194
194
1
1
1
1
1
1
1
1
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
1
1
1
1
0
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
515
1
1
1
1
1
1
525
525
1
1
1
1
1
1
533
533
1
1
1
1
1
1
543
543
1
1
1
1
1
1
549
549
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
1
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
1
1
1
1
1
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
217
217
1
1
1
1
1
1
209
209
1
1
1
1
1
1
201
201
1
1
1
1
1
1
193
193
1
1
1
1
1
1
183
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
1
1
1
1
0
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
1
1
1
1
1
1
524
524
1
1
1
1
1
1
532
532
1
1
1
1
1
1
542
542
1
1
1
1
1
1
548
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
1
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
1
1
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
1
1
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
216
1
1
1
1
1
1
208
208
1
1
1
1
1
201
200
200
1
1
1
1
1
1
192
192
1
1
1
1
1
1
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
1
1
1
1
0
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
1
1
1
1
1
523
523
524
525
1
1
1
1
531
531
532
1
1
1
1
1
541
541
541
1
1
1
1
1
547
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
212
1
1
1
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
176
1
1
1
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
1
1
1
1
1
209
208
207
207
1
1
1
1
201
200
199
199
1
1
1
1
193
192
191
191
1
1
1
1
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
1
1
1
1
0
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
1
1
1
1
522
523
524
525
526
1
1
1
530
531
532
1
1
1
1
1
540
540
540
541
1
1
1
1
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
1
1
1
1
1
1
1
1
1
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
213
213
1
1
1
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
177
177
1
1
1
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
1
1
1
1
209
208
207
206
206
1
1
202
201
200
199
198
198
1
1
1
193
192
191
190
190
1
1
1
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
1
1
1
1
0
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
519
520
521
522
523
524
525
526
1
1
529
530
531
532
533
1
1
1
539
539
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
1
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
213
213
1
1
1
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
177
177
1
1
1
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
1
1
202
201
200
199
198
197
1
1
194
193
192
191
190
189
1
1
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
1
1
1
1
0
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
1
1
538
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
212
1
1
1
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
176
1
1
1
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
1
1
1
1
0
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
1
1
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
1
1
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
1
1
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
1
1
1
1
0
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
1
1
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
1
1
1
1
0
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
1
1
1
1
1
1
1
1
1
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
116
116
116
116
116
116
116
116
116
1
1
1
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
1
1
1
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
1
1
1
1
0
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
1
1
1
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
1
1
1
1
1
1
1
1
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
117
117
117
117
117
117
117
117
117
1
1
1
1
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
1
1
1
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
1
1
1
1
0
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
1
1
1
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
1
1
1
1
1
1
1
1
1
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
118
118
118
118
118
118
118
118
118
118
1
1
1
1
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
1
1
1
1
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
1
1
1
1
0
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
1
1
1
1
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
1
1
1
1
1
1
1
1
1
1
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
119
119
119
119
119
119
119
119
119
119
119
1
1
1
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
1
1
1
1
1
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
1
1
1
1
0
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
1
1
1
1
1
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
1
1
1
1
1
1
1
1
1
1
1
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
1
1
1
1
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
1
1
1
1
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
1
1
1
1
0
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
1
1
1
1
1
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
1
1
1
1
1
1
1
1
1
1
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
1
1
1
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
1
1
1
1
1
1
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
1
1
1
1
0
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
1
1
1
1
1
1
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
1
1
1
1
1
1
1
1
1
1
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
1
1
1
1
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
1
1
1
1
1
1
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
1
1
1
1
0
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
1
1
1
1
1
1
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
1
1
1
1
1
1
1
1
1
1
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
1
1
1
1
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
1
1
1
1
1
1
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
1
1
1
1
0
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
1
1
1
1
1
1
1
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
1
1
1
1
1
1
1
1
1
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
1
1
1
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
1
1
1
1
1
1
1
1
1
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
1
1
1
1
0
531
1
1
531
531
531
531
531
1
1
1
531
531
531
531
531
531
531
1
1
1
1
1
1
1
1
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
1
1
1
1
1
1
1
1
1
199
199
199
199
199
1
1
1
199
199
199
199
199
1
1
1
1
1
1
1
0
532
1
1
532
532
532
532
532
1
1
1
532
532
532
532
532
532
532
1
1
1
1
1
1
1
1
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
1
1
1
1
1
1
1
1
1
1
200
200
200
200
200
1
1
1
200
200
200
200
200
1
1
1
1
1
1
1
0
1
1
1
533
533
533
533
1
1
1
1
533
533
533
533
533
533
1
1
1
1
1
1
1
1
1
1
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
1
1
1
1
1
1
1
1
1
1
1
201
201
201
1
1
1
1
201
201
201
201
1
1
1
1
1
1
1
1
1
1
1
1
1
534
534
534
1
1
1
1
1
534
534
534
534
534
1
1
1
1
1
1
1
1
1
1
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
1
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
1
1
1
1
1
1
1
1
1
1
1
1
202
202
202
1
1
1
1
1
202
202
202
1
1
1
1
1
1
1
1
1
1
1
1
1
535
535
535
1
1
1
1
1
535
535
535
535
1
1
1
1
1
1
1
1
1
1
1
1
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
1
1
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
1
1
1
1
1
1
1
1
1
1
1
1
203
203
203
1
1
1
1
1
203
203
203
1
1
1
1
1
1
1
1
1
1
1
1
1
1
536
536
1
1
1
1
1
1
536
536
536
1
1
1
1
1
1
1
1
0
0
1
1
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
1
1
1
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
1
1
1
1
1
1
1
1
1
1
1
1
1
204
204
204
1
1
1
1
1
1
204
204
1
1
1
1
1
1
1
1
1
1
1
1
1
1
537
537
1
1
1
1
1
1
537
537
1
1
1
1
1
1
1
1
1
0
0
1
1
1
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
1
1
1
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
1
1
1
1
1
1
1
1
1
0
0
1
1
1
205
205
1
1
1
1
1
1
205
205
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
538
538
1
1
1
1
1
1
1
1
0
0
0
1
1
1
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
1
1
1
1
1
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
1
1
1
1
1
1
1
1
0
0
0
0
1
1
206
206
1
1
1
1
1
1
206
206
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
0
0
1
1
1
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
1
1
1
1
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
1
1
1
1
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
541
541
1
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
1
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
1
1
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
1
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
1
1
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
1
1
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
1
1
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
1
1
1
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
1
1
1
215
215
215
215
215
215
215
215
215
215
215
215
215
1
1
1
215
215
215
215
215
215
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
1
1
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
1
1
1
1
1
1
211
210
209
208
207
1
1
204
203
202
1
1
1
1
1
1
195
194
1
1
1
1
1
1
187
186
1
1
1
1
1
1
179
178
177
176
175
174
173
172
171
170
1
1
1
1
1
1
163
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
1
1
1
216
216
216
216
216
216
216
216
216
216
216
216
216
1
1
1
216
216
216
216
216
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
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
1
1
1
1
1
1
1
1
1
549
549
549
549
549
549
549
549
549
549
549
549
549
1
1
1
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
1
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
1
1
1
1
1
1
1
1
210
209
208
1
1
1
204
203
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
178
177
176
175
174
173
172
171
1
1
1
1
1
1
1
1
162
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
1
1
1
1
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
1
1
1
1
217
217
217
217
217
217
217
217
217
217
217
217
1
1
1
1
217
217
217
217
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
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
1
1
1
1
1
1
1
1
1
1
550
550
550
550
550
1
1
1
1
550
550
550
1
1
1
1
1
550
550
550
550
1
1
1
1
550
550
550
550
1
1
1
1
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
1
1
1
1
1
1
1
1
1
1
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
1
1
1
1
1
1
1
1
1
1
209
209
1
1
1
204
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
177
176
1
1
1
172
1
1
1
1
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
1
1
1
1
1
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
1
1
1
1
218
218
218
1
1
1
1
1
218
218
218
218
1
1
1
1
218
218
218
1
1
1
1
1
218
218
218
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
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
0
1
1
1
1
1
1
1
1
1
1
1
1
1
551
551
551
1
1
1
1
1
551
551
551
1
1
1
1
1
551
551
551
1
1
1
1
1
551
551
551
1
1
1
1
1
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
1
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
221
1
1
1
1
1
1
1
1
1
1
210
209
208
1
1
205
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
177
177
1
1
1
173
1
1
1
1
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
1
1
1
1
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
1
1
1
1
1
219
219
219
1
1
1
1
1
219
219
219
1
1
1
1
1
219
219
219
1
1
1
1
1
219
219
219
219
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
1
552
552
552
1
1
1
1
1
1
552
552
1
1
1
1
1
552
552
552
1
1
1
1
1
1
552
552
1
1
1
1
1
1
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
222
222
1
229
229
229
1
1
1
1
1
1
1
209
208
207
206
206
1
210
210
211
1
1
1
1
1
0
0
0
1
1
1
1
1
197
197
197
1
1
1
1
1
1
1
178
1
1
1
174
1
178
178
179
1
1
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
148
147
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
1
1
1
1
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
1
1
1
1
1
1
220
220
1
1
1
1
1
220
220
220
1
1
1
1
1
1
220
220
1
1
1
1
1
1
220
220
220
1
1
1
1
1
1
1
1
0
0
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
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
553
553
1
1
1
1
1
1
553
553
1
1
1
1
1
1
553
553
1
1
1
1
1
1
553
553
1
1
1
1
1
1
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
1
1
1
1
1
1
1
1
1
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
223
223
223
1
228
228
228
228
228
1
1
1
1
1
209
208
207
207
207
1
209
210
211
212
213
1
1
1
0
0
0
0
0
1
1
1
196
196
196
196
196
1
1
1
1
1
179
1
1
1
175
1
177
178
179
180
181
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
1
1
1
1
1
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
1
1
1
1
1
1
221
221
1
1
1
1
1
1
221
221
1
1
1
1
1
1
221
221
1
1
1
1
1
1
221
221
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
554
554
1
1
1
1
1
1
554
554
1
1
1
1
1
1
554
554
1
1
1
1
1
1
1
1
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
1
1
1
1
1
1
1
1
1
319
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
224
224
224
224
1
227
227
227
227
227
1
1
1
1
1
1
208
208
208
1
208
209
210
211
212
1
1
1
1
0
0
0
0
0
1
1
1
195
195
195
195
195
1
1
1
1
1
1
178
177
176
1
176
177
178
179
180
1
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
149
150
1
1
1
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
1
1
1
1
1
1
1
222
222
1
1
1
1
1
1
222
222
1
1
1
1
1
1
222
222
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
1
1
1
1
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
225
225
225
225
225
1
226
226
226
226
226
1
1
1
1
1
1
209
209
1
1
209
209
210
211
1
1
1
1
1
0
0
0
1
1
1
1
1
194
194
194
194
194
1
1
1
1
1
1
178
177
1
1
177
177
178
179
1
1
1
1
1
1
1
160
159
158
157
156
155
154
153
152
151
150
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
151
1
1
1
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
225
225
225
225
225
1
1
225
225
225
225
1
1
1
1
1
1
210
210
1
210
210
210
210
211
1
1
1
1
1
1
1
1
1
1
1
1
1
1
193
193
193
193
1
1
1
1
1
1
178
178
1
178
178
178
178
179
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
151
1
1
1
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
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
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
1
1
320
1
1
1
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
224
224
224
224
224
1
224
224
224
224
224
1
1
1
1
1
1
1
1
211
211
211
211
211
1
1
1
1
1
1
1
1
1
1
1
1
1
1
192
192
192
192
192
1
1
1
1
1
1
1
1
179
179
179
179
179
1
1
1
1
1
1
161
160
159
158
157
156
155
154
153
152
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
152
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
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
1
1
1
1
1
1
1
1
1
1
1
0
0
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
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
0
0
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
1
1
1
1
1
1
1
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
1
1
1
1
1
1
1
1
1
1
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
223
223
223
223
1
1
223
223
223
223
223
1
1
1
1
1
1
212
212
212
212
212
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
191
191
191
191
191
1
1
1
1
1
1
180
180
180
180
180
1
1
1
1
1
1
162
161
160
159
158
157
156
155
154
153
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
1
1
1
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
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
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
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
1
1
1
1
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
560
561
562
563
564
565
566
567
568
569
570
571
572
1
1
1
1
1
1
1
1
1
1
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
222
222
222
222
1
222
222
222
222
223
1
1
1
1
1
1
213
213
213
213
1
1
1
1
1
1
195
194
1
1
1
1
1
1
190
190
1
190
190
190
190
191
1
1
1
1
1
1
181
181
181
181
1
1
1
1
1
1
1
162
161
160
159
158
157
156
155
154
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
1
1
1
240
239
238
237
236
235
234
233
232
231
230
229
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
561
562
563
564
565
566
567
568
569
570
571
572
1
1
1
1
1
1
1
1
1
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
221
221
221
1
1
221
221
222
223
1
1
1
1
1
214
214
214
214
214
1
1
1
1
1
1
195
194
193
192
191
190
189
189
189
189
1
1
189
189
190
191
1
1
1
1
1
182
182
182
182
182
1
1
1
1
1
1
163
162
161
160
159
158
157
156
155
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
1
1
1
240
239
238
237
236
235
234
233
232
231
230
229
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
562
563
564
565
566
567
568
569
570
571
572
1
1
1
1
1
1
1
1
1
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
220
220
220
1
220
221
222
223
224
1
1
1
1
215
215
215
215
215
1
1
1
1
1
1
195
194
193
192
191
190
189
188
188
188
188
1
188
189
190
191
192
1
1
1
1
183
183
183
183
183
1
1
1
1
1
1
163
162
161
160
159
158
157
156
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
1
1
1
240
239
238
237
236
235
234
233
232
231
230
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
398
397
396
396
396
1
1
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
563
564
565
566
567
568
569
570
1
1
1
1
1
1
1
1
1
1
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
219
219
219
1
221
222
223
224
225
1
1
1
216
216
216
216
216
1
1
1
1
1
196
195
194
193
192
191
190
189
188
187
187
187
187
1
189
190
191
192
193
1
1
1
184
184
184
184
184
1
1
1
1
1
164
163
162
161
160
159
158
157
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
1
1
1
1
238
237
236
235
234
233
232
231
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
395
395
395
1
1
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
564
565
566
567
568
569
570
1
1
1
1
1
1
1
1
1
1
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
218
218
1
222
222
223
1
1
1
1
1
217
217
217
1
1
1
1
1
1
1
196
195
194
193
192
191
190
189
188
187
186
186
186
1
190
190
191
1
1
1
1
1
185
185
185
1
1
1
1
1
1
1
164
163
162
161
160
159
158
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
1
1
1
1
238
237
236
235
234
233
232
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
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
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
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
394
394
1
1
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
565
566
567
568
569
1
1
1
1
1
1
1
1
1
1
1
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
217
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
197
196
195
194
1
1
1
1
189
188
187
186
185
185
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
165
164
163
162
161
160
159
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
1
1
1
239
238
237
236
235
234
233
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
0
1
1
0
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
1
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
393
393
1
1
1
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
566
567
568
1
1
1
1
1
1
1
1
1
1
1
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
197
196
195
1
1
1
1
1
189
188
187
186
185
184
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
165
164
163
162
161
160
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
1
1
1
1
237
236
235
234
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
392
392
392
1
1
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
567
568
1
1
1
1
1
1
1
1
1
1
1
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
198
197
196
195
1
1
1
1
1
189
188
187
186
185
184
183
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
166
165
164
163
162
161
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
1
1
1
1
1
236
235
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
391
391
391
1
1
1
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
568
569
1
1
1
1
1
1
1
1
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
1
1
1
1
1
1
207
206
1
1
1
1
1
1
199
198
197
196
195
194
1
1
1
1
189
188
187
186
185
184
183
182
1
1
1
1
1
1
175
174
1
1
1
1
1
1
167
166
165
164
163
162
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
1
1
1
1
236
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
391
390
390
390
1
1
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
569
1
1
1
1
1
1
1
1
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
391
390
389
389
1
1
1
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
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
388
388
1
1
1
1
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
1
1
1
1
1
1
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
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
1
0
0
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
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
387
387
1
1
1
1
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
1
1
1
1
1
1
1
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
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
1
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
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
386
386
1
1
1
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
1
1
1
1
1
1
1
1
1
1
1
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
1
1
1
1
172
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
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
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
1
0
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
385
385
385
1
1
1
1
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
1
1
1
1
1
1
1
1
1
1
1
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
1
1
1
171
172
1
1
1
1
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
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
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
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
1
0
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
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
1
1
1
1
1
1
1
384
384
384
1
1
1
1
1
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
1
1
1
1
1
1
1
1
1
1
1
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
169
170
171
172
173
1
1
1
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
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
1
1
1
1
0
0
1
1
1
0
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
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
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
383
383
1
1
1
1
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
170
171
172
173
1
1
1
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
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
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
382
382
382
1
1
1
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
171
172
173
1
1
1
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
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
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
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
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
382
381
381
1
1
1
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
173
174
1
1
1
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
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
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
380
380
1
1
1
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
172
173
174
175
1
1
1
1
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
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
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
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
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
379
379
1
1
1
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
174
175
1
1
1
1
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
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
1
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
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
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
1
378
378
1
1
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
175
1
1
1
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
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
1
1
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
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
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
1
377
377
1
1
1
1
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
1
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
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
1
1
1
1
1
1
1
1
1
1
0
0
0
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
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
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
376
376
376
1
1
1
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
1
1
1
1
1
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
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
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
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
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
375
375
375
1
1
1
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
1
1
1
1
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
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
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
374
374
374
1
1
1
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
1
1
1
1
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
178
1
1
1
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
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
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
375
374
373
373
373
1
1
1
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
1
1
1
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
372
372
372
1
1
1
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
1
1
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
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
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
372
371
371
1
1
1
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
1
1
1
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
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
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
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
1
1
1
1
1
1
1
1
1
1
370
370
1
1
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
1
1
1
1
256
256
256
256
256
256
256
256
256
256
256
256
256
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
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
369
369
1
1
1
1
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
1
1
1
1
257
257
257
257
257
257
257
257
257
257
257
257
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
368
368
368
1
1
1
590
590
590
590
590
1
1
1
590
590
590
590
590
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
184
1
1
1
1
1
258
258
258
258
1
1
1
1
1
258
258
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
367
367
367
1
1
1
591
591
591
1
1
1
1
1
591
591
591
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
1
1
1
1
259
259
259
1
1
1
1
1
1
259
259
259
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
366
366
366
1
1
1
592
592
592
1
1
1
1
1
1
592
592
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
1
1
1
1
260
260
260
1
1
1
1
1
1
260
260
260
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
367
366
365
365
365
1
1
1
593
593
1
1
1
1
1
1
593
593
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
1
1
1
1
1
261
261
1
1
1
1
1
1
261
261
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
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
1
1
1
1
1
1
1
1
364
364
364
1
1
594
594
1
1
1
1
1
1
594
594
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
190
1
1
262
262
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
363
363
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
241
240
239
238
237
236
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
362
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
242
1
1
1
1
1
1
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
1
1
1
1
1
1
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
361
361
361
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
243
1
1
1
1
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
1
1
1
1
1
1
1
1
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
361
360
360
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
244
1
1
1
1
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
1
1
1
1
1
1
1
1
1
1
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
361
360
359
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
245
245
1
1
1
1
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
1
1
1
1
1
1
1
1
1
1
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
361
360
359
358
1
1
1
1
1
1
1
353
353
353
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
246
246
246
1
282
282
282
1
1
1
1
1
1
1
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
1
198
198
199
1
1
1
1
1
1
1
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
1
1
1
1
1
1
1
203
203
204
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
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
361
360
359
358
357
1
1
1
1
1
1
352
352
352
1
1
1
1
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
247
247
247
247
1
281
281
281
281
281
1
1
1
1
1
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
1
197
198
199
200
201
1
1
1
1
1
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
1
1
1
1
1
1
202
203
204
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
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
357
356
355
354
353
352
351
351
351
351
351
352
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
248
248
248
248
248
1
280
280
280
280
280
1
1
1
1
1
1
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
1
196
197
198
199
200
1
1
1
1
1
1
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
1
1
1
196
196
197
198
199
200
201
202
203
204
205
206
207
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
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
357
356
355
354
1
1
351
350
350
350
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
249
249
249
249
249
249
1
279
279
279
279
279
1
1
1
1
1
1
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
1
1
197
197
198
199
1
1
1
1
1
1
1
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
1
1
1
1
197
197
197
198
199
200
1
1
203
204
205
206
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
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
356
355
1
1
1
1
350
349
349
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
250
250
250
250
250
250
1
1
278
278
278
278
1
1
1
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
1
198
198
198
198
199
1
1
1
1
1
1
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
1
1
1
1
1
198
198
198
198
1
1
1
1
1
204
205
206
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
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
356
356
1
1
1
1
350
349
348
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
251
251
251
251
251
251
251
251
1
277
277
277
277
277
1
1
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
1
1
199
199
199
199
199
1
1
1
1
1
1
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
1
1
1
1
1
199
199
199
199
1
1
1
1
1
205
205
206
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
357
357
1
1
1
1
1
349
348
347
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
252
252
252
252
252
252
252
252
252
1
1
276
276
276
276
276
1
1
1
1
1
1
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
1
200
200
200
200
200
1
1
1
1
1
1
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
202
1
200
200
200
1
1
1
1
1
1
206
206
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
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
358
358
1
1
1
1
1
1
348
347
346
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
253
253
253
253
253
253
253
253
253
253
253
1
275
275
275
275
275
1
1
1
1
1
1
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
1
1
201
201
201
201
1
1
1
1
1
1
1
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
202
202
201
201
201
201
1
1
1
1
1
1
207
207
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
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
359
1
1
1
1
1
1
1
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
254
254
254
254
254
254
254
254
254
254
254
254
1
1
274
274
274
274
1
1
1
1
1
1
1
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
1
202
202
202
202
202
1
1
1
1
1
1
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
1
1
1
1
1
1
1
208
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
360
360
1
1
1
1
1
1
1
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
1
273
273
273
273
273
1
1
1
1
1
1
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
1
203
203
203
203
203
1
1
1
1
1
1
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
1
1
1
1
1
1
1
209
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
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
1
272
272
272
272
272
1
1
1
1
1
1
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
1
204
204
204
204
204
1
1
1
1
1
1
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
1
1
271
271
271
271
1
1
1
1
1
1
1
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
1
205
205
205
205
205
1
1
1
1
1
1
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
1
270
270
270
270
271
1
1
1
1
1
1
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
1
1
206
206
206
206
1
1
1
1
1
1
1
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
1
1
206
206
206
206
206
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
343
342
341
340
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
1
1
269
269
269
270
271
1
1
1
1
1
1
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
1
207
207
207
207
207
1
1
1
1
1
1
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
1
1
1
1
207
207
207
207
207
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
343
342
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
260
260
260
260
260
260
260
260
260
260
260
260
1
1
1
260
260
1
268
268
268
269
270
1
1
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
1
1
208
208
208
208
208
1
1
1
1
1
1
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
1
1
1
1
1
208
208
208
208
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
343
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
261
261
261
261
261
261
261
261
261
261
261
261
261
1
1
1
261
1
1
267
267
268
269
1
1
1
1
1
1
1
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
1
209
209
209
209
209
1
1
1
1
1
1
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
1
1
1
1
1
209
209
209
209
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
344
344
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
1
1
1
262
1
266
266
267
268
269
1
1
1
1
1
1
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
1
1
210
210
210
210
1
1
1
1
1
1
1
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
1
1
1
1
1
210
210
210
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
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
345
345
345
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
1
1
1
263
1
265
266
267
268
269
1
1
1
1
1
1
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
1
211
211
211
211
211
1
1
1
1
1
1
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
212
1
1
1
211
211
211
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
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
346
346
346
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
265
264
1
264
265
266
267
268
1
1
1
1
1
1
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
1
212
212
212
212
212
1
1
1
1
1
1
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
213
212
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
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
346
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
1
1
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
1
1
265
265
266
267
1
1
1
1
1
1
1
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
1
213
213
213
213
213
1
1
1
1
1
1
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
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
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
345
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
292
1
1
1
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
1
266
266
266
266
267
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
1
1
214
214
214
214
1
1
1
1
1
1
1
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
1
1
1
1
220
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
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
293
293
1
1
1
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
1
1
267
267
267
267
267
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
1
215
215
215
215
215
1
1
1
1
1
1
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
1
1
1
219
220
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
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
293
293
1
1
1
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
1
268
268
268
268
268
1
1
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
1
1
216
216
216
216
216
1
1
1
1
1
1
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
218
219
220
221
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
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
292
1
1
1
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
1
1
269
269
269
269
1
1
1
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
1
217
217
217
217
217
1
1
1
1
1
1
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
219
220
221
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
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
1
1
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
1
270
270
270
270
270
1
1
1
1
1
1
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
1
1
218
218
218
218
1
1
1
1
1
1
1
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
220
221
222
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
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
1
271
271
271
271
271
1
1
1
1
1
1
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
1
219
219
219
219
219
1
1
1
1
1
1
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
221
222
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
1
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
1
272
272
272
272
272
1
1
1
1
1
1
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
1
220
220
220
220
220
1
1
1
1
1
1
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
222
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
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
1
273
273
273
273
273
1
1
1
1
1
1
235
234
233
232
231
230
229
228
227
226
225
224
223
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
1
1
221
221
221
221
1
1
1
1
1
1
1
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
1
1
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
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
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
1
1
274
274
274
274
1
1
1
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
1
222
222
222
222
222
1
1
1
1
1
1
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
1
1
1
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
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
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
1
275
275
275
275
275
1
1
1
1
1
1
234
233
232
231
230
229
228
227
226
225
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
1
1
223
223
223
223
223
1
1
1
1
1
1
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
1
1
1
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
1
1
276
276
276
276
276
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
1
1
1
224
224
1
224
224
224
224
224
1
1
1
1
1
1
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
1
1
1
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
1
277
277
277
277
277
1
1
1
1
1
1
233
232
231
230
229
228
227
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
1
1
1
225
1
1
225
225
225
225
1
1
1
1
1
1
1
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
1
1
1
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
1
1
278
278
278
278
1
1
1
1
1
1
1
232
231
230
229
228
227
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
1
1
1
226
1
226
226
226
226
226
1
1
1
1
1
1
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
1
1
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
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
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
1
278
279
279
279
279
1
1
1
1
1
1
232
231
230
229
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
1
1
1
227
1
227
227
227
227
227
1
1
1
1
1
1
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
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
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
279
278
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
1
279
280
280
280
280
1
1
1
1
1
1
231
230
229
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
229
228
1
228
228
228
228
228
1
1
1
1
1
1
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
1
1
1
228
228
228
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
280
279
278
277
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
1
280
280
281
281
281
1
1
1
1
1
1
231
230
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
1
1
229
229
229
229
1
1
1
1
1
1
1
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
1
1
1
1
1
229
229
229
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
281
280
279
278
277
276
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
1
1
281
281
282
282
1
1
1
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
1
230
230
230
230
230
1
1
1
1
1
1
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
1
1
1
1
1
230
230
230
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
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
282
281
280
279
278
277
276
275
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
1
282
282
282
283
283
1
1
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
1
1
231
231
231
231
231
1
1
1
1
1
1
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
1
1
1
1
1
231
231
231
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
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
283
282
281
280
279
278
277
276
275
274
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
1
1
283
283
283
284
284
1
1
1
1
1
1
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
1
232
232
232
232
232
1
1
1
1
1
1
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
1
1
1
1
232
232
232
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
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
284
283
282
281
280
279
278
277
276
275
274
273
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
1
284
284
284
284
285
1
1
1
1
1
1
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
1
1
233
233
233
233
1
1
1
1
1
1
1
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
1
1
1
233
233
233
233
234
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
1
1
285
285
285
285
1
1
1
1
1
1
1
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
1
234
234
234
234
234
1
1
1
1
1
1
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
234
234
234
234
234
234
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
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
1
286
286
286
286
286
1
1
1
1
1
1
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
1
235
235
235
235
235
1
1
1
1
1
1
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
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
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
361
361
1
1
1
1
1
1
1
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
1
287
287
287
287
287
1
1
1
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
1
236
236
236
236
236
1
1
1
1
1
1
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
1
1
1
1
1
1
1
249
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
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
360
360
1
1
1
1
1
1
1
348
347
346
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
268
268
268
268
268
268
268
268
268
268
268
268
1
1
288
288
288
288
1
1
1
1
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
1
237
237
237
237
237
1
1
1
1
1
1
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
1
1
1
1
1
1
248
248
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
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
359
359
359
1
1
1
1
1
1
348
347
346
345
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
267
267
267
267
267
267
267
267
267
267
267
1
289
289
289
289
289
1
1
1
1
1
1
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
1
1
238
238
238
238
1
1
1
1
1
1
1
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
1
1
1
1
1
247
247
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
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
358
358
358
1
1
1
1
1
1
348
347
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
266
266
266
266
266
266
266
266
266
1
1
290
290
290
290
290
1
1
1
1
1
1
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
1
239
239
239
239
239
1
1
1
1
1
1
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
1
1
239
239
239
239
1
1
1
1
246
247
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
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
358
357
357
1
1
1
1
1
1
348
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
265
265
265
265
265
265
265
265
1
291
291
291
291
291
1
1
1
1
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
1
1
240
240
240
240
240
1
1
1
1
1
1
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
1
1
1
1
240
240
240
240
1
1
1
245
246
247
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
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
1
358
357
356
1
1
1
1
1
1
349
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
264
264
264
264
264
264
1
1
292
292
292
292
1
1
1
1
1
1
1
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
1
241
241
241
241
241
1
1
1
1
1
1
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
1
1
1
1
1
241
241
241
241
1
1
244
245
246
247
248
249
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
358
357
356
355
1
1
1
1
350
350
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
263
263
263
263
263
1
293
293
293
293
293
1
1
1
1
1
1
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
1
1
242
242
242
242
1
1
1
1
1
1
1
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
1
1
1
1
1
242
242
242
242
242
243
244
245
246
247
248
249
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
358
357
356
355
354
353
352
351
351
351
351
352
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
262
262
262
262
1
294
294
294
294
294
1
1
1
1
1
1
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
1
243
243
243
243
243
1
1
1
1
1
1
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
1
1
1
1
243
243
243
243
243
243
244
245
246
247
248
249
250
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
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
362
361
360
359
358
1
1
1
1
1
1
352
352
352
1
1
1
1
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
261
261
261
1
295
295
295
295
295
1
1
1
1
1
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
1
244
244
244
244
244
1
1
1
1
1
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
245
245
244
244
1
1
1
1
1
1
245
246
247
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
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
361
360
359
1
1
1
1
1
1
1
353
353
353
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
260
260
1
296
296
296
1
1
1
1
1
1
1
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
1
245
245
245
1
1
1
1
1
1
1
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
1
1
1
1
1
1
1
246
246
247
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
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
361
360
360
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
259
1
1
1
1
1
1
1
1
1
1
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
1
1
1
1
1
1
1
1
1
1
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
361
361
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
1
1
1
1
1
1
1
1
1
1
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
1
1
1
1
1
1
1
1
1
1
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
362
362
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
1
1
1
1
1
1
1
1
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
1
1
1
1
1
1
1
1
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
363
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
1
1
1
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
1
1
1
1
1
1
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
364
364
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
251
252
252
251
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
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
1
1
1
1
1
1
1
1
1
365
365
1
1
650
650
1
1
1
1
1
1
650
650
1
1
1
1
1
1
1
1
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
252
252
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
1
1
650
650
1
1
1
1
1
1
650
650
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
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
368
367
366
366
1
1
1
649
649
1
1
1
1
1
1
649
649
1
1
1
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
1
1
1
252
252
252
1
1
1
649
649
1
1
1
1
1
1
649
649
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
368
367
367
1
1
1
648
648
648
1
1
1
1
1
1
648
648
1
1
1
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
1
1
1
1
253
253
253
1
1
1
648
648
1
1
1
1
1
1
648
648
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
368
368
368
1
1
1
647
647
647
1
1
1
1
1
647
647
647
1
1
1
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
1
1
1
1
254
254
1
1
1
1
647
647
1
1
1
1
1
1
647
647
647
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
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
369
369
369
1
1
1
646
646
646
646
1
1
1
1
646
646
646
646
1
1
1
1
1
1
1
1
1
1
1
1
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
1
1
1
255
255
1
1
1
1
1
646
646
1
1
1
1
1
1
646
646
646
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
370
370
1
1
1
1
645
645
645
645
645
645
645
645
645
645
645
645
1
1
1
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
256
256
256
1
1
1
1
645
645
645
645
1
1
1
645
645
645
645
645
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
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
1
1
1
1
1
1
1
1
1
1
371
371
1
1
644
644
644
644
644
644
644
644
644
644
644
644
644
644
1
1
1
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
1
1
1
644
644
644
644
644
644
644
1
1
644
644
644
644
644
644
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
373
372
372
1
1
1
643
643
643
643
643
643
643
643
643
643
643
643
643
643
1
1
1
1
1
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
1
1
1
1
643
643
643
643
643
643
1
1
643
643
643
643
643
643
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
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
1
1
1
1
1
1
1
1
373
373
373
1
1
1
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
1
1
1
1
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
1
1
1
1
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
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
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
376
375
374
374
374
1
1
1
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
1
1
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
1
1
1
1
1
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
641
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
375
375
375
375
1
1
1
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
1
1
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
1
1
1
1
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
640
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
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
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
376
376
376
376
1
1
1
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
1
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
1
1
1
1
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
639
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
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
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
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
377
377
377
1
1
1
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
1
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
1
1
1
1
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
638
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
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
0
0
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
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
1
1
1
1
1
1
1
1
1
1
1
378
378
378
1
1
1
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
1
1
1
1
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
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
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
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
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
1
379
379
1
1
1
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
1
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
1
1
1
1
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
636
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
1
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
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
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
380
380
1
1
1
1
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
1
1
1
1
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
635
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
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
381
381
1
1
1
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
1
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
1
1
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
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
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
382
382
1
1
1
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
1
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
1
1
1
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
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
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
384
383
383
383
1
1
1
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
1
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
1
1
1
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
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
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
384
384
384
384
1
1
1
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
1
1
1
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
631
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
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
1
1
1
1
0
0
0
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
0
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
1
1
1
1
1
1
1
1
1
0
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
385
385
385
1
1
1
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
1
1
1
1
1
1
1
1
1
328
327
326
325
324
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
1
1
1
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
630
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
1
1
1
0
0
1
1
1
1
0
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
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
386
386
386
1
1
1
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
1
1
1
1
1
1
1
1
1
1
1
327
326
325
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
272
1
1
1
1
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
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
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
0
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
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
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
387
387
1
1
1
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
1
1
1
1
1
1
1
1
1
1
327
326
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
1
1
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
628
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
1
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
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
389
388
388
1
1
1
1
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
1
1
1
1
1
1
1
1
1
1
327
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
1
1
1
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
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
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
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
389
389
389
1
1
1
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
1
1
1
1
1
1
1
1
1
1
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
1
1
1
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
626
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
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
391
390
390
390
1
1
1
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
626
627
1
1
1
1
1
1
1
1
1
328
328
328
328
328
328
328
328
328
328
328
328
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
1
1
1
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
391
391
391
1
1
1
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
626
627
1
1
1
1
1
1
1
1
1
329
329
329
329
329
329
329
329
329
329
329
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
1
1
1
625
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
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
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
392
392
392
1
1
1
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
625
626
627
628
1
1
1
1
1
1
1
1
1
330
330
330
330
330
330
330
330
330
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
1
1
1
1
1
1
278
278
1
1
1
1
1
1
278
278
278
278
278
278
278
278
278
278
1
1
1
1
278
278
278
278
1
1
1
1
1
1
278
278
1
1
1
1
1
1
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
1
1
1
625
624
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
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
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
393
393
393
1
1
1
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
623
624
625
626
627
628
1
1
1
1
1
1
1
1
1
1
331
331
331
331
331
331
331
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
279
279
279
279
279
279
279
279
1
1
1
1
1
279
279
279
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
279
1
1
1
625
624
623
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
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
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
394
394
1
1
1
1
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
622
623
624
625
626
627
628
1
1
1
1
1
1
1
1
1
1
332
332
332
332
332
332
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
280
280
280
280
280
280
280
1
1
1
1
1
280
280
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
1
1
1
1
625
624
623
622
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
621
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
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
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
395
395
1
1
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
621
622
623
624
625
626
627
628
629
1
1
1
1
1
1
1
1
1
1
333
333
333
333
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
281
281
281
281
281
281
281
281
1
1
1
1
281
281
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
1
1
627
626
625
624
623
622
621
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0
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
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
396
396
1
1
1
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
620
621
622
623
624
625
626
627
628
629
1
1
1
1
1
1
1
1
1
1
334
334
334
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
1
286
286
287
1
1
1
1
1
323
323
323
1
1
1
1
1
1
1
282
282
282
282
282
282
282
282
283
283
282
282
282
1
286
286
287
1
1
1
1
1
319
319
319
1
1
1
1
1
1
1
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
1
1
1
627
626
625
624
623
622
621
620
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
619
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
399
398
397
397
397
1
1
1
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
619
620
621
622
623
624
625
626
627
628
629
630
1
1
1
1
1
1
1
1
1
335
335
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
1
285
286
287
288
289
1
1
1
322
322
322
322
322
1
1
1
1
1
283
283
283
283
283
283
283
283
283
283
283
283
283
1
285
286
287
288
289
1
1
1
318
318
318
318
318
1
1
1
1
1
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
1
1
1
627
626
625
624
623
622
621
620
619
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
618
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
1
1
1
1
1
1
336
335
334
333
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
1
284
285
286
287
288
1
1
1
1
321
321
321
321
321
1
1
1
1
1
1
284
284
284
284
284
284
284
284
284
284
284
1
284
285
286
287
288
1
1
1
1
317
317
317
317
317
1
1
1
1
1
1
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
617
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
1
1
1
1
1
1
1
335
334
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
1
1
285
285
286
287
1
1
1
1
1
320
320
320
320
320
1
1
1
1
1
1
285
285
285
285
285
285
285
285
285
285
1
1
285
285
286
287
1
1
1
1
1
316
316
316
316
316
1
1
1
1
1
1
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
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
1
1
1
1
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
1
1
1
1
335
335
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
1
286
286
286
286
287
1
1
1
1
1
1
319
319
319
319
1
1
1
1
1
1
286
286
1
1
1
1
1
1
286
286
1
286
286
286
286
287
1
1
1
1
1
1
315
315
315
315
1
1
1
1
1
1
1
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
1
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
615
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
334
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
1
1
287
287
287
287
287
1
1
1
1
1
1
318
318
318
318
318
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
287
287
287
287
287
1
1
1
1
1
1
314
314
314
314
314
1
1
1
1
1
1
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
1
1
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
1
288
288
288
288
288
1
1
1
1
1
1
1
1
317
317
317
317
317
1
1
1
1
1
1
1
1
1
1
1
1
1
1
288
288
288
288
288
1
1
1
1
1
1
1
1
313
313
313
313
313
1
1
1
1
1
1
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
288
1
1
1
1
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
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
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
1
1
289
289
289
289
1
1
1
1
1
1
312
312
1
316
316
316
316
317
1
1
1
1
1
1
1
1
1
1
1
1
1
1
289
289
289
289
1
1
1
1
1
1
312
312
1
312
312
312
312
313
1
1
1
1
1
1
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
289
1
1
1
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
612
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
1
290
290
290
290
290
1
1
1
1
1
1
311
311
1
1
315
315
316
317
1
1
1
1
1
0
0
0
1
1
1
1
1
290
290
290
290
290
1
1
1
1
1
1
311
311
1
1
311
311
312
313
1
1
1
1
1
1
1
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
1
1
1
1
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
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
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
610
610
1
1
1
1
1
1
610
610
1
1
1
1
1
1
610
610
1
1
1
1
1
1
1
1
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
1
291
291
291
291
291
1
1
1
1
1
1
310
311
312
1
314
315
316
317
318
1
1
1
1
0
0
0
0
0
1
1
1
291
291
291
291
291
1
1
1
1
1
1
310
310
310
1
310
311
312
313
314
1
1
1
1
1
1
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
1
1
1
1
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
1
1
1
1
1
1
1
610
610
1
1
1
1
1
1
610
610
1
1
1
1
1
1
610
610
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
1
292
292
292
292
292
1
1
1
1
1
309
1
1
1
313
1
315
316
317
318
319
1
1
1
0
0
0
0
0
1
1
1
292
292
292
292
292
1
1
1
1
1
311
310
309
309
309
1
311
312
313
314
315
1
1
1
1
1
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
1
1
1
1
1
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
609
609
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
0
0
1
1
1
608
608
1
1
1
1
1
608
608
608
1
1
1
1
1
1
608
608
1
1
1
1
1
1
608
608
1
1
1
1
1
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
1
293
293
293
1
1
1
1
1
1
1
308
1
1
1
313
1
316
316
317
1
1
1
1
1
0
0
0
1
1
1
1
1
293
293
293
1
1
1
1
1
1
1
311
310
309
308
308
1
312
312
313
1
1
1
1
1
1
1
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
1
1
1
1
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
1
1
1
1
1
1
608
608
1
1
1
1
1
1
608
608
1
1
1
1
1
1
608
608
1
1
1
1
1
1
608
608
608
1
1
1
1
1
1
1
1
0
0
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
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
0
0
1
1
1
607
607
1
1
1
1
1
607
607
607
1
1
1
1
1
1
607
607
1
1
1
1
1
1
607
607
607
1
1
1
1
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
1
1
1
1
1
1
1
1
1
1
307
307
1
1
1
312
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
312
311
310
1
1
307
1
1
1
1
1
1
1
1
1
1
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
1
1
1
1
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
607
1
1
1
1
1
607
607
607
1
1
1
1
1
607
607
607
1
1
1
1
1
1
607
607
1
1
1
1
1
607
607
607
607
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
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
1
1
1
1
1
1
1
1
1
1
606
606
606
1
1
1
1
606
606
606
606
1
1
1
1
1
1
606
606
606
606
1
1
1
1
606
606
606
606
1
1
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
1
1
1
1
1
1
1
1
1
1
306
307
1
1
1
311
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
311
311
1
1
1
306
1
1
1
1
1
1
1
1
1
1
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
1
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
606
1
1
1
606
606
606
606
1
1
1
1
606
606
606
606
1
1
1
1
1
606
606
606
1
1
1
1
606
606
606
606
606
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
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
1
1
1
1
1
1
1
1
1
605
605
605
1
1
1
1
605
605
605
605
1
1
1
1
605
605
605
605
605
605
605
605
605
605
605
605
605
605
1
1
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
1
1
1
1
1
1
1
1
305
306
307
308
309
310
311
312
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
312
311
310
1
1
1
306
305
1
1
1
1
1
1
1
1
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
1
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
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
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
1
1
1
1
1
1
1
1
604
604
604
604
604
1
1
1
604
604
604
604
604
1
1
1
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
1
1
1
1
1
1
304
305
306
307
308
309
310
311
312
313
1
1
1
1
1
1
320
321
1
1
1
1
1
1
321
320
1
1
1
1
1
1
313
312
311
310
309
1
1
306
305
304
1
1
1
1
1
1
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
1
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
1
1
1
1
1
1
1
1
0
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
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
603
603
603
603
603
1
1
1
603
603
603
603
603
1
1
1
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
298
1
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
1
1
636
635
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
602
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
1
1
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
1
1
1
1
1
1
1
1
1
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
1
1
1
635
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
601
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
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
0
0
0
1
1
0
1
1
1
1
1
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
1
1
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
1
1
1
634
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
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
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
1
1
1
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
1
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
1
1
1
633
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
1
1
1
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
1
1
1
1
1
1
1
1
1
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
1
1
1
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
1
1
1
1
1
1
1
1
1
0
0
0
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
594
594
1
1
1
1
1
1
594
594
1
1
1
1
1
1
1
1
0
0
0
1
1
1
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
1
1
1
632
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
594
1
1
1
1
1
1
1
1
1
0
0
0
1
1
594
594
1
1
1
1
1
1
594
594
1
1
1
1
1
1
1
1
1
1
1
1
1
1
593
593
1
1
1
1
1
1
593
593
1
1
1
1
1
1
1
1
1
1
1
1
1
1
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
1
1
1
1
1
1
1
1
1
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
1
1
1
631
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
593
1
1
1
1
1
1
1
1
1
0
0
1
1
1
593
593
1
1
1
1
1
1
593
593
1
1
1
1
1
1
1
1
1
1
1
1
1
1
592
592
1
1
1
1
1
592
592
592
1
1
1
1
1
1
1
1
1
1
1
1
1
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
1
1
1
1
1
1
1
1
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
1
1
1
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
1
1
1
1
1
1
1
1
1
1
1
1
1
592
592
592
1
1
1
1
1
1
592
592
1
1
1
1
1
1
1
1
1
1
1
1
1
1
591
591
1
1
1
1
1
591
591
591
591
1
1
1
1
1
1
1
1
1
1
1
1
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
1
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
1
1
1
630
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
591
1
1
1
1
1
1
1
1
1
1
1
1
591
591
591
1
1
1
1
1
591
591
591
1
1
1
1
1
1
1
1
0
1
1
1
1
1
590
590
1
1
1
1
590
590
590
590
590
1
1
1
1
1
1
1
1
1
1
1
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
311
1
1
1
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
1
1
1
1
1
1
1
1
1
1
1
590
590
590
590
1
1
1
1
590
590
590
1
1
1
1
1
1
1
1
0
589
589
589
589
589
589
589
1
1
1
1
589
589
589
589
589
1
1
1
1
1
1
1
1
1
1
1
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
1
1
1
1
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
312
1
1
1
629
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
1
1
1
589
589
589
589
589
589
589
589
589
589
589
1
1
1
1
1
1
1
1
0
588
588
588
588
588
588
588
588
1
1
1
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
1
1
1
588
588
588
588
588
588
588
588
588
588
588
588
588
1
1
1
1
1
1
1
0
587
587
587
587
587
587
587
587
1
1
1
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
1
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
1
1
1
1
1
1
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
1
1
587
587
587
587
587
587
587
587
587
587
587
587
587
1
1
1
1
1
1
1
0
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
1
1
1
628
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
1
1
1
1
1
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
586
1
1
1
1
0
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
1
1
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
1
1
1
627
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
1
1
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
585
1
1
1
1
0
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
1
1
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
319
320
321
322
323
324
324
323
322
321
320
319
318
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
1
1
1
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
1
1
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
1
1
1
1
0
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
1
1
1
1
1
1
1
1
1
1
1
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
319
320
321
322
323
324
324
323
322
321
320
319
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
1
1
1
626
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
1
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
583
1
1
1
1
0
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
1
1
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
321
322
323
324
324
323
322
321
320
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
319
1
1
1
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
1
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
582
1
1
1
1
0
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
1
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
1
1
1
1
1
1
1
1
1
1
1
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
321
322
323
324
324
323
322
321
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
1
1
1
625
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
581
1
1
1
1
0
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
322
323
324
324
323
322
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
1
1
1
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
1
1
1
1
0
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
1
1
1
1
1
1
1
1
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
323
324
324
323
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
1
1
1
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
1
1
1
1
0
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
324
324
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
1
1
1
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
579
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
578
1
1
1
1
0
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
1
1
624
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
601
600
599
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
579
578
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
1
1
1
1
0
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
1
1
1
580
581
582
583
584
585
586
587
588
589
590
591
592
593
1
1
596
597
598
599
600
601
1
1
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
1
1
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
1
1
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
1
1
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
602
1
1
1
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
579
578
577
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
576
1
1
1
1
0
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
1
1
1
581
581
582
583
584
585
586
587
588
589
590
591
592
593
1
1
597
597
598
599
600
601
1
1
605
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
1
1
1
1
1
1
1
1
1
1
1
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
1
1
1
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
1
1
1
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
1
1
623
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
603
603
1
1
1
598
597
596
595
594
593
592
591
590
589
588
587
586
585
584
583
582
581
580
579
578
577
576
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
575
1
1
1
1
0
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
1
1
1
1
582
582
582
583
584
585
586
587
588
589
590
591
592
1
1
1
598
598
598
599
600
1
1
1
606
606
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
1
1
1
1
1
1
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
1
1
1
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
1
1
1
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
1
1
1
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
604
604
1
1
1
1
598
597
596
595
594
593
1
1
590
589
588
587
586
585
584
583
582
581
580
579
578
577
576
575
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
574
1
1
1
1
0
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
1
1
1
1
1
583
583
583
584
1
1
1
1
589
590
591
1
1
1
1
1
599
599
599
1
1
1
1
1
1
607
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
1
1
1
1
1
1
1
1
1
1
1
342
341
340
339
338
337
336
335
334
333
332
331
330
329
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
1
1
1
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
1
1
1
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
1
1
622
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
605
605
605
1
1
1
1
1
597
596
595
594
594
1
1
1
589
588
587
586
585
1
1
1
1
580
579
578
577
1
1
1
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
1
1
1
1
0
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
1
1
1
1
1
584
584
584
1
1
1
1
1
590
590
591
1
1
1
1
1
600
600
600
1
1
1
1
1
1
608
608
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
1
1
1
1
1
1
1
1
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
1
1
1
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
1
1
1
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
1
1
1
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
606
606
606
606
1
1
1
1
1
597
596
595
595
1
1
1
1
589
588
587
1
1
1
1
1
1
580
579
1
1
1
1
1
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
1
1
1
1
0
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
1
1
1
1
1
1
585
585
1
1
1
1
1
591
591
591
1
1
1
1
1
1
601
601
1
1
1
1
1
1
609
609
609
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
1
1
1
1
1
1
1
1
344
343
342
341
340
339
338
337
336
335
334
333
332
331
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
1
1
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
1
1
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
1
1
621
620
619
618
617
616
615
614
613
612
611
610
609
608
607
607
607
607
607
1
1
1
1
1
597
596
596
1
1
1
1
1
1
588
588
1
1
1
1
1
1
580
580
1
1
1
1
1
1
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
571
1
1
1
1
0
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
571
1
1
1
1
1
1
586
586
1
1
1
1
1
1
592
592
1
1
1
1
1
1
602
602
1
1
1
1
1
1
610
610
610
610
610
611
612
613
614
615
616
617
618
619
620
621
622
623
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
331
1
1
1
620
619
618
617
616
615
614
613
612
611
610
609
608
608
608
608
608
608
1
1
1
1
1
1
597
597
1
1
1
1
1
1
589
589
1
1
1
1
1
1
581
581
1
1
1
1
1
1
571
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
1
1
1
1
0
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
1
1
1
1
1
1
1
1
587
587
1
1
1
1
1
1
593
593
1
1
1
1
1
1
603
603
1
1
1
1
1
1
611
611
611
611
611
611
612
613
614
615
616
617
618
619
620
621
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
332
1
1
1
619
618
617
616
615
614
613
612
611
610
609
609
609
609
609
1
1
1
1
1
1
1
1
598
598
1
1
1
1
1
1
590
590
1
1
1
1
1
1
582
582
1
1
1
1
1
1
1
1
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
1
1
1
1
0
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
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
612
612
612
612
612
612
613
614
615
616
617
618
619
620
621
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
1
1
1
619
618
617
616
615
614
613
612
611
610
610
610
610
610
610
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
1
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
1
1
1
1
0
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
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
613
613
613
613
613
613
613
614
615
616
617
618
619
620
621
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
1
1
619
618
617
616
615
614
613
612
611
611
611
611
611
611
611
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
1
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
1
1
1
1
0
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
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
1
614
614
614
614
614
614
614
615
616
617
618
619
620
621
1
1
1
1
1
1
1
1
1
1
345
344
343
342
341
340
339
338
337
336
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
335
1
1
1
1
617
616
615
614
613
612
612
612
612
612
612
612
612
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
1
1
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
566
1
1
1
1
0
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
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
1
615
615
615
615
615
615
615
615
616
617
618
619
620
621
1
1
1
1
1
1
1
1
1
346
345
344
343
342
341
340
339
338
337
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
1
1
1
617
616
615
614
613
613
613
613
613
613
613
613
613
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
1
1
1
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
565
1
1
1
1
0
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
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
1
1
1
616
616
616
616
616
616
616
616
617
618
619
620
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
1
1
1
617
616
615
614
614
614
614
614
614
614
614
614
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
1
1
1
1
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
564
1
1
1
1
0
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
564
1
1
1
1
1
1
1
1
1
395
395
1
1
1
1
1
388
387
387
1
1
1
1
1
380
380
380
1
1
1
1
1
380
380
1
1
617
617
617
617
617
617
617
617
617
618
619
620
1
1
1
1
1
1
1
1
1
347
346
345
344
343
342
341
340
339
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
1
1
1
617
616
615
615
615
615
615
615
615
615
615
615
1
1
1
1
1
1
1
1
1
379
379
1
1
1
1
1
379
379
380
1
1
1
1
1
387
387
388
1
1
1
1
1
394
395
1
1
1
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
563
1
1
1
1
0
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
563
1
1
1
1
1
1
1
1
1
1
395
394
1
1
1
1
1
388
387
386
1
1
1
1
1
380
379
379
1
1
1
1
379
379
379
1
1
1
618
618
618
618
618
618
618
618
618
619
1
1
1
1
1
1
1
1
1
348
347
346
345
344
343
342
341
340
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
339
1
1
1
616
616
616
616
616
616
616
616
616
616
1
1
1
1
1
1
1
1
1
1
378
378
1
1
1
1
1
378
379
380
1
1
1
1
1
386
387
388
1
1
1
1
393
394
395
1
1
1
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
1
1
1
1
0
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
1
1
1
1
1
1
1
1
1
1
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
378
378
378
378
378
378
378
378
1
1
1
619
619
619
619
619
619
619
619
1
1
1
1
1
1
1
1
1
349
348
347
346
345
344
343
342
341
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
340
1
1
1
617
617
617
617
617
617
617
1
1
1
1
1
1
1
1
1
1
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
1
1
1
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
1
1
1
1
0
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
1
1
1
1
1
1
1
1
1
1
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
377
377
377
377
377
377
377
1
1
1
620
620
620
620
620
620
620
620
1
1
1
1
1
1
1
1
350
349
348
347
346
345
344
343
342
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
1
1
1
618
618
618
618
618
618
618
1
1
1
1
1
1
1
1
1
1
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
1
1
1
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
1
1
1
1
0
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
1
1
1
1
1
1
1
1
1
1
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
376
376
376
376
376
376
376
1
1
621
621
621
621
621
621
621
621
1
1
1
1
1
1
1
1
350
349
348
347
346
345
344
343
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
1
1
619
619
619
619
619
619
619
1
1
1
1
1
1
1
1
1
1
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
1
1
1
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
559
1
1
1
1
0
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
1
1
1
1
1
1
1
1
1
1
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
375
375
375
375
375
375
1
1
1
1
622
622
622
622
622
1
1
1
1
1
1
1
1
351
350
349
348
347
346
345
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
1
1
1
1
620
620
620
620
620
1
1
1
1
1
1
1
1
1
1
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
1
1
1
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
558
1
1
1
1
0
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
1
1
1
1
1
1
1
1
1
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
374
374
374
374
374
374
1
1
1
623
623
623
623
623
1
1
1
1
1
1
1
1
351
350
349
348
347
346
345
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
1
1
1
621
621
621
621
621
1
1
1
1
1
1
1
1
1
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
1
1
1
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
1
1
1
1
0
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
1
1
1
1
1
1
1
1
1
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
373
373
373
373
373
1
1
1
624
624
624
624
1
1
1
1
1
1
1
1
352
351
350
349
348
347
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
1
1
1
622
622
622
622
1
1
1
1
1
1
1
1
1
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
1
1
1
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
1
1
1
1
0
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
1
1
1
1
1
1
1
1
1
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
372
372
372
372
1
1
1
625
625
625
625
1
1
1
1
1
1
1
1
352
351
350
349
348
347
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
1
1
1
623
623
623
623
1
1
1
1
1
1
1
1
1
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
1
1
1
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
555
1
1
1
1
0
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
1
1
1
1
1
1
1
1
1
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
371
371
371
371
1
1
1
626
626
1
1
1
1
1
1
1
1
1
352
351
350
349
348
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
1
1
1
624
624
1
1
1
1
1
1
1
1
1
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
1
1
1
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
554
1
1
1
1
0
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
1
1
1
1
1
1
1
1
1
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
370
370
370
370
1
1
627
627
1
1
1
1
1
1
1
1
353
352
351
350
349
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
348
1
1
625
625
1
1
1
1
1
1
1
1
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
1
1
1
1
0
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
1
1
1
1
1
1
1
1
1
1
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
369
369
369
1
1
1
1
1
1
1
1
1
1
1
1
353
352
351
350
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
1
1
1
1
1
1
1
1
1
1
1
1
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
1
1
1
1
0
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
1
1
1
1
1
1
1
1
1
1
1
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
368
368
1
1
1
1
1
1
1
1
1
1
1
354
353
352
351
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
1
1
1
1
1
1
1
1
1
1
1
1
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
1
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
1
1
1
1
0
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
1
1
1
1
1
1
1
1
1
1
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
367
367
1
1
1
1
1
1
1
1
1
1
354
353
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
1
1
1
1
1
1
1
1
1
1
1
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
1
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
1
1
1
1
0
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
1
1
1
1
1
1
1
1
1
1
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
366
1
1
1
1
1
1
1
1
1
355
354
353
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
1
1
1
1
1
1
1
1
1
1
1
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
1
1
1
1
1
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
1
1
1
1
0
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
1
1
1
1
1
1
1
1
1
1
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
1
1
1
1
1
1
1
1
1
355
354
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
353
1
1
1
1
1
1
1
1
1
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
1
1
1
1
0
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
1
1
1
1
1
1
1
1
1
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
1
1
1
1
1
1
1
356
355
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
1
1
1
1
1
1
1
1
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
548
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
1
1
1
1
0
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
547
1
1
1
1
1
1
1
1
1
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
1
1
1
1
1
357
356
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
355
1
1
1
1
1
1
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1
1
1
1
1
547
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
546
1
1
1
1
0
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
545
1
1
1
1
0
545
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
1
1
1
1
0
545
544
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
1
1
1
1
358
358
358
358
1
1
1
1
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
1
1
1
1
358
358
358
358
1
1
1
1
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
544
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
1
1
1
1
0
545
544
543
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
1
1
1
1
1
359
359
359
1
1
1
1
1
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
1
1
1
1
1
359
359
359
1
1
1
1
1
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
542
1
1
1
1
0
545
544
543
542
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
1
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
1
1
1
1
1
360
360
360
1
1
1
1
1
360
360
1
1
1
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
1
1
1
1
1
360
360
360
1
1
1
1
1
360
360
1
1
1
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
1
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
541
542
1
1
1
1
0
545
544
543
542
541
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
1
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
1
1
1
1
361
361
361
361
1
1
1
1
361
361
1
1
1
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
1
1
1
1
361
361
361
361
1
1
1
1
361
361
1
1
1
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
1
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
1
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
363
362
362
362
362
362
362
363
363
362
362
362
1
1
1
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
363
362
362
362
362
362
362
363
363
362
362
362
1
1
1
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
1
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
1
1
1
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
1
1
1
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
1
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
1
1
1
1
1
1
364
364
364
1
1
1
1
1
364
364
364
1
1
1
1
1
364
364
364
1
1
1
1
364
365
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
1
1
1
1
1
364
364
364
1
1
1
1
1
365
364
364
1
1
1
1
1
364
364
364
1
1
1
1
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
1
1
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
1
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
1
1
1
1
1
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
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
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
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
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
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
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
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
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
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
1
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
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
1
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
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
1
1
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
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
1
1
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
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
1
1
1
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
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
1
1
1
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
1
1
444
444
1
1
1
1
1
1
444
444
1
1
1
1
1
1
447
447
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
1
1
451
451
1
1
1
1
1
1
446
446
1
1
1
1
1
1
441
441
1
1
1
1
1
1
441
441
1
1
1
1
1
1
1
1
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
1
1
1
443
443
1
1
1
1
1
1
443
443
1
1
1
1
1
1
446
446
1
1
1
1
1
1
454
454
1
1
1
1
1
1
1
1
1
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
1
1
1
1
1
450
450
1
1
1
1
1
1
445
445
1
1
1
1
1
1
440
440
1
1
1
1
1
1
440
440
1
1
1
1
1
1
1
1
1
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
1
1
442
442
442
1
1
1
1
1
442
442
442
1
1
1
1
1
1
445
445
1
1
1
1
1
1
453
453
453
1
1
1
1
1
1
1
1
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
1
1
1
1
450
449
449
1
1
1
1
1
1
444
444
1
1
1
1
1
1
439
439
1
1
1
1
1
439
439
439
1
1
1
1
1
1
1
1
1
1
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
1
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
1
1
1
441
441
441
1
1
1
1
1
441
441
441
1
1
1
1
1
444
444
444
1
1
1
1
1
452
452
452
452
1
1
1
1
1
1
1
1
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
1
1
1
1
450
449
448
1
1
1
1
1
443
443
443
1
1
1
1
1
1
438
438
438
1
1
1
1
438
438
438
438
1
1
1
1
1
1
1
1
1
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
1
1
440
440
440
440
440
1
1
1
440
440
440
440
1
1
1
1
1
443
443
443
1
1
1
1
1
451
451
451
452
453
1
1
1
1
1
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
1
1
1
1
451
450
449
448
447
446
1
1
1
442
442
442
1
1
1
1
1
1
437
437
437
437
1
1
437
437
437
437
437
437
1
1
1
1
1
1
1
1
1
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
1
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
1
1
1
439
439
439
439
439
439
439
439
439
439
439
439
1
1
1
1
442
442
442
443
444
1
1
1
450
450
450
451
452
453
1
1
1
1
1
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
1
1
1
1
451
450
449
448
447
446
445
444
443
442
441
441
1
1
1
1
436
436
436
436
436
436
1
1
436
436
436
436
436
1
1
1
1
1
1
1
1
1
1
1
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
1
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
1
1
438
438
438
438
438
438
438
438
438
438
438
438
438
438
1
1
1
441
441
442
443
444
445
1
1
449
449
450
451
452
453
454
1
1
1
1
1
1
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
1
1
1
1
451
450
449
448
447
446
445
444
443
442
441
440
440
1
1
1
435
435
435
435
435
435
435
435
435
435
435
435
435
435
1
1
1
1
1
1
1
1
1
1
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
1
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
1
1
1
437
437
437
437
437
437
437
437
437
437
437
437
437
437
1
1
1
440
441
442
443
444
445
1
1
448
449
450
451
452
453
454
1
1
1
1
1
1
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
1
1
1
1
451
450
449
448
447
446
445
444
443
442
441
440
439
1
1
1
435
434
434
434
434
434
434
434
434
434
434
434
434
434
1
1
1
1
1
1
1
1
1
1
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
1
1
1
1
1
1
1
1
409
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
1
1
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
1
1
1
1
1
1
1
1
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
1
1
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
433
433
433
433
433
433
433
433
433
433
433
1
1
1
1
1
1
1
1
1
1
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
1
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
1
1
1
1
1
1
1
1
1
408
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
1
1
1
435
435
435
435
435
435
435
435
435
435
435
435
435
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
1
1
1
1
1
1
1
1
1
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
1
1
1
1
380
1
1
1
1
1
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
432
432
432
432
432
432
432
432
432
432
432
1
1
1
1
1
1
1
1
1
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
1
1
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
1
1
1
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
1
1
1
1
1
1
1
1
1
1
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
1
1
1
1
381
1
1
1
1
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
431
431
431
431
431
431
431
431
431
431
431
1
1
1
1
1
1
1
1
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1
1
1
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
1
1
1
1
1
1
1
1
1
407
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
1
1
1
433
433
433
433
433
433
433
433
433
433
433
433
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
1
1
1
1
1
1
1
1
1
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
1
1
1
1
382
1
1
1
1
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
430
430
430
430
430
430
430
430
430
430
1
1
1
1
1
1
1
1
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
1
1
1
1
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
1
1
1
1
1
1
1
1
1
406
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
1
1
1
432
432
432
432
432
432
432
432
432
432
432
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
1
1
1
1
1
1
1
1
1
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
1
1
1
1
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
429
429
429
429
429
429
429
429
429
429
429
1
1
1
1
1
1
1
1
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
1
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
1
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
1
1
431
431
431
431
431
431
431
431
431
431
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
1
1
1
1
1
1
1
1
1
1
1
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
1
1
1
389
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
428
428
428
428
428
428
428
428
428
428
1
1
1
1
1
1
1
1
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
1
1
1
1
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
1
1
430
430
430
430
430
430
430
430
430
430
430
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
1
1
1
1
1
1
1
1
1
1
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
1
1
388
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
427
427
427
427
427
427
427
427
427
427
1
1
1
1
1
1
1
1
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
1
1
1
429
429
429
429
429
429
429
429
429
429
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
1
1
1
1
1
1
1
1
1
1
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
387
388
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
426
426
426
426
426
426
426
426
426
1
1
1
1
1
1
1
1
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
514
514
514
514
514
514
514
514
514
514
514
514
514
1
1
1
1
1
1
1
1
1
1
405
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
1
1
1
428
428
428
428
428
428
428
428
428
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
1
1
1
1
1
1
1
1
1
1
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
388
1
1
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
425
425
425
425
425
425
425
425
425
1
1
1
1
1
1
1
1
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
1
1
1
1
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
1
1
1
1
1
1
1
1
1
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
1
1
1
1
1
427
427
427
427
427
427
427
427
427
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
1
1
1
1
1
1
1
1
1
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
1
1
1
388
388
388
388
1
1
1
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
424
424
424
424
424
424
424
424
1
1
1
1
1
1
1
1
1
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
1
1
1
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
1
1
1
1
1
1
1
1
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
1
1
389
389
389
389
389
389
389
389
389
389
389
389
1
1
1
1
426
426
426
426
426
426
426
426
426
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
1
1
1
1
1
1
1
1
1
1
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
1
1
1
389
389
389
389
1
1
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
423
423
423
423
423
423
423
1
1
1
1
1
1
1
1
1
1
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
1
1
1
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
511
511
511
511
511
511
511
511
511
511
511
511
511
1
1
1
1
1
1
1
1
404
403
402
401
400
399
398
397
396
395
394
393
392
391
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
1
1
1
1
390
390
390
390
390
390
390
390
390
390
390
1
1
1
1
425
425
425
425
425
425
425
425
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
1
1
1
1
1
1
1
1
1
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
1
1
1
390
390
390
1
1
1
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
422
422
422
422
422
422
422
1
1
1
1
1
1
1
1
1
390
390
390
390
390
390
390
390
1
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
391
392
393
394
395
396
397
398
399
400
401
402
403
1
1
1
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
510
510
510
510
510
510
510
510
510
510
510
510
510
1
1
1
1
1
1
1
1
403
402
401
400
399
398
397
396
395
394
393
392
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
1
1
1
1
391
391
391
391
391
391
391
391
391
391
1
1
1
1
424
424
424
424
424
424
424
424
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
1
1
1
1
1
1
1
1
1
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
1
1
1
391
391
391
1
1
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
421
421
421
421
421
421
421
1
1
1
1
1
1
1
1
1
391
391
391
391
391
391
1
1
1
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
391
392
393
394
395
396
397
398
399
400
401
402
1
1
1
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
509
509
509
509
509
509
509
509
509
509
509
509
1
1
1
1
1
1
1
1
403
402
401
400
399
398
397
396
395
394
393
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
393
1
1
1
1
1
392
392
392
392
392
392
392
1
1
1
1
423
423
423
423
423
423
423
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
1
1
1
1
1
1
1
1
1
1
1
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
393
392
392
392
1
1
1
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
420
420
420
420
420
1
1
1
1
1
1
1
1
1
1
1
392
392
392
392
392
1
1
1
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
393
394
395
396
397
398
399
400
401
402
1
1
1
509
509
509
509
509
509
509
509
509
509
509
509
509
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
508
508
508
508
508
508
508
508
508
508
508
508
1
1
1
1
1
1
1
1
402
401
400
399
398
397
396
395
394
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
1
1
1
1
1
393
393
393
393
393
393
393
1
1
1
1
422
422
422
422
422
422
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
1
1
1
1
1
1
1
1
1
1
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
1
1
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
419
419
419
419
419
1
1
1
1
1
1
1
1
1
1
393
393
393
393
1
1
1
1
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
394
395
396
397
398
399
400
401
1
1
1
508
508
508
508
508
508
508
508
508
508
508
508
508
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
507
507
507
507
507
507
507
507
507
507
507
1
1
1
1
1
1
1
1
402
401
400
399
398
397
396
395
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
1
1
1
1
394
394
394
394
394
394
394
1
1
1
1
421
421
421
421
421
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
1
1
1
1
1
1
1
1
1
1
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
1
1
1
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
418
418
418
418
1
1
1
1
1
1
1
1
1
1
394
394
394
1
1
1
1
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
394
395
396
397
398
399
400
1
1
1
1
507
507
507
507
507
507
507
507
507
507
507
507
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
506
506
506
506
506
506
506
506
506
506
506
1
1
1
1
1
1
1
1
401
400
399
398
397
396
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
1
1
1
1
1
395
395
395
395
395
395
1
1
420
420
420
420
420
420
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
1
1
1
1
1
1
1
1
1
1
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
417
417
417
1
1
1
1
1
1
1
1
1
1
395
395
1
1
1
1
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
395
396
397
398
399
400
1
1
1
506
506
506
506
506
506
506
506
506
506
506
506
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
505
505
505
505
505
505
505
505
505
505
1
1
1
1
1
1
1
1
1
400
399
398
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
1
1
1
1
1
1
1
1
1
419
419
419
419
419
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
1
1
1
1
1
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
1
396
396
396
1
1
1
1
1
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
1
1
1
396
396
396
1
1
1
1
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
1
1
1
396
396
396
396
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
416
416
416
416
1
1
1
1
1
1
1
1
1
1
1
1
1
1
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
398
399
1
1
1
505
505
505
505
505
505
505
505
505
505
505
505
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
504
504
504
504
504
504
504
504
504
504
1
1
1
1
1
1
1
1
400
399
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
1
1
1
1
1
1
1
1
418
418
418
418
418
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
1
1
1
1
1
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
1
1
1
397
397
397
1
1
1
1
1
1
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
1
1
1
1
397
397
397
1
1
1
1
1
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
1
1
1
397
397
397
397
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
415
415
415
1
1
1
1
1
1
1
1
1
1
1
1
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
1
1
1
504
504
504
504
504
504
504
504
504
504
504
504
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
503
503
503
503
503
503
503
503
503
1
1
1
1
1
1
1
1
1
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
1
1
1
1
1
1
1
417
417
417
417
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
1
1
1
1
1
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
398
398
398
398
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
414
414
414
1
1
1
1
1
1
1
1
1
1
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
1
1
1
503
503
503
503
503
503
503
503
503
503
503
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
502
502
502
502
502
502
502
1
1
1
1
1
1
1
1
1
1
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
1
1
1
1
1
416
416
416
416
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
399
399
399
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
1
1
1
1
1
1
1
1
1
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
1
1
1
502
502
502
502
502
502
502
502
502
502
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
501
501
501
501
501
501
1
1
1
1
1
1
1
1
1
1
1
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
1
1
1
1
1
1
1
1
415
415
415
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
401
400
400
400
400
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
1
1
1
1
1
1
1
1
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
1
1
1
1
501
501
501
501
501
501
501
501
501
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
500
500
500
500
500
500
1
1
1
1
1
1
1
1
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
1
1
1
1
1
1
414
414
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
1
1
1
1
1
1
1
1
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
1
1
500
500
500
500
500
500
500
500
500
500
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
499
499
499
499
499
499
1
1
1
1
1
1
1
1
1
1
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
1
1
1
413
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
1
1
1
1
1
403
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
1
1
1
499
499
499
499
499
499
499
499
499
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
498
498
498
498
498
1
1
1
1
1
1
1
1
1
1
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
1
1
1
1
1
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
1
1
1
1
1
1
1
1
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
1
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
1
1
1
1
404
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
1
1
1
498
498
498
498
498
498
498
498
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
497
497
497
497
497
497
1
1
1
1
1
1
1
1
1
404
404
404
1
1
1
1
1
404
404
404
1
1
1
1
1
404
404
404
1
1
1
1
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
404
404
404
404
404
404
404
404
404
404
404
1
1
1
1
1
411
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
1
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
1
1
405
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
1
1
1
1
1
1
404
404
404
1
1
1
1
1
404
404
404
1
1
1
1
404
404
404
1
1
1
497
497
497
497
497
497
497
497
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
496
496
496
496
496
1
1
1
1
1
1
1
1
1
405
405
405
1
1
1
1
1
405
405
405
1
1
1
1
1
405
405
405
1
1
1
1
1
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
405
405
405
405
405
405
405
405
405
405
405
1
1
1
410
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
405
1
1
1
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
1
1
1
1
1
1
1
405
405
405
1
1
1
1
1
405
405
405
1
1
1
1
1
1
1
1
1
496
496
496
496
496
496
496
496
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
495
495
495
495
495
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
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
406
406
406
406
406
406
406
406
406
406
406
406
1
1
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
1
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
1
406
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
1
1
1
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
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
495
495
495
495
495
495
495
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
494
494
494
494
494
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
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
1
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
1
1
1
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
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
494
494
494
494
494
494
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
493
493
493
493
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
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
1
1
1
1
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
1
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
1
1
1
1
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
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
493
493
493
493
493
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
492
492
492
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
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
1
1
1
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
414
415
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
1
1
1
1
1
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
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
492
492
492
492
492
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
491
491
491
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
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
1
1
1
1
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
1
1
1
1
1
1
1
418
417
417
1
1
1
1
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
1
418
419
1
1
1
1
1
1
1
1
1
1
1
1
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
413
414
415
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
1
1
1
1
1
1
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
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
491
491
491
491
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
490
490
1
1
1
1
1
1
1
482
482
1
1
1
1
1
1
474
474
1
1
1
1
1
1
474
474
1
1
1
1
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
0
1
1
1
1
1
1
1
1
1
418
417
416
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
417
418
419
1
1
1
1
1
1
1
1
1
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
412
413
414
415
1
1
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
1
1
1
1
1
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
1
1
472
472
1
1
1
1
1
1
472
472
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
490
490
490
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
489
489
1
1
1
1
1
1
481
481
1
1
1
1
1
1
473
473
1
1
1
1
1
1
473
473
1
1
1
1
1
1
1
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
1
1
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
1
1
1
1
1
419
418
417
416
415
414
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
413
414
415
416
417
418
419
420
1
1
0
0
1
1
1
1
1
1
1
1
1
412
412
412
412
412
412
412
412
1
1
412
412
412
412
412
412
412
412
412
412
1
1
412
412
412
412
412
412
412
413
414
415
416
417
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
1
1
1
1
1
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
1
1
1
471
471
1
1
1
1
1
1
471
471
1
1
1
1
1
1
480
480
1
1
1
1
1
1
489
489
489
489
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
488
1
1
1
1
1
1
480
480
1
1
1
1
1
1
472
472
1
1
1
1
1
1
472
472
1
1
1
1
1
1
1
1
1
1
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
1
1
1
1
1
1
1
1
1
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
1
1
1
1
420
419
418
417
416
415
414
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
414
415
416
417
418
419
420
421
1
1
0
1
1
1
1
1
1
1
1
1
413
413
413
413
413
413
1
1
1
1
1
413
413
413
413
413
413
413
413
413
1
1
1
413
413
413
413
413
1
1
414
415
416
417
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
1
1
1
1
1
1
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
413
1
1
1
470
470
470
1
1
1
1
1
470
470
470
1
1
1
1
1
1
479
479
1
1
1
1
1
1
488
488
488
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
1
1
1
1
1
481
480
479
1
1
1
1
1
1
472
471
471
1
1
1
1
471
471
471
471
1
1
1
1
1
1
1
1
1
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
1
1
1
1
1
1
1
1
414
414
414
414
414
1
1
414
414
414
414
414
1
1
1
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
1
1
1
1
1
420
419
418
417
416
415
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
415
416
417
418
419
420
421
1
1
0
1
1
1
1
1
1
1
1
1
414
414
414
414
414
1
1
1
1
1
1
414
414
1
1
414
414
414
414
414
1
1
1
414
414
414
414
1
1
1
1
415
416
417
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
1
1
1
1
1
1
1
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
1
1
1
469
469
469
469
1
1
1
1
469
469
470
1
1
1
1
1
1
478
478
1
1
1
1
1
487
487
487
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
1
1
1
481
480
479
478
1
1
1
1
1
472
471
470
470
1
1
1
470
470
470
470
470
1
1
1
1
1
1
1
1
1
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
415
415
415
415
1
1
1
415
415
415
1
1
1
1
1
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
1
1
1
1
1
1
1
1
1
421
420
419
418
417
416
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
416
417
418
419
420
421
1
1
1
1
1
1
1
1
1
1
1
1
1
415
415
415
415
1
1
1
1
1
1
415
415
1
1
1
415
415
415
1
1
1
1
1
415
415
415
1
1
1
1
416
416
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
1
1
1
1
1
1
1
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
1
1
1
468
468
468
468
468
1
1
468
468
469
470
471
472
1
1
1
1
477
478
1
1
1
1
1
486
486
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
1
1
469
469
469
469
469
1
1
1
1
1
1
1
1
1
1
1
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
416
416
416
1
1
1
1
416
416
416
1
1
1
1
1
1
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
1
1
1
1
1
1
1
1
1
421
420
419
418
417
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
417
418
419
420
421
422
1
1
1
1
1
1
1
1
1
1
1
1
416
416
416
416
1
1
1
1
1
1
416
416
1
1
1
1
416
416
1
1
1
1
1
1
416
416
1
1
1
1
417
417
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
1
1
1
1
1
1
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
1
1
1
1
467
467
467
467
467
1
1
467
468
469
470
471
472
473
474
475
476
477
478
1
1
1
1
485
485
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
468
468
468
468
468
468
468
1
1
1
1
1
1
1
1
1
1
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
1
1
1
1
1
1
1
1
1
417
417
1
1
1
1
1
417
417
1
1
1
1
1
1
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
0
1
1
1
1
1
1
1
1
1
422
421
420
419
418
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
418
419
420
421
422
1
1
1
1
1
1
1
1
1
1
1
1
1
417
417
417
1
1
1
1
1
1
417
1
1
1
1
1
417
417
1
1
1
1
1
1
417
417
1
1
1
418
418
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
1
1
1
1
1
1
1
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
1
1
466
466
466
466
466
466
466
466
466
467
468
469
470
471
472
473
474
475
476
477
478
479
1
1
1
484
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
467
467
467
467
467
467
1
1
1
1
1
1
1
1
1
1
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
418
1
1
1
1
1
1
418
418
1
1
1
1
1
1
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
0
1
1
1
1
1
1
1
1
1
422
421
420
419
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
419
420
421
422
423
1
1
1
1
1
1
1
1
1
1
1
1
418
418
418
1
1
1
1
1
1
1
1
1
1
1
1
418
418
1
1
1
1
1
1
418
418
418
1
419
419
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
1
1
1
1
1
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
1
1
1
465
465
465
465
465
465
465
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
1
1
1
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
466
466
466
466
466
1
1
1
1
1
1
1
1
1
1
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
419
1
1
1
1
1
1
1
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
0
0
1
1
1
1
1
1
1
1
1
422
421
420
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
420
421
422
423
1
1
1
1
1
1
1
1
1
1
1
1
1
419
419
419
1
1
1
1
424
1
1
1
1
1
1
1
419
1
1
1
1
1
1
1
419
419
419
420
420
1
1
1
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
1
1
1
1
1
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
1
1
1
464
464
464
464
464
464
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
465
465
465
465
465
465
1
1
1
1
1
1
1
1
1
420
420
420
1
1
1
1
1
420
420
420
1
1
1
1
1
1
1
1
1
1
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
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
420
420
420
420
420
420
420
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
423
422
421
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
421
422
423
424
1
1
1
0
1
1
1
1
1
1
1
1
420
420
420
420
421
422
423
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
420
421
1
1
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
1
1
1
1
1
1
1
1
1
1
420
420
1
1
1
1
1
420
420
420
1
1
1
1
420
420
420
1
1
1
463
463
463
463
463
463
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
464
464
464
464
464
1
1
1
1
1
1
1
1
1
421
421
421
1
1
1
1
1
421
421
421
1
1
1
1
1
1
1
1
1
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
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
421
421
421
421
421
421
421
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
423
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
423
424
1
1
1
0
1
1
1
1
1
1
1
1
1
421
421
421
421
422
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
421
421
1
1
1
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
1
1
1
1
1
1
1
1
1
1
421
421
1
1
1
1
1
421
421
421
1
1
1
1
1
1
1
1
1
462
462
462
462
462
462
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
463
463
463
463
463
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
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
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
422
422
422
422
422
422
422
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
423
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
423
424
425
1
1
0
1
1
1
1
1
1
1
1
1
422
422
422
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
422
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
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
461
461
461
461
461
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
462
462
462
462
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
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
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
423
423
423
423
423
423
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
424
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
424
425
1
1
1
1
1
1
1
1
1
1
1
1
1
423
423
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
423
1
1
1
1
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
423
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
460
460
460
460
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
461
461
461
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
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
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
424
424
1
1
1
424
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
425
426
1
1
1
1
1
1
1
1
1
1
1
1
424
424
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
424
1
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
424
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
459
459
459
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
460
460
460
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
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
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
425
425
1
1
1
425
1
1
1
1
1
1
1
1
1
1
1
1
1
1
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
1
1
1
1
1
1
1
1
1
1
1
1
1
425
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
425
425
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
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
458
458
458
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
459
459
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
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
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
426
426
1
1
1
426
1
1
1
1
1
1
1
1
1
1
1
1
1
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
1
1
1
1
1
1
1
1
1
1
1
1
1
426
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
426
426
1
1
1
1
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
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
457
457
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
458
458
1
1
1
1
1
1
1
452
452
1
1
1
1
1
1
444
444
1
1
1
1
1
1
1
1
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
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
427
427
1
1
1
427
1
1
0
0
1
1
1
1
1
1
1
1
1
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
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
1
1
427
427
427
1
1
1
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
1
1
1
1
1
1
1
1
441
441
1
1
1
1
1
1
450
450
1
1
1
1
1
1
1
1
456
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
457
457
1
1
1
1
1
1
451
451
1
1
1
1
1
1
443
443
1
1
1
1
1
1
429
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
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
428
428
428
429
428
1
1
1
1
1
1
1
1
1
1
1
1
1
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
1
1
1
0
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
1
0
0
1
1
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
429
1
1
1
1
1
1
440
440
1
1
1
1
1
1
449
449
1
1
1
1
1
1
455
455
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
456
1
1
1
1
1
1
450
450
1
1
1
1
1
1
442
442
1
1
1
1
1
1
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
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
429
429
429
1
1
1
1
1
1
1
1
1
1
1
1
1
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
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
1
1
1
1
0
0
1
1
1
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
1
1
1
1
1
1
439
439
1
1
1
1
1
1
448
448
1
1
1
1
1
1
454
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
455
1
1
1
1
449
449
449
1
1
1
1
1
441
441
441
1
1
1
1
1
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
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
1
430
430
430
1
1
1
1
1
1
1
1
1
1
1
1
1
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
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
1
1
1
1
1
0
1
1
1
1
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
430
1
1
1
1
1
1
438
438
1
1
1
1
1
447
447
447
447
1
1
1
1
453
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
454
1
1
1
449
448
448
1
1
1
1
1
441
440
440
1
1
1
1
1
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
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
1
431
431
431
1
1
1
1
1
1
1
1
1
1
1
1
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
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
1
1
1
1
0
1
1
1
1
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
432
1
1
1
1
437
438
1
1
1
1
1
446
446
446
447
448
1
1
1
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
1
1
450
449
448
447
447
1
1
1
442
441
440
439
439
1
1
1
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
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
1
432
432
1
1
1
1
1
1
1
1
1
1
1
1
1
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
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
1
1
1
1
0
1
1
1
1
1
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
434
435
436
437
438
1
1
1
1
445
445
445
446
447
448
1
1
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
446
1
1
442
441
440
439
438
438
1
1
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
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
1
1
433
433
1
1
0
1
1
1
1
1
1
1
1
1
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
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
1
1
1
0
0
1
1
1
1
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
435
436
437
438
439
1
1
1
444
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
1
1
442
441
440
439
438
437
1
1
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
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
1
434
434
1
1
1
0
1
1
1
1
1
1
1
1
1
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
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
1
1
1
0
0
1
1
1
1
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
436
437
438
439
1
1
1
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
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
1
435
435
1
1
1
0
1
1
1
1
1
1
1
1
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
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
1
1
0
0
0
1
1
1
1
1
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
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
439
438
437
436
436
1
1
1
1
1
1
1
1
1
1
1
1
1
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
1
1
1
0
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
1
0
0
1
1
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
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
438
437
437
437
1
1
1
1
1
1
1
1
1
1
1
1
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
1
1
1
0
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
1
0
0
1
1
1
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
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
438
438
438
1
1
1
1
1
1
1
1
1
1
1
1
1
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
1
1
0
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
1
1
0
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
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
439
439
439
1
1
1
1
1
1
1
1
1
1
1
1
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
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
1
1
1
1
1
0
1
1
1
1
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
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
1
440
440
1
1
1
1
1
1
1
1
1
1
1
1
1
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
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
1
1
1
1
0
1
1
1
1
1
454
453
452
451
450
449
448
447
446
445
444
443
442
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
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
1
441
441
1
1
0
1
1
1
1
1
1
1
1
1
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
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
1
1
1
1
0
0
1
1
1
1
454
453
452
451
450
449
448
447
446
445
444
443
442
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
443
444
445
446
447
448
449
450
451
452
453
454
455
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
1
442
442
1
1
1
0
1
1
1
1
1
1
1
1
1
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
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
1
1
1
1
0
0
1
1
1
1
454
453
452
451
450
449
448
447
446
445
444
443
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
444
445
446
447
448
449
450
451
452
453
454
455
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
1
443
443
1
1
0
0
1
1
1
1
1
1
1
1
1
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
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
1
1
0
0
0
1
1
1
1
1
453
452
451
450
449
448
447
446
445
444
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
445
446
447
448
449
450
451
452
453
454
455
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
1
444
444
1
1
1
0
1
1
1
1
1
1
1
1
1
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
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
1
1
1
1
0
0
0
0
0
1
1
1
453
452
451
450
449
448
447
446
445
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
446
447
448
449
450
451
452
453
454
455
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
1
445
445
445
1
1
1
1
1
1
1
1
1
1
1
1
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
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
1
1
1
1
1
0
0
0
1
1
1
454
453
452
451
450
449
448
447
446
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
447
448
449
450
451
452
453
454
455
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
1
1
446
446
1
1
1
1
1
1
1
1
1
1
1
1
1
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
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
1
1
1
1
1
0
0
0
1
1
1
454
453
452
451
450
449
448
447
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
448
449
450
451
452
453
454
455
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
1
1
447
447
447
1
1
1
1
1
1
1
1
1
1
1
1
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
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
1
1
1
1
1
1
0
0
0
1
1
1
454
453
1
451
450
449
448
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
449
450
451
452
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
1
1
1
1
1
448
448
448
1
1
1
1
1
1
1
1
1
1
1
1
1
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
450
449
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
450
451
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
1
1
1
1
1
1
449
449
449
449
1
1
1
1
1
1
1
1
1
1
1
1
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
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
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
450
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
451
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
1
1
1
1
1
1
450
450
450
450
1
1
1
1
1
1
1
1
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
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
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
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
1
1
1
1
1
451
451
451
451
451
1
1
1
1
1
1
1
1
1
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
1
1
0
0
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
1
0
0
1
1
1
0
1
1
1
1
1
1
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
1
1
1
1
1
1
1
0
0
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
452
452
452
1
1
0
0
1
1
1
1
1
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
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
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
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
1
1
1
1
1
1
1
1
1
453
453
453
453
1
1
0
1
1
1
1
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
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
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
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
1
1
1
1
1
1
1
1
1
1
1
1
454
454
1
1
0
1
1
1
1
1
1
1
1
1
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
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
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
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
1
1
1
1
1
1
1
1
1
1
1
1
455
455
1
1
1
1
1
1
1
1
1
1
1
1
1
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
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
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
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
1
1
1
1
1
1
1
1
1
1
1
1
1
456
456
456
1
1
1
1
1
1
1
1
1
1
1
1
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
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
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
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
1
1
1
1
1
1
1
1
1
1
1
1
1
457
457
457
1
1
1
1
1
1
1
1
1
1
1
1
1
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
1
1
0
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
458
458
458
458
1
1
1
1
1
1
1
1
1
1
1
1
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
1
1
1
0
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
1
1
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
1
1
1
1
1
1
0
0
0
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
1
459
459
459
459
459
1
1
1
1
1
1
1
1
1
1
1
1
1
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
1
1
1
0
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
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
1
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
1
1
1
1
1
1
1
0
0
0
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
1
460
460
460
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
1
1
0
0
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
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
1
1
1
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
461
461
461
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
1
1
0
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
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
544
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
462
462
462
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
1
1
0
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
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
545
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
463
463
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
463
463
1
1
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
545
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
464
464
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
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
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
465
465
1
1
1
1
1
1
1
1
1
1
1
1
1
1
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
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
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
1
1
1
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
466
466
466
1
1
1
1
1
1
1
1
1
1
1
1
1
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
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
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
1
1
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
467
467
467
1
1
0
0
1
1
1
1
1
1
1
1
1
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
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
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
545
544
543
542
541
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
468
468
1
1
1
1
1
1
1
1
1
1
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
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
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
1
1
1
1
1
540
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
469
469
1
1
1
1
1
1
1
1
1
1
1
1
1
1
469
469
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
1
1
1
469
469
469
469
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
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
470
1
1
1
0
1
1
1
1
1
1
1
1
1
1
470
470
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
1
1
1
470
470
470
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
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
471
471
1
1
1
1
1
1
1
1
1
1
1
1
1
1
471
1
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
1
1
1
1
471
471
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
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
1
1
1
1
1
1
1
1
0
0
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
1
1
1
1
1
1
1
472
472
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
1
1
1
1
472
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
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
473
473
473
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
1
1
1
473
473
1
1
0
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
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
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
1
1
1
1
1
1
474
474
474
474
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
1
1
474
474
1
1
1
0
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
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
539
538
537
536
535
534
533
532
531
530
529
528
527
526
525
524
523
522
521
520
519
518
517
516
515
514
513
512
511
510
509
508
507
506
505
504
503
502
501
500
499
498
497
496
495
494
493
492
491
490
489
488
487
486
485
484
483
482
481
480
479
478
477
476
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
1
1
1
1
1
1
1
0
0
1
1
1
0
0
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
1
1
1
1
1
475
475
475
475
475
1
1
1
1
1
1
1
1
1
1
1
1
1
476
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
1
1
0
0
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
1
1
1
1
1
0
0
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
1
1
1
1
1
1
1
1
