0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
3
4
5
5
6
6
6
7
8
9
9
9
9
9
9
9
9
9
9
11
11
16
16
21
25
25
33
40
47
58
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
82
82
82
82
82
82
82
82
82
83
83
83
83
83
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
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
90
90
92
96
96
96
96
96
96
96
98
99
99
103
103
104
106
106
110
110
110
110
110
110
117
132
142
156
170
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
181
181
184
186
186
190
191
195
196
197
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
201
201
201
202
203
204
204
205
205
205
206
207
208
208
208
208
208
208
208
208
208
208
210
210
215
215
220
224
224
232
240
247
259
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
283
283
283
283
283
283
283
283
283
283
284
284
284
284
284
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
286
287
287
287
287
287
287
288
289
289
290
290
290
290
290
290
290
290
290
291
292
293
293
293
293
294
295
295
296
296
297
297
297
297
297
298
298
298
299
299
300
300
300
300
300
300
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
302
304
304
306
306
308
312
312
312
312
313
315
315
317
321
321
325
325
327
330
330
334
334
334
335
335
336
343
358
368
383
398
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
406
406
406
406
406
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
408
408
408
408
408
408
408
412
412
416
419
419
423
424
428
429
430
431
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
433
434
434
434
435
436
437
437
438
438
438
439
440
441
441
441
442
442
443
448
450
451
454
459
464
469
470
475
480
480
488
495
501
513
536
536
536
537
537
537
537
537
537
537
537
537
537
537
537
537
537
537
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
539
539
539
539
540
540
540
540
541
542
543
543
544
544
545
545
545
546
546
547
548
549
549
549
549
549
549
549
549
549
549
550
551
551
551
551
551
552
553
554
554
555
555
555
555
555
555
556
557
557
558
559
560
561
561
561
562
563
564
565
566
567
568
568
568
568
569
569
569
570
570
571
572
572
572
572
572
573
573
573
573
574
574
574
574
577
577
577
577
577
580
580
582
586
586
590
590
593
597
597
601
602
606
611
614
619
624
628
633
638
643
648
653
658
658
662
666
670
673
684
697
712
727
742
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
755
756
756
756
756
756
757
757
757
757
757
757
757
757
758
759
759
759
760
760
761
761
761
761
761
762
762
762
763
763
763
763
763
763
763
764
765
765
765
765
765
766
766
767
767
767
768
768
768
768
772
772
776
781
781
786
791
796
797
798
799
800
