3
0
1
0
2
1
1
2
5
0
4
2
8
6
7
6
1
7
7
1
5
6
3
1
8
9
6
9
10
6
6
10
3
9
11
10
11
12
10
12
13
10
10
13
3
12
14
13
11
15
12
15
16
12
12
16
14
15
17
16
17
18
16
18
19
16
16
19
14
18
20
19
17
21
18
21
22
18
18
22
20
21
23
22
23
24
22
24
25
22
22
25
20
24
26
25
23
27
24
27
28
24
24
28
26
27
29
28
29
30
28
30
31
28
28
31
26
30
32
31
4
33
2
33
34
2
2
34
5
33
35
34
35
33
36
33
37
36
36
37
38
33
4
37
41
39
40
39
36
40
40
36
38
39
35
36
41
40
42
40
43
42
42
43
44
40
38
43
38
45
43
45
46
43
43
46
44
45
47
46
41
48
39
48
49
39
39
49
35
48
50
49
50
51
49
51
52
49
49
52
35
51
53
52
44
46
54
46
55
54
54
55
56
46
47
55
59
57
58
57
55
58
58
55
47
57
56
55
62
60
61
60
58
61
61
58
47
60
59
58
65
63
64
63
60
64
64
60
62
63
59
60
68
66
67
66
64
67
67
64
62
66
65
64
65
66
69
66
70
69
69
70
71
66
68
70
68
72
70
72
73
70
70
73
71
72
74
73
74
75
73
75
76
73
73
76
71
75
77
76
77
78
76
78
79
76
76
79
71
78
80
79
80
78
81
78
82
81
81
82
83
78
77
82
86
84
85
84
81
85
85
81
83
84
80
81
89
87
88
87
54
88
88
54
56
87
44
54
92
90
91
90
87
91
91
87
89
90
44
87
50
93
51
93
94
51
51
94
53
93
92
94
92
93
95
93
48
95
95
48
41
93
50
48
44
90
42
90
95
42
42
95
41
90
92
95
98
96
97
96
91
97
97
91
89
96
92
91
92
96
99
96
100
99
99
100
101
96
98
100
98
102
100
102
103
100
100
103
101
102
104
103
101
103
105
103
106
105
105
106
53
103
104
106
92
99
94
99
105
94
94
105
53
99
101
105
104
107
106
107
108
106
106
108
53
107
109
108
53
108
110
108
111
110
110
111
112
108
109
111
35
52
113
52
110
113
113
110
112
52
53
110
35
113
34
113
114
34
34
114
5
113
112
114
89
115
97
115
116
97
97
116
98
115
117
116
120
118
119
118
115
119
119
115
89
118
117
115
56
121
88
121
119
88
88
119
89
121
120
119
124
122
123
122
121
123
123
121
56
122
120
121
59
125
57
125
123
57
57
123
56
125
124
123
128
126
127
126
125
127
127
125
59
126
124
125
65
129
63
129
127
63
63
127
59
129
128
127
132
130
131
130
129
131
131
129
65
130
128
129
71
133
69
133
131
69
69
131
65
133
132
131
136
134
135
134
133
135
135
133
71
134
132
133
80
137
79
137
135
79
79
135
71
137
136
135
140
138
139
138
111
139
139
111
109
138
112
111
143
141
142
141
139
142
142
139
109
141
140
139
143
142
144
142
107
144
144
107
104
142
109
107
147
145
146
145
144
146
146
144
104
145
143
144
147
146
148
146
102
148
148
102
98
146
104
102
151
149
150
149
148
150
150
148
98
149
147
148
117
152
116
152
150
116
116
150
98
152
151
150
155
153
154
153
141
154
154
141
143
153
140
141
155
156
153
156
157
153
153
157
140
156
158
157
158
156
159
156
160
159
159
160
161
156
155
160
164
162
163
162
159
163
163
159
161
162
158
159
164
165
162
165
166
162
162
166
158
165
167
166
167
168
166
168
169
166
166
169
158
168
170
169
167
171
168
171
172
168
168
172
170
171
173
172
173
174
172
174
175
172
172
175
170
174
176
175
176
174
177
174
178
177
177
178
179
174
173
178
182
180
181
180
177
181
181
177
179
180
176
177
185
183
184
183
180
184
184
180
182
183
176
180
188
186
187
186
184
187
187
184
182
186
185
184
185
186
189
186
190
189
189
190
11
186
188
190
188
191
190
191
15
190
190
15
11
191
17
15
17
191
21
191
192
21
21
192
23
191
188
192
188
193
192
193
194
192
192
194
23
193
195
194
188
187
193
187
196
193
193
196
195
187
182
196
182
197
196
197
198
196
196
198
195
197
199
198
182
181
197
181
200
197
197
200
199
181
179
200
179
201
200
201
202
200
200
202
199
201
203
202
199
202
204
202
205
204
204
205
206
202
203
205
203
207
205
207
208
205
205
208
206
207
209
208
199
204
210
204
211
210
210
211
212
204
206
211
195
198
213
198
210
213
213
210
212
198
199
210
195
213
214
213
215
214
214
215
29
213
212
215
23
194
27
194
214
27
27
214
29
194
195
214
185
189
216
189
9
216
216
9
8
189
11
9
219
217
218
217
216
218
218
216
8
217
185
216
219
218
220
218
7
220
220
7
5
218
8
7
223
221
222
221
220
222
222
220
5
221
219
220
223
222
224
222
114
224
224
114
112
222
5
114
140
225
138
225
224
138
138
224
112
225
223
224
170
226
227
226
221
227
227
221
223
226
219
221
170
175
226
175
228
226
226
228
219
175
176
228
176
183
228
183
217
228
228
217
219
183
185
217
158
169
229
169
227
229
229
227
223
169
170
227
158
229
157
229
225
157
157
225
140
229
223
225
203
230
207
230
231
207
207
231
209
230
232
231
235
233
234
233
230
234
234
230
203
233
232
230
179
236
201
236
234
201
201
234
203
236
235
234
235
236
237
236
238
237
237
238
239
236
179
238
179
178
238
178
240
238
238
240
239
178
173
240
239
240
241
240
171
241
241
171
167
240
173
171
244
242
243
242
241
243
243
241
167
242
239
241
167
165
243
165
245
243
243
245
244
165
164
245
164
246
245
246
247
245
245
247
244
246
248
247
164
163
246
163
249
246
246
249
248
163
161
249
161
250
249
250
251
249
249
251
248
250
252
251
161
253
250
253
254
250
250
254
252
253
255
254
161
160
253
160
256
253
253
256
255
160
155
256
155
257
256
257
258
256
256
258
255
257
259
258
259
257
260
257
154
260
260
154
143
257
155
154
255
258
261
258
262
261
261
262
263
258
259
262
259
264
262
264
265
262
262
265
263
264
266
265
259
260
267
260
145
267
267
145
147
260
143
145
266
264
268
264
267
268
268
267
147
264
259
267
263
265
269
265
270
269
269
270
271
265
266
270
266
272
270
272
273
270
270
273
271
272
274
273
266
268
275
268
149
275
275
149
151
268
147
149
274
272
276
272
275
276
276
275
151
272
266
275
279
277
278
277
276
278
278
276
151
277
274
276
274
277
273
277
280
273
273
280
271
277
279
280
117
281
152
281
278
152
152
278
151
281
279
278
284
282
283
282
281
283
283
281
117
282
279
281
120
285
118
285
283
118
118
283
117
285
284
283
120
122
285
122
286
285
285
286
284
122
124
286
124
287
286
287
288
286
286
288
284
287
289
288
124
126
287
126
290
287
287
290
289
126
128
290
128
291
290
291
292
290
290
292
289
291
293
292
293
291
294
291
130
294
294
130
132
291
128
130
297
295
296
295
294
296
296
294
132
295
293
294
300
298
299
298
296
299
299
296
132
298
297
296
136
301
134
301
299
134
134
299
132
301
300
299
304
302
303
302
301
303
303
301
136
302
300
301
307
305
306
305
303
306
306
303
136
305
304
303
307
306
308
306
137
308
308
137
80
306
136
137
86
309
84
309
308
84
84
308
80
309
307
308
304
310
302
310
311
302
302
311
300
310
312
311
312
313
311
313
314
311
311
314
300
313
315
314
300
314
298
314
316
298
298
316
297
314
315
316
315
317
316
317
318
316
316
318
297
317
319
318
297
318
295
318
320
295
295
320
293
318
319
320
319
321
320
321
322
320
320
322
293
321
323
322
293
322
292
322
324
292
292
324
289
322
323
324
323
325
324
325
326
324
324
326
289
325
327
326
289
326
288
326
328
288
288
328
284
326
327
328
327
329
328
329
330
328
328
330
284
329
331
330
284
330
282
330
332
282
282
332
279
330
331
332
331
333
332
333
334
332
332
334
279
333
335
334
279
334
280
334
336
280
280
336
271
334
335
336
312
337
313
337
338
313
313
338
315
337
339
338
339
340
338
340
341
338
338
341
315
340
342
341
315
341
317
341
343
317
317
343
319
341
342
343
342
344
343
344
345
343
343
345
319
344
346
345
319
345
321
345
347
321
321
347
323
345
346
347
327
348
329
348
349
329
329
349
331
348
350
349
350
348
351
348
325
351
351
325
323
348
327
325
350
352
349
352
353
349
349
353
331
352
354
353
331
353
333
353
355
333
333
355
335
353
354
355
354
356
355
356
357
355
355
357
335
356
358
357
335
357
336
357
359
336
336
359
271
357
358
359
358
360
359
360
361
359
359
361
271
360
362
361
271
361
363
361
364
363
363
364
365
361
362
364
263
269
366
269
363
366
366
363
365
269
271
363
263
366
367
366
368
367
367
368
369
366
365
368
255
261
370
261
367
370
370
367
369
261
263
367
255
370
254
370
371
254
254
371
252
370
369
371
369
372
371
372
373
371
371
373
252
372
374
373
374
375
373
375
376
373
373
376
252
375
377
376
252
376
251
376
378
251
251
378
248
376
377
378
377
379
378
379
380
378
378
380
248
379
381
380
248
380
247
380
382
247
247
382
244
380
381
382
381
383
382
383
384
382
382
384
244
383
385
384
244
384
242
384
386
242
242
386
239
384
385
386
385
387
386
387
388
386
386
388
239
387
389
388
389
390
388
390
391
388
388
391
239
390
392
391
392
393
391
393
237
391
391
237
239
393
235
237
235
393
233
393
394
233
233
394
232
393
392
394
392
395
394
395
396
394
394
396
232
395
397
396
232
396
398
396
399
398
398
399
400
396
397
399
232
398
231
398
401
231
231
401
209
398
400
401
404
402
403
402
401
403
403
401
400
402
209
401
404
405
402
405
406
402
402
406
209
405
407
406
407
408
406
408
208
406
406
208
209
408
206
208
407
409
408
409
410
408
408
410
206
409
411
410
411
412
410
412
211
410
410
211
206
412
212
211
212
412
215
412
413
215
215
413
29
412
411
413
411
414
413
414
415
413
413
415
29
414
416
415
416
417
415
417
418
415
415
418
29
417
419
418
419
420
418
420
30
418
418
30
29
420
32
30
416
421
417
421
422
417
417
422
419
421
423
422
416
414
421
414
424
421
421
424
423
414
411
424
423
425
422
425
426
422
422
426
419
425
427
426
427
425
428
425
429
428
428
429
430
425
423
429
433
431
432
431
428
432
432
428
430
431
427
428
433
432
434
432
435
434
434
435
86
432
430
435
83
436
85
436
434
85
85
434
86
436
433
434
307
309
437
309
435
437
437
435
430
309
86
435
440
438
439
438
437
439
439
437
430
438
307
437
440
439
441
439
429
441
441
429
423
439
430
429
444
442
443
442
441
443
443
441
423
442
440
441
411
445
424
445
443
424
424
443
423
445
444
443
444
445
446
445
409
446
446
409
407
445
411
409
449
447
448
447
446
448
448
446
407
447
444
446
440
442
450
442
447
450
450
447
449
442
444
447
449
448
451
448
452
451
451
452
453
448
407
452
407
405
452
405
454
452
452
454
453
405
404
454
457
455
456
455
450
456
456
450
449
455
440
450
449
451
456
451
458
456
456
458
457
451
453
458
440
455
459
455
460
459
459
460
304
455
457
460
307
438
305
438
459
305
305
459
304
438
440
459
463
461
462
461
454
462
462
454
404
461
453
454
466
464
465
464
462
465
465
462
404
464
463
462
466
465
467
465
403
467
467
403
400
465
404
403
400
468
467
468
469
467
467
469
466
468
470
469
397
471
399
471
468
399
399
468
400
471
470
468
397
472
471
472
473
471
471
473
470
472
474
473
474
472
475
472
476
475
475
476
477
472
397
476
397
395
476
395
478
476
476
478
477
395
392
478
392
390
478
390
479
478
478
479
477
390
389
479
389
480
479
480
481
479
479
481
477
480
482
481
482
480
483
480
387
483
483
387
385
480
389
387
486
484
485
484
483
485
485
483
385
484
482
483
474
487
473
487
488
473
473
488
470
487
489
488
492
490
491
490
488
491
491
488
489
490
470
488
470
490
469
490
493
469
469
493
466
490
492
493
466
493
464
493
494
464
464
494
463
493
492
494
497
495
496
495
491
496
496
491
489
495
492
491
492
495
498
495
499
498
498
499
500
495
497
499
492
498
494
498
501
494
494
501
463
498
500
501
497
502
499
502
503
499
499
503
500
502
504
503
497
505
502
505
506
502
502
506
504
505
507
506
507
508
506
508
509
506
506
509
504
508
510
509
507
511
508
511
512
508
508
512
510
511
513
512
516
514
515
514
511
515
515
511
507
514
513
511
519
517
518
517
515
518
518
515
507
517
516
515
519
518
520
518
505
520
520
505
497
518
507
505
489
521
496
521
520
496
496
520
497
521
519
520
524
522
523
522
517
523
523
517
519
522
516
517
527
525
526
525
523
526
526
523
519
525
524
523
527
526
528
526
521
528
528
521
489
526
519
521
524
525
529
525
530
529
529
530
531
525
527
530
527
532
530
532
533
530
530
533
531
532
534
533
534
535
533
535
536
533
533
536
531
535
537
536
537
538
536
538
539
536
536
539
531
538
540
539
543
541
542
541
538
542
542
538
537
541
540
538
546
544
545
544
542
545
545
542
537
544
543
542
546
547
544
547
548
544
544
548
543
547
549
548
549
550
548
550
551
548
548
551
543
550
552
551
552
550
553
550
554
553
553
554
555
550
549
554
549
556
554
556
557
554
554
557
555
556
558
557
513
559
512
559
560
512
512
560
510
559
561
560
527
562
532
562
563
532
532
563
534
562
474
563
474
562
487
562
528
487
487
528
489
562
527
528
474
475
563
475
564
563
563
564
534
475
477
564
537
535
565
535
564
565
565
564
477
535
534
564
482
566
481
566
565
481
481
565
477
566
537
565
537
566
545
566
567
545
545
567
546
566
482
567
482
484
567
484
568
567
567
568
546
484
486
568
571
569
570
569
568
570
570
568
486
569
546
568
549
547
572
547
569
572
572
569
571
547
546
569
575
573
574
573
570
574
574
570
486
573
571
570
575
576
573
576
577
573
573
577
571
576
578
577
578
579
577
579
580
577
577
580
571
579
581
580
584
582
583
582
572
583
583
572
571
582
549
572
584
583
585
583
580
585
585
580
581
583
571
580
558
556
586
556
582
586
586
582
584
556
549
582
589
587
588
587
585
588
588
585
581
587
584
585
581
579
590
579
591
590
590
591
592
579
578
591
595
593
594
593
590
594
594
590
592
593
581
590
589
588
596
588
593
596
596
593
595
588
581
593
575
574
597
574
598
597
597
598
381
574
486
598
486
485
598
485
383
598
598
383
381
485
385
383
592
591
599
591
600
599
599
600
374
591
578
600
603
601
602
601
599
602
602
599
374
601
592
599
595
594
604
594
601
604
604
601
603
594
592
601
607
605
606
605
602
606
606
602
374
605
603
602
607
606
608
606
372
608
608
372
369
606
374
372
365
609
368
609
608
368
368
608
369
609
607
608
612
610
611
610
609
611
611
609
365
610
607
609
362
613
364
613
611
364
364
611
365
613
612
611
616
614
615
614
613
615
615
613
362
614
612
613
358
617
360
617
615
360
360
615
362
617
616
615
620
618
619
618
617
619
619
617
358
618
616
617
354
621
356
621
619
356
356
619
358
621
620
619
624
622
623
622
621
623
623
621
354
622
620
621
350
625
352
625
623
352
352
623
354
625
624
623
624
625
626
625
627
626
626
627
628
625
350
627
350
629
627
629
630
627
627
630
628
629
631
630
631
632
630
632
633
630
630
633
628
632
346
633
346
634
633
634
635
633
633
635
628
634
636
635
639
637
638
637
634
638
638
634
346
637
636
634
342
640
344
640
638
344
344
638
346
640
639
638
643
641
642
641
640
642
642
640
342
641
639
640
646
644
645
644
641
645
645
641
643
644
639
641
639
644
637
644
647
637
637
647
636
644
646
647
650
648
649
648
645
649
649
645
643
648
646
645
339
651
340
651
642
340
340
642
342
651
643
642
646
652
647
652
653
647
647
653
636
652
654
653
636
653
635
653
655
635
635
655
628
653
654
655
339
656
651
656
657
651
651
657
643
656
658
657
661
659
660
659
656
660
660
656
339
659
658
656
658
659
662
659
663
662
662
663
453
659
661
663
463
664
461
664
662
461
461
662
453
664
658
662
453
663
458
663
665
458
458
665
457
663
661
665
457
665
666
665
667
666
666
667
312
665
661
667
312
667
337
667
660
337
337
660
339
667
661
660
304
460
310
460
666
310
310
666
312
460
457
666
463
501
664
501
668
664
664
668
658
501
500
668
500
669
668
669
670
668
668
670
658
669
671
670
658
670
657
670
672
657
657
672
643
670
671
672
675
673
674
673
649
674
674
649
643
673
650
649
671
676
672
676
674
672
672
674
643
676
675
674
675
677
673
677
678
673
673
678
650
677
679
678
679
680
678
680
681
678
678
681
650
680
682
681
650
681
648
681
683
648
648
683
646
681
682
683
646
684
652
684
685
652
652
685
654
684
686
685
686
687
685
687
688
685
685
688
654
687
689
688
689
690
688
690
691
688
688
691
654
690
692
691
692
693
691
693
694
691
691
694
654
693
695
694
654
694
655
694
696
655
655
696
628
694
695
696
628
696
626
696
697
626
626
697
624
696
695
697
695
698
697
698
699
697
697
699
624
698
700
699
624
699
622
699
701
622
622
701
620
699
700
701
700
702
701
702
703
701
701
703
620
702
704
703
704
705
703
705
706
703
703
706
620
705
707
706
707
708
706
708
618
706
706
618
620
708
616
618
682
709
683
709
684
683
683
684
646
709
686
684
679
677
710
677
711
710
710
711
510
677
675
711
679
710
712
710
560
712
712
560
561
710
510
560
682
713
709
713
714
709
709
714
686
713
715
714
715
716
714
716
717
714
714
717
686
716
718
717
686
717
687
717
719
687
687
719
689
717
718
719
718
720
719
720
721
719
719
721
689
720
722
721
689
721
690
721
723
690
690
723
692
721
722
723
722
724
723
724
725
723
723
725
692
724
726
725
726
727
725
727
728
725
725
728
692
727
729
728
729
730
728
730
731
728
728
731
692
730
732
731
692
731
693
731
733
693
693
733
695
731
732
733
732
734
733
734
698
733
733
698
695
734
700
698
732
735
734
735
736
734
734
736
700
735
737
736
737
738
736
738
702
736
736
702
700
738
704
702
737
739
738
739
740
738
738
740
704
739
741
740
741
742
740
742
705
740
740
705
704
742
707
705
741
743
742
743
744
742
742
744
707
743
745
744
745
746
744
746
747
744
744
747
707
746
748
747
748
749
747
749
750
747
747
750
707
749
612
750
612
614
750
614
708
750
750
708
707
614
616
708
612
749
610
749
751
610
610
751
607
749
748
751
748
752
751
752
605
751
751
605
607
752
603
605
755
753
754
753
752
754
754
752
748
753
603
752
745
756
746
756
754
746
746
754
748
756
755
754
755
757
753
757
604
753
753
604
603
757
595
604
741
758
743
758
759
743
743
759
745
758
760
759
760
761
759
761
762
759
759
762
745
761
763
762
766
764
765
764
756
765
765
756
745
764
755
756
763
767
762
767
765
762
762
765
745
767
766
765
770
768
769
768
757
769
769
757
755
768
595
757
766
771
764
771
769
764
764
769
755
771
770
769
770
772
768
772
596
768
768
596
595
772
589
596
775
773
774
773
758
774
774
758
741
773
760
758
737
776
739
776
774
739
739
774
741
776
775
774
779
777
778
777
776
778
778
776
737
777
775
776
732
780
735
780
778
735
735
778
737
780
779
778
779
780
781
780
782
781
781
782
783
780
732
782
732
730
782
730
784
782
782
784
783
730
729
784
766
767
785
767
786
785
785
786
787
767
763
786
763
761
786
761
788
786
786
788
787
761
760
788
791
789
790
789
785
790
790
785
787
789
766
785
760
792
788
792
793
788
788
793
787
792
794
793
779
781
795
781
796
795
795
796
797
781
783
796
783
798
796
798
799
796
796
799
797
798
800
799
797
799
801
799
802
801
801
802
803
799
800
802
803
804
801
804
805
801
801
805
797
804
806
805
806
807
808
807
809
808
808
809
794
807
810
809
813
811
812
811
808
812
812
808
794
811
806
808
806
811
805
811
814
805
805
814
797
811
813
814
813
815
816
815
777
816
816
777
779
815
775
777
797
814
795
814
816
795
795
816
779
814
813
816
800
817
802
817
818
802
802
818
803
817
819
818
813
812
820
812
792
820
820
792
760
812
794
792
775
815
773
815
820
773
773
820
760
815
813
820
794
809
821
809
822
821
821
822
823
809
810
822
787
793
824
793
821
824
824
821
823
793
794
821
791
790
825
790
824
825
825
824
823
790
787
824
828
826
827
826
825
827
827
825
823
826
791
825
828
829
826
829
830
826
826
830
791
829
831
830
831
832
830
832
833
830
830
833
791
832
834
833
831
835
832
835
836
832
832
836
834
835
837
836
837
838
836
838
839
836
836
839
834
838
840
839
837
841
838
841
842
838
838
842
840
841
843
842
843
844
842
844
845
842
842
845
840
844
846
845
843
847
844
847
848
844
844
848
846
847
849
848
849
850
848
850
851
848
848
851
846
850
558
851
834
839
852
839
853
852
852
853
770
839
840
853
834
852
854
852
771
854
854
771
766
852
770
771
791
833
789
833
854
789
789
854
766
833
834
854
840
855
853
855
772
853
853
772
770
855
589
772
840
845
855
845
856
855
855
856
589
845
846
856
846
857
856
857
587
856
856
587
589
857
584
587
846
851
857
851
586
857
857
586
584
851
558
586
558
850
858
850
859
858
858
859
860
850
849
859
555
557
861
557
858
861
861
858
860
557
558
858
346
632
347
632
862
347
347
862
323
632
631
862
631
629
862
629
351
862
862
351
323
629
350
351
865
863
864
863
712
864
864
712
561
863
679
712
682
680
866
680
863
866
866
863
865
680
679
863
715
713
867
713
866
867
867
866
865
713
682
866
675
868
711
868
509
711
711
509
510
868
504
509
675
676
868
676
869
868
868
869
504
676
671
869
671
669
869
669
503
869
869
503
504
669
500
503
578
870
600
870
375
600
600
375
374
870
377
375
578
576
870
576
871
870
870
871
377
576
575
871
575
597
871
597
379
871
871
379
377
597
381
379
