summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>2003-08-19 05:25:15 +0000
committerJason Wright <jason@cvs.openbsd.org>2003-08-19 05:25:15 +0000
commit432758174f40b8b581395fe1b3f85fb696c7e1f6 (patch)
tree53eef3ebf8e899f795a643bd1b36576dd610070c
parent96646966eefc0d0cbe51c45a487d38b4584e2808 (diff)
replace the brain dead perl implementation with an devious C implementation
(based on discussion with drahn... insanity is all mine tho =)
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/Makefile17
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/genasm.pl47
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/genc.pl62
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/simm.out8192
-rw-r--r--regress/sys/arch/sparc64/emul-popc/simm/simm13.c91
5 files changed, 93 insertions, 8316 deletions
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/Makefile b/regress/sys/arch/sparc64/emul-popc/simm/Makefile
index 31919d51869..692d487ded0 100644
--- a/regress/sys/arch/sparc64/emul-popc/simm/Makefile
+++ b/regress/sys/arch/sparc64/emul-popc/simm/Makefile
@@ -1,19 +1,6 @@
-# $OpenBSD: Makefile,v 1.4 2003/07/12 04:22:02 jason Exp $
+# $OpenBSD: Makefile,v 1.5 2003/08/19 05:25:14 jason Exp $
-# -O2 breaks this
-CFLAGS=-O0
PROG= simm13
-SRCS=simm13.c simm13_asm.S
-REGRESS_TARGETS=simm13_check
-CLEANFILES+=simm13.c simm13_asm.S
-
-simm13.c: genc.pl
- perl ${.CURDIR}/genc.pl > $@
-
-simm13_asm.S: genasm.pl
- perl ${.CURDIR}/genasm.pl > $@
-
-simm13_check: simm13
- ${.OBJDIR}/simm13 | diff -u - ${.CURDIR}/simm.out
+SRCS= simm13.c
.include <bsd.regress.mk>
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl b/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl
deleted file mode 100644
index 7557c64020e..00000000000
--- a/regress/sys/arch/sparc64/emul-popc/simm/genasm.pl
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/perl
-# $OpenBSD: genasm.pl,v 1.3 2003/07/10 15:21:12 jason Exp $
-#
-# Copyright (c) 2003 Jason L. Wright (jason@thought.net)
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-print "/* AUTOMATICALLY GENERATED, DO NOT EDIT */\n";
-print "#include <machine/asm.h>\n";
-print "#include <machine/trap.h>\n";
-print "#include <machine/frame.h>\n";
-print "\n";
-
-for ($i = -4096; $i <= 4095; $i++) {
- print "ENTRY(popc";
- if ($i < 0) {
- $v = -$i;
- print "__$v";
- } else {
- print "_$i";
- }
- print ")\n";
-
- print "\tretl\n";
- print "\t popc $i, %o0\n\n";
-}
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/genc.pl b/regress/sys/arch/sparc64/emul-popc/simm/genc.pl
deleted file mode 100644
index 67838a19fc2..00000000000
--- a/regress/sys/arch/sparc64/emul-popc/simm/genc.pl
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/perl
-# $OpenBSD: genc.pl,v 1.4 2003/07/12 04:22:02 jason Exp $
-#
-# Copyright (c) 2003 Jason L. Wright (jason@thought.net)
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-
-$lo = -4096;
-$hi = 4095;
-
-print "/* AUTOMATICALLY GENERATED, DO NOT EDIT */\n";
-print "#include <sys/types.h>\n";
-print "#include <stdio.h>\n";
-print "\n";
-
-for ($i = $lo; $i <= $hi; $i++) {
- print "extern int64_t popc";
- if ($i < 0) {
- $v = -$i;
- print "__$v";
- } else {
- print "_$i";
- }
- print "(void);\n";
-}
-
-print "\n";
-
-print "int main(int argc, char *argv[]) {\n";
-for ($i = $lo; $i <= $hi; $i++) {
- print "\tprintf(\"$i: %qd\\n\", popc";
- if ($i < 0) {
- $v = -$i;
- print "__$v";
- } else {
- print "_$i";
- }
- print "());\n";
-}
-print "\treturn (0);\n";
-print "}\n";
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/simm.out b/regress/sys/arch/sparc64/emul-popc/simm/simm.out
deleted file mode 100644
index cac77eeb454..00000000000
--- a/regress/sys/arch/sparc64/emul-popc/simm/simm.out
+++ /dev/null
@@ -1,8192 +0,0 @@
--4096: 52
--4095: 53
--4094: 53
--4093: 54
--4092: 53
--4091: 54
--4090: 54
--4089: 55
--4088: 53
--4087: 54
--4086: 54
--4085: 55
--4084: 54
--4083: 55
--4082: 55
--4081: 56
--4080: 53
--4079: 54
--4078: 54
--4077: 55
--4076: 54
--4075: 55
--4074: 55
--4073: 56
--4072: 54
--4071: 55
--4070: 55
--4069: 56
--4068: 55
--4067: 56
--4066: 56
--4065: 57
--4064: 53
--4063: 54
--4062: 54
--4061: 55
--4060: 54
--4059: 55
--4058: 55
--4057: 56
--4056: 54
--4055: 55
--4054: 55
--4053: 56
--4052: 55
--4051: 56
--4050: 56
--4049: 57
--4048: 54
--4047: 55
--4046: 55
--4045: 56
--4044: 55
--4043: 56
--4042: 56
--4041: 57
--4040: 55
--4039: 56
--4038: 56
--4037: 57
--4036: 56
--4035: 57
--4034: 57
--4033: 58
--4032: 53
--4031: 54
--4030: 54
--4029: 55
--4028: 54
--4027: 55
--4026: 55
--4025: 56
--4024: 54
--4023: 55
--4022: 55
--4021: 56
--4020: 55
--4019: 56
--4018: 56
--4017: 57
--4016: 54
--4015: 55
--4014: 55
--4013: 56
--4012: 55
--4011: 56
--4010: 56
--4009: 57
--4008: 55
--4007: 56
--4006: 56
--4005: 57
--4004: 56
--4003: 57
--4002: 57
--4001: 58
--4000: 54
--3999: 55
--3998: 55
--3997: 56
--3996: 55
--3995: 56
--3994: 56
--3993: 57
--3992: 55
--3991: 56
--3990: 56
--3989: 57
--3988: 56
--3987: 57
--3986: 57
--3985: 58
--3984: 55
--3983: 56
--3982: 56
--3981: 57
--3980: 56
--3979: 57
--3978: 57
--3977: 58
--3976: 56
--3975: 57
--3974: 57
--3973: 58
--3972: 57
--3971: 58
--3970: 58
--3969: 59
--3968: 53
--3967: 54
--3966: 54
--3965: 55
--3964: 54
--3963: 55
--3962: 55
--3961: 56
--3960: 54
--3959: 55
--3958: 55
--3957: 56
--3956: 55
--3955: 56
--3954: 56
--3953: 57
--3952: 54
--3951: 55
--3950: 55
--3949: 56
--3948: 55
--3947: 56
--3946: 56
--3945: 57
--3944: 55
--3943: 56
--3942: 56
--3941: 57
--3940: 56
--3939: 57
--3938: 57
--3937: 58
--3936: 54
--3935: 55
--3934: 55
--3933: 56
--3932: 55
--3931: 56
--3930: 56
--3929: 57
--3928: 55
--3927: 56
--3926: 56
--3925: 57
--3924: 56
--3923: 57
--3922: 57
--3921: 58
--3920: 55
--3919: 56
--3918: 56
--3917: 57
--3916: 56
--3915: 57
--3914: 57
--3913: 58
--3912: 56
--3911: 57
--3910: 57
--3909: 58
--3908: 57
--3907: 58
--3906: 58
--3905: 59
--3904: 54
--3903: 55
--3902: 55
--3901: 56
--3900: 55
--3899: 56
--3898: 56
--3897: 57
--3896: 55
--3895: 56
--3894: 56
--3893: 57
--3892: 56
--3891: 57
--3890: 57
--3889: 58
--3888: 55
--3887: 56
--3886: 56
--3885: 57
--3884: 56
--3883: 57
--3882: 57
--3881: 58
--3880: 56
--3879: 57
--3878: 57
--3877: 58
--3876: 57
--3875: 58
--3874: 58
--3873: 59
--3872: 55
--3871: 56
--3870: 56
--3869: 57
--3868: 56
--3867: 57
--3866: 57
--3865: 58
--3864: 56
--3863: 57
--3862: 57
--3861: 58
--3860: 57
--3859: 58
--3858: 58
--3857: 59
--3856: 56
--3855: 57
--3854: 57
--3853: 58
--3852: 57
--3851: 58
--3850: 58
--3849: 59
--3848: 57
--3847: 58
--3846: 58
--3845: 59
--3844: 58
--3843: 59
--3842: 59
--3841: 60
--3840: 53
--3839: 54
--3838: 54
--3837: 55
--3836: 54
--3835: 55
--3834: 55
--3833: 56
--3832: 54
--3831: 55
--3830: 55
--3829: 56
--3828: 55
--3827: 56
--3826: 56
--3825: 57
--3824: 54
--3823: 55
--3822: 55
--3821: 56
--3820: 55
--3819: 56
--3818: 56
--3817: 57
--3816: 55
--3815: 56
--3814: 56
--3813: 57
--3812: 56
--3811: 57
--3810: 57
--3809: 58
--3808: 54
--3807: 55
--3806: 55
--3805: 56
--3804: 55
--3803: 56
--3802: 56
--3801: 57
--3800: 55
--3799: 56
--3798: 56
--3797: 57
--3796: 56
--3795: 57
--3794: 57
--3793: 58
--3792: 55
--3791: 56
--3790: 56
--3789: 57
--3788: 56
--3787: 57
--3786: 57
--3785: 58
--3784: 56
--3783: 57
--3782: 57
--3781: 58
--3780: 57
--3779: 58
--3778: 58
--3777: 59
--3776: 54
--3775: 55
--3774: 55
--3773: 56
--3772: 55
--3771: 56
--3770: 56
--3769: 57
--3768: 55
--3767: 56
--3766: 56
--3765: 57
--3764: 56
--3763: 57
--3762: 57
--3761: 58
--3760: 55
--3759: 56
--3758: 56
--3757: 57
--3756: 56
--3755: 57
--3754: 57
--3753: 58
--3752: 56
--3751: 57
--3750: 57
--3749: 58
--3748: 57
--3747: 58
--3746: 58
--3745: 59
--3744: 55
--3743: 56
--3742: 56
--3741: 57
--3740: 56
--3739: 57
--3738: 57
--3737: 58
--3736: 56
--3735: 57
--3734: 57
--3733: 58
--3732: 57
--3731: 58
--3730: 58
--3729: 59
--3728: 56
--3727: 57
--3726: 57
--3725: 58
--3724: 57
--3723: 58
--3722: 58
--3721: 59
--3720: 57
--3719: 58
--3718: 58
--3717: 59
--3716: 58
--3715: 59
--3714: 59
--3713: 60
--3712: 54
--3711: 55
--3710: 55
--3709: 56
--3708: 55
--3707: 56
--3706: 56
--3705: 57
--3704: 55
--3703: 56
--3702: 56
--3701: 57
--3700: 56
--3699: 57
--3698: 57
--3697: 58
--3696: 55
--3695: 56
--3694: 56
--3693: 57
--3692: 56
--3691: 57
--3690: 57
--3689: 58
--3688: 56
--3687: 57
--3686: 57
--3685: 58
--3684: 57
--3683: 58
--3682: 58
--3681: 59
--3680: 55
--3679: 56
--3678: 56
--3677: 57
--3676: 56
--3675: 57
--3674: 57
--3673: 58
--3672: 56
--3671: 57
--3670: 57
--3669: 58
--3668: 57
--3667: 58
--3666: 58
--3665: 59
--3664: 56
--3663: 57
--3662: 57
--3661: 58
--3660: 57
--3659: 58
--3658: 58
--3657: 59
--3656: 57
--3655: 58
--3654: 58
--3653: 59
--3652: 58
--3651: 59
--3650: 59
--3649: 60
--3648: 55
--3647: 56
--3646: 56
--3645: 57
--3644: 56
--3643: 57
--3642: 57
--3641: 58
--3640: 56
--3639: 57
--3638: 57
--3637: 58
--3636: 57
--3635: 58
--3634: 58
--3633: 59
--3632: 56
--3631: 57
--3630: 57
--3629: 58
--3628: 57
--3627: 58
--3626: 58
--3625: 59
--3624: 57
--3623: 58
--3622: 58
--3621: 59
--3620: 58
--3619: 59
--3618: 59
--3617: 60
--3616: 56
--3615: 57
--3614: 57
--3613: 58
--3612: 57
--3611: 58
--3610: 58
--3609: 59
--3608: 57
--3607: 58
--3606: 58
--3605: 59
--3604: 58
--3603: 59
--3602: 59
--3601: 60
--3600: 57
--3599: 58
--3598: 58
--3597: 59
--3596: 58
--3595: 59
--3594: 59
--3593: 60
--3592: 58
--3591: 59
--3590: 59
--3589: 60
--3588: 59
--3587: 60
--3586: 60
--3585: 61
--3584: 53
--3583: 54
--3582: 54
--3581: 55
--3580: 54
--3579: 55
--3578: 55
--3577: 56
--3576: 54
--3575: 55
--3574: 55
--3573: 56
--3572: 55
--3571: 56
--3570: 56
--3569: 57
--3568: 54
--3567: 55
--3566: 55
--3565: 56
--3564: 55
--3563: 56
--3562: 56
--3561: 57
--3560: 55
--3559: 56
--3558: 56
--3557: 57
--3556: 56
--3555: 57
--3554: 57
--3553: 58
--3552: 54
--3551: 55
--3550: 55
--3549: 56
--3548: 55
--3547: 56
--3546: 56
--3545: 57
--3544: 55
--3543: 56
--3542: 56
--3541: 57
--3540: 56
--3539: 57
--3538: 57
--3537: 58
--3536: 55
--3535: 56
--3534: 56
--3533: 57
--3532: 56
--3531: 57
--3530: 57
--3529: 58
--3528: 56
--3527: 57
--3526: 57
--3525: 58
--3524: 57
--3523: 58
--3522: 58
--3521: 59
--3520: 54
--3519: 55
--3518: 55
--3517: 56
--3516: 55
--3515: 56
--3514: 56
--3513: 57
--3512: 55
--3511: 56
--3510: 56
--3509: 57
--3508: 56
--3507: 57
--3506: 57
--3505: 58
--3504: 55
--3503: 56
--3502: 56
--3501: 57
--3500: 56
--3499: 57
--3498: 57
--3497: 58
--3496: 56
--3495: 57
--3494: 57
--3493: 58
--3492: 57
--3491: 58
--3490: 58
--3489: 59
--3488: 55
--3487: 56
--3486: 56
--3485: 57
--3484: 56
--3483: 57
--3482: 57
--3481: 58
--3480: 56
--3479: 57
--3478: 57
--3477: 58
--3476: 57
--3475: 58
--3474: 58
--3473: 59
--3472: 56
--3471: 57
--3470: 57
--3469: 58
--3468: 57
--3467: 58
--3466: 58
--3465: 59
--3464: 57
--3463: 58
--3462: 58
--3461: 59
--3460: 58
--3459: 59
--3458: 59
--3457: 60
--3456: 54
--3455: 55
--3454: 55
--3453: 56
--3452: 55
--3451: 56
--3450: 56
--3449: 57
--3448: 55
--3447: 56
--3446: 56
--3445: 57
--3444: 56
--3443: 57
--3442: 57
--3441: 58
--3440: 55
--3439: 56
--3438: 56
--3437: 57
--3436: 56
--3435: 57
--3434: 57
--3433: 58
--3432: 56
--3431: 57
--3430: 57
--3429: 58
--3428: 57
--3427: 58
--3426: 58
--3425: 59
--3424: 55
--3423: 56
--3422: 56
--3421: 57
--3420: 56
--3419: 57
--3418: 57
--3417: 58
--3416: 56
--3415: 57
--3414: 57
--3413: 58
--3412: 57
--3411: 58
--3410: 58
--3409: 59
--3408: 56
--3407: 57
--3406: 57
--3405: 58
--3404: 57
--3403: 58
--3402: 58
--3401: 59
--3400: 57
--3399: 58
--3398: 58
--3397: 59
--3396: 58
--3395: 59
--3394: 59
--3393: 60
--3392: 55
--3391: 56
--3390: 56
--3389: 57
--3388: 56
--3387: 57
--3386: 57
--3385: 58
--3384: 56
--3383: 57
--3382: 57
--3381: 58
--3380: 57
--3379: 58
--3378: 58
--3377: 59
--3376: 56
--3375: 57
--3374: 57
--3373: 58
--3372: 57
--3371: 58
--3370: 58
--3369: 59
--3368: 57
--3367: 58
--3366: 58
--3365: 59
--3364: 58
--3363: 59
--3362: 59
--3361: 60
--3360: 56
--3359: 57
--3358: 57
--3357: 58
--3356: 57
--3355: 58
--3354: 58
--3353: 59
--3352: 57
--3351: 58
--3350: 58
--3349: 59
--3348: 58
--3347: 59
--3346: 59
--3345: 60
--3344: 57
--3343: 58
--3342: 58
--3341: 59
--3340: 58
--3339: 59
--3338: 59
--3337: 60
--3336: 58
--3335: 59
--3334: 59
--3333: 60
--3332: 59
--3331: 60
--3330: 60
--3329: 61
--3328: 54
--3327: 55
--3326: 55
--3325: 56
--3324: 55
--3323: 56
--3322: 56
--3321: 57
--3320: 55
--3319: 56
--3318: 56
--3317: 57
--3316: 56
--3315: 57
--3314: 57
--3313: 58
--3312: 55
--3311: 56
--3310: 56
--3309: 57
--3308: 56
--3307: 57
--3306: 57
--3305: 58
--3304: 56
--3303: 57
--3302: 57
--3301: 58
--3300: 57
--3299: 58
--3298: 58
--3297: 59
--3296: 55
--3295: 56
--3294: 56
--3293: 57
--3292: 56
--3291: 57
--3290: 57
--3289: 58
--3288: 56
--3287: 57
--3286: 57
--3285: 58
--3284: 57
--3283: 58
--3282: 58
--3281: 59
--3280: 56
--3279: 57
--3278: 57
--3277: 58
--3276: 57
--3275: 58
--3274: 58
--3273: 59
--3272: 57
--3271: 58
--3270: 58
--3269: 59
--3268: 58
--3267: 59
--3266: 59
--3265: 60
--3264: 55
--3263: 56
--3262: 56
--3261: 57
--3260: 56
--3259: 57
--3258: 57
--3257: 58
--3256: 56
--3255: 57
--3254: 57
--3253: 58
--3252: 57
--3251: 58
--3250: 58
--3249: 59
--3248: 56
--3247: 57
--3246: 57
--3245: 58
--3244: 57
--3243: 58
--3242: 58
--3241: 59
--3240: 57
--3239: 58
--3238: 58
--3237: 59
--3236: 58
--3235: 59
--3234: 59
--3233: 60
--3232: 56
--3231: 57
--3230: 57
--3229: 58
--3228: 57
--3227: 58
--3226: 58
--3225: 59
--3224: 57
--3223: 58
--3222: 58
--3221: 59
--3220: 58
--3219: 59
--3218: 59
--3217: 60
--3216: 57
--3215: 58
--3214: 58
--3213: 59
--3212: 58
--3211: 59
--3210: 59
--3209: 60
--3208: 58
--3207: 59
--3206: 59
--3205: 60
--3204: 59
--3203: 60
--3202: 60
--3201: 61
--3200: 55
--3199: 56
--3198: 56
--3197: 57
--3196: 56
--3195: 57
--3194: 57
--3193: 58
--3192: 56
--3191: 57
--3190: 57
--3189: 58
--3188: 57
--3187: 58
--3186: 58
--3185: 59
--3184: 56
--3183: 57
--3182: 57
--3181: 58
--3180: 57
--3179: 58
--3178: 58
--3177: 59
--3176: 57
--3175: 58
--3174: 58
--3173: 59
--3172: 58
--3171: 59
--3170: 59
--3169: 60
--3168: 56
--3167: 57
--3166: 57
--3165: 58
--3164: 57
--3163: 58
--3162: 58
--3161: 59
--3160: 57
--3159: 58
--3158: 58
--3157: 59
--3156: 58
--3155: 59
--3154: 59
--3153: 60
--3152: 57
--3151: 58
--3150: 58
--3149: 59
--3148: 58
--3147: 59
--3146: 59
--3145: 60
--3144: 58
--3143: 59
--3142: 59
--3141: 60
--3140: 59
--3139: 60
--3138: 60
--3137: 61
--3136: 56
--3135: 57
--3134: 57
--3133: 58
--3132: 57
--3131: 58
--3130: 58
--3129: 59
--3128: 57
--3127: 58
--3126: 58
--3125: 59
--3124: 58
--3123: 59
--3122: 59
--3121: 60
--3120: 57
--3119: 58
--3118: 58
--3117: 59
--3116: 58
--3115: 59
--3114: 59
--3113: 60
--3112: 58
--3111: 59
--3110: 59
--3109: 60
--3108: 59
--3107: 60
--3106: 60
--3105: 61
--3104: 57
--3103: 58
--3102: 58
--3101: 59
--3100: 58
--3099: 59
--3098: 59
--3097: 60
--3096: 58
--3095: 59
--3094: 59
--3093: 60
--3092: 59
--3091: 60
--3090: 60
--3089: 61
--3088: 58
--3087: 59
--3086: 59
--3085: 60
--3084: 59
--3083: 60
--3082: 60
--3081: 61
--3080: 59
--3079: 60
--3078: 60
--3077: 61
--3076: 60
--3075: 61
--3074: 61
--3073: 62
--3072: 53
--3071: 54
--3070: 54
--3069: 55
--3068: 54
--3067: 55
--3066: 55
--3065: 56
--3064: 54
--3063: 55
--3062: 55
--3061: 56
--3060: 55
--3059: 56
--3058: 56
--3057: 57
--3056: 54
--3055: 55
--3054: 55
--3053: 56
--3052: 55
--3051: 56
--3050: 56
--3049: 57
--3048: 55
--3047: 56
--3046: 56
--3045: 57
--3044: 56
--3043: 57
--3042: 57
--3041: 58
--3040: 54
--3039: 55
--3038: 55
--3037: 56
--3036: 55
--3035: 56
--3034: 56
--3033: 57
--3032: 55
--3031: 56
--3030: 56
--3029: 57
--3028: 56
--3027: 57
--3026: 57
--3025: 58
--3024: 55
--3023: 56
--3022: 56
--3021: 57
--3020: 56
--3019: 57
--3018: 57
--3017: 58
--3016: 56
--3015: 57
--3014: 57
--3013: 58
--3012: 57
--3011: 58
--3010: 58
--3009: 59
--3008: 54
--3007: 55
--3006: 55
--3005: 56
--3004: 55
--3003: 56
--3002: 56
--3001: 57
--3000: 55
--2999: 56
--2998: 56
--2997: 57
--2996: 56
--2995: 57
--2994: 57
--2993: 58
--2992: 55
--2991: 56
--2990: 56
--2989: 57
--2988: 56
--2987: 57
--2986: 57
--2985: 58
--2984: 56
--2983: 57
--2982: 57
--2981: 58
--2980: 57
--2979: 58
--2978: 58
--2977: 59
--2976: 55
--2975: 56
--2974: 56
--2973: 57
--2972: 56
--2971: 57
--2970: 57
--2969: 58
--2968: 56
--2967: 57
--2966: 57
--2965: 58
--2964: 57
--2963: 58
--2962: 58
--2961: 59
--2960: 56
--2959: 57
--2958: 57
--2957: 58
--2956: 57
--2955: 58
--2954: 58
--2953: 59
--2952: 57
--2951: 58
--2950: 58
--2949: 59
--2948: 58
--2947: 59
--2946: 59
--2945: 60
--2944: 54
--2943: 55
--2942: 55
--2941: 56
--2940: 55
--2939: 56
--2938: 56
--2937: 57
--2936: 55
--2935: 56
--2934: 56
--2933: 57
--2932: 56
--2931: 57
--2930: 57
--2929: 58
--2928: 55
--2927: 56
--2926: 56
--2925: 57
--2924: 56
--2923: 57
--2922: 57
--2921: 58
--2920: 56
--2919: 57
--2918: 57
--2917: 58
--2916: 57
--2915: 58
--2914: 58
--2913: 59
--2912: 55
--2911: 56
--2910: 56
--2909: 57
--2908: 56
--2907: 57
--2906: 57
--2905: 58
--2904: 56
--2903: 57
--2902: 57
--2901: 58
--2900: 57
--2899: 58
--2898: 58
--2897: 59
--2896: 56
--2895: 57
--2894: 57
--2893: 58
--2892: 57
--2891: 58
--2890: 58
--2889: 59
--2888: 57
--2887: 58
--2886: 58
--2885: 59
--2884: 58
--2883: 59
--2882: 59
--2881: 60
--2880: 55
--2879: 56
--2878: 56
--2877: 57
--2876: 56
--2875: 57
--2874: 57
--2873: 58
--2872: 56
--2871: 57
--2870: 57
--2869: 58
--2868: 57
--2867: 58
--2866: 58
--2865: 59
--2864: 56
--2863: 57
--2862: 57
--2861: 58
--2860: 57
--2859: 58
--2858: 58
--2857: 59
--2856: 57
--2855: 58
--2854: 58
--2853: 59
--2852: 58
--2851: 59
--2850: 59
--2849: 60
--2848: 56
--2847: 57
--2846: 57
--2845: 58
--2844: 57
--2843: 58
--2842: 58
--2841: 59
--2840: 57
--2839: 58
--2838: 58
--2837: 59
--2836: 58
--2835: 59
--2834: 59
--2833: 60
--2832: 57
--2831: 58
--2830: 58
--2829: 59
--2828: 58
--2827: 59
--2826: 59
--2825: 60
--2824: 58
--2823: 59
--2822: 59
--2821: 60
--2820: 59
--2819: 60
--2818: 60
--2817: 61
--2816: 54
--2815: 55
--2814: 55
--2813: 56
--2812: 55
--2811: 56
--2810: 56
--2809: 57
--2808: 55
--2807: 56
--2806: 56
--2805: 57
--2804: 56
--2803: 57
--2802: 57
--2801: 58
--2800: 55
--2799: 56
--2798: 56
--2797: 57
--2796: 56
--2795: 57
--2794: 57
--2793: 58
--2792: 56
--2791: 57
--2790: 57
--2789: 58
--2788: 57
--2787: 58
--2786: 58
--2785: 59
--2784: 55
--2783: 56
--2782: 56
--2781: 57
--2780: 56
--2779: 57
--2778: 57
--2777: 58
--2776: 56
--2775: 57
--2774: 57
--2773: 58
--2772: 57
--2771: 58
--2770: 58
--2769: 59
--2768: 56
--2767: 57
--2766: 57
--2765: 58
--2764: 57
--2763: 58
--2762: 58
--2761: 59
--2760: 57
--2759: 58
--2758: 58
--2757: 59
--2756: 58
--2755: 59
--2754: 59
--2753: 60
--2752: 55
--2751: 56
--2750: 56
--2749: 57
--2748: 56
--2747: 57
--2746: 57
--2745: 58
--2744: 56
--2743: 57
--2742: 57
--2741: 58
--2740: 57
--2739: 58
--2738: 58
--2737: 59
--2736: 56
--2735: 57
--2734: 57
--2733: 58
--2732: 57
--2731: 58
--2730: 58
--2729: 59
--2728: 57
--2727: 58
--2726: 58
--2725: 59
--2724: 58
--2723: 59
--2722: 59
--2721: 60
--2720: 56
--2719: 57
--2718: 57
--2717: 58
--2716: 57
--2715: 58
--2714: 58
--2713: 59
--2712: 57
--2711: 58
--2710: 58
--2709: 59
--2708: 58
--2707: 59
--2706: 59
--2705: 60
--2704: 57
--2703: 58
--2702: 58
--2701: 59
--2700: 58
--2699: 59
--2698: 59
--2697: 60
--2696: 58
--2695: 59
--2694: 59
--2693: 60
--2692: 59
--2691: 60
--2690: 60
--2689: 61
--2688: 55
--2687: 56
--2686: 56
--2685: 57
--2684: 56
--2683: 57
--2682: 57
--2681: 58
--2680: 56
--2679: 57
--2678: 57
--2677: 58
--2676: 57
--2675: 58
--2674: 58
--2673: 59
--2672: 56
--2671: 57
--2670: 57
--2669: 58
--2668: 57
--2667: 58
--2666: 58
--2665: 59
--2664: 57
--2663: 58
--2662: 58
--2661: 59
--2660: 58
--2659: 59
--2658: 59
--2657: 60
--2656: 56
--2655: 57
--2654: 57
--2653: 58
--2652: 57
--2651: 58
--2650: 58
--2649: 59
--2648: 57
--2647: 58
--2646: 58
--2645: 59
--2644: 58
--2643: 59
--2642: 59
--2641: 60
--2640: 57
--2639: 58
--2638: 58
--2637: 59
--2636: 58
--2635: 59
--2634: 59
--2633: 60
--2632: 58
--2631: 59
--2630: 59
--2629: 60
--2628: 59
--2627: 60
--2626: 60
--2625: 61
--2624: 56
--2623: 57
--2622: 57
--2621: 58
--2620: 57
--2619: 58
--2618: 58
--2617: 59
--2616: 57
--2615: 58
--2614: 58
--2613: 59
--2612: 58
--2611: 59
--2610: 59
--2609: 60
--2608: 57
--2607: 58
--2606: 58
--2605: 59
--2604: 58
--2603: 59
--2602: 59
--2601: 60
--2600: 58
--2599: 59
--2598: 59
--2597: 60
--2596: 59
--2595: 60
--2594: 60
--2593: 61
--2592: 57
--2591: 58
--2590: 58
--2589: 59
--2588: 58
--2587: 59
--2586: 59
--2585: 60
--2584: 58
--2583: 59
--2582: 59
--2581: 60
--2580: 59
--2579: 60
--2578: 60
--2577: 61
--2576: 58
--2575: 59
--2574: 59
--2573: 60
--2572: 59
--2571: 60
--2570: 60
--2569: 61
--2568: 59
--2567: 60
--2566: 60
--2565: 61
--2564: 60
--2563: 61
--2562: 61
--2561: 62
--2560: 54
--2559: 55
--2558: 55
--2557: 56
--2556: 55
--2555: 56
--2554: 56
--2553: 57
--2552: 55
--2551: 56
--2550: 56
--2549: 57
--2548: 56
--2547: 57
--2546: 57
--2545: 58
--2544: 55
--2543: 56
--2542: 56
--2541: 57
--2540: 56
--2539: 57
--2538: 57
--2537: 58
--2536: 56
--2535: 57
--2534: 57
--2533: 58
--2532: 57
--2531: 58
--2530: 58
--2529: 59
--2528: 55
--2527: 56
--2526: 56
--2525: 57
--2524: 56
--2523: 57
--2522: 57
--2521: 58
--2520: 56
--2519: 57
--2518: 57
--2517: 58
--2516: 57
--2515: 58
--2514: 58
--2513: 59
--2512: 56
--2511: 57
--2510: 57
--2509: 58
--2508: 57
--2507: 58
--2506: 58
--2505: 59
--2504: 57
--2503: 58
--2502: 58
--2501: 59
--2500: 58
--2499: 59
--2498: 59
--2497: 60
--2496: 55
--2495: 56
--2494: 56
--2493: 57
--2492: 56
--2491: 57
--2490: 57
--2489: 58
--2488: 56
--2487: 57
--2486: 57
--2485: 58
--2484: 57
--2483: 58
--2482: 58
--2481: 59
--2480: 56
--2479: 57
--2478: 57
--2477: 58
--2476: 57
--2475: 58
--2474: 58
--2473: 59
--2472: 57
--2471: 58
--2470: 58
--2469: 59
--2468: 58
--2467: 59
--2466: 59
--2465: 60
--2464: 56
--2463: 57
--2462: 57
--2461: 58
--2460: 57
--2459: 58
--2458: 58
--2457: 59
--2456: 57
--2455: 58
--2454: 58
--2453: 59
--2452: 58
--2451: 59
--2450: 59
--2449: 60
--2448: 57
--2447: 58
--2446: 58
--2445: 59
--2444: 58
--2443: 59
--2442: 59
--2441: 60
--2440: 58
--2439: 59
--2438: 59
--2437: 60
--2436: 59
--2435: 60
--2434: 60
--2433: 61
--2432: 55
--2431: 56
--2430: 56
--2429: 57
--2428: 56
--2427: 57
--2426: 57
--2425: 58
--2424: 56
--2423: 57
--2422: 57
--2421: 58
--2420: 57
--2419: 58
--2418: 58
--2417: 59
--2416: 56
--2415: 57
--2414: 57
--2413: 58
--2412: 57
--2411: 58
--2410: 58
--2409: 59
--2408: 57
--2407: 58
--2406: 58
--2405: 59
--2404: 58
--2403: 59
--2402: 59
--2401: 60
--2400: 56
--2399: 57
--2398: 57
--2397: 58
--2396: 57
--2395: 58
--2394: 58
--2393: 59
--2392: 57
--2391: 58
--2390: 58
--2389: 59
--2388: 58
--2387: 59
--2386: 59
--2385: 60
--2384: 57
--2383: 58
--2382: 58
--2381: 59
--2380: 58
--2379: 59
--2378: 59
--2377: 60
--2376: 58
--2375: 59
--2374: 59
--2373: 60
--2372: 59
--2371: 60
--2370: 60
--2369: 61
--2368: 56
--2367: 57
--2366: 57
--2365: 58
--2364: 57
--2363: 58
--2362: 58
--2361: 59
--2360: 57
--2359: 58
--2358: 58
--2357: 59
--2356: 58
--2355: 59
--2354: 59
--2353: 60
--2352: 57
--2351: 58
--2350: 58
--2349: 59
--2348: 58
--2347: 59
--2346: 59
--2345: 60
--2344: 58
--2343: 59
--2342: 59
--2341: 60
--2340: 59
--2339: 60
--2338: 60
--2337: 61
--2336: 57
--2335: 58
--2334: 58
--2333: 59
--2332: 58
--2331: 59
--2330: 59
--2329: 60
--2328: 58
--2327: 59
--2326: 59
--2325: 60
--2324: 59
--2323: 60
--2322: 60
--2321: 61
--2320: 58
--2319: 59
--2318: 59
--2317: 60
--2316: 59
--2315: 60
--2314: 60
--2313: 61
--2312: 59
--2311: 60
--2310: 60
--2309: 61
--2308: 60
--2307: 61
--2306: 61
--2305: 62
--2304: 55
--2303: 56
--2302: 56
--2301: 57
--2300: 56
--2299: 57
--2298: 57
--2297: 58
--2296: 56
--2295: 57
--2294: 57
--2293: 58
--2292: 57
--2291: 58
--2290: 58
--2289: 59
--2288: 56
--2287: 57
--2286: 57
--2285: 58
--2284: 57
--2283: 58
--2282: 58
--2281: 59
--2280: 57
--2279: 58
--2278: 58
--2277: 59
--2276: 58
--2275: 59
--2274: 59
--2273: 60
--2272: 56
--2271: 57
--2270: 57
--2269: 58
--2268: 57
--2267: 58
--2266: 58
--2265: 59
--2264: 57
--2263: 58
--2262: 58
--2261: 59
--2260: 58
--2259: 59
--2258: 59
--2257: 60
--2256: 57
--2255: 58
--2254: 58
--2253: 59
--2252: 58
--2251: 59
--2250: 59
--2249: 60
--2248: 58
--2247: 59
--2246: 59
--2245: 60
--2244: 59
--2243: 60
--2242: 60
--2241: 61
--2240: 56
--2239: 57
--2238: 57
--2237: 58
--2236: 57
--2235: 58
--2234: 58
--2233: 59
--2232: 57
--2231: 58
--2230: 58
--2229: 59
--2228: 58
--2227: 59
--2226: 59
--2225: 60
--2224: 57
--2223: 58
--2222: 58
--2221: 59
--2220: 58
--2219: 59
--2218: 59
--2217: 60
--2216: 58
--2215: 59
--2214: 59
--2213: 60
--2212: 59
--2211: 60
--2210: 60
--2209: 61
--2208: 57
--2207: 58
--2206: 58
--2205: 59
--2204: 58
--2203: 59
--2202: 59
--2201: 60
--2200: 58
--2199: 59
--2198: 59
--2197: 60
--2196: 59
--2195: 60
--2194: 60
--2193: 61
--2192: 58
--2191: 59
--2190: 59
--2189: 60
--2188: 59
--2187: 60
--2186: 60
--2185: 61
--2184: 59
--2183: 60
--2182: 60
--2181: 61
--2180: 60
--2179: 61
--2178: 61
--2177: 62
--2176: 56
--2175: 57
--2174: 57
--2173: 58
--2172: 57
--2171: 58
--2170: 58
--2169: 59
--2168: 57
--2167: 58
--2166: 58
--2165: 59
--2164: 58
--2163: 59
--2162: 59
--2161: 60
--2160: 57
--2159: 58
--2158: 58
--2157: 59
--2156: 58
--2155: 59
--2154: 59
--2153: 60
--2152: 58
--2151: 59
--2150: 59
--2149: 60
--2148: 59
--2147: 60
--2146: 60
--2145: 61
--2144: 57
--2143: 58
--2142: 58
--2141: 59
--2140: 58
--2139: 59
--2138: 59
--2137: 60
--2136: 58
--2135: 59
--2134: 59
--2133: 60
--2132: 59
--2131: 60
--2130: 60
--2129: 61
--2128: 58
--2127: 59
--2126: 59
--2125: 60
--2124: 59
--2123: 60
--2122: 60
--2121: 61
--2120: 59
--2119: 60
--2118: 60
--2117: 61
--2116: 60
--2115: 61
--2114: 61
--2113: 62
--2112: 57
--2111: 58
--2110: 58
--2109: 59
--2108: 58
--2107: 59
--2106: 59
--2105: 60
--2104: 58
--2103: 59
--2102: 59
--2101: 60
--2100: 59
--2099: 60
--2098: 60
--2097: 61
--2096: 58
--2095: 59
--2094: 59
--2093: 60
--2092: 59
--2091: 60
--2090: 60
--2089: 61
--2088: 59
--2087: 60
--2086: 60
--2085: 61
--2084: 60
--2083: 61
--2082: 61
--2081: 62
--2080: 58
--2079: 59
--2078: 59
--2077: 60
--2076: 59
--2075: 60
--2074: 60
--2073: 61
--2072: 59
--2071: 60
--2070: 60
--2069: 61
--2068: 60
--2067: 61
--2066: 61
--2065: 62
--2064: 59
--2063: 60
--2062: 60
--2061: 61
--2060: 60
--2059: 61
--2058: 61
--2057: 62
--2056: 60
--2055: 61
--2054: 61
--2053: 62
--2052: 61
--2051: 62
--2050: 62
--2049: 63
--2048: 53
--2047: 54
--2046: 54
--2045: 55
--2044: 54
--2043: 55
--2042: 55
--2041: 56
--2040: 54
--2039: 55
--2038: 55
--2037: 56
--2036: 55
--2035: 56
--2034: 56
--2033: 57
--2032: 54
--2031: 55
--2030: 55
--2029: 56
--2028: 55
--2027: 56
--2026: 56
--2025: 57
--2024: 55
--2023: 56
--2022: 56
--2021: 57
--2020: 56
--2019: 57
--2018: 57
--2017: 58
--2016: 54
--2015: 55
--2014: 55
--2013: 56
--2012: 55
--2011: 56
--2010: 56
--2009: 57
--2008: 55
--2007: 56
--2006: 56
--2005: 57
--2004: 56
--2003: 57
--2002: 57
--2001: 58
--2000: 55
--1999: 56
--1998: 56
--1997: 57
--1996: 56
--1995: 57
--1994: 57
--1993: 58
--1992: 56
--1991: 57
--1990: 57
--1989: 58
--1988: 57
--1987: 58
--1986: 58
--1985: 59
--1984: 54
--1983: 55
--1982: 55
--1981: 56
--1980: 55
--1979: 56
--1978: 56
--1977: 57
--1976: 55
--1975: 56
--1974: 56
--1973: 57
--1972: 56
--1971: 57
--1970: 57
--1969: 58
--1968: 55
--1967: 56
--1966: 56
--1965: 57
--1964: 56
--1963: 57
--1962: 57
--1961: 58
--1960: 56
--1959: 57
--1958: 57
--1957: 58
--1956: 57
--1955: 58
--1954: 58
--1953: 59
--1952: 55
--1951: 56
--1950: 56
--1949: 57
--1948: 56
--1947: 57
--1946: 57
--1945: 58
--1944: 56
--1943: 57
--1942: 57
--1941: 58
--1940: 57
--1939: 58
--1938: 58
--1937: 59
--1936: 56
--1935: 57
--1934: 57
--1933: 58
--1932: 57
--1931: 58
--1930: 58
--1929: 59
--1928: 57
--1927: 58
--1926: 58
--1925: 59
--1924: 58
--1923: 59
--1922: 59
--1921: 60
--1920: 54
--1919: 55
--1918: 55
--1917: 56
--1916: 55
--1915: 56
--1914: 56
--1913: 57
--1912: 55
--1911: 56
--1910: 56
--1909: 57
--1908: 56
--1907: 57
--1906: 57
--1905: 58
--1904: 55
--1903: 56
--1902: 56
--1901: 57
--1900: 56
--1899: 57
--1898: 57
--1897: 58
--1896: 56
--1895: 57
--1894: 57
--1893: 58
--1892: 57
--1891: 58
--1890: 58
--1889: 59
--1888: 55
--1887: 56
--1886: 56
--1885: 57
--1884: 56
--1883: 57
--1882: 57
--1881: 58
--1880: 56
--1879: 57
--1878: 57
--1877: 58
--1876: 57
--1875: 58
--1874: 58
--1873: 59
--1872: 56
--1871: 57
--1870: 57
--1869: 58
--1868: 57
--1867: 58
--1866: 58
--1865: 59
--1864: 57
--1863: 58
--1862: 58
--1861: 59
--1860: 58
--1859: 59
--1858: 59
--1857: 60
--1856: 55
--1855: 56
--1854: 56
--1853: 57
--1852: 56
--1851: 57
--1850: 57
--1849: 58
--1848: 56
--1847: 57
--1846: 57
--1845: 58
--1844: 57
--1843: 58
--1842: 58
--1841: 59
--1840: 56
--1839: 57
--1838: 57
--1837: 58
--1836: 57
--1835: 58
--1834: 58
--1833: 59
--1832: 57
--1831: 58
--1830: 58
--1829: 59
--1828: 58
--1827: 59
--1826: 59
--1825: 60
--1824: 56
--1823: 57
--1822: 57
--1821: 58
--1820: 57
--1819: 58
--1818: 58
--1817: 59
--1816: 57
--1815: 58
--1814: 58
--1813: 59
--1812: 58
--1811: 59
--1810: 59
--1809: 60
--1808: 57
--1807: 58
--1806: 58
--1805: 59
--1804: 58
--1803: 59
--1802: 59
--1801: 60
--1800: 58
--1799: 59
--1798: 59
--1797: 60
--1796: 59
--1795: 60
--1794: 60
--1793: 61
--1792: 54
--1791: 55
--1790: 55
--1789: 56
--1788: 55
--1787: 56
--1786: 56
--1785: 57
--1784: 55
--1783: 56
--1782: 56
--1781: 57
--1780: 56
--1779: 57
--1778: 57
--1777: 58
--1776: 55
--1775: 56
--1774: 56
--1773: 57
--1772: 56
--1771: 57
--1770: 57
--1769: 58
--1768: 56
--1767: 57
--1766: 57
--1765: 58
--1764: 57
--1763: 58
--1762: 58
--1761: 59
--1760: 55
--1759: 56
--1758: 56
--1757: 57
--1756: 56
--1755: 57
--1754: 57
--1753: 58
--1752: 56
--1751: 57
--1750: 57
--1749: 58
--1748: 57
--1747: 58
--1746: 58
--1745: 59
--1744: 56
--1743: 57
--1742: 57
--1741: 58
--1740: 57
--1739: 58
--1738: 58
--1737: 59
--1736: 57
--1735: 58
--1734: 58
--1733: 59
--1732: 58
--1731: 59
--1730: 59
--1729: 60
--1728: 55
--1727: 56
--1726: 56
--1725: 57
--1724: 56
--1723: 57
--1722: 57
--1721: 58
--1720: 56
--1719: 57
--1718: 57
--1717: 58
--1716: 57
--1715: 58
--1714: 58
--1713: 59
--1712: 56
--1711: 57
--1710: 57
--1709: 58
--1708: 57
--1707: 58
--1706: 58
--1705: 59
--1704: 57
--1703: 58
--1702: 58
--1701: 59
--1700: 58
--1699: 59
--1698: 59
--1697: 60
--1696: 56
--1695: 57
--1694: 57
--1693: 58
--1692: 57
--1691: 58
--1690: 58
--1689: 59
--1688: 57
--1687: 58
--1686: 58
--1685: 59
--1684: 58
--1683: 59
--1682: 59
--1681: 60
--1680: 57
--1679: 58
--1678: 58
--1677: 59
--1676: 58
--1675: 59
--1674: 59
--1673: 60
--1672: 58
--1671: 59
--1670: 59
--1669: 60
--1668: 59
--1667: 60
--1666: 60
--1665: 61
--1664: 55
--1663: 56
--1662: 56
--1661: 57
--1660: 56
--1659: 57
--1658: 57
--1657: 58
--1656: 56
--1655: 57
--1654: 57
--1653: 58
--1652: 57
--1651: 58
--1650: 58
--1649: 59
--1648: 56
--1647: 57
--1646: 57
--1645: 58
--1644: 57
--1643: 58
--1642: 58
--1641: 59
--1640: 57
--1639: 58
--1638: 58
--1637: 59
--1636: 58
--1635: 59
--1634: 59
--1633: 60
--1632: 56
--1631: 57
--1630: 57
--1629: 58
--1628: 57
--1627: 58
--1626: 58
--1625: 59
--1624: 57
--1623: 58
--1622: 58
--1621: 59
--1620: 58
--1619: 59
--1618: 59
--1617: 60
--1616: 57
--1615: 58
--1614: 58
--1613: 59
--1612: 58
--1611: 59
--1610: 59
--1609: 60
--1608: 58
--1607: 59
--1606: 59
--1605: 60
--1604: 59
--1603: 60
--1602: 60
--1601: 61
--1600: 56
--1599: 57
--1598: 57
--1597: 58
--1596: 57
--1595: 58
--1594: 58
--1593: 59
--1592: 57
--1591: 58
--1590: 58
--1589: 59
--1588: 58
--1587: 59
--1586: 59
--1585: 60
--1584: 57
--1583: 58
--1582: 58
--1581: 59
--1580: 58
--1579: 59
--1578: 59
--1577: 60
--1576: 58
--1575: 59
--1574: 59
--1573: 60
--1572: 59
--1571: 60
--1570: 60
--1569: 61
--1568: 57
--1567: 58
--1566: 58
--1565: 59
--1564: 58
--1563: 59
--1562: 59
--1561: 60
--1560: 58
--1559: 59
--1558: 59
--1557: 60
--1556: 59
--1555: 60
--1554: 60
--1553: 61
--1552: 58
--1551: 59
--1550: 59
--1549: 60
--1548: 59
--1547: 60
--1546: 60
--1545: 61
--1544: 59
--1543: 60
--1542: 60
--1541: 61
--1540: 60
--1539: 61
--1538: 61
--1537: 62
--1536: 54
--1535: 55
--1534: 55
--1533: 56
--1532: 55
--1531: 56
--1530: 56
--1529: 57
--1528: 55
--1527: 56
--1526: 56
--1525: 57
--1524: 56
--1523: 57
--1522: 57
--1521: 58
--1520: 55
--1519: 56
--1518: 56
--1517: 57
--1516: 56
--1515: 57
--1514: 57
--1513: 58
--1512: 56
--1511: 57
--1510: 57
--1509: 58
--1508: 57
--1507: 58
--1506: 58
--1505: 59
--1504: 55
--1503: 56
--1502: 56
--1501: 57
--1500: 56
--1499: 57
--1498: 57
--1497: 58
--1496: 56
--1495: 57
--1494: 57
--1493: 58
--1492: 57
--1491: 58
--1490: 58
--1489: 59
--1488: 56
--1487: 57
--1486: 57
--1485: 58
--1484: 57
--1483: 58
--1482: 58
--1481: 59
--1480: 57
--1479: 58
--1478: 58
--1477: 59
--1476: 58
--1475: 59
--1474: 59
--1473: 60
--1472: 55
--1471: 56
--1470: 56
--1469: 57
--1468: 56
--1467: 57
--1466: 57
--1465: 58
--1464: 56
--1463: 57
--1462: 57
--1461: 58
--1460: 57
--1459: 58
--1458: 58
--1457: 59
--1456: 56
--1455: 57
--1454: 57
--1453: 58
--1452: 57
--1451: 58
--1450: 58
--1449: 59
--1448: 57
--1447: 58
--1446: 58
--1445: 59
--1444: 58
--1443: 59
--1442: 59
--1441: 60
--1440: 56
--1439: 57
--1438: 57
--1437: 58
--1436: 57
--1435: 58
--1434: 58
--1433: 59
--1432: 57
--1431: 58
--1430: 58
--1429: 59
--1428: 58
--1427: 59
--1426: 59
--1425: 60
--1424: 57
--1423: 58
--1422: 58
--1421: 59
--1420: 58
--1419: 59
--1418: 59
--1417: 60
--1416: 58
--1415: 59
--1414: 59
--1413: 60
--1412: 59
--1411: 60
--1410: 60
--1409: 61
--1408: 55
--1407: 56
--1406: 56
--1405: 57
--1404: 56
--1403: 57
--1402: 57
--1401: 58
--1400: 56
--1399: 57
--1398: 57
--1397: 58
--1396: 57
--1395: 58
--1394: 58
--1393: 59
--1392: 56
--1391: 57
--1390: 57
--1389: 58
--1388: 57
--1387: 58
--1386: 58
--1385: 59
--1384: 57
--1383: 58
--1382: 58
--1381: 59
--1380: 58
--1379: 59
--1378: 59
--1377: 60
--1376: 56
--1375: 57
--1374: 57
--1373: 58
--1372: 57
--1371: 58
--1370: 58
--1369: 59
--1368: 57
--1367: 58
--1366: 58
--1365: 59
--1364: 58
--1363: 59
--1362: 59
--1361: 60
--1360: 57
--1359: 58
--1358: 58
--1357: 59
--1356: 58
--1355: 59
--1354: 59
--1353: 60
--1352: 58
--1351: 59
--1350: 59
--1349: 60
--1348: 59
--1347: 60
--1346: 60
--1345: 61
--1344: 56
--1343: 57
--1342: 57
--1341: 58
--1340: 57
--1339: 58
--1338: 58
--1337: 59
--1336: 57
--1335: 58
--1334: 58
--1333: 59
--1332: 58
--1331: 59
--1330: 59
--1329: 60
--1328: 57
--1327: 58
--1326: 58
--1325: 59
--1324: 58
--1323: 59
--1322: 59
--1321: 60
--1320: 58
--1319: 59
--1318: 59
--1317: 60
--1316: 59
--1315: 60
--1314: 60
--1313: 61
--1312: 57
--1311: 58
--1310: 58
--1309: 59
--1308: 58
--1307: 59
--1306: 59
--1305: 60
--1304: 58
--1303: 59
--1302: 59
--1301: 60
--1300: 59
--1299: 60
--1298: 60
--1297: 61
--1296: 58
--1295: 59
--1294: 59
--1293: 60
--1292: 59
--1291: 60
--1290: 60
--1289: 61
--1288: 59
--1287: 60
--1286: 60
--1285: 61
--1284: 60
--1283: 61
--1282: 61
--1281: 62
--1280: 55
--1279: 56
--1278: 56
--1277: 57
--1276: 56
--1275: 57
--1274: 57
--1273: 58
--1272: 56
--1271: 57
--1270: 57
--1269: 58
--1268: 57
--1267: 58
--1266: 58
--1265: 59
--1264: 56
--1263: 57
--1262: 57
--1261: 58
--1260: 57
--1259: 58
--1258: 58
--1257: 59
--1256: 57
--1255: 58
--1254: 58
--1253: 59
--1252: 58
--1251: 59
--1250: 59
--1249: 60
--1248: 56
--1247: 57
--1246: 57
--1245: 58
--1244: 57
--1243: 58
--1242: 58
--1241: 59
--1240: 57
--1239: 58
--1238: 58
--1237: 59
--1236: 58
--1235: 59
--1234: 59
--1233: 60
--1232: 57
--1231: 58
--1230: 58
--1229: 59
--1228: 58
--1227: 59
--1226: 59
--1225: 60
--1224: 58
--1223: 59
--1222: 59
--1221: 60
--1220: 59
--1219: 60
--1218: 60
--1217: 61
--1216: 56
--1215: 57
--1214: 57
--1213: 58
--1212: 57
--1211: 58
--1210: 58
--1209: 59
--1208: 57
--1207: 58
--1206: 58
--1205: 59
--1204: 58
--1203: 59
--1202: 59
--1201: 60
--1200: 57
--1199: 58
--1198: 58
--1197: 59
--1196: 58
--1195: 59
--1194: 59
--1193: 60
--1192: 58
--1191: 59
--1190: 59
--1189: 60
--1188: 59
--1187: 60
--1186: 60
--1185: 61
--1184: 57
--1183: 58
--1182: 58
--1181: 59
--1180: 58
--1179: 59
--1178: 59
--1177: 60
--1176: 58
--1175: 59
--1174: 59
--1173: 60
--1172: 59
--1171: 60
--1170: 60
--1169: 61
--1168: 58
--1167: 59
--1166: 59
--1165: 60
--1164: 59
--1163: 60
--1162: 60
--1161: 61
--1160: 59
--1159: 60
--1158: 60
--1157: 61
--1156: 60
--1155: 61
--1154: 61
--1153: 62
--1152: 56
--1151: 57
--1150: 57
--1149: 58
--1148: 57
--1147: 58
--1146: 58
--1145: 59
--1144: 57
--1143: 58
--1142: 58
--1141: 59
--1140: 58
--1139: 59
--1138: 59
--1137: 60
--1136: 57
--1135: 58
--1134: 58
--1133: 59
--1132: 58
--1131: 59
--1130: 59
--1129: 60
--1128: 58
--1127: 59
--1126: 59
--1125: 60
--1124: 59
--1123: 60
--1122: 60
--1121: 61
--1120: 57
--1119: 58
--1118: 58
--1117: 59
--1116: 58
--1115: 59
--1114: 59
--1113: 60
--1112: 58
--1111: 59
--1110: 59
--1109: 60
--1108: 59
--1107: 60
--1106: 60
--1105: 61
--1104: 58
--1103: 59
--1102: 59
--1101: 60
--1100: 59
--1099: 60
--1098: 60
--1097: 61
--1096: 59
--1095: 60
--1094: 60
--1093: 61
--1092: 60
--1091: 61
--1090: 61
--1089: 62
--1088: 57
--1087: 58
--1086: 58
--1085: 59
--1084: 58
--1083: 59
--1082: 59
--1081: 60
--1080: 58
--1079: 59
--1078: 59
--1077: 60
--1076: 59
--1075: 60
--1074: 60
--1073: 61
--1072: 58
--1071: 59
--1070: 59
--1069: 60
--1068: 59
--1067: 60
--1066: 60
--1065: 61
--1064: 59
--1063: 60
--1062: 60
--1061: 61
--1060: 60
--1059: 61
--1058: 61
--1057: 62
--1056: 58
--1055: 59
--1054: 59
--1053: 60
--1052: 59
--1051: 60
--1050: 60
--1049: 61
--1048: 59
--1047: 60
--1046: 60
--1045: 61
--1044: 60
--1043: 61
--1042: 61
--1041: 62
--1040: 59
--1039: 60
--1038: 60
--1037: 61
--1036: 60
--1035: 61
--1034: 61
--1033: 62
--1032: 60
--1031: 61
--1030: 61
--1029: 62
--1028: 61
--1027: 62
--1026: 62
--1025: 63
--1024: 54
--1023: 55
--1022: 55
--1021: 56
--1020: 55
--1019: 56
--1018: 56
--1017: 57
--1016: 55
--1015: 56
--1014: 56
--1013: 57
--1012: 56
--1011: 57
--1010: 57
--1009: 58
--1008: 55
--1007: 56
--1006: 56
--1005: 57
--1004: 56
--1003: 57
--1002: 57
--1001: 58
--1000: 56
--999: 57
--998: 57
--997: 58
--996: 57
--995: 58
--994: 58
--993: 59
--992: 55
--991: 56
--990: 56
--989: 57
--988: 56
--987: 57
--986: 57
--985: 58
--984: 56
--983: 57
--982: 57
--981: 58
--980: 57
--979: 58
--978: 58
--977: 59
--976: 56
--975: 57
--974: 57
--973: 58
--972: 57
--971: 58
--970: 58
--969: 59
--968: 57
--967: 58
--966: 58
--965: 59
--964: 58
--963: 59
--962: 59
--961: 60
--960: 55
--959: 56
--958: 56
--957: 57
--956: 56
--955: 57
--954: 57
--953: 58
--952: 56
--951: 57
--950: 57
--949: 58
--948: 57
--947: 58
--946: 58
--945: 59
--944: 56
--943: 57
--942: 57
--941: 58
--940: 57
--939: 58
--938: 58
--937: 59
--936: 57
--935: 58
--934: 58
--933: 59
--932: 58
--931: 59
--930: 59
--929: 60
--928: 56
--927: 57
--926: 57
--925: 58
--924: 57
--923: 58
--922: 58
--921: 59
--920: 57
--919: 58
--918: 58
--917: 59
--916: 58
--915: 59
--914: 59
--913: 60
--912: 57
--911: 58
--910: 58
--909: 59
--908: 58
--907: 59
--906: 59
--905: 60
--904: 58
--903: 59
--902: 59
--901: 60
--900: 59
--899: 60
--898: 60
--897: 61
--896: 55
--895: 56
--894: 56
--893: 57
--892: 56
--891: 57
--890: 57
--889: 58
--888: 56
--887: 57
--886: 57
--885: 58
--884: 57
--883: 58
--882: 58
--881: 59
--880: 56
--879: 57
--878: 57
--877: 58
--876: 57
--875: 58
--874: 58
--873: 59
--872: 57
--871: 58
--870: 58
--869: 59
--868: 58
--867: 59
--866: 59
--865: 60
--864: 56
--863: 57
--862: 57
--861: 58
--860: 57
--859: 58
--858: 58
--857: 59
--856: 57
--855: 58
--854: 58
--853: 59
--852: 58
--851: 59
--850: 59
--849: 60
--848: 57
--847: 58
--846: 58
--845: 59
--844: 58
--843: 59
--842: 59
--841: 60
--840: 58
--839: 59
--838: 59
--837: 60
--836: 59
--835: 60
--834: 60
--833: 61
--832: 56
--831: 57
--830: 57
--829: 58
--828: 57
--827: 58
--826: 58
--825: 59
--824: 57
--823: 58
--822: 58
--821: 59
--820: 58
--819: 59
--818: 59
--817: 60
--816: 57
--815: 58
--814: 58
--813: 59
--812: 58
--811: 59
--810: 59
--809: 60
--808: 58
--807: 59
--806: 59
--805: 60
--804: 59
--803: 60
--802: 60
--801: 61
--800: 57
--799: 58
--798: 58
--797: 59
--796: 58
--795: 59
--794: 59
--793: 60
--792: 58
--791: 59
--790: 59
--789: 60
--788: 59
--787: 60
--786: 60
--785: 61
--784: 58
--783: 59
--782: 59
--781: 60
--780: 59
--779: 60
--778: 60
--777: 61
--776: 59
--775: 60
--774: 60
--773: 61
--772: 60
--771: 61
--770: 61
--769: 62
--768: 55
--767: 56
--766: 56
--765: 57
--764: 56
--763: 57
--762: 57
--761: 58
--760: 56
--759: 57
--758: 57
--757: 58
--756: 57
--755: 58
--754: 58
--753: 59
--752: 56
--751: 57
--750: 57
--749: 58
--748: 57
--747: 58
--746: 58
--745: 59
--744: 57
--743: 58
--742: 58
--741: 59
--740: 58
--739: 59
--738: 59
--737: 60
--736: 56
--735: 57
--734: 57
--733: 58
--732: 57
--731: 58
--730: 58
--729: 59
--728: 57
--727: 58
--726: 58
--725: 59
--724: 58
--723: 59
--722: 59
--721: 60
--720: 57
--719: 58
--718: 58
--717: 59
--716: 58
--715: 59
--714: 59
--713: 60
--712: 58
--711: 59
--710: 59
--709: 60
--708: 59
--707: 60
--706: 60
--705: 61
--704: 56
--703: 57
--702: 57
--701: 58
--700: 57
--699: 58
--698: 58
--697: 59
--696: 57
--695: 58
--694: 58
--693: 59
--692: 58
--691: 59
--690: 59
--689: 60
--688: 57
--687: 58
--686: 58
--685: 59
--684: 58
--683: 59
--682: 59
--681: 60
--680: 58
--679: 59
--678: 59
--677: 60
--676: 59
--675: 60
--674: 60
--673: 61
--672: 57
--671: 58
--670: 58
--669: 59
--668: 58
--667: 59
--666: 59
--665: 60
--664: 58
--663: 59
--662: 59
--661: 60
--660: 59
--659: 60
--658: 60
--657: 61
--656: 58
--655: 59
--654: 59
--653: 60
--652: 59
--651: 60
--650: 60
--649: 61
--648: 59
--647: 60
--646: 60
--645: 61
--644: 60
--643: 61
--642: 61
--641: 62
--640: 56
--639: 57
--638: 57
--637: 58
--636: 57
--635: 58
--634: 58
--633: 59
--632: 57
--631: 58
--630: 58
--629: 59
--628: 58
--627: 59
--626: 59
--625: 60
--624: 57
--623: 58
--622: 58
--621: 59
--620: 58
--619: 59
--618: 59
--617: 60
--616: 58
--615: 59
--614: 59
--613: 60
--612: 59
--611: 60
--610: 60
--609: 61
--608: 57
--607: 58
--606: 58
--605: 59
--604: 58
--603: 59
--602: 59
--601: 60
--600: 58
--599: 59
--598: 59
--597: 60
--596: 59
--595: 60
--594: 60
--593: 61
--592: 58
--591: 59
--590: 59
--589: 60
--588: 59
--587: 60
--586: 60
--585: 61
--584: 59
--583: 60
--582: 60
--581: 61
--580: 60
--579: 61
--578: 61
--577: 62
--576: 57
--575: 58
--574: 58
--573: 59
--572: 58
--571: 59
--570: 59
--569: 60
--568: 58
--567: 59
--566: 59
--565: 60
--564: 59
--563: 60
--562: 60
--561: 61
--560: 58
--559: 59
--558: 59
--557: 60
--556: 59
--555: 60
--554: 60
--553: 61
--552: 59
--551: 60
--550: 60
--549: 61
--548: 60
--547: 61
--546: 61
--545: 62
--544: 58
--543: 59
--542: 59
--541: 60
--540: 59
--539: 60
--538: 60
--537: 61
--536: 59
--535: 60
--534: 60
--533: 61
--532: 60
--531: 61
--530: 61
--529: 62
--528: 59
--527: 60
--526: 60
--525: 61
--524: 60
--523: 61
--522: 61
--521: 62
--520: 60
--519: 61
--518: 61
--517: 62
--516: 61
--515: 62
--514: 62
--513: 63
--512: 55
--511: 56
--510: 56
--509: 57
--508: 56
--507: 57
--506: 57
--505: 58
--504: 56
--503: 57
--502: 57
--501: 58
--500: 57
--499: 58
--498: 58
--497: 59
--496: 56
--495: 57
--494: 57
--493: 58
--492: 57
--491: 58
--490: 58
--489: 59
--488: 57
--487: 58
--486: 58
--485: 59
--484: 58
--483: 59
--482: 59
--481: 60
--480: 56
--479: 57
--478: 57
--477: 58
--476: 57
--475: 58
--474: 58
--473: 59
--472: 57
--471: 58
--470: 58
--469: 59
--468: 58
--467: 59
--466: 59
--465: 60
--464: 57
--463: 58
--462: 58
--461: 59
--460: 58
--459: 59
--458: 59
--457: 60
--456: 58
--455: 59
--454: 59
--453: 60
--452: 59
--451: 60
--450: 60
--449: 61
--448: 56
--447: 57
--446: 57
--445: 58
--444: 57
--443: 58
--442: 58
--441: 59
--440: 57
--439: 58
--438: 58
--437: 59
--436: 58
--435: 59
--434: 59
--433: 60
--432: 57
--431: 58
--430: 58
--429: 59
--428: 58
--427: 59
--426: 59
--425: 60
--424: 58
--423: 59
--422: 59
--421: 60
--420: 59
--419: 60
--418: 60
--417: 61
--416: 57
--415: 58
--414: 58
--413: 59
--412: 58
--411: 59
--410: 59
--409: 60
--408: 58
--407: 59
--406: 59
--405: 60
--404: 59
--403: 60
--402: 60
--401: 61
--400: 58
--399: 59
--398: 59
--397: 60
--396: 59
--395: 60
--394: 60
--393: 61
--392: 59
--391: 60
--390: 60
--389: 61
--388: 60
--387: 61
--386: 61
--385: 62
--384: 56
--383: 57
--382: 57
--381: 58
--380: 57
--379: 58
--378: 58
--377: 59
--376: 57
--375: 58
--374: 58
--373: 59
--372: 58
--371: 59
--370: 59
--369: 60
--368: 57
--367: 58
--366: 58
--365: 59
--364: 58
--363: 59
--362: 59
--361: 60
--360: 58
--359: 59
--358: 59
--357: 60
--356: 59
--355: 60
--354: 60
--353: 61
--352: 57
--351: 58
--350: 58
--349: 59
--348: 58
--347: 59
--346: 59
--345: 60
--344: 58
--343: 59
--342: 59
--341: 60
--340: 59
--339: 60
--338: 60
--337: 61
--336: 58
--335: 59
--334: 59
--333: 60
--332: 59
--331: 60
--330: 60
--329: 61
--328: 59
--327: 60
--326: 60
--325: 61
--324: 60
--323: 61
--322: 61
--321: 62
--320: 57
--319: 58
--318: 58
--317: 59
--316: 58
--315: 59
--314: 59
--313: 60
--312: 58
--311: 59
--310: 59
--309: 60
--308: 59
--307: 60
--306: 60
--305: 61
--304: 58
--303: 59
--302: 59
--301: 60
--300: 59
--299: 60
--298: 60
--297: 61
--296: 59
--295: 60
--294: 60
--293: 61
--292: 60
--291: 61
--290: 61
--289: 62
--288: 58
--287: 59
--286: 59
--285: 60
--284: 59
--283: 60
--282: 60
--281: 61
--280: 59
--279: 60
--278: 60
--277: 61
--276: 60
--275: 61
--274: 61
--273: 62
--272: 59
--271: 60
--270: 60
--269: 61
--268: 60
--267: 61
--266: 61
--265: 62
--264: 60
--263: 61
--262: 61
--261: 62
--260: 61
--259: 62
--258: 62
--257: 63
--256: 56
--255: 57
--254: 57
--253: 58
--252: 57
--251: 58
--250: 58
--249: 59
--248: 57
--247: 58
--246: 58
--245: 59
--244: 58
--243: 59
--242: 59
--241: 60
--240: 57
--239: 58
--238: 58
--237: 59
--236: 58
--235: 59
--234: 59
--233: 60
--232: 58
--231: 59
--230: 59
--229: 60
--228: 59
--227: 60
--226: 60
--225: 61
--224: 57
--223: 58
--222: 58
--221: 59
--220: 58
--219: 59
--218: 59
--217: 60
--216: 58
--215: 59
--214: 59
--213: 60
--212: 59
--211: 60
--210: 60
--209: 61
--208: 58
--207: 59
--206: 59
--205: 60
--204: 59
--203: 60
--202: 60
--201: 61
--200: 59
--199: 60
--198: 60
--197: 61
--196: 60
--195: 61
--194: 61
--193: 62
--192: 57
--191: 58
--190: 58
--189: 59
--188: 58
--187: 59
--186: 59
--185: 60
--184: 58
--183: 59
--182: 59
--181: 60
--180: 59
--179: 60
--178: 60
--177: 61
--176: 58
--175: 59
--174: 59
--173: 60
--172: 59
--171: 60
--170: 60
--169: 61
--168: 59
--167: 60
--166: 60
--165: 61
--164: 60
--163: 61
--162: 61
--161: 62
--160: 58
--159: 59
--158: 59
--157: 60
--156: 59
--155: 60
--154: 60
--153: 61
--152: 59
--151: 60
--150: 60
--149: 61
--148: 60
--147: 61
--146: 61
--145: 62
--144: 59
--143: 60
--142: 60
--141: 61
--140: 60
--139: 61
--138: 61
--137: 62
--136: 60
--135: 61
--134: 61
--133: 62
--132: 61
--131: 62
--130: 62
--129: 63
--128: 57
--127: 58
--126: 58
--125: 59
--124: 58
--123: 59
--122: 59
--121: 60
--120: 58
--119: 59
--118: 59
--117: 60
--116: 59
--115: 60
--114: 60
--113: 61
--112: 58
--111: 59
--110: 59
--109: 60
--108: 59
--107: 60
--106: 60
--105: 61
--104: 59
--103: 60
--102: 60
--101: 61
--100: 60
--99: 61
--98: 61
--97: 62
--96: 58
--95: 59
--94: 59
--93: 60
--92: 59
--91: 60
--90: 60
--89: 61
--88: 59
--87: 60
--86: 60
--85: 61
--84: 60
--83: 61
--82: 61
--81: 62
--80: 59
--79: 60
--78: 60
--77: 61
--76: 60
--75: 61
--74: 61
--73: 62
--72: 60
--71: 61
--70: 61
--69: 62
--68: 61
--67: 62
--66: 62
--65: 63
--64: 58
--63: 59
--62: 59
--61: 60
--60: 59
--59: 60
--58: 60
--57: 61
--56: 59
--55: 60
--54: 60
--53: 61
--52: 60
--51: 61
--50: 61
--49: 62
--48: 59
--47: 60
--46: 60
--45: 61
--44: 60
--43: 61
--42: 61
--41: 62
--40: 60
--39: 61
--38: 61
--37: 62
--36: 61
--35: 62
--34: 62
--33: 63
--32: 59
--31: 60
--30: 60
--29: 61
--28: 60
--27: 61
--26: 61
--25: 62
--24: 60
--23: 61
--22: 61
--21: 62
--20: 61
--19: 62
--18: 62
--17: 63
--16: 60
--15: 61
--14: 61
--13: 62
--12: 61
--11: 62
--10: 62
--9: 63
--8: 61
--7: 62
--6: 62
--5: 63
--4: 62
--3: 63
--2: 63
--1: 64
-0: 0
-1: 1
-2: 1
-3: 2
-4: 1
-5: 2
-6: 2
-7: 3
-8: 1
-9: 2
-10: 2
-11: 3
-12: 2
-13: 3
-14: 3
-15: 4
-16: 1
-17: 2
-18: 2
-19: 3
-20: 2
-21: 3
-22: 3
-23: 4
-24: 2
-25: 3
-26: 3
-27: 4
-28: 3
-29: 4
-30: 4
-31: 5
-32: 1
-33: 2
-34: 2
-35: 3
-36: 2
-37: 3
-38: 3
-39: 4
-40: 2
-41: 3
-42: 3
-43: 4
-44: 3
-45: 4
-46: 4
-47: 5
-48: 2
-49: 3
-50: 3
-51: 4
-52: 3
-53: 4
-54: 4
-55: 5
-56: 3
-57: 4
-58: 4
-59: 5
-60: 4
-61: 5
-62: 5
-63: 6
-64: 1
-65: 2
-66: 2
-67: 3
-68: 2
-69: 3
-70: 3
-71: 4
-72: 2
-73: 3
-74: 3
-75: 4
-76: 3
-77: 4
-78: 4
-79: 5
-80: 2
-81: 3
-82: 3
-83: 4
-84: 3
-85: 4
-86: 4
-87: 5
-88: 3
-89: 4
-90: 4
-91: 5
-92: 4
-93: 5
-94: 5
-95: 6
-96: 2
-97: 3
-98: 3
-99: 4
-100: 3
-101: 4
-102: 4
-103: 5
-104: 3
-105: 4
-106: 4
-107: 5
-108: 4
-109: 5
-110: 5
-111: 6
-112: 3
-113: 4
-114: 4
-115: 5
-116: 4
-117: 5
-118: 5
-119: 6
-120: 4
-121: 5
-122: 5
-123: 6
-124: 5
-125: 6
-126: 6
-127: 7
-128: 1
-129: 2
-130: 2
-131: 3
-132: 2
-133: 3
-134: 3
-135: 4
-136: 2
-137: 3
-138: 3
-139: 4
-140: 3
-141: 4
-142: 4
-143: 5
-144: 2
-145: 3
-146: 3
-147: 4
-148: 3
-149: 4
-150: 4
-151: 5
-152: 3
-153: 4
-154: 4
-155: 5
-156: 4
-157: 5
-158: 5
-159: 6
-160: 2
-161: 3
-162: 3
-163: 4
-164: 3
-165: 4
-166: 4
-167: 5
-168: 3
-169: 4
-170: 4
-171: 5
-172: 4
-173: 5
-174: 5
-175: 6
-176: 3
-177: 4
-178: 4
-179: 5
-180: 4
-181: 5
-182: 5
-183: 6
-184: 4
-185: 5
-186: 5
-187: 6
-188: 5
-189: 6
-190: 6
-191: 7
-192: 2
-193: 3
-194: 3
-195: 4
-196: 3
-197: 4
-198: 4
-199: 5
-200: 3
-201: 4
-202: 4
-203: 5
-204: 4
-205: 5
-206: 5
-207: 6
-208: 3
-209: 4
-210: 4
-211: 5
-212: 4
-213: 5
-214: 5
-215: 6
-216: 4
-217: 5
-218: 5
-219: 6
-220: 5
-221: 6
-222: 6
-223: 7
-224: 3
-225: 4
-226: 4
-227: 5
-228: 4
-229: 5
-230: 5
-231: 6
-232: 4
-233: 5
-234: 5
-235: 6
-236: 5
-237: 6
-238: 6
-239: 7
-240: 4
-241: 5
-242: 5
-243: 6
-244: 5
-245: 6
-246: 6
-247: 7
-248: 5
-249: 6
-250: 6
-251: 7
-252: 6
-253: 7
-254: 7
-255: 8
-256: 1
-257: 2
-258: 2
-259: 3
-260: 2
-261: 3
-262: 3
-263: 4
-264: 2
-265: 3
-266: 3
-267: 4
-268: 3
-269: 4
-270: 4
-271: 5
-272: 2
-273: 3
-274: 3
-275: 4
-276: 3
-277: 4
-278: 4
-279: 5
-280: 3
-281: 4
-282: 4
-283: 5
-284: 4
-285: 5
-286: 5
-287: 6
-288: 2
-289: 3
-290: 3
-291: 4
-292: 3
-293: 4
-294: 4
-295: 5
-296: 3
-297: 4
-298: 4
-299: 5
-300: 4
-301: 5
-302: 5
-303: 6
-304: 3
-305: 4
-306: 4
-307: 5
-308: 4
-309: 5
-310: 5
-311: 6
-312: 4
-313: 5
-314: 5
-315: 6
-316: 5
-317: 6
-318: 6
-319: 7
-320: 2
-321: 3
-322: 3
-323: 4
-324: 3
-325: 4
-326: 4
-327: 5
-328: 3
-329: 4
-330: 4
-331: 5
-332: 4
-333: 5
-334: 5
-335: 6
-336: 3
-337: 4
-338: 4
-339: 5
-340: 4
-341: 5
-342: 5
-343: 6
-344: 4
-345: 5
-346: 5
-347: 6
-348: 5
-349: 6
-350: 6
-351: 7
-352: 3
-353: 4
-354: 4
-355: 5
-356: 4
-357: 5
-358: 5
-359: 6
-360: 4
-361: 5
-362: 5
-363: 6
-364: 5
-365: 6
-366: 6
-367: 7
-368: 4
-369: 5
-370: 5
-371: 6
-372: 5
-373: 6
-374: 6
-375: 7
-376: 5
-377: 6
-378: 6
-379: 7
-380: 6
-381: 7
-382: 7
-383: 8
-384: 2
-385: 3
-386: 3
-387: 4
-388: 3
-389: 4
-390: 4
-391: 5
-392: 3
-393: 4
-394: 4
-395: 5
-396: 4
-397: 5
-398: 5
-399: 6
-400: 3
-401: 4
-402: 4
-403: 5
-404: 4
-405: 5
-406: 5
-407: 6
-408: 4
-409: 5
-410: 5
-411: 6
-412: 5
-413: 6
-414: 6
-415: 7
-416: 3
-417: 4
-418: 4
-419: 5
-420: 4
-421: 5
-422: 5
-423: 6
-424: 4
-425: 5
-426: 5
-427: 6
-428: 5
-429: 6
-430: 6
-431: 7
-432: 4
-433: 5
-434: 5
-435: 6
-436: 5
-437: 6
-438: 6
-439: 7
-440: 5
-441: 6
-442: 6
-443: 7
-444: 6
-445: 7
-446: 7
-447: 8
-448: 3
-449: 4
-450: 4
-451: 5
-452: 4
-453: 5
-454: 5
-455: 6
-456: 4
-457: 5
-458: 5
-459: 6
-460: 5
-461: 6
-462: 6
-463: 7
-464: 4
-465: 5
-466: 5
-467: 6
-468: 5
-469: 6
-470: 6
-471: 7
-472: 5
-473: 6
-474: 6
-475: 7
-476: 6
-477: 7
-478: 7
-479: 8
-480: 4
-481: 5
-482: 5
-483: 6
-484: 5
-485: 6
-486: 6
-487: 7
-488: 5
-489: 6
-490: 6
-491: 7
-492: 6
-493: 7
-494: 7
-495: 8
-496: 5
-497: 6
-498: 6
-499: 7
-500: 6
-501: 7
-502: 7
-503: 8
-504: 6
-505: 7
-506: 7
-507: 8
-508: 7
-509: 8
-510: 8
-511: 9
-512: 1
-513: 2
-514: 2
-515: 3
-516: 2
-517: 3
-518: 3
-519: 4
-520: 2
-521: 3
-522: 3
-523: 4
-524: 3
-525: 4
-526: 4
-527: 5
-528: 2
-529: 3
-530: 3
-531: 4
-532: 3
-533: 4
-534: 4
-535: 5
-536: 3
-537: 4
-538: 4
-539: 5
-540: 4
-541: 5
-542: 5
-543: 6
-544: 2
-545: 3
-546: 3
-547: 4
-548: 3
-549: 4
-550: 4
-551: 5
-552: 3
-553: 4
-554: 4
-555: 5
-556: 4
-557: 5
-558: 5
-559: 6
-560: 3
-561: 4
-562: 4
-563: 5
-564: 4
-565: 5
-566: 5
-567: 6
-568: 4
-569: 5
-570: 5
-571: 6
-572: 5
-573: 6
-574: 6
-575: 7
-576: 2
-577: 3
-578: 3
-579: 4
-580: 3
-581: 4
-582: 4
-583: 5
-584: 3
-585: 4
-586: 4
-587: 5
-588: 4
-589: 5
-590: 5
-591: 6
-592: 3
-593: 4
-594: 4
-595: 5
-596: 4
-597: 5
-598: 5
-599: 6
-600: 4
-601: 5
-602: 5
-603: 6
-604: 5
-605: 6
-606: 6
-607: 7
-608: 3
-609: 4
-610: 4
-611: 5
-612: 4
-613: 5
-614: 5
-615: 6
-616: 4
-617: 5
-618: 5
-619: 6
-620: 5
-621: 6
-622: 6
-623: 7
-624: 4
-625: 5
-626: 5
-627: 6
-628: 5
-629: 6
-630: 6
-631: 7
-632: 5
-633: 6
-634: 6
-635: 7
-636: 6
-637: 7
-638: 7
-639: 8
-640: 2
-641: 3
-642: 3
-643: 4
-644: 3
-645: 4
-646: 4
-647: 5
-648: 3
-649: 4
-650: 4
-651: 5
-652: 4
-653: 5
-654: 5
-655: 6
-656: 3
-657: 4
-658: 4
-659: 5
-660: 4
-661: 5
-662: 5
-663: 6
-664: 4
-665: 5
-666: 5
-667: 6
-668: 5
-669: 6
-670: 6
-671: 7
-672: 3
-673: 4
-674: 4
-675: 5
-676: 4
-677: 5
-678: 5
-679: 6
-680: 4
-681: 5
-682: 5
-683: 6
-684: 5
-685: 6
-686: 6
-687: 7
-688: 4
-689: 5
-690: 5
-691: 6
-692: 5
-693: 6
-694: 6
-695: 7
-696: 5
-697: 6
-698: 6
-699: 7
-700: 6
-701: 7
-702: 7
-703: 8
-704: 3
-705: 4
-706: 4
-707: 5
-708: 4
-709: 5
-710: 5
-711: 6
-712: 4
-713: 5
-714: 5
-715: 6
-716: 5
-717: 6
-718: 6
-719: 7
-720: 4
-721: 5
-722: 5
-723: 6
-724: 5
-725: 6
-726: 6
-727: 7
-728: 5
-729: 6
-730: 6
-731: 7
-732: 6
-733: 7
-734: 7
-735: 8
-736: 4
-737: 5
-738: 5
-739: 6
-740: 5
-741: 6
-742: 6
-743: 7
-744: 5
-745: 6
-746: 6
-747: 7
-748: 6
-749: 7
-750: 7
-751: 8
-752: 5
-753: 6
-754: 6
-755: 7
-756: 6
-757: 7
-758: 7
-759: 8
-760: 6
-761: 7
-762: 7
-763: 8
-764: 7
-765: 8
-766: 8
-767: 9
-768: 2
-769: 3
-770: 3
-771: 4
-772: 3
-773: 4
-774: 4
-775: 5
-776: 3
-777: 4
-778: 4
-779: 5
-780: 4
-781: 5
-782: 5
-783: 6
-784: 3
-785: 4
-786: 4
-787: 5
-788: 4
-789: 5
-790: 5
-791: 6
-792: 4
-793: 5
-794: 5
-795: 6
-796: 5
-797: 6
-798: 6
-799: 7
-800: 3
-801: 4
-802: 4
-803: 5
-804: 4
-805: 5
-806: 5
-807: 6
-808: 4
-809: 5
-810: 5
-811: 6
-812: 5
-813: 6
-814: 6
-815: 7
-816: 4
-817: 5
-818: 5
-819: 6
-820: 5
-821: 6
-822: 6
-823: 7
-824: 5
-825: 6
-826: 6
-827: 7
-828: 6
-829: 7
-830: 7
-831: 8
-832: 3
-833: 4
-834: 4
-835: 5
-836: 4
-837: 5
-838: 5
-839: 6
-840: 4
-841: 5
-842: 5
-843: 6
-844: 5
-845: 6
-846: 6
-847: 7
-848: 4
-849: 5
-850: 5
-851: 6
-852: 5
-853: 6
-854: 6
-855: 7
-856: 5
-857: 6
-858: 6
-859: 7
-860: 6
-861: 7
-862: 7
-863: 8
-864: 4
-865: 5
-866: 5
-867: 6
-868: 5
-869: 6
-870: 6
-871: 7
-872: 5
-873: 6
-874: 6
-875: 7
-876: 6
-877: 7
-878: 7
-879: 8
-880: 5
-881: 6
-882: 6
-883: 7
-884: 6
-885: 7
-886: 7
-887: 8
-888: 6
-889: 7
-890: 7
-891: 8
-892: 7
-893: 8
-894: 8
-895: 9
-896: 3
-897: 4
-898: 4
-899: 5
-900: 4
-901: 5
-902: 5
-903: 6
-904: 4
-905: 5
-906: 5
-907: 6
-908: 5
-909: 6
-910: 6
-911: 7
-912: 4
-913: 5
-914: 5
-915: 6
-916: 5
-917: 6
-918: 6
-919: 7
-920: 5
-921: 6
-922: 6
-923: 7
-924: 6
-925: 7
-926: 7
-927: 8
-928: 4
-929: 5
-930: 5
-931: 6
-932: 5
-933: 6
-934: 6
-935: 7
-936: 5
-937: 6
-938: 6
-939: 7
-940: 6
-941: 7
-942: 7
-943: 8
-944: 5
-945: 6
-946: 6
-947: 7
-948: 6
-949: 7
-950: 7
-951: 8
-952: 6
-953: 7
-954: 7
-955: 8
-956: 7
-957: 8
-958: 8
-959: 9
-960: 4
-961: 5
-962: 5
-963: 6
-964: 5
-965: 6
-966: 6
-967: 7
-968: 5
-969: 6
-970: 6
-971: 7
-972: 6
-973: 7
-974: 7
-975: 8
-976: 5
-977: 6
-978: 6
-979: 7
-980: 6
-981: 7
-982: 7
-983: 8
-984: 6
-985: 7
-986: 7
-987: 8
-988: 7
-989: 8
-990: 8
-991: 9
-992: 5
-993: 6
-994: 6
-995: 7
-996: 6
-997: 7
-998: 7
-999: 8
-1000: 6
-1001: 7
-1002: 7
-1003: 8
-1004: 7
-1005: 8
-1006: 8
-1007: 9
-1008: 6
-1009: 7
-1010: 7
-1011: 8
-1012: 7
-1013: 8
-1014: 8
-1015: 9
-1016: 7
-1017: 8
-1018: 8
-1019: 9
-1020: 8
-1021: 9
-1022: 9
-1023: 10
-1024: 1
-1025: 2
-1026: 2
-1027: 3
-1028: 2
-1029: 3
-1030: 3
-1031: 4
-1032: 2
-1033: 3
-1034: 3
-1035: 4
-1036: 3
-1037: 4
-1038: 4
-1039: 5
-1040: 2
-1041: 3
-1042: 3
-1043: 4
-1044: 3
-1045: 4
-1046: 4
-1047: 5
-1048: 3
-1049: 4
-1050: 4
-1051: 5
-1052: 4
-1053: 5
-1054: 5
-1055: 6
-1056: 2
-1057: 3
-1058: 3
-1059: 4
-1060: 3
-1061: 4
-1062: 4
-1063: 5
-1064: 3
-1065: 4
-1066: 4
-1067: 5
-1068: 4
-1069: 5
-1070: 5
-1071: 6
-1072: 3
-1073: 4
-1074: 4
-1075: 5
-1076: 4
-1077: 5
-1078: 5
-1079: 6
-1080: 4
-1081: 5
-1082: 5
-1083: 6
-1084: 5
-1085: 6
-1086: 6
-1087: 7
-1088: 2
-1089: 3
-1090: 3
-1091: 4
-1092: 3
-1093: 4
-1094: 4
-1095: 5
-1096: 3
-1097: 4
-1098: 4
-1099: 5
-1100: 4
-1101: 5
-1102: 5
-1103: 6
-1104: 3
-1105: 4
-1106: 4
-1107: 5
-1108: 4
-1109: 5
-1110: 5
-1111: 6
-1112: 4
-1113: 5
-1114: 5
-1115: 6
-1116: 5
-1117: 6
-1118: 6
-1119: 7
-1120: 3
-1121: 4
-1122: 4
-1123: 5
-1124: 4
-1125: 5
-1126: 5
-1127: 6
-1128: 4
-1129: 5
-1130: 5
-1131: 6
-1132: 5
-1133: 6
-1134: 6
-1135: 7
-1136: 4
-1137: 5
-1138: 5
-1139: 6
-1140: 5
-1141: 6
-1142: 6
-1143: 7
-1144: 5
-1145: 6
-1146: 6
-1147: 7
-1148: 6
-1149: 7
-1150: 7
-1151: 8
-1152: 2
-1153: 3
-1154: 3
-1155: 4
-1156: 3
-1157: 4
-1158: 4
-1159: 5
-1160: 3
-1161: 4
-1162: 4
-1163: 5
-1164: 4
-1165: 5
-1166: 5
-1167: 6
-1168: 3
-1169: 4
-1170: 4
-1171: 5
-1172: 4
-1173: 5
-1174: 5
-1175: 6
-1176: 4
-1177: 5
-1178: 5
-1179: 6
-1180: 5
-1181: 6
-1182: 6
-1183: 7
-1184: 3
-1185: 4
-1186: 4
-1187: 5
-1188: 4
-1189: 5
-1190: 5
-1191: 6
-1192: 4
-1193: 5
-1194: 5
-1195: 6
-1196: 5
-1197: 6
-1198: 6
-1199: 7
-1200: 4
-1201: 5
-1202: 5
-1203: 6
-1204: 5
-1205: 6
-1206: 6
-1207: 7
-1208: 5
-1209: 6
-1210: 6
-1211: 7
-1212: 6
-1213: 7
-1214: 7
-1215: 8
-1216: 3
-1217: 4
-1218: 4
-1219: 5
-1220: 4
-1221: 5
-1222: 5
-1223: 6
-1224: 4
-1225: 5
-1226: 5
-1227: 6
-1228: 5
-1229: 6
-1230: 6
-1231: 7
-1232: 4
-1233: 5
-1234: 5
-1235: 6
-1236: 5
-1237: 6
-1238: 6
-1239: 7
-1240: 5
-1241: 6
-1242: 6
-1243: 7
-1244: 6
-1245: 7
-1246: 7
-1247: 8
-1248: 4
-1249: 5
-1250: 5
-1251: 6
-1252: 5
-1253: 6
-1254: 6
-1255: 7
-1256: 5
-1257: 6
-1258: 6
-1259: 7
-1260: 6
-1261: 7
-1262: 7
-1263: 8
-1264: 5
-1265: 6
-1266: 6
-1267: 7
-1268: 6
-1269: 7
-1270: 7
-1271: 8
-1272: 6
-1273: 7
-1274: 7
-1275: 8
-1276: 7
-1277: 8
-1278: 8
-1279: 9
-1280: 2
-1281: 3
-1282: 3
-1283: 4
-1284: 3
-1285: 4
-1286: 4
-1287: 5
-1288: 3
-1289: 4
-1290: 4
-1291: 5
-1292: 4
-1293: 5
-1294: 5
-1295: 6
-1296: 3
-1297: 4
-1298: 4
-1299: 5
-1300: 4
-1301: 5
-1302: 5
-1303: 6
-1304: 4
-1305: 5
-1306: 5
-1307: 6
-1308: 5
-1309: 6
-1310: 6
-1311: 7
-1312: 3
-1313: 4
-1314: 4
-1315: 5
-1316: 4
-1317: 5
-1318: 5
-1319: 6
-1320: 4
-1321: 5
-1322: 5
-1323: 6
-1324: 5
-1325: 6
-1326: 6
-1327: 7
-1328: 4
-1329: 5
-1330: 5
-1331: 6
-1332: 5
-1333: 6
-1334: 6
-1335: 7
-1336: 5
-1337: 6
-1338: 6
-1339: 7
-1340: 6
-1341: 7
-1342: 7
-1343: 8
-1344: 3
-1345: 4
-1346: 4
-1347: 5
-1348: 4
-1349: 5
-1350: 5
-1351: 6
-1352: 4
-1353: 5
-1354: 5
-1355: 6
-1356: 5
-1357: 6
-1358: 6
-1359: 7
-1360: 4
-1361: 5
-1362: 5
-1363: 6
-1364: 5
-1365: 6
-1366: 6
-1367: 7
-1368: 5
-1369: 6
-1370: 6
-1371: 7
-1372: 6
-1373: 7
-1374: 7
-1375: 8
-1376: 4
-1377: 5
-1378: 5
-1379: 6
-1380: 5
-1381: 6
-1382: 6
-1383: 7
-1384: 5
-1385: 6
-1386: 6
-1387: 7
-1388: 6
-1389: 7
-1390: 7
-1391: 8
-1392: 5
-1393: 6
-1394: 6
-1395: 7
-1396: 6
-1397: 7
-1398: 7
-1399: 8
-1400: 6
-1401: 7
-1402: 7
-1403: 8
-1404: 7
-1405: 8
-1406: 8
-1407: 9
-1408: 3
-1409: 4
-1410: 4
-1411: 5
-1412: 4
-1413: 5
-1414: 5
-1415: 6
-1416: 4
-1417: 5
-1418: 5
-1419: 6
-1420: 5
-1421: 6
-1422: 6
-1423: 7
-1424: 4
-1425: 5
-1426: 5
-1427: 6
-1428: 5
-1429: 6
-1430: 6
-1431: 7
-1432: 5
-1433: 6
-1434: 6
-1435: 7
-1436: 6
-1437: 7
-1438: 7
-1439: 8
-1440: 4
-1441: 5
-1442: 5
-1443: 6
-1444: 5
-1445: 6
-1446: 6
-1447: 7
-1448: 5
-1449: 6
-1450: 6
-1451: 7
-1452: 6
-1453: 7
-1454: 7
-1455: 8
-1456: 5
-1457: 6
-1458: 6
-1459: 7
-1460: 6
-1461: 7
-1462: 7
-1463: 8
-1464: 6
-1465: 7
-1466: 7
-1467: 8
-1468: 7
-1469: 8
-1470: 8
-1471: 9
-1472: 4
-1473: 5
-1474: 5
-1475: 6
-1476: 5
-1477: 6
-1478: 6
-1479: 7
-1480: 5
-1481: 6
-1482: 6
-1483: 7
-1484: 6
-1485: 7
-1486: 7
-1487: 8
-1488: 5
-1489: 6
-1490: 6
-1491: 7
-1492: 6
-1493: 7
-1494: 7
-1495: 8
-1496: 6
-1497: 7
-1498: 7
-1499: 8
-1500: 7
-1501: 8
-1502: 8
-1503: 9
-1504: 5
-1505: 6
-1506: 6
-1507: 7
-1508: 6
-1509: 7
-1510: 7
-1511: 8
-1512: 6
-1513: 7
-1514: 7
-1515: 8
-1516: 7
-1517: 8
-1518: 8
-1519: 9
-1520: 6
-1521: 7
-1522: 7
-1523: 8
-1524: 7
-1525: 8
-1526: 8
-1527: 9
-1528: 7
-1529: 8
-1530: 8
-1531: 9
-1532: 8
-1533: 9
-1534: 9
-1535: 10
-1536: 2
-1537: 3
-1538: 3
-1539: 4
-1540: 3
-1541: 4
-1542: 4
-1543: 5
-1544: 3
-1545: 4
-1546: 4
-1547: 5
-1548: 4
-1549: 5
-1550: 5
-1551: 6
-1552: 3
-1553: 4
-1554: 4
-1555: 5
-1556: 4
-1557: 5
-1558: 5
-1559: 6
-1560: 4
-1561: 5
-1562: 5
-1563: 6
-1564: 5
-1565: 6
-1566: 6
-1567: 7
-1568: 3
-1569: 4
-1570: 4
-1571: 5
-1572: 4
-1573: 5
-1574: 5
-1575: 6
-1576: 4
-1577: 5
-1578: 5
-1579: 6
-1580: 5
-1581: 6
-1582: 6
-1583: 7
-1584: 4
-1585: 5
-1586: 5
-1587: 6
-1588: 5
-1589: 6
-1590: 6
-1591: 7
-1592: 5
-1593: 6
-1594: 6
-1595: 7
-1596: 6
-1597: 7
-1598: 7
-1599: 8
-1600: 3
-1601: 4
-1602: 4
-1603: 5
-1604: 4
-1605: 5
-1606: 5
-1607: 6
-1608: 4
-1609: 5
-1610: 5
-1611: 6
-1612: 5
-1613: 6
-1614: 6
-1615: 7
-1616: 4
-1617: 5
-1618: 5
-1619: 6
-1620: 5
-1621: 6
-1622: 6
-1623: 7
-1624: 5
-1625: 6
-1626: 6
-1627: 7
-1628: 6
-1629: 7
-1630: 7
-1631: 8
-1632: 4
-1633: 5
-1634: 5
-1635: 6
-1636: 5
-1637: 6
-1638: 6
-1639: 7
-1640: 5
-1641: 6
-1642: 6
-1643: 7
-1644: 6
-1645: 7
-1646: 7
-1647: 8
-1648: 5
-1649: 6
-1650: 6
-1651: 7
-1652: 6
-1653: 7
-1654: 7
-1655: 8
-1656: 6
-1657: 7
-1658: 7
-1659: 8
-1660: 7
-1661: 8
-1662: 8
-1663: 9
-1664: 3
-1665: 4
-1666: 4
-1667: 5
-1668: 4
-1669: 5
-1670: 5
-1671: 6
-1672: 4
-1673: 5
-1674: 5
-1675: 6
-1676: 5
-1677: 6
-1678: 6
-1679: 7
-1680: 4
-1681: 5
-1682: 5
-1683: 6
-1684: 5
-1685: 6
-1686: 6
-1687: 7
-1688: 5
-1689: 6
-1690: 6
-1691: 7
-1692: 6
-1693: 7
-1694: 7
-1695: 8
-1696: 4
-1697: 5
-1698: 5
-1699: 6
-1700: 5
-1701: 6
-1702: 6
-1703: 7
-1704: 5
-1705: 6
-1706: 6
-1707: 7
-1708: 6
-1709: 7
-1710: 7
-1711: 8
-1712: 5
-1713: 6
-1714: 6
-1715: 7
-1716: 6
-1717: 7
-1718: 7
-1719: 8
-1720: 6
-1721: 7
-1722: 7
-1723: 8
-1724: 7
-1725: 8
-1726: 8
-1727: 9
-1728: 4
-1729: 5
-1730: 5
-1731: 6
-1732: 5
-1733: 6
-1734: 6
-1735: 7
-1736: 5
-1737: 6
-1738: 6
-1739: 7
-1740: 6
-1741: 7
-1742: 7
-1743: 8
-1744: 5
-1745: 6
-1746: 6
-1747: 7
-1748: 6
-1749: 7
-1750: 7
-1751: 8
-1752: 6
-1753: 7
-1754: 7
-1755: 8
-1756: 7
-1757: 8
-1758: 8
-1759: 9
-1760: 5
-1761: 6
-1762: 6
-1763: 7
-1764: 6
-1765: 7
-1766: 7
-1767: 8
-1768: 6
-1769: 7
-1770: 7
-1771: 8
-1772: 7
-1773: 8
-1774: 8
-1775: 9
-1776: 6
-1777: 7
-1778: 7
-1779: 8
-1780: 7
-1781: 8
-1782: 8
-1783: 9
-1784: 7
-1785: 8
-1786: 8
-1787: 9
-1788: 8
-1789: 9
-1790: 9
-1791: 10
-1792: 3
-1793: 4
-1794: 4
-1795: 5
-1796: 4
-1797: 5
-1798: 5
-1799: 6
-1800: 4
-1801: 5
-1802: 5
-1803: 6
-1804: 5
-1805: 6
-1806: 6
-1807: 7
-1808: 4
-1809: 5
-1810: 5
-1811: 6
-1812: 5
-1813: 6
-1814: 6
-1815: 7
-1816: 5
-1817: 6
-1818: 6
-1819: 7
-1820: 6
-1821: 7
-1822: 7
-1823: 8
-1824: 4
-1825: 5
-1826: 5
-1827: 6
-1828: 5
-1829: 6
-1830: 6
-1831: 7
-1832: 5
-1833: 6
-1834: 6
-1835: 7
-1836: 6
-1837: 7
-1838: 7
-1839: 8
-1840: 5
-1841: 6
-1842: 6
-1843: 7
-1844: 6
-1845: 7
-1846: 7
-1847: 8
-1848: 6
-1849: 7
-1850: 7
-1851: 8
-1852: 7
-1853: 8
-1854: 8
-1855: 9
-1856: 4
-1857: 5
-1858: 5
-1859: 6
-1860: 5
-1861: 6
-1862: 6
-1863: 7
-1864: 5
-1865: 6
-1866: 6
-1867: 7
-1868: 6
-1869: 7
-1870: 7
-1871: 8
-1872: 5
-1873: 6
-1874: 6
-1875: 7
-1876: 6
-1877: 7
-1878: 7
-1879: 8
-1880: 6
-1881: 7
-1882: 7
-1883: 8
-1884: 7
-1885: 8
-1886: 8
-1887: 9
-1888: 5
-1889: 6
-1890: 6
-1891: 7
-1892: 6
-1893: 7
-1894: 7
-1895: 8
-1896: 6
-1897: 7
-1898: 7
-1899: 8
-1900: 7
-1901: 8
-1902: 8
-1903: 9
-1904: 6
-1905: 7
-1906: 7
-1907: 8
-1908: 7
-1909: 8
-1910: 8
-1911: 9
-1912: 7
-1913: 8
-1914: 8
-1915: 9
-1916: 8
-1917: 9
-1918: 9
-1919: 10
-1920: 4
-1921: 5
-1922: 5
-1923: 6
-1924: 5
-1925: 6
-1926: 6
-1927: 7
-1928: 5
-1929: 6
-1930: 6
-1931: 7
-1932: 6
-1933: 7
-1934: 7
-1935: 8
-1936: 5
-1937: 6
-1938: 6
-1939: 7
-1940: 6
-1941: 7
-1942: 7
-1943: 8
-1944: 6
-1945: 7
-1946: 7
-1947: 8
-1948: 7
-1949: 8
-1950: 8
-1951: 9
-1952: 5
-1953: 6
-1954: 6
-1955: 7
-1956: 6
-1957: 7
-1958: 7
-1959: 8
-1960: 6
-1961: 7
-1962: 7
-1963: 8
-1964: 7
-1965: 8
-1966: 8
-1967: 9
-1968: 6
-1969: 7
-1970: 7
-1971: 8
-1972: 7
-1973: 8
-1974: 8
-1975: 9
-1976: 7
-1977: 8
-1978: 8
-1979: 9
-1980: 8
-1981: 9
-1982: 9
-1983: 10
-1984: 5
-1985: 6
-1986: 6
-1987: 7
-1988: 6
-1989: 7
-1990: 7
-1991: 8
-1992: 6
-1993: 7
-1994: 7
-1995: 8
-1996: 7
-1997: 8
-1998: 8
-1999: 9
-2000: 6
-2001: 7
-2002: 7
-2003: 8
-2004: 7
-2005: 8
-2006: 8
-2007: 9
-2008: 7
-2009: 8
-2010: 8
-2011: 9
-2012: 8
-2013: 9
-2014: 9
-2015: 10
-2016: 6
-2017: 7
-2018: 7
-2019: 8
-2020: 7
-2021: 8
-2022: 8
-2023: 9
-2024: 7
-2025: 8
-2026: 8
-2027: 9
-2028: 8
-2029: 9
-2030: 9
-2031: 10
-2032: 7
-2033: 8
-2034: 8
-2035: 9
-2036: 8
-2037: 9
-2038: 9
-2039: 10
-2040: 8
-2041: 9
-2042: 9
-2043: 10
-2044: 9
-2045: 10
-2046: 10
-2047: 11
-2048: 1
-2049: 2
-2050: 2
-2051: 3
-2052: 2
-2053: 3
-2054: 3
-2055: 4
-2056: 2
-2057: 3
-2058: 3
-2059: 4
-2060: 3
-2061: 4
-2062: 4
-2063: 5
-2064: 2
-2065: 3
-2066: 3
-2067: 4
-2068: 3
-2069: 4
-2070: 4
-2071: 5
-2072: 3
-2073: 4
-2074: 4
-2075: 5
-2076: 4
-2077: 5
-2078: 5
-2079: 6
-2080: 2
-2081: 3
-2082: 3
-2083: 4
-2084: 3
-2085: 4
-2086: 4
-2087: 5
-2088: 3
-2089: 4
-2090: 4
-2091: 5
-2092: 4
-2093: 5
-2094: 5
-2095: 6
-2096: 3
-2097: 4
-2098: 4
-2099: 5
-2100: 4
-2101: 5
-2102: 5
-2103: 6
-2104: 4
-2105: 5
-2106: 5
-2107: 6
-2108: 5
-2109: 6
-2110: 6
-2111: 7
-2112: 2
-2113: 3
-2114: 3
-2115: 4
-2116: 3
-2117: 4
-2118: 4
-2119: 5
-2120: 3
-2121: 4
-2122: 4
-2123: 5
-2124: 4
-2125: 5
-2126: 5
-2127: 6
-2128: 3
-2129: 4
-2130: 4
-2131: 5
-2132: 4
-2133: 5
-2134: 5
-2135: 6
-2136: 4
-2137: 5
-2138: 5
-2139: 6
-2140: 5
-2141: 6
-2142: 6
-2143: 7
-2144: 3
-2145: 4
-2146: 4
-2147: 5
-2148: 4
-2149: 5
-2150: 5
-2151: 6
-2152: 4
-2153: 5
-2154: 5
-2155: 6
-2156: 5
-2157: 6
-2158: 6
-2159: 7
-2160: 4
-2161: 5
-2162: 5
-2163: 6
-2164: 5
-2165: 6
-2166: 6
-2167: 7
-2168: 5
-2169: 6
-2170: 6
-2171: 7
-2172: 6
-2173: 7
-2174: 7
-2175: 8
-2176: 2
-2177: 3
-2178: 3
-2179: 4
-2180: 3
-2181: 4
-2182: 4
-2183: 5
-2184: 3
-2185: 4
-2186: 4
-2187: 5
-2188: 4
-2189: 5
-2190: 5
-2191: 6
-2192: 3
-2193: 4
-2194: 4
-2195: 5
-2196: 4
-2197: 5
-2198: 5
-2199: 6
-2200: 4
-2201: 5
-2202: 5
-2203: 6
-2204: 5
-2205: 6
-2206: 6
-2207: 7
-2208: 3
-2209: 4
-2210: 4
-2211: 5
-2212: 4
-2213: 5
-2214: 5
-2215: 6
-2216: 4
-2217: 5
-2218: 5
-2219: 6
-2220: 5
-2221: 6
-2222: 6
-2223: 7
-2224: 4
-2225: 5
-2226: 5
-2227: 6
-2228: 5
-2229: 6
-2230: 6
-2231: 7
-2232: 5
-2233: 6
-2234: 6
-2235: 7
-2236: 6
-2237: 7
-2238: 7
-2239: 8
-2240: 3
-2241: 4
-2242: 4
-2243: 5
-2244: 4
-2245: 5
-2246: 5
-2247: 6
-2248: 4
-2249: 5
-2250: 5
-2251: 6
-2252: 5
-2253: 6
-2254: 6
-2255: 7
-2256: 4
-2257: 5
-2258: 5
-2259: 6
-2260: 5
-2261: 6
-2262: 6
-2263: 7
-2264: 5
-2265: 6
-2266: 6
-2267: 7
-2268: 6
-2269: 7
-2270: 7
-2271: 8
-2272: 4
-2273: 5
-2274: 5
-2275: 6
-2276: 5
-2277: 6
-2278: 6
-2279: 7
-2280: 5
-2281: 6
-2282: 6
-2283: 7
-2284: 6
-2285: 7
-2286: 7
-2287: 8
-2288: 5
-2289: 6
-2290: 6
-2291: 7
-2292: 6
-2293: 7
-2294: 7
-2295: 8
-2296: 6
-2297: 7
-2298: 7
-2299: 8
-2300: 7
-2301: 8
-2302: 8
-2303: 9
-2304: 2
-2305: 3
-2306: 3
-2307: 4
-2308: 3
-2309: 4
-2310: 4
-2311: 5
-2312: 3
-2313: 4
-2314: 4
-2315: 5
-2316: 4
-2317: 5
-2318: 5
-2319: 6
-2320: 3
-2321: 4
-2322: 4
-2323: 5
-2324: 4
-2325: 5
-2326: 5
-2327: 6
-2328: 4
-2329: 5
-2330: 5
-2331: 6
-2332: 5
-2333: 6
-2334: 6
-2335: 7
-2336: 3
-2337: 4
-2338: 4
-2339: 5
-2340: 4
-2341: 5
-2342: 5
-2343: 6
-2344: 4
-2345: 5
-2346: 5
-2347: 6
-2348: 5
-2349: 6
-2350: 6
-2351: 7
-2352: 4
-2353: 5
-2354: 5
-2355: 6
-2356: 5
-2357: 6
-2358: 6
-2359: 7
-2360: 5
-2361: 6
-2362: 6
-2363: 7
-2364: 6
-2365: 7
-2366: 7
-2367: 8
-2368: 3
-2369: 4
-2370: 4
-2371: 5
-2372: 4
-2373: 5
-2374: 5
-2375: 6
-2376: 4
-2377: 5
-2378: 5
-2379: 6
-2380: 5
-2381: 6
-2382: 6
-2383: 7
-2384: 4
-2385: 5
-2386: 5
-2387: 6
-2388: 5
-2389: 6
-2390: 6
-2391: 7
-2392: 5
-2393: 6
-2394: 6
-2395: 7
-2396: 6
-2397: 7
-2398: 7
-2399: 8
-2400: 4
-2401: 5
-2402: 5
-2403: 6
-2404: 5
-2405: 6
-2406: 6
-2407: 7
-2408: 5
-2409: 6
-2410: 6
-2411: 7
-2412: 6
-2413: 7
-2414: 7
-2415: 8
-2416: 5
-2417: 6
-2418: 6
-2419: 7
-2420: 6
-2421: 7
-2422: 7
-2423: 8
-2424: 6
-2425: 7
-2426: 7
-2427: 8
-2428: 7
-2429: 8
-2430: 8
-2431: 9
-2432: 3
-2433: 4
-2434: 4
-2435: 5
-2436: 4
-2437: 5
-2438: 5
-2439: 6
-2440: 4
-2441: 5
-2442: 5
-2443: 6
-2444: 5
-2445: 6
-2446: 6
-2447: 7
-2448: 4
-2449: 5
-2450: 5
-2451: 6
-2452: 5
-2453: 6
-2454: 6
-2455: 7
-2456: 5
-2457: 6
-2458: 6
-2459: 7
-2460: 6
-2461: 7
-2462: 7
-2463: 8
-2464: 4
-2465: 5
-2466: 5
-2467: 6
-2468: 5
-2469: 6
-2470: 6
-2471: 7
-2472: 5
-2473: 6
-2474: 6
-2475: 7
-2476: 6
-2477: 7
-2478: 7
-2479: 8
-2480: 5
-2481: 6
-2482: 6
-2483: 7
-2484: 6
-2485: 7
-2486: 7
-2487: 8
-2488: 6
-2489: 7
-2490: 7
-2491: 8
-2492: 7
-2493: 8
-2494: 8
-2495: 9
-2496: 4
-2497: 5
-2498: 5
-2499: 6
-2500: 5
-2501: 6
-2502: 6
-2503: 7
-2504: 5
-2505: 6
-2506: 6
-2507: 7
-2508: 6
-2509: 7
-2510: 7
-2511: 8
-2512: 5
-2513: 6
-2514: 6
-2515: 7
-2516: 6
-2517: 7
-2518: 7
-2519: 8
-2520: 6
-2521: 7
-2522: 7
-2523: 8
-2524: 7
-2525: 8
-2526: 8
-2527: 9
-2528: 5
-2529: 6
-2530: 6
-2531: 7
-2532: 6
-2533: 7
-2534: 7
-2535: 8
-2536: 6
-2537: 7
-2538: 7
-2539: 8
-2540: 7
-2541: 8
-2542: 8
-2543: 9
-2544: 6
-2545: 7
-2546: 7
-2547: 8
-2548: 7
-2549: 8
-2550: 8
-2551: 9
-2552: 7
-2553: 8
-2554: 8
-2555: 9
-2556: 8
-2557: 9
-2558: 9
-2559: 10
-2560: 2
-2561: 3
-2562: 3
-2563: 4
-2564: 3
-2565: 4
-2566: 4
-2567: 5
-2568: 3
-2569: 4
-2570: 4
-2571: 5
-2572: 4
-2573: 5
-2574: 5
-2575: 6
-2576: 3
-2577: 4
-2578: 4
-2579: 5
-2580: 4
-2581: 5
-2582: 5
-2583: 6
-2584: 4
-2585: 5
-2586: 5
-2587: 6
-2588: 5
-2589: 6
-2590: 6
-2591: 7
-2592: 3
-2593: 4
-2594: 4
-2595: 5
-2596: 4
-2597: 5
-2598: 5
-2599: 6
-2600: 4
-2601: 5
-2602: 5
-2603: 6
-2604: 5
-2605: 6
-2606: 6
-2607: 7
-2608: 4
-2609: 5
-2610: 5
-2611: 6
-2612: 5
-2613: 6
-2614: 6
-2615: 7
-2616: 5
-2617: 6
-2618: 6
-2619: 7
-2620: 6
-2621: 7
-2622: 7
-2623: 8
-2624: 3
-2625: 4
-2626: 4
-2627: 5
-2628: 4
-2629: 5
-2630: 5
-2631: 6
-2632: 4
-2633: 5
-2634: 5
-2635: 6
-2636: 5
-2637: 6
-2638: 6
-2639: 7
-2640: 4
-2641: 5
-2642: 5
-2643: 6
-2644: 5
-2645: 6
-2646: 6
-2647: 7
-2648: 5
-2649: 6
-2650: 6
-2651: 7
-2652: 6
-2653: 7
-2654: 7
-2655: 8
-2656: 4
-2657: 5
-2658: 5
-2659: 6
-2660: 5
-2661: 6
-2662: 6
-2663: 7
-2664: 5
-2665: 6
-2666: 6
-2667: 7
-2668: 6
-2669: 7
-2670: 7
-2671: 8
-2672: 5
-2673: 6
-2674: 6
-2675: 7
-2676: 6
-2677: 7
-2678: 7
-2679: 8
-2680: 6
-2681: 7
-2682: 7
-2683: 8
-2684: 7
-2685: 8
-2686: 8
-2687: 9
-2688: 3
-2689: 4
-2690: 4
-2691: 5
-2692: 4
-2693: 5
-2694: 5
-2695: 6
-2696: 4
-2697: 5
-2698: 5
-2699: 6
-2700: 5
-2701: 6
-2702: 6
-2703: 7
-2704: 4
-2705: 5
-2706: 5
-2707: 6
-2708: 5
-2709: 6
-2710: 6
-2711: 7
-2712: 5
-2713: 6
-2714: 6
-2715: 7
-2716: 6
-2717: 7
-2718: 7
-2719: 8
-2720: 4
-2721: 5
-2722: 5
-2723: 6
-2724: 5
-2725: 6
-2726: 6
-2727: 7
-2728: 5
-2729: 6
-2730: 6
-2731: 7
-2732: 6
-2733: 7
-2734: 7
-2735: 8
-2736: 5
-2737: 6
-2738: 6
-2739: 7
-2740: 6
-2741: 7
-2742: 7
-2743: 8
-2744: 6
-2745: 7
-2746: 7
-2747: 8
-2748: 7
-2749: 8
-2750: 8
-2751: 9
-2752: 4
-2753: 5
-2754: 5
-2755: 6
-2756: 5
-2757: 6
-2758: 6
-2759: 7
-2760: 5
-2761: 6
-2762: 6
-2763: 7
-2764: 6
-2765: 7
-2766: 7
-2767: 8
-2768: 5
-2769: 6
-2770: 6
-2771: 7
-2772: 6
-2773: 7
-2774: 7
-2775: 8
-2776: 6
-2777: 7
-2778: 7
-2779: 8
-2780: 7
-2781: 8
-2782: 8
-2783: 9
-2784: 5
-2785: 6
-2786: 6
-2787: 7
-2788: 6
-2789: 7
-2790: 7
-2791: 8
-2792: 6
-2793: 7
-2794: 7
-2795: 8
-2796: 7
-2797: 8
-2798: 8
-2799: 9
-2800: 6
-2801: 7
-2802: 7
-2803: 8
-2804: 7
-2805: 8
-2806: 8
-2807: 9
-2808: 7
-2809: 8
-2810: 8
-2811: 9
-2812: 8
-2813: 9
-2814: 9
-2815: 10
-2816: 3
-2817: 4
-2818: 4
-2819: 5
-2820: 4
-2821: 5
-2822: 5
-2823: 6
-2824: 4
-2825: 5
-2826: 5
-2827: 6
-2828: 5
-2829: 6
-2830: 6
-2831: 7
-2832: 4
-2833: 5
-2834: 5
-2835: 6
-2836: 5
-2837: 6
-2838: 6
-2839: 7
-2840: 5
-2841: 6
-2842: 6
-2843: 7
-2844: 6
-2845: 7
-2846: 7
-2847: 8
-2848: 4
-2849: 5
-2850: 5
-2851: 6
-2852: 5
-2853: 6
-2854: 6
-2855: 7
-2856: 5
-2857: 6
-2858: 6
-2859: 7
-2860: 6
-2861: 7
-2862: 7
-2863: 8
-2864: 5
-2865: 6
-2866: 6
-2867: 7
-2868: 6
-2869: 7
-2870: 7
-2871: 8
-2872: 6
-2873: 7
-2874: 7
-2875: 8
-2876: 7
-2877: 8
-2878: 8
-2879: 9
-2880: 4
-2881: 5
-2882: 5
-2883: 6
-2884: 5
-2885: 6
-2886: 6
-2887: 7
-2888: 5
-2889: 6
-2890: 6
-2891: 7
-2892: 6
-2893: 7
-2894: 7
-2895: 8
-2896: 5
-2897: 6
-2898: 6
-2899: 7
-2900: 6
-2901: 7
-2902: 7
-2903: 8
-2904: 6
-2905: 7
-2906: 7
-2907: 8
-2908: 7
-2909: 8
-2910: 8
-2911: 9
-2912: 5
-2913: 6
-2914: 6
-2915: 7
-2916: 6
-2917: 7
-2918: 7
-2919: 8
-2920: 6
-2921: 7
-2922: 7
-2923: 8
-2924: 7
-2925: 8
-2926: 8
-2927: 9
-2928: 6
-2929: 7
-2930: 7
-2931: 8
-2932: 7
-2933: 8
-2934: 8
-2935: 9
-2936: 7
-2937: 8
-2938: 8
-2939: 9
-2940: 8
-2941: 9
-2942: 9
-2943: 10
-2944: 4
-2945: 5
-2946: 5
-2947: 6
-2948: 5
-2949: 6
-2950: 6
-2951: 7
-2952: 5
-2953: 6
-2954: 6
-2955: 7
-2956: 6
-2957: 7
-2958: 7
-2959: 8
-2960: 5
-2961: 6
-2962: 6
-2963: 7
-2964: 6
-2965: 7
-2966: 7
-2967: 8
-2968: 6
-2969: 7
-2970: 7
-2971: 8
-2972: 7
-2973: 8
-2974: 8
-2975: 9
-2976: 5
-2977: 6
-2978: 6
-2979: 7
-2980: 6
-2981: 7
-2982: 7
-2983: 8
-2984: 6
-2985: 7
-2986: 7
-2987: 8
-2988: 7
-2989: 8
-2990: 8
-2991: 9
-2992: 6
-2993: 7
-2994: 7
-2995: 8
-2996: 7
-2997: 8
-2998: 8
-2999: 9
-3000: 7
-3001: 8
-3002: 8
-3003: 9
-3004: 8
-3005: 9
-3006: 9
-3007: 10
-3008: 5
-3009: 6
-3010: 6
-3011: 7
-3012: 6
-3013: 7
-3014: 7
-3015: 8
-3016: 6
-3017: 7
-3018: 7
-3019: 8
-3020: 7
-3021: 8
-3022: 8
-3023: 9
-3024: 6
-3025: 7
-3026: 7
-3027: 8
-3028: 7
-3029: 8
-3030: 8
-3031: 9
-3032: 7
-3033: 8
-3034: 8
-3035: 9
-3036: 8
-3037: 9
-3038: 9
-3039: 10
-3040: 6
-3041: 7
-3042: 7
-3043: 8
-3044: 7
-3045: 8
-3046: 8
-3047: 9
-3048: 7
-3049: 8
-3050: 8
-3051: 9
-3052: 8
-3053: 9
-3054: 9
-3055: 10
-3056: 7
-3057: 8
-3058: 8
-3059: 9
-3060: 8
-3061: 9
-3062: 9
-3063: 10
-3064: 8
-3065: 9
-3066: 9
-3067: 10
-3068: 9
-3069: 10
-3070: 10
-3071: 11
-3072: 2
-3073: 3
-3074: 3
-3075: 4
-3076: 3
-3077: 4
-3078: 4
-3079: 5
-3080: 3
-3081: 4
-3082: 4
-3083: 5
-3084: 4
-3085: 5
-3086: 5
-3087: 6
-3088: 3
-3089: 4
-3090: 4
-3091: 5
-3092: 4
-3093: 5
-3094: 5
-3095: 6
-3096: 4
-3097: 5
-3098: 5
-3099: 6
-3100: 5
-3101: 6
-3102: 6
-3103: 7
-3104: 3
-3105: 4
-3106: 4
-3107: 5
-3108: 4
-3109: 5
-3110: 5
-3111: 6
-3112: 4
-3113: 5
-3114: 5
-3115: 6
-3116: 5
-3117: 6
-3118: 6
-3119: 7
-3120: 4
-3121: 5
-3122: 5
-3123: 6
-3124: 5
-3125: 6
-3126: 6
-3127: 7
-3128: 5
-3129: 6
-3130: 6
-3131: 7
-3132: 6
-3133: 7
-3134: 7
-3135: 8
-3136: 3
-3137: 4
-3138: 4
-3139: 5
-3140: 4
-3141: 5
-3142: 5
-3143: 6
-3144: 4
-3145: 5
-3146: 5
-3147: 6
-3148: 5
-3149: 6
-3150: 6
-3151: 7
-3152: 4
-3153: 5
-3154: 5
-3155: 6
-3156: 5
-3157: 6
-3158: 6
-3159: 7
-3160: 5
-3161: 6
-3162: 6
-3163: 7
-3164: 6
-3165: 7
-3166: 7
-3167: 8
-3168: 4
-3169: 5
-3170: 5
-3171: 6
-3172: 5
-3173: 6
-3174: 6
-3175: 7
-3176: 5
-3177: 6
-3178: 6
-3179: 7
-3180: 6
-3181: 7
-3182: 7
-3183: 8
-3184: 5
-3185: 6
-3186: 6
-3187: 7
-3188: 6
-3189: 7
-3190: 7
-3191: 8
-3192: 6
-3193: 7
-3194: 7
-3195: 8
-3196: 7
-3197: 8
-3198: 8
-3199: 9
-3200: 3
-3201: 4
-3202: 4
-3203: 5
-3204: 4
-3205: 5
-3206: 5
-3207: 6
-3208: 4
-3209: 5
-3210: 5
-3211: 6
-3212: 5
-3213: 6
-3214: 6
-3215: 7
-3216: 4
-3217: 5
-3218: 5
-3219: 6
-3220: 5
-3221: 6
-3222: 6
-3223: 7
-3224: 5
-3225: 6
-3226: 6
-3227: 7
-3228: 6
-3229: 7
-3230: 7
-3231: 8
-3232: 4
-3233: 5
-3234: 5
-3235: 6
-3236: 5
-3237: 6
-3238: 6
-3239: 7
-3240: 5
-3241: 6
-3242: 6
-3243: 7
-3244: 6
-3245: 7
-3246: 7
-3247: 8
-3248: 5
-3249: 6
-3250: 6
-3251: 7
-3252: 6
-3253: 7
-3254: 7
-3255: 8
-3256: 6
-3257: 7
-3258: 7
-3259: 8
-3260: 7
-3261: 8
-3262: 8
-3263: 9
-3264: 4
-3265: 5
-3266: 5
-3267: 6
-3268: 5
-3269: 6
-3270: 6
-3271: 7
-3272: 5
-3273: 6
-3274: 6
-3275: 7
-3276: 6
-3277: 7
-3278: 7
-3279: 8
-3280: 5
-3281: 6
-3282: 6
-3283: 7
-3284: 6
-3285: 7
-3286: 7
-3287: 8
-3288: 6
-3289: 7
-3290: 7
-3291: 8
-3292: 7
-3293: 8
-3294: 8
-3295: 9
-3296: 5
-3297: 6
-3298: 6
-3299: 7
-3300: 6
-3301: 7
-3302: 7
-3303: 8
-3304: 6
-3305: 7
-3306: 7
-3307: 8
-3308: 7
-3309: 8
-3310: 8
-3311: 9
-3312: 6
-3313: 7
-3314: 7
-3315: 8
-3316: 7
-3317: 8
-3318: 8
-3319: 9
-3320: 7
-3321: 8
-3322: 8
-3323: 9
-3324: 8
-3325: 9
-3326: 9
-3327: 10
-3328: 3
-3329: 4
-3330: 4
-3331: 5
-3332: 4
-3333: 5
-3334: 5
-3335: 6
-3336: 4
-3337: 5
-3338: 5
-3339: 6
-3340: 5
-3341: 6
-3342: 6
-3343: 7
-3344: 4
-3345: 5
-3346: 5
-3347: 6
-3348: 5
-3349: 6
-3350: 6
-3351: 7
-3352: 5
-3353: 6
-3354: 6
-3355: 7
-3356: 6
-3357: 7
-3358: 7
-3359: 8
-3360: 4
-3361: 5
-3362: 5
-3363: 6
-3364: 5
-3365: 6
-3366: 6
-3367: 7
-3368: 5
-3369: 6
-3370: 6
-3371: 7
-3372: 6
-3373: 7
-3374: 7
-3375: 8
-3376: 5
-3377: 6
-3378: 6
-3379: 7
-3380: 6
-3381: 7
-3382: 7
-3383: 8
-3384: 6
-3385: 7
-3386: 7
-3387: 8
-3388: 7
-3389: 8
-3390: 8
-3391: 9
-3392: 4
-3393: 5
-3394: 5
-3395: 6
-3396: 5
-3397: 6
-3398: 6
-3399: 7
-3400: 5
-3401: 6
-3402: 6
-3403: 7
-3404: 6
-3405: 7
-3406: 7
-3407: 8
-3408: 5
-3409: 6
-3410: 6
-3411: 7
-3412: 6
-3413: 7
-3414: 7
-3415: 8
-3416: 6
-3417: 7
-3418: 7
-3419: 8
-3420: 7
-3421: 8
-3422: 8
-3423: 9
-3424: 5
-3425: 6
-3426: 6
-3427: 7
-3428: 6
-3429: 7
-3430: 7
-3431: 8
-3432: 6
-3433: 7
-3434: 7
-3435: 8
-3436: 7
-3437: 8
-3438: 8
-3439: 9
-3440: 6
-3441: 7
-3442: 7
-3443: 8
-3444: 7
-3445: 8
-3446: 8
-3447: 9
-3448: 7
-3449: 8
-3450: 8
-3451: 9
-3452: 8
-3453: 9
-3454: 9
-3455: 10
-3456: 4
-3457: 5
-3458: 5
-3459: 6
-3460: 5
-3461: 6
-3462: 6
-3463: 7
-3464: 5
-3465: 6
-3466: 6
-3467: 7
-3468: 6
-3469: 7
-3470: 7
-3471: 8
-3472: 5
-3473: 6
-3474: 6
-3475: 7
-3476: 6
-3477: 7
-3478: 7
-3479: 8
-3480: 6
-3481: 7
-3482: 7
-3483: 8
-3484: 7
-3485: 8
-3486: 8
-3487: 9
-3488: 5
-3489: 6
-3490: 6
-3491: 7
-3492: 6
-3493: 7
-3494: 7
-3495: 8
-3496: 6
-3497: 7
-3498: 7
-3499: 8
-3500: 7
-3501: 8
-3502: 8
-3503: 9
-3504: 6
-3505: 7
-3506: 7
-3507: 8
-3508: 7
-3509: 8
-3510: 8
-3511: 9
-3512: 7
-3513: 8
-3514: 8
-3515: 9
-3516: 8
-3517: 9
-3518: 9
-3519: 10
-3520: 5
-3521: 6
-3522: 6
-3523: 7
-3524: 6
-3525: 7
-3526: 7
-3527: 8
-3528: 6
-3529: 7
-3530: 7
-3531: 8
-3532: 7
-3533: 8
-3534: 8
-3535: 9
-3536: 6
-3537: 7
-3538: 7
-3539: 8
-3540: 7
-3541: 8
-3542: 8
-3543: 9
-3544: 7
-3545: 8
-3546: 8
-3547: 9
-3548: 8
-3549: 9
-3550: 9
-3551: 10
-3552: 6
-3553: 7
-3554: 7
-3555: 8
-3556: 7
-3557: 8
-3558: 8
-3559: 9
-3560: 7
-3561: 8
-3562: 8
-3563: 9
-3564: 8
-3565: 9
-3566: 9
-3567: 10
-3568: 7
-3569: 8
-3570: 8
-3571: 9
-3572: 8
-3573: 9
-3574: 9
-3575: 10
-3576: 8
-3577: 9
-3578: 9
-3579: 10
-3580: 9
-3581: 10
-3582: 10
-3583: 11
-3584: 3
-3585: 4
-3586: 4
-3587: 5
-3588: 4
-3589: 5
-3590: 5
-3591: 6
-3592: 4
-3593: 5
-3594: 5
-3595: 6
-3596: 5
-3597: 6
-3598: 6
-3599: 7
-3600: 4
-3601: 5
-3602: 5
-3603: 6
-3604: 5
-3605: 6
-3606: 6
-3607: 7
-3608: 5
-3609: 6
-3610: 6
-3611: 7
-3612: 6
-3613: 7
-3614: 7
-3615: 8
-3616: 4
-3617: 5
-3618: 5
-3619: 6
-3620: 5
-3621: 6
-3622: 6
-3623: 7
-3624: 5
-3625: 6
-3626: 6
-3627: 7
-3628: 6
-3629: 7
-3630: 7
-3631: 8
-3632: 5
-3633: 6
-3634: 6
-3635: 7
-3636: 6
-3637: 7
-3638: 7
-3639: 8
-3640: 6
-3641: 7
-3642: 7
-3643: 8
-3644: 7
-3645: 8
-3646: 8
-3647: 9
-3648: 4
-3649: 5
-3650: 5
-3651: 6
-3652: 5
-3653: 6
-3654: 6
-3655: 7
-3656: 5
-3657: 6
-3658: 6
-3659: 7
-3660: 6
-3661: 7
-3662: 7
-3663: 8
-3664: 5
-3665: 6
-3666: 6
-3667: 7
-3668: 6
-3669: 7
-3670: 7
-3671: 8
-3672: 6
-3673: 7
-3674: 7
-3675: 8
-3676: 7
-3677: 8
-3678: 8
-3679: 9
-3680: 5
-3681: 6
-3682: 6
-3683: 7
-3684: 6
-3685: 7
-3686: 7
-3687: 8
-3688: 6
-3689: 7
-3690: 7
-3691: 8
-3692: 7
-3693: 8
-3694: 8
-3695: 9
-3696: 6
-3697: 7
-3698: 7
-3699: 8
-3700: 7
-3701: 8
-3702: 8
-3703: 9
-3704: 7
-3705: 8
-3706: 8
-3707: 9
-3708: 8
-3709: 9
-3710: 9
-3711: 10
-3712: 4
-3713: 5
-3714: 5
-3715: 6
-3716: 5
-3717: 6
-3718: 6
-3719: 7
-3720: 5
-3721: 6
-3722: 6
-3723: 7
-3724: 6
-3725: 7
-3726: 7
-3727: 8
-3728: 5
-3729: 6
-3730: 6
-3731: 7
-3732: 6
-3733: 7
-3734: 7
-3735: 8
-3736: 6
-3737: 7
-3738: 7
-3739: 8
-3740: 7
-3741: 8
-3742: 8
-3743: 9
-3744: 5
-3745: 6
-3746: 6
-3747: 7
-3748: 6
-3749: 7
-3750: 7
-3751: 8
-3752: 6
-3753: 7
-3754: 7
-3755: 8
-3756: 7
-3757: 8
-3758: 8
-3759: 9
-3760: 6
-3761: 7
-3762: 7
-3763: 8
-3764: 7
-3765: 8
-3766: 8
-3767: 9
-3768: 7
-3769: 8
-3770: 8
-3771: 9
-3772: 8
-3773: 9
-3774: 9
-3775: 10
-3776: 5
-3777: 6
-3778: 6
-3779: 7
-3780: 6
-3781: 7
-3782: 7
-3783: 8
-3784: 6
-3785: 7
-3786: 7
-3787: 8
-3788: 7
-3789: 8
-3790: 8
-3791: 9
-3792: 6
-3793: 7
-3794: 7
-3795: 8
-3796: 7
-3797: 8
-3798: 8
-3799: 9
-3800: 7
-3801: 8
-3802: 8
-3803: 9
-3804: 8
-3805: 9
-3806: 9
-3807: 10
-3808: 6
-3809: 7
-3810: 7
-3811: 8
-3812: 7
-3813: 8
-3814: 8
-3815: 9
-3816: 7
-3817: 8
-3818: 8
-3819: 9
-3820: 8
-3821: 9
-3822: 9
-3823: 10
-3824: 7
-3825: 8
-3826: 8
-3827: 9
-3828: 8
-3829: 9
-3830: 9
-3831: 10
-3832: 8
-3833: 9
-3834: 9
-3835: 10
-3836: 9
-3837: 10
-3838: 10
-3839: 11
-3840: 4
-3841: 5
-3842: 5
-3843: 6
-3844: 5
-3845: 6
-3846: 6
-3847: 7
-3848: 5
-3849: 6
-3850: 6
-3851: 7
-3852: 6
-3853: 7
-3854: 7
-3855: 8
-3856: 5
-3857: 6
-3858: 6
-3859: 7
-3860: 6
-3861: 7
-3862: 7
-3863: 8
-3864: 6
-3865: 7
-3866: 7
-3867: 8
-3868: 7
-3869: 8
-3870: 8
-3871: 9
-3872: 5
-3873: 6
-3874: 6
-3875: 7
-3876: 6
-3877: 7
-3878: 7
-3879: 8
-3880: 6
-3881: 7
-3882: 7
-3883: 8
-3884: 7
-3885: 8
-3886: 8
-3887: 9
-3888: 6
-3889: 7
-3890: 7
-3891: 8
-3892: 7
-3893: 8
-3894: 8
-3895: 9
-3896: 7
-3897: 8
-3898: 8
-3899: 9
-3900: 8
-3901: 9
-3902: 9
-3903: 10
-3904: 5
-3905: 6
-3906: 6
-3907: 7
-3908: 6
-3909: 7
-3910: 7
-3911: 8
-3912: 6
-3913: 7
-3914: 7
-3915: 8
-3916: 7
-3917: 8
-3918: 8
-3919: 9
-3920: 6
-3921: 7
-3922: 7
-3923: 8
-3924: 7
-3925: 8
-3926: 8
-3927: 9
-3928: 7
-3929: 8
-3930: 8
-3931: 9
-3932: 8
-3933: 9
-3934: 9
-3935: 10
-3936: 6
-3937: 7
-3938: 7
-3939: 8
-3940: 7
-3941: 8
-3942: 8
-3943: 9
-3944: 7
-3945: 8
-3946: 8
-3947: 9
-3948: 8
-3949: 9
-3950: 9
-3951: 10
-3952: 7
-3953: 8
-3954: 8
-3955: 9
-3956: 8
-3957: 9
-3958: 9
-3959: 10
-3960: 8
-3961: 9
-3962: 9
-3963: 10
-3964: 9
-3965: 10
-3966: 10
-3967: 11
-3968: 5
-3969: 6
-3970: 6
-3971: 7
-3972: 6
-3973: 7
-3974: 7
-3975: 8
-3976: 6
-3977: 7
-3978: 7
-3979: 8
-3980: 7
-3981: 8
-3982: 8
-3983: 9
-3984: 6
-3985: 7
-3986: 7
-3987: 8
-3988: 7
-3989: 8
-3990: 8
-3991: 9
-3992: 7
-3993: 8
-3994: 8
-3995: 9
-3996: 8
-3997: 9
-3998: 9
-3999: 10
-4000: 6
-4001: 7
-4002: 7
-4003: 8
-4004: 7
-4005: 8
-4006: 8
-4007: 9
-4008: 7
-4009: 8
-4010: 8
-4011: 9
-4012: 8
-4013: 9
-4014: 9
-4015: 10
-4016: 7
-4017: 8
-4018: 8
-4019: 9
-4020: 8
-4021: 9
-4022: 9
-4023: 10
-4024: 8
-4025: 9
-4026: 9
-4027: 10
-4028: 9
-4029: 10
-4030: 10
-4031: 11
-4032: 6
-4033: 7
-4034: 7
-4035: 8
-4036: 7
-4037: 8
-4038: 8
-4039: 9
-4040: 7
-4041: 8
-4042: 8
-4043: 9
-4044: 8
-4045: 9
-4046: 9
-4047: 10
-4048: 7
-4049: 8
-4050: 8
-4051: 9
-4052: 8
-4053: 9
-4054: 9
-4055: 10
-4056: 8
-4057: 9
-4058: 9
-4059: 10
-4060: 9
-4061: 10
-4062: 10
-4063: 11
-4064: 7
-4065: 8
-4066: 8
-4067: 9
-4068: 8
-4069: 9
-4070: 9
-4071: 10
-4072: 8
-4073: 9
-4074: 9
-4075: 10
-4076: 9
-4077: 10
-4078: 10
-4079: 11
-4080: 8
-4081: 9
-4082: 9
-4083: 10
-4084: 9
-4085: 10
-4086: 10
-4087: 11
-4088: 9
-4089: 10
-4090: 10
-4091: 11
-4092: 10
-4093: 11
-4094: 11
-4095: 12
diff --git a/regress/sys/arch/sparc64/emul-popc/simm/simm13.c b/regress/sys/arch/sparc64/emul-popc/simm/simm13.c
new file mode 100644
index 00000000000..4ec75642a81
--- /dev/null
+++ b/regress/sys/arch/sparc64/emul-popc/simm/simm13.c
@@ -0,0 +1,91 @@
+/* $OpenBSD: simm13.c,v 1.1 2003/08/19 05:25:14 jason Exp $ */
+
+/*
+ * Copyright (c) 2003 Jason L. Wright (jason@thought.net)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <machine/instr.h>
+#include <err.h>
+#include <stdio.h>
+
+#define SIGN_EXT13(v) (((int64_t)(v) << 51) >> 51)
+
+void
+gen_simm(u_int32_t *p, int imm)
+{
+ /*
+ * generate the following asm, and flush the pipeline
+ * retl
+ * popc imm, %o0
+ */
+ p[0] = I_JMPLri(I_G0, I_O7, 8);
+ p[1] = _I_OP3_R_RI(I_O0, IOP3_POPC, I_G0, imm);
+}
+
+int
+testit(void *v)
+{
+ int (*func)(void) = v;
+
+ return ((*func)());
+}
+
+int64_t
+c_popc(int64_t v)
+{
+ int64_t bit, r;
+
+ for (bit = 1, r = 0; bit; bit <<= 1)
+ if (v & bit)
+ r++;
+ return (r);
+}
+
+int
+main()
+{
+ void *v;
+ int i, a, c;
+ int r = 0;
+
+ v = mmap(NULL, 2 * sizeof(union instr), PROT_WRITE|PROT_EXEC|PROT_READ,
+ MAP_ANON, -1, 0);
+ if (v == MAP_FAILED)
+ err(1, "mmap");
+
+ for (i = -4096; i <= 4095; i++) {
+ gen_simm(v, i);
+ c = c_popc(SIGN_EXT13(i));
+ a = testit(v);
+ if (c != a) {
+ printf("BAD: %d: asm %d, c %d\n", i, a, c);
+ r = 1;
+ }
+ }
+
+ return (r);
+}