diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000..ed2c57c
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,424 @@
+2017-01-11 v0.5006 pjacklam
+
+ * Fix syntax for required version of Math::BigInt::Lib.
+
+ * Better checking of POD coverage.
+
+ * Sync test files with Math-BigInt-1.999808.
+
+2016-12-13 v0.5005 pjacklam
+
+ * Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199
+ and #119225).
+
+2016-12-11 v0.5004 pjacklam
+
+ * Fix Makefile.PL so that this module installs over the core version.
+
+ * Sync test files with Math-BigInt-1.999805.
+
+2016-12-03 v0.5003 pjacklam
+
+ * Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL
+
+ * Add LICENSE file, since the other Math::BigInt-related distributions have
+ one.
+
+ * Remove INSTALL file. The information is in the README file.
+
+ * Inform that the TODO file is not up to date.
+
+2016-11-23 v0.5002 pjacklam
+
+ * Sync test files with Math-BigInt-1.999801. Add t/biglog.t and t/bigroot.t
+ since these are included in the test suite for the other backend libraries
+ (GMP and Pari).
+
+2016-11-17 v0.5001 pjacklam
+
+ * Avoid 'use parent' to retain compatibility with old Perls.
+
+ * Fix incorrect version numbers in the CHANGES file.
+
+ * Trim whitespace.
+
+2016-11-15 v0.5000 pjacklam
+
+ * Sync test files with Math-BigInt-1.999800.
+
+ * Math::BigInt::FastCalc is now a subclass of Math::BigInt::Calc, so remove
+ aliases like *Math::BigInt::FastCalc::_xxx = \&Math::BigInt::Calc::_xxx.
+
+ * Use OO-calls rather than function calls.
+
+ * Fix documentation error in Math::BigInt::FastCalc
+
+2016-04-25 v0.42 pjacklam
+
+ * Sync test files with Math-BigInt-1.999719.
+
+2016-04-22 v0.41 pjacklam
+
+ * Sync test files with Math-BigInt-1.999718.
+
+2016-01-03 v0.40 pjacklam
+
+ * Sync test files with Math-BigInt-1.999714.
+
+2015-12-31 v0.39 pjacklam
+
+ * Sync test files with Math-BigInt-1.999713.
+
+2015-12-02 v0.38 pjacklam
+
+ * Use 'static double', not just 'double' in FastCalc.xs.
+
+ * Move 'Test::More' from 'build_requires' to 'test_requires' in Makefile.PL.
+
+2015-11-09 v0.37 pjacklam
+
+ * Sync test files with Math-BigInt-1.999709.
+
+2015-11-04 v0.36 pjacklam
+
+ * Sync test files with Math-BigInt-1.999708.
+
+ * Required version of Test::More is only 0.47, not 0.62.
+
+2015-10-28 v0.35 pjacklam
+
+ * Sync test files with Math-BigInt-1.999707.
+
+ * Update the README file.
+
+ * Replace 'use vars ...' with 'our ...'. We require a Perl newer than 5.6.0
+ anyway.
+
+ * Required version of Math-BigInt is now 1.999706.
+
+ * Move 'Test::More' from 'build_requires' to 'test_requires' in Makefile.PL.
+
+2015-09-21 v0.34 pjacklam
+
+ * Sync test files with Math-BigInt-1.999703.
+
+ * Required version of Math-BigInt is now 1.999703.
+
+ * Update author information.
+
+2015-09-17 v0.33 pjacklam
+
+ * Sync test files with Math-BigInt-1.999702.
+
+ * Required version of Math-BigInt is now 1.999702.
+
+2015-09-11 0.32 pjacklam
+ CHANGES
+ * Add changes from version 0.30 to 0.31.
+ * Re-order change entries to decreasing order after version number.
+ inc/Module/Install.pm
+ * Update bundled version from 1.08 to 1.16.
+ lib/Math/BigInt/FastCalc.pm
+ * Increase version number to 0.32
+ * Update author information.
+ Makefile.PL
+ * Required version of Math::BigInt and Math::BigInt::Calc is 1.999701.
+ t/01load.t
+ * Display more information about loaded modules.
+ t/bigfltpm.inc
+ * Sync tests with Math-BigInt distribution.
+ t/bigfltpm.t
+ * Adjust number of tests.
+ * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
+ t/bigintpm.inc
+ * Fix spelling errors.
+ t/bigintpm.t
+ * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
+ * Adjust number of tests.
+ t/mbimbf.t
+ * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
+ t/*.t
+ * Add "use warnings" to test scripts, since Perl 5.6.2 is required anyway,
+ and "use warnings" was introduced in Perl 5.6.1.
+ * Modified test scripts so the difference between the test files in the
+ Math-BigInt distribution and the backend distributions are as few and as
+ small as possible. This makes for easier release management.
+
+2014-03-04 0.31 pjacklam
+ FastCalc.xs
+ * Make the array interface 64-bit safe by using SSize_t instead of I32.
+ Makefile.PL
+ * Required version of Math::BigInt and Math::BigInt::Calc is 1.9993.
+ inc/Module/Install.pm
+ * Update bundled version from 1.01 to 1.08.
+ lib/Math/BigInt/FastCalc.pm
+ * Increase version number to 0.31
+ lib/Math/BigInt/FastCalc.pm
+ * Add documentation about CPAN RT, CPAN testers etc.
+ t/bigfltpm.inc
+ * Add tests for fint()/bint().
+ t/bigfltpm.t
+ * Increase number of tests.
+ t/bigintpm.inc
+ * Add tests for bint().
+ t/bigintpm.t
+ * Increase number of tests.
+ t/leak.t
+ * Change "use base" to "use parent".
+ t/mbi_rand.t
+ * Include older version of this file, one that tests Math::BigInt::FastCalc,
+ not Math::BigInt::Calc.
+
+2011-09-04 0.30 pjacklam
+
+ * Math::BigInt::FastCalc now requires Math::BigInt v1.997 (Peter John Acklam).
+
+ * Include "^MYMETA\.(yml|json)\z" in MANIFEST.SKIP. Whereas META.* are
+ generated by the distribution author at packaging time, MYMETA.* are
+ generated by the end user at configure time after any dynamic
+ dependencies are known. (Peter John Acklam)
+
+ * Updated common test files from the Math::BigInt distribution. (Peter
+ John Acklam)
+
+2011-07-09 0.29 rafl (7560 tests)
+
+ * Synchronise with blead perl.
+ + Reduce object code size significantly through PERL_NO_GET_CONTEXT.
+
+2011-02-26 0.28 pjacklam (7560 tests)
+
+ * Sync codebases (CPAN vs. blead): include t/mbi_rand.t from blead,
+ fix typos in FastCalc.xs and t/bigintfc.t (Peter John Acklam).
+
+ * Remove redundant Math::BigInt::FastCalc version info from diagnostic
+ output of 01load.t (Peter John Acklam).
+
+2011-02-26 0.27 pjacklam (7560 tests)
+
+ * Add Math::BigInt::Calc version information to diagnostics output of
+ 01load.t. This is useful for debugging, since Math::BigInt::FastCalc
+ relies heavily on Math::BigInt::Calc (Peter John Acklam).
+
+ * Change bigintpm.inc to reflect recent changes in the Math::BigInt
+ distribution (Peter John Acklam).
+
+2011-02-08 0.26 pjacklam (7560 tests)
+
+ * Add Perl v5.6 compatibility code to FastCalc.xs (RT #63859)
+ (Peter John Acklam).
+
+ * Add 00sig.t for testing SIGNATURE, and 01load.t for basic module loading
+ and giving diagnostics useful for bug tracking (Peter John Acklam).
+
+ * Rename pod.t to 02pod.t and pod_cov.t to 03podcov.t and use more generic
+ code (Peter John Acklam).
+
+2011-02-06 0.251 pjacklam (7558 tests)
+
+ * Add requirement Math::BigInt version 1.991 (Peter John Acklam).
+
+2011-02-05 0.25 pjacklam (7558 tests)
+
+ * Remove _new() from XS code and use _new() in Math::BigInt::Calc
+ instead. The XS _new() doesn't handle integers that are too large to
+ be represented exactly as floating point numbers, but small enough
+ to be represented as 64 bit integers. The XS _new() also returns
+ nan, not inf, when it overflows. This closes RT #63335 and RT #49569
+ (Peter John Acklam).
+
+ * Copied test files from latest Math::BigInt (v1.991): bigfltpm.inc,
+ bigfltpm.t, bigintpm.inc, bigintpm.t, mbi_rand.t, mbimbf.inc,
+ mbimbf.t (Peter John Acklam).
+
+2010-11-07 0.24 rafl (6938 tests)
+
+ * Reduce repetition (and object size) in FastCalc.xs by using ALIASes
+ (Nicholas Clark).
+
+ * inline the macros CONSTANT_OBJ and RETURN_MORTAL_BOOL. (Nicholas Clark).
+
+ * Avoid creating two entries instead of one on the mortals stack in _new() and
+ _zero() (Nicholas Clark).
+
+ * Convert from DynaLoader to XSLoader (Nicholas Clark).
+
+ * Adapt to the changed order of the return value Math::BigInt::Calc::_base_len
+ in Math::BigInt 1.97 (Nicholas Clark).
+
+ * Initialise BASE and BASE_LEN as part of bootstrap, avoiding special one-shot
+ setter routines (Nicholas Clark).
+
+ * Remove the $BASE or $BASE_LEN globals. They were never documented or
+ exported, and are now unnecessary (Nicholas Clark).
+
+2010-09-14 0.22 rafl (6938 tests)
+
+ * Modernize the test suite to use Test::More instead of Test.
+
+2010-09-03 0.21 rafl (6892 tests)
+
+ * Remove some unneeded test code which only broke things when being ran in the
+ perl core.
+
+2010-09-03 0.20 rafl (6892 tests)
+
+ * Avoid certain kinds of segfaults as well as wrong bnok() behaviour by
+ depending on Math::BigInt 0.90.
+
+2008-04-15 0.19 Tels (6892 tests)
+
+ * forcefully regenerate META.yml (sigh@Module::Install)
+
+2008-04-15 0.18 Tels (6892 tests)
+
+ * fix compilation under v5.6.2 (sigh)
+
+2008-04-13 0.17 Tels (6892 tests)
+
+ * forgot SvIOK() to SvUOK() (bug #29720, Thanx Alexey Tourbin!)
+
+2007-09-16 0.16 Tels (6892 tests)
+
+ * require Math::BigInt 1.88
+
+ * disable prototypes
+
+ * fix SvIV() vs. SvUV() in _new() (fix bug #29720)
+
+ * it works back to v5.006 (thanx zefram!)
+
+2007-06-30 0.15 Tels (6892 tests)
+
+ * require Math::BigInt 1.87
+
+ * add _nok()
+
+ * bundle and use Module::Install
+
+ * put _new() into the XS
+
+2007-04-17 0.14 Tels (6438 tests)
+
+ * require Math::BigInt 1.83
+
+ * support api_version() 2 by adding _1ex() and _alen()
+
+ * add a few tests
+
+2007-04-09 0.13 Tels (6280 tests)
+
+ * require Math::BigInt 1.82
+
+ * revert the accidentily change to "NV elems" in _len
+ (basically, apply the fix that was already in blead to the CPAN release)
+
+ * plug all the leaks in _acmp(), _is_ten() etc. (Thanx Hugo!)
+
+2007-03-03 0.12 Tels (6280 tests)
+
+ * fix bug #25033 It leaks (Thanx M. Schwern!)
+
+ * require Perl 5.6.2, anything older is unsupported and untested
+
+2007-02-02 0.11 Tels (5953 tests)
+
+ * require Math::BigInt 1.79
+
+ * add support for _as_oct() and _from_oct()
+
+ * add _length() to the method list
+
+2005-03-30 0.10 Tels (5953 tests)
+
+ * load Calc.pm and use its code to provide the routines that FastCalc
+ does not yet have in XS (cut down Copy&Paste code considerably
+
+ * require Math::BigInt v1.76 to properly load Calc.pm
+
+2005-03-20 0.09 Tels (5953 tests)
+
+ * take over changes from Calc 0.45 (fix bug with div shortcut)
+
+ * require Math::BigInt v1.75 and use its tests
+
+2005-01-01 0.08 Tels (5953 tests)
+
+ * take tests from BigInt v1.74 and require it
+
+ * remove needless Exporter in FastCalc
+
+ * Makefile.PL: add writing of own meta file with correct licence
+
+ * take over changes from Calc 0.44
+
+2004-08-13 0.07 Tels (5953 tests)
+
+ * require BigInt v1.71, adapted to new API style by taking over Calc v0.41
+ + added _is_two(), _is_ten(), and _ten()
+
+ * cleaned XS code, got rid of "unused var" warnings (thanx perl-xs people!)
+
+2002-08-25 0.06 Tels (5355 tests)
+
+ * working _modinv() and fix for _rsft() taken over from Calc v0.32
+
+ * added tests for _rsft() and _modinv()
+
+ * require Math::BigInt v1.62
+
+ * _num(), _dec() and _inc() are now in XS
+ $MBI->numify() is about 50% faster
+ $MBI->binc()/$MBI->bdec() are about 5-8% faster for numbers that don't
+ overflow (much), and about 14% for ('9' x 100)->binc()
+
+ * __strip_zeros() is no in XS, making it roughly 3 times as fast
+
+ * added _copy(): more than twice as fast for large (> 1000 digits) numbers:
+
+ Math::BigInt::Calc v0.32
+ 1: 3s ( 3.23 usr + 0.00 sys = 3.23 CPU) @ 38128/s (n=123154)
+ 100: 3s ( 3.19 usr + 0.00 sys = 3.19 CPU) @ 27397/s (n=87397)
+ 1000: 4s ( 3.29 usr + 0.00 sys = 3.29 CPU) @ 8042/s (n=26460)
+ 10000: 4s ( 3.19 usr + 0.01 sys = 3.20 CPU) @ 984/s (n=3149)
+
+ Math::BigInt::FastCalc v0.06
+ 1: 3s ( 3.12 usr + 0.01 sys = 3.13 CPU) @ 39346/s (n=123155)
+ 100: 3s ( 3.10 usr + 0.00 sys = 3.10 CPU) @ 34138/s (n=105830)
+ 1000: 3s ( 3.09 usr + 0.00 sys = 3.09 CPU) @ 15807/s (n=48844)
+ 10000: 3s ( 3.20 usr + 0.00 sys = 3.20 CPU) @ 2362/s (n=7559)
+
+2002-08-13 0.05 Tels (5224 tests)
+
+ * the note that "_len() and _acmp() are in XS" was missing
+
+ * cleaned distribution of unwanted files
+
+2002-08-13 0.04 Tels first release
+ - added is_zero(), is_one(), _zero(), _one(), _two() and _acmp()
+ - more tests in bigintfc.t
+
+ Some general observations:
+
+ * is_*() methods are quite a bit faster than in Calc, but due to the
+ overhead in Math::BigInt real programs will get only a bit faster
+ (around 2-5%).
+
+ * Comparisation is *much* faster, and even via Math::BigInt improves the
+ performance by about factor 9 for large numbers. For smaller numbers (less
+ than 8000 digits) it is still about factor 2.5 to 8. This is only valid if
+ the numbers have both the same length. If the length is different, then
+ FastCalc is still about a factor of 1.2 to 1.7 faster than Calc.
+
+2002-08-12 0.03 Tels
+ - Took Calc.pm and converted it to FastCalc.pm
+ - first two functions, _is_odd() and _is_even() in XS
+ - testsuite from MBI v1.61
+ - extended bigintc.t (also renamed to bigintfc.t)
+
+2002-08-09 0.02 Tels
+ - first working version of XS code of _is_even(), _is_odd()
+
+2002-06-05 0.01
+ - original version; created by h2xs 1.21 with options
+ -n Math::BigInt::FastCalc -A
diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..b01008c
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,8 @@
+I wish to thank the following people:
+
+* The people at p5p that bear with my XS questions
+* SADAHIRO Tomoyuki doe pointing out sv2mortal()
+
+List still not complete ;o)
+
+Tels
diff --git a/FastCalc.xs b/FastCalc.xs
new file mode 100644
index 0000000..f8bb314
--- /dev/null
+++ b/FastCalc.xs
@@ -0,0 +1,409 @@
+#define PERL_NO_GET_CONTEXT
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+/* for Perl prior to v5.7.1 */
+#ifndef SvUOK
+# define SvUOK(sv) SvIOK_UV(sv)
+#endif
+
+/* for Perl v5.6 (RT #63859) */
+#ifndef croak_xs_usage
+# define croak_xs_usage croak
+#endif
+
+static double XS_BASE = 0;
+static double XS_BASE_LEN = 0;
+
+MODULE = Math::BigInt::FastCalc PACKAGE = Math::BigInt::FastCalc
+
+PROTOTYPES: DISABLE
+
+ #############################################################################
+ # 2002-08-12 0.03 Tels unreleased
+ # * is_zero/is_one/is_odd/is_even/len work now (pass v1.61 tests)
+ # 2002-08-13 0.04 Tels unreleased
+ # * returns no/yes for is_foo() methods to be faster
+ # 2002-08-18 0.06alpha
+ # * added _num(), _inc() and _dec()
+ # 2002-08-25 0.06 Tels
+ # * added __strip_zeros(), _copy()
+ # 2004-08-13 0.07 Tels
+ # * added _is_two(), _is_ten(), _ten()
+ # 2007-04-02 0.08 Tels
+ # * plug leaks by creating mortals
+ # 2007-05-27 0.09 Tels
+ # * add _new()
+
+#define RETURN_MORTAL_INT(value) \
+ ST(0) = sv_2mortal(newSViv(value)); \
+ XSRETURN(1);
+
+BOOT:
+{
+ if (items < 4)
+ croak("Usage: Math::BigInt::FastCalc::BOOT(package, version, base_len, base)");
+ XS_BASE_LEN = SvIV(ST(2));
+ XS_BASE = SvNV(ST(3));
+}
+
+##############################################################################
+# _new
+
+SV *
+_new(class, x)
+ SV* x
+ INIT:
+ STRLEN len;
+ char* cur;
+ STRLEN part_len;
+ AV *av = newAV();
+
+ CODE:
+ if (SvUOK(x) && SvUV(x) < XS_BASE)
+ {
+ /* shortcut for integer arguments */
+ av_push (av, newSVuv( SvUV(x) ));
+ }
+ else
+ {
+ /* split the input (as string) into XS_BASE_LEN long parts */
+ /* in perl:
+ [ reverse(unpack("a" . ($il % $BASE_LEN+1)
+ . ("a$BASE_LEN" x ($il / $BASE_LEN)), $_[1])) ];
+ */
+ cur = SvPV(x, len); /* convert to string & store length */
+ cur += len; /* doing "cur = SvEND(x)" does not work! */
+ # process the string from the back
+ while (len > 0)
+ {
+ /* use either BASE_LEN or the amount of remaining digits */
+ part_len = (STRLEN) XS_BASE_LEN;
+ if (part_len > len)
+ {
+ part_len = len;
+ }
+ /* processed so many digits */
+ cur -= part_len;
+ len -= part_len;
+ /* printf ("part '%s' (part_len: %i, len: %i, BASE_LEN: %i)\n", cur, part_len, len, XS_BASE_LEN); */
+ if (part_len > 0)
+ {
+ av_push (av, newSVpvn(cur, part_len) );
+ }
+ }
+ }
+ RETVAL = newRV_noinc((SV *)av);
+ OUTPUT:
+ RETVAL
+
+##############################################################################
+# _copy
+
+void
+_copy(class, x)
+ SV* x
+ INIT:
+ AV* a;
+ AV* a2;
+ SSize_t elems;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ elems = av_len(a); /* number of elems in array */
+ a2 = (AV*)sv_2mortal((SV*)newAV());
+ av_extend (a2, elems); /* pre-padd */
+ while (elems >= 0)
+ {
+ /* av_store( a2, elems, newSVsv( (SV*)*av_fetch(a, elems, 0) ) ); */
+
+ /* looking and trying to preserve IV is actually slower when copying */
+ /* temp = (SV*)*av_fetch(a, elems, 0);
+ if (SvIOK(temp))
+ {
+ av_store( a2, elems, newSViv( SvIV( (SV*)*av_fetch(a, elems, 0) )));
+ }
+ else
+ {
+ av_store( a2, elems, newSVnv( SvNV( (SV*)*av_fetch(a, elems, 0) )));
+ }
+ */
+ av_store( a2, elems, newSVnv( SvNV( (SV*)*av_fetch(a, elems, 0) )));
+ elems--;
+ }
+ ST(0) = sv_2mortal( newRV_inc((SV*) a2) );
+
+##############################################################################
+# __strip_zeros (also check for empty arrays from div)
+
+void
+__strip_zeros(x)
+ SV* x
+ INIT:
+ AV* a;
+ SV* temp;
+ SSize_t elems;
+ SSize_t index;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ elems = av_len(a); /* number of elems in array */
+ ST(0) = x; /* we return x */
+ if (elems == -1)
+ {
+ av_push (a, newSViv(0)); /* correct empty arrays */
+ XSRETURN(1);
+ }
+ if (elems == 0)
+ {
+ XSRETURN(1); /* nothing to do since only one elem */
+ }
+ index = elems;
+ while (index > 0)
+ {
+ temp = *av_fetch(a, index, 0); /* fetch ptr to current element */
+ if (SvNV(temp) != 0)
+ {
+ break;
+ }
+ index--;
+ }
+ if (index < elems)
+ {
+ index = elems - index;
+ while (index-- > 0)
+ {
+ av_pop (a);
+ }
+ }
+ XSRETURN(1);
+
+##############################################################################
+# decrement (subtract one)
+
+void
+_dec(class,x)
+ SV* x
+ INIT:
+ AV* a;
+ SV* temp;
+ SSize_t elems;
+ SSize_t index;
+ NV MAX;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ elems = av_len(a); /* number of elems in array */
+ ST(0) = x; /* we return x */
+
+ MAX = XS_BASE - 1;
+ index = 0;
+ while (index <= elems)
+ {
+ temp = *av_fetch(a, index, 0); /* fetch ptr to current element */
+ sv_setnv (temp, SvNV(temp)-1); /* decrement */
+ if (SvNV(temp) >= 0)
+ {
+ break; /* early out */
+ }
+ sv_setnv (temp, MAX); /* overflow, so set this to $MAX */
+ index++;
+ }
+ /* do have more than one element? */
+ /* (more than one because [0] should be kept as single-element) */
+ if (elems > 0)
+ {
+ temp = *av_fetch(a, elems, 0); /* fetch last element */
+ if (SvIV(temp) == 0) /* did last elem overflow? */
+ {
+ av_pop(a); /* yes, so shrink array */
+ /* aka remove leading zeros */
+ }
+ }
+ XSRETURN(1); /* return x */
+
+##############################################################################
+# increment (add one)
+
+void
+_inc(class,x)
+ SV* x
+ INIT:
+ AV* a;
+ SV* temp;
+ SSize_t elems;
+ SSize_t index;
+ NV BASE;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ elems = av_len(a); /* number of elems in array */
+ ST(0) = x; /* we return x */
+
+ BASE = XS_BASE;
+ index = 0;
+ while (index <= elems)
+ {
+ temp = *av_fetch(a, index, 0); /* fetch ptr to current element */
+ sv_setnv (temp, SvNV(temp)+1);
+ if (SvNV(temp) < BASE)
+ {
+ XSRETURN(1); /* return (early out) */
+ }
+ sv_setiv (temp, 0); /* overflow, so set this elem to 0 */
+ index++;
+ }
+ temp = *av_fetch(a, elems, 0); /* fetch last element */
+ if (SvIV(temp) == 0) /* did last elem overflow? */
+ {
+ av_push(a, newSViv(1)); /* yes, so extend array by 1 */
+ }
+ XSRETURN(1); /* return x */
+
+##############################################################################
+
+SV *
+_zero(class)
+ ALIAS:
+ _one = 1
+ _two = 2
+ _ten = 10
+ PREINIT:
+ AV *av = newAV();
+ CODE:
+ av_push (av, newSViv( ix ));
+ RETVAL = newRV_noinc((SV *)av);
+ OUTPUT:
+ RETVAL
+
+##############################################################################
+
+void
+_is_even(class, x)
+ SV* x
+ ALIAS:
+ _is_odd = 1
+ INIT:
+ AV* a;
+ SV* temp;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ temp = *av_fetch(a, 0, 0); /* fetch first element */
+ ST(0) = sv_2mortal(boolSV((SvIV(temp) & 1) == ix));
+
+##############################################################################
+
+void
+_is_zero(class, x)
+ SV* x
+ ALIAS:
+ _is_one = 1
+ _is_two = 2
+ _is_ten = 10
+ INIT:
+ AV* a;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ if ( av_len(a) != 0)
+ {
+ ST(0) = &PL_sv_no; /* len != 1, can't be '0' */
+ }
+ else
+ {
+ SV *const temp = *av_fetch(a, 0, 0); /* fetch first element */
+ ST(0) = boolSV(SvIV(temp) == ix);
+ }
+ XSRETURN(1);
+
+##############################################################################
+
+void
+_len(class,x)
+ SV* x
+ INIT:
+ AV* a;
+ SV* temp;
+ IV elems;
+ STRLEN len;
+
+ CODE:
+ a = (AV*)SvRV(x); /* ref to aray, don't check ref */
+ elems = av_len(a); /* number of elems in array */
+ temp = *av_fetch(a, elems, 0); /* fetch last element */
+ SvPV(temp, len); /* convert to string & store length */
+ len += (IV) XS_BASE_LEN * elems;
+ ST(0) = sv_2mortal(newSViv(len));
+
+##############################################################################
+
+void
+_acmp(class, cx, cy);
+ SV* cx
+ SV* cy
+ INIT:
+ AV* array_x;
+ AV* array_y;
+ SSize_t elemsx, elemsy, diff;
+ SV* tempx;
+ SV* tempy;
+ STRLEN lenx;
+ STRLEN leny;
+ NV diff_nv;
+ SSize_t diff_str;
+
+ CODE:
+ array_x = (AV*)SvRV(cx); /* ref to aray, don't check ref */
+ array_y = (AV*)SvRV(cy); /* ref to aray, don't check ref */
+ elemsx = av_len(array_x);
+ elemsy = av_len(array_y);
+ diff = elemsx - elemsy; /* difference */
+
+ if (diff > 0)
+ {
+ RETURN_MORTAL_INT(1); /* len differs: X > Y */
+ }
+ else if (diff < 0)
+ {
+ RETURN_MORTAL_INT(-1); /* len differs: X < Y */
+ }
+ /* both have same number of elements, so check length of last element
+ and see if it differs */
+ tempx = *av_fetch(array_x, elemsx, 0); /* fetch last element */
+ tempy = *av_fetch(array_y, elemsx, 0); /* fetch last element */
+ SvPV(tempx, lenx); /* convert to string & store length */
+ SvPV(tempy, leny); /* convert to string & store length */
+ diff_str = (SSize_t)lenx - (SSize_t)leny;
+ if (diff_str > 0)
+ {
+ RETURN_MORTAL_INT(1); /* same len, but first elems differs in len */
+ }
+ if (diff_str < 0)
+ {
+ RETURN_MORTAL_INT(-1); /* same len, but first elems differs in len */
+ }
+ /* same number of digits, so need to make a full compare */
+ diff_nv = 0;
+ while (elemsx >= 0)
+ {
+ tempx = *av_fetch(array_x, elemsx, 0); /* fetch curr x element */
+ tempy = *av_fetch(array_y, elemsx, 0); /* fetch curr y element */
+ diff_nv = SvNV(tempx) - SvNV(tempy);
+ if (diff_nv != 0)
+ {
+ break;
+ }
+ elemsx--;
+ }
+ if (diff_nv > 0)
+ {
+ RETURN_MORTAL_INT(1);
+ }
+ if (diff_nv < 0)
+ {
+ RETURN_MORTAL_INT(-1);
+ }
+ ST(0) = sv_2mortal(newSViv(0)); /* X and Y are equal */
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..1eedfda
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,2 @@
+This program is free software; you may redistribute it and/or modify it
+under the same terms as Perl itself.
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..aca4c1b
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,121 @@
+CHANGES
+CREDITS
+FastCalc.xs
+lib/Math/BigInt/FastCalc.pm
+LICENSE
+Makefile.PL
+MANIFEST This list of files
+MANIFEST.SKIP
+README
+t/00sig.t
+t/01load.t
+t/02pod.t
+t/03podcov.t
+t/author-lib-arithmetic-binary-_add.dat
+t/author-lib-arithmetic-binary-_add.t
+t/author-lib-arithmetic-binary-_div.dat
+t/author-lib-arithmetic-binary-_div.t
+t/author-lib-arithmetic-binary-_gcd.dat
+t/author-lib-arithmetic-binary-_gcd.t
+t/author-lib-arithmetic-binary-_lcm.dat
+t/author-lib-arithmetic-binary-_lcm.t
+t/author-lib-arithmetic-binary-_log_int.t
+t/author-lib-arithmetic-binary-_mod.dat
+t/author-lib-arithmetic-binary-_mod.t
+t/author-lib-arithmetic-binary-_modinv.dat
+t/author-lib-arithmetic-binary-_modinv.t
+t/author-lib-arithmetic-binary-_mul.dat
+t/author-lib-arithmetic-binary-_mul.t
+t/author-lib-arithmetic-binary-_nok.dat
+t/author-lib-arithmetic-binary-_nok.t
+t/author-lib-arithmetic-binary-_pow.t
+t/author-lib-arithmetic-binary-_root.dat
+t/author-lib-arithmetic-binary-_root.t
+t/author-lib-arithmetic-binary-_sub.dat
+t/author-lib-arithmetic-binary-_sub.t
+t/author-lib-arithmetic-ternary-_lsft.dat
+t/author-lib-arithmetic-ternary-_lsft.t
+t/author-lib-arithmetic-ternary-_modpow.dat
+t/author-lib-arithmetic-ternary-_modpow.t
+t/author-lib-arithmetic-ternary-_rsft.dat
+t/author-lib-arithmetic-ternary-_rsft.t
+t/author-lib-arithmetic-unary-_dec.dat
+t/author-lib-arithmetic-unary-_dec.t
+t/author-lib-arithmetic-unary-_dfac.dat
+t/author-lib-arithmetic-unary-_dfac.t
+t/author-lib-arithmetic-unary-_fac.dat
+t/author-lib-arithmetic-unary-_fac.t
+t/author-lib-arithmetic-unary-_inc.dat
+t/author-lib-arithmetic-unary-_inc.t
+t/author-lib-arithmetic-unary-_sqrt.dat
+t/author-lib-arithmetic-unary-_sqrt.t
+t/author-lib-bitwise-_and.dat
+t/author-lib-bitwise-_and.t
+t/author-lib-bitwise-_or.dat
+t/author-lib-bitwise-_or.t
+t/author-lib-bitwise-_xor.dat
+t/author-lib-bitwise-_xor.t
+t/author-lib-boolean-_is_even.t
+t/author-lib-boolean-_is_odd.t
+t/author-lib-boolean-_is_one.t
+t/author-lib-boolean-_is_ten.t
+t/author-lib-boolean-_is_two.t
+t/author-lib-boolean-_is_zero.t
+t/author-lib-comparison-_acmp.t
+t/author-lib-constructor-nullary-_one.t
+t/author-lib-constructor-nullary-_ten.t
+t/author-lib-constructor-nullary-_two.t
+t/author-lib-constructor-nullary-_zero.t
+t/author-lib-constructor-unary-_copy.t
+t/author-lib-constructor-unary-_from_bin.dat
+t/author-lib-constructor-unary-_from_bin.t
+t/author-lib-constructor-unary-_from_bytes.dat
+t/author-lib-constructor-unary-_from_bytes.t
+t/author-lib-constructor-unary-_from_hex.dat
+t/author-lib-constructor-unary-_from_hex.t
+t/author-lib-constructor-unary-_from_oct.dat
+t/author-lib-constructor-unary-_from_oct.t
+t/author-lib-constructor-unary-_new.t
+t/author-lib-convert-number-_num.t
+t/author-lib-convert-string-_as_bin.dat
+t/author-lib-convert-string-_as_bin.t
+t/author-lib-convert-string-_as_bytes.dat
+t/author-lib-convert-string-_as_bytes.t
+t/author-lib-convert-string-_as_hex.dat
+t/author-lib-convert-string-_as_hex.t
+t/author-lib-convert-string-_as_oct.dat
+t/author-lib-convert-string-_as_oct.t
+t/author-lib-convert-string-_str.t
+t/author-lib-convert-string-_to_bin.dat
+t/author-lib-convert-string-_to_bin.t
+t/author-lib-convert-string-_to_bytes.dat
+t/author-lib-convert-string-_to_bytes.t
+t/author-lib-convert-string-_to_hex.dat
+t/author-lib-convert-string-_to_hex.t
+t/author-lib-convert-string-_to_oct.dat
+t/author-lib-convert-string-_to_oct.t
+t/author-lib-misc-_check.t
+t/author-lib-misc-api_version.t
+t/author-lib-property-_alen.t
+t/author-lib-property-_digit.t
+t/author-lib-property-_len.t
+t/author-lib-property-_zeros.t
+t/author-lib.ini
+t/author-lib.t
+t/bigfltpm.inc
+t/bigfltpm.t
+t/bigintfc.t
+t/bigintpm.inc
+t/bigintpm.t
+t/biglog.t
+t/bigroot.t
+t/bootstrap.t
+t/leak.t
+t/Math/BigInt/Lib/TestUtil.pm
+t/mbi_rand.t
+t/mbimbf.inc
+t/mbimbf.t
+TODO
+META.yml Module YAML meta-data (added by MakeMaker)
+META.json Module JSON meta-data (added by MakeMaker)
+SIGNATURE Public-key signature (added by MakeMaker)
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
new file mode 100644
index 0000000..562e21d
--- /dev/null
+++ b/MANIFEST.SKIP
@@ -0,0 +1,11 @@
+.*\.tar\.gz
+^blib.*
+^\w+\.(html|txt|png|dot|pl|svg|old|bak|org)
+^Makefile\z
+^Makefile.(old|bak)\z
+^FastCalc.(o|c|bs)\z
+^Math-BigInt-FastCalc-
+^MYMETA\.(yml|json)\z
+.*\.patch\z
+pm_to_blib
+\.git.*
diff --git a/META.json b/META.json
new file mode 100644
index 0000000..4050d30
--- /dev/null
+++ b/META.json
@@ -0,0 +1,45 @@
+{
+ "abstract" : "unknown",
+ "author" : [
+ "Peter John Acklam "
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Math-BigInt-FastCalc",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Math::BigInt" : "1.999808",
+ "Test::More" : "0.82",
+ "XSLoader" : "0",
+ "perl" : "5.006001"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.5006",
+ "x_serialization_backend" : "JSON::PP version 2.27400"
+}
diff --git a/META.yml b/META.yml
new file mode 100644
index 0000000..ea7a689
--- /dev/null
+++ b/META.yml
@@ -0,0 +1,26 @@
+---
+abstract: unknown
+author:
+ - 'Peter John Acklam '
+build_requires:
+ ExtUtils::MakeMaker: '0'
+configure_requires:
+ ExtUtils::MakeMaker: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Math-BigInt-FastCalc
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ Math::BigInt: '1.999808'
+ Test::More: '0.82'
+ XSLoader: '0'
+ perl: '5.006001'
+version: '0.5006'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644
index 0000000..c949f83
--- /dev/null
+++ b/Makefile.PL
@@ -0,0 +1,31 @@
+#!perl
+
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+my %WriteMakefileArgs =
+ (
+ 'NAME' => 'Math::BigInt::FastCalc',
+ 'VERSION_FROM' => 'lib/Math/BigInt/FastCalc.pm',
+ 'AUTHOR' => 'Peter John Acklam ',
+ 'MIN_PERL_VERSION' => 5.006001,
+ 'PREREQ_PM' => {
+ #'ExtUtils::MakeMaker' => 6.58,
+ 'XSLoader' => 0,
+ 'Test::More' => 0.82,
+ 'Math::BigInt' => 1.999808,
+ },
+ 'LICENSE' => 'perl_5',
+ 'LIBS' => [''], # e.g., '-lm'
+ 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
+ 'INC' => '', # e.g., '-I/usr/include/other'
+ 'SIGN' => 1,
+ );
+
+# Install over the core version? (Cf. CPAN RT #119199 and #119225.)
+
+$WriteMakefileArgs{INSTALLDIRS} = 'perl'
+ if $] >= 5.009003 && $] < 5.012;
+
+WriteMakefile(%WriteMakefileArgs);
diff --git a/README b/README
new file mode 100644
index 0000000..7f82eaf
--- /dev/null
+++ b/README
@@ -0,0 +1,61 @@
+Math-BigInt-FastCalc
+
+Math::BigInt::FastCalc is a replacement library for Math::BigInt::Calc that
+reimplements some of the Math::BigInt::Calc functions in XS. It can be used
+via:
+
+ use Math::BigInt lib => 'FastCalc';
+
+This is always safe to use, since:
+
+ * FastCalc is always faster than Calc, or equal in speed. It will be never
+ slower.
+ * If FastCalc is not installed, Math::BigInt will automatically use Calc.
+
+Of course, it also works with Math::BigFloat
+
+ use Math::BigFloat lib => 'FastCalc';
+
+or even Math::BigRat:
+
+ use Math::BigRat lib => 'FastCalc';
+
+Please have fun!
+
+INSTALLATION
+
+To install this module, unpack the distribution file, and run the following
+commands:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+SUPPORT AND DOCUMENTATION
+
+After installing, you can find documentation for these modules with the
+perldoc command.
+
+ perldoc Math::BigInt::FastCalc
+
+You can also look for information at:
+
+ RT, CPAN's request tracker
+ http://rt.cpan.org/NoAuth/Bugs.html?Dist=Math-BigInt-FastCalc
+
+ AnnoCPAN, Annotated CPAN documentation
+ http://annocpan.org/dist/Math-BigInt-FastCalc
+
+ CPAN Ratings
+ http://cpanratings.perl.org/d/Math-BigInt-FastCalc
+
+ Search CPAN
+ http://search.cpan.org/dist/Math-BigInt-FastCalc
+
+COPYRIGHT AND LICENCE
+
+Copyright 2007-2010 Peter John Acklam
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
diff --git a/SIGNATURE b/SIGNATURE
new file mode 100644
index 0000000..1f6629e
--- /dev/null
+++ b/SIGNATURE
@@ -0,0 +1,146 @@
+This file contains message digests of all files listed in MANIFEST,
+signed via the Module::Signature module, version 0.81.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+ % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity. If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+SHA1 193aca3952e4af51b8490a8133b46bd1919c8346 CHANGES
+SHA1 58d7a00ab2a9f5448a561d49b5a2077efa245ac7 CREDITS
+SHA1 eea109be181996334ce12d3254eb17f1ebd69b9b FastCalc.xs
+SHA1 d7c83d8f89b92a3262a01eb2778d39402e77263a LICENSE
+SHA1 313717f5dc91de8b912b843ab856250965a66241 MANIFEST
+SHA1 b84f4d19c93c52aa32e5145cabce4f7e1ccb85a9 MANIFEST.SKIP
+SHA1 d517a913aceaa1b4ebe503f92a003f5a4b735923 META.json
+SHA1 705110e0b6670158dd4ee50a397eb4c9acc36326 META.yml
+SHA1 afeecbd665f9bfe8b001f9a043d964d3b6bc902f Makefile.PL
+SHA1 e3642759d709f62d10e99d8480e0404ec48965c7 README
+SHA1 ac0c8404bb7a1f8135c59a2b877a968f6e6e5f2e TODO
+SHA1 43deda08b3f3414ebfaca287e8d8c4c3fc765ef5 lib/Math/BigInt/FastCalc.pm
+SHA1 385cc7ed3bf3e6290640b9880445ca9a3dea629e t/00sig.t
+SHA1 28eeae311120c5129c4fbd746f128aa1c7235c9e t/01load.t
+SHA1 b2ed9206ca5b69ec3b8bbf850bf4b6dfde518e7e t/02pod.t
+SHA1 db2a9660458731b43759c4ecfa2c2bb8815c7a42 t/03podcov.t
+SHA1 e7eef054ec92ff5d259edfb9b39c932db74ffad3 t/Math/BigInt/Lib/TestUtil.pm
+SHA1 245f3bff2049103fd3e78f491cf532c5d39d410a t/author-lib-arithmetic-binary-_add.dat
+SHA1 fb019eeb1e92042a0997c37ac86072179138e7d0 t/author-lib-arithmetic-binary-_add.t
+SHA1 d096727381e245cf51b952eefd3e95dfbc9c08f4 t/author-lib-arithmetic-binary-_div.dat
+SHA1 992ae4dbcfd50603c4b612f90f7378a4b2c725db t/author-lib-arithmetic-binary-_div.t
+SHA1 1061301e834c83427043e373b59162f594367ebd t/author-lib-arithmetic-binary-_gcd.dat
+SHA1 72a8e176ee4d6e8532e8b5246d78f6ec5b37d9bf t/author-lib-arithmetic-binary-_gcd.t
+SHA1 d39bf8a73a6059271f5c669c88f39f6305530213 t/author-lib-arithmetic-binary-_lcm.dat
+SHA1 c07fd7b69df334ece22036ef50be2fcb6b3aa7a0 t/author-lib-arithmetic-binary-_lcm.t
+SHA1 f5179d492bc455e95971b714078eadf29c41813e t/author-lib-arithmetic-binary-_log_int.t
+SHA1 a28d97aed44453338896dc1da7a44e668446b00e t/author-lib-arithmetic-binary-_mod.dat
+SHA1 ec8823914f5f52b80f2561849c9bd82bec708a10 t/author-lib-arithmetic-binary-_mod.t
+SHA1 18871aee9027f01272891d94efb6107eea4770bb t/author-lib-arithmetic-binary-_modinv.dat
+SHA1 eb1f6c3df1160bf9abe6637e69ee75d165341974 t/author-lib-arithmetic-binary-_modinv.t
+SHA1 71492c41e07d6781da14071a7906e779ee458640 t/author-lib-arithmetic-binary-_mul.dat
+SHA1 097b27d35c7d0891e1a45b632d7aaa493f30ddf5 t/author-lib-arithmetic-binary-_mul.t
+SHA1 9881f81ca938c4e7a5e70def24e94c70d9e8120c t/author-lib-arithmetic-binary-_nok.dat
+SHA1 5d76bdea8eb8e015af08e00ab28bc594bfe17f87 t/author-lib-arithmetic-binary-_nok.t
+SHA1 7d46cd93fbd3a712870b74310d4b81a46e4d6ab2 t/author-lib-arithmetic-binary-_pow.t
+SHA1 dd7fe3081c7b34d812bd2d63bd0a379336a6fb2f t/author-lib-arithmetic-binary-_root.dat
+SHA1 c4dd1ca42582e4d27eb178c99461030b5129d2b1 t/author-lib-arithmetic-binary-_root.t
+SHA1 208b3d832880b0173214a8d3e8ae758cc180bf20 t/author-lib-arithmetic-binary-_sub.dat
+SHA1 dcf97b6990935de2ba015ae30c99f55f7a9211e1 t/author-lib-arithmetic-binary-_sub.t
+SHA1 1a46baeec3de83d73e46be04e66734691e220ce6 t/author-lib-arithmetic-ternary-_lsft.dat
+SHA1 639cd7ce96354e70c1676c7d6c165600d9a944a8 t/author-lib-arithmetic-ternary-_lsft.t
+SHA1 1c840a9723e1966ffeae105251a5f8fb1bb222f3 t/author-lib-arithmetic-ternary-_modpow.dat
+SHA1 38f26bbb4569e8350adefcf2a38e92e0c74168fd t/author-lib-arithmetic-ternary-_modpow.t
+SHA1 d8906cbfdb4cd2b156dfd3b3e3ab8c9d6e9f2622 t/author-lib-arithmetic-ternary-_rsft.dat
+SHA1 a1c31886c7bcd8ad37a87f506776c64974789da6 t/author-lib-arithmetic-ternary-_rsft.t
+SHA1 691a1f55a902ade59462ffe8cb41b10e8b7921d3 t/author-lib-arithmetic-unary-_dec.dat
+SHA1 d206db96ab625411354db49f3bad7925552f8de9 t/author-lib-arithmetic-unary-_dec.t
+SHA1 acc3c86db320c6d7f60ac77c2416ed74528ad0f1 t/author-lib-arithmetic-unary-_dfac.dat
+SHA1 4ced5df6d99a24180efe48e9818b97966937e0b3 t/author-lib-arithmetic-unary-_dfac.t
+SHA1 0611b9f6f31bec9174d4cee4d20899e023feb0ca t/author-lib-arithmetic-unary-_fac.dat
+SHA1 8e2f461b24972926f9777d792d96b20e4793eea9 t/author-lib-arithmetic-unary-_fac.t
+SHA1 cc89be7f70dd75c8fef0cbf6f0bc24c9bd4b5ba2 t/author-lib-arithmetic-unary-_inc.dat
+SHA1 ea13d6d205a217f2967c5cb0f42d57a971899583 t/author-lib-arithmetic-unary-_inc.t
+SHA1 945458ba0c81213b1e7ee6a277cc47e425108f3e t/author-lib-arithmetic-unary-_sqrt.dat
+SHA1 c635eaae7dc0bb20b244ee241a2d4cdf1ec6e25b t/author-lib-arithmetic-unary-_sqrt.t
+SHA1 fa4e6baa4542ce315a681a6da751a37751e39ca6 t/author-lib-bitwise-_and.dat
+SHA1 1ae05897cb2b17380ac0cb5bc743b76c68a4a563 t/author-lib-bitwise-_and.t
+SHA1 8edc8041ff1e2cad7684faf9d183db5d68d50498 t/author-lib-bitwise-_or.dat
+SHA1 d2ff3c35330c5af5ab1c24242aa9f8fdef23ec84 t/author-lib-bitwise-_or.t
+SHA1 89dd08ab86c6193afcf2a5a6fee255e43bc7a380 t/author-lib-bitwise-_xor.dat
+SHA1 bca2198fdd91f278e81b4aa1671a2949aba1913d t/author-lib-bitwise-_xor.t
+SHA1 c776996cfe9671fff1eb9df983bd655d0bf60f1c t/author-lib-boolean-_is_even.t
+SHA1 0c0468e2725f3cb3124ee2a939d6a28dd3434a97 t/author-lib-boolean-_is_odd.t
+SHA1 a4bfd55d0cb512a467ef9bf114f89ef17f4e8bfc t/author-lib-boolean-_is_one.t
+SHA1 ee980fafbb75da20f23d9bf14f658d673474e939 t/author-lib-boolean-_is_ten.t
+SHA1 b6dc271b39eabd3092db3f1a089793e1ca17fc66 t/author-lib-boolean-_is_two.t
+SHA1 4f1a4f23471e36a292ccbeb97449d7375a1821e1 t/author-lib-boolean-_is_zero.t
+SHA1 c0a3c65cbdfdb8b6ea9eaa750953431d2497867c t/author-lib-comparison-_acmp.t
+SHA1 fd1f43e10bd4307bc74ddabebacc7948ce390a1f t/author-lib-constructor-nullary-_one.t
+SHA1 09741c9fc7acc33d8226c0233265f4fa22ce60c5 t/author-lib-constructor-nullary-_ten.t
+SHA1 00eade15168d8d78b74c7d8222bcdc5b8d6770e9 t/author-lib-constructor-nullary-_two.t
+SHA1 fe8ad1f86f3654be936a357a45ea829344d56033 t/author-lib-constructor-nullary-_zero.t
+SHA1 6de6a0f39c22ca266139002bacb0f04c284fb4ef t/author-lib-constructor-unary-_copy.t
+SHA1 c9539965e7ef898559b9f9b978aabb4429684cdd t/author-lib-constructor-unary-_from_bin.dat
+SHA1 f8a5dc19fe94516d600b73cb976cacba3bcbf5cc t/author-lib-constructor-unary-_from_bin.t
+SHA1 f6b48efb760df125dc6ff2775ca7ec2f682d73a7 t/author-lib-constructor-unary-_from_bytes.dat
+SHA1 6affeb29514ab13420f35e0fb71c686a946c1dca t/author-lib-constructor-unary-_from_bytes.t
+SHA1 a17c631c96d719880a0911475a7cf87b1d024257 t/author-lib-constructor-unary-_from_hex.dat
+SHA1 b9d88ed48c3b3c522d77b2a130808f202a46986d t/author-lib-constructor-unary-_from_hex.t
+SHA1 c4aee685339894d9975cd5b643869130e31e70c2 t/author-lib-constructor-unary-_from_oct.dat
+SHA1 61251e95747dd62a00a34f5c90d4332a57e34d09 t/author-lib-constructor-unary-_from_oct.t
+SHA1 79b7458aebac3683a72514ba5e33fdad11675c29 t/author-lib-constructor-unary-_new.t
+SHA1 b78f1f41853952111950f7c9392686cce13b5283 t/author-lib-convert-number-_num.t
+SHA1 25cb7ed724cecb287ae7cc1b52eeed6e8313b674 t/author-lib-convert-string-_as_bin.dat
+SHA1 ea3aeb45c85887392876785e7363a8f15a9d2362 t/author-lib-convert-string-_as_bin.t
+SHA1 23659b7433005b596a1f84cd2ae67ed0a6eb9836 t/author-lib-convert-string-_as_bytes.dat
+SHA1 e3e2c831a31015d924eb577e708de724809e1234 t/author-lib-convert-string-_as_bytes.t
+SHA1 d3ab340bf68cac2efcf28da0183851195aaa1a31 t/author-lib-convert-string-_as_hex.dat
+SHA1 a37fa41344e4eb10c2dc7fa2d2f7e5d506f832f0 t/author-lib-convert-string-_as_hex.t
+SHA1 1a321f2488a44cb420484a8b6daeaa80064e7cf1 t/author-lib-convert-string-_as_oct.dat
+SHA1 37fff69d46848b664234c1c96121c9662d972e9d t/author-lib-convert-string-_as_oct.t
+SHA1 7c1df5e0fba12e5ee3926500336883dd669fd55e t/author-lib-convert-string-_str.t
+SHA1 4364a08e1bdeac38d8c8f01dc8d478d3c19938bb t/author-lib-convert-string-_to_bin.dat
+SHA1 d06746d6a7e925b1bc41180691f8b932404506df t/author-lib-convert-string-_to_bin.t
+SHA1 23659b7433005b596a1f84cd2ae67ed0a6eb9836 t/author-lib-convert-string-_to_bytes.dat
+SHA1 4ca189d4b8daa7267a8b41895a7befacd9f3f7e0 t/author-lib-convert-string-_to_bytes.t
+SHA1 9b266bc07af114945177a3da04eac28f2d9a60ae t/author-lib-convert-string-_to_hex.dat
+SHA1 5b5b5dc2a8a28aab2543b7d817b9354e2153d7e5 t/author-lib-convert-string-_to_hex.t
+SHA1 b87bd766abed476595a9d191016b3c16c3d01801 t/author-lib-convert-string-_to_oct.dat
+SHA1 f33dbbccc1859928a41c5f9800f2fe40cce66abf t/author-lib-convert-string-_to_oct.t
+SHA1 bcdaf0163a307403743343a99279b73fe5930e75 t/author-lib-misc-_check.t
+SHA1 39ce4db5556175d7bb1d01b013dcb3566a0d7d7f t/author-lib-misc-api_version.t
+SHA1 6db6bfd8e359eafac6310b404731898f9d4a22ed t/author-lib-property-_alen.t
+SHA1 3b8c1e8f28192261387e91e120863e3ad5f20e16 t/author-lib-property-_digit.t
+SHA1 6bb954e81dfd40e5685f0df883ba4b24df8bf6ce t/author-lib-property-_len.t
+SHA1 c4f08d0be8e93d8b0f6ce3c0e76aef54e4350662 t/author-lib-property-_zeros.t
+SHA1 8335b056d6202c39d89f9617d46a13c43c4177ce t/author-lib.ini
+SHA1 518c629dc74fb7c1fef9ca1ebc0688db2964921d t/author-lib.t
+SHA1 709cef0e13fd2a85f007482877bfdcf42bf5f8d4 t/bigfltpm.inc
+SHA1 2018568f1d589d85b08a252e6479fc8c336bf74a t/bigfltpm.t
+SHA1 f088abe3e0c21c9d9e54c8d91295edfe27fa63f2 t/bigintfc.t
+SHA1 f05bb12c2eaafa41b4409146cc160d37d8424670 t/bigintpm.inc
+SHA1 9d42bf14bc234f81254fbbd886269262e29b8592 t/bigintpm.t
+SHA1 acd6b8d3c8a9a46831d4d75f998cd05cb6384d11 t/biglog.t
+SHA1 53ddb359d85e401784b6bf57921328eca5642861 t/bigroot.t
+SHA1 de0d8dd9808b14376e8590aa2d655958e3963f17 t/bootstrap.t
+SHA1 fb4dce179529973a5e0691af4ce5246bc2e65038 t/leak.t
+SHA1 cf9debc0777b67a2f2b179bf0502c9d498162e63 t/mbi_rand.t
+SHA1 74a620fa3317abc2b1383d9194390d30df64bbf0 t/mbimbf.inc
+SHA1 6c804dc12b26f18c5d9416119b2d62783660e07d t/mbimbf.t
+-----BEGIN PGP SIGNATURE-----
+
+iQEcBAEBAgAGBQJYdnvVAAoJEGcmPl2fr1664XIH/10fRRtzxmxBvGhxvmIpCh6E
+gy1Sn+DB/oZ4KRkIPsIKRZ7hCyTDVkyMlxPIXk0W3B+zmDQGd9TCuAp9oS/3eNMb
+MVIrU6MxaKqJ2RSnLZq+nvu4dHBwIlp9F09Ane/DxOT1sHvyTVgwxZ+8hEI8gN2Z
+wKiOQNQrIqUHZ18BGO4uaghpdgw+1YLWQMprS41q3EgGs6iRrii6wJzDohkZyAub
+5MmQ63uvVf14VYXdBXNrXkkYbB8IAfWPBMRt2jyR8iFu0h/EX/dQzgX08vcjGYwx
+klc06GSlaCsg/FA/yTscS2Ms/kcnTTdhXamWqGT/RLFPuxp3gFgtWJXbNWg/byQ=
+=0ugh
+-----END PGP SIGNATURE-----
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..da80a16
--- /dev/null
+++ b/TODO
@@ -0,0 +1,6 @@
+The following list is not up to date:
+
+* fix t/leak.t
+* put _str() into XS
+* put _add()/_sub() into XS
+* put all the other routines into XS
diff --git a/lib/Math/BigInt/FastCalc.pm b/lib/Math/BigInt/FastCalc.pm
new file mode 100644
index 0000000..8d0ba40
--- /dev/null
+++ b/lib/Math/BigInt/FastCalc.pm
@@ -0,0 +1,168 @@
+package Math::BigInt::FastCalc;
+
+use 5.006;
+use strict;
+use warnings;
+
+use Math::BigInt::Calc 1.999801;
+
+our @ISA = qw< Math::BigInt::Calc >;
+
+our $VERSION = '0.5006';
+
+##############################################################################
+# global constants, flags and accessory
+
+# announce that we are compatible with MBI v1.83 and up
+sub api_version () { 2; }
+
+# use Calc to override the methods that we do not provide in XS
+
+require XSLoader;
+XSLoader::load(__PACKAGE__, $VERSION, Math::BigInt::Calc->_base_len());
+
+##############################################################################
+##############################################################################
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
+
+=head1 SYNOPSIS
+
+ # to use it with Math::BigInt
+ use Math::BigInt lib => 'FastCalc';
+
+ # to use it with Math::BigFloat
+ use Math::BigFloat lib => 'FastCalc';
+
+ # to use it with Math::BigRat
+ use Math::BigRat lib => 'FastCalc';
+
+=head1 DESCRIPTION
+
+Math::BigInt::FastCalc inherits from Math::BigInt::Calc.
+
+Provides support for big integer calculations. Not intended to be used by
+other modules. Other modules which sport the same functions can also be used
+to support Math::BigInt, like L or L.
+
+In order to allow for multiple big integer libraries, Math::BigInt was
+rewritten to use library modules for core math routines. Any module which
+follows the same API as this can be used instead by using the following:
+
+ use Math::BigInt lib => 'libname';
+
+'libname' is either the long name ('Math::BigInt::Pari'), or only the short
+version like 'Pari'. To use this library:
+
+ use Math::BigInt lib => 'FastCalc';
+
+=head1 STORAGE
+
+Math::BigInt::FastCalc works exactly like Math::BigInt::Calc. Numbers are
+stored in decimal form chopped into parts.
+
+=head1 METHODS
+
+The following functions are now implemented in FastCalc.xs:
+
+ _is_odd _is_even _is_one _is_zero
+ _is_two _is_ten
+ _zero _one _two _ten
+ _acmp _len
+ _inc _dec
+ __strip_zeros _copy
+
+=head1 BUGS
+
+Please report any bugs or feature requests to
+C, or through the web interface at
+L
+(requires login).
+We will be notified, and then you'll automatically be notified of progress on
+your bug as I make changes.
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc Math::BigInt::FastCalc
+
+You can also look for information at:
+
+=over 4
+
+=item * RT: CPAN's request tracker
+
+L
+
+=item * AnnoCPAN: Annotated CPAN documentation
+
+L
+
+=item * CPAN Ratings
+
+L
+
+=item * Search CPAN
+
+L
+
+=item * CPAN Testers Matrix
+
+L
+
+=item * The Bignum mailing list
+
+=over 4
+
+=item * Post to mailing list
+
+C
+
+=item * View mailing list
+
+L
+
+=item * Subscribe/Unsubscribe
+
+L
+
+=back
+
+=back
+
+=head1 LICENSE
+
+This program is free software; you may redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=head1 AUTHORS
+
+Original math code by Mark Biggar, rewritten by Tels L
+in late 2000.
+Separated from BigInt and shaped API with the help of John Peacock.
+
+Fixed, sped-up and enhanced by Tels http://bloodgate.com 2001-2003.
+Further streamlining (api_version 1 etc.) by Tels 2004-2007.
+
+Bug-fixing by Peter John Acklam Epjacklam@online.noE 2010-2016.
+
+=head1 SEE ALSO
+
+L for a description of the API.
+
+Alternative libraries L, L, and
+L.
+
+Some of the modules that use these libraries L,
+L, and L.
+
+=cut
diff --git a/t/00sig.t b/t/00sig.t
new file mode 100644
index 0000000..c16ed5e
--- /dev/null
+++ b/t/00sig.t
@@ -0,0 +1,37 @@
+#!perl
+
+use strict; # restrict unsafe constructs
+use warnings; # enable optional warnings
+
+use Test::More;
+
+if (!$ENV{TEST_SIGNATURE}) {
+ plan skip_all =>
+ "Set the environment variable TEST_SIGNATURE to enable this test.";
+}
+elsif (!eval { require Module::Signature; 1 }) {
+ plan skip_all =>
+ "Next time around, consider installing Module::Signature, ".
+ "so you can verify the integrity of this distribution.";
+}
+elsif (!-e 'SIGNATURE') {
+ plan skip_all => "SIGNATURE not found";
+}
+elsif (!-s 'SIGNATURE') {
+ plan skip_all => "SIGNATURE file empty";
+}
+elsif (!eval { require Socket; Socket::inet_aton('pool.sks-keyservers.net') }) {
+ plan skip_all => "Cannot connect to the keyserver to check module ".
+ "signature";
+}
+else {
+ plan tests => 1;
+}
+
+my $ret = Module::Signature::verify();
+SKIP: {
+ skip "Module::Signature cannot verify", 1
+ if $ret eq Module::Signature::CANNOT_VERIFY();
+
+ cmp_ok $ret, '==', Module::Signature::SIGNATURE_OK(), "Valid signature";
+}
diff --git a/t/01load.t b/t/01load.t
new file mode 100644
index 0000000..dee6f70
--- /dev/null
+++ b/t/01load.t
@@ -0,0 +1,26 @@
+#!perl
+
+use strict; # restrict unsafe constructs
+use warnings; # enable optional warnings
+
+use Test::More tests => 2;
+
+BEGIN {
+ use_ok('Math::BigInt');
+ use_ok('Math::BigInt::FastCalc');
+};
+
+my @mods = ('Math::BigInt',
+ 'Math::BigInt::Calc',
+ 'Math::BigInt::FastCalc',
+ );
+
+diag("");
+diag("Testing with Perl $], $^X");
+diag("");
+diag(sprintf("%12s %s\n", 'Version', 'Module'));
+diag(sprintf("%12s %s\n", '-------', '------'));
+for my $mod (@mods) {
+ diag(sprintf("%12s %s\n", $mod -> VERSION(), $mod));
+}
+diag("");
diff --git a/t/02pod.t b/t/02pod.t
new file mode 100644
index 0000000..b58930a
--- /dev/null
+++ b/t/02pod.t
@@ -0,0 +1,14 @@
+#!perl
+
+use strict; # restrict unsafe constructs
+use warnings; # enable optional warnings
+
+use Test::More;
+
+# Ensure a recent version of Test::Pod
+
+my $min_tp = 1.22;
+eval "use Test::Pod $min_tp";
+plan skip_all => "Test::Pod $min_tp required for testing POD" if $@;
+
+all_pod_files_ok();
diff --git a/t/03podcov.t b/t/03podcov.t
new file mode 100644
index 0000000..6dd79c7
--- /dev/null
+++ b/t/03podcov.t
@@ -0,0 +1,31 @@
+#!perl
+
+use strict; # restrict unsafe constructs
+use warnings; # enable optional warnings
+
+use Test::More;
+
+# Ensure a recent version of Test::Pod::Coverage
+
+my $min_tpc = 1.08;
+eval "use Test::Pod::Coverage $min_tpc";
+plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
+ if $@;
+
+# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
+# but older versions don't recognize some common documentation styles
+
+my $min_pc = 0.18;
+eval "use Pod::Coverage $min_pc";
+plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
+ if $@;
+
+my $trustme = {
+ private => [ qr/^__/,
+ qr/^(un)?import$/,
+ qr/^bootstrap$/,
+ ],
+ coverage_class => 'Pod::Coverage::CountParents',
+ };
+
+all_pod_coverage_ok($trustme, "All modules are covered");
diff --git a/t/Math/BigInt/Lib/TestUtil.pm b/t/Math/BigInt/Lib/TestUtil.pm
new file mode 100644
index 0000000..cb24e25
--- /dev/null
+++ b/t/Math/BigInt/Lib/TestUtil.pm
@@ -0,0 +1,39 @@
+#!perl
+
+package Math::BigInt::Lib::TestUtil;
+
+use strict;
+use warnings;
+
+use Exporter;
+
+our @ISA = qw< Exporter >;
+our @EXPORT_OK = qw< randstr >;
+
+# randstr NUM, BASE
+#
+# Generate a string representing a NUM digit number in base BASE.
+
+sub randstr {
+ die "randstr: wrong number of input arguments\n"
+ unless @_ == 2;
+
+ my $n = shift;
+ my $b = shift;
+
+ die "randstr: first input argument must be >= 0"
+ unless $n >= 0;
+ die "randstr: second input argument must be in the range 2 .. 36\n"
+ unless 2 <= $b && $b <= 36;
+
+ return '' if $n == 0;
+
+ my @dig = (0 .. 9, 'a' .. 'z');
+
+ my $str = $dig[ 1 + int rand ($b - 1) ];
+ $str .= $dig[ int rand $b ] for 2 .. $n;
+
+ return $str;
+}
+
+1;
diff --git a/t/author-lib-arithmetic-binary-_add.dat b/t/author-lib-arithmetic-binary-_add.dat
new file mode 100644
index 0000000..c1f2d58
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_add.dat
@@ -0,0 +1,576 @@
+38:95:133
+51:582:633
+77:3259:3336
+77:48939:49016
+87:785746:785833
+51:8013093:8013144
+17:84981862:84981879
+73:518093993:518094066
+30:2050839865:2050839895
+47:29590479892:29590479939
+82:881113766641:881113766723
+94:2365621927473:2365621927567
+42:57129686171278:57129686171320
+97:714600987409929:714600987410026
+16:9193587152443802:9193587152443818
+69:34574756119616287:34574756119616356
+63:129203528618918440:129203528618918503
+89:4564395485854842757:4564395485854842846
+52:43281574081450827737:43281574081450827789
+64:879882042331215118762:879882042331215118826
+99:9815890112038293073519:9815890112038293073618
+87:32765771533116119241571:32765771533116119241658
+94:639148516878340632189500:639148516878340632189594
+69:9647162707796234310274816:9647162707796234310274885
+543:95:638
+311:941:1252
+454:4101:4555
+869:68317:69186
+742:564815:565557
+611:7399862:7400473
+331:19658460:19658791
+442:714143728:714144170
+168:2386517046:2386517214
+210:99110091792:99110092002
+588:826300028675:826300029263
+403:4410735238882:4410735239285
+437:92091100683922:92091100684359
+828:658015468778579:658015468779407
+947:4220984310162412:4220984310163359
+506:26738778699642029:26738778699642535
+949:890230005532953486:890230005532954435
+568:3922825066173932437:3922825066173933005
+628:62505015474366834170:62505015474366834798
+730:132028171858756066047:132028171858756066777
+883:4737039980787213331336:4737039980787213332219
+345:14372745729267444679207:14372745729267444679552
+424:414010976463363950688976:414010976463363950689400
+459:9223329874769558018680399:9223329874769558018680858
+9459:77:9536
+2149:417:2566
+9595:9000:18595
+1204:77327:78531
+7304:496118:503422
+4108:2927745:2931853
+8146:46777007:46785153
+3504:647771524:647775028
+3253:5801007851:5801011104
+6648:35280178805:35280185453
+1417:194886926548:194886927965
+5326:2990614262187:2990614267513
+3443:55183342419999:55183342423442
+3392:633446883541448:633446883544840
+7999:9817088827014053:9817088827022052
+6677:86655547463194854:86655547463201531
+7836:469808383526938388:469808383526946224
+8832:5592181420493197656:5592181420493206488
+3921:55149516509993724639:55149516509993728560
+4231:398160871733741326661:398160871733741330892
+2864:6139432649736846839193:6139432649736846842057
+6294:70861998413748565645930:70861998413748565652224
+4628:833664652049286387409906:833664652049286387414534
+7510:9968043041021011411794368:9968043041021011411801878
+17797:39:17836
+37507:562:38069
+66551:5342:71893
+62475:16938:79413
+17501:407729:425230
+43158:7877608:7920766
+31560:38917207:38948767
+75914:676435357:676511271
+19667:7374678858:7374698525
+63995:27192208612:27192272607
+19778:388411234299:388411254077
+14028:2114834510710:2114834524738
+79516:16409430525902:16409430605418
+22272:814912250681150:814912250703422
+99758:6040319323078675:6040319323178433
+67178:63754174502512454:63754174502579632
+41985:717742466744115882:717742466744157867
+30684:1782105050492224367:1782105050492255051
+68343:63548492877548405564:63548492877548473907
+93568:592216777063702842047:592216777063702935615
+86169:8092452505794800709192:8092452505794800795361
+46664:21253946235709418631717:21253946235709418678381
+41166:735283246010825732902491:735283246010825732943657
+50860:7012478285453214991051668:7012478285453214991102528
+132631:15:132646
+322798:541:323339
+299313:9249:308562
+199648:81737:281385
+521850:813289:1335139
+774280:7117493:7891773
+229030:33008889:33237919
+559752:714115421:714675173
+576782:9877822769:9878399551
+455065:94261465941:94261921006
+511413:371668375932:371668887345
+530296:6840272199342:6840272729638
+976579:43907494395463:43907495372042
+995925:666602750157219:666602751153144
+767279:6216665892203900:6216665892971179
+934690:96884761479803369:96884761480738059
+580832:817448168323860218:817448168324441050
+973282:2295757143807389695:2295757143808362977
+255586:11815597744558097544:11815597744558353130
+668022:463699427795924643173:463699427795925311195
+756100:9363304141768984233382:9363304141768984989482
+293890:26183307454183245836187:26183307454183246130077
+807549:894831758902262698143188:894831758902262698950737
+309216:4169368097765789401124419:4169368097765789401433635
+5913690:75:5913765
+5083204:448:5083652
+9750673:1913:9752586
+9466811:55702:9522513
+5229727:357671:5587398
+2006436:6290660:8297096
+5241050:69129573:74370623
+6476228:328916590:335392818
+4709008:9456386627:9461095635
+5378199:14393183642:14398561841
+5704852:626353795303:626359500155
+3364623:5176169832029:5176173196652
+1157104:62569330160722:62569331317826
+7879849:431827923085798:431827930965647
+9497770:9083627021512724:9083627031010494
+3493758:29646705240437970:29646705243931728
+5394256:370153101741238621:370153101746632877
+5497457:1568010330580995070:1568010330586492527
+2167224:20700004571464145634:20700004571466312858
+8080930:122282277162815310489:122282277162823391419
+2562132:5332464226618516636463:5332464226618519198595
+6151154:71726351080048278299890:71726351080048284451044
+6155998:491199108757670858241914:491199108757670864397912
+1776162:1486504762310437887099422:1486504762310437888875584
+67627136:74:67627210
+15857075:498:15857573
+71825805:2689:71828494
+15440325:41943:15482268
+47185724:310373:47496097
+41476221:7509269:48985490
+93251524:64162613:157414137
+27526215:745747577:773273792
+55575841:1299378605:1354954446
+95203435:51811311183:51906514618
+80186920:522069567260:522149754180
+45176756:2522528480337:2522573657093
+77144041:51624637410498:51624714554539
+93667423:522097325144134:522097418811557
+97857782:1132628083803050:1132628181660832
+51695405:18706988852090991:18706988903786396
+44120134:524028427672515890:524028427716636024
+30134935:7904023062373301655:7904023062403436590
+24333530:39527588659527008512:39527588659551342042
+14877216:519496083150274285117:519496083150289162333
+20697269:3288753338559466298974:3288753338559486996243
+79700606:50528795162107243563443:50528795162107323264049
+47254378:811355293457227127242956:811355293457227174497334
+71068213:3493394877495298284247417:3493394877495298355315630
+665232890:62:665232952
+743586690:749:743587439
+838270608:1349:838271957
+615183383:29123:615212506
+865735549:178624:865914173
+587794231:7599478:595393709
+263590918:23598444:287189362
+324000586:484951280:808951866
+615305242:8043210762:8658516004
+285636445:41334672687:41620309132
+796629907:287845927412:288642557319
+403314958:5928682554001:5929085868959
+295082893:17959476461053:17959771543946
+669189855:276689362857396:276690032047251
+307819887:7080057770162561:7080058077982448
+178924573:73206798479607154:73206798658531727
+684330563:895415107766644457:895415108450975020
+110895291:1527441236096786813:1527441236207682104
+139998623:37537035424603093662:37537035424743092285
+975325452:132352644838529647347:132352644839504972799
+710434638:5995165437482418378406:5995165437483128813044
+307423685:54615252244279083824283:54615252244279391247968
+354177665:143314873981406459164372:143314873981406813342037
+647407055:5539034701295398394506529:5539034701295399041913584
+2911696780:80:2911696860
+3411540795:610:3411541405
+4692231106:6079:4692237185
+2028534377:14705:2028549082
+2450413760:569579:2450983339
+8551236326:1118859:8552355185
+1384081964:39828728:1423910692
+3450906868:220323232:3671230100
+5768043138:5218652851:10986695989
+2504999290:97314069135:99819068425
+2110879419:701033225704:703144105123
+6640865137:4513745825803:4520386690940
+8308615763:26449658816453:26457967432216
+2264823766:526492871950980:526495136774746
+1875480191:2305928358015944:2305930233496135
+2088744444:42441580981294501:42441583070038945
+1804378467:674686951483865830:674686953288244297
+3891042279:8234586806703117787:8234586810594160066
+3631368829:74123755131914729748:74123755135546098577
+1107519346:961275538810824262488:961275538811931781834
+7837160335:3327196843569127986805:3327196843576965147140
+2269979592:43189607381864052248054:43189607381866322227646
+3554155764:376995601544081173565483:376995601544084727721247
+2330014325:6240642076808412869063588:6240642076808415199077913
+47521857298:98:47521857396
+29855709998:133:29855710131
+26059343189:8890:26059352079
+76220627648:79014:76220706662
+98869754891:488859:98870243750
+36546005659:7732753:36553738412
+60518586003:50968560:60569554563
+25422482306:986326526:26408808832
+58827043678:3262348615:62089392293
+13914559309:10856765235:24771324544
+63284387910:421539369103:484823757013
+92879359350:6740000506016:6832879865366
+59428223914:16468941035462:16528369259376
+92734144387:732822963251536:732915697395923
+19505171630:1841800444202701:1841819949374331
+43837430087:55282967691699730:55283011529129817
+87841633084:860176176531278839:860176264372911923
+89158750064:6890425624128678624:6890425713287428688
+60606782936:83084605697981245853:83084605758588028789
+34000632864:680306029462456383806:680306029496457016670
+80654953026:1656699497278453991955:1656699497359108944981
+79282191200:15784114706496076879577:15784114706575359070777
+20550390726:719508822656923966870644:719508822656944517261370
+46843806797:8206390444376816870432577:8206390444376863714239374
+203804183732:59:203804183791
+881354617654:207:881354617861
+118912306453:7389:118912313842
+630665273332:42836:630665316168
+331224282098:135774:331224417872
+196617834651:9962689:196627797340
+520953769460:72720610:521026490070
+540643129023:226865287:540869994310
+319589907148:9148627592:328738534740
+548370065479:35479801564:583849867043
+885165593394:712376729597:1597542322991
+952742027760:4930416376061:5883158403821
+960843001679:25833194217774:26794037219453
+955579154217:538965952443465:539921531597682
+216103433714:1461716588666077:1461932692099791
+421396827096:56138655828538750:56139077225365846
+240398545338:873124571000103763:873124811398649101
+789981933788:4400510409611681516:4400511199593615304
+537889589554:90758404931454976687:90758405469344566241
+688891346078:391296683808766851832:391296684497658197910
+352790936363:1493425087356870797973:1493425087709661734336
+548154313471:80146219324931026684054:80146219325479180997525
+383298201579:421809518573793184629579:421809518574176482831158
+418672369800:5212629249895037301938500:5212629249895455974308300
+4926362728296:16:4926362728312
+9816116647030:356:9816116647386
+7154921421405:4656:7154921426061
+1673041573729:79711:1673041653440
+8309789506219:226002:8309789732221
+9405874378302:7538593:9405881916895
+9819543125670:54322790:9819597448460
+3385431210527:302697080:3385733907607
+5181994517394:2727767603:5184722284997
+2050836592675:84313229390:2135149822065
+9244749302254:314359974808:9559109277062
+8328912197651:9228375835982:17557288033633
+3486674870939:63945828926868:67432503797807
+1078638847336:799570811265338:800649450112674
+9509676791835:3666946266300223:3676455943092058
+8855783606803:34300430744120935:34309286527727738
+5386727033022:206306522801062928:206311909528095950
+6936577607444:8274049520725934612:8274056457303542056
+7774050529704:94491102483090006369:94491110257140536073
+6437618088389:196511217671768864466:196511224109386952855
+4868690783597:1855364786767055789814:1855364791635746573411
+1294741457708:11419155121805243466589:11419155123099984924297
+7686674301597:481340853638404528982321:481340853646091203283918
+5748891305348:7651012123264148371393799:7651012123269897262699147
+95939441191683:19:95939441191702
+61786336010685:483:61786336011168
+61746183009943:6085:61746183016028
+35781501403274:52148:35781501455422
+73188326495531:537033:73188327032564
+64954655577396:7286147:64954662863543
+88045012011646:74965568:88045086977214
+19814370921064:153932353:19814524853417
+94399717056242:2923189115:94402640245357
+73842612582419:72059819764:73914672402183
+45465937108493:561044808473:46026981916966
+98366213885414:2341918580988:100708132466402
+55294115994704:58748467290444:114042583285148
+21852222846305:265872137113269:287724359959574
+45808622489742:6701017272505142:6746825894994884
+77897680155120:31129557129944474:31207454810099594
+21275318519666:230889315659949608:230910590978469274
+66600881993609:4859480276943369093:4859546877825362702
+40600605931222:77157735792545585734:77157776393151516956
+19743948720620:955249542708565034171:955249562452513754791
+69340559803093:6009099389988142357876:6009099459328702160969
+28297968959799:75117085555736425359203:75117085584034394319002
+82048941595545:692184003711664542958934:692184003793713484554479
+94904585143508:2738931273415411915470603:2738931273510316500614111
+442907756480959:82:442907756481041
+178462823527746:491:178462823528237
+958538725918951:4043:958538725922994
+695612829171856:68780:695612829240636
+697315011539971:274630:697315011814601
+750139099147100:5718750:750139104865850
+299671952863561:54803458:299672007667019
+311893449913439:146111337:311893596024776
+288450232716997:3466320301:288453699037298
+135963378508569:74264847544:136037643356113
+251120981256365:904178412927:252025159669292
+458678954528654:6851233122104:465530187650758
+298135357329571:32417062880185:330552420209756
+293672873410880:851005726763514:1144678600174394
+970282071415966:1776232765771656:2746514837187622
+388501615416706:40827011185413388:41215512800830094
+105960332687526:749884726692585168:749990687025272694
+317832744061140:8249358420973227800:8249676253717288940
+867879052015004:41670028247026712672:41670896126078727676
+844858850496026:725205253097414832996:725206097956265329022
+315914796180158:2456655025867968991912:2456655341782765172070
+561914227465634:14602911326439012541126:14602911888353240006760
+693846259553834:995200889549233370079732:995200890243079629633566
+289019500698574:1921607759514607080118840:1921607759803626580817414
+6586745434167218:79:6586745434167297
+3874061842555415:420:3874061842555835
+7113609043545984:1385:7113609043547369
+3025828750020285:46250:3025828750066535
+2789476696435345:126974:2789476696562319
+5770375998928322:4311827:5770376003240149
+7270576569761040:55986361:7270576625747401
+3927169190480660:754319658:3927169944800318
+6570496777698913:9617185382:6570506394884295
+9244767746865106:76132957278:9244843879822384
+8451059713153207:683622004271:8451743335157478
+1634476262414891:9739219040751:1644215481455642
+4548844165105896:80130715172201:4628974880278097
+8148285943170373:375291533410713:8523577476581086
+2193714685151355:6146103542951725:8339818228103080
+7335486858396207:69014070008603427:76349556866999634
+3329351849143829:220458728804573015:223788080653716844
+4019720020715369:4822584106321388029:4826603826342103398
+4282642147391871:67919169959050015185:67923452601197407056
+7399786458103667:895259886998644812517:895267286785102916184
+9080167559868583:6071679339552366256441:6071688419719926125024
+5853817187467547:37090184392713544722637:37090190246530732190184
+1199641686435023:918841226745049845682115:918841227944691532117138
+6982926101101493:6215447157221713524848119:6215447164204639625949612
+33880586973540105:99:33880586973540204
+56971064008907582:442:56971064008908024
+67560902118282259:7345:67560902118289604
+10564773217702105:89862:10564773217791967
+92977495594526378:669068:92977495595195446
+52451077857053795:5885475:52451077862939270
+60041179729484951:93320099:60041179822805050
+41431875220597760:360328139:41431875580925899
+85390906627142973:2660327797:85390909287470770
+45895929860960606:82132198986:45896011993159592
+90069248292517442:189059168678:90069437351686120
+99327917547688057:5409849814565:99333327397502622
+72601177107831311:52522205456695:72653699313288006
+95017035417633240:690361970660444:95707397388293684
+72948380514228342:9836109479775008:82784489994003350
+50346569218111194:46718698247608190:97065267465719384
+85573987119347048:431446756223737442:517020743343084490
+74918921984864492:4586237687231475590:4661156609216340082
+18994961090896048:65977755560479780586:65996750521570676634
+54212096672696500:557647750259775614200:557701962356448310700
+89647735133341810:2432260725784762339708:2432350373519895681518
+44438572952070806:76877039567515937815104:76877084006088889885910
+25310571830388872:220571264682979455399436:220571289993551285788308
+81653662614001616:7922695925583375060978442:7922696007237037674980058
+564129680773681620:72:564129680773681692
+273559364257334305:989:273559364257335294
+378401007153901687:6968:378401007153908655
+264366044750850589:22447:264366044750873036
+687097330601219006:106632:687097330601325638
+873120763430274707:3952148:873120763434226855
+659404740372285895:15366957:659404740387652852
+858086664758222576:512709623:858086665270932199
+277944987267676397:4417866870:277944991685543267
+978451541324238030:93879626336:978451635203864366
+571433400428371683:632075830424:571434032504202107
+435289772981320636:4825351708653:435294598333029289
+891700558675626112:53989487948189:891754548163574301
+837798895801703812:578212247038430:838377108048742242
+575671434863197896:6809748102182594:582481182965380490
+458405761462120524:77495684183111184:535901445645231708
+423795116331610954:726934288879987438:1150729405211598392
+118368788986646104:9767225868273711314:9885594657260357418
+137287639015303388:47995009574982402294:48132297213997705682
+207298911052769184:813014915272906139482:813222214183958908666
+490332708518219428:6449742008810967273470:6450232341519485492898
+274052610854248936:71877512830839220757868:71877786883450075006804
+400053018784603440:885915131167680957136746:885915531220699741740186
+436051821788532020:1941271107269048062925070:1941271543320869851457090
+3014582907476113784:89:3014582907476113873
+2784787897474980629:345:2784787897474980974
+9271985251013682281:8160:9271985251013690441
+3054221451767246589:88100:3054221451767334689
+4336190857240022737:462759:4336190857240485496
+7110648843451193090:3253109:7110648843454446199
+9225379379411686480:55450300:9225379379467136780
+4999588793325843917:603087117:4999588793928931034
+3781857500028475182:4101588644:3781857504130063826
+1854196791009998019:54787289997:1854196845797288016
+3896275114575246108:628921094762:3896275743496340870
+4903608702114032649:9562072973662:4903618264187006311
+2734040659867770778:48467380717646:2734089127248488424
+6721210251407333663:580531121728113:6721790782529061776
+6737475239570438419:3815986340711813:6741291225911150232
+2996674105940141127:87750140932050619:3084424246872191746
+4505528465748852589:708240326313438319:5213768792062290908
+7724435405316634177:3871355912314925411:11595791317631559588
+5349831095183443541:93446228346476122519:98796059441659566060
+6842914129254171561:721989182463274844733:728832096592529016294
+1309892798362694591:8291677969468375733777:8292987862266738428368
+6680808419803274675:81693655723638971634469:81700336532058774909144
+3845259086432056039:345729713345378356284793:345733558604464788340832
+4810135106142332763:6892397561842137305798925:6892402371977243448131688
+45123364737125838607:33:45123364737125838640
+54090731930833550684:547:54090731930833551231
+54174780072448771104:7050:54174780072448778154
+26883263877354327656:62224:26883263877354389880
+94091167085383231685:471795:94091167085383703480
+99373324792379540141:1469993:99373324792381010134
+18267055785591681422:92634592:18267055785684316014
+24420554980268571542:317447567:24420554980586019109
+28473905620585043325:6909518330:28473905627494561655
+72996010120415281544:63473818266:72996010183889099810
+11318498466544959527:825790675132:11318499292335634659
+70611477733898881179:3721334277824:70611481455233159003
+54085263322445093588:85942582465063:54085349265027558651
+43905610924320212803:888191622020917:43906499115942233720
+18021757345909237111:7602198130535049:18029359544039772160
+83061914270387352299:13231051706819487:83075145322094171786
+69606002940165683441:119295434012060563:69725298374177744004
+88488757097920513029:6265599204171873991:94754356302092387020
+59848299936217803865:41620752506234357229:101469052442452161094
+19932325601235556079:168454181854515061953:188386507455750618032
+15495981843710919651:7497997909517802085589:7513493891361513005240
+86934286700879594025:60347855607292018762635:60434789893992898356660
+85148093127215474877:375262271857426991595071:375347419950554207069948
+34066120512372499601:7041762838436453274931251:7041796904556965647430852
+301492478607448951205:60:301492478607448951265
+626159810656892084109:751:626159810656892084860
+116869082683733007342:4905:116869082683733012247
+783795709573932421251:23403:783795709573932444654
+172627403765817332188:408067:172627403765817740255
+704870409283928271305:1620970:704870409283929892275
+634124382550275049562:24568650:634124382550299618212
+195461848734224187646:420535052:195461848734644722698
+387657849167525876347:9003769504:387657849176529645851
+143431997755497449998:95713949554:143431997851211399552
+110355354749325650418:535748806856:110355355285074457274
+584051741444091726167:1107082145345:584051742551173871512
+417466798489758145658:66889275670014:417466865379033815672
+797358684365884894161:476240275458419:797359160606160352580
+753788663176948292263:8040180512774969:753796703357461067232
+551056520094492494619:67128980564607693:551123649075057102312
+185524386810973785807:541960141851070369:186066346952824856176
+303303816418135022019:8738649374506915253:312042465792641937272
+852495733433086795767:78074947571099953417:930570681004186749184
+997465331674817142173:699220352420858080799:1696685684095675222972
+893917817891187754865:6543267021930792869395:7437184839821980624260
+502341234725678398085:73396911060241554246361:73899252294967232644446
+249771191177498153915:635242800245435624100673:635492571436613122254588
+324652375413295863395:5925375509448690556711765:5925700161824103852575160
+1789936140077116147351:33:1789936140077116147384
+8576606456390085467648:291:8576606456390085467939
+1584719880662477426493:7886:1584719880662477434379
+8688829064889303339870:75015:8688829064889303414885
+4694164392882910429875:284804:4694164392882910714679
+5366697690794778938828:1946663:5366697690794780885491
+7579145499969571981945:78319638:7579145499969650301583
+4828260696984229733578:892075134:4828260696985121808712
+3341734213317143512079:9976898757:3341734213327120410836
+1147088609879452218328:84715883196:1147088609964168101524
+4327910719446801850613:922094877734:4327910720368896728347
+2218655590607882369654:6898605706884:2218655597506488076538
+7119488488812331075243:35351972027922:7119488524164303103165
+4790200368214597220734:938624195700584:4790201306838792921318
+2270929245883198267490:7573067834475244:2270936818951032742734
+1228104498958014747014:46331747515978416:1228150830705530725430
+4315916567543335923946:101299387789318836:4316017866931125242782
+7558063010997766677134:5324820726670614264:7563387831724437291398
+5315047196190310638460:17002833449040923798:5332050029639351562258
+1318444185297526565952:995029431178219490554:2313473616475746056506
+6715914371472445472068:5863936113438544261022:12579850484910989733090
+4111966649130116831880:51179853760755126098050:55291820409885242929930
+4060650888268892915724:803193447548221641747366:807254098436490534663090
+4362891179467949115856:3821323522018170950552842:3825686413197638899668698
+63289288480467904289304:57:63289288480467904289361
+88294395673367816498229:733:88294395673367816498962
+69841732960055071468384:8413:69841732960055071476797
+54140984260688785569951:25474:54140984260688785595425
+38806440777757272682757:442989:38806440777757273125746
+50801909009926816159174:7882236:50801909009926824041410
+97748354956044360567253:50576303:97748354956044411143556
+27720358992253790240553:612097156:27720358992254402337709
+20779576706813437840350:9430164492:20779576706822868004842
+93414238854820197381427:39041039727:93414238854859238421154
+28307636688265854714444:747639741250:28307636689013494455694
+40958918618775462619385:9857607115393:40958918628633069734778
+38420856925894337036376:97553818639721:38420857023448155676097
+66812100451837178340086:518156107831712:66812100969993286171798
+17248604330878722713946:7915241528352932:17248612246120251066878
+56600734627580566106622:84428883247371240:56600819056463813477862
+85584016226756797276386:219351057312963078:85584235577814110239464
+97104664757076221726512:8500556944889315690:97113165314021111042202
+19032843758065040760628:88104798262565550076:19120948556327606310704
+82658655049299755840790:330744708650497149120:82989399757950252989910
+25937775258459376450938:9117236290339930087876:35055011548799306538814
+79630397663318903941150:91266358701181876787458:170896756364500780728608
+72363750170986252170278:352822843949235545048656:425186594120221797218934
+41633236615281651457418:3513474588574508538718292:3555107825189790190175710
+862382897072047863920942:67:862382897072047863921009
+345365086632616786979602:165:345365086632616786979767
+830917411328470856914167:1577:830917411328470856915744
+861328817548390237954458:59803:861328817548390238014261
+435702441147691312915569:852845:435702441147691313768414
+163650798094815134949666:4890705:163650798094815139840371
+829972879311295759699527:52079524:829972879311295811779051
+905398967434531022182765:809939827:905398967434531832122592
+878572102846981788905912:8671635815:878572102846990460541727
+966819332280842407656343:81404007009:966819332280923811663352
+605914324927487434954496:836963143115:605914324928324398097611
+785889551334926098144317:7355877270848:785889551342281975415165
+410214032371695638643806:68589772674009:410214032440285411317815
+462994403230711797902629:471001494226809:462994403701713292129438
+639185048152260312035675:4518316291388173:639185052670576603423848
+430192732263357843456993:91520206145619971:430192823783563989076964
+590635656249492501482997:763432491013000107:590636419681983514483104
+104601987456388095909341:2537987326381803615:104604525443714477712956
+728422130387509745109937:73834339964384107603:728495964727474129217540
+718248234259751470727877:138830030885139879705:718387064290636610607582
+893755587645623388592635:2079483375835386354861:895835071021458774947496
+609068028736876094057391:33159553495973691451265:642227582232849785508656
+850894165421275537728675:466768583304814459423637:1317662748726089997152312
+889595520322071688083671:8126860723954790789209321:9016456244276862477292992
+3451989882450493243366475:44:3451989882450493243366519
+3676153522703674807812863:228:3676153522703674807813091
+9685068642890486639735688:4341:9685068642890486639740029
+4613512245353828870809701:99024:4613512245353828870908725
+6626765697622463003196582:204900:6626765697622463003401482
+1855110671684747849405083:2861253:1855110671684747852266336
+9343797076968945720810273:79418802:9343797076968945800229075
+1251688292887159125871506:389410492:1251688292887159515281998
+9279157541589530206326647:2935764182:9279157541589533142090829
+1167245941941112391056619:37763871218:1167245941941150154927837
+4912527100967787448470943:754359292966:4912527100968541807763909
+4850890418572250491729576:1808353379161:4850890418574058845108737
+5810035777814083249544709:13975429026659:5810035777828058678571368
+3927232818092860557052400:779039725509162:3927232818871900282561562
+9087609812767633363355124:4724382733901774:9087609817492016097256898
+5234627893021110881058360:71140343296456836:5234627964161454177515196
+9697164662445358490418398:208444783124859336:9697164870890141615277734
+5407486861167440724261314:2798637010678278988:5407489659804451402540302
+4083151706985507799310608:65152127165302838858:4083216859112673102149466
+7219110157835469406203668:642658258798688213336:7219752816094268094417004
+7043625276900062501518290:3357409280053756244982:7046982686180116257763272
+2475791768058130306552480:91956007428434837342810:2567747775486565143895290
+3250420820556278555501310:303180259280279321472232:3553601079836557876973542
+2248566248782537066521058:9572688262788075807973484:11821254511570612874494542
diff --git a/t/author-lib-arithmetic-binary-_add.t b/t/author-lib-arithmetic-binary-_add.t
new file mode 100644
index 0000000..275c6b4
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_add.t
@@ -0,0 +1,202 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 7705;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+can_ok($LIB, '_add');
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+my @data;
+
+# Small numbers.
+
+for (my $x = 0; $x <= 24 ; ++ $x) {
+ for (my $y = 0; $y <= 24 ; ++ $y) {
+ push @data, [ $x, $y, $x + $y ];
+ }
+}
+
+# 9 + 11, 99 + 101, 999 + 1001, 9999 + 1001, ...
+
+for (my $p = 1; $p <= 50 ; ++ $p) {
+ my $x = "9" x $p;
+ my $y = "1" . ("0" x ($p - 1)) . "1";
+ my $z = "2" . ("0" x $p);
+ push @data, [ $x, $y, $z ];
+}
+
+# 9 + 9, 99 + 99, 999 + 999, 9999 + 9999, ...
+
+for (my $p = 1; $p <= 50 ; ++ $p) {
+ my $x = "9" x $p;
+ my $z = "1" . ("9" x ($p - 1)) . "8";
+ push @data, [ $x, $x, $z ];
+}
+
+# Powers of 10.
+
+for (my $p = 0; $p <= 24 ; ++ $p) {
+ for (my $q = 0; $q <= 24 ; ++ $q) {
+ my $x = "1" . ("0" x $p);
+ my $y = "1" . ("0" x $q);
+ my ($max, $min) = $p > $q ? ($p, $q) : ($q, $p);
+ my $z = "1" . ("0" x $max);
+ substr($z, -1 - $min, 1) = substr($z, -1 - $min, 1) + 1;
+ push @data, [ $x, $y, $z ];
+ }
+}
+
+# Add data in data file.
+
+(my $datafile = $0) =~ s/\.t/.dat/;
+open DATAFILE, $datafile or die "$datafile: can't open file for reading: $!";
+while () {
+ s/\s+\z//;
+ next if /^#/ || ! /\S/;
+ push @data, [ split /:/ ];
+}
+close DATAFILE or die "$datafile: can't close file after reading: $!";
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_add(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_add() in list context: $test", sub {
+ plan tests => $scalar_util_ok ? 9 : 8;
+
+ cmp_ok(scalar @got, '==', 1,
+ "'$test' gives one output arg");
+
+ is(ref($got[0]), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
+
+# Scalar context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, $got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\$got = $LIB->_add(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_add() in scalar context: $test", sub {
+ plan tests => $scalar_util_ok ? 8 : 7;
+
+ is(ref($got), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_div.dat b/t/author-lib-arithmetic-binary-_div.dat
new file mode 100644
index 0000000..87aacc0
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_div.dat
@@ -0,0 +1,399 @@
+9:54:0:9
+1:781:0:1
+3:4665:0:3
+3:12746:0:3
+6:401608:0:6
+5:4973563:0:5
+2:38956011:0:2
+5:158697436:0:5
+7:7124748164:0:7
+8:53946138772:0:8
+3:336282406075:0:3
+7:5075747178985:0:7
+2:12741528190606:0:2
+6:534035067908715:0:6
+3:4355706918152932:0:3
+2:10871312221127208:0:2
+8:119865422092255109:0:8
+3:7394159221356238406:0:3
+8:70181009638469054829:0:8
+76:6:12:4
+93:70:1:23
+98:500:0:98
+85:5843:0:85
+28:76287:0:28
+27:389276:0:27
+14:2106171:0:14
+43:83817435:0:43
+93:709704213:0:93
+72:7721474597:0:72
+28:21540325401:0:28
+73:804764354059:0:73
+15:4417473085200:0:15
+28:18486035530348:0:28
+48:592021382407669:0:48
+75:2526408092525483:0:75
+92:11195823033459326:0:92
+94:442333652048327763:0:94
+38:4519419506056979436:0:38
+32:54670855129208237849:0:32
+462:4:115:2
+873:91:9:54
+120:293:0:120
+466:8340:0:466
+425:89933:0:425
+493:762687:0:493
+727:4016580:0:727
+429:92218359:0:429
+153:194912651:0:153
+254:4147676135:0:254
+752:27376661295:0:752
+621:542759240192:0:621
+998:1945866604362:0:998
+221:24578881912168:0:221
+572:154357937401421:0:572
+296:9457382019920673:0:296
+154:52400786487349660:0:154
+108:190209567462298859:0:108
+440:6164636360441565028:0:440
+714:23535004752460335857:0:714
+1267:9:140:7
+3002:44:68:10
+7189:653:11:6
+9522:7247:1:2275
+6818:77522:0:6818
+6197:853484:0:6197
+6134:9018359:0:6134
+9319:54687670:0:9319
+1608:870022677:0:1608
+9681:9050448475:0:9681
+7852:11572637984:0:7852
+5888:516174684603:0:5888
+7863:4921462150542:0:7863
+5979:43852240340461:0:5979
+5499:173256160271247:0:5499
+3844:1405180378886787:0:3844
+2398:97350995707774135:0:2398
+8319:195445934782089888:0:8319
+3986:3791071368230034525:0:3986
+1447:54551629872573097192:0:1447
+36809:9:4089:8
+35455:92:385:35
+44068:678:64:676
+15586:4062:3:3400
+36181:55119:0:36181
+39335:936852:0:39335
+88611:5846538:0:88611
+80687:55734122:0:80687
+47953:451250620:0:47953
+51113:9874877859:0:51113
+69117:17237187914:0:69117
+51275:300287562141:0:51275
+49575:9647163059923:0:49575
+44529:56325613082253:0:44529
+23494:611400683835599:0:23494
+20783:6902647686603794:0:20783
+86879:12188914403900169:0:86879
+92722:601221826736435231:0:92722
+82406:9422212723735232531:0:82406
+37331:55975007755788120748:0:37331
+322789:6:53798:1
+831257:45:18472:17
+713855:369:1934:209
+223945:7920:28:2185
+522515:11940:43:9095
+836834:989153:0:836834
+537979:7226665:0:537979
+632261:95400227:0:632261
+719209:982015298:0:719209
+622413:5630235775:0:622413
+566993:20100556462:0:566993
+806924:329920616535:0:806924
+493919:8000613898695:0:493919
+151792:73173763491629:0:151792
+919978:515313872677780:0:919978
+371697:4839940299798753:0:371697
+837394:24743492517418066:0:837394
+696529:427492743841595191:0:696529
+619946:4328877720548698283:0:619946
+930154:15359013102601717284:0:930154
+4526030:4:1131507:2
+2693929:88:30612:73
+1303958:926:1408:150
+5610335:7316:766:6279
+1112571:58580:18:58131
+4009490:501198:7:501104
+4934643:6971096:0:4934643
+5613194:55587510:0:5613194
+2461401:473851479:0:2461401
+7513056:2813007185:0:7513056
+6730764:28215736440:0:6730764
+2626386:859625430383:0:2626386
+8314568:7420181740840:0:8314568
+8580608:81004176270812:0:8580608
+4577500:321499930821778:0:4577500
+4867244:6866791044783223:0:4867244
+4994809:94422246381803620:0:4994809
+6799865:449826531660591763:0:6799865
+4621297:8243216569435287494:0:4621297
+9651873:55881476630960943914:0:9651873
+17084510:5:3416902:0
+98683010:63:1566396:62
+46862987:162:289277:113
+33108190:4202:7879:632
+95668269:41838:2286:26601
+64405858:250755:256:212578
+14061020:5381002:2:3299016
+47751487:41381502:1:6369985
+66923018:812094384:0:66923018
+38608057:3888278753:0:38608057
+38154295:37984413331:0:38154295
+92030342:696128642471:0:92030342
+19558161:5003401424535:0:19558161
+18687555:87166408760955:0:18687555
+32409659:804112444869419:0:32409659
+80985663:4458420111026852:0:80985663
+61657971:15720184746905393:0:61657971
+21620877:976106176482122466:0:21620877
+92149039:1815947180936688646:0:92149039
+16413343:93148843025990351227:0:16413343
+241539998:7:34505714:0
+553724115:65:8518832:35
+148654342:330:450467:232
+576600760:6601:87350:3410
+234884438:84324:2785:42098
+816647581:845079:966:301267
+317436435:2424383:130:2266645
+342031261:97245915:3:50293516
+678697197:940150484:0:678697197
+398983015:5995268728:0:398983015
+461843182:27019709441:0:461843182
+487632385:159898741040:0:487632385
+576593978:9226752173660:0:576593978
+719781897:12040248754000:0:719781897
+504954340:231360953230610:0:504954340
+324290141:5206286911543031:0:324290141
+628522022:48573569746934682:0:628522022
+100796922:488322639350384702:0:100796922
+376682178:9130249333439273762:0:376682178
+381394252:99037776588064723015:0:381394252
+1085102340:1:1085102340:0
+8512483854:55:154772433:39
+3556988100:932:3816510:780
+2022229405:2283:885777:514
+4297445513:12264:350411:5009
+7454932845:662000:11261:150845
+6403673044:7947090:805:6265594
+7386153529:23523213:313:23387860
+2147729671:866090584:2:415548503
+7465546697:4730638851:1:2734907846
+5397361286:36434742382:0:5397361286
+9904184726:283560758911:0:9904184726
+7061677513:1592243347797:0:7061677513
+8464970610:77360078485205:0:8464970610
+7277282427:752538647923295:0:7277282427
+7625083838:5321909164375635:0:7625083838
+1501707071:22664145124272409:0:1501707071
+1710959478:766301062337515181:0:1710959478
+4900917534:5141803525329389219:0:4900917534
+6724278238:28153126766136651497:0:6724278238
+23472845057:8:2934105632:1
+49788096210:71:701240791:49
+89856106039:635:141505678:509
+21558467507:1404:15355033:1175
+28666537818:39827:719776:19066
+79270455863:527756:150202:449151
+26616721474:7758711:3430:4342744
+65981371765:59326043:1112:10811949
+21183908605:441168287:48:7830829
+35756474766:3324970372:10:2506771046
+44796120541:41822469141:1:2973651400
+52136996614:515714992133:0:52136996614
+16797619057:2726414496023:0:16797619057
+31480994742:99390790697358:0:31480994742
+47582791265:353250485585137:0:47582791265
+69096624962:6965472809790151:0:69096624962
+38700729904:95917404906224078:0:38700729904
+84158762973:310092991299016114:0:84158762973
+55631392877:8646492908705298455:0:55631392877
+97661790609:27946911272321260928:0:97661790609
+147733356815:6:24622226135:5
+929784281268:58:16030763470:8
+177296509142:258:687195771:224
+801753739955:3503:228876317:1504
+226377580403:49911:4535625:1028
+431473211893:542225:795745:379268
+280342055034:6791964:41275:3740934
+665599705429:61470546:10827:58103887
+560377686457:629894492:889:401483069
+181473543575:5881125382:30:5039782115
+631472384131:30560743199:20:20257520151
+783086153013:800215962262:0:783086153013
+954394972973:5893287801579:0:954394972973
+895308919349:52360347803216:0:895308919349
+693436399568:906439013840477:0:693436399568
+413546830707:3184926099979518:0:413546830707
+683608430192:30734267055303493:0:683608430192
+609893378986:815219742538269958:0:609893378986
+859069036850:1887808929737825386:0:859069036850
+821054664946:23985684834984347150:0:821054664946
+9400023950976:1:9400023950976:0
+8439447423583:68:124109520935:3
+2224144584533:458:4856210883:119
+7399432632711:9457:782429167:392
+2974196527921:81530:36479780:64521
+8510790996128:592379:14367138:154826
+7735109732622:5155064:1500487:3216454
+5859664257522:12162758:481771:173104
+4144232170133:202086694:20507:40336275
+1827240340396:8514716234:214:5091066320
+3284868271769:95152071316:34:49697847025
+6543922986523:699493493432:9:248481545635
+4795138517183:7387059276822:0:4795138517183
+7264630163401:71378276832462:0:7264630163401
+7468462026846:596027896723774:0:7468462026846
+6142283940151:3213166952958483:0:6142283940151
+7802251415656:57989933709313351:0:7802251415656
+9407948307604:154172920242974832:0:9407948307604
+9348641870843:5402977263622641773:0:9348641870843
+5671120081396:78385087137566687061:0:5671120081396
+33113571679488:7:4730510239926:6
+29067877816927:88:330316793374:15
+12598834992985:431:29231635714:251
+50238168642790:7592:6617250874:7382
+19003551955206:28852:658656313:12530
+34545242568759:156422:220846444:105391
+33568933439468:8284272:4052128:2908652
+26161212216954:34787149:752036:23831590
+83044235221333:520118706:159664:2146549
+55691478895634:8690641767:6408:1846452698
+73114547728246:95207665862:767:90268012092
+66357425836812:978069515630:67:826768289602
+87798815375485:6581753828794:13:2236015601163
+36471759749463:53736151805767:0:36471759749463
+71184175246144:581646390815651:0:71184175246144
+54281523438393:3202960547020668:0:54281523438393
+26003022079051:85491475881707584:0:26003022079051
+12234838969506:763178636153826206:0:12234838969506
+83694514363204:5296247038706373762:0:83694514363204
+95036577985030:89303562224828917200:0:95036577985030
+386554080086282:4:96638520021570:2
+555442654222403:16:34715165888900:3
+601214107045020:675:890687565992:420
+789298027787145:1707:462389002804:717
+785075545238810:54173:14492007923:26131
+943984400785905:612806:1540429435:441295
+601780961713314:5974938:100717524:299802
+866107570737606:62701332:13813224:26723238
+577876328822058:590045697:979375:324322683
+951342598363119:7385543973:128811:3293657016
+334933002458339:85480202965:3918:21567241469
+370740439812905:353729972822:1048:31428295449
+944194170298682:6063032240155:155:4424173074657
+267817428827967:35941063361519:7:16229985297334
+466165713063112:692101684311234:0:466165713063112
+338409855360588:2756669038595046:0:338409855360588
+488047298774032:73646994422383124:0:488047298774032
+574887166019822:179755791036348114:0:574887166019822
+249674598258396:3011039408609599222:0:249674598258396
+334659872023898:40876605815916543140:0:334659872023898
+9917691229548030:9:1101965692172003:3
+3395730125084115:28:121276075895861:7
+7492168836846444:794:9435980902829:218
+2167468920849561:2899:747660890255:316
+2689078408805738:45530:59061682600:27738
+6104619178667311:777913:7847431754:617909
+7324043712939896:6976819:1049768341:5852617
+5074873799611388:45191410:112297310:21504288
+8928112448793193:568414247:15707052:313623349
+5689029942573434:4836787761:1176200:178085234
+8015125213947007:39186359108:204538:25694714903
+6555620701790984:273104626906:24004:17237539360
+8400118752640485:3592645918088:2338:512596150741
+2906665345396774:32515289313820:89:12804596466794
+7795922566511643:658314600586189:11:554461960063564
+2823609071734735:8478161336989857:0:2823609071734735
+3712602526722755:56697350328782517:0:3712602526722755
+5339224434671863:579255647165837833:0:5339224434671863
+5620634593429099:7249439809329477277:0:5620634593429099
+1355592260480799:70105974904095190803:0:1355592260480799
+49211220109556295:8:6151402513694536:7
+99382245339605360:30:3312741511320178:20
+65135390277190255:794:82034496570768:463
+25312398930569059:7585:3337165317148:1479
+44624347560792506:60236:740825213506:45090
+76159966178314687:699240:108918205735:173287
+79350160799142604:4817818:16470144949:1241322
+97550711974220665:53465677:1824548335:24222870
+24752075989778890:616029215:40180035:570056365
+43383416255497487:1634096419:26548871:1225904538
+83449385052730371:85928758130:971146:15309813391
+87044707767102300:396162197278:219719:345943377418
+15677409029417437:6831272835602:2294:6469144546449
+64191683561676130:16557609060194:3876:14390844364186
+11900449842391213:239715150354351:49:154407475028014
+84525852702634881:7107737533206691:11:6340739837361280
+53248729343829207:58016657665747177:0:53248729343829207
+19084457241118795:296188830002690941:0:19084457241118795
+38518215045194577:1463031117216156915:0:38518215045194577
+95941604506645605:36000726079517939239:0:95941604506645605
+582966093218529977:3:194322031072843325:2
+575953889379831214:96:5999519681039908:46
+621557523994082627:199:3123404643186344:171
+160157963334450039:3895:41118860933106:2169
+461832382692724250:64011:7214890920196:58094
+858501364869511583:776745:1105255089983:666248
+570823650092962472:9287239:61463223902:4575894
+440268371177706695:83501248:5272596299:11025543
+705258301360858608:799997926:881575162:147744596
+243362724609010669:2676153812:90937495:711029729
+185087644961065001:89792075745:2061291:47356578206
+333297256538063418:530953636430:627733:137480950228
+272960644332062259:8867314657116:30782:6964556717547
+918295619002877772:30243396661683:30363:15366164196843
+721633882860909049:794932746061197:907:629882183403370
+169389528431751055:9119393533116001:18:5240444835663037
+870850773930362499:91793011343683701:9:44713671837209190
+385437945847748791:899349609491523121:0:385437945847748791
+731420154113178323:7817111681620133189:0:731420154113178323
+115189439870468615:66913001836699189657:0:115189439870468615
+6152567165728753787:8:769070895716094223:3
+9662915319512269359:68:142101695875180431:51
+9219331076799277042:639:14427748164005128:250
+2707411073848918550:1587:1705993115216709:1367
+9202718168197294795:32727:281196509554719:6082
+9463740888646403780:607616:15575200272287:465988
+3330126773566829009:9722185:342528636676:4971949
+7531595898225639718:37347780:201661140186:9752638
+6419038589354279195:183289716:35021269765:168042455
+2262595813038116180:7424761451:304736499:2550216131
+7130759690750270360:31464808485:226626508:18905949980
+3552031724223072796:933761829237:3804001:792043695559
+6746038478670589705:2533111559145:2663143:161714496970
+6426908179601004516:66917599797775:96042:8059823097966
+3316034503448939889:439873438503129:7538:268524012353487
+2500986629586635195:8334475268911725:300:644048913117695
+7181503793819621231:80693480636275009:88:80477497827420439
+8880092664915659875:577963439727003305:15:210641069010610300
+2647767568053861387:9483440349319738685:0:2647767568053861387
+1141049451439372467:32067592292137537657:0:1141049451439372467
+48381650365935706715:7:6911664337990815245:0
+11443951369677816280:47:243488327014421622:46
+71575729850152768604:436:164164518004937542:292
+64962897906082089311:6594:9851819518665770:1931
+84656283928071714152:75631:1119333129643555:5947
+72160800405357420569:712145:101328802990061:429724
+35293423780155717037:2375807:14855341271473:1263326
+82038385938984403086:11239218:7299296618233:941292
+11007810151186072725:409596969:26874735372:137785257
+56182008551081388694:2463826139:22802748806:1807548660
+24649963214397883391:97592831089:252579650:95429144541
+46793473583322704008:782325092977:59813335:718183255713
+56394698010479266599:4101201380506:13750775:597451874449
+76643840958357018576:40503079789005:1892296:25085942013096
+99280187265137504077:877546428662817:113133:727151227028416
+48868369685289275957:4032097523101815:12119:3379802818379972
+15701765108586655113:11977088300936683:1310:11779434359600383
+92767908704599648797:317314859219406495:292:111969812532952257
+10018105311046654961:4057927198723966611:2:1902250913598721739
+86016853985828329221:84443436749010104153:1:1573417236818225068
diff --git a/t/author-lib-arithmetic-binary-_div.t b/t/author-lib-arithmetic-binary-_div.t
new file mode 100644
index 0000000..2a47c51
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_div.t
@@ -0,0 +1,189 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 3997;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type(s) the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+can_ok($LIB, '_div');
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+my @data;
+
+# Small numbers.
+
+for (my $x = 0; $x <= 24 ; ++ $x) {
+ for (my $y = 1; $y <= 24 ; ++ $y) {
+ push @data, [ $x, $y, int($x / $y), $x % $y ];
+ }
+}
+
+# Add data in data file.
+
+(my $datafile = $0) =~ s/\.t/.dat/;
+open DATAFILE, $datafile or die "$datafile: can't open file for reading: $!";
+while () {
+ s/\s+\z//;
+ next if /^#/ || ! /\S/;
+ push @data, [ split /:/ ];
+}
+close DATAFILE or die "$datafile: can't close file after reading: $!";
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0, $out1) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_div(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_div() in list context: $test", sub {
+ plan tests => $scalar_util_ok ? 13 : 11;
+
+ cmp_ok(scalar @got, '==', 2,
+ "'$test' gives two output args");
+
+ is(ref($got[0]), $REF,
+ "'$test' first output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' first output arg is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' first output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' first output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ SKIP: {
+ skip "$LIB doesn't use real objects", 1
+ if $LIB eq 'Math::BigInt::FastCalc';
+
+ is(ref($got[1]), $REF,
+ "'$test' second output arg is a $REF");
+ }
+
+ is($LIB->_check($got[1]), 0,
+ "'$test' second output arg is valid");
+
+ is($LIB->_str($got[1]), $out1,
+ "'$test' second output arg has the right value");
+
+ isnt(refaddr($got[1]), refaddr($y),
+ "'$test' second output arg is not the second input arg");
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
+
+# Scalar context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0, $out1) = @{ $data[$i] };
+
+ my ($x, $y, $got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\$got = $LIB->_div(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_div() in scalar context: $test", sub {
+ plan tests => $scalar_util_ok ? 8 : 7;
+
+ is(ref($got), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_gcd.dat b/t/author-lib-arithmetic-binary-_gcd.dat
new file mode 100644
index 0000000..d9964e2
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_gcd.dat
@@ -0,0 +1,2607 @@
+0:0:0
+0:1:1
+0:2:2
+0:3:3
+0:4:4
+0:5:5
+0:6:6
+0:7:7
+0:8:8
+0:9:9
+0:10:10
+0:11:11
+0:12:12
+0:13:13
+0:14:14
+0:15:15
+0:16:16
+0:17:17
+0:18:18
+0:19:19
+0:20:20
+0:21:21
+0:22:22
+0:23:23
+0:24:24
+0:25:25
+0:26:26
+0:27:27
+0:28:28
+0:29:29
+0:30:30
+0:31:31
+0:32:32
+0:33:33
+0:34:34
+0:35:35
+0:36:36
+0:37:37
+0:38:38
+0:39:39
+0:40:40
+0:41:41
+0:42:42
+0:43:43
+0:44:44
+0:45:45
+0:46:46
+0:47:47
+0:48:48
+0:49:49
+0:50:50
+1:0:1
+1:1:1
+1:2:1
+1:3:1
+1:4:1
+1:5:1
+1:6:1
+1:7:1
+1:8:1
+1:9:1
+1:10:1
+1:11:1
+1:12:1
+1:13:1
+1:14:1
+1:15:1
+1:16:1
+1:17:1
+1:18:1
+1:19:1
+1:20:1
+1:21:1
+1:22:1
+1:23:1
+1:24:1
+1:25:1
+1:26:1
+1:27:1
+1:28:1
+1:29:1
+1:30:1
+1:31:1
+1:32:1
+1:33:1
+1:34:1
+1:35:1
+1:36:1
+1:37:1
+1:38:1
+1:39:1
+1:40:1
+1:41:1
+1:42:1
+1:43:1
+1:44:1
+1:45:1
+1:46:1
+1:47:1
+1:48:1
+1:49:1
+1:50:1
+2:0:2
+2:1:1
+2:2:2
+2:3:1
+2:4:2
+2:5:1
+2:6:2
+2:7:1
+2:8:2
+2:9:1
+2:10:2
+2:11:1
+2:12:2
+2:13:1
+2:14:2
+2:15:1
+2:16:2
+2:17:1
+2:18:2
+2:19:1
+2:20:2
+2:21:1
+2:22:2
+2:23:1
+2:24:2
+2:25:1
+2:26:2
+2:27:1
+2:28:2
+2:29:1
+2:30:2
+2:31:1
+2:32:2
+2:33:1
+2:34:2
+2:35:1
+2:36:2
+2:37:1
+2:38:2
+2:39:1
+2:40:2
+2:41:1
+2:42:2
+2:43:1
+2:44:2
+2:45:1
+2:46:2
+2:47:1
+2:48:2
+2:49:1
+2:50:2
+3:0:3
+3:1:1
+3:2:1
+3:3:3
+3:4:1
+3:5:1
+3:6:3
+3:7:1
+3:8:1
+3:9:3
+3:10:1
+3:11:1
+3:12:3
+3:13:1
+3:14:1
+3:15:3
+3:16:1
+3:17:1
+3:18:3
+3:19:1
+3:20:1
+3:21:3
+3:22:1
+3:23:1
+3:24:3
+3:25:1
+3:26:1
+3:27:3
+3:28:1
+3:29:1
+3:30:3
+3:31:1
+3:32:1
+3:33:3
+3:34:1
+3:35:1
+3:36:3
+3:37:1
+3:38:1
+3:39:3
+3:40:1
+3:41:1
+3:42:3
+3:43:1
+3:44:1
+3:45:3
+3:46:1
+3:47:1
+3:48:3
+3:49:1
+3:50:1
+4:0:4
+4:1:1
+4:2:2
+4:3:1
+4:4:4
+4:5:1
+4:6:2
+4:7:1
+4:8:4
+4:9:1
+4:10:2
+4:11:1
+4:12:4
+4:13:1
+4:14:2
+4:15:1
+4:16:4
+4:17:1
+4:18:2
+4:19:1
+4:20:4
+4:21:1
+4:22:2
+4:23:1
+4:24:4
+4:25:1
+4:26:2
+4:27:1
+4:28:4
+4:29:1
+4:30:2
+4:31:1
+4:32:4
+4:33:1
+4:34:2
+4:35:1
+4:36:4
+4:37:1
+4:38:2
+4:39:1
+4:40:4
+4:41:1
+4:42:2
+4:43:1
+4:44:4
+4:45:1
+4:46:2
+4:47:1
+4:48:4
+4:49:1
+4:50:2
+5:0:5
+5:1:1
+5:2:1
+5:3:1
+5:4:1
+5:5:5
+5:6:1
+5:7:1
+5:8:1
+5:9:1
+5:10:5
+5:11:1
+5:12:1
+5:13:1
+5:14:1
+5:15:5
+5:16:1
+5:17:1
+5:18:1
+5:19:1
+5:20:5
+5:21:1
+5:22:1
+5:23:1
+5:24:1
+5:25:5
+5:26:1
+5:27:1
+5:28:1
+5:29:1
+5:30:5
+5:31:1
+5:32:1
+5:33:1
+5:34:1
+5:35:5
+5:36:1
+5:37:1
+5:38:1
+5:39:1
+5:40:5
+5:41:1
+5:42:1
+5:43:1
+5:44:1
+5:45:5
+5:46:1
+5:47:1
+5:48:1
+5:49:1
+5:50:5
+6:0:6
+6:1:1
+6:2:2
+6:3:3
+6:4:2
+6:5:1
+6:6:6
+6:7:1
+6:8:2
+6:9:3
+6:10:2
+6:11:1
+6:12:6
+6:13:1
+6:14:2
+6:15:3
+6:16:2
+6:17:1
+6:18:6
+6:19:1
+6:20:2
+6:21:3
+6:22:2
+6:23:1
+6:24:6
+6:25:1
+6:26:2
+6:27:3
+6:28:2
+6:29:1
+6:30:6
+6:31:1
+6:32:2
+6:33:3
+6:34:2
+6:35:1
+6:36:6
+6:37:1
+6:38:2
+6:39:3
+6:40:2
+6:41:1
+6:42:6
+6:43:1
+6:44:2
+6:45:3
+6:46:2
+6:47:1
+6:48:6
+6:49:1
+6:50:2
+7:0:7
+7:1:1
+7:2:1
+7:3:1
+7:4:1
+7:5:1
+7:6:1
+7:7:7
+7:8:1
+7:9:1
+7:10:1
+7:11:1
+7:12:1
+7:13:1
+7:14:7
+7:15:1
+7:16:1
+7:17:1
+7:18:1
+7:19:1
+7:20:1
+7:21:7
+7:22:1
+7:23:1
+7:24:1
+7:25:1
+7:26:1
+7:27:1
+7:28:7
+7:29:1
+7:30:1
+7:31:1
+7:32:1
+7:33:1
+7:34:1
+7:35:7
+7:36:1
+7:37:1
+7:38:1
+7:39:1
+7:40:1
+7:41:1
+7:42:7
+7:43:1
+7:44:1
+7:45:1
+7:46:1
+7:47:1
+7:48:1
+7:49:7
+7:50:1
+8:0:8
+8:1:1
+8:2:2
+8:3:1
+8:4:4
+8:5:1
+8:6:2
+8:7:1
+8:8:8
+8:9:1
+8:10:2
+8:11:1
+8:12:4
+8:13:1
+8:14:2
+8:15:1
+8:16:8
+8:17:1
+8:18:2
+8:19:1
+8:20:4
+8:21:1
+8:22:2
+8:23:1
+8:24:8
+8:25:1
+8:26:2
+8:27:1
+8:28:4
+8:29:1
+8:30:2
+8:31:1
+8:32:8
+8:33:1
+8:34:2
+8:35:1
+8:36:4
+8:37:1
+8:38:2
+8:39:1
+8:40:8
+8:41:1
+8:42:2
+8:43:1
+8:44:4
+8:45:1
+8:46:2
+8:47:1
+8:48:8
+8:49:1
+8:50:2
+9:0:9
+9:1:1
+9:2:1
+9:3:3
+9:4:1
+9:5:1
+9:6:3
+9:7:1
+9:8:1
+9:9:9
+9:10:1
+9:11:1
+9:12:3
+9:13:1
+9:14:1
+9:15:3
+9:16:1
+9:17:1
+9:18:9
+9:19:1
+9:20:1
+9:21:3
+9:22:1
+9:23:1
+9:24:3
+9:25:1
+9:26:1
+9:27:9
+9:28:1
+9:29:1
+9:30:3
+9:31:1
+9:32:1
+9:33:3
+9:34:1
+9:35:1
+9:36:9
+9:37:1
+9:38:1
+9:39:3
+9:40:1
+9:41:1
+9:42:3
+9:43:1
+9:44:1
+9:45:9
+9:46:1
+9:47:1
+9:48:3
+9:49:1
+9:50:1
+10:0:10
+10:1:1
+10:2:2
+10:3:1
+10:4:2
+10:5:5
+10:6:2
+10:7:1
+10:8:2
+10:9:1
+10:10:10
+10:11:1
+10:12:2
+10:13:1
+10:14:2
+10:15:5
+10:16:2
+10:17:1
+10:18:2
+10:19:1
+10:20:10
+10:21:1
+10:22:2
+10:23:1
+10:24:2
+10:25:5
+10:26:2
+10:27:1
+10:28:2
+10:29:1
+10:30:10
+10:31:1
+10:32:2
+10:33:1
+10:34:2
+10:35:5
+10:36:2
+10:37:1
+10:38:2
+10:39:1
+10:40:10
+10:41:1
+10:42:2
+10:43:1
+10:44:2
+10:45:5
+10:46:2
+10:47:1
+10:48:2
+10:49:1
+10:50:10
+11:0:11
+11:1:1
+11:2:1
+11:3:1
+11:4:1
+11:5:1
+11:6:1
+11:7:1
+11:8:1
+11:9:1
+11:10:1
+11:11:11
+11:12:1
+11:13:1
+11:14:1
+11:15:1
+11:16:1
+11:17:1
+11:18:1
+11:19:1
+11:20:1
+11:21:1
+11:22:11
+11:23:1
+11:24:1
+11:25:1
+11:26:1
+11:27:1
+11:28:1
+11:29:1
+11:30:1
+11:31:1
+11:32:1
+11:33:11
+11:34:1
+11:35:1
+11:36:1
+11:37:1
+11:38:1
+11:39:1
+11:40:1
+11:41:1
+11:42:1
+11:43:1
+11:44:11
+11:45:1
+11:46:1
+11:47:1
+11:48:1
+11:49:1
+11:50:1
+12:0:12
+12:1:1
+12:2:2
+12:3:3
+12:4:4
+12:5:1
+12:6:6
+12:7:1
+12:8:4
+12:9:3
+12:10:2
+12:11:1
+12:12:12
+12:13:1
+12:14:2
+12:15:3
+12:16:4
+12:17:1
+12:18:6
+12:19:1
+12:20:4
+12:21:3
+12:22:2
+12:23:1
+12:24:12
+12:25:1
+12:26:2
+12:27:3
+12:28:4
+12:29:1
+12:30:6
+12:31:1
+12:32:4
+12:33:3
+12:34:2
+12:35:1
+12:36:12
+12:37:1
+12:38:2
+12:39:3
+12:40:4
+12:41:1
+12:42:6
+12:43:1
+12:44:4
+12:45:3
+12:46:2
+12:47:1
+12:48:12
+12:49:1
+12:50:2
+13:0:13
+13:1:1
+13:2:1
+13:3:1
+13:4:1
+13:5:1
+13:6:1
+13:7:1
+13:8:1
+13:9:1
+13:10:1
+13:11:1
+13:12:1
+13:13:13
+13:14:1
+13:15:1
+13:16:1
+13:17:1
+13:18:1
+13:19:1
+13:20:1
+13:21:1
+13:22:1
+13:23:1
+13:24:1
+13:25:1
+13:26:13
+13:27:1
+13:28:1
+13:29:1
+13:30:1
+13:31:1
+13:32:1
+13:33:1
+13:34:1
+13:35:1
+13:36:1
+13:37:1
+13:38:1
+13:39:13
+13:40:1
+13:41:1
+13:42:1
+13:43:1
+13:44:1
+13:45:1
+13:46:1
+13:47:1
+13:48:1
+13:49:1
+13:50:1
+14:0:14
+14:1:1
+14:2:2
+14:3:1
+14:4:2
+14:5:1
+14:6:2
+14:7:7
+14:8:2
+14:9:1
+14:10:2
+14:11:1
+14:12:2
+14:13:1
+14:14:14
+14:15:1
+14:16:2
+14:17:1
+14:18:2
+14:19:1
+14:20:2
+14:21:7
+14:22:2
+14:23:1
+14:24:2
+14:25:1
+14:26:2
+14:27:1
+14:28:14
+14:29:1
+14:30:2
+14:31:1
+14:32:2
+14:33:1
+14:34:2
+14:35:7
+14:36:2
+14:37:1
+14:38:2
+14:39:1
+14:40:2
+14:41:1
+14:42:14
+14:43:1
+14:44:2
+14:45:1
+14:46:2
+14:47:1
+14:48:2
+14:49:7
+14:50:2
+15:0:15
+15:1:1
+15:2:1
+15:3:3
+15:4:1
+15:5:5
+15:6:3
+15:7:1
+15:8:1
+15:9:3
+15:10:5
+15:11:1
+15:12:3
+15:13:1
+15:14:1
+15:15:15
+15:16:1
+15:17:1
+15:18:3
+15:19:1
+15:20:5
+15:21:3
+15:22:1
+15:23:1
+15:24:3
+15:25:5
+15:26:1
+15:27:3
+15:28:1
+15:29:1
+15:30:15
+15:31:1
+15:32:1
+15:33:3
+15:34:1
+15:35:5
+15:36:3
+15:37:1
+15:38:1
+15:39:3
+15:40:5
+15:41:1
+15:42:3
+15:43:1
+15:44:1
+15:45:15
+15:46:1
+15:47:1
+15:48:3
+15:49:1
+15:50:5
+16:0:16
+16:1:1
+16:2:2
+16:3:1
+16:4:4
+16:5:1
+16:6:2
+16:7:1
+16:8:8
+16:9:1
+16:10:2
+16:11:1
+16:12:4
+16:13:1
+16:14:2
+16:15:1
+16:16:16
+16:17:1
+16:18:2
+16:19:1
+16:20:4
+16:21:1
+16:22:2
+16:23:1
+16:24:8
+16:25:1
+16:26:2
+16:27:1
+16:28:4
+16:29:1
+16:30:2
+16:31:1
+16:32:16
+16:33:1
+16:34:2
+16:35:1
+16:36:4
+16:37:1
+16:38:2
+16:39:1
+16:40:8
+16:41:1
+16:42:2
+16:43:1
+16:44:4
+16:45:1
+16:46:2
+16:47:1
+16:48:16
+16:49:1
+16:50:2
+17:0:17
+17:1:1
+17:2:1
+17:3:1
+17:4:1
+17:5:1
+17:6:1
+17:7:1
+17:8:1
+17:9:1
+17:10:1
+17:11:1
+17:12:1
+17:13:1
+17:14:1
+17:15:1
+17:16:1
+17:17:17
+17:18:1
+17:19:1
+17:20:1
+17:21:1
+17:22:1
+17:23:1
+17:24:1
+17:25:1
+17:26:1
+17:27:1
+17:28:1
+17:29:1
+17:30:1
+17:31:1
+17:32:1
+17:33:1
+17:34:17
+17:35:1
+17:36:1
+17:37:1
+17:38:1
+17:39:1
+17:40:1
+17:41:1
+17:42:1
+17:43:1
+17:44:1
+17:45:1
+17:46:1
+17:47:1
+17:48:1
+17:49:1
+17:50:1
+18:0:18
+18:1:1
+18:2:2
+18:3:3
+18:4:2
+18:5:1
+18:6:6
+18:7:1
+18:8:2
+18:9:9
+18:10:2
+18:11:1
+18:12:6
+18:13:1
+18:14:2
+18:15:3
+18:16:2
+18:17:1
+18:18:18
+18:19:1
+18:20:2
+18:21:3
+18:22:2
+18:23:1
+18:24:6
+18:25:1
+18:26:2
+18:27:9
+18:28:2
+18:29:1
+18:30:6
+18:31:1
+18:32:2
+18:33:3
+18:34:2
+18:35:1
+18:36:18
+18:37:1
+18:38:2
+18:39:3
+18:40:2
+18:41:1
+18:42:6
+18:43:1
+18:44:2
+18:45:9
+18:46:2
+18:47:1
+18:48:6
+18:49:1
+18:50:2
+19:0:19
+19:1:1
+19:2:1
+19:3:1
+19:4:1
+19:5:1
+19:6:1
+19:7:1
+19:8:1
+19:9:1
+19:10:1
+19:11:1
+19:12:1
+19:13:1
+19:14:1
+19:15:1
+19:16:1
+19:17:1
+19:18:1
+19:19:19
+19:20:1
+19:21:1
+19:22:1
+19:23:1
+19:24:1
+19:25:1
+19:26:1
+19:27:1
+19:28:1
+19:29:1
+19:30:1
+19:31:1
+19:32:1
+19:33:1
+19:34:1
+19:35:1
+19:36:1
+19:37:1
+19:38:19
+19:39:1
+19:40:1
+19:41:1
+19:42:1
+19:43:1
+19:44:1
+19:45:1
+19:46:1
+19:47:1
+19:48:1
+19:49:1
+19:50:1
+20:0:20
+20:1:1
+20:2:2
+20:3:1
+20:4:4
+20:5:5
+20:6:2
+20:7:1
+20:8:4
+20:9:1
+20:10:10
+20:11:1
+20:12:4
+20:13:1
+20:14:2
+20:15:5
+20:16:4
+20:17:1
+20:18:2
+20:19:1
+20:20:20
+20:21:1
+20:22:2
+20:23:1
+20:24:4
+20:25:5
+20:26:2
+20:27:1
+20:28:4
+20:29:1
+20:30:10
+20:31:1
+20:32:4
+20:33:1
+20:34:2
+20:35:5
+20:36:4
+20:37:1
+20:38:2
+20:39:1
+20:40:20
+20:41:1
+20:42:2
+20:43:1
+20:44:4
+20:45:5
+20:46:2
+20:47:1
+20:48:4
+20:49:1
+20:50:10
+21:0:21
+21:1:1
+21:2:1
+21:3:3
+21:4:1
+21:5:1
+21:6:3
+21:7:7
+21:8:1
+21:9:3
+21:10:1
+21:11:1
+21:12:3
+21:13:1
+21:14:7
+21:15:3
+21:16:1
+21:17:1
+21:18:3
+21:19:1
+21:20:1
+21:21:21
+21:22:1
+21:23:1
+21:24:3
+21:25:1
+21:26:1
+21:27:3
+21:28:7
+21:29:1
+21:30:3
+21:31:1
+21:32:1
+21:33:3
+21:34:1
+21:35:7
+21:36:3
+21:37:1
+21:38:1
+21:39:3
+21:40:1
+21:41:1
+21:42:21
+21:43:1
+21:44:1
+21:45:3
+21:46:1
+21:47:1
+21:48:3
+21:49:7
+21:50:1
+22:0:22
+22:1:1
+22:2:2
+22:3:1
+22:4:2
+22:5:1
+22:6:2
+22:7:1
+22:8:2
+22:9:1
+22:10:2
+22:11:11
+22:12:2
+22:13:1
+22:14:2
+22:15:1
+22:16:2
+22:17:1
+22:18:2
+22:19:1
+22:20:2
+22:21:1
+22:22:22
+22:23:1
+22:24:2
+22:25:1
+22:26:2
+22:27:1
+22:28:2
+22:29:1
+22:30:2
+22:31:1
+22:32:2
+22:33:11
+22:34:2
+22:35:1
+22:36:2
+22:37:1
+22:38:2
+22:39:1
+22:40:2
+22:41:1
+22:42:2
+22:43:1
+22:44:22
+22:45:1
+22:46:2
+22:47:1
+22:48:2
+22:49:1
+22:50:2
+23:0:23
+23:1:1
+23:2:1
+23:3:1
+23:4:1
+23:5:1
+23:6:1
+23:7:1
+23:8:1
+23:9:1
+23:10:1
+23:11:1
+23:12:1
+23:13:1
+23:14:1
+23:15:1
+23:16:1
+23:17:1
+23:18:1
+23:19:1
+23:20:1
+23:21:1
+23:22:1
+23:23:23
+23:24:1
+23:25:1
+23:26:1
+23:27:1
+23:28:1
+23:29:1
+23:30:1
+23:31:1
+23:32:1
+23:33:1
+23:34:1
+23:35:1
+23:36:1
+23:37:1
+23:38:1
+23:39:1
+23:40:1
+23:41:1
+23:42:1
+23:43:1
+23:44:1
+23:45:1
+23:46:23
+23:47:1
+23:48:1
+23:49:1
+23:50:1
+24:0:24
+24:1:1
+24:2:2
+24:3:3
+24:4:4
+24:5:1
+24:6:6
+24:7:1
+24:8:8
+24:9:3
+24:10:2
+24:11:1
+24:12:12
+24:13:1
+24:14:2
+24:15:3
+24:16:8
+24:17:1
+24:18:6
+24:19:1
+24:20:4
+24:21:3
+24:22:2
+24:23:1
+24:24:24
+24:25:1
+24:26:2
+24:27:3
+24:28:4
+24:29:1
+24:30:6
+24:31:1
+24:32:8
+24:33:3
+24:34:2
+24:35:1
+24:36:12
+24:37:1
+24:38:2
+24:39:3
+24:40:8
+24:41:1
+24:42:6
+24:43:1
+24:44:4
+24:45:3
+24:46:2
+24:47:1
+24:48:24
+24:49:1
+24:50:2
+25:0:25
+25:1:1
+25:2:1
+25:3:1
+25:4:1
+25:5:5
+25:6:1
+25:7:1
+25:8:1
+25:9:1
+25:10:5
+25:11:1
+25:12:1
+25:13:1
+25:14:1
+25:15:5
+25:16:1
+25:17:1
+25:18:1
+25:19:1
+25:20:5
+25:21:1
+25:22:1
+25:23:1
+25:24:1
+25:25:25
+25:26:1
+25:27:1
+25:28:1
+25:29:1
+25:30:5
+25:31:1
+25:32:1
+25:33:1
+25:34:1
+25:35:5
+25:36:1
+25:37:1
+25:38:1
+25:39:1
+25:40:5
+25:41:1
+25:42:1
+25:43:1
+25:44:1
+25:45:5
+25:46:1
+25:47:1
+25:48:1
+25:49:1
+25:50:25
+26:0:26
+26:1:1
+26:2:2
+26:3:1
+26:4:2
+26:5:1
+26:6:2
+26:7:1
+26:8:2
+26:9:1
+26:10:2
+26:11:1
+26:12:2
+26:13:13
+26:14:2
+26:15:1
+26:16:2
+26:17:1
+26:18:2
+26:19:1
+26:20:2
+26:21:1
+26:22:2
+26:23:1
+26:24:2
+26:25:1
+26:26:26
+26:27:1
+26:28:2
+26:29:1
+26:30:2
+26:31:1
+26:32:2
+26:33:1
+26:34:2
+26:35:1
+26:36:2
+26:37:1
+26:38:2
+26:39:13
+26:40:2
+26:41:1
+26:42:2
+26:43:1
+26:44:2
+26:45:1
+26:46:2
+26:47:1
+26:48:2
+26:49:1
+26:50:2
+27:0:27
+27:1:1
+27:2:1
+27:3:3
+27:4:1
+27:5:1
+27:6:3
+27:7:1
+27:8:1
+27:9:9
+27:10:1
+27:11:1
+27:12:3
+27:13:1
+27:14:1
+27:15:3
+27:16:1
+27:17:1
+27:18:9
+27:19:1
+27:20:1
+27:21:3
+27:22:1
+27:23:1
+27:24:3
+27:25:1
+27:26:1
+27:27:27
+27:28:1
+27:29:1
+27:30:3
+27:31:1
+27:32:1
+27:33:3
+27:34:1
+27:35:1
+27:36:9
+27:37:1
+27:38:1
+27:39:3
+27:40:1
+27:41:1
+27:42:3
+27:43:1
+27:44:1
+27:45:9
+27:46:1
+27:47:1
+27:48:3
+27:49:1
+27:50:1
+28:0:28
+28:1:1
+28:2:2
+28:3:1
+28:4:4
+28:5:1
+28:6:2
+28:7:7
+28:8:4
+28:9:1
+28:10:2
+28:11:1
+28:12:4
+28:13:1
+28:14:14
+28:15:1
+28:16:4
+28:17:1
+28:18:2
+28:19:1
+28:20:4
+28:21:7
+28:22:2
+28:23:1
+28:24:4
+28:25:1
+28:26:2
+28:27:1
+28:28:28
+28:29:1
+28:30:2
+28:31:1
+28:32:4
+28:33:1
+28:34:2
+28:35:7
+28:36:4
+28:37:1
+28:38:2
+28:39:1
+28:40:4
+28:41:1
+28:42:14
+28:43:1
+28:44:4
+28:45:1
+28:46:2
+28:47:1
+28:48:4
+28:49:7
+28:50:2
+29:0:29
+29:1:1
+29:2:1
+29:3:1
+29:4:1
+29:5:1
+29:6:1
+29:7:1
+29:8:1
+29:9:1
+29:10:1
+29:11:1
+29:12:1
+29:13:1
+29:14:1
+29:15:1
+29:16:1
+29:17:1
+29:18:1
+29:19:1
+29:20:1
+29:21:1
+29:22:1
+29:23:1
+29:24:1
+29:25:1
+29:26:1
+29:27:1
+29:28:1
+29:29:29
+29:30:1
+29:31:1
+29:32:1
+29:33:1
+29:34:1
+29:35:1
+29:36:1
+29:37:1
+29:38:1
+29:39:1
+29:40:1
+29:41:1
+29:42:1
+29:43:1
+29:44:1
+29:45:1
+29:46:1
+29:47:1
+29:48:1
+29:49:1
+29:50:1
+30:0:30
+30:1:1
+30:2:2
+30:3:3
+30:4:2
+30:5:5
+30:6:6
+30:7:1
+30:8:2
+30:9:3
+30:10:10
+30:11:1
+30:12:6
+30:13:1
+30:14:2
+30:15:15
+30:16:2
+30:17:1
+30:18:6
+30:19:1
+30:20:10
+30:21:3
+30:22:2
+30:23:1
+30:24:6
+30:25:5
+30:26:2
+30:27:3
+30:28:2
+30:29:1
+30:30:30
+30:31:1
+30:32:2
+30:33:3
+30:34:2
+30:35:5
+30:36:6
+30:37:1
+30:38:2
+30:39:3
+30:40:10
+30:41:1
+30:42:6
+30:43:1
+30:44:2
+30:45:15
+30:46:2
+30:47:1
+30:48:6
+30:49:1
+30:50:10
+31:0:31
+31:1:1
+31:2:1
+31:3:1
+31:4:1
+31:5:1
+31:6:1
+31:7:1
+31:8:1
+31:9:1
+31:10:1
+31:11:1
+31:12:1
+31:13:1
+31:14:1
+31:15:1
+31:16:1
+31:17:1
+31:18:1
+31:19:1
+31:20:1
+31:21:1
+31:22:1
+31:23:1
+31:24:1
+31:25:1
+31:26:1
+31:27:1
+31:28:1
+31:29:1
+31:30:1
+31:31:31
+31:32:1
+31:33:1
+31:34:1
+31:35:1
+31:36:1
+31:37:1
+31:38:1
+31:39:1
+31:40:1
+31:41:1
+31:42:1
+31:43:1
+31:44:1
+31:45:1
+31:46:1
+31:47:1
+31:48:1
+31:49:1
+31:50:1
+32:0:32
+32:1:1
+32:2:2
+32:3:1
+32:4:4
+32:5:1
+32:6:2
+32:7:1
+32:8:8
+32:9:1
+32:10:2
+32:11:1
+32:12:4
+32:13:1
+32:14:2
+32:15:1
+32:16:16
+32:17:1
+32:18:2
+32:19:1
+32:20:4
+32:21:1
+32:22:2
+32:23:1
+32:24:8
+32:25:1
+32:26:2
+32:27:1
+32:28:4
+32:29:1
+32:30:2
+32:31:1
+32:32:32
+32:33:1
+32:34:2
+32:35:1
+32:36:4
+32:37:1
+32:38:2
+32:39:1
+32:40:8
+32:41:1
+32:42:2
+32:43:1
+32:44:4
+32:45:1
+32:46:2
+32:47:1
+32:48:16
+32:49:1
+32:50:2
+33:0:33
+33:1:1
+33:2:1
+33:3:3
+33:4:1
+33:5:1
+33:6:3
+33:7:1
+33:8:1
+33:9:3
+33:10:1
+33:11:11
+33:12:3
+33:13:1
+33:14:1
+33:15:3
+33:16:1
+33:17:1
+33:18:3
+33:19:1
+33:20:1
+33:21:3
+33:22:11
+33:23:1
+33:24:3
+33:25:1
+33:26:1
+33:27:3
+33:28:1
+33:29:1
+33:30:3
+33:31:1
+33:32:1
+33:33:33
+33:34:1
+33:35:1
+33:36:3
+33:37:1
+33:38:1
+33:39:3
+33:40:1
+33:41:1
+33:42:3
+33:43:1
+33:44:11
+33:45:3
+33:46:1
+33:47:1
+33:48:3
+33:49:1
+33:50:1
+34:0:34
+34:1:1
+34:2:2
+34:3:1
+34:4:2
+34:5:1
+34:6:2
+34:7:1
+34:8:2
+34:9:1
+34:10:2
+34:11:1
+34:12:2
+34:13:1
+34:14:2
+34:15:1
+34:16:2
+34:17:17
+34:18:2
+34:19:1
+34:20:2
+34:21:1
+34:22:2
+34:23:1
+34:24:2
+34:25:1
+34:26:2
+34:27:1
+34:28:2
+34:29:1
+34:30:2
+34:31:1
+34:32:2
+34:33:1
+34:34:34
+34:35:1
+34:36:2
+34:37:1
+34:38:2
+34:39:1
+34:40:2
+34:41:1
+34:42:2
+34:43:1
+34:44:2
+34:45:1
+34:46:2
+34:47:1
+34:48:2
+34:49:1
+34:50:2
+35:0:35
+35:1:1
+35:2:1
+35:3:1
+35:4:1
+35:5:5
+35:6:1
+35:7:7
+35:8:1
+35:9:1
+35:10:5
+35:11:1
+35:12:1
+35:13:1
+35:14:7
+35:15:5
+35:16:1
+35:17:1
+35:18:1
+35:19:1
+35:20:5
+35:21:7
+35:22:1
+35:23:1
+35:24:1
+35:25:5
+35:26:1
+35:27:1
+35:28:7
+35:29:1
+35:30:5
+35:31:1
+35:32:1
+35:33:1
+35:34:1
+35:35:35
+35:36:1
+35:37:1
+35:38:1
+35:39:1
+35:40:5
+35:41:1
+35:42:7
+35:43:1
+35:44:1
+35:45:5
+35:46:1
+35:47:1
+35:48:1
+35:49:7
+35:50:5
+36:0:36
+36:1:1
+36:2:2
+36:3:3
+36:4:4
+36:5:1
+36:6:6
+36:7:1
+36:8:4
+36:9:9
+36:10:2
+36:11:1
+36:12:12
+36:13:1
+36:14:2
+36:15:3
+36:16:4
+36:17:1
+36:18:18
+36:19:1
+36:20:4
+36:21:3
+36:22:2
+36:23:1
+36:24:12
+36:25:1
+36:26:2
+36:27:9
+36:28:4
+36:29:1
+36:30:6
+36:31:1
+36:32:4
+36:33:3
+36:34:2
+36:35:1
+36:36:36
+36:37:1
+36:38:2
+36:39:3
+36:40:4
+36:41:1
+36:42:6
+36:43:1
+36:44:4
+36:45:9
+36:46:2
+36:47:1
+36:48:12
+36:49:1
+36:50:2
+37:0:37
+37:1:1
+37:2:1
+37:3:1
+37:4:1
+37:5:1
+37:6:1
+37:7:1
+37:8:1
+37:9:1
+37:10:1
+37:11:1
+37:12:1
+37:13:1
+37:14:1
+37:15:1
+37:16:1
+37:17:1
+37:18:1
+37:19:1
+37:20:1
+37:21:1
+37:22:1
+37:23:1
+37:24:1
+37:25:1
+37:26:1
+37:27:1
+37:28:1
+37:29:1
+37:30:1
+37:31:1
+37:32:1
+37:33:1
+37:34:1
+37:35:1
+37:36:1
+37:37:37
+37:38:1
+37:39:1
+37:40:1
+37:41:1
+37:42:1
+37:43:1
+37:44:1
+37:45:1
+37:46:1
+37:47:1
+37:48:1
+37:49:1
+37:50:1
+38:0:38
+38:1:1
+38:2:2
+38:3:1
+38:4:2
+38:5:1
+38:6:2
+38:7:1
+38:8:2
+38:9:1
+38:10:2
+38:11:1
+38:12:2
+38:13:1
+38:14:2
+38:15:1
+38:16:2
+38:17:1
+38:18:2
+38:19:19
+38:20:2
+38:21:1
+38:22:2
+38:23:1
+38:24:2
+38:25:1
+38:26:2
+38:27:1
+38:28:2
+38:29:1
+38:30:2
+38:31:1
+38:32:2
+38:33:1
+38:34:2
+38:35:1
+38:36:2
+38:37:1
+38:38:38
+38:39:1
+38:40:2
+38:41:1
+38:42:2
+38:43:1
+38:44:2
+38:45:1
+38:46:2
+38:47:1
+38:48:2
+38:49:1
+38:50:2
+39:0:39
+39:1:1
+39:2:1
+39:3:3
+39:4:1
+39:5:1
+39:6:3
+39:7:1
+39:8:1
+39:9:3
+39:10:1
+39:11:1
+39:12:3
+39:13:13
+39:14:1
+39:15:3
+39:16:1
+39:17:1
+39:18:3
+39:19:1
+39:20:1
+39:21:3
+39:22:1
+39:23:1
+39:24:3
+39:25:1
+39:26:13
+39:27:3
+39:28:1
+39:29:1
+39:30:3
+39:31:1
+39:32:1
+39:33:3
+39:34:1
+39:35:1
+39:36:3
+39:37:1
+39:38:1
+39:39:39
+39:40:1
+39:41:1
+39:42:3
+39:43:1
+39:44:1
+39:45:3
+39:46:1
+39:47:1
+39:48:3
+39:49:1
+39:50:1
+40:0:40
+40:1:1
+40:2:2
+40:3:1
+40:4:4
+40:5:5
+40:6:2
+40:7:1
+40:8:8
+40:9:1
+40:10:10
+40:11:1
+40:12:4
+40:13:1
+40:14:2
+40:15:5
+40:16:8
+40:17:1
+40:18:2
+40:19:1
+40:20:20
+40:21:1
+40:22:2
+40:23:1
+40:24:8
+40:25:5
+40:26:2
+40:27:1
+40:28:4
+40:29:1
+40:30:10
+40:31:1
+40:32:8
+40:33:1
+40:34:2
+40:35:5
+40:36:4
+40:37:1
+40:38:2
+40:39:1
+40:40:40
+40:41:1
+40:42:2
+40:43:1
+40:44:4
+40:45:5
+40:46:2
+40:47:1
+40:48:8
+40:49:1
+40:50:10
+41:0:41
+41:1:1
+41:2:1
+41:3:1
+41:4:1
+41:5:1
+41:6:1
+41:7:1
+41:8:1
+41:9:1
+41:10:1
+41:11:1
+41:12:1
+41:13:1
+41:14:1
+41:15:1
+41:16:1
+41:17:1
+41:18:1
+41:19:1
+41:20:1
+41:21:1
+41:22:1
+41:23:1
+41:24:1
+41:25:1
+41:26:1
+41:27:1
+41:28:1
+41:29:1
+41:30:1
+41:31:1
+41:32:1
+41:33:1
+41:34:1
+41:35:1
+41:36:1
+41:37:1
+41:38:1
+41:39:1
+41:40:1
+41:41:41
+41:42:1
+41:43:1
+41:44:1
+41:45:1
+41:46:1
+41:47:1
+41:48:1
+41:49:1
+41:50:1
+42:0:42
+42:1:1
+42:2:2
+42:3:3
+42:4:2
+42:5:1
+42:6:6
+42:7:7
+42:8:2
+42:9:3
+42:10:2
+42:11:1
+42:12:6
+42:13:1
+42:14:14
+42:15:3
+42:16:2
+42:17:1
+42:18:6
+42:19:1
+42:20:2
+42:21:21
+42:22:2
+42:23:1
+42:24:6
+42:25:1
+42:26:2
+42:27:3
+42:28:14
+42:29:1
+42:30:6
+42:31:1
+42:32:2
+42:33:3
+42:34:2
+42:35:7
+42:36:6
+42:37:1
+42:38:2
+42:39:3
+42:40:2
+42:41:1
+42:42:42
+42:43:1
+42:44:2
+42:45:3
+42:46:2
+42:47:1
+42:48:6
+42:49:7
+42:50:2
+43:0:43
+43:1:1
+43:2:1
+43:3:1
+43:4:1
+43:5:1
+43:6:1
+43:7:1
+43:8:1
+43:9:1
+43:10:1
+43:11:1
+43:12:1
+43:13:1
+43:14:1
+43:15:1
+43:16:1
+43:17:1
+43:18:1
+43:19:1
+43:20:1
+43:21:1
+43:22:1
+43:23:1
+43:24:1
+43:25:1
+43:26:1
+43:27:1
+43:28:1
+43:29:1
+43:30:1
+43:31:1
+43:32:1
+43:33:1
+43:34:1
+43:35:1
+43:36:1
+43:37:1
+43:38:1
+43:39:1
+43:40:1
+43:41:1
+43:42:1
+43:43:43
+43:44:1
+43:45:1
+43:46:1
+43:47:1
+43:48:1
+43:49:1
+43:50:1
+44:0:44
+44:1:1
+44:2:2
+44:3:1
+44:4:4
+44:5:1
+44:6:2
+44:7:1
+44:8:4
+44:9:1
+44:10:2
+44:11:11
+44:12:4
+44:13:1
+44:14:2
+44:15:1
+44:16:4
+44:17:1
+44:18:2
+44:19:1
+44:20:4
+44:21:1
+44:22:22
+44:23:1
+44:24:4
+44:25:1
+44:26:2
+44:27:1
+44:28:4
+44:29:1
+44:30:2
+44:31:1
+44:32:4
+44:33:11
+44:34:2
+44:35:1
+44:36:4
+44:37:1
+44:38:2
+44:39:1
+44:40:4
+44:41:1
+44:42:2
+44:43:1
+44:44:44
+44:45:1
+44:46:2
+44:47:1
+44:48:4
+44:49:1
+44:50:2
+45:0:45
+45:1:1
+45:2:1
+45:3:3
+45:4:1
+45:5:5
+45:6:3
+45:7:1
+45:8:1
+45:9:9
+45:10:5
+45:11:1
+45:12:3
+45:13:1
+45:14:1
+45:15:15
+45:16:1
+45:17:1
+45:18:9
+45:19:1
+45:20:5
+45:21:3
+45:22:1
+45:23:1
+45:24:3
+45:25:5
+45:26:1
+45:27:9
+45:28:1
+45:29:1
+45:30:15
+45:31:1
+45:32:1
+45:33:3
+45:34:1
+45:35:5
+45:36:9
+45:37:1
+45:38:1
+45:39:3
+45:40:5
+45:41:1
+45:42:3
+45:43:1
+45:44:1
+45:45:45
+45:46:1
+45:47:1
+45:48:3
+45:49:1
+45:50:5
+46:0:46
+46:1:1
+46:2:2
+46:3:1
+46:4:2
+46:5:1
+46:6:2
+46:7:1
+46:8:2
+46:9:1
+46:10:2
+46:11:1
+46:12:2
+46:13:1
+46:14:2
+46:15:1
+46:16:2
+46:17:1
+46:18:2
+46:19:1
+46:20:2
+46:21:1
+46:22:2
+46:23:23
+46:24:2
+46:25:1
+46:26:2
+46:27:1
+46:28:2
+46:29:1
+46:30:2
+46:31:1
+46:32:2
+46:33:1
+46:34:2
+46:35:1
+46:36:2
+46:37:1
+46:38:2
+46:39:1
+46:40:2
+46:41:1
+46:42:2
+46:43:1
+46:44:2
+46:45:1
+46:46:46
+46:47:1
+46:48:2
+46:49:1
+46:50:2
+47:0:47
+47:1:1
+47:2:1
+47:3:1
+47:4:1
+47:5:1
+47:6:1
+47:7:1
+47:8:1
+47:9:1
+47:10:1
+47:11:1
+47:12:1
+47:13:1
+47:14:1
+47:15:1
+47:16:1
+47:17:1
+47:18:1
+47:19:1
+47:20:1
+47:21:1
+47:22:1
+47:23:1
+47:24:1
+47:25:1
+47:26:1
+47:27:1
+47:28:1
+47:29:1
+47:30:1
+47:31:1
+47:32:1
+47:33:1
+47:34:1
+47:35:1
+47:36:1
+47:37:1
+47:38:1
+47:39:1
+47:40:1
+47:41:1
+47:42:1
+47:43:1
+47:44:1
+47:45:1
+47:46:1
+47:47:47
+47:48:1
+47:49:1
+47:50:1
+48:0:48
+48:1:1
+48:2:2
+48:3:3
+48:4:4
+48:5:1
+48:6:6
+48:7:1
+48:8:8
+48:9:3
+48:10:2
+48:11:1
+48:12:12
+48:13:1
+48:14:2
+48:15:3
+48:16:16
+48:17:1
+48:18:6
+48:19:1
+48:20:4
+48:21:3
+48:22:2
+48:23:1
+48:24:24
+48:25:1
+48:26:2
+48:27:3
+48:28:4
+48:29:1
+48:30:6
+48:31:1
+48:32:16
+48:33:3
+48:34:2
+48:35:1
+48:36:12
+48:37:1
+48:38:2
+48:39:3
+48:40:8
+48:41:1
+48:42:6
+48:43:1
+48:44:4
+48:45:3
+48:46:2
+48:47:1
+48:48:48
+48:49:1
+48:50:2
+49:0:49
+49:1:1
+49:2:1
+49:3:1
+49:4:1
+49:5:1
+49:6:1
+49:7:7
+49:8:1
+49:9:1
+49:10:1
+49:11:1
+49:12:1
+49:13:1
+49:14:7
+49:15:1
+49:16:1
+49:17:1
+49:18:1
+49:19:1
+49:20:1
+49:21:7
+49:22:1
+49:23:1
+49:24:1
+49:25:1
+49:26:1
+49:27:1
+49:28:7
+49:29:1
+49:30:1
+49:31:1
+49:32:1
+49:33:1
+49:34:1
+49:35:7
+49:36:1
+49:37:1
+49:38:1
+49:39:1
+49:40:1
+49:41:1
+49:42:7
+49:43:1
+49:44:1
+49:45:1
+49:46:1
+49:47:1
+49:48:1
+49:49:49
+49:50:1
+50:0:50
+50:1:1
+50:2:2
+50:3:1
+50:4:2
+50:5:5
+50:6:2
+50:7:1
+50:8:2
+50:9:1
+50:10:10
+50:11:1
+50:12:2
+50:13:1
+50:14:2
+50:15:5
+50:16:2
+50:17:1
+50:18:2
+50:19:1
+50:20:10
+50:21:1
+50:22:2
+50:23:1
+50:24:2
+50:25:25
+50:26:2
+50:27:1
+50:28:2
+50:29:1
+50:30:10
+50:31:1
+50:32:2
+50:33:1
+50:34:2
+50:35:5
+50:36:2
+50:37:1
+50:38:2
+50:39:1
+50:40:10
+50:41:1
+50:42:2
+50:43:1
+50:44:2
+50:45:5
+50:46:2
+50:47:1
+50:48:2
+50:49:1
+50:50:50
+#
+# Two consecutive Fibonacci numbers are a worst case scenario for
+# Euclid's algorithm.
+#
+420196140727489673:679891637638612258:1
+394810887814999156320699623170776339:638817435613190341905763972389505493:1
diff --git a/t/author-lib-arithmetic-binary-_gcd.t b/t/author-lib-arithmetic-binary-_gcd.t
new file mode 100644
index 0000000..be80f8a
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_gcd.t
@@ -0,0 +1,172 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 10413;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type(s) the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+can_ok($LIB, '_gcd');
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+my @data;
+
+# Add data in data file.
+
+(my $datafile = $0) =~ s/\.t/.dat/;
+open DATAFILE, $datafile or die "$datafile: can't open file for reading: $!";
+while () {
+ s/\s+\z//;
+ next if /^#/ || ! /\S/;
+ push @data, [ split /:/ ];
+}
+close DATAFILE or die "$datafile: can't close file after reading: $!";
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_gcd(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_gcd() in list context: $test", sub {
+ plan tests => $scalar_util_ok ? 9 : 8;
+
+ cmp_ok(scalar @got, "==", 1,
+ "'$test' gives one output arg");
+
+ is(ref($got[0]), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ my $strx = $LIB->_str($x);
+ ok($strx eq $out0 || $strx eq $in0,
+ "'$test' first input arg has the right value")
+ or diag(" got: $strx\n", " expected: ",
+ $out0 eq $in0 ? $out0 : "$out0 or $in0");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
+
+# Scalar context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($got);
+ my ($x, $y);
+ my ($xo, $yo);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\$got = $LIB->_gcd(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_gcd() in scalar context: $test", sub {
+ plan tests => $scalar_util_ok ? 8 : 7;
+
+ is(ref($got), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ my $strx = $LIB->_str($x);
+ ok($strx eq $out0 || $strx eq $in0,
+ "'$test' first input arg has the right value")
+ or diag(" got: $strx\n", " expected: ",
+ $out0 eq $in0 ? $out0 : "$out0 or $in0");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_lcm.dat b/t/author-lib-arithmetic-binary-_lcm.dat
new file mode 100644
index 0000000..854ae92
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_lcm.dat
@@ -0,0 +1,5057 @@
+#
+# Small numbers
+#
+0:1:0
+0:2:0
+0:3:0
+0:4:0
+0:5:0
+0:6:0
+0:7:0
+0:8:0
+0:9:0
+0:10:0
+0:11:0
+0:12:0
+0:13:0
+0:14:0
+0:15:0
+0:16:0
+0:17:0
+0:18:0
+0:19:0
+0:20:0
+0:21:0
+0:22:0
+0:23:0
+0:24:0
+0:25:0
+0:26:0
+0:27:0
+0:28:0
+0:29:0
+0:30:0
+0:31:0
+0:32:0
+0:33:0
+0:34:0
+0:35:0
+0:36:0
+0:37:0
+0:38:0
+0:39:0
+0:40:0
+0:41:0
+0:42:0
+0:43:0
+0:44:0
+0:45:0
+0:46:0
+0:47:0
+0:48:0
+0:49:0
+0:50:0
+1:1:1
+1:2:2
+1:3:3
+1:4:4
+1:5:5
+1:6:6
+1:7:7
+1:8:8
+1:9:9
+1:10:10
+1:11:11
+1:12:12
+1:13:13
+1:14:14
+1:15:15
+1:16:16
+1:17:17
+1:18:18
+1:19:19
+1:20:20
+1:21:21
+1:22:22
+1:23:23
+1:24:24
+1:25:25
+1:26:26
+1:27:27
+1:28:28
+1:29:29
+1:30:30
+1:31:31
+1:32:32
+1:33:33
+1:34:34
+1:35:35
+1:36:36
+1:37:37
+1:38:38
+1:39:39
+1:40:40
+1:41:41
+1:42:42
+1:43:43
+1:44:44
+1:45:45
+1:46:46
+1:47:47
+1:48:48
+1:49:49
+1:50:50
+2:1:2
+2:2:2
+2:3:6
+2:4:4
+2:5:10
+2:6:6
+2:7:14
+2:8:8
+2:9:18
+2:10:10
+2:11:22
+2:12:12
+2:13:26
+2:14:14
+2:15:30
+2:16:16
+2:17:34
+2:18:18
+2:19:38
+2:20:20
+2:21:42
+2:22:22
+2:23:46
+2:24:24
+2:25:50
+2:26:26
+2:27:54
+2:28:28
+2:29:58
+2:30:30
+2:31:62
+2:32:32
+2:33:66
+2:34:34
+2:35:70
+2:36:36
+2:37:74
+2:38:38
+2:39:78
+2:40:40
+2:41:82
+2:42:42
+2:43:86
+2:44:44
+2:45:90
+2:46:46
+2:47:94
+2:48:48
+2:49:98
+2:50:50
+3:1:3
+3:2:6
+3:3:3
+3:4:12
+3:5:15
+3:6:6
+3:7:21
+3:8:24
+3:9:9
+3:10:30
+3:11:33
+3:12:12
+3:13:39
+3:14:42
+3:15:15
+3:16:48
+3:17:51
+3:18:18
+3:19:57
+3:20:60
+3:21:21
+3:22:66
+3:23:69
+3:24:24
+3:25:75
+3:26:78
+3:27:27
+3:28:84
+3:29:87
+3:30:30
+3:31:93
+3:32:96
+3:33:33
+3:34:102
+3:35:105
+3:36:36
+3:37:111
+3:38:114
+3:39:39
+3:40:120
+3:41:123
+3:42:42
+3:43:129
+3:44:132
+3:45:45
+3:46:138
+3:47:141
+3:48:48
+3:49:147
+3:50:150
+4:1:4
+4:2:4
+4:3:12
+4:4:4
+4:5:20
+4:6:12
+4:7:28
+4:8:8
+4:9:36
+4:10:20
+4:11:44
+4:12:12
+4:13:52
+4:14:28
+4:15:60
+4:16:16
+4:17:68
+4:18:36
+4:19:76
+4:20:20
+4:21:84
+4:22:44
+4:23:92
+4:24:24
+4:25:100
+4:26:52
+4:27:108
+4:28:28
+4:29:116
+4:30:60
+4:31:124
+4:32:32
+4:33:132
+4:34:68
+4:35:140
+4:36:36
+4:37:148
+4:38:76
+4:39:156
+4:40:40
+4:41:164
+4:42:84
+4:43:172
+4:44:44
+4:45:180
+4:46:92
+4:47:188
+4:48:48
+4:49:196
+4:50:100
+5:1:5
+5:2:10
+5:3:15
+5:4:20
+5:5:5
+5:6:30
+5:7:35
+5:8:40
+5:9:45
+5:10:10
+5:11:55
+5:12:60
+5:13:65
+5:14:70
+5:15:15
+5:16:80
+5:17:85
+5:18:90
+5:19:95
+5:20:20
+5:21:105
+5:22:110
+5:23:115
+5:24:120
+5:25:25
+5:26:130
+5:27:135
+5:28:140
+5:29:145
+5:30:30
+5:31:155
+5:32:160
+5:33:165
+5:34:170
+5:35:35
+5:36:180
+5:37:185
+5:38:190
+5:39:195
+5:40:40
+5:41:205
+5:42:210
+5:43:215
+5:44:220
+5:45:45
+5:46:230
+5:47:235
+5:48:240
+5:49:245
+5:50:50
+6:1:6
+6:2:6
+6:3:6
+6:4:12
+6:5:30
+6:6:6
+6:7:42
+6:8:24
+6:9:18
+6:10:30
+6:11:66
+6:12:12
+6:13:78
+6:14:42
+6:15:30
+6:16:48
+6:17:102
+6:18:18
+6:19:114
+6:20:60
+6:21:42
+6:22:66
+6:23:138
+6:24:24
+6:25:150
+6:26:78
+6:27:54
+6:28:84
+6:29:174
+6:30:30
+6:31:186
+6:32:96
+6:33:66
+6:34:102
+6:35:210
+6:36:36
+6:37:222
+6:38:114
+6:39:78
+6:40:120
+6:41:246
+6:42:42
+6:43:258
+6:44:132
+6:45:90
+6:46:138
+6:47:282
+6:48:48
+6:49:294
+6:50:150
+7:1:7
+7:2:14
+7:3:21
+7:4:28
+7:5:35
+7:6:42
+7:7:7
+7:8:56
+7:9:63
+7:10:70
+7:11:77
+7:12:84
+7:13:91
+7:14:14
+7:15:105
+7:16:112
+7:17:119
+7:18:126
+7:19:133
+7:20:140
+7:21:21
+7:22:154
+7:23:161
+7:24:168
+7:25:175
+7:26:182
+7:27:189
+7:28:28
+7:29:203
+7:30:210
+7:31:217
+7:32:224
+7:33:231
+7:34:238
+7:35:35
+7:36:252
+7:37:259
+7:38:266
+7:39:273
+7:40:280
+7:41:287
+7:42:42
+7:43:301
+7:44:308
+7:45:315
+7:46:322
+7:47:329
+7:48:336
+7:49:49
+7:50:350
+8:1:8
+8:2:8
+8:3:24
+8:4:8
+8:5:40
+8:6:24
+8:7:56
+8:8:8
+8:9:72
+8:10:40
+8:11:88
+8:12:24
+8:13:104
+8:14:56
+8:15:120
+8:16:16
+8:17:136
+8:18:72
+8:19:152
+8:20:40
+8:21:168
+8:22:88
+8:23:184
+8:24:24
+8:25:200
+8:26:104
+8:27:216
+8:28:56
+8:29:232
+8:30:120
+8:31:248
+8:32:32
+8:33:264
+8:34:136
+8:35:280
+8:36:72
+8:37:296
+8:38:152
+8:39:312
+8:40:40
+8:41:328
+8:42:168
+8:43:344
+8:44:88
+8:45:360
+8:46:184
+8:47:376
+8:48:48
+8:49:392
+8:50:200
+9:1:9
+9:2:18
+9:3:9
+9:4:36
+9:5:45
+9:6:18
+9:7:63
+9:8:72
+9:9:9
+9:10:90
+9:11:99
+9:12:36
+9:13:117
+9:14:126
+9:15:45
+9:16:144
+9:17:153
+9:18:18
+9:19:171
+9:20:180
+9:21:63
+9:22:198
+9:23:207
+9:24:72
+9:25:225
+9:26:234
+9:27:27
+9:28:252
+9:29:261
+9:30:90
+9:31:279
+9:32:288
+9:33:99
+9:34:306
+9:35:315
+9:36:36
+9:37:333
+9:38:342
+9:39:117
+9:40:360
+9:41:369
+9:42:126
+9:43:387
+9:44:396
+9:45:45
+9:46:414
+9:47:423
+9:48:144
+9:49:441
+9:50:450
+10:1:10
+10:2:10
+10:3:30
+10:4:20
+10:5:10
+10:6:30
+10:7:70
+10:8:40
+10:9:90
+10:10:10
+10:11:110
+10:12:60
+10:13:130
+10:14:70
+10:15:30
+10:16:80
+10:17:170
+10:18:90
+10:19:190
+10:20:20
+10:21:210
+10:22:110
+10:23:230
+10:24:120
+10:25:50
+10:26:130
+10:27:270
+10:28:140
+10:29:290
+10:30:30
+10:31:310
+10:32:160
+10:33:330
+10:34:170
+10:35:70
+10:36:180
+10:37:370
+10:38:190
+10:39:390
+10:40:40
+10:41:410
+10:42:210
+10:43:430
+10:44:220
+10:45:90
+10:46:230
+10:47:470
+10:48:240
+10:49:490
+10:50:50
+11:1:11
+11:2:22
+11:3:33
+11:4:44
+11:5:55
+11:6:66
+11:7:77
+11:8:88
+11:9:99
+11:10:110
+11:11:11
+11:12:132
+11:13:143
+11:14:154
+11:15:165
+11:16:176
+11:17:187
+11:18:198
+11:19:209
+11:20:220
+11:21:231
+11:22:22
+11:23:253
+11:24:264
+11:25:275
+11:26:286
+11:27:297
+11:28:308
+11:29:319
+11:30:330
+11:31:341
+11:32:352
+11:33:33
+11:34:374
+11:35:385
+11:36:396
+11:37:407
+11:38:418
+11:39:429
+11:40:440
+11:41:451
+11:42:462
+11:43:473
+11:44:44
+11:45:495
+11:46:506
+11:47:517
+11:48:528
+11:49:539
+11:50:550
+12:1:12
+12:2:12
+12:3:12
+12:4:12
+12:5:60
+12:6:12
+12:7:84
+12:8:24
+12:9:36
+12:10:60
+12:11:132
+12:12:12
+12:13:156
+12:14:84
+12:15:60
+12:16:48
+12:17:204
+12:18:36
+12:19:228
+12:20:60
+12:21:84
+12:22:132
+12:23:276
+12:24:24
+12:25:300
+12:26:156
+12:27:108
+12:28:84
+12:29:348
+12:30:60
+12:31:372
+12:32:96
+12:33:132
+12:34:204
+12:35:420
+12:36:36
+12:37:444
+12:38:228
+12:39:156
+12:40:120
+12:41:492
+12:42:84
+12:43:516
+12:44:132
+12:45:180
+12:46:276
+12:47:564
+12:48:48
+12:49:588
+12:50:300
+13:1:13
+13:2:26
+13:3:39
+13:4:52
+13:5:65
+13:6:78
+13:7:91
+13:8:104
+13:9:117
+13:10:130
+13:11:143
+13:12:156
+13:13:13
+13:14:182
+13:15:195
+13:16:208
+13:17:221
+13:18:234
+13:19:247
+13:20:260
+13:21:273
+13:22:286
+13:23:299
+13:24:312
+13:25:325
+13:26:26
+13:27:351
+13:28:364
+13:29:377
+13:30:390
+13:31:403
+13:32:416
+13:33:429
+13:34:442
+13:35:455
+13:36:468
+13:37:481
+13:38:494
+13:39:39
+13:40:520
+13:41:533
+13:42:546
+13:43:559
+13:44:572
+13:45:585
+13:46:598
+13:47:611
+13:48:624
+13:49:637
+13:50:650
+14:1:14
+14:2:14
+14:3:42
+14:4:28
+14:5:70
+14:6:42
+14:7:14
+14:8:56
+14:9:126
+14:10:70
+14:11:154
+14:12:84
+14:13:182
+14:14:14
+14:15:210
+14:16:112
+14:17:238
+14:18:126
+14:19:266
+14:20:140
+14:21:42
+14:22:154
+14:23:322
+14:24:168
+14:25:350
+14:26:182
+14:27:378
+14:28:28
+14:29:406
+14:30:210
+14:31:434
+14:32:224
+14:33:462
+14:34:238
+14:35:70
+14:36:252
+14:37:518
+14:38:266
+14:39:546
+14:40:280
+14:41:574
+14:42:42
+14:43:602
+14:44:308
+14:45:630
+14:46:322
+14:47:658
+14:48:336
+14:49:98
+14:50:350
+15:1:15
+15:2:30
+15:3:15
+15:4:60
+15:5:15
+15:6:30
+15:7:105
+15:8:120
+15:9:45
+15:10:30
+15:11:165
+15:12:60
+15:13:195
+15:14:210
+15:15:15
+15:16:240
+15:17:255
+15:18:90
+15:19:285
+15:20:60
+15:21:105
+15:22:330
+15:23:345
+15:24:120
+15:25:75
+15:26:390
+15:27:135
+15:28:420
+15:29:435
+15:30:30
+15:31:465
+15:32:480
+15:33:165
+15:34:510
+15:35:105
+15:36:180
+15:37:555
+15:38:570
+15:39:195
+15:40:120
+15:41:615
+15:42:210
+15:43:645
+15:44:660
+15:45:45
+15:46:690
+15:47:705
+15:48:240
+15:49:735
+15:50:150
+16:1:16
+16:2:16
+16:3:48
+16:4:16
+16:5:80
+16:6:48
+16:7:112
+16:8:16
+16:9:144
+16:10:80
+16:11:176
+16:12:48
+16:13:208
+16:14:112
+16:15:240
+16:16:16
+16:17:272
+16:18:144
+16:19:304
+16:20:80
+16:21:336
+16:22:176
+16:23:368
+16:24:48
+16:25:400
+16:26:208
+16:27:432
+16:28:112
+16:29:464
+16:30:240
+16:31:496
+16:32:32
+16:33:528
+16:34:272
+16:35:560
+16:36:144
+16:37:592
+16:38:304
+16:39:624
+16:40:80
+16:41:656
+16:42:336
+16:43:688
+16:44:176
+16:45:720
+16:46:368
+16:47:752
+16:48:48
+16:49:784
+16:50:400
+17:1:17
+17:2:34
+17:3:51
+17:4:68
+17:5:85
+17:6:102
+17:7:119
+17:8:136
+17:9:153
+17:10:170
+17:11:187
+17:12:204
+17:13:221
+17:14:238
+17:15:255
+17:16:272
+17:17:17
+17:18:306
+17:19:323
+17:20:340
+17:21:357
+17:22:374
+17:23:391
+17:24:408
+17:25:425
+17:26:442
+17:27:459
+17:28:476
+17:29:493
+17:30:510
+17:31:527
+17:32:544
+17:33:561
+17:34:34
+17:35:595
+17:36:612
+17:37:629
+17:38:646
+17:39:663
+17:40:680
+17:41:697
+17:42:714
+17:43:731
+17:44:748
+17:45:765
+17:46:782
+17:47:799
+17:48:816
+17:49:833
+17:50:850
+18:1:18
+18:2:18
+18:3:18
+18:4:36
+18:5:90
+18:6:18
+18:7:126
+18:8:72
+18:9:18
+18:10:90
+18:11:198
+18:12:36
+18:13:234
+18:14:126
+18:15:90
+18:16:144
+18:17:306
+18:18:18
+18:19:342
+18:20:180
+18:21:126
+18:22:198
+18:23:414
+18:24:72
+18:25:450
+18:26:234
+18:27:54
+18:28:252
+18:29:522
+18:30:90
+18:31:558
+18:32:288
+18:33:198
+18:34:306
+18:35:630
+18:36:36
+18:37:666
+18:38:342
+18:39:234
+18:40:360
+18:41:738
+18:42:126
+18:43:774
+18:44:396
+18:45:90
+18:46:414
+18:47:846
+18:48:144
+18:49:882
+18:50:450
+19:1:19
+19:2:38
+19:3:57
+19:4:76
+19:5:95
+19:6:114
+19:7:133
+19:8:152
+19:9:171
+19:10:190
+19:11:209
+19:12:228
+19:13:247
+19:14:266
+19:15:285
+19:16:304
+19:17:323
+19:18:342
+19:19:19
+19:20:380
+19:21:399
+19:22:418
+19:23:437
+19:24:456
+19:25:475
+19:26:494
+19:27:513
+19:28:532
+19:29:551
+19:30:570
+19:31:589
+19:32:608
+19:33:627
+19:34:646
+19:35:665
+19:36:684
+19:37:703
+19:38:38
+19:39:741
+19:40:760
+19:41:779
+19:42:798
+19:43:817
+19:44:836
+19:45:855
+19:46:874
+19:47:893
+19:48:912
+19:49:931
+19:50:950
+20:1:20
+20:2:20
+20:3:60
+20:4:20
+20:5:20
+20:6:60
+20:7:140
+20:8:40
+20:9:180
+20:10:20
+20:11:220
+20:12:60
+20:13:260
+20:14:140
+20:15:60
+20:16:80
+20:17:340
+20:18:180
+20:19:380
+20:20:20
+20:21:420
+20:22:220
+20:23:460
+20:24:120
+20:25:100
+20:26:260
+20:27:540
+20:28:140
+20:29:580
+20:30:60
+20:31:620
+20:32:160
+20:33:660
+20:34:340
+20:35:140
+20:36:180
+20:37:740
+20:38:380
+20:39:780
+20:40:40
+20:41:820
+20:42:420
+20:43:860
+20:44:220
+20:45:180
+20:46:460
+20:47:940
+20:48:240
+20:49:980
+20:50:100
+21:1:21
+21:2:42
+21:3:21
+21:4:84
+21:5:105
+21:6:42
+21:7:21
+21:8:168
+21:9:63
+21:10:210
+21:11:231
+21:12:84
+21:13:273
+21:14:42
+21:15:105
+21:16:336
+21:17:357
+21:18:126
+21:19:399
+21:20:420
+21:21:21
+21:22:462
+21:23:483
+21:24:168
+21:25:525
+21:26:546
+21:27:189
+21:28:84
+21:29:609
+21:30:210
+21:31:651
+21:32:672
+21:33:231
+21:34:714
+21:35:105
+21:36:252
+21:37:777
+21:38:798
+21:39:273
+21:40:840
+21:41:861
+21:42:42
+21:43:903
+21:44:924
+21:45:315
+21:46:966
+21:47:987
+21:48:336
+21:49:147
+21:50:1050
+22:1:22
+22:2:22
+22:3:66
+22:4:44
+22:5:110
+22:6:66
+22:7:154
+22:8:88
+22:9:198
+22:10:110
+22:11:22
+22:12:132
+22:13:286
+22:14:154
+22:15:330
+22:16:176
+22:17:374
+22:18:198
+22:19:418
+22:20:220
+22:21:462
+22:22:22
+22:23:506
+22:24:264
+22:25:550
+22:26:286
+22:27:594
+22:28:308
+22:29:638
+22:30:330
+22:31:682
+22:32:352
+22:33:66
+22:34:374
+22:35:770
+22:36:396
+22:37:814
+22:38:418
+22:39:858
+22:40:440
+22:41:902
+22:42:462
+22:43:946
+22:44:44
+22:45:990
+22:46:506
+22:47:1034
+22:48:528
+22:49:1078
+22:50:550
+23:1:23
+23:2:46
+23:3:69
+23:4:92
+23:5:115
+23:6:138
+23:7:161
+23:8:184
+23:9:207
+23:10:230
+23:11:253
+23:12:276
+23:13:299
+23:14:322
+23:15:345
+23:16:368
+23:17:391
+23:18:414
+23:19:437
+23:20:460
+23:21:483
+23:22:506
+23:23:23
+23:24:552
+23:25:575
+23:26:598
+23:27:621
+23:28:644
+23:29:667
+23:30:690
+23:31:713
+23:32:736
+23:33:759
+23:34:782
+23:35:805
+23:36:828
+23:37:851
+23:38:874
+23:39:897
+23:40:920
+23:41:943
+23:42:966
+23:43:989
+23:44:1012
+23:45:1035
+23:46:46
+23:47:1081
+23:48:1104
+23:49:1127
+23:50:1150
+24:1:24
+24:2:24
+24:3:24
+24:4:24
+24:5:120
+24:6:24
+24:7:168
+24:8:24
+24:9:72
+24:10:120
+24:11:264
+24:12:24
+24:13:312
+24:14:168
+24:15:120
+24:16:48
+24:17:408
+24:18:72
+24:19:456
+24:20:120
+24:21:168
+24:22:264
+24:23:552
+24:24:24
+24:25:600
+24:26:312
+24:27:216
+24:28:168
+24:29:696
+24:30:120
+24:31:744
+24:32:96
+24:33:264
+24:34:408
+24:35:840
+24:36:72
+24:37:888
+24:38:456
+24:39:312
+24:40:120
+24:41:984
+24:42:168
+24:43:1032
+24:44:264
+24:45:360
+24:46:552
+24:47:1128
+24:48:48
+24:49:1176
+24:50:600
+25:1:25
+25:2:50
+25:3:75
+25:4:100
+25:5:25
+25:6:150
+25:7:175
+25:8:200
+25:9:225
+25:10:50
+25:11:275
+25:12:300
+25:13:325
+25:14:350
+25:15:75
+25:16:400
+25:17:425
+25:18:450
+25:19:475
+25:20:100
+25:21:525
+25:22:550
+25:23:575
+25:24:600
+25:25:25
+25:26:650
+25:27:675
+25:28:700
+25:29:725
+25:30:150
+25:31:775
+25:32:800
+25:33:825
+25:34:850
+25:35:175
+25:36:900
+25:37:925
+25:38:950
+25:39:975
+25:40:200
+25:41:1025
+25:42:1050
+25:43:1075
+25:44:1100
+25:45:225
+25:46:1150
+25:47:1175
+25:48:1200
+25:49:1225
+25:50:50
+26:1:26
+26:2:26
+26:3:78
+26:4:52
+26:5:130
+26:6:78
+26:7:182
+26:8:104
+26:9:234
+26:10:130
+26:11:286
+26:12:156
+26:13:26
+26:14:182
+26:15:390
+26:16:208
+26:17:442
+26:18:234
+26:19:494
+26:20:260
+26:21:546
+26:22:286
+26:23:598
+26:24:312
+26:25:650
+26:26:26
+26:27:702
+26:28:364
+26:29:754
+26:30:390
+26:31:806
+26:32:416
+26:33:858
+26:34:442
+26:35:910
+26:36:468
+26:37:962
+26:38:494
+26:39:78
+26:40:520
+26:41:1066
+26:42:546
+26:43:1118
+26:44:572
+26:45:1170
+26:46:598
+26:47:1222
+26:48:624
+26:49:1274
+26:50:650
+27:1:27
+27:2:54
+27:3:27
+27:4:108
+27:5:135
+27:6:54
+27:7:189
+27:8:216
+27:9:27
+27:10:270
+27:11:297
+27:12:108
+27:13:351
+27:14:378
+27:15:135
+27:16:432
+27:17:459
+27:18:54
+27:19:513
+27:20:540
+27:21:189
+27:22:594
+27:23:621
+27:24:216
+27:25:675
+27:26:702
+27:27:27
+27:28:756
+27:29:783
+27:30:270
+27:31:837
+27:32:864
+27:33:297
+27:34:918
+27:35:945
+27:36:108
+27:37:999
+27:38:1026
+27:39:351
+27:40:1080
+27:41:1107
+27:42:378
+27:43:1161
+27:44:1188
+27:45:135
+27:46:1242
+27:47:1269
+27:48:432
+27:49:1323
+27:50:1350
+28:1:28
+28:2:28
+28:3:84
+28:4:28
+28:5:140
+28:6:84
+28:7:28
+28:8:56
+28:9:252
+28:10:140
+28:11:308
+28:12:84
+28:13:364
+28:14:28
+28:15:420
+28:16:112
+28:17:476
+28:18:252
+28:19:532
+28:20:140
+28:21:84
+28:22:308
+28:23:644
+28:24:168
+28:25:700
+28:26:364
+28:27:756
+28:28:28
+28:29:812
+28:30:420
+28:31:868
+28:32:224
+28:33:924
+28:34:476
+28:35:140
+28:36:252
+28:37:1036
+28:38:532
+28:39:1092
+28:40:280
+28:41:1148
+28:42:84
+28:43:1204
+28:44:308
+28:45:1260
+28:46:644
+28:47:1316
+28:48:336
+28:49:196
+28:50:700
+29:1:29
+29:2:58
+29:3:87
+29:4:116
+29:5:145
+29:6:174
+29:7:203
+29:8:232
+29:9:261
+29:10:290
+29:11:319
+29:12:348
+29:13:377
+29:14:406
+29:15:435
+29:16:464
+29:17:493
+29:18:522
+29:19:551
+29:20:580
+29:21:609
+29:22:638
+29:23:667
+29:24:696
+29:25:725
+29:26:754
+29:27:783
+29:28:812
+29:29:29
+29:30:870
+29:31:899
+29:32:928
+29:33:957
+29:34:986
+29:35:1015
+29:36:1044
+29:37:1073
+29:38:1102
+29:39:1131
+29:40:1160
+29:41:1189
+29:42:1218
+29:43:1247
+29:44:1276
+29:45:1305
+29:46:1334
+29:47:1363
+29:48:1392
+29:49:1421
+29:50:1450
+30:1:30
+30:2:30
+30:3:30
+30:4:60
+30:5:30
+30:6:30
+30:7:210
+30:8:120
+30:9:90
+30:10:30
+30:11:330
+30:12:60
+30:13:390
+30:14:210
+30:15:30
+30:16:240
+30:17:510
+30:18:90
+30:19:570
+30:20:60
+30:21:210
+30:22:330
+30:23:690
+30:24:120
+30:25:150
+30:26:390
+30:27:270
+30:28:420
+30:29:870
+30:30:30
+30:31:930
+30:32:480
+30:33:330
+30:34:510
+30:35:210
+30:36:180
+30:37:1110
+30:38:570
+30:39:390
+30:40:120
+30:41:1230
+30:42:210
+30:43:1290
+30:44:660
+30:45:90
+30:46:690
+30:47:1410
+30:48:240
+30:49:1470
+30:50:150
+31:1:31
+31:2:62
+31:3:93
+31:4:124
+31:5:155
+31:6:186
+31:7:217
+31:8:248
+31:9:279
+31:10:310
+31:11:341
+31:12:372
+31:13:403
+31:14:434
+31:15:465
+31:16:496
+31:17:527
+31:18:558
+31:19:589
+31:20:620
+31:21:651
+31:22:682
+31:23:713
+31:24:744
+31:25:775
+31:26:806
+31:27:837
+31:28:868
+31:29:899
+31:30:930
+31:31:31
+31:32:992
+31:33:1023
+31:34:1054
+31:35:1085
+31:36:1116
+31:37:1147
+31:38:1178
+31:39:1209
+31:40:1240
+31:41:1271
+31:42:1302
+31:43:1333
+31:44:1364
+31:45:1395
+31:46:1426
+31:47:1457
+31:48:1488
+31:49:1519
+31:50:1550
+32:1:32
+32:2:32
+32:3:96
+32:4:32
+32:5:160
+32:6:96
+32:7:224
+32:8:32
+32:9:288
+32:10:160
+32:11:352
+32:12:96
+32:13:416
+32:14:224
+32:15:480
+32:16:32
+32:17:544
+32:18:288
+32:19:608
+32:20:160
+32:21:672
+32:22:352
+32:23:736
+32:24:96
+32:25:800
+32:26:416
+32:27:864
+32:28:224
+32:29:928
+32:30:480
+32:31:992
+32:32:32
+32:33:1056
+32:34:544
+32:35:1120
+32:36:288
+32:37:1184
+32:38:608
+32:39:1248
+32:40:160
+32:41:1312
+32:42:672
+32:43:1376
+32:44:352
+32:45:1440
+32:46:736
+32:47:1504
+32:48:96
+32:49:1568
+32:50:800
+33:1:33
+33:2:66
+33:3:33
+33:4:132
+33:5:165
+33:6:66
+33:7:231
+33:8:264
+33:9:99
+33:10:330
+33:11:33
+33:12:132
+33:13:429
+33:14:462
+33:15:165
+33:16:528
+33:17:561
+33:18:198
+33:19:627
+33:20:660
+33:21:231
+33:22:66
+33:23:759
+33:24:264
+33:25:825
+33:26:858
+33:27:297
+33:28:924
+33:29:957
+33:30:330
+33:31:1023
+33:32:1056
+33:33:33
+33:34:1122
+33:35:1155
+33:36:396
+33:37:1221
+33:38:1254
+33:39:429
+33:40:1320
+33:41:1353
+33:42:462
+33:43:1419
+33:44:132
+33:45:495
+33:46:1518
+33:47:1551
+33:48:528
+33:49:1617
+33:50:1650
+34:1:34
+34:2:34
+34:3:102
+34:4:68
+34:5:170
+34:6:102
+34:7:238
+34:8:136
+34:9:306
+34:10:170
+34:11:374
+34:12:204
+34:13:442
+34:14:238
+34:15:510
+34:16:272
+34:17:34
+34:18:306
+34:19:646
+34:20:340
+34:21:714
+34:22:374
+34:23:782
+34:24:408
+34:25:850
+34:26:442
+34:27:918
+34:28:476
+34:29:986
+34:30:510
+34:31:1054
+34:32:544
+34:33:1122
+34:34:34
+34:35:1190
+34:36:612
+34:37:1258
+34:38:646
+34:39:1326
+34:40:680
+34:41:1394
+34:42:714
+34:43:1462
+34:44:748
+34:45:1530
+34:46:782
+34:47:1598
+34:48:816
+34:49:1666
+34:50:850
+35:1:35
+35:2:70
+35:3:105
+35:4:140
+35:5:35
+35:6:210
+35:7:35
+35:8:280
+35:9:315
+35:10:70
+35:11:385
+35:12:420
+35:13:455
+35:14:70
+35:15:105
+35:16:560
+35:17:595
+35:18:630
+35:19:665
+35:20:140
+35:21:105
+35:22:770
+35:23:805
+35:24:840
+35:25:175
+35:26:910
+35:27:945
+35:28:140
+35:29:1015
+35:30:210
+35:31:1085
+35:32:1120
+35:33:1155
+35:34:1190
+35:35:35
+35:36:1260
+35:37:1295
+35:38:1330
+35:39:1365
+35:40:280
+35:41:1435
+35:42:210
+35:43:1505
+35:44:1540
+35:45:315
+35:46:1610
+35:47:1645
+35:48:1680
+35:49:245
+35:50:350
+36:1:36
+36:2:36
+36:3:36
+36:4:36
+36:5:180
+36:6:36
+36:7:252
+36:8:72
+36:9:36
+36:10:180
+36:11:396
+36:12:36
+36:13:468
+36:14:252
+36:15:180
+36:16:144
+36:17:612
+36:18:36
+36:19:684
+36:20:180
+36:21:252
+36:22:396
+36:23:828
+36:24:72
+36:25:900
+36:26:468
+36:27:108
+36:28:252
+36:29:1044
+36:30:180
+36:31:1116
+36:32:288
+36:33:396
+36:34:612
+36:35:1260
+36:36:36
+36:37:1332
+36:38:684
+36:39:468
+36:40:360
+36:41:1476
+36:42:252
+36:43:1548
+36:44:396
+36:45:180
+36:46:828
+36:47:1692
+36:48:144
+36:49:1764
+36:50:900
+37:1:37
+37:2:74
+37:3:111
+37:4:148
+37:5:185
+37:6:222
+37:7:259
+37:8:296
+37:9:333
+37:10:370
+37:11:407
+37:12:444
+37:13:481
+37:14:518
+37:15:555
+37:16:592
+37:17:629
+37:18:666
+37:19:703
+37:20:740
+37:21:777
+37:22:814
+37:23:851
+37:24:888
+37:25:925
+37:26:962
+37:27:999
+37:28:1036
+37:29:1073
+37:30:1110
+37:31:1147
+37:32:1184
+37:33:1221
+37:34:1258
+37:35:1295
+37:36:1332
+37:37:37
+37:38:1406
+37:39:1443
+37:40:1480
+37:41:1517
+37:42:1554
+37:43:1591
+37:44:1628
+37:45:1665
+37:46:1702
+37:47:1739
+37:48:1776
+37:49:1813
+37:50:1850
+38:1:38
+38:2:38
+38:3:114
+38:4:76
+38:5:190
+38:6:114
+38:7:266
+38:8:152
+38:9:342
+38:10:190
+38:11:418
+38:12:228
+38:13:494
+38:14:266
+38:15:570
+38:16:304
+38:17:646
+38:18:342
+38:19:38
+38:20:380
+38:21:798
+38:22:418
+38:23:874
+38:24:456
+38:25:950
+38:26:494
+38:27:1026
+38:28:532
+38:29:1102
+38:30:570
+38:31:1178
+38:32:608
+38:33:1254
+38:34:646
+38:35:1330
+38:36:684
+38:37:1406
+38:38:38
+38:39:1482
+38:40:760
+38:41:1558
+38:42:798
+38:43:1634
+38:44:836
+38:45:1710
+38:46:874
+38:47:1786
+38:48:912
+38:49:1862
+38:50:950
+39:1:39
+39:2:78
+39:3:39
+39:4:156
+39:5:195
+39:6:78
+39:7:273
+39:8:312
+39:9:117
+39:10:390
+39:11:429
+39:12:156
+39:13:39
+39:14:546
+39:15:195
+39:16:624
+39:17:663
+39:18:234
+39:19:741
+39:20:780
+39:21:273
+39:22:858
+39:23:897
+39:24:312
+39:25:975
+39:26:78
+39:27:351
+39:28:1092
+39:29:1131
+39:30:390
+39:31:1209
+39:32:1248
+39:33:429
+39:34:1326
+39:35:1365
+39:36:468
+39:37:1443
+39:38:1482
+39:39:39
+39:40:1560
+39:41:1599
+39:42:546
+39:43:1677
+39:44:1716
+39:45:585
+39:46:1794
+39:47:1833
+39:48:624
+39:49:1911
+39:50:1950
+40:1:40
+40:2:40
+40:3:120
+40:4:40
+40:5:40
+40:6:120
+40:7:280
+40:8:40
+40:9:360
+40:10:40
+40:11:440
+40:12:120
+40:13:520
+40:14:280
+40:15:120
+40:16:80
+40:17:680
+40:18:360
+40:19:760
+40:20:40
+40:21:840
+40:22:440
+40:23:920
+40:24:120
+40:25:200
+40:26:520
+40:27:1080
+40:28:280
+40:29:1160
+40:30:120
+40:31:1240
+40:32:160
+40:33:1320
+40:34:680
+40:35:280
+40:36:360
+40:37:1480
+40:38:760
+40:39:1560
+40:40:40
+40:41:1640
+40:42:840
+40:43:1720
+40:44:440
+40:45:360
+40:46:920
+40:47:1880
+40:48:240
+40:49:1960
+40:50:200
+41:1:41
+41:2:82
+41:3:123
+41:4:164
+41:5:205
+41:6:246
+41:7:287
+41:8:328
+41:9:369
+41:10:410
+41:11:451
+41:12:492
+41:13:533
+41:14:574
+41:15:615
+41:16:656
+41:17:697
+41:18:738
+41:19:779
+41:20:820
+41:21:861
+41:22:902
+41:23:943
+41:24:984
+41:25:1025
+41:26:1066
+41:27:1107
+41:28:1148
+41:29:1189
+41:30:1230
+41:31:1271
+41:32:1312
+41:33:1353
+41:34:1394
+41:35:1435
+41:36:1476
+41:37:1517
+41:38:1558
+41:39:1599
+41:40:1640
+41:41:41
+41:42:1722
+41:43:1763
+41:44:1804
+41:45:1845
+41:46:1886
+41:47:1927
+41:48:1968
+41:49:2009
+41:50:2050
+42:1:42
+42:2:42
+42:3:42
+42:4:84
+42:5:210
+42:6:42
+42:7:42
+42:8:168
+42:9:126
+42:10:210
+42:11:462
+42:12:84
+42:13:546
+42:14:42
+42:15:210
+42:16:336
+42:17:714
+42:18:126
+42:19:798
+42:20:420
+42:21:42
+42:22:462
+42:23:966
+42:24:168
+42:25:1050
+42:26:546
+42:27:378
+42:28:84
+42:29:1218
+42:30:210
+42:31:1302
+42:32:672
+42:33:462
+42:34:714
+42:35:210
+42:36:252
+42:37:1554
+42:38:798
+42:39:546
+42:40:840
+42:41:1722
+42:42:42
+42:43:1806
+42:44:924
+42:45:630
+42:46:966
+42:47:1974
+42:48:336
+42:49:294
+42:50:1050
+43:1:43
+43:2:86
+43:3:129
+43:4:172
+43:5:215
+43:6:258
+43:7:301
+43:8:344
+43:9:387
+43:10:430
+43:11:473
+43:12:516
+43:13:559
+43:14:602
+43:15:645
+43:16:688
+43:17:731
+43:18:774
+43:19:817
+43:20:860
+43:21:903
+43:22:946
+43:23:989
+43:24:1032
+43:25:1075
+43:26:1118
+43:27:1161
+43:28:1204
+43:29:1247
+43:30:1290
+43:31:1333
+43:32:1376
+43:33:1419
+43:34:1462
+43:35:1505
+43:36:1548
+43:37:1591
+43:38:1634
+43:39:1677
+43:40:1720
+43:41:1763
+43:42:1806
+43:43:43
+43:44:1892
+43:45:1935
+43:46:1978
+43:47:2021
+43:48:2064
+43:49:2107
+43:50:2150
+44:1:44
+44:2:44
+44:3:132
+44:4:44
+44:5:220
+44:6:132
+44:7:308
+44:8:88
+44:9:396
+44:10:220
+44:11:44
+44:12:132
+44:13:572
+44:14:308
+44:15:660
+44:16:176
+44:17:748
+44:18:396
+44:19:836
+44:20:220
+44:21:924
+44:22:44
+44:23:1012
+44:24:264
+44:25:1100
+44:26:572
+44:27:1188
+44:28:308
+44:29:1276
+44:30:660
+44:31:1364
+44:32:352
+44:33:132
+44:34:748
+44:35:1540
+44:36:396
+44:37:1628
+44:38:836
+44:39:1716
+44:40:440
+44:41:1804
+44:42:924
+44:43:1892
+44:44:44
+44:45:1980
+44:46:1012
+44:47:2068
+44:48:528
+44:49:2156
+44:50:1100
+45:1:45
+45:2:90
+45:3:45
+45:4:180
+45:5:45
+45:6:90
+45:7:315
+45:8:360
+45:9:45
+45:10:90
+45:11:495
+45:12:180
+45:13:585
+45:14:630
+45:15:45
+45:16:720
+45:17:765
+45:18:90
+45:19:855
+45:20:180
+45:21:315
+45:22:990
+45:23:1035
+45:24:360
+45:25:225
+45:26:1170
+45:27:135
+45:28:1260
+45:29:1305
+45:30:90
+45:31:1395
+45:32:1440
+45:33:495
+45:34:1530
+45:35:315
+45:36:180
+45:37:1665
+45:38:1710
+45:39:585
+45:40:360
+45:41:1845
+45:42:630
+45:43:1935
+45:44:1980
+45:45:45
+45:46:2070
+45:47:2115
+45:48:720
+45:49:2205
+45:50:450
+46:1:46
+46:2:46
+46:3:138
+46:4:92
+46:5:230
+46:6:138
+46:7:322
+46:8:184
+46:9:414
+46:10:230
+46:11:506
+46:12:276
+46:13:598
+46:14:322
+46:15:690
+46:16:368
+46:17:782
+46:18:414
+46:19:874
+46:20:460
+46:21:966
+46:22:506
+46:23:46
+46:24:552
+46:25:1150
+46:26:598
+46:27:1242
+46:28:644
+46:29:1334
+46:30:690
+46:31:1426
+46:32:736
+46:33:1518
+46:34:782
+46:35:1610
+46:36:828
+46:37:1702
+46:38:874
+46:39:1794
+46:40:920
+46:41:1886
+46:42:966
+46:43:1978
+46:44:1012
+46:45:2070
+46:46:46
+46:47:2162
+46:48:1104
+46:49:2254
+46:50:1150
+47:1:47
+47:2:94
+47:3:141
+47:4:188
+47:5:235
+47:6:282
+47:7:329
+47:8:376
+47:9:423
+47:10:470
+47:11:517
+47:12:564
+47:13:611
+47:14:658
+47:15:705
+47:16:752
+47:17:799
+47:18:846
+47:19:893
+47:20:940
+47:21:987
+47:22:1034
+47:23:1081
+47:24:1128
+47:25:1175
+47:26:1222
+47:27:1269
+47:28:1316
+47:29:1363
+47:30:1410
+47:31:1457
+47:32:1504
+47:33:1551
+47:34:1598
+47:35:1645
+47:36:1692
+47:37:1739
+47:38:1786
+47:39:1833
+47:40:1880
+47:41:1927
+47:42:1974
+47:43:2021
+47:44:2068
+47:45:2115
+47:46:2162
+47:47:47
+47:48:2256
+47:49:2303
+47:50:2350
+48:1:48
+48:2:48
+48:3:48
+48:4:48
+48:5:240
+48:6:48
+48:7:336
+48:8:48
+48:9:144
+48:10:240
+48:11:528
+48:12:48
+48:13:624
+48:14:336
+48:15:240
+48:16:48
+48:17:816
+48:18:144
+48:19:912
+48:20:240
+48:21:336
+48:22:528
+48:23:1104
+48:24:48
+48:25:1200
+48:26:624
+48:27:432
+48:28:336
+48:29:1392
+48:30:240
+48:31:1488
+48:32:96
+48:33:528
+48:34:816
+48:35:1680
+48:36:144
+48:37:1776
+48:38:912
+48:39:624
+48:40:240
+48:41:1968
+48:42:336
+48:43:2064
+48:44:528
+48:45:720
+48:46:1104
+48:47:2256
+48:48:48
+48:49:2352
+48:50:1200
+49:1:49
+49:2:98
+49:3:147
+49:4:196
+49:5:245
+49:6:294
+49:7:49
+49:8:392
+49:9:441
+49:10:490
+49:11:539
+49:12:588
+49:13:637
+49:14:98
+49:15:735
+49:16:784
+49:17:833
+49:18:882
+49:19:931
+49:20:980
+49:21:147
+49:22:1078
+49:23:1127
+49:24:1176
+49:25:1225
+49:26:1274
+49:27:1323
+49:28:196
+49:29:1421
+49:30:1470
+49:31:1519
+49:32:1568
+49:33:1617
+49:34:1666
+49:35:245
+49:36:1764
+49:37:1813
+49:38:1862
+49:39:1911
+49:40:1960
+49:41:2009
+49:42:294
+49:43:2107
+49:44:2156
+49:45:2205
+49:46:2254
+49:47:2303
+49:48:2352
+49:49:49
+49:50:2450
+50:1:50
+50:2:50
+50:3:150
+50:4:100
+50:5:50
+50:6:150
+50:7:350
+50:8:200
+50:9:450
+50:10:50
+50:11:550
+50:12:300
+50:13:650
+50:14:350
+50:15:150
+50:16:400
+50:17:850
+50:18:450
+50:19:950
+50:20:100
+50:21:1050
+50:22:550
+50:23:1150
+50:24:600
+50:25:50
+50:26:650
+50:27:1350
+50:28:700
+50:29:1450
+50:30:150
+50:31:1550
+50:32:800
+50:33:1650
+50:34:850
+50:35:350
+50:36:900
+50:37:1850
+50:38:950
+50:39:1950
+50:40:200
+50:41:2050
+50:42:1050
+50:43:2150
+50:44:1100
+50:45:450
+50:46:1150
+50:47:2350
+50:48:1200
+50:49:2450
+50:50:50
+#
+# Fibonacci numbers
+#
+0:55:0
+0:89:0
+0:144:0
+0:233:0
+0:377:0
+0:610:0
+0:987:0
+0:1597:0
+0:2584:0
+0:4181:0
+0:6765:0
+0:10946:0
+0:17711:0
+0:28657:0
+0:46368:0
+0:75025:0
+0:121393:0
+0:196418:0
+0:317811:0
+0:514229:0
+0:832040:0
+0:1346269:0
+0:2178309:0
+0:3524578:0
+0:5702887:0
+0:9227465:0
+0:14930352:0
+0:24157817:0
+0:39088169:0
+0:63245986:0
+0:102334155:0
+0:165580141:0
+0:267914296:0
+0:433494437:0
+0:701408733:0
+0:1134903170:0
+0:1836311903:0
+0:2971215073:0
+0:4807526976:0
+0:7778742049:0
+0:12586269025:0
+1:55:55
+1:89:89
+1:144:144
+1:233:233
+1:377:377
+1:610:610
+1:987:987
+1:1597:1597
+1:2584:2584
+1:4181:4181
+1:6765:6765
+1:10946:10946
+1:17711:17711
+1:28657:28657
+1:46368:46368
+1:75025:75025
+1:121393:121393
+1:196418:196418
+1:317811:317811
+1:514229:514229
+1:832040:832040
+1:1346269:1346269
+1:2178309:2178309
+1:3524578:3524578
+1:5702887:5702887
+1:9227465:9227465
+1:14930352:14930352
+1:24157817:24157817
+1:39088169:39088169
+1:63245986:63245986
+1:102334155:102334155
+1:165580141:165580141
+1:267914296:267914296
+1:433494437:433494437
+1:701408733:701408733
+1:1134903170:1134903170
+1:1836311903:1836311903
+1:2971215073:2971215073
+1:4807526976:4807526976
+1:7778742049:7778742049
+1:12586269025:12586269025
+1:55:55
+1:89:89
+1:144:144
+1:233:233
+1:377:377
+1:610:610
+1:987:987
+1:1597:1597
+1:2584:2584
+1:4181:4181
+1:6765:6765
+1:10946:10946
+1:17711:17711
+1:28657:28657
+1:46368:46368
+1:75025:75025
+1:121393:121393
+1:196418:196418
+1:317811:317811
+1:514229:514229
+1:832040:832040
+1:1346269:1346269
+1:2178309:2178309
+1:3524578:3524578
+1:5702887:5702887
+1:9227465:9227465
+1:14930352:14930352
+1:24157817:24157817
+1:39088169:39088169
+1:63245986:63245986
+1:102334155:102334155
+1:165580141:165580141
+1:267914296:267914296
+1:433494437:433494437
+1:701408733:701408733
+1:1134903170:1134903170
+1:1836311903:1836311903
+1:2971215073:2971215073
+1:4807526976:4807526976
+1:7778742049:7778742049
+1:12586269025:12586269025
+2:55:110
+2:89:178
+2:144:144
+2:233:466
+2:377:754
+2:610:610
+2:987:1974
+2:1597:3194
+2:2584:2584
+2:4181:8362
+2:6765:13530
+2:10946:10946
+2:17711:35422
+2:28657:57314
+2:46368:46368
+2:75025:150050
+2:121393:242786
+2:196418:196418
+2:317811:635622
+2:514229:1028458
+2:832040:832040
+2:1346269:2692538
+2:2178309:4356618
+2:3524578:3524578
+2:5702887:11405774
+2:9227465:18454930
+2:14930352:14930352
+2:24157817:48315634
+2:39088169:78176338
+2:63245986:63245986
+2:102334155:204668310
+2:165580141:331160282
+2:267914296:267914296
+2:433494437:866988874
+2:701408733:1402817466
+2:1134903170:1134903170
+2:1836311903:3672623806
+2:2971215073:5942430146
+2:4807526976:4807526976
+2:7778742049:15557484098
+2:12586269025:25172538050
+3:55:165
+3:89:267
+3:144:144
+3:233:699
+3:377:1131
+3:610:1830
+3:987:987
+3:1597:4791
+3:2584:7752
+3:4181:12543
+3:6765:6765
+3:10946:32838
+3:17711:53133
+3:28657:85971
+3:46368:46368
+3:75025:225075
+3:121393:364179
+3:196418:589254
+3:317811:317811
+3:514229:1542687
+3:832040:2496120
+3:1346269:4038807
+3:2178309:2178309
+3:3524578:10573734
+3:5702887:17108661
+3:9227465:27682395
+3:14930352:14930352
+3:24157817:72473451
+3:39088169:117264507
+3:63245986:189737958
+3:102334155:102334155
+3:165580141:496740423
+3:267914296:803742888
+3:433494437:1300483311
+3:701408733:701408733
+3:1134903170:3404709510
+3:1836311903:5508935709
+3:2971215073:8913645219
+3:4807526976:4807526976
+3:7778742049:23336226147
+3:12586269025:37758807075
+5:55:55
+5:89:445
+5:144:720
+5:233:1165
+5:377:1885
+5:610:610
+5:987:4935
+5:1597:7985
+5:2584:12920
+5:4181:20905
+5:6765:6765
+5:10946:54730
+5:17711:88555
+5:28657:143285
+5:46368:231840
+5:75025:75025
+5:121393:606965
+5:196418:982090
+5:317811:1589055
+5:514229:2571145
+5:832040:832040
+5:1346269:6731345
+5:2178309:10891545
+5:3524578:17622890
+5:5702887:28514435
+5:9227465:9227465
+5:14930352:74651760
+5:24157817:120789085
+5:39088169:195440845
+5:63245986:316229930
+5:102334155:102334155
+5:165580141:827900705
+5:267914296:1339571480
+5:433494437:2167472185
+5:701408733:3507043665
+5:1134903170:1134903170
+5:1836311903:9181559515
+5:2971215073:14856075365
+5:4807526976:24037634880
+5:7778742049:38893710245
+5:12586269025:12586269025
+8:55:440
+8:89:712
+8:144:144
+8:233:1864
+8:377:3016
+8:610:2440
+8:987:7896
+8:1597:12776
+8:2584:2584
+8:4181:33448
+8:6765:54120
+8:10946:43784
+8:17711:141688
+8:28657:229256
+8:46368:46368
+8:75025:600200
+8:121393:971144
+8:196418:785672
+8:317811:2542488
+8:514229:4113832
+8:832040:832040
+8:1346269:10770152
+8:2178309:17426472
+8:3524578:14098312
+8:5702887:45623096
+8:9227465:73819720
+8:14930352:14930352
+8:24157817:193262536
+8:39088169:312705352
+8:63245986:252983944
+8:102334155:818673240
+8:165580141:1324641128
+8:267914296:267914296
+8:433494437:3467955496
+8:701408733:5611269864
+8:1134903170:4539612680
+8:1836311903:14690495224
+8:2971215073:23769720584
+8:4807526976:4807526976
+8:7778742049:62229936392
+8:12586269025:100690152200
+13:55:715
+13:89:1157
+13:144:1872
+13:233:3029
+13:377:377
+13:610:7930
+13:987:12831
+13:1597:20761
+13:2584:33592
+13:4181:54353
+13:6765:87945
+13:10946:10946
+13:17711:230243
+13:28657:372541
+13:46368:602784
+13:75025:975325
+13:121393:1578109
+13:196418:2553434
+13:317811:317811
+13:514229:6684977
+13:832040:10816520
+13:1346269:17501497
+13:2178309:28318017
+13:3524578:45819514
+13:5702887:74137531
+13:9227465:9227465
+13:14930352:194094576
+13:24157817:314051621
+13:39088169:508146197
+13:63245986:822197818
+13:102334155:1330344015
+13:165580141:2152541833
+13:267914296:267914296
+13:433494437:5635427681
+13:701408733:9118313529
+13:1134903170:14753741210
+13:1836311903:23872054739
+13:2971215073:38625795949
+13:4807526976:62497850688
+13:7778742049:7778742049
+13:12586269025:163621497325
+21:55:1155
+21:89:1869
+21:144:1008
+21:233:4893
+21:377:7917
+21:610:12810
+21:987:987
+21:1597:33537
+21:2584:54264
+21:4181:87801
+21:6765:47355
+21:10946:229866
+21:17711:371931
+21:28657:601797
+21:46368:46368
+21:75025:1575525
+21:121393:2549253
+21:196418:4124778
+21:317811:2224677
+21:514229:10798809
+21:832040:17472840
+21:1346269:28271649
+21:2178309:2178309
+21:3524578:74016138
+21:5702887:119760627
+21:9227465:193776765
+21:14930352:104512464
+21:24157817:507314157
+21:39088169:820851549
+21:63245986:1328165706
+21:102334155:102334155
+21:165580141:3477182961
+21:267914296:5626200216
+21:433494437:9103383177
+21:701408733:4909861131
+21:1134903170:23832966570
+21:1836311903:38562549963
+21:2971215073:62395516533
+21:4807526976:4807526976
+21:7778742049:163353583029
+21:12586269025:264311649525
+34:55:1870
+34:89:3026
+34:144:2448
+34:233:7922
+34:377:12818
+34:610:10370
+34:987:33558
+34:1597:54298
+34:2584:2584
+34:4181:142154
+34:6765:230010
+34:10946:186082
+34:17711:602174
+34:28657:974338
+34:46368:788256
+34:75025:2550850
+34:121393:4127362
+34:196418:196418
+34:317811:10805574
+34:514229:17483786
+34:832040:14144680
+34:1346269:45773146
+34:2178309:74062506
+34:3524578:59917826
+34:5702887:193898158
+34:9227465:313733810
+34:14930352:14930352
+34:24157817:821365778
+34:39088169:1328997746
+34:63245986:1075181762
+34:102334155:3479361270
+34:165580141:5629724794
+34:267914296:4554543032
+34:433494437:14738810858
+34:701408733:23847896922
+34:1134903170:1134903170
+34:1836311903:62434604702
+34:2971215073:101021312482
+34:4807526976:81727958592
+34:7778742049:264477229666
+34:12586269025:427933146850
+55:0:0
+55:1:55
+55:1:55
+55:2:110
+55:3:165
+55:5:55
+55:8:440
+55:13:715
+55:21:1155
+55:34:1870
+55:55:55
+55:89:4895
+55:144:7920
+55:233:12815
+55:377:20735
+55:610:6710
+55:987:54285
+55:1597:87835
+55:2584:142120
+55:4181:229955
+55:6765:6765
+55:10946:602030
+55:17711:974105
+55:28657:1576135
+55:46368:2550240
+55:75025:825275
+55:121393:6676615
+55:196418:10802990
+55:317811:17479605
+55:514229:28282595
+55:832040:832040
+55:1346269:74044795
+55:2178309:119806995
+55:3524578:193851790
+55:5702887:313658785
+55:9227465:101502115
+55:14930352:821169360
+55:24157817:1328679935
+55:39088169:2149849295
+55:63245986:3478529230
+55:102334155:102334155
+55:165580141:9106907755
+55:267914296:14735286280
+55:433494437:23842194035
+55:701408733:38577480315
+55:1134903170:12483934870
+55:1836311903:100997154665
+55:2971215073:163416829015
+55:4807526976:264413983680
+55:7778742049:427830812695
+55:12586269025:12586269025
+89:0:0
+89:1:89
+89:1:89
+89:2:178
+89:3:267
+89:5:445
+89:8:712
+89:13:1157
+89:21:1869
+89:34:3026
+89:55:4895
+89:89:89
+89:144:12816
+89:233:20737
+89:377:33553
+89:610:54290
+89:987:87843
+89:1597:142133
+89:2584:229976
+89:4181:372109
+89:6765:602085
+89:10946:974194
+89:17711:17711
+89:28657:2550473
+89:46368:4126752
+89:75025:6677225
+89:121393:10803977
+89:196418:17481202
+89:317811:28285179
+89:514229:45766381
+89:832040:74051560
+89:1346269:119817941
+89:2178309:193869501
+89:3524578:3524578
+89:5702887:507556943
+89:9227465:821244385
+89:14930352:1328801328
+89:24157817:2150045713
+89:39088169:3478847041
+89:63245986:5628892754
+89:102334155:9107739795
+89:165580141:14736632549
+89:267914296:23844372344
+89:433494437:38581004893
+89:701408733:701408733
+89:1134903170:101006382130
+89:1836311903:163431759367
+89:2971215073:264438141497
+89:4807526976:427869900864
+89:7778742049:692308042361
+89:12586269025:1120177943225
+144:0:0
+144:1:144
+144:1:144
+144:2:144
+144:3:144
+144:5:720
+144:8:144
+144:13:1872
+144:21:1008
+144:34:2448
+144:55:7920
+144:89:12816
+144:144:144
+144:233:33552
+144:377:54288
+144:610:43920
+144:987:47376
+144:1597:229968
+144:2584:46512
+144:4181:602064
+144:6765:324720
+144:10946:788112
+144:17711:2550384
+144:28657:4126608
+144:46368:46368
+144:75025:10803600
+144:121393:17480592
+144:196418:14142096
+144:317811:15254928
+144:514229:74048976
+144:832040:14976720
+144:1346269:193862736
+144:2178309:104558832
+144:3524578:253769616
+144:5702887:821215728
+144:9227465:1328754960
+144:14930352:14930352
+144:24157817:3478725648
+144:39088169:5628696336
+144:63245986:4553710992
+144:102334155:4912039440
+144:165580141:23843540304
+144:267914296:4822457328
+144:433494437:62423198928
+144:701408733:33667619184
+144:1134903170:81713028240
+144:1836311903:264428914032
+144:2971215073:427854970512
+144:4807526976:4807526976
+144:7778742049:1120138855056
+144:12586269025:1812422739600
+233:0:0
+233:1:233
+233:1:233
+233:2:466
+233:3:699
+233:5:1165
+233:8:1864
+233:13:3029
+233:21:4893
+233:34:7922
+233:55:12815
+233:89:20737
+233:144:33552
+233:233:233
+233:377:87841
+233:610:142130
+233:987:229971
+233:1597:372101
+233:2584:602072
+233:4181:974173
+233:6765:1576245
+233:10946:2550418
+233:17711:4126663
+233:28657:6677081
+233:46368:10803744
+233:75025:17480825
+233:121393:121393
+233:196418:45765394
+233:317811:74049963
+233:514229:119815357
+233:832040:193865320
+233:1346269:313680677
+233:2178309:507545997
+233:3524578:821226674
+233:5702887:1328772671
+233:9227465:2149999345
+233:14930352:3478772016
+233:24157817:5628771361
+233:39088169:9107543377
+233:63245986:63245986
+233:102334155:23843858115
+233:165580141:38580172853
+233:267914296:62424030968
+233:433494437:101004203821
+233:701408733:163428234789
+233:1134903170:264432438610
+233:1836311903:427860673399
+233:2971215073:692293112009
+233:4807526976:1120153785408
+233:7778742049:1812446897417
+233:12586269025:2932600682825
+377:0:0
+377:1:377
+377:1:377
+377:2:754
+377:3:1131
+377:5:1885
+377:8:3016
+377:13:377
+377:21:7917
+377:34:12818
+377:55:20735
+377:89:33553
+377:144:54288
+377:233:87841
+377:377:377
+377:610:229970
+377:987:372099
+377:1597:602069
+377:2584:974168
+377:4181:1576237
+377:6765:2550405
+377:10946:317434
+377:17711:6677047
+377:28657:10803689
+377:46368:17480736
+377:75025:28284425
+377:121393:45765161
+377:196418:74049586
+377:317811:317811
+377:514229:193864333
+377:832040:313679080
+377:1346269:507543413
+377:2178309:821222493
+377:3524578:1328765906
+377:5702887:2149988399
+377:9227465:267596485
+377:14930352:5628742704
+377:24157817:9107497009
+377:39088169:14736239713
+377:63245986:23843736722
+377:102334155:38579976435
+377:165580141:62423713157
+377:267914296:267914296
+377:433494437:163427402749
+377:701408733:264431092341
+377:1134903170:427858495090
+377:1836311903:692289587431
+377:2971215073:1120148082521
+377:4807526976:1812437669952
+377:7778742049:225583519421
+377:12586269025:4745023422425
+610:0:0
+610:1:610
+610:1:610
+610:2:610
+610:3:1830
+610:5:610
+610:8:2440
+610:13:7930
+610:21:12810
+610:34:10370
+610:55:6710
+610:89:54290
+610:144:43920
+610:233:142130
+610:377:229970
+610:610:610
+610:987:602070
+610:1597:974170
+610:2584:788120
+610:4181:2550410
+610:6765:825330
+610:10946:3338530
+610:17711:10803710
+610:28657:17480770
+610:46368:14142240
+610:75025:9153050
+610:121393:74049730
+610:196418:59907490
+610:317811:193864710
+610:514229:313679690
+610:832040:832040
+610:1346269:821224090
+610:2178309:1328768490
+610:3524578:1074996290
+610:5702887:3478761070
+610:9227465:1125750730
+610:14930352:4553757360
+610:24157817:14736268370
+610:39088169:23843783090
+610:63245986:19290025730
+610:102334155:12484766910
+610:165580141:101003886010
+610:267914296:81713860280
+610:433494437:264431606570
+610:701408733:427859327130
+610:1134903170:1134903170
+610:1836311903:1120150260830
+610:2971215073:1812441194530
+610:4807526976:1466295727680
+610:7778742049:4745032649890
+610:12586269025:1535524821050
+987:0:0
+987:1:987
+987:1:987
+987:2:1974
+987:3:987
+987:5:4935
+987:8:7896
+987:13:12831
+987:21:987
+987:34:33558
+987:55:54285
+987:89:87843
+987:144:47376
+987:233:229971
+987:377:372099
+987:610:602070
+987:987:987
+987:1597:1576239
+987:2584:2550408
+987:4181:4126647
+987:6765:2225685
+987:10946:10803702
+987:17711:17480757
+987:28657:28284459
+987:46368:2179296
+987:75025:74049675
+987:121393:119814891
+987:196418:193864566
+987:317811:104559819
+987:514229:507544023
+987:832040:821223480
+987:1346269:1328767503
+987:2178309:2178309
+987:3524578:3478758486
+987:5702887:5628749469
+987:9227465:9107507955
+987:14930352:4912085808
+987:24157817:23843765379
+987:39088169:38580022803
+987:63245986:62423788182
+987:102334155:4809705285
+987:165580141:163427599167
+987:267914296:264431410152
+987:433494437:427859009319
+987:701408733:230763473157
+987:1134903170:1120149428790
+987:1836311903:1812439848261
+987:2971215073:2932589277051
+987:4807526976:4807526976
+987:7778742049:7677618402363
+987:12586269025:12422647527675
+1597:0:0
+1597:1:1597
+1597:1:1597
+1597:2:3194
+1597:3:4791
+1597:5:7985
+1597:8:12776
+1597:13:20761
+1597:21:33537
+1597:34:54298
+1597:55:87835
+1597:89:142133
+1597:144:229968
+1597:233:372101
+1597:377:602069
+1597:610:974170
+1597:987:1576239
+1597:1597:1597
+1597:2584:4126648
+1597:4181:6677057
+1597:6765:10803705
+1597:10946:17480762
+1597:17711:28284467
+1597:28657:45765229
+1597:46368:74049696
+1597:75025:119814925
+1597:121393:193864621
+1597:196418:313679546
+1597:317811:507544167
+1597:514229:821223713
+1597:832040:1328767880
+1597:1346269:2149991593
+1597:2178309:3478759473
+1597:3524578:5628751066
+1597:5702887:5702887
+1597:9227465:14736261605
+1597:14930352:23843772144
+1597:24157817:38580033749
+1597:39088169:62423805893
+1597:63245986:101003839642
+1597:102334155:163427645535
+1597:165580141:264431485177
+1597:267914296:427859130712
+1597:433494437:692290615889
+1597:701408733:1120149746601
+1597:1134903170:1812440362490
+1597:1836311903:2932590109091
+1597:2971215073:4745030471581
+1597:4807526976:7677620580672
+1597:7778742049:12422651052253
+1597:12586269025:20100271632925
+2584:0:0
+2584:1:2584
+2584:1:2584
+2584:2:2584
+2584:3:7752
+2584:5:12920
+2584:8:2584
+2584:13:33592
+2584:21:54264
+2584:34:2584
+2584:55:142120
+2584:89:229976
+2584:144:46512
+2584:233:602072
+2584:377:974168
+2584:610:788120
+2584:987:2550408
+2584:1597:4126648
+2584:2584:2584
+2584:4181:10803704
+2584:6765:17480760
+2584:10946:14142232
+2584:17711:45765224
+2584:28657:74049688
+2584:46368:14976864
+2584:75025:193864600
+2584:121393:313679512
+2584:196418:14927768
+2584:317811:821223624
+2584:514229:1328767736
+2584:832040:268748920
+2584:1346269:3478759096
+2584:2178309:5628750456
+2584:3524578:4553754776
+2584:5702887:14736260008
+2584:9227465:23843769560
+2584:14930352:14930352
+2584:24157817:62423799128
+2584:39088169:101003828696
+2584:63245986:81713813912
+2584:102334155:264431456520
+2584:165580141:427859084344
+2584:267914296:86536317608
+2584:433494437:1120149625208
+2584:701408733:1812440166072
+2584:1134903170:86252640920
+2584:1836311903:4745029957352
+2584:2971215073:7677619748632
+2584:4807526976:1552831213248
+2584:7778742049:20100269454616
+2584:12586269025:32522919160600
+4181:0:0
+4181:1:4181
+4181:1:4181
+4181:2:8362
+4181:3:12543
+4181:5:20905
+4181:8:33448
+4181:13:54353
+4181:21:87801
+4181:34:142154
+4181:55:229955
+4181:89:372109
+4181:144:602064
+4181:233:974173
+4181:377:1576237
+4181:610:2550410
+4181:987:4126647
+4181:1597:6677057
+4181:2584:10803704
+4181:4181:4181
+4181:6765:28284465
+4181:10946:45765226
+4181:17711:74049691
+4181:28657:119814917
+4181:46368:193864608
+4181:75025:313679525
+4181:121393:507544133
+4181:196418:821223658
+4181:317811:1328767791
+4181:514229:2149991449
+4181:832040:3478759240
+4181:1346269:5628750689
+4181:2178309:9107509929
+4181:3524578:14736260618
+4181:5702887:23843770547
+4181:9227465:38580031165
+4181:14930352:62423801712
+4181:24157817:101003832877
+4181:39088169:39088169
+4181:63245986:264431467466
+4181:102334155:427859102055
+4181:165580141:692290569521
+4181:267914296:1120149671576
+4181:433494437:1812440241097
+4181:701408733:2932589912673
+4181:1134903170:4745030153770
+4181:1836311903:7677620066443
+4181:2971215073:12422650220213
+4181:4807526976:20100270286656
+4181:7778742049:32522920506869
+4181:12586269025:52623190793525
+6765:0:0
+6765:1:6765
+6765:1:6765
+6765:2:13530
+6765:3:6765
+6765:5:6765
+6765:8:54120
+6765:13:87945
+6765:21:47355
+6765:34:230010
+6765:55:6765
+6765:89:602085
+6765:144:324720
+6765:233:1576245
+6765:377:2550405
+6765:610:825330
+6765:987:2225685
+6765:1597:10803705
+6765:2584:17480760
+6765:4181:28284465
+6765:6765:6765
+6765:10946:74049690
+6765:17711:119814915
+6765:28657:193864605
+6765:46368:104559840
+6765:75025:101508825
+6765:121393:821223645
+6765:196418:1328767770
+6765:317811:716663805
+6765:514229:3478759185
+6765:832040:102340920
+6765:1346269:9107509785
+6765:2178309:4912086795
+6765:3524578:23843770170
+6765:5702887:38580030555
+6765:9227465:12484760145
+6765:14930352:33667943760
+6765:24157817:163427632005
+6765:39088169:264431463285
+6765:63245986:427859095290
+6765:102334155:102334155
+6765:165580141:1120149653865
+6765:267914296:1812440212440
+6765:433494437:2932589866305
+6765:701408733:1581676692915
+6765:1134903170:1535523989010
+6765:1836311903:12422650023795
+6765:2971215073:20100269968845
+6765:4807526976:10840973330880
+6765:7778742049:52623189961485
+6765:12586269025:1548111090075
+10946:0:0
+10946:1:10946
+10946:1:10946
+10946:2:10946
+10946:3:32838
+10946:5:54730
+10946:8:43784
+10946:13:10946
+10946:21:229866
+10946:34:186082
+10946:55:602030
+10946:89:974194
+10946:144:788112
+10946:233:2550418
+10946:377:317434
+10946:610:3338530
+10946:987:10803702
+10946:1597:17480762
+10946:2584:14142232
+10946:4181:45765226
+10946:6765:74049690
+10946:10946:10946
+10946:17711:193864606
+10946:28657:313679522
+10946:46368:253772064
+10946:75025:821223650
+10946:121393:1328767778
+10946:196418:1074995714
+10946:317811:267596862
+10946:514229:5628750634
+10946:832040:4553754920
+10946:1346269:14736260474
+10946:2178309:23843770314
+10946:3524578:19290015394
+10946:5702887:62423801102
+10946:9227465:7769525530
+10946:14930352:81713816496
+10946:24157817:264431464882
+10946:39088169:427859097874
+10946:63245986:346145281378
+10946:102334155:1120149660630
+10946:165580141:1812440223386
+10946:267914296:267914296
+10946:433494437:4745030107402
+10946:701408733:7677619991418
+10946:1134903170:6211325049410
+10946:1836311903:20100270090238
+10946:2971215073:32522920189058
+10946:4807526976:26311595139648
+10946:7778742049:6549700805258
+10946:12586269025:137769300747650
+17711:0:0
+17711:1:17711
+17711:1:17711
+17711:2:35422
+17711:3:53133
+17711:5:88555
+17711:8:141688
+17711:13:230243
+17711:21:371931
+17711:34:602174
+17711:55:974105
+17711:89:17711
+17711:144:2550384
+17711:233:4126663
+17711:377:6677047
+17711:610:10803710
+17711:987:17480757
+17711:1597:28284467
+17711:2584:45765224
+17711:4181:74049691
+17711:6765:119814915
+17711:10946:193864606
+17711:17711:17711
+17711:28657:507544127
+17711:46368:821223648
+17711:75025:1328767775
+17711:121393:2149991423
+17711:196418:3478759198
+17711:317811:5628750621
+17711:514229:9107509819
+17711:832040:14736260440
+17711:1346269:23843770259
+17711:2178309:38580030699
+17711:3524578:701391022
+17711:5702887:101003831657
+17711:9227465:163427632615
+17711:14930352:264431464272
+17711:24157817:427859096887
+17711:39088169:692290561159
+17711:63245986:1120149658046
+17711:102334155:1812440219205
+17711:165580141:2932589877251
+17711:267914296:4745030096456
+17711:433494437:7677619973707
+17711:701408733:701408733
+17711:1134903170:20100270043870
+17711:1836311903:32522920114033
+17711:2971215073:52623190157903
+17711:4807526976:85146110271936
+17711:7778742049:137769300429839
+17711:12586269025:222915410701775
+28657:0:0
+28657:1:28657
+28657:1:28657
+28657:2:57314
+28657:3:85971
+28657:5:143285
+28657:8:229256
+28657:13:372541
+28657:21:601797
+28657:34:974338
+28657:55:1576135
+28657:89:2550473
+28657:144:4126608
+28657:233:6677081
+28657:377:10803689
+28657:610:17480770
+28657:987:28284459
+28657:1597:45765229
+28657:2584:74049688
+28657:4181:119814917
+28657:6765:193864605
+28657:10946:313679522
+28657:17711:507544127
+28657:28657:28657
+28657:46368:1328767776
+28657:75025:2149991425
+28657:121393:3478759201
+28657:196418:5628750626
+28657:317811:9107509827
+28657:514229:14736260453
+28657:832040:23843770280
+28657:1346269:38580030733
+28657:2178309:62423801013
+28657:3524578:101003831746
+28657:5702887:163427632759
+28657:9227465:264431464505
+28657:14930352:427859097264
+28657:24157817:692290561769
+28657:39088169:1120149659033
+28657:63245986:1812440220802
+28657:102334155:2932589879835
+28657:165580141:4745030100637
+28657:267914296:7677619980472
+28657:433494437:12422650081109
+28657:701408733:20100270061581
+28657:1134903170:32522920142690
+28657:1836311903:1836311903
+28657:2971215073:85146110346961
+28657:4807526976:137769300551232
+28657:7778742049:222915410898193
+28657:12586269025:360684711449425
+46368:0:0
+46368:1:46368
+46368:1:46368
+46368:2:46368
+46368:3:46368
+46368:5:231840
+46368:8:46368
+46368:13:602784
+46368:21:46368
+46368:34:788256
+46368:55:2550240
+46368:89:4126752
+46368:144:46368
+46368:233:10803744
+46368:377:17480736
+46368:610:14142240
+46368:987:2179296
+46368:1597:74049696
+46368:2584:14976864
+46368:4181:193864608
+46368:6765:104559840
+46368:10946:253772064
+46368:17711:821223648
+46368:28657:1328767776
+46368:46368:46368
+46368:75025:3478759200
+46368:121393:5628750624
+46368:196418:4553754912
+46368:317811:4912086816
+46368:514229:23843770272
+46368:832040:4822503840
+46368:1346269:62423800992
+46368:2178309:4809706272
+46368:3524578:81713816352
+46368:5702887:264431464416
+46368:9227465:427859097120
+46368:14930352:4807573344
+46368:24157817:1120149658656
+46368:39088169:1812440220192
+46368:63245986:1466294939424
+46368:102334155:225953814240
+46368:165580141:7677619977888
+46368:267914296:1552831259616
+46368:433494437:20100270054816
+46368:701408733:10840973377248
+46368:1134903170:26311595093280
+46368:1836311903:85146110318304
+46368:2971215073:137769300504864
+46368:4807526976:4807526976
+46368:7778742049:360684711328032
+46368:12586269025:583600122151200
+75025:0:0
+75025:1:75025
+75025:1:75025
+75025:2:150050
+75025:3:225075
+75025:5:75025
+75025:8:600200
+75025:13:975325
+75025:21:1575525
+75025:34:2550850
+75025:55:825275
+75025:89:6677225
+75025:144:10803600
+75025:233:17480825
+75025:377:28284425
+75025:610:9153050
+75025:987:74049675
+75025:1597:119814925
+75025:2584:193864600
+75025:4181:313679525
+75025:6765:101508825
+75025:10946:821223650
+75025:17711:1328767775
+75025:28657:2149991425
+75025:46368:3478759200
+75025:75025:75025
+75025:121393:9107509825
+75025:196418:14736260450
+75025:317811:23843770275
+75025:514229:38580030725
+75025:832040:12484760200
+75025:1346269:101003831725
+75025:2178309:163427632725
+75025:3524578:264431464450
+75025:5702887:427859097175
+75025:9227465:138458112325
+75025:14930352:1120149658800
+75025:24157817:1812440220425
+75025:39088169:2932589879225
+75025:63245986:4745030099650
+75025:102334155:1535523995775
+75025:165580141:12422650078525
+75025:267914296:20100270057400
+75025:433494437:32522920135925
+75025:701408733:52623190193325
+75025:1134903170:17029222065850
+75025:1836311903:137769300522575
+75025:2971215073:222915410851825
+75025:4807526976:360684711374400
+75025:7778742049:583600122226225
+75025:12586269025:12586269025
+121393:0:0
+121393:1:121393
+121393:1:121393
+121393:2:242786
+121393:3:364179
+121393:5:606965
+121393:8:971144
+121393:13:1578109
+121393:21:2549253
+121393:34:4127362
+121393:55:6676615
+121393:89:10803977
+121393:144:17480592
+121393:233:121393
+121393:377:45765161
+121393:610:74049730
+121393:987:119814891
+121393:1597:193864621
+121393:2584:313679512
+121393:4181:507544133
+121393:6765:821223645
+121393:10946:1328767778
+121393:17711:2149991423
+121393:28657:3478759201
+121393:46368:5628750624
+121393:75025:9107509825
+121393:121393:121393
+121393:196418:23843770274
+121393:317811:38580030723
+121393:514229:62423800997
+121393:832040:101003831720
+121393:1346269:163427632717
+121393:2178309:264431464437
+121393:3524578:427859097154
+121393:5702887:692290561591
+121393:9227465:1120149658745
+121393:14930352:1812440220336
+121393:24157817:2932589879081
+121393:39088169:4745030099417
+121393:63245986:32951158706
+121393:102334155:12422650077915
+121393:165580141:20100270056413
+121393:267914296:32522920134328
+121393:433494437:52623190190741
+121393:701408733:85146110325069
+121393:1134903170:137769300515810
+121393:1836311903:222915410840879
+121393:2971215073:360684711356689
+121393:4807526976:583600122197568
+121393:7778742049:944284833554257
+121393:12586269025:1527884955751825
+196418:0:0
+196418:1:196418
+196418:1:196418
+196418:2:196418
+196418:3:589254
+196418:5:982090
+196418:8:785672
+196418:13:2553434
+196418:21:4124778
+196418:34:196418
+196418:55:10802990
+196418:89:17481202
+196418:144:14142096
+196418:233:45765394
+196418:377:74049586
+196418:610:59907490
+196418:987:193864566
+196418:1597:313679546
+196418:2584:14927768
+196418:4181:821223658
+196418:6765:1328767770
+196418:10946:1074995714
+196418:17711:3478759198
+196418:28657:5628750626
+196418:46368:4553754912
+196418:75025:14736260450
+196418:121393:23843770274
+196418:196418:196418
+196418:317811:62423800998
+196418:514229:101003831722
+196418:832040:81713816360
+196418:1346269:264431464442
+196418:2178309:427859097162
+196418:3524578:346145280802
+196418:5702887:1120149658766
+196418:9227465:1812440220370
+196418:14930352:86252643504
+196418:24157817:4745030099506
+196418:39088169:7677619978642
+196418:63245986:6211325039074
+196418:102334155:20100270056790
+196418:165580141:32522920134938
+196418:267914296:26311595095864
+196418:433494437:85146110326666
+196418:701408733:137769300518394
+196418:1134903170:6556335613090
+196418:1836311903:360684711363454
+196418:2971215073:583600122208514
+196418:4807526976:472142416785984
+196418:7778742049:1527884955780482
+196418:12586269025:2472169789352450
+317811:0:0
+317811:1:317811
+317811:1:317811
+317811:2:635622
+317811:3:317811
+317811:5:1589055
+317811:8:2542488
+317811:13:317811
+317811:21:2224677
+317811:34:10805574
+317811:55:17479605
+317811:89:28285179
+317811:144:15254928
+317811:233:74049963
+317811:377:317811
+317811:610:193864710
+317811:987:104559819
+317811:1597:507544167
+317811:2584:821223624
+317811:4181:1328767791
+317811:6765:716663805
+317811:10946:267596862
+317811:17711:5628750621
+317811:28657:9107509827
+317811:46368:4912086816
+317811:75025:23843770275
+317811:121393:38580030723
+317811:196418:62423800998
+317811:317811:317811
+317811:514229:163427632719
+317811:832040:264431464440
+317811:1346269:427859097159
+317811:2178309:230763520533
+317811:3524578:1120149658758
+317811:5702887:1812440220357
+317811:9227465:225583836855
+317811:14930352:1581676699824
+317811:24157817:7677619978587
+317811:39088169:12422650078059
+317811:63245986:20100270056646
+317811:102334155:10840973378235
+317811:165580141:52623190191351
+317811:267914296:225851751528
+317811:433494437:137769300517407
+317811:701408733:74305136947821
+317811:1134903170:360684711360870
+317811:1836311903:583600122204333
+317811:2971215073:944284833565203
+317811:4807526976:509294985256512
+317811:7778742049:190166906871903
+317811:12586269025:4000054745104275
+514229:0:0
+514229:1:514229
+514229:1:514229
+514229:2:1028458
+514229:3:1542687
+514229:5:2571145
+514229:8:4113832
+514229:13:6684977
+514229:21:10798809
+514229:34:17483786
+514229:55:28282595
+514229:89:45766381
+514229:144:74048976
+514229:233:119815357
+514229:377:193864333
+514229:610:313679690
+514229:987:507544023
+514229:1597:821223713
+514229:2584:1328767736
+514229:4181:2149991449
+514229:6765:3478759185
+514229:10946:5628750634
+514229:17711:9107509819
+514229:28657:14736260453
+514229:46368:23843770272
+514229:75025:38580030725
+514229:121393:62423800997
+514229:196418:101003831722
+514229:317811:163427632719
+514229:514229:514229
+514229:832040:427859097160
+514229:1346269:692290561601
+514229:2178309:1120149658761
+514229:3524578:1812440220362
+514229:5702887:2932589879123
+514229:9227465:4745030099485
+514229:14930352:7677619978608
+514229:24157817:12422650078093
+514229:39088169:20100270056701
+514229:63245986:32522920134794
+514229:102334155:52623190191495
+514229:165580141:85146110326289
+514229:267914296:137769300517784
+514229:433494437:222915410844073
+514229:701408733:360684711361857
+514229:1134903170:583600122205930
+514229:1836311903:944284833567787
+514229:2971215073:1527884955773717
+514229:4807526976:2472169789341504
+514229:7778742049:4000054745115221
+514229:12586269025:6472224534456725
+832040:0:0
+832040:1:832040
+832040:1:832040
+832040:2:832040
+832040:3:2496120
+832040:5:832040
+832040:8:832040
+832040:13:10816520
+832040:21:17472840
+832040:34:14144680
+832040:55:832040
+832040:89:74051560
+832040:144:14976720
+832040:233:193865320
+832040:377:313679080
+832040:610:832040
+832040:987:821223480
+832040:1597:1328767880
+832040:2584:268748920
+832040:4181:3478759240
+832040:6765:102340920
+832040:10946:4553754920
+832040:17711:14736260440
+832040:28657:23843770280
+832040:46368:4822503840
+832040:75025:12484760200
+832040:121393:101003831720
+832040:196418:81713816360
+832040:317811:264431464440
+832040:514229:427859097160
+832040:832040:832040
+832040:1346269:1120149658760
+832040:2178309:1812440220360
+832040:3524578:1466294939560
+832040:5702887:4745030099480
+832040:9227465:1535523995720
+832040:14930352:1552831259760
+832040:24157817:20100270056680
+832040:39088169:32522920134760
+832040:63245986:26311595095720
+832040:102334155:1548111096840
+832040:165580141:137769300517640
+832040:267914296:27864426355480
+832040:433494437:360684711361480
+832040:701408733:583600122205320
+832040:1134903170:1548007923880
+832040:1836311903:1527884955772120
+832040:2971215073:2472169789338920
+832040:4807526976:500006843138880
+832040:7778742049:6472224534449960
+832040:12586269025:190405077810200
+1346269:0:0
+1346269:1:1346269
+1346269:1:1346269
+1346269:2:2692538
+1346269:3:4038807
+1346269:5:6731345
+1346269:8:10770152
+1346269:13:17501497
+1346269:21:28271649
+1346269:34:45773146
+1346269:55:74044795
+1346269:89:119817941
+1346269:144:193862736
+1346269:233:313680677
+1346269:377:507543413
+1346269:610:821224090
+1346269:987:1328767503
+1346269:1597:2149991593
+1346269:2584:3478759096
+1346269:4181:5628750689
+1346269:6765:9107509785
+1346269:10946:14736260474
+1346269:17711:23843770259
+1346269:28657:38580030733
+1346269:46368:62423800992
+1346269:75025:101003831725
+1346269:121393:163427632717
+1346269:196418:264431464442
+1346269:317811:427859097159
+1346269:514229:692290561601
+1346269:832040:1120149658760
+1346269:1346269:1346269
+1346269:2178309:2932589879121
+1346269:3524578:4745030099482
+1346269:5702887:7677619978603
+1346269:9227465:12422650078085
+1346269:14930352:20100270056688
+1346269:24157817:32522920134773
+1346269:39088169:52623190191461
+1346269:63245986:85146110326234
+1346269:102334155:137769300517695
+1346269:165580141:222915410843929
+1346269:267914296:360684711361624
+1346269:433494437:583600122205553
+1346269:701408733:944284833567177
+1346269:1134903170:1527884955772730
+1346269:1836311903:2472169789339907
+1346269:2971215073:4000054745112637
+1346269:4807526976:6472224534452544
+1346269:7778742049:10472279279565181
+1346269:12586269025:16944503814017725
+2178309:0:0
+2178309:1:2178309
+2178309:1:2178309
+2178309:2:4356618
+2178309:3:2178309
+2178309:5:10891545
+2178309:8:17426472
+2178309:13:28318017
+2178309:21:2178309
+2178309:34:74062506
+2178309:55:119806995
+2178309:89:193869501
+2178309:144:104558832
+2178309:233:507545997
+2178309:377:821222493
+2178309:610:1328768490
+2178309:987:2178309
+2178309:1597:3478759473
+2178309:2584:5628750456
+2178309:4181:9107509929
+2178309:6765:4912086795
+2178309:10946:23843770314
+2178309:17711:38580030699
+2178309:28657:62423801013
+2178309:46368:4809706272
+2178309:75025:163427632725
+2178309:121393:264431464437
+2178309:196418:427859097162
+2178309:317811:230763520533
+2178309:514229:1120149658761
+2178309:832040:1812440220360
+2178309:1346269:2932589879121
+2178309:2178309:2178309
+2178309:3524578:7677619978602
+2178309:5702887:12422650078083
+2178309:9227465:20100270056685
+2178309:14930352:10840973378256
+2178309:24157817:52623190191453
+2178309:39088169:85146110326221
+2178309:63245986:137769300517674
+2178309:102334155:10615019563995
+2178309:165580141:360684711361569
+2178309:267914296:583600122205464
+2178309:433494437:944284833567033
+2178309:701408733:509294985257499
+2178309:1134903170:2472169789339530
+2178309:1836311903:4000054745112027
+2178309:2971215073:6472224534451557
+2178309:4807526976:10610212036032
+2178309:7778742049:16944503814015141
+2178309:12586269025:27416783093578725
+3524578:0:0
+3524578:1:3524578
+3524578:1:3524578
+3524578:2:3524578
+3524578:3:10573734
+3524578:5:17622890
+3524578:8:14098312
+3524578:13:45819514
+3524578:21:74016138
+3524578:34:59917826
+3524578:55:193851790
+3524578:89:3524578
+3524578:144:253769616
+3524578:233:821226674
+3524578:377:1328765906
+3524578:610:1074996290
+3524578:987:3478758486
+3524578:1597:5628751066
+3524578:2584:4553754776
+3524578:4181:14736260618
+3524578:6765:23843770170
+3524578:10946:19290015394
+3524578:17711:701391022
+3524578:28657:101003831746
+3524578:46368:81713816352
+3524578:75025:264431464450
+3524578:121393:427859097154
+3524578:196418:346145280802
+3524578:317811:1120149658758
+3524578:514229:1812440220362
+3524578:832040:1466294939560
+3524578:1346269:4745030099482
+3524578:2178309:7677619978602
+3524578:3524578:3524578
+3524578:5702887:20100270056686
+3524578:9227465:32522920134770
+3524578:14930352:26311595095728
+3524578:24157817:85146110326226
+3524578:39088169:137769300517682
+3524578:63245986:111457705421954
+3524578:102334155:360684711361590
+3524578:165580141:583600122205498
+3524578:267914296:472142416783544
+3524578:433494437:1527884955772586
+3524578:701408733:27777188644266
+3524578:1134903170:2000027372556130
+3524578:1836311903:6472224534451934
+3524578:2971215073:10472279279564194
+3524578:4807526976:8472251907008064
+3524578:7778742049:27416783093580322
+3524578:12586269025:44361286907596450
+5702887:0:0
+5702887:1:5702887
+5702887:1:5702887
+5702887:2:11405774
+5702887:3:17108661
+5702887:5:28514435
+5702887:8:45623096
+5702887:13:74137531
+5702887:21:119760627
+5702887:34:193898158
+5702887:55:313658785
+5702887:89:507556943
+5702887:144:821215728
+5702887:233:1328772671
+5702887:377:2149988399
+5702887:610:3478761070
+5702887:987:5628749469
+5702887:1597:5702887
+5702887:2584:14736260008
+5702887:4181:23843770547
+5702887:6765:38580030555
+5702887:10946:62423801102
+5702887:17711:101003831657
+5702887:28657:163427632759
+5702887:46368:264431464416
+5702887:75025:427859097175
+5702887:121393:692290561591
+5702887:196418:1120149658766
+5702887:317811:1812440220357
+5702887:514229:2932589879123
+5702887:832040:4745030099480
+5702887:1346269:7677619978603
+5702887:2178309:12422650078083
+5702887:3524578:20100270056686
+5702887:5702887:5702887
+5702887:9227465:52623190191455
+5702887:14930352:85146110326224
+5702887:24157817:137769300517679
+5702887:39088169:222915410843903
+5702887:63245986:360684711361582
+5702887:102334155:583600122205485
+5702887:165580141:944284833567067
+5702887:267914296:1527884955772552
+5702887:433494437:2472169789339619
+5702887:701408733:4000054745112171
+5702887:1134903170:6472224534451790
+5702887:1836311903:10472279279563961
+5702887:2971215073:16944503814015751
+5702887:4807526976:27416783093579712
+5702887:7778742049:44361286907595463
+5702887:12586269025:71778070001175175
+9227465:0:0
+9227465:1:9227465
+9227465:1:9227465
+9227465:2:18454930
+9227465:3:27682395
+9227465:5:9227465
+9227465:8:73819720
+9227465:13:9227465
+9227465:21:193776765
+9227465:34:313733810
+9227465:55:101502115
+9227465:89:821244385
+9227465:144:1328754960
+9227465:233:2149999345
+9227465:377:267596485
+9227465:610:1125750730
+9227465:987:9107507955
+9227465:1597:14736261605
+9227465:2584:23843769560
+9227465:4181:38580031165
+9227465:6765:12484760145
+9227465:10946:7769525530
+9227465:17711:163427632615
+9227465:28657:264431464505
+9227465:46368:427859097120
+9227465:75025:138458112325
+9227465:121393:1120149658745
+9227465:196418:1812440220370
+9227465:317811:225583836855
+9227465:514229:4745030099485
+9227465:832040:1535523995720
+9227465:1346269:12422650078085
+9227465:2178309:20100270056685
+9227465:3524578:32522920134770
+9227465:5702887:52623190191455
+9227465:9227465:9227465
+9227465:14930352:137769300517680
+9227465:24157817:222915410843905
+9227465:39088169:360684711361585
+9227465:63245986:583600122205490
+9227465:102334155:188856966713415
+9227465:165580141:1527884955772565
+9227465:267914296:190166906872280
+9227465:433494437:4000054745112205
+9227465:701408733:6472224534451845
+9227465:1134903170:2094455855912810
+9227465:1836311903:16944503814015895
+9227465:2971215073:27416783093579945
+9227465:4807526976:44361286907595840
+9227465:7778742049:5521390000090445
+9227465:12586269025:23227871381754325
+14930352:0:0
+14930352:1:14930352
+14930352:1:14930352
+14930352:2:14930352
+14930352:3:14930352
+14930352:5:74651760
+14930352:8:14930352
+14930352:13:194094576
+14930352:21:104512464
+14930352:34:14930352
+14930352:55:821169360
+14930352:89:1328801328
+14930352:144:14930352
+14930352:233:3478772016
+14930352:377:5628742704
+14930352:610:4553757360
+14930352:987:4912085808
+14930352:1597:23843772144
+14930352:2584:14930352
+14930352:4181:62423801712
+14930352:6765:33667943760
+14930352:10946:81713816496
+14930352:17711:264431464272
+14930352:28657:427859097264
+14930352:46368:4807573344
+14930352:75025:1120149658800
+14930352:121393:1812440220336
+14930352:196418:86252643504
+14930352:317811:1581676699824
+14930352:514229:7677619978608
+14930352:832040:1552831259760
+14930352:1346269:20100270056688
+14930352:2178309:10840973378256
+14930352:3524578:26311595095728
+14930352:5702887:85146110326224
+14930352:9227465:137769300517680
+14930352:14930352:14930352
+14930352:24157817:360684711361584
+14930352:39088169:583600122205488
+14930352:63245986:472142416783536
+14930352:102334155:509294985257520
+14930352:165580141:2472169789339632
+14930352:267914296:500006843139024
+14930352:433494437:6472224534451824
+14930352:701408733:3490759759854672
+14930352:1134903170:498367759235760
+14930352:1836311903:27416783093579856
+14930352:2971215073:44361286907595696
+14930352:4807526976:498458819452608
+14930352:7778742049:116139356908771248
+14930352:12586269025:187917426909946800
+24157817:0:0
+24157817:1:24157817
+24157817:1:24157817
+24157817:2:48315634
+24157817:3:72473451
+24157817:5:120789085
+24157817:8:193262536
+24157817:13:314051621
+24157817:21:507314157
+24157817:34:821365778
+24157817:55:1328679935
+24157817:89:2150045713
+24157817:144:3478725648
+24157817:233:5628771361
+24157817:377:9107497009
+24157817:610:14736268370
+24157817:987:23843765379
+24157817:1597:38580033749
+24157817:2584:62423799128
+24157817:4181:101003832877
+24157817:6765:163427632005
+24157817:10946:264431464882
+24157817:17711:427859096887
+24157817:28657:692290561769
+24157817:46368:1120149658656
+24157817:75025:1812440220425
+24157817:121393:2932589879081
+24157817:196418:4745030099506
+24157817:317811:7677619978587
+24157817:514229:12422650078093
+24157817:832040:20100270056680
+24157817:1346269:32522920134773
+24157817:2178309:52623190191453
+24157817:3524578:85146110326226
+24157817:5702887:137769300517679
+24157817:9227465:222915410843905
+24157817:14930352:360684711361584
+24157817:24157817:24157817
+24157817:39088169:944284833567073
+24157817:63245986:1527884955772562
+24157817:102334155:2472169789339635
+24157817:165580141:4000054745112197
+24157817:267914296:6472224534451832
+24157817:433494437:10472279279564029
+24157817:701408733:16944503814015861
+24157817:1134903170:27416783093579890
+24157817:1836311903:44361286907595751
+24157817:2971215073:71778070001175641
+24157817:4807526976:116139356908771392
+24157817:7778742049:187917426909947033
+24157817:12586269025:304056783818718425
+39088169:0:0
+39088169:1:39088169
+39088169:1:39088169
+39088169:2:78176338
+39088169:3:117264507
+39088169:5:195440845
+39088169:8:312705352
+39088169:13:508146197
+39088169:21:820851549
+39088169:34:1328997746
+39088169:55:2149849295
+39088169:89:3478847041
+39088169:144:5628696336
+39088169:233:9107543377
+39088169:377:14736239713
+39088169:610:23843783090
+39088169:987:38580022803
+39088169:1597:62423805893
+39088169:2584:101003828696
+39088169:4181:39088169
+39088169:6765:264431463285
+39088169:10946:427859097874
+39088169:17711:692290561159
+39088169:28657:1120149659033
+39088169:46368:1812440220192
+39088169:75025:2932589879225
+39088169:121393:4745030099417
+39088169:196418:7677619978642
+39088169:317811:12422650078059
+39088169:514229:20100270056701
+39088169:832040:32522920134760
+39088169:1346269:52623190191461
+39088169:2178309:85146110326221
+39088169:3524578:137769300517682
+39088169:5702887:222915410843903
+39088169:9227465:360684711361585
+39088169:14930352:583600122205488
+39088169:24157817:944284833567073
+39088169:39088169:39088169
+39088169:63245986:2472169789339634
+39088169:102334155:4000054745112195
+39088169:165580141:6472224534451829
+39088169:267914296:10472279279564024
+39088169:433494437:16944503814015853
+39088169:701408733:27416783093579877
+39088169:1134903170:44361286907595730
+39088169:1836311903:71778070001175607
+39088169:2971215073:116139356908771337
+39088169:4807526976:187917426909946944
+39088169:7778742049:304056783818718281
+39088169:12586269025:491974210728665225
+63245986:0:0
+63245986:1:63245986
+63245986:1:63245986
+63245986:2:63245986
+63245986:3:189737958
+63245986:5:316229930
+63245986:8:252983944
+63245986:13:822197818
+63245986:21:1328165706
+63245986:34:1075181762
+63245986:55:3478529230
+63245986:89:5628892754
+63245986:144:4553710992
+63245986:233:63245986
+63245986:377:23843736722
+63245986:610:19290025730
+63245986:987:62423788182
+63245986:1597:101003839642
+63245986:2584:81713813912
+63245986:4181:264431467466
+63245986:6765:427859095290
+63245986:10946:346145281378
+63245986:17711:1120149658046
+63245986:28657:1812440220802
+63245986:46368:1466294939424
+63245986:75025:4745030099650
+63245986:121393:32951158706
+63245986:196418:6211325039074
+63245986:317811:20100270056646
+63245986:514229:32522920134794
+63245986:832040:26311595095720
+63245986:1346269:85146110326234
+63245986:2178309:137769300517674
+63245986:3524578:111457705421954
+63245986:5702887:360684711361582
+63245986:9227465:583600122205490
+63245986:14930352:472142416783536
+63245986:24157817:1527884955772562
+63245986:39088169:2472169789339634
+63245986:63245986:63245986
+63245986:102334155:6472224534451830
+63245986:165580141:10472279279564026
+63245986:267914296:8472251907007928
+63245986:433494437:27416783093579882
+63245986:701408733:44361286907595738
+63245986:1134903170:35889035000587810
+63245986:1836311903:116139356908771358
+63245986:2971215073:187917426909946978
+63245986:4807526976:152028391909359168
+63245986:7778742049:491974210728665314
+63245986:12586269025:796030994547383650
+102334155:0:0
+102334155:1:102334155
+102334155:1:102334155
+102334155:2:204668310
+102334155:3:102334155
+102334155:5:102334155
+102334155:8:818673240
+102334155:13:1330344015
+102334155:21:102334155
+102334155:34:3479361270
+102334155:55:102334155
+102334155:89:9107739795
+102334155:144:4912039440
+102334155:233:23843858115
+102334155:377:38579976435
+102334155:610:12484766910
+102334155:987:4809705285
+102334155:1597:163427645535
+102334155:2584:264431456520
+102334155:4181:427859102055
+102334155:6765:102334155
+102334155:10946:1120149660630
+102334155:17711:1812440219205
+102334155:28657:2932589879835
+102334155:46368:225953814240
+102334155:75025:1535523995775
+102334155:121393:12422650077915
+102334155:196418:20100270056790
+102334155:317811:10840973378235
+102334155:514229:52623190191495
+102334155:832040:1548111096840
+102334155:1346269:137769300517695
+102334155:2178309:10615019563995
+102334155:3524578:360684711361590
+102334155:5702887:583600122205485
+102334155:9227465:188856966713415
+102334155:14930352:509294985257520
+102334155:24157817:2472169789339635
+102334155:39088169:4000054745112195
+102334155:63245986:6472224534451830
+102334155:102334155:102334155
+102334155:165580141:16944503814015855
+102334155:267914296:27416783093579880
+102334155:433494437:44361286907595735
+102334155:701408733:23926023333725205
+102334155:1134903170:23227871381754270
+102334155:1836311903:187917426909946965
+102334155:2971215073:304056783818718315
+102334155:4807526976:23427343368031680
+102334155:7778742049:796030994547383595
+102334155:12586269025:23418276459564525
+165580141:0:0
+165580141:1:165580141
+165580141:1:165580141
+165580141:2:331160282
+165580141:3:496740423
+165580141:5:827900705
+165580141:8:1324641128
+165580141:13:2152541833
+165580141:21:3477182961
+165580141:34:5629724794
+165580141:55:9106907755
+165580141:89:14736632549
+165580141:144:23843540304
+165580141:233:38580172853
+165580141:377:62423713157
+165580141:610:101003886010
+165580141:987:163427599167
+165580141:1597:264431485177
+165580141:2584:427859084344
+165580141:4181:692290569521
+165580141:6765:1120149653865
+165580141:10946:1812440223386
+165580141:17711:2932589877251
+165580141:28657:4745030100637
+165580141:46368:7677619977888
+165580141:75025:12422650078525
+165580141:121393:20100270056413
+165580141:196418:32522920134938
+165580141:317811:52623190191351
+165580141:514229:85146110326289
+165580141:832040:137769300517640
+165580141:1346269:222915410843929
+165580141:2178309:360684711361569
+165580141:3524578:583600122205498
+165580141:5702887:944284833567067
+165580141:9227465:1527884955772565
+165580141:14930352:2472169789339632
+165580141:24157817:4000054745112197
+165580141:39088169:6472224534451829
+165580141:63245986:10472279279564026
+165580141:102334155:16944503814015855
+165580141:165580141:165580141
+165580141:267914296:44361286907595736
+165580141:433494437:71778070001175617
+165580141:701408733:116139356908771353
+165580141:1134903170:187917426909946970
+165580141:1836311903:304056783818718323
+165580141:2971215073:491974210728665293
+165580141:4807526976:796030994547383616
+165580141:7778742049:1288005205276048909
+165580141:12586269025:2084036199823432525
+267914296:0:0
+267914296:1:267914296
+267914296:1:267914296
+267914296:2:267914296
+267914296:3:803742888
+267914296:5:1339571480
+267914296:8:267914296
+267914296:13:267914296
+267914296:21:5626200216
+267914296:34:4554543032
+267914296:55:14735286280
+267914296:89:23844372344
+267914296:144:4822457328
+267914296:233:62424030968
+267914296:377:267914296
+267914296:610:81713860280
+267914296:987:264431410152
+267914296:1597:427859130712
+267914296:2584:86536317608
+267914296:4181:1120149671576
+267914296:6765:1812440212440
+267914296:10946:267914296
+267914296:17711:4745030096456
+267914296:28657:7677619980472
+267914296:46368:1552831259616
+267914296:75025:20100270057400
+267914296:121393:32522920134328
+267914296:196418:26311595095864
+267914296:317811:225851751528
+267914296:514229:137769300517784
+267914296:832040:27864426355480
+267914296:1346269:360684711361624
+267914296:2178309:583600122205464
+267914296:3524578:472142416783544
+267914296:5702887:1527884955772552
+267914296:9227465:190166906872280
+267914296:14930352:500006843139024
+267914296:24157817:6472224534451832
+267914296:39088169:10472279279564024
+267914296:63245986:8472251907007928
+267914296:102334155:27416783093579880
+267914296:165580141:44361286907595736
+267914296:267914296:267914296
+267914296:433494437:116139356908771352
+267914296:701408733:187917426909946968
+267914296:1134903170:152028391909359160
+267914296:1836311903:491974210728665288
+267914296:2971215073:796030994547383608
+267914296:4807526976:161000650659506112
+267914296:7778742049:160310476909494808
+267914296:12586269025:3372041405099481400
+433494437:0:0
+433494437:1:433494437
+433494437:1:433494437
+433494437:2:866988874
+433494437:3:1300483311
+433494437:5:2167472185
+433494437:8:3467955496
+433494437:13:5635427681
+433494437:21:9103383177
+433494437:34:14738810858
+433494437:55:23842194035
+433494437:89:38581004893
+433494437:144:62423198928
+433494437:233:101004203821
+433494437:377:163427402749
+433494437:610:264431606570
+433494437:987:427859009319
+433494437:1597:692290615889
+433494437:2584:1120149625208
+433494437:4181:1812440241097
+433494437:6765:2932589866305
+433494437:10946:4745030107402
+433494437:17711:7677619973707
+433494437:28657:12422650081109
+433494437:46368:20100270054816
+433494437:75025:32522920135925
+433494437:121393:52623190190741
+433494437:196418:85146110326666
+433494437:317811:137769300517407
+433494437:514229:222915410844073
+433494437:832040:360684711361480
+433494437:1346269:583600122205553
+433494437:2178309:944284833567033
+433494437:3524578:1527884955772586
+433494437:5702887:2472169789339619
+433494437:9227465:4000054745112205
+433494437:14930352:6472224534451824
+433494437:24157817:10472279279564029
+433494437:39088169:16944503814015853
+433494437:63245986:27416783093579882
+433494437:102334155:44361286907595735
+433494437:165580141:71778070001175617
+433494437:267914296:116139356908771352
+433494437:433494437:433494437
+433494437:701408733:304056783818718321
+433494437:1134903170:491974210728665290
+433494437:1836311903:796030994547383611
+433494437:2971215073:1288005205276048901
+433494437:4807526976:2084036199823432512
+433494437:7778742049:3372041405099481413
+433494437:12586269025:5456077604922913925
+701408733:0:0
+701408733:1:701408733
+701408733:1:701408733
+701408733:2:1402817466
+701408733:3:701408733
+701408733:5:3507043665
+701408733:8:5611269864
+701408733:13:9118313529
+701408733:21:4909861131
+701408733:34:23847896922
+701408733:55:38577480315
+701408733:89:701408733
+701408733:144:33667619184
+701408733:233:163428234789
+701408733:377:264431092341
+701408733:610:427859327130
+701408733:987:230763473157
+701408733:1597:1120149746601
+701408733:2584:1812440166072
+701408733:4181:2932589912673
+701408733:6765:1581676692915
+701408733:10946:7677619991418
+701408733:17711:701408733
+701408733:28657:20100270061581
+701408733:46368:10840973377248
+701408733:75025:52623190193325
+701408733:121393:85146110325069
+701408733:196418:137769300518394
+701408733:317811:74305136947821
+701408733:514229:360684711361857
+701408733:832040:583600122205320
+701408733:1346269:944284833567177
+701408733:2178309:509294985257499
+701408733:3524578:27777188644266
+701408733:5702887:4000054745112171
+701408733:9227465:6472224534451845
+701408733:14930352:3490759759854672
+701408733:24157817:16944503814015861
+701408733:39088169:27416783093579877
+701408733:63245986:44361286907595738
+701408733:102334155:23926023333725205
+701408733:165580141:116139356908771353
+701408733:267914296:187917426909946968
+701408733:433494437:304056783818718321
+701408733:701408733:701408733
+701408733:1134903170:796030994547383610
+701408733:1836311903:1288005205276048899
+701408733:2971215073:2084036199823432509
+701408733:4807526976:1124013801699827136
+701408733:7778742049:5456077604922913917
+701408733:12586269025:8828119010022395325
+1134903170:0:0
+1134903170:1:1134903170
+1134903170:1:1134903170
+1134903170:2:1134903170
+1134903170:3:3404709510
+1134903170:5:1134903170
+1134903170:8:4539612680
+1134903170:13:14753741210
+1134903170:21:23832966570
+1134903170:34:1134903170
+1134903170:55:12483934870
+1134903170:89:101006382130
+1134903170:144:81713028240
+1134903170:233:264432438610
+1134903170:377:427858495090
+1134903170:610:1134903170
+1134903170:987:1120149428790
+1134903170:1597:1812440362490
+1134903170:2584:86252640920
+1134903170:4181:4745030153770
+1134903170:6765:1535523989010
+1134903170:10946:6211325049410
+1134903170:17711:20100270043870
+1134903170:28657:32522920142690
+1134903170:46368:26311595093280
+1134903170:75025:17029222065850
+1134903170:121393:137769300515810
+1134903170:196418:6556335613090
+1134903170:317811:360684711360870
+1134903170:514229:583600122205930
+1134903170:832040:1548007923880
+1134903170:1346269:1527884955772730
+1134903170:2178309:2472169789339530
+1134903170:3524578:2000027372556130
+1134903170:5702887:6472224534451790
+1134903170:9227465:2094455855912810
+1134903170:14930352:498367759235760
+1134903170:24157817:27416783093579890
+1134903170:39088169:44361286907595730
+1134903170:63245986:35889035000587810
+1134903170:102334155:23227871381754270
+1134903170:165580141:187917426909946970
+1134903170:267914296:152028391909359160
+1134903170:433494437:491974210728665290
+1134903170:701408733:796030994547383610
+1134903170:1134903170:1134903170
+1134903170:1836311903:2084036199823432510
+1134903170:2971215073:3372041405099481410
+1134903170:4807526976:2728038802461456960
+1134903170:7778742049:8828119010022395330
+1134903170:12586269025:2856839322989061850
+1836311903:0:0
+1836311903:1:1836311903
+1836311903:1:1836311903
+1836311903:2:3672623806
+1836311903:3:5508935709
+1836311903:5:9181559515
+1836311903:8:14690495224
+1836311903:13:23872054739
+1836311903:21:38562549963
+1836311903:34:62434604702
+1836311903:55:100997154665
+1836311903:89:163431759367
+1836311903:144:264428914032
+1836311903:233:427860673399
+1836311903:377:692289587431
+1836311903:610:1120150260830
+1836311903:987:1812439848261
+1836311903:1597:2932590109091
+1836311903:2584:4745029957352
+1836311903:4181:7677620066443
+1836311903:6765:12422650023795
+1836311903:10946:20100270090238
+1836311903:17711:32522920114033
+1836311903:28657:1836311903
+1836311903:46368:85146110318304
+1836311903:75025:137769300522575
+1836311903:121393:222915410840879
+1836311903:196418:360684711363454
+1836311903:317811:583600122204333
+1836311903:514229:944284833567787
+1836311903:832040:1527884955772120
+1836311903:1346269:2472169789339907
+1836311903:2178309:4000054745112027
+1836311903:3524578:6472224534451934
+1836311903:5702887:10472279279563961
+1836311903:9227465:16944503814015895
+1836311903:14930352:27416783093579856
+1836311903:24157817:44361286907595751
+1836311903:39088169:71778070001175607
+1836311903:63245986:116139356908771358
+1836311903:102334155:187917426909946965
+1836311903:165580141:304056783818718323
+1836311903:267914296:491974210728665288
+1836311903:433494437:796030994547383611
+1836311903:701408733:1288005205276048899
+1836311903:1134903170:2084036199823432510
+1836311903:1836311903:1836311903
+1836311903:2971215073:5456077604922913919
+1836311903:4807526976:8828119010022395328
+1836311903:7778742049:14284196614945309247
+1836311903:12586269025:23112315624967704575
+2971215073:0:0
+2971215073:1:2971215073
+2971215073:1:2971215073
+2971215073:2:5942430146
+2971215073:3:8913645219
+2971215073:5:14856075365
+2971215073:8:23769720584
+2971215073:13:38625795949
+2971215073:21:62395516533
+2971215073:34:101021312482
+2971215073:55:163416829015
+2971215073:89:264438141497
+2971215073:144:427854970512
+2971215073:233:692293112009
+2971215073:377:1120148082521
+2971215073:610:1812441194530
+2971215073:987:2932589277051
+2971215073:1597:4745030471581
+2971215073:2584:7677619748632
+2971215073:4181:12422650220213
+2971215073:6765:20100269968845
+2971215073:10946:32522920189058
+2971215073:17711:52623190157903
+2971215073:28657:85146110346961
+2971215073:46368:137769300504864
+2971215073:75025:222915410851825
+2971215073:121393:360684711356689
+2971215073:196418:583600122208514
+2971215073:317811:944284833565203
+2971215073:514229:1527884955773717
+2971215073:832040:2472169789338920
+2971215073:1346269:4000054745112637
+2971215073:2178309:6472224534451557
+2971215073:3524578:10472279279564194
+2971215073:5702887:16944503814015751
+2971215073:9227465:27416783093579945
+2971215073:14930352:44361286907595696
+2971215073:24157817:71778070001175641
+2971215073:39088169:116139356908771337
+2971215073:63245986:187917426909946978
+2971215073:102334155:304056783818718315
+2971215073:165580141:491974210728665293
+2971215073:267914296:796030994547383608
+2971215073:433494437:1288005205276048901
+2971215073:701408733:2084036199823432509
+2971215073:1134903170:3372041405099481410
+2971215073:1836311903:5456077604922913919
+2971215073:2971215073:2971215073
+2971215073:4807526976:14284196614945309248
+2971215073:7778742049:23112315624967704577
+2971215073:12586269025:37396512239913013825
+4807526976:0:0
+4807526976:1:4807526976
+4807526976:1:4807526976
+4807526976:2:4807526976
+4807526976:3:4807526976
+4807526976:5:24037634880
+4807526976:8:4807526976
+4807526976:13:62497850688
+4807526976:21:4807526976
+4807526976:34:81727958592
+4807526976:55:264413983680
+4807526976:89:427869900864
+4807526976:144:4807526976
+4807526976:233:1120153785408
+4807526976:377:1812437669952
+4807526976:610:1466295727680
+4807526976:987:4807526976
+4807526976:1597:7677620580672
+4807526976:2584:1552831213248
+4807526976:4181:20100270286656
+4807526976:6765:10840973330880
+4807526976:10946:26311595139648
+4807526976:17711:85146110271936
+4807526976:28657:137769300551232
+4807526976:46368:4807526976
+4807526976:75025:360684711374400
+4807526976:121393:583600122197568
+4807526976:196418:472142416785984
+4807526976:317811:509294985256512
+4807526976:514229:2472169789341504
+4807526976:832040:500006843138880
+4807526976:1346269:6472224534452544
+4807526976:2178309:10610212036032
+4807526976:3524578:8472251907008064
+4807526976:5702887:27416783093579712
+4807526976:9227465:44361286907595840
+4807526976:14930352:498458819452608
+4807526976:24157817:116139356908771392
+4807526976:39088169:187917426909946944
+4807526976:63245986:152028391909359168
+4807526976:102334155:23427343368031680
+4807526976:165580141:796030994547383616
+4807526976:267914296:161000650659506112
+4807526976:433494437:2084036199823432512
+4807526976:701408733:1124013801699827136
+4807526976:1134903170:2728038802461456960
+4807526976:1836311903:8828119010022395328
+4807526976:2971215073:14284196614945309248
+4807526976:4807526976:4807526976
+4807526976:7778742049:37396512239913013824
+4807526976:12586269025:60508827864880718400
+7778742049:0:0
+7778742049:1:7778742049
+7778742049:1:7778742049
+7778742049:2:15557484098
+7778742049:3:23336226147
+7778742049:5:38893710245
+7778742049:8:62229936392
+7778742049:13:7778742049
+7778742049:21:163353583029
+7778742049:34:264477229666
+7778742049:55:427830812695
+7778742049:89:692308042361
+7778742049:144:1120138855056
+7778742049:233:1812446897417
+7778742049:377:225583519421
+7778742049:610:4745032649890
+7778742049:987:7677618402363
+7778742049:1597:12422651052253
+7778742049:2584:20100269454616
+7778742049:4181:32522920506869
+7778742049:6765:52623189961485
+7778742049:10946:6549700805258
+7778742049:17711:137769300429839
+7778742049:28657:222915410898193
+7778742049:46368:360684711328032
+7778742049:75025:583600122226225
+7778742049:121393:944284833554257
+7778742049:196418:1527884955780482
+7778742049:317811:190166906871903
+7778742049:514229:4000054745115221
+7778742049:832040:6472224534449960
+7778742049:1346269:10472279279565181
+7778742049:2178309:16944503814015141
+7778742049:3524578:27416783093580322
+7778742049:5702887:44361286907595463
+7778742049:9227465:5521390000090445
+7778742049:14930352:116139356908771248
+7778742049:24157817:187917426909947033
+7778742049:39088169:304056783818718281
+7778742049:63245986:491974210728665314
+7778742049:102334155:796030994547383595
+7778742049:165580141:1288005205276048909
+7778742049:267914296:160310476909494808
+7778742049:433494437:3372041405099481413
+7778742049:701408733:5456077604922913917
+7778742049:1134903170:8828119010022395330
+7778742049:1836311903:14284196614945309247
+7778742049:2971215073:23112315624967704577
+7778742049:4807526976:37396512239913013824
+7778742049:7778742049:7778742049
+7778742049:12586269025:97905340104793732225
+12586269025:0:0
+12586269025:1:12586269025
+12586269025:1:12586269025
+12586269025:2:25172538050
+12586269025:3:37758807075
+12586269025:5:12586269025
+12586269025:8:100690152200
+12586269025:13:163621497325
+12586269025:21:264311649525
+12586269025:34:427933146850
+12586269025:55:12586269025
+12586269025:89:1120177943225
+12586269025:144:1812422739600
+12586269025:233:2932600682825
+12586269025:377:4745023422425
+12586269025:610:1535524821050
+12586269025:987:12422647527675
+12586269025:1597:20100271632925
+12586269025:2584:32522919160600
+12586269025:4181:52623190793525
+12586269025:6765:1548111090075
+12586269025:10946:137769300747650
+12586269025:17711:222915410701775
+12586269025:28657:360684711449425
+12586269025:46368:583600122151200
+12586269025:75025:12586269025
+12586269025:121393:1527884955751825
+12586269025:196418:2472169789352450
+12586269025:317811:4000054745104275
+12586269025:514229:6472224534456725
+12586269025:832040:190405077810200
+12586269025:1346269:16944503814017725
+12586269025:2178309:27416783093578725
+12586269025:3524578:44361286907596450
+12586269025:5702887:71778070001175175
+12586269025:9227465:23227871381754325
+12586269025:14930352:187917426909946800
+12586269025:24157817:304056783818718425
+12586269025:39088169:491974210728665225
+12586269025:63245986:796030994547383650
+12586269025:102334155:23418276459564525
+12586269025:165580141:2084036199823432525
+12586269025:267914296:3372041405099481400
+12586269025:433494437:5456077604922913925
+12586269025:701408733:8828119010022395325
+12586269025:1134903170:2856839322989061850
+12586269025:1836311903:23112315624967704575
+12586269025:2971215073:37396512239913013825
+12586269025:4807526976:60508827864880718400
+12586269025:7778742049:97905340104793732225
+12586269025:12586269025:12586269025
diff --git a/t/author-lib-arithmetic-binary-_lcm.t b/t/author-lib-arithmetic-binary-_lcm.t
new file mode 100644
index 0000000..76e3d5f
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_lcm.t
@@ -0,0 +1,172 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 20205;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type(s) the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+can_ok($LIB, '_lcm');
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+my @data;
+
+# Add data in data file.
+
+(my $datafile = $0) =~ s/\.t/.dat/;
+open DATAFILE, $datafile or die "$datafile: can't open file for reading: $!";
+while () {
+ s/\s+\z//;
+ next if /^#/ || ! /\S/;
+ push @data, [ split /:/ ];
+}
+close DATAFILE or die "$datafile: can't close file after reading: $!";
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_lcm(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_lcm() in list context: $test", sub {
+ plan tests => $scalar_util_ok ? 9 : 8;
+
+ cmp_ok(scalar @got, "==", 1,
+ "'$test' gives one output arg");
+
+ is(ref($got[0]), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ my $strx = $LIB->_str($x);
+ ok($strx eq $out0 || $strx eq $in0,
+ "'$test' first input arg has the right value")
+ or diag(" got: $strx\n", " expected: ",
+ $out0 eq $in0 ? $out0 : "$out0 or $in0");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
+
+# Scalar context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($got);
+ my ($x, $y);
+ my ($xo, $yo);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\$got = $LIB->_lcm(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_lcm() in scalar context: $test", sub {
+ plan tests => $scalar_util_ok ? 8 : 7;
+
+ is(ref($got), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ my $strx = $LIB->_str($x);
+ ok($strx eq $out0 || $strx eq $in0,
+ "'$test' first input arg has the right value")
+ or diag(" got: $strx\n", " expected: ",
+ $out0 eq $in0 ? $out0 : "$out0 or $in0");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_log_int.t b/t/author-lib-arithmetic-binary-_log_int.t
new file mode 100644
index 0000000..70639db
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_log_int.t
@@ -0,0 +1,146 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 22023;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type(s) the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+can_ok($LIB, '_log_int');
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+my @data;
+
+# Small numbers.
+
+for (my $x = 0; $x <= 1000 ; ++ $x) {
+ for (my $y = 0; $y <= 10 ; ++ $y) {
+
+ if ($x == 0 || $y <= 1) {
+ push @data, [ $x, $y, undef, undef ];
+ next;
+ }
+
+ my $z = int(log($x) / log($y));
+ $z++ while $y ** $z < $x;
+ $z-- while $y ** $z > $x;
+ my $status = $y ** $z == $x ? 1 : 0;
+ push @data, [ $x, $y, $z, $status ];
+ }
+}
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0, $out1) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_log_int(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_log_int() in list context: $test", sub {
+
+ unless (defined $out0) {
+ plan tests => 1;
+
+ is($got[0], $out0,
+ "'$test' output arg has the right value");
+ return;
+ }
+
+ plan tests => $scalar_util_ok ? 11 : 10;
+
+ # Number of input arguments.
+
+ cmp_ok(scalar @got, '==', 2,
+ "'$test' gives two output args");
+
+ # First output argument.
+
+ is(ref($got[0]), $REF,
+ "'$test' first output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' first output is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' first output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+
+ # Second output argument.
+
+ is(ref($got[1]), "",
+ "'$test' second output arg is a scalar");
+
+ is($got[1], $out1,
+ "'$test' second output arg has the right value");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_mod.dat b/t/author-lib-arithmetic-binary-_mod.dat
new file mode 100644
index 0000000..4d0b356
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_mod.dat
@@ -0,0 +1,12250 @@
+335:8:7
+183:2:1
+132:2:0
+445:8:5
+638:7:1
+839:39:20
+443:38:25
+389:97:1
+531:43:15
+553:48:25
+381:860:381
+343:872:343
+721:712:9
+483:204:75
+561:294:267
+341:5509:341
+349:8257:349
+441:3139:441
+694:1203:694
+507:2855:507
+507:6:3
+769:2:1
+517:1:0
+975:8:7
+676:8:4
+823:26:17
+264:31:16
+126:41:3
+874:73:71
+643:20:3
+283:705:283
+992:559:433
+672:317:38
+250:257:250
+938:545:393
+414:1740:414
+306:5539:306
+774:2296:774
+227:5577:227
+489:7925:489
+734:6:2
+636:6:0
+431:6:5
+344:4:0
+530:2:0
+865:67:61
+623:14:7
+408:33:12
+452:10:2
+525:74:7
+224:653:224
+471:842:471
+861:677:184
+403:394:9
+833:996:833
+670:3978:670
+883:7984:883
+740:6648:740
+655:9837:655
+643:3010:643
+110:5:0
+839:7:6
+875:6:5
+990:7:3
+969:2:1
+474:42:12
+439:17:14
+666:59:17
+279:29:18
+509:54:23
+831:352:127
+468:941:468
+653:716:653
+309:492:309
+736:126:106
+915:8378:915
+143:8090:143
+731:9138:731
+977:6932:977
+755:3681:755
+491:2:1
+450:9:0
+608:9:5
+948:4:0
+102:8:6
+219:12:3
+821:41:1
+143:48:47
+430:40:30
+506:45:11
+263:735:263
+346:291:55
+895:556:339
+228:296:228
+322:264:58
+806:2388:806
+113:7038:113
+439:9850:439
+515:8130:515
+686:9807:686
+7016:8:0
+4514:5:4
+6177:7:3
+5587:4:3
+7737:3:0
+6377:39:20
+6017:54:23
+9238:54:4
+9443:11:5
+9452:72:20
+3828:335:143
+8622:311:225
+1681:433:382
+9253:520:413
+1726:110:76
+1077:5669:1077
+3963:2921:1042
+9259:7534:1725
+1656:1122:534
+7602:3784:34
+3030:50661:3030
+6027:17249:6027
+3882:38446:3882
+1136:58517:1136
+4375:70242:4375
+2993:9:5
+8011:4:3
+3516:3:0
+6248:3:2
+6225:9:6
+7504:60:4
+9219:27:12
+7853:31:10
+1122:70:2
+5615:82:39
+5794:392:306
+4807:216:55
+2048:933:182
+1378:697:681
+5248:342:118
+9147:3773:1601
+2005:3090:2005
+9955:9053:902
+2319:3428:2319
+8293:6840:1453
+2068:93538:2068
+9260:66014:9260
+1343:16117:1343
+2638:33541:2638
+5528:12623:5528
+1632:3:0
+9950:9:5
+3374:4:2
+6815:9:2
+2181:3:0
+1650:23:17
+3458:50:8
+7962:48:42
+5655:25:5
+7837:41:6
+3138:656:514
+3580:371:241
+6310:163:116
+8776:918:514
+6163:595:213
+9191:1674:821
+3666:9725:3666
+1523:1226:297
+9386:5251:4135
+7233:8841:7233
+5813:45382:5813
+6461:74541:6461
+7814:31612:7814
+4847:37749:4847
+7858:80381:7858
+7401:4:1
+4572:1:0
+9030:1:0
+7311:6:3
+4556:9:2
+3405:77:17
+1140:16:4
+5881:65:31
+7292:93:38
+4505:31:10
+5038:824:94
+3136:623:21
+4095:811:40
+9979:186:121
+1375:940:435
+8183:8324:8183
+4847:2294:259
+5251:6551:5251
+5083:4880:203
+9141:6290:2851
+3890:50277:3890
+7097:82328:7097
+9469:71443:9469
+6510:39354:6510
+2187:88755:2187
+3463:9:7
+5638:2:0
+2120:3:2
+7292:8:4
+2758:3:1
+3144:26:24
+8095:88:87
+1578:10:8
+8523:91:60
+5185:61:0
+9680:839:451
+9249:389:302
+6804:838:100
+4158:812:98
+4138:846:754
+5431:6489:5431
+9812:1350:362
+6283:5171:1112
+9546:9508:38
+2249:5368:2249
+9039:52152:9039
+8084:53973:8084
+7349:30635:7349
+6400:88096:6400
+3423:59892:3423
+17236:4:0
+42260:6:2
+56700:9:0
+70712:8:0
+56832:3:0
+81201:14:1
+42264:33:24
+51796:74:70
+91899:99:27
+46114:74:12
+44940:943:619
+69149:992:701
+17319:944:327
+38498:610:68
+81612:922:476
+95807:2081:81
+20346:1008:186
+64572:8202:7158
+98600:6984:824
+72993:1103:195
+42267:51490:42267
+77124:80935:77124
+76747:52794:23953
+90168:31773:26622
+48371:24930:23441
+54630:168709:54630
+92449:343920:92449
+83884:454948:83884
+23012:685365:23012
+72989:144464:72989
+62895:7:0
+86615:4:3
+25570:4:2
+28604:1:0
+90934:9:7
+79950:89:28
+91589:77:36
+33441:61:13
+76503:38:9
+96183:33:21
+46737:788:245
+77759:779:638
+13349:183:173
+41366:395:286
+80672:983:66
+95317:2333:1997
+88312:3983:686
+30647:5499:3152
+11057:7984:3073
+12776:4147:335
+20624:43964:20624
+19328:32155:19328
+20247:11815:8432
+89944:53179:36765
+72751:91722:72751
+79285:719192:79285
+82427:176064:82427
+38750:422445:38750
+81162:605622:81162
+36476:121259:36476
+23938:7:5
+82005:6:3
+38056:2:0
+66005:1:0
+55867:1:0
+29809:60:49
+66880:41:9
+68905:33:1
+10377:70:17
+25990:27:16
+47941:324:313
+88994:773:99
+93339:460:419
+30586:526:78
+91557:212:185
+38501:6825:4376
+39875:3688:2995
+53531:2136:131
+85198:3355:1323
+66531:9950:6831
+87161:91712:87161
+96805:16047:523
+40342:15072:10198
+59461:59913:59461
+62151:38812:23339
+35479:251645:35479
+86191:988782:86191
+88914:497407:88914
+69487:968601:69487
+77573:546788:77573
+63528:4:0
+63025:6:1
+78315:6:3
+24763:1:0
+85255:4:3
+60043:62:27
+43321:33:25
+97357:53:49
+57457:48:1
+30930:31:23
+59514:149:63
+80152:410:202
+83471:392:367
+40046:524:222
+55265:502:45
+33440:6522:830
+35056:4579:3003
+79690:4116:1486
+26709:5488:4757
+36523:1787:783
+51451:47447:4004
+83901:14732:10241
+20388:51806:20388
+17507:71627:17507
+35161:57242:35161
+90230:952437:90230
+62744:104984:62744
+35284:414994:35284
+48131:315458:48131
+11208:732496:11208
+95271:5:1
+66414:7:5
+53604:1:0
+22992:7:4
+51064:9:7
+28125:30:15
+24980:43:40
+65793:37:7
+79359:27:6
+27020:46:18
+42142:707:429
+72321:995:681
+62201:838:189
+38996:971:156
+65142:874:466
+71060:9852:2096
+36660:5737:2238
+45432:6718:5124
+63045:4368:1893
+25801:5344:4425
+51114:92283:51114
+92508:64727:27781
+35069:45229:35069
+27505:60708:27505
+86358:24044:14226
+95567:701050:95567
+60994:913506:60994
+85299:670082:85299
+84363:583214:84363
+42665:459351:42665
+449628:2:0
+133781:6:5
+223421:3:2
+773772:8:4
+649662:4:2
+863620:19:13
+231906:45:21
+493406:38:14
+188092:63:37
+710981:10:1
+741174:209:60
+884848:344:80
+370278:707:517
+797033:293:73
+218203:926:593
+827121:6257:1197
+251223:5478:4713
+969828:8401:3713
+489861:1622:17
+427168:3174:1852
+440102:52313:21598
+274971:50054:24701
+544276:64103:31452
+428114:47493:677
+725528:77072:31880
+161894:206885:161894
+516856:743344:516856
+470901:344115:126786
+938804:294240:56084
+278774:107028:64718
+411932:7711827:411932
+818457:4596594:818457
+997315:1389806:997315
+201753:4623379:201753
+219000:8365338:219000
+413400:5:0
+990700:4:0
+345204:9:0
+836853:5:3
+336627:6:3
+873841:43:38
+395440:95:50
+803402:65:2
+806166:67:22
+589728:33:18
+173150:695:95
+973353:266:59
+760533:329:214
+426338:665:73
+794032:597:22
+372550:2879:1159
+848948:2981:2344
+105971:1466:419
+984665:8485:405
+285780:4339:3745
+542996:90247:1514
+495725:91707:37190
+887655:36770:5175
+128394:72366:56028
+741878:96581:65811
+246944:336455:246944
+108338:617552:108338
+216277:112494:103783
+823575:736170:87405
+618542:964691:618542
+222964:7054066:222964
+662347:6648878:662347
+962378:9233345:962378
+690967:9627756:690967
+300549:8738170:300549
+551280:7:2
+520776:4:0
+172483:4:3
+560212:2:0
+757999:4:3
+226651:46:9
+767890:21:4
+810919:19:18
+671432:38:10
+104039:70:19
+714466:303:295
+278848:822:190
+684970:306:142
+763254:392:30
+736697:433:164
+511367:6914:6645
+843410:4832:2642
+409198:3597:2737
+251185:6679:4062
+853453:3496:429
+721861:79591:5542
+268176:44896:43696
+946780:54581:18903
+457524:93923:81832
+835101:22340:8521
+369993:822027:369993
+838094:734098:103996
+510761:257140:253621
+826056:594487:231569
+948169:283732:96973
+383092:2618630:383092
+962124:4602401:962124
+268679:8511734:268679
+696854:1208944:696854
+243624:8513459:243624
+125441:2:1
+339431:1:0
+524997:4:1
+687475:2:1
+744993:5:3
+119028:82:46
+965818:22:18
+364830:72:6
+281862:22:20
+949959:26:23
+681417:788:585
+881810:667:36
+252093:588:429
+780593:624:593
+467318:214:156
+111310:9939:1981
+818058:7207:3667
+110222:4426:3998
+970664:4051:2475
+319824:8671:7668
+280122:55488:2682
+491169:57807:28713
+448195:71562:18823
+159361:84562:74799
+889031:62958:7619
+226745:500816:226745
+251791:874472:251791
+132547:259431:132547
+533335:546316:533335
+728510:605374:123136
+434799:5166324:434799
+676853:9261794:676853
+566464:4208786:566464
+561686:2245199:561686
+465983:3516250:465983
+813309:7:0
+880649:2:1
+954323:8:3
+943994:5:4
+463504:8:0
+628357:36:13
+688661:66:17
+867421:39:22
+139774:14:12
+516917:32:21
+846506:919:107
+917646:984:558
+994124:186:140
+600164:775:314
+134005:413:193
+828002:6714:2180
+601538:4592:4578
+907081:5064:625
+518966:4300:2966
+656260:3201:55
+960055:57701:36839
+625980:60290:23080
+718095:86045:29735
+487892:46741:20482
+695946:74129:28785
+164727:514531:164727
+900763:319258:262247
+167797:933234:167797
+679099:305545:68009
+109376:254087:109376
+939617:6468619:939617
+623435:3480010:623435
+608540:1019783:608540
+425736:8013454:425736
+165353:7360421:165353
+9770451:7:5
+7034869:7:2
+8936367:5:2
+2675200:9:4
+3722834:5:4
+3147020:31:24
+4021907:12:11
+3957820:28:20
+1550639:82:19
+2473935:15:0
+8115582:756:678
+1003387:399:301
+5758356:680:116
+3184360:967:29
+5405225:754:553
+4253282:6307:2364
+3176522:7168:1098
+3997395:7881:1728
+1217011:9545:4796
+4570541:4072:1757
+4841465:93916:51749
+4533687:57737:30201
+9734726:13353:389
+8730400:82147:22818
+3157091:61563:17378
+4549887:270296:225151
+2939403:572940:74703
+2964254:845421:427991
+7786451:932847:323675
+9119979:964525:439254
+7344029:5080315:2263714
+1046290:4021900:1046290
+1182120:7658304:1182120
+9502000:4620217:261566
+8966170:5163576:3802594
+1020753:95363962:1020753
+4194901:57096647:4194901
+4908146:73487014:4908146
+3267340:16080677:3267340
+8235694:83131021:8235694
+9838198:1:0
+6834159:8:7
+5060713:7:0
+7509236:5:1
+2325978:6:0
+1567922:67:55
+2093028:36:24
+1581930:39:12
+3932148:56:52
+6256753:46:17
+3544058:518:420
+7322468:596:12
+8139477:926:863
+5779428:508:420
+5761225:161:1
+3610827:4933:4804
+8668266:7837:544
+5889958:9693:6307
+6694723:4007:3033
+2716457:9645:6212
+2814794:51700:22994
+3140981:12946:8049
+1559939:26188:14847
+9942508:66868:46044
+6810209:83904:13985
+5706698:658797:436322
+5293969:721606:242727
+9874510:184789:80693
+6191456:179548:86824
+8236065:998287:249769
+6823728:9302327:6823728
+8192320:4189813:4002507
+7490527:9327425:7490527
+1413227:3725085:1413227
+5204388:5879420:5204388
+7731696:79465338:7731696
+6196295:39029720:6196295
+1062184:51981462:1062184
+1869821:27223888:1869821
+3171806:31585239:3171806
+7619938:5:3
+5298716:2:0
+3549827:5:2
+1250225:7:4
+6400077:7:5
+4665389:39:14
+5458557:42:27
+1558386:37:20
+5166871:94:67
+3648069:67:53
+1632604:663:298
+4700442:317:283
+1804207:172:99
+8406868:755:698
+1776946:460:426
+2201713:8660:2073
+6892811:6345:2141
+6870569:6278:2437
+1576482:5402:4500
+6869065:4586:3823
+2696378:50593:14949
+4888010:50141:24333
+1013265:70042:32677
+9099505:26582:8461
+8454943:25234:1553
+2515077:657035:543972
+6846147:817400:306947
+2692509:901050:890409
+2698790:173774:92180
+1236951:839766:397185
+4303539:7690819:4303539
+9081344:1997427:1091636
+2680754:9617761:2680754
+6711662:5997933:713729
+9239603:4991372:4248231
+6777212:67669214:6777212
+1224223:94748011:1224223
+8097637:53614682:8097637
+7088967:89131111:7088967
+8153224:38777414:8153224
+6846499:3:1
+4878706:6:4
+8353568:6:2
+2406088:7:6
+2457196:7:0
+2786972:96:92
+9733551:75:51
+8353534:52:46
+4148684:66:56
+2296488:74:46
+3746644:946:484
+8574375:112:103
+4035226:792:778
+9401335:122:15
+4252848:767:600
+4061817:7397:864
+9336770:7526:4530
+7006918:5115:4483
+7920491:2974:729
+8052048:1791:1503
+2344568:58559:2208
+1139521:86729:12044
+1021742:76914:21860
+9042827:18166:14325
+8735013:60593:9621
+4659614:914166:88784
+5630070:485107:293893
+8308338:870409:474657
+9110478:780071:529697
+2625350:431645:35480
+3081021:5452445:3081021
+2633153:2933937:2633153
+7797518:6131839:1665679
+8240054:9375678:8240054
+2976521:5172364:2976521
+4879133:48122414:4879133
+7838870:99234068:7838870
+5541896:29770327:5541896
+5728159:59938077:5728159
+1462226:42062631:1462226
+3744437:1:0
+4772108:1:0
+5658468:6:0
+3898797:6:3
+2326304:7:1
+7953280:86:0
+1530761:70:1
+8667009:93:60
+2146405:33:19
+5209020:50:20
+7727585:603:140
+8726344:551:157
+9751631:228:71
+9804805:606:331
+6798606:846:150
+2405865:5964:2373
+8978526:3627:1701
+2812797:3878:1247
+6531829:5314:923
+3442115:3323:2810
+6844602:31152:22314
+7003286:25804:10402
+3180755:99470:97185
+5730293:62425:49618
+1515990:75317:9650
+6388942:652004:520906
+9078819:966350:381669
+5850396:868628:638628
+7932267:335175:223242
+7509415:101768:80351
+8955827:6803562:2152265
+1111171:7357999:1111171
+3401037:2800710:600327
+2086046:8198221:2086046
+3044272:8347385:3044272
+3271444:11935650:3271444
+5774706:50919966:5774706
+9386550:25319905:9386550
+1443888:25340916:1443888
+6771765:83423971:6771765
+86497363:8:3
+66346971:5:1
+82593336:8:0
+74648862:8:6
+15507832:7:4
+70332912:45:27
+33254542:42:34
+98913044:99:65
+10549013:60:53
+77199906:55:36
+90288448:304:144
+90286381:603:397
+91083741:737:122
+86725522:367:119
+72300468:280:268
+71929906:2569:475
+91538487:9460:3527
+62688233:9955:1598
+35255099:6267:3224
+30545410:8954:3316
+77116775:65873:45365
+66399112:69850:41612
+11204958:83728:69134
+61000189:47110:39849
+77781825:87116:74353
+20653368:929427:205974
+65340890:997553:499945
+69944686:229492:179118
+43952724:308643:125418
+14362488:322243:183796
+12640252:8899570:3740682
+44807620:1628032:850756
+49738334:3788886:482816
+21530820:4875491:2028856
+39131260:6231204:1744036
+35340822:32379315:2961507
+54834330:64754998:54834330
+32182719:51719082:32182719
+26967989:15920291:11047698
+95599524:78243046:17356478
+60600304:700233126:60600304
+12838239:121695581:12838239
+73967442:634796029:73967442
+99174206:278436932:99174206
+77470593:257183328:77470593
+95437811:9:2
+78282731:6:5
+92297195:1:0
+65335651:6:1
+19185629:1:0
+32673754:57:43
+94610731:41:33
+40473101:47:38
+44188701:67:57
+62038253:72:29
+15462670:794:314
+65150195:550:495
+60385226:905:6
+48027337:243:88
+71007116:415:201
+30471441:6950:2641
+79307204:2860:2264
+62211585:8581:7916
+36157294:9908:3002
+14704771:7885:7131
+42711486:33348:26046
+55982799:68482:33005
+93851262:67034:3662
+39751136:81109:7726
+94381383:51846:21663
+71271206:893574:678860
+94881270:965685:244140
+47814594:457085:277754
+89142669:324624:195693
+62451955:619889:463055
+34285679:8736159:8077202
+61793387:6493726:3349853
+41577958:2979387:2845927
+19015112:4858484:4439660
+35538333:6066072:5207973
+42985016:69925187:42985016
+89397432:18789840:14238072
+91008561:56620867:34387694
+50502500:66765902:50502500
+74311958:81465741:74311958
+10204536:266573909:10204536
+56375601:425356371:56375601
+15361764:962164762:15361764
+93144940:714410814:93144940
+14208462:979701779:14208462
+91440538:9:7
+25752054:3:0
+25736327:4:3
+48553945:8:1
+78364201:2:1
+81255599:38:9
+34135769:14:3
+94995379:77:17
+58967604:78:72
+29297785:10:5
+63025300:892:148
+57235438:526:326
+49230156:423:147
+87061128:858:726
+76761643:220:123
+74558717:5932:5341
+70203781:7748:6901
+85318761:3012:849
+61408672:1705:1392
+61136616:9780:1836
+29192415:92231:47419
+77111996:33824:27100
+79800082:14098:5402
+32411421:20947:6412
+64708529:90440:43929
+83682599:248969:29015
+72785705:848102:697035
+48782649:572305:136724
+25161462:990489:399237
+82050065:717183:291203
+13990490:7456395:6534095
+38379557:4292946:4035989
+77490557:7712117:369387
+51200325:4599646:604219
+68296790:6916690:6046580
+68368914:63780178:4588736
+65144338:85745458:65144338
+19435303:24964822:19435303
+78835696:44420680:34415016
+13541527:97564465:13541527
+60821084:795710123:60821084
+96228359:695663239:96228359
+93679528:504018779:93679528
+64747323:506577353:64747323
+43290274:127896398:43290274
+98093998:7:2
+85075786:7:5
+33595494:1:0
+91226063:1:0
+34325069:7:2
+78461287:72:7
+49428269:54:17
+57553645:78:19
+83367253:16:5
+92609388:98:74
+31925040:827:359
+55343403:276:159
+54619111:195:1
+40821554:515:79
+37916459:143:9
+32695079:1940:259
+10368742:1668:454
+43305855:9989:3540
+47515968:8571:6915
+27352831:6171:2959
+95604227:94948:86539
+69587323:91841:63686
+23534598:59587:57320
+82912118:21799:10521
+66849414:56748:270
+43091088:914392:114664
+15109945:977428:448525
+74325406:997927:478808
+94401915:781509:620835
+38698602:342518:336586
+15485472:1389060:205812
+91664033:2163286:806021
+19020730:3702338:509040
+60347685:1108329:497919
+17817086:7416961:2983164
+40862350:73145286:40862350
+69145371:13059744:3846651
+97228969:12065517:704833
+85714386:89027124:85714386
+57624474:70221490:57624474
+20339909:420232381:20339909
+85576650:716860476:85576650
+25991089:467263023:25991089
+45583063:599650139:45583063
+10313676:162013784:10313676
+10991281:9:4
+75092533:6:1
+86052062:9:2
+50119440:2:0
+84391781:9:5
+13672535:43:40
+83333998:73:45
+46282774:64:22
+60033329:72:17
+17821182:99:93
+13129436:867:455
+83308583:834:323
+36125797:482:379
+78977859:860:619
+93442842:592:378
+14539965:9579:8622
+91402042:3211:927
+52220912:8871:6206
+26275089:8721:7437
+28534227:5104:2867
+95683703:37652:9971
+95271165:72728:70213
+93945700:55294:1194
+82509627:75743:25500
+32048309:28333:3686
+28972217:295989:261284
+34318873:667054:299119
+14328671:426932:239915
+64062865:754240:706705
+64015915:773215:612285
+52061194:5992054:4124762
+43363336:2666031:706840
+99104218:6880037:2783700
+27028658:7590858:4256084
+47885838:5022662:2681880
+77994096:84304691:77994096
+48568352:46566325:2002027
+53428641:65492679:53428641
+54550713:82123195:54550713
+93598032:23631933:22702233
+20805003:864147360:20805003
+55304860:211580843:55304860
+50896838:920822038:50896838
+24136365:980187625:24136365
+23724577:935246391:23724577
+206699044:5:4
+815300438:5:3
+962345179:9:1
+779479658:1:0
+651197485:2:1
+495262077:81:51
+990927278:98:82
+678875493:23:18
+206536092:55:37
+119888278:46:42
+730178205:348:81
+745698031:524:443
+754022811:424:291
+704550740:306:122
+730070440:793:541
+982296817:7706:5291
+734279797:7112:1357
+977972228:2121:338
+815720366:2508:890
+652690783:6696:4879
+180719567:35581:3668
+625290998:61732:7570
+788260801:82537:32451
+675757306:74039:3353
+766629091:56078:42831
+448777684:197629:159854
+209695430:299774:153404
+899538619:721381:697893
+615766674:158795:118459
+498597415:229844:65779
+592018870:3632355:3577360
+844226432:6876091:5343330
+688796134:6652225:3616959
+856394756:3761970:2427566
+348928064:5088120:2935904
+152836313:27955344:13059593
+247321610:54778383:28208078
+964954815:73709271:6734292
+133444099:37874430:19820809
+876403271:45259570:16471441
+286050534:621753483:286050534
+210904131:932105104:210904131
+382235706:224724813:157510893
+243848827:324415033:243848827
+909218396:509360496:399857900
+737099033:4005654926:737099033
+706293427:8012865032:706293427
+671740045:6941022041:671740045
+599393028:5884364487:599393028
+863625569:7594668767:863625569
+704902640:2:0
+464723753:3:2
+512968073:5:3
+150737967:1:0
+633351163:5:3
+701804719:34:9
+827062673:67:0
+475602282:71:49
+471663626:78:44
+681331226:86:10
+490490530:409:143
+313127163:492:159
+604943070:831:0
+635314300:650:400
+175698494:164:46
+118502289:2832:81
+895402683:2709:2331
+670481720:2623:952
+276154285:2397:709
+915370398:6944:5374
+276591433:46345:4473
+597121006:58439:49743
+548483825:40868:35265
+442114578:91720:24178
+551741822:64159:38581
+947566536:469750:80786
+510401894:266221:56237
+201705473:597448:365497
+697696246:587183:122842
+110235244:665957:352339
+139661959:1492809:830722
+878180170:4125686:3534738
+798214497:8789817:7130967
+368331053:7984338:1051505
+897164427:6234686:5604329
+663628847:78889774:32510655
+262263043:87678403:86906237
+387147440:42888832:1147952
+967664738:35859046:35329542
+736393187:75434513:57482570
+462438155:349195761:113242394
+234459727:663649699:234459727
+603543908:927489724:603543908
+142996911:794482148:142996911
+671838307:650187099:21651208
+146470252:4889123402:146470252
+884852054:4038659416:884852054
+530640060:3197313341:530640060
+100896578:1440485441:100896578
+122976517:4492411413:122976517
+366003722:1:0
+713832639:2:1
+512374296:1:0
+367260642:3:0
+494970985:2:1
+292354157:53:9
+509317931:49:24
+266296703:27:23
+281002516:15:1
+225981450:90:0
+778975422:433:195
+563549440:229:134
+630878479:555:544
+595530915:966:609
+222483696:562:260
+187156525:7901:5538
+946608578:5636:2926
+495628178:7146:3056
+687039942:8615:2307
+616260257:7085:6957
+440501037:33977:23209
+707527157:88089:84398
+417323140:20731:8110
+796087984:65733:61354
+676159671:33479:17787
+933026395:794625:136645
+192167864:527915:6804
+542816966:172438:154580
+182113134:243245:165874
+231513545:396426:761
+590456709:9115832:7043461
+809333554:1115694:455404
+341564268:3014446:931870
+467513243:8991157:8964236
+217650402:6923503:3021809
+890800892:41808782:12816470
+645509513:61330927:32200243
+259947353:69023425:52877078
+330486449:65236028:4306309
+378513514:56726453:38154796
+521933107:552327960:521933107
+409715073:664009055:409715073
+967154731:927709102:39445629
+272393492:296829318:272393492
+954924697:993571637:954924697
+619416939:2863172516:619416939
+235166054:4446946256:235166054
+569824811:5284915630:569824811
+747572585:8931598269:747572585
+701271000:1776358445:701271000
+498703833:9:0
+375604754:8:2
+844357755:8:3
+634112777:2:1
+139642524:3:0
+677237916:13:4
+301113662:29:21
+305827447:21:16
+394964452:77:36
+238028854:43:32
+957856177:938:593
+227513209:709:72
+761125473:271:22
+154197349:273:124
+748065044:564:260
+558243319:2949:568
+592010374:2200:1374
+392250783:7734:5505
+232786177:6166:1179
+494700288:2830:2138
+537094094:95508:52610
+347322210:32352:23490
+199577338:98925:45613
+329608696:38242:898
+182266934:82299:56948
+595818167:115924:84731
+974930247:852854:118125
+461566639:396710:192909
+899822639:950089:88356
+124454941:769444:574457
+377769545:9522883:6377108
+379929596:2512472:546324
+751309107:3940939:2530697
+962081350:7824881:7445868
+348595944:9078740:3603824
+320394415:88622618:54526561
+475306448:31343936:5147408
+760311935:39310639:13409794
+543155544:26146610:20223344
+175884759:81051708:13781343
+471952895:307851623:164101272
+514425275:930011770:514425275
+665499498:744140101:665499498
+977931111:674390628:303540483
+684706990:927451928:684706990
+711171626:1414407650:711171626
+433519749:9926201913:433519749
+936437008:7790818608:936437008
+536663446:3766479901:536663446
+702841581:1139341189:702841581
+195008931:7:5
+822790849:3:1
+499518946:6:4
+873447560:3:2
+346568150:3:2
+943389116:47:40
+113511544:92:12
+194733342:43:16
+639773129:62:27
+803339033:28:21
+489675254:193:93
+374160728:987:872
+779002000:947:747
+838768848:560:288
+256889851:471:328
+508508807:7878:7541
+383575291:4622:133
+648663473:1625:848
+788240290:8144:6962
+107832358:9457:3644
+915313422:42677:19803
+476244809:34201:30085
+202853341:57132:34741
+918151177:77937:53317
+649348854:24165:11139
+905916018:359380:278418
+964796109:721447:221470
+761630877:664034:647913
+801906972:103053:51579
+519100614:970868:657102
+903720699:3389401:2140033
+877952270:4310312:2958934
+507068440:4678603:1779316
+667897772:7983266:5286694
+147989901:9638929:3405966
+622085623:72193178:44540199
+491583793:66990476:22650461
+642011542:72701549:60399150
+327517020:94078735:45280815
+709750962:37154376:3817818
+326218783:611900123:326218783
+944740653:781232696:163507957
+857175466:194522691:79084702
+963514736:905354100:58160636
+429267152:674206989:429267152
+363461543:6423352107:363461543
+133862049:7734497020:133862049
+830696789:1660507441:830696789
+444565326:2753339002:444565326
+598011809:8745485244:598011809
+1058786229:7:4
+8130304846:4:2
+1830834994:9:4
+9728492138:8:2
+2309001906:6:0
+8627091640:10:0
+1327355446:30:16
+5404283040:63:30
+8275296027:16:11
+6532508863:80:63
+1925116831:574:43
+7401113513:537:155
+6975463302:318:60
+9390436119:244:227
+3845011554:732:18
+6822700305:2571:1611
+2088978681:5158:4155
+4947113082:9660:4902
+8368905708:3754:888
+1325771899:3903:859
+1096371715:46944:41539
+6438175915:59622:13489
+6921554892:40906:14256
+3162463036:94839:56581
+6885237738:85070:12218
+2963218409:388640:227049
+7207899464:330035:265099
+5331931813:678272:35621
+5095601380:930902:774734
+8816034809:947413:356844
+7579078526:1762537:169426
+5562362079:3603922:1510433
+6875387917:8560570:1250207
+1395252131:4057454:3545409
+5398809607:6477728:2862183
+4216396304:20680147:18326463
+9511669705:80955511:39874918
+8926563893:84214186:84074363
+8593826828:51621078:24727880
+4883802344:34871750:1757344
+8516500934:281641550:67254434
+5485900218:305447251:293296951
+5558747840:623339125:572034840
+4586073177:408302393:94746854
+6443857857:476671682:247125991
+7670485165:8537198672:7670485165
+8802604904:6230544302:2572060602
+5700015705:4877102400:822913305
+1747403689:9237913659:1747403689
+8813885448:3809106017:1195673414
+6377832054:82809857740:6377832054
+8835867881:40262641036:8835867881
+9545984792:32562832859:9545984792
+2165645538:82414619066:2165645538
+4496161181:54888700192:4496161181
+9722411126:6:2
+2595030891:3:0
+8065926777:5:2
+2799112212:5:2
+6127157415:1:0
+3862162969:90:79
+3575511736:55:16
+9497413607:24:23
+6326201285:44:41
+2624113881:93:27
+1557203777:575:277
+7791929588:874:214
+7106627774:601:503
+3280990444:672:172
+2166529443:994:85
+1182341801:8858:2535
+8592162112:2202:2152
+1545488076:9777:8355
+6899817227:9142:2431
+6693080635:8612:6475
+3565484548:15679:1553
+4896325242:29608:20674
+3540769809:26520:5049
+3602587603:89923:2454
+1536905947:33410:12537
+8330131121:981345:474761
+5981332443:583137:96234
+9909611401:844414:413111
+9555603024:788283:36498
+3531815480:758346:198158
+9889776931:1705715:41361
+7976981440:6984178:1050164
+7721992211:8651661:4710599
+8058690351:8974779:8313588
+5543462487:7766660:5833907
+3192684439:80594353:49504672
+9770947122:59833011:18166329
+9358979256:97063812:40853304
+9196538078:58448673:20096417
+2817592381:15391948:865897
+1620080827:642525319:335030189
+7468494982:476717813:317727787
+4182662240:830691243:29206025
+8968482122:677640938:159149928
+9844090887:122296317:60385527
+4035338615:4486832473:4035338615
+2489354531:1986128306:503226225
+2155944695:9960606726:2155944695
+3820388468:1303395547:1213597374
+2166111568:5760889966:2166111568
+2206945025:14504696672:2206945025
+1667152255:90242238582:1667152255
+7267381820:85685407305:7267381820
+6568194021:76903621410:6568194021
+7860978749:88659550526:7860978749
+4685229020:2:0
+9178142779:9:1
+3744142626:1:0
+1946541828:3:0
+6158494025:6:5
+1592943065:32:25
+8388326393:73:53
+3595456964:56:36
+6072161508:97:17
+6294885881:67:41
+7708047945:521:388
+9013866333:378:87
+1304526344:928:552
+7427930925:771:504
+8736654034:231:31
+4672170137:4316:869
+5581124445:1931:1489
+1196965452:5843:3530
+3708783545:8828:8325
+2194823848:5101:1275
+1073325921:64521:19086
+6518959619:15251:11175
+2197656960:45125:24335
+7147389040:69965:44500
+2902605360:99594:37824
+4815627998:436054:283676
+6981338646:636720:340566
+3189459406:744299:138191
+8367431546:453586:130604
+6662937662:272610:76652
+9849299331:5624807:262274
+5864626107:1467496:512091
+5966986290:6464921:6329128
+1623161303:1446684:1428539
+5794873070:9670832:2044702
+9052136484:87133222:77414618
+7356191520:76708181:68914325
+2881378190:25225991:5615216
+5695391016:29863781:21272626
+1027084863:68426389:689028
+4154795139:791337447:198107904
+8957931012:816134617:796584842
+6395460108:525515689:89271840
+1563827077:936233862:627593215
+6240888524:758125839:175881812
+8870182600:8007242232:862940368
+9650310940:8069022663:1581288277
+9055262222:2461951886:1669406564
+3672085414:1717332189:237421036
+1315679357:3389382178:1315679357
+5842219228:88314281043:5842219228
+9008815908:49328018350:9008815908
+3886866416:26590305350:3886866416
+2587272508:13573974352:2587272508
+4115951991:35526984888:4115951991
+8643336920:1:0
+3135337443:2:1
+9271253168:3:2
+7136412608:9:2
+9465844515:8:3
+3333020628:53:35
+5049685435:20:15
+9587277576:59:6
+3567759862:46:0
+6644692227:57:48
+1932053305:226:97
+1674038559:857:469
+4274090660:258:224
+7784791407:200:7
+6049245450:977:469
+1121467490:8356:374
+5955744597:2579:580
+4229715894:4575:294
+6527171173:1778:1601
+3821048262:7600:3862
+1506568531:60768:8275
+2877416897:11142:6539
+9040561433:17038:11215
+1925382233:63896:4065
+4461549593:58710:563
+4382130825:428245:327985
+7036005172:318371:6072
+3000171954:804939:164301
+1680374178:615514:20958
+6233888544:302834:50654
+2865218857:2309767:1107777
+1528355329:8816543:3093390
+4424467104:9315793:8781222
+3849748815:3876664:221463
+7069663254:4536761:1389616
+3573650337:40605540:362817
+4231688153:77151307:65517575
+9710508856:39511362:30225166
+1875481126:15266914:12917618
+9278222675:95241942:39754301
+4997472885:404875356:138968613
+5702188016:165769942:66009988
+6388136224:971910191:556675078
+3147707804:292882928:218878524
+4169826835:308755741:156002202
+2636841360:5131981561:2636841360
+6170239010:3420406147:2749832863
+5512488829:1170337146:831140245
+3493398291:5494336270:3493398291
+3437267239:4297357742:3437267239
+7329205158:26460792334:7329205158
+5644712486:10057280606:5644712486
+5253850015:97348790915:5253850015
+4922340803:68812083962:4922340803
+2337088590:92294189578:2337088590
+4617381111:7:0
+4990612371:5:1
+2852897093:8:5
+2955108653:5:3
+5562903167:3:2
+7657375149:49:11
+9247596734:86:50
+8495635657:54:13
+5701074083:93:80
+8833665868:16:12
+8857324973:187:35
+1131455907:387:261
+3372218625:108:57
+6416184397:174:169
+8281379637:418:3
+2865339351:1603:896
+8543136641:9957:770
+2447012611:5472:5347
+8779395455:8883:6767
+9438123673:6213:5077
+2886800304:89730:6744
+2097022446:78771:59655
+1336057758:26665:7933
+3816927860:10536:8996
+3029420015:98099:24796
+1000634902:600656:542662
+4645653070:572929:344738
+1679822879:127526:50407
+3671312291:997160:766331
+8324874727:156870:97567
+8809719140:5783017:2184249
+3285451119:2237127:1348683
+2155549862:8242344:4298078
+4872240342:5113267:4410158
+6331537086:3788534:896772
+1353340510:87122247:46506805
+9737694672:59857240:40821792
+7355601658:43224956:7359138
+2909802979:36313663:4709939
+9558791543:89436181:78556357
+8249940244:882465106:307754290
+8038635436:326113702:211906588
+4142019044:121161408:22531172
+3494170526:346925481:24915716
+4883762905:587128601:186734097
+8288051961:9431116181:8288051961
+9138174989:9835692288:9138174989
+9229034998:3036439224:119717326
+9334276033:5545090077:3789185956
+5109293755:8570183193:5109293755
+4445651250:14195218503:4445651250
+1059134227:64988211386:1059134227
+6434084218:59582953552:6434084218
+4348678441:57948173461:4348678441
+2872732941:63991881888:2872732941
+30743995368:9:3
+87243393266:8:2
+42615219613:6:1
+86255491956:6:0
+27425898047:3:2
+96748966433:99:20
+40083425356:51:40
+58837740324:71:67
+20927303260:34:14
+60753416334:13:0
+93011727346:713:356
+38516296425:766:239
+95151266321:589:272
+67571085820:312:4
+87132015749:420:149
+25155998782:7814:5696
+85496928906:3881:853
+73150454967:1323:240
+40518558831:5674:2823
+38518488325:7174:5353
+34712316859:80091:76549
+13791457509:63739:58862
+58348811307:21185:3872
+22188388221:86741:40421
+36351629814:68651:32851
+14578986643:555948:362239
+83618602604:504699:72284
+24204090446:619769:251689
+94770762672:546762:505212
+84197192507:569136:350939
+49866473168:5091136:3887184
+88029734823:7694151:953232
+84164637895:4824921:3540892
+63986862166:1558066:207678
+39545356150:7100422:3106032
+30256422626:10544639:3853335
+29880726618:82458527:30739844
+61315509061:64018039:50245738
+19139231671:72118450:27842421
+49499800846:15042402:10298266
+57643455228:523822694:22958888
+68292812858:345772077:175713689
+47499457381:311924737:86897357
+11634143040:585403886:511469206
+29305202684:911045476:151747452
+39282208194:5436556295:1226314129
+19104292315:5270800643:3291890386
+67131278466:5779223646:3559818360
+40793084437:6283739593:3090646879
+85527839170:6099169229:139469964
+40631584355:37389183338:3242401017
+67906313822:26403706196:15098901430
+22721433103:89065176314:22721433103
+28355632314:81949797689:28355632314
+21169991636:50001207935:21169991636
+34713528279:447226504573:34713528279
+58802397192:525515788047:58802397192
+36261679299:514806424865:36261679299
+74872507512:176672708136:74872507512
+69691803545:240565433662:69691803545
+98283635896:3:1
+38350351415:1:0
+25627770694:6:4
+32208108126:8:6
+72750050714:8:2
+54293137113:91:33
+49894156369:17:11
+54423105766:26:16
+22109672182:79:10
+84371111038:54:10
+84480590940:797:36
+54323035255:756:559
+80645150397:500:397
+67293402309:751:747
+65848276748:205:18
+71489332225:6197:2782
+14527882845:1601:590
+46733070641:8408:2505
+56893688014:8322:2134
+15989109861:1609:597
+60672591674:50589:40427
+71258680146:95206:35738
+35787257740:58142:42752
+11283438899:28416:13619
+92570931106:77440:6946
+23350505433:431363:394880
+83371325004:449600:198604
+86247469884:834136:309892
+67801001368:369819:235003
+10068194520:833135:591180
+58287217286:2492121:1491338
+31754496179:2611100:909079
+92613883270:7673601:1192801
+16781806504:9030966:2271676
+13480164613:7338152:7317541
+31631468206:80810155:34697601
+86650095628:58339479:15969313
+87747793256:29709946:14322718
+63936556323:70329290:7231713
+68866928065:33071271:12541843
+63900782783:678933942:80992235
+41751215753:108866388:55389149
+16549764499:111431031:57971911
+96822107347:134672329:127375125
+29695419295:362173125:359396170
+86498694186:1169295852:1140096990
+49800347877:4634236092:3457986957
+73766226658:3797375096:1616099834
+18236207367:9151204839:9085002528
+44288327675:3299306299:1397345788
+62467992961:42708380274:19759612687
+64007995061:10962334083:9196324646
+98633478899:45651821756:7329835387
+76477531212:45005536356:31471994856
+73208587804:31041718290:11125151224
+98719363569:350363568396:98719363569
+87114127905:130691953527:87114127905
+13054312849:488745788206:13054312849
+44973665797:290984602085:44973665797
+96358541144:332015387819:96358541144
+16896354051:9:3
+79674329310:2:0
+57047091606:9:0
+33529626130:6:4
+48048374299:8:3
+13400079712:42:40
+33232044274:72:34
+72344534551:67:27
+30066289617:60:57
+65598410804:89:49
+58382694015:216:15
+77863186048:270:148
+78630437769:728:65
+64784437322:367:138
+85533488011:615:181
+13781216517:7668:3201
+79457511308:3407:2428
+74408154797:2113:817
+75041730179:1390:339
+92552537193:4696:3001
+98237587278:52897:29522
+66138178923:27648:15723
+39719050025:58526:28969
+20590958508:35210:9668
+28978376270:40457:38595
+85726435255:561596:490643
+57013944325:534920:31045
+75009985383:905556:65235
+72885985225:186919:98798
+80787495820:420677:264063
+92463144501:6690592:5853653
+19197384336:8885550:4596336
+96207994297:8491079:4069227
+25752778150:7303743:7084075
+56072073795:2475993:736317
+12282454696:10361552:4015576
+88404991368:35442898:10403756
+50843796916:66790964:15873312
+15272181110:82171848:70389230
+15189230218:63043574:58772458
+21711297104:800713847:92023235
+87688276493:876219027:66373793
+68428426520:142492095:32220920
+40800187529:265494469:179533772
+43423754345:787752149:97386150
+55083894914:6223353616:5297065986
+69553103557:3608502524:991555601
+14222222989:7193430341:7028792648
+57032919155:8776125936:4376163539
+55963784063:8679245463:3888311285
+61289397627:85781961592:61289397627
+39162425556:15133505007:8895415542
+47763496386:18954725101:9854046184
+63881859606:39947903824:23933955782
+54185928642:85839460940:54185928642
+84803658875:101730950620:84803658875
+15356577292:835978313845:15356577292
+38105015420:305417665665:38105015420
+34406374567:523266131462:34406374567
+33012166043:144255185679:33012166043
+67526052053:9:5
+91995209778:7:3
+11165678950:3:1
+99076763462:8:6
+99342479404:4:0
+22298941878:22:4
+54436147019:28:23
+95508757331:40:11
+81068390244:47:42
+31761976872:10:2
+20589174739:745:119
+62262801195:822:195
+27053038763:896:555
+67411120042:787:720
+29683321651:363:346
+86871751940:8516:1876
+54140751984:6904:5128
+85217461124:2099:600
+29846726987:9675:212
+93561929197:2336:1677
+55994488455:90976:34119
+28948863383:23832:13823
+54406083606:39416:21142
+43487330263:33012:28447
+43949821502:58663:29869
+66666192726:857209:191587
+25893039018:801161:316659
+49085207048:393613:91496
+60764348362:969731:34171
+82961664369:571473:357486
+84041745287:1607485:822002
+40497626234:8644352:7481466
+68202992445:8591786:1395177
+98830834986:1297403:1161461
+16679990874:9390820:1894554
+14755445587:27640445:23088402
+31418530063:83165448:65156167
+62692148506:24779359:370236
+98230635462:49682370:8589972
+78105787587:46173229:26857348
+41866937192:298881954:23463632
+17220873631:113966264:11967767
+90718577836:311764781:306791346
+10577659503:358674363:176102976
+24155407568:817059238:460689666
+88704272252:2284883369:1878704230
+99886201139:2771975463:95084471
+34944137594:6848508152:701596834
+41396107134:8268392474:54144764
+68356614511:4027668890:3913912271
+11918889703:15575214564:11918889703
+22295265807:85019050112:22295265807
+13744143619:86991726829:13744143619
+37122857620:37235908155:37122857620
+56734458604:78960804472:56734458604
+42799402246:967927035275:42799402246
+48392071888:516811369705:48392071888
+87183480342:453174501459:87183480342
+59234252254:234750506656:59234252254
+64521188843:340531722413:64521188843
+84226908981:3:0
+56327012846:6:2
+49525459226:9:8
+30581677268:6:2
+83330636630:7:3
+95605524247:23:18
+99198517038:73:3
+76308369242:78:14
+30010805046:27:0
+67487296568:66:32
+98660662087:736:455
+46874600327:160:7
+49845831757:209:139
+52977190310:586:364
+87956827469:660:269
+67422878497:6191:3491
+34693347638:8767:5383
+94171626655:5292:5083
+25910367626:7186:1448
+56367517345:2439:538
+82512048206:74845:1251
+39325276550:51433:16214
+87537468564:59808:27636
+73507254343:85843:65129
+91016029813:48256:2165
+65176269820:684107:27716
+16450333499:484646:478967
+47382972118:682603:84873
+16240101033:860249:320411
+92899092462:436617:93372
+34971060643:4206052:1944315
+61633095378:7493266:982528
+64205067539:9921446:3390473
+95524145823:8711473:2844378
+71023546323:8814685:3629278
+99981000020:98457855:46277195
+80719484940:67714505:3794980
+74936481586:29040416:12208306
+18258169318:30445373:21390891
+56720101809:81391998:71271201
+46546996203:166278160:155389563
+24249391826:877855142:547302992
+67736817612:330676220:278868732
+72640962809:215501306:17022687
+65530566562:622278000:191376562
+12179388497:2763319224:1126111601
+94020910727:2919186286:606949575
+11760921756:8534418951:3226502805
+35392307474:4278373997:1165315498
+98157618402:6880736928:1827301410
+12916398532:35650396763:12916398532
+71913764221:76470057437:71913764221
+49027222854:43692424420:5334798434
+98029957745:10117359226:6973724711
+54585483195:50163852889:4421630306
+25531543119:348686383401:25531543119
+57437483091:352190632740:57437483091
+41559756096:945015660216:41559756096
+88778016289:553577432131:88778016289
+67280934478:807408920284:67280934478
+747515368035:9:0
+837359868505:1:0
+141241942463:7:6
+412196122033:8:1
+738551536123:6:1
+682385716320:34:2
+313926488926:43:23
+121423128535:54:19
+368423154536:79:50
+117349446674:23:9
+918428365212:637:85
+435432711617:131:18
+306746862820:971:620
+499717116259:490:249
+853074868304:709:682
+374006796416:8728:4144
+234377779841:8893:8011
+301489958535:9954:1347
+394358890348:9013:5459
+809467619240:9040:2120
+241104550876:26617:19329
+615934206741:37389:9555
+940769298746:63621:36719
+846820588882:88142:25846
+846277646980:35155:15265
+628700898618:734062:285602
+366549140979:682293:190296
+431508471599:253303:225221
+313019587147:332931:191464
+429113174480:499325:260030
+544310749485:2688453:1178199
+735247665225:1104354:798291
+989528735056:5069729:3819649
+581040555745:9894948:9209185
+299196079960:1425440:500280
+185073359020:61034661:16266868
+901836782007:64875138:7488669
+677762332910:15621143:7801569
+119254485498:52976127:5223621
+664076709635:51966280:51583795
+162552339396:304514506:246107698
+353110597813:933549461:228901555
+236788293956:268064031:87754583
+166614121171:113854599:44842834
+490918208076:195424417:12072572
+304571563152:8574393220:4467800452
+470304032146:9920493126:4040855224
+463216013614:2349029624:457177686
+494948820018:5312459725:890065593
+729755164765:1797587440:1732251565
+299043929783:71822656478:11753303871
+251910705079:50904370702:48293222271
+823898935795:53870501374:15841415185
+496762114078:91393191117:39796158493
+526353089056:56329203292:19390259428
+539952002097:159407723338:61728832083
+585135387159:323149883869:261985503290
+459657163894:435934892536:23722271358
+397606487535:884971977216:397606487535
+506682572559:971738829503:506682572559
+735840602777:9889063632937:735840602777
+422500605461:9155958168871:422500605461
+349646960435:9074890752287:349646960435
+333731638482:1441460958606:333731638482
+868425267967:8788601628529:868425267967
+926098781632:7:3
+251605087964:4:0
+999540441554:1:0
+796398975214:7:3
+793678190667:8:3
+966685699286:50:36
+830065443430:45:40
+948876974637:10:7
+756347572267:78:1
+989530030263:48:39
+351391290115:104:99
+434567014090:105:55
+983085056258:596:538
+897454325178:385:103
+375738724989:888:717
+405033150529:6782:4659
+103017211460:2546:2164
+930180965924:6560:6244
+496483008366:7936:7534
+258642241194:2190:2184
+574397608505:63244:42481
+303352644501:50438:1755
+533089103441:51715:23291
+160436007831:82817:16836
+577148016343:96321:1060
+817983316512:243924:37572
+792497329350:264745:115530
+527992632519:686593:555740
+274980292364:458196:377708
+470565044216:830949:287414
+551557426455:9106843:1480160
+239231551704:3578746:3117842
+646588224731:4898075:3140131
+860613659148:5389199:1692440
+992120010201:6556691:868227
+460314740180:79919071:60810291
+510657547890:71367697:21675855
+547530601859:58725824:29744707
+436263146691:32203125:7412316
+967346795713:23494122:23310607
+946367547714:238133794:23850358
+238504897394:111466566:77912720
+272706580355:239400739:29138634
+132416580615:500923316:172825191
+824898518936:480986032:7474056
+554528404612:7020013512:6967350676
+954305199796:2426999306:494472538
+681239464646:8551438235:5675844081
+159603726919:5814049841:2624381212
+521598591948:6114521742:1864243878
+391717838592:92220724663:22834939940
+557106239723:47512892691:34464420122
+478160245120:43116091880:3883234440
+220506151568:50716583723:17639816676
+939227020350:46786878938:3489441590
+423094552462:994121705949:423094552462
+450509813633:192619777022:65270259589
+515994818383:926927488080:515994818383
+364248763884:583830112779:364248763884
+541248629875:241173056746:58902516383
+185893454233:6004550794971:185893454233
+400338301260:3268724021078:400338301260
+177896261879:8024298807776:177896261879
+506761503092:8598673857371:506761503092
+478219745459:5844910617518:478219745459
+104247110241:1:0
+154699440080:9:5
+139125010708:2:0
+968249526314:5:4
+809743476856:8:0
+376102333422:90:72
+735803669257:28:13
+478446579019:27:10
+230255856799:93:88
+784862152318:60:58
+456637494790:546:22
+887492680878:536:6
+850675782901:588:553
+728322484068:201:123
+468794744203:348:319
+882068688719:3051:710
+898033521790:1387:921
+692533617962:3310:3292
+997018345684:1743:424
+732600414847:6971:4812
+863624204775:12895:6730
+900042794704:62929:17056
+853725711632:14234:12586
+703061795216:31693:2944
+494049521020:80621:1970
+602619375314:273678:124130
+444819068597:471307:464611
+564885364757:324251:239884
+322147796544:743725:337894
+993411751589:956882:781239
+152638920974:3696777:2695421
+517029992035:9117269:7901583
+394905722097:3314310:2371287
+704624653228:4239585:1386643
+759979167734:3030779:2241147
+124061371824:95369089:81556124
+127591390927:75056358:70638685
+425772284337:32542319:21124860
+788894677119:31368080:18833199
+543850302667:52361486:23909071
+109580955130:155746533:91142431
+857671310066:241200827:202370081
+130688352904:202789617:91839556
+828146602203:581074803:115007928
+374947775261:567472241:416096201
+963381447156:3947887024:97013300
+767101604975:1243021715:157206820
+846379254821:9310675339:8418474311
+919038137160:6699316202:1231817486
+947427390015:6809442597:914869032
+243645730441:74182247513:21098987902
+872407585254:94627407201:20760920445
+748813944964:38376317530:19663911894
+217345393717:36279078608:35950000677
+447285799100:95400666376:65683133596
+319867844166:982228864966:319867844166
+215294476789:779616360031:215294476789
+613220629262:219994076747:173232475768
+255237018443:155487730000:99749288443
+768957326974:161077324743:124648028002
+854985153810:4429963505934:854985153810
+487746551096:6530502256135:487746551096
+138993955893:3769769108648:138993955893
+366291509736:2908804435140:366291509736
+183257052073:6358986562582:183257052073
+530634024383:5:3
+571196097526:8:6
+230618397175:1:0
+996620517228:3:0
+367180464481:2:1
+372116398926:89:0
+228821536463:70:23
+445619293691:78:65
+502832139130:26:22
+605583068698:10:8
+929744103634:767:346
+209493757602:548:458
+934081287726:921:534
+775284719468:277:37
+225611128008:658:476
+641594585233:2680:1713
+845501959198:5447:1352
+291579517140:1263:294
+444165004813:8035:7513
+670476360677:2502:851
+241249185126:37414:9140
+224040468030:63373:55812
+443964835657:23006:16953
+917051039659:30116:17159
+396640331490:90548:69274
+465526276456:861882:537442
+166282034030:876003:20573
+342122507533:299258:287903
+312817862288:870470:540268
+419132978737:439589:252852
+112544057374:4277512:2716654
+357791260919:2135782:788715
+894453209854:5152414:4444282
+682266384434:1944377:50150
+711931943348:6583791:287354
+217803945374:67974670:13102694
+364236156608:59284119:53813591
+672580524875:91699039:59772849
+346553851391:55637516:43401743
+455785079075:24450368:5769187
+362944314516:992749927:590591161
+181789944711:935070781:386213197
+580719670470:679805620:165670990
+785247052484:824303302:510308980
+125115206442:973327797:529248426
+563607390712:6689263461:1709259988
+584858413950:8481808582:8095430374
+407958184941:5068125272:2508163181
+897712512970:8878516384:982358186
+471764395387:3386438394:1049458621
+212593327345:30636295872:28775552113
+797389774594:79941582674:77915530528
+478984322059:31263976095:10024680634
+296355764187:70071159701:16071125383
+721823579769:63631438405:21877757314
+897837124485:849120582871:48716541614
+568820827408:200689811563:167441204282
+783673809299:467215575351:316458233948
+249017084135:897795849433:249017084135
+118081409471:105536490504:12544918967
+327332296447:4893356553816:327332296447
+859655659661:2100658347082:859655659661
+898782514250:4901638355871:898782514250
+366773382594:3462909566403:366773382594
+538317479396:6015719954395:538317479396
+118440457178:3:2
+916161768165:7:0
+206847710504:3:2
+157341522023:4:3
+480058795875:3:0
+729529735675:40:35
+961931018978:94:50
+168614698756:15:1
+185020184767:30:7
+570341619946:64:42
+101068329647:904:551
+575663010362:318:278
+404315907894:412:2
+911871338488:406:180
+411603080633:149:115
+666515187164:7328:2940
+445921354821:4773:1875
+648563535644:6297:3158
+612202276994:4803:4766
+407861248245:9616:2565
+388932988164:76515:50754
+126128558845:40356:37513
+295881983658:30139:6464
+990858637301:49098:17585
+635430827694:74223:5502
+160745712363:378310:280123
+482010279285:190381:46246
+906133299942:814673:220924
+773133455389:651677:154514
+989486052739:206976:29059
+997980456100:9645146:6844626
+311913312356:7455768:1258076
+157096382604:5571276:3113232
+748222032637:6193539:5360203
+118526095844:6210779:5800187
+804448424846:68676685:38413441
+530068445459:79345634:39610339
+855527815264:43396296:13235920
+644553129666:29887458:210438
+577155781257:83280910:19074957
+242788273387:716952914:458188455
+172793167567:732366993:686924212
+908666849530:959858025:641157880
+728488014141:208477787:66626363
+724285463135:970706576:138357439
+532044864749:8408269321:2323897526
+640782860903:7876238684:2807527499
+691569527040:3744746195:2536227160
+459676333871:1733187892:381542491
+684277738143:6216026763:514794213
+682791999958:44318136129:18019958023
+138710353098:97730803399:40979549699
+105741339854:59485418520:46255921334
+268329706531:16604817608:2652624803
+386705410401:67460140140:49404709701
+669127574766:896748685770:669127574766
+468248227268:661391837198:468248227268
+295427783641:384190837993:295427783641
+146811259008:744215394503:146811259008
+672597806716:552261279555:120336527161
+788949733960:3605874081547:788949733960
+890518913706:7484616902647:890518913706
+978803425039:7934513835216:978803425039
+635835911675:5557365375903:635835911675
+831279652517:7191452996831:831279652517
+7163350830340:2:0
+6539286150333:5:3
+5109050198955:4:3
+3155937958462:4:2
+6545164294877:5:2
+8608477604932:29:14
+2189506636921:33:10
+8699036388336:11:8
+3055087428036:86:2
+9556899906380:76:52
+8834736210779:545:214
+9840401080440:470:190
+1429265962684:994:616
+4504650623966:423:101
+2788598166116:336:308
+9955560422591:9914:2675
+3032576672449:1124:649
+3965356646986:9830:6656
+3992007735202:5205:1117
+5997024424340:4669:635
+4506450866748:26741:116
+3319645763665:66807:54649
+4907062826298:75190:38428
+2417186075304:96432:58968
+6644419976199:28815:15879
+9930959900060:811266:490334
+3260334415597:249701:194544
+7312565702677:371288:275237
+1975120245583:338343:13522
+3806697617813:294054:94871
+5850393546526:8367454:3588990
+5629063198015:6817336:2497487
+9002887738799:6540738:111245
+1808618278184:2560289:1965405
+9408791689188:4989810:963378
+2356570702173:25384165:6360233
+1288593729720:37099147:29056969
+9481722922320:91373848:41463056
+9918490254496:83000671:76071338
+7862376786236:93995286:47093480
+6113300603874:531358879:16700979
+1255304321667:486675995:166930562
+7646318885476:151976171:93770124
+6284682370953:844068178:594785743
+7344914627839:400236844:168303595
+1355013975627:5998487894:5354199477
+3043918262135:8844289235:1482765295
+6979700534101:1553799482:33260957
+2702119414550:1564820964:1238430686
+2853115498452:5269138479:2511581313
+6693680957726:38502670720:32718923166
+2689957596751:69404285333:52594754097
+9588369721099:21211821365:626464119
+1849337020366:81278354189:61213228208
+1342077644203:56095224105:51887489788
+5044174429444:975274977000:167799544444
+5522462322193:719048561628:489122390797
+4652831851236:795758216592:674040768276
+4752192528640:758803507442:199371483988
+5686361538335:950921418901:931754443830
+1693974413647:7729260958298:1693974413647
+2805636555907:6783537773354:2805636555907
+8312348296784:7590619066450:721729230334
+2314570396642:6215845105637:2314570396642
+8939789433194:4937263805462:4002525627732
+7990045907880:16835633617850:7990045907880
+4192317459202:11316147845548:4192317459202
+9228069941587:25249210170667:9228069941587
+1480432682414:57389098027086:1480432682414
+4318110502380:38686151042475:4318110502380
+5834243027103:2:1
+8268967914075:3:0
+1649116796465:7:5
+6360042078448:1:0
+1252747730736:4:0
+7397068876103:91:88
+9224633392618:37:26
+7021339681454:21:14
+5660282362435:23:8
+2010272844477:36:21
+6216430569401:861:626
+4779571776235:580:295
+7708031726936:798:590
+7777718046057:684:597
+5248124062695:552:39
+8221540717364:1946:982
+9763432634947:1707:910
+1856375518528:6246:3466
+3250613631466:6686:3890
+4283087896528:8979:3850
+2140261036880:21138:2306
+2097699976767:21235:13362
+3868352718514:71351:31098
+6328081795108:90510:21808
+1243623472390:49165:8880
+8616402885739:194560:44139
+8724696309525:152061:123774
+6339290263499:118819:41275
+7521374707576:963112:662288
+8493737911487:842616:108287
+3855163016069:4596016:1815189
+1334788859618:3945800:3635618
+8293792674619:7309401:5404345
+7569213131019:6654170:1597639
+1104633362198:5017314:1442702
+4066370139303:38370224:8910455
+8317566000898:69355887:61252423
+3247866604057:21480360:14691697
+9920412095475:26319722:8798957
+2685225385099:46498911:6272671
+3087626614351:543947702:179457799
+1497576030705:118365624:14155857
+5222460814044:886793808:132078732
+8970070255508:937716307:813779053
+7229885546993:505538447:180216446
+8350088330034:5572921009:1852658552
+9375912032417:3259522071:1526556221
+7420159757143:4009260270:3028257643
+3217640616747:4486827814:585074109
+3260887680554:9883942818:9070493432
+5986716894024:98338897643:86383035444
+9446776268524:50370500005:27492767589
+3659987467742:31121899273:18725252801
+6229582583747:89286258374:68830755941
+1595752710681:68237255682:26295829995
+9234146232566:702568610229:100754299589
+2574619796527:833656556791:73650126154
+3586573024027:488324184545:168303732212
+6353989790068:446872294776:97777663204
+2730805559906:198983280331:144022915603
+5011195373747:4408424081254:602771292493
+2378182470419:8297943253271:2378182470419
+4965615002292:8744964449321:4965615002292
+1348131915962:9539559043282:1348131915962
+3512133767385:6228920592543:3512133767385
+4703364220151:19724605415560:4703364220151
+1349185198134:42209935424004:1349185198134
+7812075804840:41003786123103:7812075804840
+5998457491286:70756102450630:5998457491286
+4724172233755:46967303977532:4724172233755
+5809149102873:4:1
+5036643268753:8:1
+2409632206479:4:3
+9172726878530:5:0
+8832321082919:3:2
+8386787127944:78:56
+7453238945038:22:18
+2763376150254:40:14
+2098868140676:11:10
+1479873891718:43:18
+6238578413871:819:531
+9521517915553:769:429
+7864640255450:530:110
+8101491591691:884:459
+6013374011261:681:191
+6269922164737:2225:2112
+5869852841078:3897:953
+2353690944017:1872:881
+3607766939365:6618:3037
+7067722484269:7219:542
+4473730758476:64033:27882
+9847238319485:37221:13367
+7342850076230:61783:23259
+1441960272813:95717:35420
+2802173965250:45970:28620
+9202166544531:263963:94880
+8052958008710:142172:118446
+2339743641247:284939:95671
+8799176807895:964021:900778
+4538104895446:190713:188188
+8160029256425:7277700:2741525
+3598900513181:3493303:1950097
+4491916914588:3815524:3528536
+8805171586158:2351599:1847691
+9868248788324:6126492:1799324
+9475923714957:65356390:31441637
+9000336479498:78070748:28367066
+9651585312126:46355538:37811760
+6818619830001:57488760:50472681
+1142072559947:18440061:5821973
+7067738869628:810374275:464817353
+4906558804631:794569107:94568906
+5638647813349:572510473:564675245
+8854364782061:934565332:292826693
+9496403215904:334036538:78477102
+5287564135667:3343999186:701422601
+4831316061842:4268590649:3540037823
+2574916859922:3616208230:176600162
+7396183784174:3999569145:980435069
+9991750301294:7237170999:4454322674
+9154655924071:32708146836:29082956827
+9320198653349:60730917630:28368255959
+5098379808116:81427725349:49860836478
+2920765622688:46676061953:26849781602
+6126440905082:26982975265:1305519927
+3919446230975:264808408084:212128517799
+9472872450462:452850948055:415853489362
+4991453864348:226345295530:11857362688
+8085304910041:854820261328:391922558089
+9149180889080:331235275479:205828451147
+4519196645236:7667744124242:4519196645236
+3256790978270:4482190895839:3256790978270
+7192272764571:6182572052073:1009700712498
+5484914384262:2830332782948:2654581601314
+4084443386170:3269997047707:814446338463
+7071767154796:82460272329724:7071767154796
+6668068344583:96472581082084:6668068344583
+4553393154229:55103294567838:4553393154229
+7820013912882:41029848211214:7820013912882
+5004750340819:73673238274608:5004750340819
+4176554675625:8:1
+5816004959108:6:2
+6398206302654:5:4
+7618552000823:9:2
+2163730490388:1:0
+8967147013591:21:4
+3619335470016:49:0
+4003011203256:29:23
+3757234727390:64:30
+1935689477436:28:8
+4712375480738:227:61
+4142893673555:904:19
+3212944808016:663:216
+7698660009881:791:533
+3292128700957:227:168
+6986207460439:9123:5425
+7934493264507:9741:6378
+5120844210359:1871:238
+6826542642185:1644:1385
+7284026840552:2921:1091
+9146685996029:39083:12726
+9578306064420:18051:1842
+7477885103133:72398:8651
+3988397230351:76338:20113
+5675860395166:20393:1244
+9192557147996:121543:77519
+7672617150045:103720:57325
+4570014995904:630722:169168
+9710940007753:200723:7292
+8991491753843:940941:698993
+3373609768058:6097185:724448
+6618721989636:4746898:3435786
+5670842128477:2228202:1192417
+8996039101149:7767816:7106493
+6194718398340:1929266:1542886
+9912903915339:82211609:74736946
+7264631633431:42870095:36815111
+8319840856816:90943956:14930068
+5107555866707:76792600:3248107
+9238989112680:62642919:35561046
+3463296262937:941995489:520845373
+3494230548878:791601857:99952080
+1666192056931:744659749:388198418
+8936166754321:737036140:340592961
+6332514481105:918244582:299843633
+6047248966523:2728946454:2632570913
+5534351835240:6571486952:1159821656
+4872080926818:3583584839:1989130617
+6213148170907:3666930253:1368322325
+6508792529205:7293300032:3168900661
+7379717713322:81248363314:67365015062
+8800108600854:85400071614:3901224612
+7536212050313:61244481557:3140818802
+9805245536248:96390857661:69768912487
+3397154261705:16270865958:12814142441
+9655338424998:278617134834:182355840642
+4631313087610:697164065362:448328695438
+8254310081999:890661350085:238357931234
+2368998330903:522484427761:279060619859
+2613395846166:370223213474:21833351848
+7883193395371:5302687479436:2580505915935
+8029864891979:3211370022949:1607124846081
+3180480669973:7872448930495:3180480669973
+5285857262908:8922234036364:5285857262908
+3985550149758:2523978952231:1461571197527
+3417627617193:37660231911907:3417627617193
+1720690902380:17245042048383:1720690902380
+1983187939160:72201826813725:1983187939160
+2663953469884:98047457390307:2663953469884
+2091378547859:61196167254141:2091378547859
+8927605221729:1:0
+4321583188101:2:1
+4968571404441:5:1
+4315729390088:7:4
+1035154572142:2:0
+6701137158135:65:30
+9146026422499:78:31
+1245266284412:15:2
+3183841081603:23:4
+2601360865637:55:17
+4848087206107:797:378
+3803651836234:851:455
+8489623624303:954:373
+4172100774576:391:325
+5415706474665:183:132
+6865892299333:8998:309
+8810455017760:2704:1280
+2678165383703:6080:3543
+6645238876043:8792:5619
+2664464818842:8827:2192
+4982808789190:63663:430
+2572577984652:75058:11680
+4290428053884:17072:4108
+6914905104978:58232:44426
+7176300606901:81903:43177
+2256888586906:790221:26044
+2140405782736:225869:215870
+9873611530820:631585:278040
+9328638158744:942912:518936
+4250756159264:497723:161449
+2883324213884:5338811:3234736
+2266360185968:5257424:362896
+6829760506163:7111351:4783061
+6595476716592:4870105:657402
+7034955813265:4013813:1961547
+3663190475888:86821623:12558272
+9337960758658:98450672:12970130
+1950836022143:28883879:18834483
+9317661616629:93331706:77411531
+5154620105918:76181969:71901409
+8358438106533:867238696:858793181
+6133681649548:505088459:392491911
+9635530164432:556853092:301113556
+1678779417069:332999812:127364777
+8821008577040:296524296:3819632
+6985539141575:8046547579:1135843003
+5881204840336:8697083083:1976676228
+6531453170911:9984953296:1293715327
+2357889534998:1435444603:889496872
+6583916692633:2789578978:510304553
+2558949238970:21867276141:477930473
+6083265448633:62536712712:17204315569
+2478694989654:94570866209:19852468220
+2560403512745:29904216754:18545088655
+4090275659422:66090388909:58761935973
+1862724454995:710590515609:441543423777
+2591253086006:610690843408:148489712374
+8783909471999:334658776516:82781282583
+6081931221162:515731575770:408883887692
+3610734371413:981942439260:664907053633
+2625261820544:6639277778023:2625261820544
+2338849419141:3017559842331:2338849419141
+5671471776115:9745284314318:5671471776115
+3878760842920:9693601309867:3878760842920
+6465424608868:8466619492580:6465424608868
+8254291711522:50151182258631:8254291711522
+4470587239247:96050481574671:4470587239247
+6883150657998:35806436001975:6883150657998
+7361155678191:22564184948048:7361155678191
+5631456228567:25631435689663:5631456228567
+84742174365858:3:0
+88394057490465:3:0
+39326177198111:5:1
+48493408797027:6:3
+13285726883815:6:1
+56741124066547:96:19
+66854934085631:40:31
+47895758283383:86:69
+23139912475451:65:31
+46236762724879:76:23
+33880608688828:117:31
+79547519834309:368:69
+11800763867667:894:465
+69565482020099:899:464
+35335924010405:579:209
+69376730342194:6895:5714
+13444214531792:8695:1772
+95078780539597:6098:495
+93609460832573:6434:169
+26543601191130:7391:559
+42403097051484:96154:72022
+72079480013595:12162:10467
+44861265325804:21736:17516
+63050790252936:64922:53396
+81437492198057:47417:38197
+56171993546230:713916:369574
+97781568436028:564699:69299
+43647137170405:947494:793131
+35351562449323:634267:487560
+25686281206104:639961:159244
+82481816925160:9713026:4548384
+69956964169870:6081518:3741644
+17925344558553:6489540:2065953
+70002245664680:1762852:928620
+43984628441827:8829583:7749829
+13066440681982:57207520:14283902
+53558311632988:87017245:67507938
+36706784576517:78537463:23657040
+94721936329134:95495227:29677380
+69640898408595:37701423:36288531
+29697813023706:885677253:169053363
+66063046245959:780273416:417206903
+78064163790225:767691513:684599307
+88919517617825:441051580:431728765
+91597844639034:462508436:361431414
+52728084147035:7491660338:1778688191
+84871203633897:2543778103:591005405
+10204738473822:2008995418:1050745800
+47819871408720:9387040047:2289409302
+90026228030524:1709414501:1622749860
+17124229762498:48279057095:33443550868
+15830922807392:66517185747:66349785353
+45666739019974:13242720816:5837646406
+65321052407454:30199645995:29417766264
+11052806358807:82524687402:77022934341
+32161773245045:560972858704:186320298917
+63043689971250:972482601256:804803490866
+83649122552698:684107871813:187962191512
+59728255987536:979028810004:7498577292
+94103226161304:957560816442:262266149988
+49759383959646:7979424191816:1882838808750
+40562716988650:6100456961355:3959975220520
+81846896032987:8951463417986:1283725271113
+57209843414603:1692736669572:1349533318727
+10638858194423:6174839991054:4464018203369
+84979035306525:82309765278273:2669270028252
+92279761846941:30645997754751:341768582688
+77761871100216:72862909270176:4898961830040
+78100368738192:54373550214974:23726818523218
+93774411279347:46928483842946:46845927436401
+56517099618671:138397492378759:56517099618671
+26851540191626:760930367360030:26851540191626
+25621191555930:500268319178240:25621191555930
+81280047457943:793202121522898:81280047457943
+53686239921301:221588443819965:53686239921301
+43420941426859:2:1
+86187971691230:6:2
+60578410646989:6:1
+23817031831518:1:0
+52810146706264:6:4
+16992706401772:51:19
+58931824194216:65:51
+75570709544067:89:67
+72081610485162:94:16
+81720425640266:36:26
+95418298558628:781:628
+37632950984747:766:201
+41134857880524:314:182
+89055852295612:266:146
+68330522965021:966:667
+28677064003319:2339:81
+74280978026195:8686:4659
+69778493638769:9243:3620
+96556123440337:2405:1367
+24674061905755:6892:3799
+87840963280633:29818:15165
+61992461065175:74725:52000
+87415348302622:67180:40622
+78855523323478:26035:11853
+26471139277702:72939:38851
+39902572349607:310962:30867
+10520415781894:474099:148729
+85244380140953:109731:49955
+52580558138433:784707:655749
+75985440561767:318853:148050
+99759646207161:2528918:1667081
+21823647018563:8748980:7577983
+74898283067160:8787199:3648327
+73693480753267:3023252:2092635
+64585938900047:9774397:7721439
+45519174565490:86283486:62675732
+13152006559347:75389578:68508513
+34492281377559:82435884:35845467
+61186370005710:84673765:6657765
+35032023471111:67361322:26990469
+48590225449004:801338314:275441300
+31766082394433:802185835:325514268
+75626324519825:372080402:238652521
+65680003113538:698936997:194568451
+72920078384417:485805720:154006697
+66126595353050:3848566650:523172750
+30776561262431:2057395098:2045386547
+67657379991427:4272467321:2859963392
+79051711281594:4639934238:1151668788
+87169401791830:6671679737:3906027925
+85804234025499:87611012594:33052695973
+29722562438459:23359209897:9647449475
+83942639270345:67378541892:56354614805
+85345933408021:26231580965:14600528876
+59148163092876:27461298878:23986608542
+22313500950337:111916123585:42192356922
+21500778993689:770237847949:704357099066
+65306874053312:170113391894:153444957910
+30344671686283:355107388198:160543689453
+40125483115791:332958996658:170403516831
+74603865976391:5683943922665:712594981746
+30984244588923:2645767969048:1880796929395
+95752710070026:3061749766933:838467295103
+11943812297179:2874505968791:445788422015
+59291187184128:6312020616092:2483001639300
+22243042732980:13772558507361:8470484225619
+86784322820963:22200170579919:20183811081206
+54074788360207:72570512734954:54074788360207
+65852274525532:94628663211569:65852274525532
+87021369944022:89647699480337:87021369944022
+66004678558710:348288958681369:66004678558710
+22446211923566:221833258638325:22446211923566
+42420831466575:887149669038154:42420831466575
+26204984698021:221392845125761:26204984698021
+80290977097345:137095961532367:80290977097345
+39095582329493:3:2
+50476789676288:5:3
+15976215763942:6:4
+13098594266956:6:4
+59083668120228:2:0
+69420600039088:85:28
+79627677949287:91:13
+23541302453864:88:8
+19194476593397:62:35
+81834931140318:74:10
+62656102002362:970:62
+28698083166996:757:338
+45714788863131:728:115
+35432522830154:474:248
+70555183167759:432:303
+78041959399580:9761:6292
+33787180182481:4955:261
+77837116511832:2389:100
+48200511070706:7790:7246
+57064818652579:2172:1171
+79283411357658:92224:2202
+64010923069158:39611:20943
+25607535351941:89796:23405
+24924879876879:29795:504
+95331809251372:48022:2592
+43754253974263:853306:695915
+30013709868185:250867:50609
+91335377052568:235457:229457
+85308724021234:895724:715850
+67822177221565:221635:168325
+49157896106507:8909875:4091132
+51318067329523:7879804:640495
+22938821668436:1903607:1343927
+86879350227158:6792605:3177338
+85117545876710:7976727:5892365
+56235382323686:17351806:1017316
+50362260138392:73408175:67822417
+31518783573476:74357190:34804706
+72799868022079:25095654:10811749
+51370948165385:58479729:15022625
+44535841233918:519342799:118848472
+67498195805888:271751223:83534702
+84865132556077:909118555:733683937
+48824582203072:635089563:166778758
+16912671797194:856026362:158963160
+24985626894889:7752177403:359125020
+33227827574547:1264607619:262385322
+68581112599755:3647298438:960070041
+31634253678233:1112655644:341063669
+42025961600507:3338601772:2981096343
+87707730561841:99991207315:15441746586
+57059610303824:41001797199:26110400015
+14462298352746:14221754328:12995955498
+44422062642140:15006915575:1592540140
+22249405315306:10765260981:8376128560
+65463371562018:505066551981:309786356469
+10125420385360:926404335947:861377025890
+10992225365800:568749514285:185984594385
+74586119072117:254625067072:235599487093
+83247279523544:944069613225:169153559744
+99741137894368:1280151336196:1169485007276
+60789782185950:1148012144431:1093150675538
+85481014425213:4335585611597:3104887804870
+28063221803313:1035798470938:96663087987
+37279074317546:2539276031594:1729209875230
+72629765508220:15796086559124:9445419271724
+39169758365113:41402756655507:39169758365113
+27370560044385:61644077414136:27370560044385
+21600315421141:23424693370929:21600315421141
+96468688643942:55739625085014:40729063558928
+76366168723288:589014568730802:76366168723288
+51480378076073:591380376169722:51480378076073
+19192419644847:385291674345981:19192419644847
+24153047372015:470576253082687:24153047372015
+46709198253822:975761138042844:46709198253822
+43762520060561:7:1
+24632243486332:4:0
+97462965807915:8:3
+46729172422416:7:1
+12972931433039:1:0
+40169991849807:50:7
+75688945752689:11:5
+67721886560278:88:38
+86683042110703:33:16
+54232459279923:26:15
+50714622201523:548:371
+27354472557194:550:244
+69603567500531:687:299
+99743264015536:471:109
+31209229305339:963:87
+94009451056795:7985:4350
+92140955574469:4770:4489
+69338747016311:6970:4401
+85553306239211:6242:2629
+52846100411481:5797:5437
+29800276619781:23878:20991
+10115824406156:22383:17171
+85919791337992:41760:28072
+31481119800839:86213:60871
+69913587916074:25302:15396
+65608631363632:570062:252366
+54154096982332:534912:332476
+22184116639572:691145:153222
+40002974938969:975127:673773
+96150807421853:502110:111533
+57069186531467:8816856:5293451
+24329078153487:4540274:1763391
+76475849522105:4484652:2804417
+85066588017528:2507209:312746
+48107794462223:7041668:5936391
+78551805412184:11023954:3843760
+45913237019850:14463307:4090709
+58065903468858:70264689:7655526
+94118760590822:43501996:17145022
+40810305899321:46668080:3300921
+56474957167583:871029155:39844848
+16727916275957:139455194:126300463
+46113391527758:598687150:112486158
+69911969749634:824456229:554899121
+24061361482766:786981073:202156864
+70222419406885:9243791427:6579727393
+68446521668407:8494476751:6522485600
+65137182442259:9060425957:1780237386
+93172757834001:9049849575:4556459376
+79488046317012:6869829110:4123514312
+40910374278118:32251235626:15807504350
+23160704027820:21272170628:16582384556
+96682009590538:58964977529:38411420507
+71917633105535:89366162955:67238089715
+63950867625980:33170272969:31751614717
+52592976218210:367468418815:44992327665
+37257098502841:960911764344:742451457769
+42010311152415:726286769759:611965276152
+29475175418350:760503374264:576047196318
+62856943434878:834956194739:235228829453
+12971732464339:9554501100262:3417231364077
+65940611205808:4436337752253:3831882674266
+89532260901061:8089575329943:546932271688
+93091516842300:8466637988486:8425136957440
+93254177489804:3252351239005:2188342797664
+32505021700370:23017599206527:9487422493843
+89565780205162:10410267898638:6283637016058
+47542581845860:62080833332801:47542581845860
+38132739385676:34603751968744:3528987416932
+63496930860400:37139613657412:26357317202988
+97950207750874:511537670223591:97950207750874
+65544503772244:509044998671687:65544503772244
+32900902665457:391825535641042:32900902665457
+24166941819050:135373562589169:24166941819050
+79383978548504:222407352358099:79383978548504
+46605044703526:5:1
+99468196476772:1:0
+93618918659193:5:3
+11223224896449:8:1
+51947527544203:4:3
+82777647705715:19:15
+14350075898467:16:3
+12695904682080:81:24
+15611196721749:23:7
+41276897231650:44:14
+27229975164701:154:1
+51425161116051:906:453
+19727993427395:399:344
+46030142439528:735:303
+22480034508116:812:584
+63581048384354:6437:3861
+42829655041451:2494:863
+27440790390964:5266:3676
+12913683344414:8879:4298
+72639092618739:4260:819
+64590968861106:18779:5829
+92145198271268:99571:27715
+26627583790523:33570:12413
+83121531346941:65974:11187
+44862561649812:33407:18672
+77904705608246:278818:100992
+38311345911924:433622:118000
+63472676404715:934492:510659
+34115150561776:264015:79081
+75779620286503:648747:267862
+23481787117827:5805477:2745399
+12146590165623:2385841:1648749
+22636523640543:1413821:1026600
+41855136862389:4310959:1443717
+30988909410806:7584625:5063181
+74561037925431:84651998:65999019
+84134409886660:85243592:7505764
+28519038126350:28274802:26661476
+39501575595107:70069868:37859447
+37588670452630:50821492:27718098
+67014381017728:236714566:13953996
+89348652947936:565008444:477647552
+29983792017418:611989157:607248517
+84930047346305:232716843:35493455
+72832542101426:552163213:5653874
+34371704650068:8478762917:7278547467
+73503896695547:2804284116:805731071
+35673547342210:6581962465:5892744375
+50295009714511:3639947770:1851376421
+41227837268986:5009034757:3481218876
+33511472174015:94496091745:59855696285
+35233972518141:35682681922:15165461127
+72394308836879:92428833897:22531895528
+68620245637942:26411649736:2779623814
+64604808684597:79055969099:16081930714
+42984802108603:171645491098:73429334103
+25284358500494:839482207485:99892275944
+75973787241215:525048166935:366851202575
+26556508014148:678296115969:102959491357
+92425026826585:802112958735:182036572060
+34796929164556:5555043909141:1466665709710
+80925273839522:1320876948076:351780006886
+34418712646709:5136875214527:3597461359547
+87334791781573:6911900245654:4391988833725
+13759737907597:8094761605879:5664976301718
+54389276778957:10190525648821:3436648534852
+12117839882097:26343478984132:12117839882097
+38304736642063:46543256982949:38304736642063
+32241109970450:40946494962886:32241109970450
+32138003201788:55853130023572:32138003201788
+82734685527311:401689469730962:82734685527311
+94122804587867:459261236843833:94122804587867
+47682939033843:121417541872079:47682939033843
+19527771872017:935435303455573:19527771872017
+73464788525963:936953353160309:73464788525963
+889172708841893:9:2
+679976105934595:4:3
+965869406447855:4:3
+547840498354984:5:4
+304329201194607:6:3
+846364690681695:31:22
+859005315544247:84:11
+701956370874695:89:12
+597232161151563:10:3
+109422727506597:33:21
+969310552493601:372:225
+726073088547306:376:42
+378914206232422:200:22
+792771810293708:259:7
+222090567475935:614:477
+200267791361144:8006:3834
+928948234596655:8160:2095
+940691433186694:5280:1894
+330289669526140:5306:4804
+614826100751399:6066:1529
+828603912127897:30508:24285
+285773008472410:45916:45790
+971324200584211:31687:16972
+981255217526126:28919:11257
+624024999346361:16187:13510
+788613353969801:422699:20046
+698428507894596:524795:29816
+671775485969003:977816:547739
+583472027620019:717811:146486
+243342906765657:879554:792711
+649810952085972:4345629:116394
+578965416772493:2136013:928018
+935582671016684:7132248:4543748
+718324936579110:3073376:1897318
+185132020745071:9896306:3482767
+974004459866257:25694595:12482347
+150739509034188:19150084:5829868
+520208337006755:84450083:48230905
+189875157765745:71882005:63552330
+916840869151136:92039684:74382160
+558114773498793:281254333:143943252
+863571183097718:132044487:106073231
+485542374717689:981966735:84896324
+916197085407317:861398846:351819027
+188517929404424:863003884:771971812
+760847789296124:3108164723:146752954
+844710361099366:4689044703:2403077431
+569075841121525:8440534320:6576732805
+780459878923347:2335603328:1677648851
+432561741919600:5217029927:2139582249
+368920308875574:91471412632:16101730718
+559161542678581:89012953884:71179333177
+858902335944613:10518949271:9090068921
+732613168018314:66696589109:17833245058
+207088879403786:84048656421:77038638863
+670718306615932:506829349205:183077617717
+495363070993322:178202657987:137884447449
+797392353557207:304409382207:144181557074
+442667699688191:300314344341:4356129557
+642420984912248:408096596741:76941641914
+974124510208671:2592967344565:1761755996796
+831226352371426:4356143139571:3559155852936
+221522869090767:7648891828860:7353897882687
+191537190832973:8529145142851:3895997690251
+498493839361426:8904124258682:8767005133916
+328016142041883:90752686715541:55758081895260
+623709717676489:90232485467365:82314804872299
+625806272094022:93343639280385:65744436411712
+750824032011770:99027196534196:57633656272398
+953108122153493:34881738936568:11301170866157
+204870350142478:525676885783518:204870350142478
+356428100122706:360827721409844:356428100122706
+878105014571442:199043750742799:81930011600246
+193122337265934:825729044251502:193122337265934
+388794269569550:549654620631440:388794269569550
+647658682470747:9474050779197231:647658682470747
+909887944909473:9832490090645350:909887944909473
+741222375198506:8377180053502549:741222375198506
+646691408400794:9104150848786113:646691408400794
+636514134531656:8500210973386150:636514134531656
+121578310740278:1:0
+479548766875850:1:0
+671237870327301:6:3
+815786316983931:7:6
+570018645553215:1:0
+300623291471925:77:37
+614568062099094:86:18
+455810906964084:26:22
+961754455453749:60:9
+432738812777494:52:2
+173646201371580:309:156
+929203033655159:865:849
+398174247439504:895:634
+292043526543652:637:520
+675978841079088:842:660
+374381441396672:8334:2210
+836118809575220:2269:1294
+751934306451208:9438:6172
+642516184838052:9106:86
+506509612147336:1869:847
+213610917793067:76539:5186
+498291824293428:16579:12011
+271729974324166:33301:18217
+939126995498939:68662:59537
+490176873379346:51438:45890
+907123212280666:714485:496261
+139630530559916:633740:94016
+928663249395999:719757:338817
+976727994166155:871908:867171
+690645111921619:799923:112426
+521753500267500:4663156:2803592
+948925703189641:7606236:2633797
+237210657190048:7180720:2494288
+716654140985927:9546898:3342429
+384176035737399:4709892:3101355
+318478363836182:62107921:158120
+643838424922284:18775130:14750844
+729104471034209:73180096:51211617
+597090735594870:17897857:6056444
+177650164739744:92856875:12907869
+610036814855824:959468474:42807306
+377389337954973:676225800:567265173
+493761240972294:255174960:245121894
+632804383420782:707470400:409436782
+970481828651573:281765072:81752405
+288767358664125:5282449554:2253794715
+310628840886863:6839148402:1559616425
+950467661547860:9722809375:4708285360
+874553690767569:5336440016:1891625441
+836908697561034:3405062146:2308130716
+441431426019055:50879392770:1814346535
+199438784440749:34703968839:29779491855
+898365374259107:20804182249:19980565038
+593658800508184:83699129187:64576313980
+701502285774173:24364946446:11112647387
+261958429049143:616038303642:142150001293
+607094331581902:606978925541:115406040902
+921268674362323:272909525163:199026937198
+830673198159171:872307988877:235992748267
+998325330795751:731056148158:433688560081
+302383231034591:1869907932419:1328053915132
+513309025947912:1516194248416:835369983304
+811035036505830:6765561682571:5933196279881
+785487111217075:9768550371827:4003081470915
+359531257682868:6969114420507:4106422237011
+280362777580651:52721850160891:16753526776196
+866963402278097:43055314523999:5857111798117
+395373507713515:70878777200669:40979621710170
+483310138640241:89163172532437:37494275978056
+715891141381888:49000806930716:29879844351864
+760288664310979:785682221871260:760288664310979
+665251262141354:144850871026347:85847778035966
+753230735641658:499303138827549:253927596814109
+608509529091255:911401997988236:608509529091255
+958236158879384:455893925109538:46448308660308
+838873021066592:9330263735073774:838873021066592
+426031529717994:2646787401694972:426031529717994
+692561123766425:2628243914452687:692561123766425
+905939724249192:7851195832424850:905939724249192
+388786467558451:8582292378635897:388786467558451
+168713542386953:4:1
+435513642081373:6:1
+990898889856634:9:1
+630521147392551:4:3
+103359257446396:8:4
+847012533648076:45:1
+976702179551306:14:12
+549614348066182:74:20
+828430969484444:73:28
+211529079276342:57:18
+868049571119825:313:272
+770013658582228:385:368
+483464715101196:546:192
+194589005790125:572:89
+891310187659336:816:280
+435290208493923:9855:5103
+422538582775635:4449:3330
+565860538874496:6135:3126
+918308536853155:9744:2611
+587062744984045:6400:4845
+529068884441485:34632:4405
+204608499611660:40858:20562
+869398450058072:17940:11972
+550386195280546:68722:66420
+928852695475498:56838:19204
+747445438881744:671858:171246
+213920191144906:315264:73930
+479797140391093:699053:603874
+779725422831569:224173:15127
+897916040812869:968440:265629
+112930192476669:3484357:899187
+909081712733151:7253732:2847375
+162423739419376:2045877:1339348
+677220982760932:6284484:3325120
+631212499228587:3079722:1687503
+414419234010429:81486692:1391961
+741421023949011:72693310:1879391
+596684834458051:15945427:3911879
+470035287515940:79457511:11032335
+361765612691716:41123213:19884434
+926521055382499:236329470:112437889
+433617197138934:211139526:163732260
+636658491833386:801782908:368387262
+790343003891947:580995232:83926315
+653300255721876:928761732:894577488
+915229944088922:5109339025:4263218722
+923258341527641:2611890696:1994524169
+851023552307771:7081564096:3668635067
+827772985009816:6949330280:3508707616
+172922349272076:2016022927:2014754505
+374916547385991:18079635843:17218545543
+647985708887128:61907242236:2604402916
+793232058007243:74757881155:50938952693
+448092114293872:29241746703:20829563803
+299230795652621:99553665594:72030542651
+424894193492918:255722526288:139077328550
+702399957718008:659920522794:244521465192
+508589444959300:289326283255:243165280265
+475711367198502:338509965818:104865224212
+233223577524204:522606230052:141198921012
+754145318733204:1962692170495:471525263124
+127388144978380:7919253583010:680087650220
+814631482453886:4476157021043:4447061645103
+981698654370576:7686167630495:5555365297711
+438047867558922:5890672660091:2138090712188
+875202767466305:58361823901986:58137232838501
+590500650691373:66002211046330:62482962320733
+184808139568908:58084770692237:10553827492197
+448785424998436:83777302478456:29898912606156
+856186957443345:35754917455634:33823855963763
+959736714110521:165233786381647:133567782202286
+407756795366926:463957654186105:407756795366926
+837724123985093:216953578052643:186863389827164
+661657879151649:403332032370845:258325846780804
+224856292457697:306702358240213:224856292457697
+144097080611689:5594901153215553:144097080611689
+392925429255724:9801992195637290:392925429255724
+629263573287392:4511632547539656:629263573287392
+780944957769401:1441107768313627:780944957769401
+119361018628693:5817233592106175:119361018628693
+414592279904430:2:0
+492290635040331:2:1
+930000939913897:3:1
+780754633959155:8:3
+249816657423443:1:0
+959102269741079:17:11
+423189623560280:13:5
+852632596815649:57:49
+985501431050376:42:30
+142329459208009:70:59
+558049262300640:272:192
+688328019773841:209:51
+844020313766075:855:605
+134481937755381:986:795
+539092285753164:236:168
+752374968872358:6944:902
+820888845108977:3307:1196
+397281187875058:3189:1471
+163871030834006:6094:4940
+232118021454840:6801:5601
+214443769702064:21865:12004
+207152334936848:24350:23048
+452010352056883:91594:24957
+284027284151201:14839:6300
+154117798867749:76240:56709
+481382416077855:620342:478771
+331365449609195:687582:399281
+696309152773574:510102:229862
+351512912840643:656799:545241
+560180097888148:244241:9110
+278271743760390:5229745:3724530
+613695725198858:2849866:721230
+993069769982991:1488702:409509
+727670836133949:3476819:2860393
+202807865866764:3553557:3456177
+680034581652774:61402019:37191551
+810240209516860:58059825:23848060
+213090004545856:12394934:5303122
+222760693306202:25653397:10484833
+854639941209631:82170207:25903888
+443486938377702:893794931:194334398
+499847992568341:209424299:149019812
+778038182795441:233930993:75246951
+754190325840098:435007180:107572538
+639885625829197:150659929:63501675
+543393885877985:8543625011:2247928363
+502791391676552:2299369565:2045115392
+463712696140869:2241182942:739526359
+696040513946893:4392869501:3520121946
+297130800795623:3244515862:1282669525
+975535050776094:25655831734:23360754212
+748801413352684:69542153976:41041493092
+472597062741587:65069304785:63771392917
+110512922104913:29259987066:27210943697
+807193687144446:62213438169:36540339840
+989888881804376:332146673893:91793603236
+535681655148696:270996202896:193158226200
+661743216238327:144304642003:106432654572
+737183709210916:468448251904:314608965924
+649438350761402:132855631162:40025641546
+759359603749879:5133742994014:4699383629821
+829343114977602:5643317572348:5418749414794
+939388256369894:2242951083226:1834703581426
+517823362231655:2420374301585:2283635994050
+842012087461387:4176574127558:2520687822229
+308947136667928:19617825046894:14679760964518
+734972134909851:97778731795016:50521012344739
+946465901185508:74958843186132:46959782951924
+147179035670825:74657527538805:72521508132020
+409524450218564:31172712035407:4279193758273
+780481920762943:546958783686080:233523137076863
+282972188019264:507916661312117:282972188019264
+473553856897283:590509609078970:473553856897283
+406456816330426:607138154409290:406456816330426
+167334542869139:206786560278683:167334542869139
+385699706640044:2585179644705659:385699706640044
+764485296870691:3620592938193406:764485296870691
+182404340752279:7648187565932670:182404340752279
+336933605945231:2649993928391868:336933605945231
+846230990008728:7063387625474937:846230990008728
+799419276955174:1:0
+730399397177584:6:4
+304525931295986:1:0
+323553532962576:4:0
+947441666618275:2:1
+875386719033340:68:32
+541051564409499:80:59
+342865898364809:75:59
+268957550389455:23:22
+897597461817953:47:9
+252661993901657:159:92
+178475967201946:681:394
+494173287456821:318:113
+375485353749848:619:290
+672533119259780:144:68
+449311012339956:3959:402
+516139915048567:1512:943
+483464197745202:9763:1571
+685591641019374:9759:1416
+578833225691836:1910:1596
+128427717978684:37599:36324
+717888889614549:27025:22399
+995944877036817:41176:29361
+107073181853524:34100:14824
+407340920476424:98572:70616
+955127281152595:454753:437312
+976199155955097:586273:211420
+339538763215333:148433:61494
+591578264460123:532412:387483
+176094556345065:178113:9666
+482625976359485:2151178:75891
+818504682975090:5218119:2302956
+793088853245021:3516736:1465821
+486564915387495:2835294:1471029
+244390629738407:1127974:801585
+568064735795349:71071476:22776609
+166147819221019:12616678:10456785
+665842363401302:88512465:87416672
+590757116129113:46612211:13502543
+497519917379946:87227463:26074605
+821110674492852:908956675:117348227
+595393276132708:933887274:915692200
+163067428276965:271355856:196951605
+948185712426060:565069019:463613079
+642890895466892:415336013:172328439
+922609051048936:2820940874:591621118
+901057377868484:5936279267:1420489088
+506415916098913:8404152823:6879443402
+399518368756107:2497515938:734217999
+601989814825842:5258065463:4416097898
+333210824361659:78445167763:54196872198
+569036219722443:59975469147:48943924854
+638432751644070:32624254576:8713846326
+986375645307630:35394930042:25129827216
+310249851637364:33276784566:10389128546
+338233866648652:669254615780:260285679752
+376857617125804:612491224754:175513902094
+287512204038970:157256354666:47587709522
+341723537865269:196813136114:55933571365
+355188960467894:758991259461:740042299607
+663381350377741:3571821070492:2594452336721
+488025410421397:2597801605712:2236510153253
+999648043140545:5303719809517:2548718951349
+896084031015233:1352700058117:596592541779
+135092589727201:8655966539621:5253091632886
+691011541516603:46371687110875:41807921964353
+717296886327416:54990739926120:2417267287856
+335237123265173:94397118884189:52045766612606
+987952855762861:28213947783876:464683327201
+556328744939490:17619273463822:10131267561008
+220599800976085:860538499732630:220599800976085
+861157953558029:804200569293881:56957384264148
+978758286777037:622628038905881:356130247871156
+854264041914485:247681609785324:111219212558513
+484312033329618:193918805168130:96474422993358
+991179108075838:9109836393951371:991179108075838
+910209195699654:8312155755610328:910209195699654
+689812952966319:5065415408295201:689812952966319
+220343126509351:8133217333791002:220343126509351
+981766211711571:8885922427483740:981766211711571
+6275043810706805:2:1
+4482974116698456:3:0
+5068407990505344:5:4
+6894759366736878:2:0
+9029886163592686:6:4
+5747675888511667:53:33
+3757148451432251:87:65
+6693811430893822:92:74
+7481803639505909:55:54
+8773525365632926:87:4
+7940887379019146:202:126
+8114731704376933:601:13
+8517771279954073:391:359
+6612564811351424:802:652
+8215957200662838:324:126
+2142693982386104:6917:2100
+8578957691563343:8245:6993
+8648932215661901:7667:5663
+8190878961487372:8326:1918
+2769273992315665:2207:993
+1703491161396752:72960:42512
+9040186535569779:91693:36402
+2113566272097605:88820:48225
+1925801164927804:17195:7254
+6512024464654045:54627:54031
+6391813790920236:446392:311356
+4171010009098620:779231:328012
+8032037564012880:837543:540447
+5307243409442843:820040:228603
+5827257981018122:823896:803858
+1854397960188488:4463223:1021784
+6612986817594389:5565786:1706411
+2661698066351003:3286262:1805693
+6641081166389739:3924811:3807070
+6253398157666035:8879806:3362501
+8795079400108666:25553873:6393173
+1071981498995456:90875625:85659206
+3640837783661029:65014252:12967309
+7234673703784759:28902892:27287307
+2075388971782306:11876704:8366818
+1804097017337295:970031467:483972284
+3481300431578618:582997136:78625258
+1472656372990265:675087891:70014026
+2561335825209239:335871088:37546727
+8392017210309771:145243158:2829867
+3304565920946521:2659405389:2081602066
+9315575675362951:5443057776:14049991
+1783760435054139:9255923464:5144689379
+6128687061914607:8055774866:6603584261
+2601960704413733:5136914092:704705709
+2577732003683387:62440324902:8070754121
+8202930625769665:25193183189:4986248076
+5021586614943866:79917105478:75209339214
+2780485717433780:97738610295:17731761620
+3226873386369085:32919970559:24952205346
+8683610763923860:616060577015:236930897435
+5039934147050117:715795757281:16220034596
+5104644732717263:270025534071:82036639079
+5065900875052480:223249140473:154628579637
+2007547309454694:468217915438:297105971988
+4720411561652158:7203623445093:2038205116243
+1960359501153695:4213093734172:1270914763715
+8244819045534718:8309222694479:2070132611550
+1648206424501726:4348974845286:4293932983618
+4903152609119064:5613475078663:2588865446265
+5231060629298118:24406931017612:7977391529150
+1372211707805210:15876654143986:6819451422414
+8430020573126480:87603873508689:20048716292336
+8064571844311693:76238498419255:59529510289918
+9778995548580456:63444081490419:8606999055930
+8827324435931187:513110480044560:104446275173667
+2926202133677184:437640580188749:300358652544690
+4388754989312874:603587988860757:163639067287575
+1878548997614400:485085005361652:423293981529444
+6832701736998104:286401614242747:245464609414923
+3856610194581693:8675160923150277:3856610194581693
+6312255037008445:3399099059000992:2913155978007453
+9382178004965964:2015144504318097:1321599987693576
+3061124208305158:1410607898088469:239908412128220
+6742834874798034:2613040308501782:1516754257794470
+7523610681392486:11086994981864686:7523610681392486
+5121150867054487:78054716836313676:5121150867054487
+4855756823846828:78065905487531950:4855756823846828
+8000842423939238:84253526123340037:8000842423939238
+4158041344824299:20130697245029980:4158041344824299
+8128593996091906:7:1
+5071854925205702:6:2
+5715176957215964:8:4
+3078722860989138:7:6
+3338981024601427:7:2
+5725063157508662:95:47
+6536051799176871:73:60
+2629645216090209:53:9
+5149659432622693:50:43
+6831648242053820:68:60
+7927141721367926:364:330
+6643125540189121:411:400
+2224652897884843:314:185
+3391433810467295:877:272
+1778959103787930:105:15
+5819269036073589:8711:8489
+5633606579895226:5911:5537
+8126921929002404:9656:6740
+1594395959051206:9454:920
+3461345800408821:4105:461
+5846152656742766:42764:29430
+9496086418845839:11086:4479
+8668523095462056:93321:18552
+8895350431112237:57094:18957
+9947600696963364:36182:4994
+1735193759010168:351638:192236
+8561313342022514:466131:371378
+7001065676925780:738401:33933
+4581509025350418:623195:119588
+5991282981886066:140132:22990
+6770023360470306:9528048:7651026
+6537637701860801:9306498:6050231
+7866263385854117:4663280:99637
+4783609026599204:6072897:5087603
+5746489761995900:9907248:8725868
+3596840866137552:12986646:2045394
+3647972370846629:17248521:9643997
+1401783920827176:35065179:21099738
+5159020677683554:44927610:24309694
+4646888099726308:26569698:4477660
+6630456656692527:958136794:572872663
+9486773475374864:600750159:305769209
+7605186893422594:261307860:101390974
+8807930064775035:255726798:240316101
+7879415413008602:392758458:95120888
+6524138647063651:3555224122:189143281
+4228330988258439:9191191011:6284366988
+3894471642955252:7024897868:1737995544
+7857328961223624:6516442746:4307821950
+8781312074625427:2884719329:1429041765
+8648813092005331:91049969857:67505258758
+6272282645606749:65732093613:60540960676
+9720240476561771:64521998832:1352520971
+2441883835387942:62140289670:19012515622
+1130647249462337:12286637604:6283867049
+8006318483431248:805862149094:78032182358
+2471671181097631:486530352886:96988436751
+9080961458124327:584451302460:341571803307
+9553363450185022:607401554673:151798288078
+4439465699133989:256376306641:53573338433
+4907194354634773:8541714793432:4250063204805
+7021378682881592:2102075946160:445022707192
+4619035209429904:6373777276531:4420461221460
+5686221871445790:3743492836215:3599746071420
+3668649486326309:8115948958513:240557078433
+6421491469512487:66707009959235:17618513425927
+4224791413092894:39137314817837:37098727584335
+2288217839075176:86184148408749:47429980447702
+4033059280265745:74069486379318:33307015782573
+2447905645639624:72375865603464:59502080725312
+8429670688720502:913299046121322:209979273628604
+3829250733923139:234229547461083:81577974545811
+5465580841119461:722193265018677:410227985988722
+9503713175223259:179445687642972:172537417788715
+8468356238955612:961494901926813:776397023541108
+1387202212711887:1486761561768565:1387202212711887
+9682102400272913:8705323864528196:976778535744717
+3878291575158596:7687987413307973:3878291575158596
+1476828811250605:5613250939673965:1476828811250605
+7760285620386510:6530852355861888:1229433264524622
+3022005251182799:77877442779645973:3022005251182799
+1633544315595574:38270352859793632:1633544315595574
+3100956956577819:70804309699047438:3100956956577819
+2069937986377156:35536860977071477:2069937986377156
+6776991602191939:77464055802976766:6776991602191939
+2767181482510745:4:1
+4630588270597113:5:3
+9254163649261237:2:1
+4234265802874791:8:7
+4687565421893694:5:4
+4341477946432283:49:48
+1747149511826488:37:21
+3432871186367856:58:38
+9444615551803350:81:18
+6108456227086021:38:3
+6025165720739753:444:77
+4457551882044691:160:51
+7217845822729876:513:472
+8361736791241007:406:223
+4414423774655413:899:67
+6450970848210315:5728:1995
+4067267697534809:1892:625
+7892182625744022:5419:5293
+5965127968852346:9406:9240
+4088303063728119:9923:5840
+4346741106672351:19823:1047
+1101317042395771:73348:51175
+5653315049710711:61890:27781
+1985646406477091:73498:24601
+5922399374268137:45649:5899
+6466342982402482:806702:704064
+9917462562509618:105868:71054
+5637493918014790:953913:827908
+9745577999065825:920720:808785
+5666299187957829:504837:101808
+1833354032310910:3351970:613570
+1439800660943531:7100810:432201
+6341385124124575:3119472:129103
+5513506543707821:8634962:5229407
+6850860619239888:8470998:4182954
+1609660722116983:94976134:74373747
+5784274327333091:14714788:9819927
+9808167590554245:48673294:45637333
+7442983902965184:42121447:1917981
+6570522934410117:15779619:8583879
+4013474893296733:117842201:26581889
+2265571807943339:447859336:116418891
+2656600541711734:558629143:548135224
+8296300820242802:977685148:320566
+8842483773134249:286767790:115555409
+2856460851176831:5771989606:1318990733
+5189772810129309:7993434460:3513236469
+3519180643514403:2815564500:943835403
+6909952004850913:7666604100:3396500413
+3195796967062828:5572305688:1642715196
+1605797073510756:40851766707:36679558707
+2330416488998716:11317823388:8746469188
+7121627506439803:85379326906:52469883437
+2760832442523158:41476564791:27860339825
+6548901629325043:90109150429:38903596610
+9418990360730266:386509760884:133997748070
+5372046003213540:138355141110:130939335570
+7348518741655815:527358574326:304366997331
+4492688094477467:910407292161:738514955093
+8602540345314907:970175931298:960538426839
+9194713692813020:4800644101233:1480238951825
+8792525275194659:7975740470926:3259276234207
+7195237755201483:6667340980067:1176837709190
+9116994955388433:4413316361010:3496669902783
+5134739743272195:8805511475630:1126552979905
+3973876342924898:66625467081822:42973785097400
+9519995099919479:74101756777126:34970232447351
+1469380091550934:31532572972469:18881734817360
+8161369856934464:26120379522258:11811445989968
+4392233158626469:62541384056257:14336274688479
+6474061904383193:991394915048253:525692414093675
+9052289213918674:658724675504450:488868432360824
+6082664564023299:404366205108407:17171487397194
+3277832782666965:324572531248099:32107470185975
+6617040310283029:881154839315800:448956435072429
+9819646832496837:8493188613051917:1326458219444920
+2353472539528625:5936195439193083:2353472539528625
+3213500301379406:6828034294590177:3213500301379406
+7518175009711395:3087628841293613:1342917327124169
+5833106048506985:8650477661182620:5833106048506985
+9772866860883736:20983811089658678:9772866860883736
+2577291723368463:19332180430574055:2577291723368463
+5986158739379934:17439086171449799:5986158739379934
+3815785558188104:33134717851354474:3815785558188104
+6456888679437482:47363009237491168:6456888679437482
+6153185046636557:4:1
+1632259925306192:5:2
+8834858896766279:8:7
+6840804592237456:5:1
+2471681287988829:9:0
+1560859319469280:55:50
+2119238072834168:23:14
+1384379861744312:71:51
+4139471685722848:50:48
+5766716924572268:15:8
+8886767147613517:645:322
+8476250697524175:147:111
+1031690818346722:609:226
+5753474616099939:800:739
+7407287451397947:224:155
+7595381960116861:5290:3461
+4241348517942591:4970:3121
+3121472198622003:9437:3383
+1732354236920446:7617:2959
+6643573168321515:9965:5585
+1273497941590542:61450:18592
+1636233247542384:89473:78381
+9686391202917753:66993:66489
+6138140410806830:23818:14728
+2737274669845502:63163:19990
+9464424785277782:554880:260822
+8600100141885370:701213:681989
+2691975492352822:346904:336910
+3888192054508853:471166:236275
+8949241291033082:262346:28522
+6642474335125352:3486701:1443350
+5187925427530093:6041620:5716153
+2489718598970313:2855274:1249029
+5410315268895270:4201217:2367371
+8101589821866657:4967709:4582068
+2954927329563744:95562038:37824464
+2138183781096503:72180726:47679137
+7712648939327943:45290124:17507595
+1257419627173253:34321540:2789473
+2683899208017049:92639572:101385
+8678722802234477:462528282:303458921
+4397869114005554:439260117:336682490
+6716592442697842:101575824:71556994
+7934379364764714:176045405:110100149
+8644394626332815:156244165:110907300
+6650859046463214:3323731868:1780225986
+4128150092679764:3633868583:2705020104
+2979578232574277:1346257575:579857027
+1848891386299913:7775869697:7296704829
+3817413113492563:9607864248:6882612955
+6429840847355601:55224753694:22774763181
+5596875640464468:40756908181:14738325005
+7931229286471474:80038755262:28950049370
+1862591046845738:70155505657:32527158045
+9461491206587868:40513154645:8557639923
+3769068195988922:318828284719:199042325623
+8184929144812854:402717243702:103883813406
+5135807551306119:580399618783:431724314135
+1556524167279734:919648434976:479015300342
+8891198427949058:548070169023:404146057952
+8113696059890215:4123455844110:2858414525845
+3177581655774818:2550946542836:1653209943998
+3677366411623900:3568036786425:2288521606150
+3062147632284721:3961187413737:149761466020
+7425819089180729:5576405719139:3623077006720
+9144526169360285:17931523136974:17380892640519
+9163564307914484:65535352110053:54150364617117
+7637351280857661:87995205565508:69763602223973
+7902086184656619:96384217563558:94964562008421
+3227287562696844:22100860652707:561907401622
+9185356600438030:747064976129198:220576886887654
+4991146649749206:387947834990502:335772629863182
+4140837783808601:607775698699936:494183591608985
+4699185536542288:670560257978854:5263730690310
+1949367287450206:580256636035485:208597379343751
+6270361972742881:4542077137661300:1728284835081581
+5342598855314473:1035616099874701:164518355940968
+6935346741143284:2167507462518750:432824353587034
+1865449985134844:4271272535795033:1865449985134844
+5728315386364154:4689779782150895:1038535604213259
+3363258484430419:74654755838559481:3363258484430419
+8767109808750276:84658961860103622:8767109808750276
+3921551275178452:68439588387335653:3921551275178452
+6325902446985328:37851998978735272:6325902446985328
+2838335307734077:82598316255212557:2838335307734077
+3291890737308541:5:1
+4512627425859055:6:1
+4482211812996353:4:1
+1098322903122247:8:7
+7456380860729773:1:0
+6822797995365346:92:26
+7349154056149652:36:8
+7528990779182532:98:72
+9370182153731180:67:26
+5605616962373342:44:2
+9371211820359939:471:330
+9149478278995221:273:258
+6241747808267188:842:618
+3659404483879205:899:349
+3222069604787623:795:178
+8008887603899364:9640:1604
+9637239666845713:3677:3011
+8095745656389665:6183:2639
+7663512089409265:1483:1067
+3303368025517226:3323:3037
+4566506312299320:27069:375
+5103441454776444:89696:83868
+2337445916287636:36270:7096
+3033198065366071:25747:8748
+1366992053928657:60267:21717
+9862580653433422:469847:47458
+7883184559595062:292431:20683
+6656437540252000:755003:31407
+4746602969505540:497337:320106
+8702776252967592:810010:101882
+3528966841937566:7467534:1173904
+4547761478266669:1724831:227489
+3644661410468666:2350886:1796912
+6655192711059935:8827036:8253459
+1298369820636376:9606067:998097
+5167876111896926:22423812:17572370
+4272485149029765:25828336:8018709
+6006478834417548:47206802:13259606
+6691406016555313:85586044:72564725
+3842770134501447:78772010:38354987
+2287754807108412:356309822:252401054
+3927402826658163:886197415:91324158
+6585649519398435:508610884:158435931
+5060267692028403:971833176:372918723
+2901323593195720:583900280:176712680
+5043642679374465:5091290826:1244214999
+8573849261705168:9244415479:5192720870
+5927311418438804:3470296607:3170123520
+4976517761988063:2822930077:2558545533
+6969425502829048:2698619396:735532804
+1383482954058899:27064226814:13807780847
+2522545622305359:84745387258:14425183731
+7990979160864489:97046756316:52199048733
+4053988398118870:22621988344:14976932350
+1521833456819279:98546361358:80544729043
+8682161336226541:116585238429:58630418911
+5330323303664304:203866780029:22473026070
+6815733539189666:431981158015:366809187011
+2067204658942179:840072280239:626849554239
+3484458291996831:167148071759:89588108717
+3858947670985615:5386898252372:1928522287263
+4908291138828313:1412688627889:610845541927
+8026298846528172:2927291772598:2592097837054
+9942449831131896:6804584071251:952503034185
+6568219159107841:4896448771558:2081356448563
+9015320356527465:79225083123000:62885963628465
+5500770170581472:56992597937729:29480768559488
+2763408836271565:68397092976984:27525117192205
+8595517465818008:99250385267088:59984332848440
+5127698907591119:85435737420386:1554662367959
+1473067192913225:610152329301452:252762534310321
+8786213220538843:717642813807187:174499454852599
+5893666107824408:865345222841275:701594770776758
+2299092335303355:692705316485397:220976385847164
+7146104577250207:970130632223860:355190151683187
+3198809784072439:3251363634561085:3198809784072439
+8712961810481405:8576508321177404:136453489304001
+9867304561672105:3567005819524577:2733292922622951
+2084956855276007:6845120274193835:2084956855276007
+4197219808887971:3861725599525893:335494209362078
+8810062721023500:78180388924302455:8810062721023500
+3253004249200856:82068617629536646:3253004249200856
+8754716468955489:24844935174650391:8754716468955489
+2605159204851309:12409085564536866:2605159204851309
+7067626305761773:21193077986524579:7067626305761773
+11128489228631224:5:4
+37645672781617366:8:6
+19000843227605432:4:0
+29201191444809671:6:5
+98493572288290849:8:1
+16695951783545222:43:2
+10029838794010511:40:31
+86580624914063966:91:49
+87323261392886514:99:6
+87331693086487812:86:54
+90175480112734665:548:81
+41645735262640287:141:75
+34035859480208300:578:264
+63399600047742776:504:440
+68936135119611946:907:445
+28053906001251184:5764:1088
+50637520517579305:5190:2185
+78446502668148555:7940:6295
+40773153803515532:4181:263
+26101603409725185:6904:4425
+37336200571655472:96232:75776
+71807519470169348:84801:29519
+78721377622517714:12475:6314
+91952733498121007:87186:18299
+25070973511507590:27620:6630
+57252117068063629:781592:280789
+79880887206500360:656391:290378
+56501019904644598:822828:324034
+44761674100169917:958725:539992
+96062294369996041:253491:67630
+64658812254721325:5514406:414311
+75760896453842498:8556989:4152018
+48757871667522093:2802555:1961448
+96856181687936896:8582637:1893802
+59948928164778589:4687605:2929564
+55053899623512325:80079937:71260662
+44419922576828688:48524485:25541938
+32160972827021599:40722346:3112719
+14349863876788308:26360874:11368902
+83853092443382193:18367725:2755068
+86412355175293422:351124861:195901922
+59834847744191182:377252274:94395922
+75301886183805892:840377619:60904693
+30878150266519298:351479898:127885346
+62342392859218022:906044356:432212058
+87526049301357947:4922843583:2295515054
+75381017328439380:8625141548:5743648548
+46820306632456903:9117871308:994391671
+24160465182310679:3518596950:1632150929
+44021739070504793:3068958680:386600873
+47053090749123433:30472145169:15340734787
+37094543626617695:53143096729:24392614947
+91976491841209971:34961901360:15333672291
+34935431907219948:62801789926:52207184668
+45896597928153017:94689783633:81042103385
+14346807019664204:761909847183:44597208314
+94665888862117344:599751417858:525315992766
+55756090810730013:776219726968:227822618573
+30840364756837308:412486183784:10253858980
+84053969783787619:363119167027:234357878740
+60495459993237835:3209848423696:2656600263019
+26202069162686213:3919733786971:2568530572049
+71733642983675828:7219309902166:2579795754452
+88839148329232598:7585212811048:1135886238422
+82953741474405206:8626268726382:3541401515894
+25796973353018535:78154784765430:5894380426635
+83901135165355524:66763776728304:45831594605700
+47120438085892835:34371865526062:30982315187895
+64742001937528034:18403055163114:53873692982
+46471625592572860:37052980585915:7187937835450
+42881909501058991:575008670575689:331267878458005
+51638387046196677:907040496605482:844119236289685
+83561582841454377:634025631085996:504225169188901
+50764487131392787:139168506199737:107150874688519
+58153891316215026:375857004451306:271912630713902
+64803703692840378:1179315288082697:1120678136374740
+31716201553609164:6292139761868138:255502744268474
+87024569712362190:8538121750539439:1643352206967800
+80290600510259319:5757842660026919:5438645929909372
+41008184233825634:4706793312884800:3353837730747234
+71369261050441500:75966382643385839:71369261050441500
+25659350166921231:82580106982569857:25659350166921231
+25012890737578173:63948749438557582:25012890737578173
+61424469153402475:28377750851603130:4668967450196215
+61010200995690827:77408982215923841:61010200995690827
+13236233845013546:719864951139909922:13236233845013546
+68207714849085141:596084007050535996:68207714849085141
+26919056310230729:133980650078799853:26919056310230729
+15155273165615283:189295755745236141:15155273165615283
+93021509729837268:784531670668979332:93021509729837268
+51694188585485456:4:0
+59510219208154895:8:7
+62881723534253157:8:5
+15856189187809628:5:3
+72966632742348133:8:5
+72829882829355542:10:2
+54566337144239351:32:23
+69194351531169173:38:25
+98666506392191120:26:6
+47499870078251521:70:21
+33598258669062355:873:4
+93630826809834849:263:65
+96149389558105243:554:501
+47439897181226201:301:85
+72895501590878725:759:748
+57552550497833153:2776:945
+38468098627738286:9602:6746
+45490187914911605:5155:4705
+18725643337522148:3561:956
+14194188165701718:5528:2014
+41361660192853668:46341:11316
+20016052007747749:58793:24383
+29916663685339170:34705:25435
+21298981389348914:83373:82958
+17258453905691969:73912:18873
+33295657532048532:152634:46578
+62214243405515917:712590:501307
+34961788084329814:131029:69692
+75756375146089137:538658:104789
+28196079761243461:340895:107621
+86169035382479292:2335737:1829925
+66299010451391414:6721698:2912006
+17109025792929940:3288642:698602
+37151854864577228:3591108:3471320
+48026949830632385:6682073:332964
+87086947856645344:62840035:15127814
+28364644219294116:24908505:9614226
+95552990931136669:82093179:79160746
+87084514454610128:23675826:14776724
+16464887125143956:76071267:34996526
+77121231273558516:120612826:25113214
+78677064022333965:121555686:27343707
+63054548101226655:674475385:655382500
+54841246386239601:175413432:127258065
+62657039155397755:280435648:46649979
+86943290286080123:3860448755:627909873
+84528784729883374:1064588312:79872846
+83006098003894271:4788605528:2750072391
+10841594155892003:5026855433:4130456181
+85318029935051371:5549046208:1735037291
+40253792682885669:31958588728:706057261
+79710430440532441:40844178501:34470800368
+23055369495166770:11158763901:1906504848
+17060303570351564:14344082721:11001220283
+45322277120150789:76005360953:52367794030
+71640284821904386:748441989486:166030293952
+46158457053637523:912222009004:23398035123
+13979525794047351:148902526336:109914044663
+68397050158851040:251059482868:162062673196
+15555584685370890:871949543414:4830865130
+97561958623439453:3871585239318:1882177865171
+21851518646603276:1847868259994:476472174226
+45380819694621110:8129784864124:360583080942
+62596886462252566:1236504747904:70104360470
+85123879101747425:4779116438622:3036213450983
+25349088785112535:92569574028329:77595075378718
+51587095288387966:98307500234189:73965165672930
+99327964466344992:36838822834189:10498105371448
+92454617789600299:36642200250851:6346556703226
+41923236939948052:20905356753328:7996649525412
+30052714734873758:809191654988232:112623500309174
+11027812047531554:566248152045211:269097158672545
+37122907687266890:574845466877445:332797807110410
+26934965120615040:700790935087026:304909587308052
+96899663669725060:555686637004566:210188830930576
+67091474311820561:2651690630498224:799208549364961
+70833429783972722:1152160228965041:551655817105221
+82456134188466807:8931862956439421:2069367580512018
+98877375048112528:1903393732525575:1804294689308203
+95031734548062930:7561245443082787:4296789231069486
+94374823503887205:96007667074390893:94374823503887205
+29095102398667968:21042755104536154:8052347294131814
+62775048688178512:88902443645864781:62775048688178512
+67769361438220162:21361006554556721:3686341774549999
+53099479957987301:64724995491356211:53099479957987301
+33856316974835049:986647584494969981:33856316974835049
+42825174794206967:317099752443480586:42825174794206967
+98823241997558604:197118734007568675:98823241997558604
+68728819753440995:692192194449913034:68728819753440995
+23393629325347502:662328396940862504:23393629325347502
+88787975622135816:2:0
+67599372825068629:1:0
+31591295602881448:4:0
+58043099215708907:6:5
+44081933216328919:8:7
+97698600509258276:60:56
+39435500334833057:47:14
+25483093713405828:74:68
+70051249599582706:87:67
+52202315677829231:53:15
+71305186607354437:360:277
+14477455373373152:273:251
+29973013379847322:138:58
+76676443344655018:466:330
+33921239752332483:926:309
+49402499484463577:1480:217
+43681054817896243:6251:244
+89320133863188303:8137:243
+29294484547872209:8515:809
+39652028933906848:8482:3814
+47201724824089990:15517:6018
+68989711063449495:25237:12799
+46680440382106263:16061:11230
+24579402379746422:32258:4338
+71060579293568598:68718:56400
+40437324387481923:414391:322059
+59390179922658026:547702:340876
+68023617056209639:832816:597335
+30021160897997535:254234:5305
+39011501915514082:515245:184587
+44853545503637473:6485272:4897505
+76488059535130629:5572419:4934685
+83394984189503435:3382385:521175
+29733359880311205:8674317:4881633
+39996256388523214:2103248:1880574
+99094672109595879:74990079:37005453
+79093579166040954:68271880:18434
+70126690059966822:20590337:16618068
+67704415981015528:65391920:55578248
+49868402496278615:44125258:8162711
+94150684764207577:407199723:403562854
+72898642827543800:805307539:270529557
+65366875453714821:911077455:815792466
+92577573010942637:364179171:22750064
+10198812140399377:399963966:183148495
+49523667153539492:4992508893:901081157
+87829210275394973:6273088881:233869142
+75927492998585380:2181520839:514441264
+54696306137320564:9753889290:6399144964
+45107349074569051:4056534869:3761656345
+97460132864933725:94414482529:27958513243
+61033250621213071:33345445459:14743350683
+35564655094725304:62097238649:14089476779
+92660482097943362:44898024520:28889616402
+97138970228978032:44865932986:7916587348
+69489427614918153:726378026633:473697072208
+77875823515235373:208963596766:106126869557
+45355040097296754:431909004048:275582216274
+19512067621048341:695381306977:363528580698
+39145087050747159:640531251263:300692311440
+61941248809974080:8152745237662:4843239455866
+19018872191337618:5737835127687:3686578182900
+62270856360973783:7608661467900:1570907680183
+11807764381199897:3700069058141:844016671966
+98406957426387938:1620187005711:39073513220
+70681744632989085:14705260277260:8263740477525
+47181304119754590:21933714586338:1884044541552
+35834092598077211:75907611294309:5700067163363
+48747498480363600:46734842717095:3057526433515
+40181401599879320:86152846596454:34175085931756
+64536781339266292:991033807793970:119583832658242
+90376699284961912:554202472221641:41696312834429
+13564416544327259:507235350461766:376297432321343
+98592038652656211:692991301651736:187273818109699
+48955667470642137:477983070486952:201394280973033
+94503536244336680:5185862044653905:1158019440566390
+40960518333689876:8680815561692483:6237256086919944
+31067886567256888:9328144020552481:3083454505599445
+11488914566971415:8751882708649732:2737031858321683
+49055358408993631:4777161180527444:1283746603719191
+15848709216295636:72254756811612190:15848709216295636
+24465247009667591:32785835687459978:24465247009667591
+80571661824294531:16792547451747556:13401472017304307
+30552285819700305:83249797636398107:30552285819700305
+23636498961077441:80674116989151140:23636498961077441
+94146022464815047:790580687766315862:94146022464815047
+82003702454130735:367140471374260619:82003702454130735
+88600401425924582:481244419044774732:88600401425924582
+96719129268270148:319666917822007046:96719129268270148
+97499883579359948:750895790622066881:97499883579359948
+59466085919467548:1:0
+35672724931862726:7:1
+56970168870578335:9:7
+55020535285055534:5:4
+91460835230073232:4:0
+83409588601956985:66:49
+55185261507151464:57:36
+97030434220770322:24:10
+56515305825211089:27:3
+71588258191421730:32:2
+66204483627342099:821:124
+76384289542413320:120:80
+23652682206982328:193:45
+40092267939755062:508:206
+78421959250218395:458:265
+99869122796810309:8398:6975
+60472118072204901:2158:465
+15223148022336384:5500:1384
+78973490871482357:8523:1532
+75507219963998431:1497:1078
+99322727716498753:22678:17305
+93716344158451140:14189:10059
+81389789501598273:26658:4341
+85144028061950998:59482:7810
+89891628106805104:28306:3392
+93298770010820155:338332:297627
+44790234915752738:203319:10484
+33628304471461388:502502:13702
+64945788368859410:897970:577500
+66591786780503128:348650:237978
+97964093570332964:6428152:3809084
+13452641042773534:5901512:5168846
+46916107400913323:4603424:2470859
+81909362851589104:4806930:3063874
+86615421971643552:4974518:4923998
+94745110163956056:95291739:27386964
+32319602910184353:30339223:23029128
+80604304068341913:63427882:30103933
+29286710064745174:69488830:28545334
+78389000769552040:33727809:10037824
+69911652757437841:345767900:148905041
+82375397055953169:323280370:109640209
+29090056356470620:206585165:201402400
+54551756806223715:233901300:40923015
+86821108775342871:173563022:66125659
+49441400808327296:5946556608:4667998976
+69380288164764592:2536058941:2429119331
+41726573308413257:2824561709:1076166417
+22265207670340358:9515182794:3448595354
+95703137333433384:5092876186:3075757550
+77977881812858646:11375217171:5966103189
+19679628848720990:23495393061:5097792695
+18972099668456040:54627492564:26128471404
+60063552042953663:39411746597:10817379066
+60269445751581829:73924471128:7232461477
+78666962657754949:748100095891:497074336844
+63783033586818328:969262937441:685988513323
+19727363468198481:826492215430:647270315241
+75886148412962063:454111667149:1827359822
+81141917529931134:731703066557:437667159176
+86641882148163595:1270776803562:319681306435
+80006208741521104:7780214036982:2267799235198
+39804830013462129:6968215653393:2382201281313
+76384298213647619:2633837752143:369563748476
+49855324571489656:2824173521829:189390642319
+26552086987039210:51099667179100:31359721086310
+23591077477774402:46950126674035:22113887408832
+43598503237314038:30359191743080:2703894251158
+70919269208500216:23076396032814:5504199662794
+49680337794615691:37989518873012:28036627589007
+13012396933668254:353487857879920:286834049991134
+41685933394592326:344775846974260:312831757681126
+37552334686225217:361945278036002:271971048517011
+96377527826116809:335308148267753:144089273271698
+97360451270985656:337623724282311:124818677680088
+39953843208115914:6425874304871553:1398597378886596
+66542015155710524:1413057979202641:128290133186397
+26649240790331172:1375509571940074:514558923469766
+15412461327840449:9837573503821138:5574887824019311
+81433764828416935:8682870728741999:3287928269738944
+39397905457859075:47300337599576091:39397905457859075
+27008564604431865:59987376199720800:27008564604431865
+81311158064796893:75419979691135467:5891178373661426
+26132543721050829:95748136426046069:26132543721050829
+75459133491879546:95481790240945303:75459133491879546
+49397598549657756:161410544000545184:49397598549657756
+45255688797036198:502451918068932883:45255688797036198
+71244948190657344:119705682254245618:71244948190657344
+83272214654204104:933951184341498616:83272214654204104
+66929056222489733:896115388033512533:66929056222489733
+68884384858584742:2:0
+20621893745933901:9:0
+47129212306906883:2:1
+79866478228175043:9:6
+62894888781392760:5:0
+42339316543429724:58:42
+27479549899764251:76:3
+46601091060515719:89:64
+36713234338969805:80:45
+25665552343932546:60:6
+54400088818361650:675:400
+68222494714778372:727:117
+68975068886729856:939:933
+16568090061082300:265:235
+75888996932959062:409:38
+48166247343017771:7881:3035
+23790404847547578:3684:546
+72756065127397236:5797:1509
+21680198716722440:4189:1559
+57897751315465716:9569:5135
+61119766246393147:44147:33659
+24465003897981038:59627:32640
+76448053762861560:86110:56640
+80147140875892686:82086:47322
+51903918928021994:42178:12512
+89450822430681917:848896:324413
+79180692047619306:114617:19971
+74589044484727994:937774:34096
+40223145216085017:277505:125442
+78791912459349288:950716:804132
+15199565353614119:3299156:1988387
+60220828175405845:8352516:5709169
+31717525732793306:1794273:186332
+82046809933680318:1665123:1186632
+19068815606401607:7697425:2567057
+73228338382852006:92409716:30111162
+14799570054964683:74518742:48580555
+18132203627499400:86390565:68760745
+88401090582302967:45156855:33808212
+58601382494726618:60638137:49748819
+84783004227212083:171166141:43969552
+31218754275746428:564703765:553781423
+27869473274226472:638613498:246475162
+16621227919456562:615667857:302945429
+94169360926470371:880499334:299637737
+65168346967316580:1061964102:187174248
+22209382637261988:3123188283:358313613
+45180714081036841:9996261745:100193896
+85364321691078199:8159158252:1509461163
+66893660069744680:4630860035:2369902995
+55750024700073127:59699983313:31082994459
+93147812278062892:89908946052:76262431696
+12310048896273020:17909350924:2810608848
+21151141741775754:48778972924:42513227190
+43134010291912404:34697013818:1199899888
+54034289621866063:930929077377:373183672852
+94822115707372996:396088446248:126029386788
+80243805019738502:495705142199:48010848780
+41268069787084778:163617876809:41662565180
+34794139282906411:198738289873:33183390936
+50982564649948851:7413977397913:4056061899063
+41969233003063500:1986438601665:1744665687045
+13100468804230438:3645711728825:1426562562213
+49640909301342472:9227087601906:8405090690098
+93976993482872813:3704379609065:587180502828
+85618355028510180:19107909049576:14922486409700
+87761018030082831:30002763428384:2935002059631
+18000823045547807:49573089794956:5791449978779
+64438302958584011:38057351623980:7206659185871
+55432065201431137:85062257266509:56535720933778
+15955972439558727:185705457329921:171008566515442
+98616492493254907:252236854219084:244119347812147
+30877718874034672:589725941851156:211969897774560
+48275642925159000:844530261707434:137418007835262
+78616433686220553:455145612848710:331388276242433
+56950947620706455:6807618518298865:2489999474315535
+55915508227832587:6639879354950224:2796473388230795
+28844374934616885:6241088671693527:3880020247842777
+34431903018283097:2858275880355568:132592454016281
+90599754950047894:9346098805445083:6484865701042147
+93124063009729882:54388128863659379:38735934146070503
+57662826241931856:46705996548707883:10956829693223973
+76486143691207651:52652320153154224:23833823538053427
+67157576673096661:97756233194971505:67157576673096661
+13833403788432292:84281005538656997:13833403788432292
+63697623635494722:786247231341781020:63697623635494722
+57266390654230284:752483479032491699:57266390654230284
+43998086056105281:353644398568504037:43998086056105281
+79384782105305704:963170262478481773:79384782105305704
+91302968258828459:484350461955506566:91302968258828459
+768749119529505479:8:7
+990344110702356095:9:5
+503379644215286210:8:2
+156955564166012752:2:0
+909238539526059846:8:6
+661307673106343605:93:67
+802785837354615078:71:63
+676399017247726722:91:40
+450027456897063578:21:8
+493104797809734670:77:21
+494711312700234135:143:77
+213478004326474157:170:97
+558012571095573567:821:21
+126952056219931247:553:18
+918602898247563441:725:591
+308063939004189562:2449:399
+783663284613769502:3790:1122
+999948726076469236:6661:4756
+676718242818342821:8898:1445
+275418811888875596:6791:3246
+256381049588427547:43966:4645
+574975716099429119:89691:53570
+647117087621864699:46594:12875
+432049604428009201:66068:45813
+171931347343440216:69689:14088
+240222815210004756:874424:748340
+386761307108092346:716874:583250
+735195884560770434:635087:408950
+595309602161750424:748119:376176
+546181675863860513:751239:542837
+653713099058273634:2818291:2164122
+881641210675441230:9473646:5824560
+499628227588156597:1613078:649393
+827394027501737061:5966665:3385091
+441513209742786489:5255026:653485
+205016098551052110:23614320:443070
+758536437322564782:45008826:1531680
+160139979041333361:86869052:17693005
+966309682589972563:31706155:1270553
+838998046555856392:75005537:24258959
+580246152994890202:664656990:539628232
+619681826118124385:287303333:287031214
+596243777031857765:708718557:316945877
+385193374695330764:218120994:103878428
+794557101166507858:282852199:200118412
+339776003931996372:4157232227:1302926818
+974022962294047011:8029595917:11515892
+254823210399699082:7441912692:4391756506
+303789574919885264:3826509450:1180504814
+809861571220449372:7853160779:7381842027
+671164828129330544:28865254661:725635233
+790896696511674883:35853394805:27630140958
+880854893185203018:31162195906:19517792150
+299020941086975991:56730564403:36097460903
+166022774381676360:89076750863:11818452289
+979711759846327167:695456338529:161157691939
+708349981311090205:264250306117:82233247771
+522653599125086739:996655107094:684379243481
+924369628655339331:147803274668:115308109927
+298329234564686625:712619943002:159486158351
+796828839273747136:2868069983282:1560028458922
+145195365405723515:5238664256107:546883461903
+759710950749941666:5256064173014:4691246671120
+852264769082193699:2434977240875:819980775824
+231692931871713026:6405013748201:4369558038253
+579042754477030690:30836687507069:22273156796077
+621480562824507292:50425110285481:41503666239448
+899001662186725803:10776488538997:5435286518069
+807748248785586263:60894207013957:47486952460615
+724702291967904131:74629034041137:54371428463861
+147410712618966932:342992057553867:267119928357989
+279844144233395900:693000154902677:565081807617069
+461790467082195250:413968314953530:215795909009300
+647115009032039777:906097106782707:161674789186979
+373052633543023219:637410624831064:167418016850779
+960376160608990981:7593410056325999:3606493511915107
+217505726610542711:6483907657055351:3536773927716128
+640349752224077416:8972511823866508:3301412729555348
+564276577454789903:8264759361426410:2272940877794023
+846543420529850367:5197997188517528:4467875990010831
+332200415473352571:30161531748821601:423566236314960
+929454447365155734:70695354951189371:10414832999693911
+598046294875017930:40128125983775784:36252531102156954
+498647971240549358:49843319162885245:214779611696908
+110492368759039062:79086730323291983:31405638435747079
+564606653432454517:353505876869733378:211100776562721139
+797482606606551715:775727514263329487:21755092343222228
+647624372890770357:456793787321180569:190830585569589788
+859589935775589645:351807242714127863:155975450347333919
+292576561055471883:963955049654571243:292576561055471883
+791746272265835804:8947565853708892122:791746272265835804
+399848844006008632:5675975883662473703:399848844006008632
+934130310612378124:8026121702889407067:934130310612378124
+292100655031185791:3980051271523670668:292100655031185791
+752842153814428835:9644372722156867967:752842153814428835
+471803709596065044:2:0
+352562707701466628:4:0
+793423186762868170:1:0
+170953311332570743:6:1
+733390968263051373:3:0
+155908962950632750:46:26
+760531627637032007:62:7
+829445586616487775:43:23
+502965807338241800:63:35
+364705838509091795:79:63
+225693238990844025:838:579
+703821759534302979:331:32
+183300215663209531:912:571
+370649484067044784:856:136
+995312371900510407:138:15
+371498885022264028:9875:1403
+607533355292069446:1816:1390
+802274341025144592:8987:5819
+186463916298840232:2618:1746
+224923283613802148:8047:1181
+845977789194294606:95904:70638
+223513142718800866:41405:20406
+363097952460036262:74051:9704
+415583649657800216:38141:22463
+875812694594969794:59152:25954
+598414972580697295:277373:115740
+386793872873107301:869144:768877
+120817256594841900:583695:213705
+926461209731648502:383233:338356
+594023186157136659:976039:667527
+654365347454356024:4632417:1172893
+601810314351666297:7464411:248433
+706071428723219399:2541817:1323224
+638482022150502311:6235072:3403111
+258789008966231957:7719290:5153637
+366770051212681095:24987701:18148447
+442108276737178536:95168818:24364646
+796612474535778489:21838858:18686915
+611112986641707977:45892616:7026985
+693791392991622738:57985070:57446058
+543815800513951499:868550967:544543910
+355669299792680606:562477614:170695418
+410060951732535573:321203428:132672373
+441056525789861709:739712825:672477059
+936511974011687914:247066935:114488359
+674658309622480752:1626078449:219457344
+376583403539271067:6188575741:4710595523
+860895577448152541:8775054760:7725892341
+281782146917266453:4099365610:2809473773
+564948207712789430:6913791621:4296693326
+608845102316842289:96518547443:24377909380
+973934668747304665:93156734470:13837286545
+212098441054365187:48126426135:35296971472
+831089049866439710:50763546797:38848812614
+276162996350146308:59262802762:54100506406
+748762537974557285:830798433243:465223704077
+843354275833464502:692827782804:650454119050
+352075181549025254:304576356186:142615818554
+759044468037891309:784109001888:294504243117
+110526351695137864:639836714723:317757172121
+575788540385593063:9093597085923:160099120549
+315106165955128463:8919027993153:5825985026126
+672149646337432924:2925112185304:2742837353284
+704238063557477730:2902383060065:935480246065
+691589005266137404:1109116926615:254792280769
+434613417877462792:61375460587856:13781454854456
+532556132679354677:23609621148018:17518064660669
+696742807431014855:52948471858133:46814721700841
+773164462134300678:14423983600289:10093191609700
+273043918037437390:16592224383919:2273575666326
+825064459126741227:357508834950805:291576895234092
+529973913372027012:502560354285474:275299955137416
+816609347967357404:201536543682910:184809507888994
+955192285828967382:724743662464755:704882362885047
+348225879290108733:183666773473487:177343557850868
+120380683854959784:4224251166226760:2101651200610504
+674108547485684101:4343507594541477:864870331755166
+639258057296643196:9326140523741885:5080501682195016
+443478784298004804:3739967983701155:2162562221268514
+441952659821588832:4910596718502098:4909551874902110
+781240184137211634:78377197461697781:75845406981931605
+492692328104137232:59009199430524856:20618732659938384
+641483939784005868:18015234820255140:10950721075075968
+405159682121039698:20445955632533974:16686525102894192
+783176456237745642:77710464951838954:6071806719356102
+213408689307245364:112088517995274789:101320171311970575
+488210259352455223:111204622898830867:43391767757131755
+496195778132569021:448246413606150192:47949364526418829
+312591790153368885:929986390592220259:312591790153368885
+949109019919889383:872699454314765829:76409565605123554
+760292927393486113:4476093490566987687:760292927393486113
+726368974992026915:3643166775033025490:726368974992026915
+576534276520855045:2590157505917301422:576534276520855045
+196850518580921946:3314272849826817216:196850518580921946
+363198200748036503:4648098834063943449:363198200748036503
+481102773938859107:9:2
+812867691023746352:8:0
+187264884720368485:6:1
+469805224296694031:1:0
+929442223767177118:5:3
+839194585270581640:67:51
+891684361036282102:21:16
+116553833843648234:26:20
+133184658893569357:71:47
+692604117866770726:24:22
+134909570966606623:954:487
+548781296877436221:772:653
+399568345120626826:212:22
+484802767684181027:130:107
+563946114887841756:188:12
+593316667613550326:2855:2216
+803343459872794337:4156:953
+624936160301759312:4767:503
+126655369325719673:3016:2441
+954037621335840716:5194:346
+935490617922372606:57807:41445
+777395918553175518:29621:7853
+983278675915104143:51797:33463
+330690965792625905:25064:3249
+534247864489635044:53798:28750
+270244538849825962:401760:295882
+431132816680057108:893057:22012
+120413687565455102:869901:349469
+419371274278920208:714994:286636
+442259138218535211:841553:427796
+674188431848400728:1831537:1041896
+287201913581565280:7486762:1613306
+634219773116804718:6757675:3223343
+367609904355278063:4351246:3784419
+745357447571000145:5078622:1148835
+687234318683459147:81247147:33473297
+682733161957602230:82017565:1050895
+642312795852137111:82630602:27419747
+600914509741860456:83290466:66140328
+979519605277155375:11594761:9858667
+221743487348386924:741943889:63941005
+846141275895003407:213802752:210269711
+109841256416440790:898652544:197576918
+133698375371363741:446208110:153375551
+433034806325113530:692043874:652100698
+600970458073312253:8518176277:3739495673
+824855844385730574:6662912994:1858566060
+875509318616430966:5303646110:3279016936
+884223371314837033:9277761330:325959973
+404493600219195051:5704074862:3347152023
+423215032814479232:53897060616:6092432288
+444087388386616324:23898782112:4092393316
+523856101883772158:94461208437:27802073459
+159491357388312451:68657627836:31213423631
+262171933726431416:37189718101:3606265735
+833600616759751093:443991412915:79140644868
+493582342830935053:774435095448:6922629493
+992597129640140575:744427878415:73825810440
+226115943910548153:396538629251:100584525929
+599049423324576813:226884487914:184004068935
+802228634063470236:4015843428765:3671516230011
+322496653025667943:3032212201934:2692076775439
+534660107610630965:2634811193487:1585417055438
+668103016910734283:3682697324818:2799031551995
+779031165535404431:9725065267804:4812257965011
+788399087656244122:30900724063535:28914623275667
+833421035772915544:69005084446668:46630910506108
+448345425245812524:84679563150928:51817924799692
+570276885858767632:27562550833557:7709112473302
+974448660309233668:61828257951433:35314994649588
+582206414851971382:954174836014773:159764882959852
+105930433565912737:888938476468648:146754866143625
+431408292547653413:886773926543644:436164247442429
+880204406758853355:336076366541048:20402787848643
+104383331734545963:367440797937193:30145120383151
+554986143299839115:4807418050264031:2133067519475550
+304885841433973556:6549837852962288:3593300197708308
+293173259494575988:2934200126795952:2687446941776740
+516144332945565448:6729831760991112:4677119110240936
+689908630687153874:1743118287717257:1376907038837359
+126887846008204726:42767838287513889:41352169433176948
+943094711334285025:65556561238286031:25302853998280591
+763264979808086212:72650601631896085:36758963489125362
+258429105240231652:40772241444436985:13795656573609742
+335127664989003068:90513240303041414:63587944079878826
+963351488371922196:910296994439705251:53054493932216945
+332456407125873743:750357788924695666:332456407125873743
+308318256094994505:535337243091861424:308318256094994505
+998033788568981141:982329502057717199:15704286511263942
+796896168228266082:360357238379442138:76181691469381806
+524495611070526692:8877875159003607223:524495611070526692
+214436298741697558:2858826478407279575:214436298741697558
+101088518460831950:9802561378840569683:101088518460831950
+647201320458866930:2348252793005931376:647201320458866930
+560617742995258534:6288550357608630092:560617742995258534
+156403527458264699:8:3
+223201026877186823:8:7
+692673078469220623:5:3
+308763406892150754:7:5
+829220540787424076:7:4
+112666312063220730:74:68
+807061061705087787:26:13
+707859632400891604:71:38
+791132967059477435:24:11
+950572624636858232:83:52
+640182840442041846:738:246
+363079419526732559:749:462
+465942573567367053:212:169
+513700507731339538:801:376
+976214634889415155:587:231
+929557406684830496:6844:72
+630846715026177895:5914:5859
+616666356609983962:9480:3562
+691078132805243946:4559:3591
+908958769231820784:5749:2904
+373836175947199888:74337:59158
+768655749688274683:70940:39803
+125993830448731802:61705:28172
+391345209357274752:69551:35996
+504807442886912708:59313:26990
+469619229071245767:580694:537943
+731927099807524443:743492:250699
+397904426474913859:367687:14463
+807080543873286866:515498:364320
+177709008791076948:796258:248968
+314866991255728614:9830271:2031072
+313614664443827574:5212236:3831618
+620077405297271398:2900868:627994
+633640807618571510:2821236:718970
+628986815079594422:5519049:2012711
+900172078594059805:61095856:34080845
+196874891278927341:69533175:44474991
+876821535516803956:47438563:41883643
+881808008650349333:63137740:26469113
+989525778545774204:70432736:26729052
+624730530702848082:894243194:339067774
+500120526675930313:532242289:289204976
+304276873690755195:156092200:117073395
+485678065407052041:721500065:115775326
+618945531806621245:779498595:507243325
+652101736720572511:1276486829:1271495992
+894986465190581152:9939868357:2655779448
+562459959602649318:9039879506:3681375712
+230668271624053704:1048359959:187151003
+237110675915047942:6880225086:3818836504
+540477544348762649:35332545987:4953872024
+891811314152541774:40535689351:2910910379
+689325274761650885:66103272781:15685018980
+494415841508342584:13284196227:3431569588
+943985572610736109:82144568566:69635857081
+667025447238904527:730175419250:709473579277
+650216928545997790:446319282781:251980760188
+663717961962354749:950776314509:32329912029
+640954498153070905:500302690291:211632491202
+608139346913625045:662331733075:258570554620
+325916189322402565:1975825232927:1841325860988
+316594301241447661:5199516988712:911315762693
+265773049579178218:4403358089518:3968728229810
+679814433109123684:8365930744591:7266734403615
+969833294469495689:7576156646782:1905958285087
+738322411120042774:59190071540547:44648794800043
+570049301548254625:40748601467597:17115618040192
+570774793605580164:70763108069729:70327023215779
+936561036798355292:64313813365553:23286569172506
+146369144617962614:97573623240212:8709757644614
+706051160029670422:693267531961744:304812492615030
+888691971745866949:317641681046275:248189859435774
+699592551161635810:883478275533685:761235214490975
+635670939178103606:274797389965520:64576187855846
+314615060749252586:852363535289697:92916227354393
+922574312506198569:9005220710558440:4041800029237689
+640144751248768541:1253510383781830:854455520035241
+128660643925828266:4696713019914154:1849392388146108
+950487372364011632:4267535188352709:3094560549710234
+851196054155858233:2995988866493168:335216071798521
+672330230538408350:35031613567902877:6729572748253687
+729423504742296769:94965946535588615:64661878993176464
+941798925042729494:70505348534007606:25229394100630616
+416363236714938597:44521008293031826:15674162077652163
+183217170000736474:13430425280262687:8621641357321543
+545094981001779493:687278151595105418:545094981001779493
+749533855105848139:541724598279190107:207809256826658032
+657559182740400177:822869488080671550:657559182740400177
+696880696486207479:748287182296732136:696880696486207479
+306005267500795204:106473757509490252:93057752481814700
+896174014164345152:5661331931160504479:896174014164345152
+242196378412025115:6628174543319757162:242196378412025115
+302050844701696859:6417722592307545204:302050844701696859
+752527364334659325:7240705691914391353:752527364334659325
+458428841298413412:4300053874599747812:458428841298413412
+260587622018793583:1:0
+307405671370944125:9:5
+540916925148326588:3:2
+384103830076030877:1:0
+166987333248071691:5:1
+904043712832754260:46:44
+771090135746472654:95:59
+143199295582373534:44:42
+572282753851059384:79:65
+444092977582730691:11:6
+360595027300502916:379:140
+552817626179529657:287:254
+359383755902642894:755:209
+880882018802993883:255:108
+542065938001435450:458:222
+147995464378735689:3912:705
+752287309860376406:6175:1156
+595969065865251981:6081:1473
+475873087089167838:8856:1422
+618288829986879359:9921:8162
+864699505715073955:86263:66404
+976466339711068642:87646:55010
+461229869398056005:98539:76442
+664275578453495333:51448:26245
+253509270073960022:27456:5270
+758828711466326791:848284:268335
+945785746920154726:828133:342431
+588445643609407513:484326:92737
+473911613172092066:739092:587582
+380301739666218007:183761:40286
+905143840941531560:3673513:3144209
+999492574385222931:1956027:48939
+579018310843330597:6519150:5300347
+662828219537573000:9102214:7046038
+199978558992152661:4739289:2113773
+872871871931536706:16270146:4916546
+765328188201626567:83979231:62188154
+626570176508930155:34028898:9887023
+713260441208795743:50138283:30339949
+561467106853964858:69113404:4601054
+715329084006395514:586586491:115639878
+311253863190298892:233822562:176204444
+713075059273706362:214674883:161133892
+292553501720280140:825907027:206761785
+640179098570691006:928473056:632979422
+721238938699193499:4229256295:1248827109
+872299494343651358:7322601599:4910561217
+633461408700133957:7683981767:6806286353
+565953520432517628:1981429652:21545780
+223004316049252443:8378027585:5274398013
+538554800284686515:94228374596:63551216195
+573035990806549398:97784614024:62472314958
+891851641213535247:79476683663:61654997597
+504456354834983985:70405485705:64081859115
+158192619048850261:81148026464:59523081813
+770614509377556535:124056862202:77660968167
+553497244727208094:870582708132:782299169530
+497204056085462828:801803371660:172695495208
+843556781033850298:274808174110:113622312098
+534601650779108934:143383542434:127553128086
+573617430739894710:4454202981045:716637938565
+441542287679184407:4189474547633:996680499638
+804278820922476563:7020801145523:3924895943775
+408402562467649992:3461588076767:939582602565
+719066234980009420:4252591382268:4063335077836
+137972100255440223:12597233907484:7194500675455
+331524992769130707:13093709068642:5372860183909
+371588402389561848:56755162144540:12355829258468
+110579597981553327:21262539660602:14391746422927
+664592018863404316:37364718936477:23127859224394
+255319039297350857:806753239426330:385015638630577
+720706582830563928:842867347404769:55000799486433
+651669051254687769:206477927204982:24712995764577
+206409187552597956:953983675765511:348713587247580
+625634468769122836:113404291448827:96397137393104
+400908382896312750:2381529204132265:811476602092230
+625365652153792780:1150496024063263:646311087440971
+689855554849494582:7511928953134516:6270020114253626
+886338064165436872:2605749180838176:383342680457032
+503120312557536474:9544831341409236:6789082804256202
+307382883895325674:67838029345688995:36030766512569694
+527285281181119602:50366592469024013:23619356490879472
+404302261560393401:86931324377351384:56576964050987865
+213147620922741466:40699160120302847:9651820321227231
+622131044941888947:10381823536987109:9603456259649516
+318574939903239961:638031838198236410:318574939903239961
+519304047034198719:726120695834078026:519304047034198719
+753875539514774034:202667462866733289:145873150914574167
+610241357947094044:485186691472853949:125054666474240095
+110429939165482666:667555674917630031:110429939165482666
+855661158340092083:7810493751355067426:855661158340092083
+448697041977651293:3582747569149288751:448697041977651293
+203912632918014862:3421463156339775189:203912632918014862
+972438241124909742:8399370510923792784:972438241124909742
+901739552891548370:5840250909246411086:901739552891548370
+4883819645987684728:9:7
+3628245516993564642:8:2
+1613180409596858629:9:1
+4265905711456839060:8:4
+2496680636428948889:5:4
+9530251550738315287:97:10
+2394877170400708016:73:48
+7299892708917393558:55:28
+7164261356019213145:90:85
+9205323377696364687:83:19
+9777219475432131133:687:487
+9707932684550673941:782:461
+2830596702920337922:334:120
+3760666938150531014:322:4
+1074118598288657518:169:116
+2192703355217433784:7800:6784
+6047942265874006541:1498:589
+2762327965715021310:2670:2370
+6091632365980308908:9770:4078
+9437080707450938742:7741:910
+6079538922628195213:92106:33145
+5211457118565920637:60307:57329
+2530418911270794220:19488:1132
+8648937967551321084:52689:14568
+5153660981469919413:65519:49411
+4013996379096055067:807604:67699
+3419724788887383939:699923:583587
+4730701242075964189:586515:52759
+9760051305537743309:569917:27224
+6763083458379331145:345482:287979
+8728881009227053151:1396893:891818
+8292162256271824532:6873319:1790287
+5607527510476649225:1879088:542825
+2647018518893693164:5760661:3738240
+1221284686721584271:2726166:677219
+7698302874986646841:25985147:163758
+5297091404339469096:11885967:2786481
+4111060772138121387:93864906:81755973
+5621812792110628608:48265133:26734741
+7528649263647787891:87134044:59167863
+6042766042354132676:281551183:49163747
+7526858026796372245:840643939:89375536
+9681144621966797570:547250483:158013732
+8292662934430057647:110934606:59359437
+2563423563266721271:448757156:232056651
+2471542208508813653:4043491341:718891049
+8582378154577039259:5064406366:1559084977
+2729106631682453232:7055681051:6259121898
+8155420885428293428:4467213997:3514869801
+7043883542435683531:4236884250:4047734281
+8726180818034672892:46149362690:7340517782
+7863960124420655310:39486884716:23557457642
+9554423333853909055:55900206695:30092502675
+4340662037720024366:43089932073:14112769235
+7485837216400083890:56308065447:26573500085
+9445486378064357697:427911264077:355709884584
+6222747197641930858:458464263624:285866788258
+9232685272365795206:177374018246:103695689494
+2333779420046407835:994689298004:596186800879
+1245990756803010845:815595582490:491859542905
+1412732088306703797:3574303945076:2751231195101
+5891530100106347428:1430756531881:914309658296
+4804042370910825260:3115253900321:3100718010518
+3079300311944777008:5890661388211:4196548582446
+9699732347440313827:1096735570360:67095957227
+9657029798968164897:70060173807766:5501479507223
+5337308155172174012:79580929548135:53953167403967
+3197923592873256770:78153207532091:50647075157232
+4964135401437126327:85463318296869:84021481787331
+3105978793160595627:97574578412298:82387718737989
+1672296138208039410:353173278614762:20663967141340
+7595365626448968653:815755308300679:683706169647163
+3020755329292408741:726720996211424:502869037730597
+1379766117336261038:862425214027141:748200106862579
+1902115526057357016:238822888572413:130041466659884
+8680794922301821936:3276378320955539:1668750090599125
+1889688224596813482:1254285030305101:734968957331376
+6613051789610134014:4118389563985088:3036539414067774
+1331477015513123038:1241807415330299:259466279042510
+8770968650057768766:9852426935332064:2308677612231806
+3873184250904566263:88149726331575520:82746018646818903
+9466291046053500305:86651485826316007:21279090985055542
+6536116671735783652:39142368807507894:38483449689473248
+7787775154461105063:78830015947344081:62433591621385125
+5709282449494732459:88374387648154821:53321640012823915
+7027973433165262609:971734998474664798:225828443842609023
+7434107297446724995:824207722062249309:16237798886481214
+5068922534542079203:944190866780833392:347968200637912243
+8898952740563314013:538419313906293854:284243718062612349
+9726762363416884140:686801885794481647:111535962294141082
+2702641390124076442:4861640605647376083:2702641390124076442
+1977075653410272322:9387765475788983832:1977075653410272322
+7854504730372620107:5175942802090512544:2678561928282107563
+6488314028570671102:7223260084902514356:6488314028570671102
+8673634593830147636:7844831376159173671:828803217670973965
+1815687535180067484:33043725620619747175:1815687535180067484
+8461189463731912367:17561107611549842851:8461189463731912367
+2496707557164743408:80886975536629779754:2496707557164743408
+6643729807320002490:10629608853286357605:6643729807320002490
+1084813087824455911:26167542957200378702:1084813087824455911
+4651704623724417914:5:4
+3949078508315543054:1:0
+8617610469081886443:3:0
+2053335313182213952:6:4
+7735993210699978560:1:0
+2880939536240594059:59:33
+9740880099591350252:61:26
+2946735921441916316:98:20
+7671817727531513498:44:30
+3517747665470272312:95:7
+4489733022410086151:410:221
+7341182383718420849:411:341
+1757295739922992001:388:257
+1255248759493351329:116:5
+7596763548501810572:165:32
+1991571747748871978:1084:774
+6869032273244996189:1765:1419
+6173121985320229043:2103:1400
+9085070134703376710:5309:4705
+6974474217929037789:4562:1615
+8016729678914606299:20200:14099
+1764341451333393848:28952:9232
+9193801779135820245:86192:30533
+7482997844849555292:88683:69480
+3189197882849941014:86057:28874
+1694575365644473317:299561:145817
+1139862739359569938:347307:105226
+2322414504730043012:764258:68764
+3167022046961017372:133394:69758
+4323436655436416331:182526:78867
+8358739810961086138:1043946:1021810
+9100388554469684636:8210714:2308610
+9547101812823085890:6284238:5713908
+8608985471419032316:9271238:427488
+6897081916448893636:7264184:5847844
+5044979329971386200:88440151:83245329
+6298745644629700392:36198573:14798226
+6347374377153869939:72671418:6848429
+5695747713951432680:54237937:24489878
+5126061666181690386:70978641:18085683
+4640373632881374489:983449497:963488373
+9665236873439380147:947728009:260068197
+4929389669648074848:814596237:318349248
+5336470348778358630:719756691:246401769
+3604953808027072636:843895256:249114788
+7226458596894368623:6087866157:61286512
+3939292521606624820:1357651943:36814966
+3641243606195252725:1120064236:646969965
+1435789781091928376:4261995920:3378553656
+6684336351567369074:2892211376:2484794498
+2520564359225579127:84280902991:3497415499
+1124758025971883074:66910009034:38100243700
+1851928759385152766:20787142063:7193997899
+3065901667048844541:44741217808:7911380205
+1131949165120664497:58174808346:33270533377
+6507019080433319160:555650503392:514594855416
+9471261625319916070:449302122379:293000061189
+2508714341110496161:206785864831:15775099528
+4198385725751235297:513429857260:469905485197
+5778438168683339888:747392812605:533740286588
+6158345144738877945:7564916798788:3586016725937
+3476265850355042155:6508849006835:246237584850
+2603024832755894412:2625961228593:1375494654267
+8474497636821112446:5197699873500:1436670760446
+2113095911542783719:9554315318840:6209736216279
+3464503483528821449:48003216730336:15325667011657
+7180740092260366617:59559281817470:34839218913537
+8370540566767792472:19267797678537:11953483285025
+4504491532380412752:75269716778189:50601506470236
+8025397509723095033:52511692086523:35608139784943
+3908781934129089232:624162912315741:273777207919090
+9319004558938142895:295688663591223:80637197158827
+9012098191607371869:704934249935066:218740437488125
+2641767757968634989:889233327992446:744773831070369
+3286580011967179703:267136872379534:262207954152435
+1186842237089460704:4717187449061033:2828187375141421
+7641181802420666851:3622334766326394:1677780238301905
+9282285880209710174:5683114863111974:1759308747856632
+8051257640869297493:8016411449523232:2780545547972565
+1470640208886588778:9037596452582137:6549583568282584
+6741589800884451035:68968136445090394:51680565710682817
+6614094459498166325:74965719224995316:17111167698578517
+8046564216432409467:24307430225732866:804811714830821
+6641640440886891052:97152831116341991:35247924975635664
+4507861823629363431:59390853965801638:53547776194240581
+2892119072743951633:822339358769671484:425100996434937181
+7593165130607314774:377651309945134325:40138931704628274
+8720693042878036676:572289719210789408:136347254716195556
+1060828361120631248:700121608552052386:360706752568578862
+5096942811454358950:584897977054613816:417758995017448422
+1881497492230855529:9516556143330981149:1881497492230855529
+6460287004043287245:3495039334133524486:2965247669909762759
+2226507316919551737:2599187118681517262:2226507316919551737
+6025487860065382117:5247804887035488404:777682973029893713
+4433074204171768638:6638112444803228564:4433074204171768638
+5122755715413429090:24258595959821072003:5122755715413429090
+7694339974713496430:84118155472986425056:7694339974713496430
+5719191440809209258:31418248787487545711:5719191440809209258
+3185520643941507238:68090764843540902340:3185520643941507238
+4243575712589492872:44442990543662814223:4243575712589492872
+5109477169345223497:1:0
+5733379946825551492:7:3
+7287106016702674225:4:1
+1777799851492364186:4:2
+4603691842987357121:8:1
+4790091985721487462:10:2
+4828451872747271538:64:50
+5093433777465023033:39:17
+8689257654609145502:63:56
+3367472005891163185:92:81
+9698271873775423958:294:236
+2135709607414423944:595:344
+2659787768245405078:279:172
+7811673629349840495:456:63
+3729287294169770795:475:45
+7790059194311040278:6927:380
+6183320538507425126:1176:422
+7037272528837709748:9861:9768
+7240670584430891555:2024:1883
+8459902630618331824:6120:1504
+2032161004713956065:97107:63814
+8790585560629920323:32905:17438
+9071917292615217906:70620:15606
+4029682118597910314:19916:5610
+2066266183385358727:99529:19193
+3819727408922608270:390375:62770
+1616506927063340364:165319:112241
+8579842433274142667:193568:129003
+3337308924495053318:631519:105496
+2582112172925065406:639603:255902
+3891861000525290041:1860232:1206377
+5852008206368922676:7828416:5284084
+2729246617235255351:2959391:1529369
+3106841986260913195:8110984:2426859
+6933296334400032841:9847152:4716025
+2787821562015982244:57430291:42755276
+8657568488069189854:93952846:81669454
+5949177497667941835:25906769:16293687
+7021167840739946464:11816453:5447639
+7564743837572491258:22398125:10980008
+3320124852306866039:921157717:474801553
+6566433431797993939:697337005:444612159
+4696347341203318804:481740820:348922324
+9703007219369818434:703648349:449621141
+6047732963471243502:255873488:20503902
+9577290668870751943:6300694234:1450004299
+1384205639824758865:8763858972:2762936257
+6399950389981301774:3627138519:1236564209
+9100192360526564923:5159968246:3646251265
+2820506059168784649:1000470246:885918549
+8622278653932741524:53490221418:26769509042
+4253320272998703566:88845704287:9793976709
+5117950164823524167:90244363546:87635511187
+3756997795131596099:27671478717:9907132637
+6512799303795406997:53766461098:17720761321
+3052959938820938675:167874879861:132159662111
+5152598161749092577:957497498192:597271013713
+4783760278619589892:799181130830:287806843482
+2735479778529093144:219676106538:187126653066
+1273616508078542979:547756094594:329221114691
+9725648052555185864:4330181002078:899353968772
+9111490904660998216:5874055569598:2474379186898
+7160313057532516987:8454349511603:3190874495373
+9706420698705922969:8535786358230:2456162827849
+6059685038685210317:6834702844901:3322881759212
+9715037323967419738:63344843668061:28685127908351
+5894860624589758636:79698970613364:5962142903740
+2404403144384208089:27949951781755:8542358734214
+3101332469411668842:68284236208059:67313550253239
+3980426752010640587:33152099236242:19957211244857
+6895607071713205154:734571911332804:180540032174006
+9820685551390433728:319877288306733:132923085423895
+2904399465842287068:738999098137138:133010163334728
+5894091146128692531:651630963604571:89080325347836
+8801057088288259613:251152231020011:180608885034151
+7384099634127554636:2666359079709029:951342413253335
+1015656949656131221:7430535143209196:5104170179680565
+3054127878847299132:2260541804722564:135900667115168
+9734451781714921269:5866905513825709:1255534278070038
+5250408486866138232:1435212518403528:401094546032808
+5190428986286016908:70174949217696079:67657693394203141
+6436316811079028126:78246230624019137:20125899909458892
+3231155245163674835:94243315349467912:26882523281765827
+5600088653508789129:64106406404360311:22831296329442072
+3047196180890138714:96019938177595760:70578097384670154
+1600304993751776921:655086880793442800:290131232164891321
+2360396732247531201:497321214634273706:371111873710436377
+9612504075719692626:724705010482635703:191338939445428487
+5989900236344493410:988893275132695023:56540585548323272
+7649511341265294503:685510429971998310:108896611573313093
+5737529805758750401:6748168865183109018:5737529805758750401
+1772394007600832567:8962106115531051278:1772394007600832567
+5844660841950772950:4866806377957814528:977854463992958422
+3380988721978358361:9668113310565781671:3380988721978358361
+3262557525443925350:8886759792747665371:3262557525443925350
+9353973782622414967:81103234390696823496:9353973782622414967
+1591897946002754182:40728630987861918796:1591897946002754182
+8127428293063488943:12533410391194225495:8127428293063488943
+2162710501113395177:93763139781219042038:2162710501113395177
+8765805568390496149:77487499781521730272:8765805568390496149
+3310452226429776833:5:3
+1271494400102295456:9:3
+7471856019478411041:8:1
+8209327168769501598:1:0
+9239061907812445635:3:0
+8599442393606076217:63:37
+7768194497119767625:71:18
+2527247658704358666:28:6
+9892644759639538100:18:8
+2996295855235314427:87:76
+7187273729699745145:485:475
+3273201969181174536:228:96
+8949853388088476927:388:151
+1932006830197209761:462:149
+6100097389363440786:300:186
+2455829345225337898:2446:8
+1991490950043926081:2803:1317
+6793975862812243712:3120:1712
+9641306422940868273:3334:1989
+4562409273865827267:3162:393
+8697717951768838513:54470:1743
+1025934941378027492:86844:16436
+1428748182391618150:13615:10345
+6547233430897383233:95723:44735
+3878143293092789541:25685:13306
+3822392854052856703:892100:743703
+8321263408431601885:256862:193115
+3344844057895453746:237065:170461
+8208336014508333148:967554:322396
+1792634780471910666:547026:229056
+4259589249561791954:8121233:1077351
+9304099832540823684:8594530:1407234
+7603653659998031504:2253597:2116907
+7983038529262135899:2183850:2046699
+1330426336283496693:3438995:64508
+6132931532915702935:90099675:86771785
+1852742277106625947:38723062:23568237
+5025186621575332089:81299095:54485519
+8476775682315070740:49485712:49443268
+4571592530343503015:95538794:38251629
+5152038821596359319:413060695:141713349
+6297103465875699210:490106397:164782692
+6716666327838118922:426759361:324540941
+2371097054393878980:793644904:340852044
+8618238563863572494:873168279:547988690
+3493892833678448445:3359049992:710193629
+5491020271432697674:7961463721:970265592
+1520314253307926583:6361762272:1561360695
+4563166692223963919:4193448229:1155937688
+2695538608859779716:4257588580:455980376
+2805222782776214070:90098896025:52059456845
+5705525739290062671:38904555177:25262581968
+1935407730471209854:16391959530:4010489764
+1237912039709624268:30587244293:15258543252
+8689330290916895118:26563794127:18278643661
+9422166098075691072:983191948616:705228946616
+7361393702945378203:152419236355:15677106943
+6102724781129384211:560026063509:361468156776
+4471407059524535574:808418893966:119216103342
+1429872454188028715:173258833285:49006414580
+4721238040227870613:9129601057855:1797174025188
+1668526906648284393:7266295988520:3690284379393
+8362796101358247658:4332971778003:249856671547
+8714512069241241216:8523077283919:6469525420476
+5568652553980041506:2314406992320:1863491743586
+5414169217356893556:94047407701363:48050804828372
+3790342446354914235:48721369208575:14807404613535
+1982977772154419618:83724386097934:49411810950762
+1721694397770693026:28960081152866:17573232809326
+9997197725832086596:92338988095827:24840649280614
+3175174443512320118:371019674105509:359092191479605
+9891801757262590162:325201869201983:136501745873251
+6058606903948746474:482515086572041:147476950199678
+7463906309474859655:525309327834761:311379598575367
+8384348080783800439:407736390645278:64679944948925
+8301221769950064523:5848478249929641:2231133299903944
+5013676454522018317:6309251028597979:4131137815222991
+3437766263923626415:3973334274855131:832116173938100
+2237801838288568088:5998257406091064:451825816601216
+5582200949121446122:3359256896926627:2475243326318675
+2726411925997965721:39284141021064630:15806195544506251
+7780464838318750308:74350060029378780:48058595263357188
+4521679351527156112:46393652247902049:21495083480657359
+1698454006597961737:21853509636148240:15733764614547257
+2416108992188101482:21593057321358882:19279629517265580
+4146982029406182430:236083007137202365:133570908073742225
+1490647446818604004:343809495424465131:115409465120743480
+8915710398302761524:235230598136294323:212178267259871573
+8815375570198025470:774372351933014364:297279698934867466
+3574265671275326184:648310252576087242:332714408394889974
+1210972516151251244:3571949645885241262:1210972516151251244
+6820710574545728585:6798377577079081273:22332997466647312
+7223335604331752673:8111945075354281072:7223335604331752673
+2380450073383499957:3140949056835005827:2380450073383499957
+2860604211350146032:1463113614025035665:1397490597325110367
+2511415047121917139:26173413941219671773:2511415047121917139
+2931089782186557589:30552500700317404722:2931089782186557589
+9423995272792615775:29180710676095697440:9423995272792615775
+2547604897243254228:76074711737849487414:2547604897243254228
+7349222028066173575:28880251019534362432:7349222028066173575
+7092201979625018753:7:0
+3876237205500400972:7:0
+5054419131317578569:2:1
+7545039612564564497:3:2
+6583658056125418509:1:0
+3290515890619854761:35:11
+7167816967563107351:40:31
+2966519277575549506:98:90
+4133838425862575260:87:1
+6787515332805795520:37:23
+3470562465129682316:764:188
+5642431677918243226:814:700
+8249180219582776707:283:134
+4959458590488882096:854:22
+2552668285032387317:442:185
+5255499509843797015:8400:8215
+8194084433515049032:1826:766
+9605473760406715001:4803:2861
+6220447034618723067:4773:2781
+2919501179432456199:6200:5399
+1154414493513274414:60809:11607
+6925682907441864153:80823:3663
+1668709533388507389:34787:16412
+1142714091794298313:81061:37309
+7620390683092220974:24741:4192
+8190508985278506666:401397:33819
+3257981153240851794:804098:526546
+1787843117806030410:157614:115644
+7151549260599094288:283905:229018
+9559799259104050934:838175:203609
+3592293419329590941:1884926:1658461
+7956936761253858110:7026251:6417174
+2525146744634021188:2209374:481672
+4915232100942137932:9590401:3294865
+4466636757842157539:2648735:642119
+9821833964928718675:13687568:1770243
+4554203678972357936:51603967:13197321
+7897961906865178132:27406518:18772288
+2017099242839902790:85794202:65210688
+8854849634682692680:61220013:41362915
+1661790620633403460:237861796:15831424
+3436867622954302749:135027456:28237341
+7861945426241636920:252626172:224728972
+2227716284033242506:341712457:209604721
+3455259558771330059:548198186:251320975
+7223052910701603039:7402310973:1379257539
+1412880486187684460:1240201123:753416519
+6223753398938395037:5293164494:120125879
+5171673671619612230:1531523465:95479425
+3893000219460288395:5519103891:2306635034
+6605277575305613818:20097329189:11323299524
+1365931984078019232:29781918477:17983370088
+8150860667701358727:53083412875:28807734352
+2486816579336882984:54659753481:37039262684
+4512657840426970197:26623736534:18929580371
+5317684336345015551:706037046162:404470064481
+3088183460860732099:160889149314:63025294693
+9463437122746211092:282986610856:85980177708
+2889179723558894406:993754370820:872362188066
+4119678008871528924:788634528350:284696987074
+3244115202474040987:1215263015894:963120405337
+9909605884177738612:9732056519771:7457316556259
+4163223555801231001:7676993828197:5156757654295
+9793422266802854895:4276484694739:2897314776338
+3364953503662392737:9740391312271:8699751316264
+2673373516803924935:59975690892956:17070941304191
+4757524198951128215:91814415805633:68429566448687
+4511139744985922041:48637798966697:32528623741988
+1589790233790596968:49714084958000:33225003672968
+9932646330645750650:26340261947035:23293300269535
+9689005372896155212:993468997846416:695705897906380
+9576371498975086957:831157096847414:610586196030263
+5336209525977122641:996234700623537:376469437458469
+6190915162704772019:483224608888167:324698238464582
+9968622273807859046:740612859224851:713801500589437
+5142952867262776837:2600034263685506:85093692845969
+5593806943258183193:5491401940993394:3559767326908101
+5922897421350624921:4969106985743561:4691001330043770
+7801059136559330080:4344793217670798:2155310840247670
+8275521376943501398:3511489190413149:2452844330122354
+3140084212579394709:16959178808799491:2636132951488874
+3151473368999504606:37306906836070996:17693194769540942
+7621560373091772794:98803979581773631:13653945295203207
+7804640993996461934:48020368388155577:25341315115258460
+3888262668462053531:78008160301473293:65862813689862174
+2224167997894193872:496539403329648122:238010384575601384
+6615621401549503144:847642991456587086:682120461353393542
+7269741641990108062:555505404886449909:48171378466259245
+6648306869072001112:278621077228941319:240022092806350775
+3883104526528261933:247835897451900199:165566064749758948
+8297590859426860613:6650746086232842189:1646844773194018424
+3758748375125893210:5181683734468724495:3758748375125893210
+8604319540081104796:5889697218144392680:2714622321936712116
+5282097650693981918:8114781320555697011:5282097650693981918
+3955388029921247530:5545543167574359617:3955388029921247530
+4031312507194950871:17541320967458861438:4031312507194950871
+9310083535510561091:58746282686969157947:9310083535510561091
+2891048602768271809:60510734308683399530:2891048602768271809
+2426569167384431739:83673565556516254891:2426569167384431739
+8069942374881355275:10496184184764107199:8069942374881355275
+53838776070315785637:1:0
+48762094978176847542:1:0
+98974797379490374729:9:7
+30906304363617450396:9:6
+20176295514498274441:2:1
+95622359408757882436:71:67
+93935416939986986745:84:45
+34083200881887475375:57:25
+20424406089965811649:99:34
+35716593513565431380:51:41
+75546416036337739935:939:87
+94022447806149934274:844:194
+21781717350123025511:723:104
+68441860388786894476:337:311
+39198374162890478085:791:151
+33370141825819608969:3940:3189
+13619142577501580918:4356:1118
+25173543394019463700:8851:4289
+29088481935548823149:4297:2089
+22013292847497700293:9014:4099
+66273276884246138841:93130:12261
+96028219045501812064:24329:16680
+89118820717538828134:73073:48967
+78521906834141648806:20549:18393
+85862647815788502415:33212:12483
+84909181535009182161:690014:316711
+46833610923527715194:448634:7412
+58095322446134467193:796242:182729
+24465115767253776886:137278:25244
+57050369724124210641:960406:659203
+62826905934918211311:1294799:119718
+72851902055782465436:4555083:4479113
+28003982801741115347:2433785:809092
+19990999603641379907:3028044:2759951
+99142710813940238781:6986171:6795695
+49148841355374157480:97582515:29850130
+33418327989447221169:31295428:17429953
+88353689303496823756:32642142:23221852
+65669476239250630042:76646877:11044282
+73280697802442281311:57401562:7195341
+17318832813724619148:866884332:317723544
+31224236979063314913:847689136:638399425
+23669089070063442510:746546321:637415560
+65334085120176667161:591421581:158365734
+19839757788368806208:979187522:601433840
+63944857547862182523:7979792014:6206081951
+28176422764759911260:1764421549:1570034271
+77032274944324423003:1613136789:1446761761
+71590254890713191297:3317690735:1424564342
+98634769829656329096:7632086318:6744580294
+24626437945683789626:48858552387:1940490080
+25796284485219520433:88759716042:15407249627
+35491660254958465083:76744369636:65019112167
+28249249129932606492:32506846318:11171183692
+72241936433715246930:52999042823:29560507647
+14801939143336809940:298522019365:50425139470
+89965191130839986985:656313309406:49537272039
+65525946813968073519:935722447712:552791019503
+43508508039928002569:889641632689:388361413585
+57598896874635324343:914649596214:158045866123
+91888308175315944298:9018310275018:5281714990822
+85153777659664328486:4026589486758:2756697370058
+50015841908408589961:1071558755220:121127263141
+36168175927723428689:9830946629907:5304936016805
+27264234723646270729:6058053653770:603176308349
+71913566230397336969:44515138082987:28384403083274
+30240042355475783410:21050172279035:17414754752495
+80504560811188873534:90720709976362:705974974716
+92481598810353867163:43221461504853:32527958835121
+68858240022464728372:93683699613858:65020381801366
+62934743123692246934:691545054322774:685455048199064
+30747155974701101851:731707992405571:54425826602860
+68429690399274095350:547286595276414:258245482947274
+23873658213130082490:972257217507847:854494442407252
+78508250869368653736:112696448644854:73064109432300
+86599241176569068381:1287750716601091:580986578900813
+74402748365712932733:2260892666828493:1292485720885089
+68802111439146435938:8160610635006901:3175403253607
+88294137565513214051:5583860705333754:2132092775895803
+63168125985302220619:2402186826176013:221204177782771
+25682614891964915402:33649704972607462:7889997865421896
+48900673349045074672:27317244707653725:2805322344906922
+43968675926293945494:47974466202309984:24064884978000150
+59759941130362145728:50534333139890992:28359359010993184
+93731529272931628082:70589450758529745:59328116362656467
+54665581974347724104:883793136846640431:754200626702657813
+93047915238463000137:851089315593315257:279179838791637124
+72169809799079835264:664445256623732102:409722083716768248
+33712070914385713644:600966963293713332:57920969937767052
+82035229170631996007:155002870626781627:38710609064515324
+28151207474788927560:1804246784438971634:1087505708204353050
+55599401862646493683:4636752753873641067:4595121570036441946
+98569221594491633946:9181719847509609554:6752023119395538406
+18803703621932125095:7349698287060353777:4104307047811417541
+42198876243011764130:9102859349715158254:5787438844151131114
+16974143763246342554:61082972501690104035:16974143763246342554
+89813441769731186067:92855749326948858096:89813441769731186067
+24032161772788878611:95475936727079316428:24032161772788878611
+65099433626999906998:91155373737107029797:65099433626999906998
+66105231109706730657:46398872382231616556:19706358727475114101
+19346190144209901737:601758992072905610604:19346190144209901737
+12270546258637415440:358631715730057361166:12270546258637415440
+81489301303813702457:469589175468422486276:81489301303813702457
+13351328705609758379:140411479985450685753:13351328705609758379
+33632815060147406452:350251650960739955295:33632815060147406452
+13326065469289169113:7:6
+74959558113426773641:1:0
+68936219931633160599:2:1
+73265790954787125861:3:0
+66108274725794335608:2:0
+75459195734138618507:95:82
+72390102343534843233:96:33
+59667508335430515163:79:34
+54817856889475171647:59:22
+39186111478557368340:25:15
+39696156838463099222:375:347
+92047828654152644460:556:384
+63499228381807466068:501:46
+51238900088460115320:758:380
+27847003663891203614:857:28
+68805121135315913474:3293:3127
+60594978350200555139:1937:658
+63085196413440882997:2736:2581
+20847226622810216508:1433:1231
+75819008745889804964:1865:1449
+69764559485079673550:39183:22715
+79599960536136479033:22791:19958
+16842747219246120207:52504:27951
+23471693204969197998:27820:7258
+25349758837898665930:26756:17254
+17335752791526880093:379229:294694
+39090490605440479917:897186:440859
+11407971887516937143:479204:285883
+99348729110797203891:779390:38161
+59424810755864458800:140626:39940
+57814437168388144371:7560322:1278019
+20117566784037191972:1873731:434765
+79694566771740093318:8549699:5769853
+77969393821305808985:7692735:2283005
+70743754139271075337:8167905:4364752
+43501932835124873597:33311815:13221847
+95181536361114766150:75319457:26233501
+74481227174848144359:12863749:6614035
+48360012404475874588:55407358:39876830
+69179929840702794675:45523788:39700275
+83415924967505819865:711285862:665389173
+78034629725440442467:709636043:633454968
+41716109705964079615:693315717:204485413
+77920956528205548640:434613386:184358216
+25966693530261301462:690943299:645239251
+87506058354676189591:2026062201:1858926823
+43982681695710511435:7302885315:6247915630
+29220976877265143849:4911873985:251936309
+87633274432563816882:1141331322:876424806
+73137665073145678131:3412629363:3044462547
+35764122312885989534:29099683583:8724695785
+82252291912537882950:63273989665:51923732695
+78374279250580542030:28172033311:21849890378
+43800609839374260959:98657184668:61130033939
+39314011019762914388:60060567135:3222373193
+49975452469401334837:936512053331:146870702733
+76476037222252141976:717294193462:301296057410
+53724741752792964068:358933966997:183688525934
+46480194181871539810:614894108459:493390342016
+31488134571104217648:498447340388:365731051316
+91604618776409638774:2183793599438:93998517476
+87103643370968883146:3105863637379:2035311291288
+47016341721763915960:4611274713685:1470943199155
+16851925339602889611:1625446697790:1046229708261
+63426169500584648409:5683852477248:2868449443929
+35840351625913375071:54398680909657:52701990408906
+55542867108621714348:26977817593389:19001554265922
+14467245292517158805:11203319968909:6100466055290
+70591069668839016999:66377165452253:16245015187547
+52819602416927394733:60799101352349:18322466086889
+55139422465873194924:961599634430787:337827977437557
+15730971592175441051:383873297391620:227738364245071
+16490156815706379001:517492615912063:254609668491506
+59700981923257457065:577002084460902:307250341309831
+53904092760550467759:988826892834885:172351442381754
+56083872306259690595:9820309671955600:83769721258995
+68127471799636581954:7619614040109096:502667021154618
+36731088043513259293:4530071704721738:1266661629407589
+25106902393835070215:4065732982448062:1001227218287365
+81353518185460629273:8854916650460728:3398917677921137
+23437623959241308873:32882814431839545:25060083771552833
+63927955086447057147:19939595806236274:1610931653562703
+61476650358979829676:36732231889938774:23626407112260774
+84629564541385933538:28096835400444573:1896315246879662
+99552108050786422478:86949510766962758:81867733381027326
+60134105739129420398:143356599243069671:67690656283228249
+99999935344061948299:198741799041046177:32810426415721268
+94751815326600028300:456854752833151480:182881490137671940
+99577915322423501323:676329985990786877:157407381777830404
+11812985125100209440:343560367239341229:131932638962607654
+30056842123743687333:5039248833110062970:4860597958193372483
+21767681327698764706:3743546746595431601:3049947594721606701
+76205112748165370886:5390329167758011502:740504399553209858
+87195142009286737349:3930102980959501088:732876428177713413
+98766944767617206805:5203143021752918316:5110370376064677117
+47058722957336577749:93408185058448439530:47058722957336577749
+64224833763281985710:78736946869377748771:64224833763281985710
+89573606698890613240:83701199717852084635:5872406981038528605
+40290903822408839701:21347292560281521300:18943611262127318401
+90896371684220017132:62500806316789560481:28395565367430456651
+35338769947895995049:343138652270281652903:35338769947895995049
+38278078581052662671:281446552527858565462:38278078581052662671
+56484201087543413258:185468548753570748830:56484201087543413258
+18657189650386565391:300990047155804119263:18657189650386565391
+89651895031551960607:649972810647666933489:89651895031551960607
+84841559974394197086:2:0
+84226361132934552157:4:1
+74257571539175035711:3:1
+68431993094864591954:7:6
+46415483232668082146:2:0
+95184845359083100666:97:80
+80964066743815530349:78:61
+19694637938164508468:41:6
+54498539894022179550:17:15
+42921428031135127282:92:86
+93878591041600024966:948:574
+89455768171870444347:410:297
+80238090961099202004:101:75
+69951550038562403570:918:686
+20375412332168354106:947:140
+12916280230830828376:5295:4636
+42654691834587094972:4228:4168
+24145229533731208217:7596:233
+56764222556660940964:3666:2476
+83986752527596432929:9536:7649
+68841762178246168861:43154:26763
+55550860460360480170:52076:24042
+63096189861695499395:84989:21335
+14743677177805058083:79937:58659
+50713074521575471585:80910:55765
+81429595811011970903:105013:90952
+97780081753473306828:516257:250933
+58792082591657573919:114248:9391
+84625098900723147545:960387:77645
+94629509201170120253:357780:62333
+56007767781426157528:7180530:2449768
+39921489688921282831:1763818:1301647
+88003699235286335061:3637587:315576
+34271266078269300432:2082125:1720182
+80358138450912434772:4829541:2964156
+83297664339037657579:14445216:13014091
+71639942280885019037:85911978:65450279
+54355154803458791829:91645117:26620393
+61058875174624938613:33324516:23408581
+80951663832732667192:98441166:20699650
+35420712078601257715:791320042:772413733
+90333653522146936851:386334641:133032618
+28437845556402969098:101484290:61162758
+40101555964953702910:879699651:222087907
+37224754584227464110:112736307:110138172
+92355300994910786395:6563319313:1233687114
+79946357463563405505:4387683151:3386616840
+20955465604405997045:9875720814:3883207739
+49746532073272906657:1649612332:393880865
+31024422290228518099:2328642102:630874147
+77307595103723541212:48926583598:46290438484
+94899755948100148546:10502621887:329484906
+92386089383541393604:70491536069:2866764903
+33833883205822753470:15679794397:10515717041
+29338955334035602610:11952767196:5464966262
+49716598880242496265:889820339768:719012445265
+56618687869983456792:217859296529:199051760111
+82562070785050396208:620295081368:236675282432
+19429860017664195669:419101138329:154832475759
+71922142146033601000:501468820987:495305581454
+47890097918367709408:8660165299846:7342120918320
+39595692410882992006:8927678024292:3016986060994
+20335287717114746755:9537963819293:5487684576207
+68997379922564248541:7473600352053:2853159200750
+40589682321593816733:3790596116331:1851498166719
+38614559612047531298:45841646361955:32165640184868
+91070951990954114799:84622804886193:58618042980585
+78606801241401410121:75612279787306:48337678730603
+89710016856323885749:73460071350779:63502253115496
+91422875400082023363:28978497485952:4649531384259
+20742687115621208644:198087638910321:138094765855450
+57123190322349431377:766117341171124:715247289254813
+77724393951540593431:708675348207850:425136844644681
+51774950903230680667:938764786540972:195395922992923
+60478716341174736839:908125184779950:303410384406689
+55215551307034610785:6248848549082238:725527343955817
+95813447077863423583:5569994422833989:3973010695978794
+76271632387094922076:4185112314285837:2145571549828588
+14198807036634613378:4522012822615548:4208786444408206
+85111439287990803617:9281587377973923:8564619347903630
+38886345348947664451:62234457512996682:52043860837734883
+71942449232980725333:72738962921396387:3614903719698590
+68503626814604796051:96502352003924836:83459243822087327
+72976305282016896463:41954432567456953:17547047209255196
+61571065023541658600:74840045435292359:52547675731339502
+91329659998750384680:502921188161480971:300924941522328929
+71210669154357984593:495383902910629677:370771038137940782
+36739552772995903236:967210205950843355:952775152814699101
+66659196104752950553:868279461534659689:669957028118814189
+78859145740195784780:621129707486432561:596802596905282094
+60083595775895092720:3105868141854607551:1072101080657549251
+80089206371273619646:4801214395252475759:3269776047234007502
+78802014416590472165:6835361889449011695:3613033632651343520
+42314326514575349113:7678176282876180238:3923445100194447923
+34958434414621002750:4351972094936591105:142657655128273910
+65218465606066997020:89102437333455540260:65218465606066997020
+78907553080388444401:47438803449057113533:31468749631331330868
+47535682509667367342:16754379079250058760:14026924351167249822
+71764994343518689455:29684216894708223455:12396560554102242545
+50774311456612843985:70530680004105358517:50774311456612843985
+45438784377830754164:544616993565854846128:45438784377830754164
+53459433868125250164:677918942896724042517:53459433868125250164
+80935165781703940663:683823399830704400172:80935165781703940663
+82723379200691355776:703023443890998949256:82723379200691355776
+86600177426320033248:847917581416718994116:86600177426320033248
+41396259469988787278:2:0
+23571415848350068955:4:3
+93533538849591288862:4:2
+40396330223215821886:4:2
+11024944392550316002:6:4
+26600314433550560186:22:0
+35708424546382569861:49:12
+34550322604292817191:62:51
+43482739978772714926:12:10
+76420990853760657481:99:25
+74361531820323275369:861:611
+88803952428411573884:634:130
+78112686626589031125:534:399
+19235204763402755965:504:229
+61340246737695725923:279:172
+68960541525563354671:1522:247
+60679323955813241069:9417:8237
+68926791514189871396:3041:232
+50956576219909350829:1690:839
+98523124655280691999:9041:3097
+20815808065484955349:39640:16029
+49002987517154183080:50156:1364
+13394985375876258165:16827:1479
+73556626535276169123:98302:93257
+86985026897899320639:54847:41243
+62453538360329376896:271412:254640
+74881985826978989693:454970:315383
+91134788508910895256:869634:839754
+27967573010239422368:947217:150146
+89251476997425518482:327123:72349
+16501728955876395543:2579066:635485
+58524448416181338791:8929191:691193
+65237124203450014911:6303117:1941867
+53599498186694645646:2408404:1664214
+18122454757546918313:6201348:3169181
+18266690381135187226:20170696:10400898
+55616049695394028457:84634350:80524457
+70821445546852894766:49120201:17538250
+69865553317861846322:23766700:14522622
+53999260870283735325:57894141:9886437
+61409213943106195290:883212555:309694515
+89976128854873430321:581657539:414428682
+69558905138707251452:208491214:129926836
+97772239826370984963:691305387:388321281
+64340370901511137046:138509984:58369654
+44419106467352686844:8338611531:3680896292
+49433782654943846464:5798183006:4287666226
+58506076444860094288:7178571706:2146668772
+45039943239068466977:8231692136:1837774521
+53142675968702574005:9402781988:7242855765
+22130921965720095486:93787309230:9325825686
+18162244336787636157:83699359465:9028613602
+27507020601523102521:38693901045:675294366
+54200911147092525017:72005663322:59791558889
+41213282959775395101:69202586036:1487398089
+19666701324688222283:246629281197:35165420951
+11922998111615690113:589118564010:106356555043
+98588842140065141661:437989114269:5792431686
+91596068945331000221:891335121418:196125628107
+43906806077468304373:283176183619:128626746049
+51882937065385719675:3700111133039:958579659909
+57464582569624740539:1463562465955:614725529949
+29137774508602902711:3694821923718:2387751145731
+49283664171343134625:8089468935521:6517683029342
+31963876323797657217:4334985228923:1457861242253
+68761440159408665101:99988967353773:27199892510731
+53447545663594871648:40909373531536:21875872529152
+43991315319253961072:65152110942371:23641966580533
+58211033199820741408:90761502426781:54480375625686
+62913172029881906915:69343724951539:37411723876080
+48522607407921525399:992868830458798:114794569608341
+70886761204522449457:937973264493747:369713672013679
+34348060330965027895:188617932649854:168941628664933
+36063651615962924467:390721177504562:86932291851867
+67040955437942104518:384698667697203:288015685932114
+41319330904617232308:7405482968236789:4141424824186477
+83229323984100699731:1618175446699866:88058539791887
+79357348860071463336:7990217036954438:6503466076939558
+28647516454234585350:7463079031361248:4219131870115526
+30338292191086027289:4211035304060262:1993860635899841
+34052574382750566977:25526947047340478:25153968645709803
+45467074371592440392:68173984943223028:63200399405903744
+69102116004897068879:79353909103142244:64215085163316599
+14381243139343541175:17264253168318152:120250134520559
+44583867598926726365:21079844241283530:21076872853343945
+67832565436626278106:318575505378217902:294558296444082882
+13167432921637710768:673329323456992109:374175775954860697
+48301287848630194735:483997102466597094:385574704437082429
+79593612898700359947:890122764197700138:372686885105047665
+84249079487526192607:538240674218639176:283534309418481151
+72486970027463419669:6658496456237581426:5902005465087605409
+64680044375509682612:9485362218393781486:7767871065146993696
+90282978889974358413:2611737665455640696:1483898264482574749
+88916967518034868946:8240241076775705678:6514556750277812166
+84076165289725548633:4060183953689363434:2872486215938279953
+62209187262460192446:46347952978069058147:15861234284391134299
+27659878613177934948:35706466523711090873:27659878613177934948
+85590131775688763101:11483173633490918564:5207916341252333153
+36684848417806197005:21077322037986576161:15607526379819620844
+88689382216487586693:12078677371484451403:4138640616096426872
+13082991421305606901:766783401289809978036:13082991421305606901
+94678112616497918133:780009487513444223031:94678112616497918133
+92886105923451007039:379218741910130019034:92886105923451007039
+89610600437114088912:375607452375659151573:89610600437114088912
+22818551688253562445:769198650272851983519:22818551688253562445
+31391202167671413969:1:0
+26694360610096864782:8:6
+17497350554337322073:9:8
+54795808429198382476:3:1
+72198928322929476844:9:7
+49610778179996044548:43:37
+21106823569133962599:50:49
+40679361279213833325:53:13
+52478052619056075475:14:9
+88312449289660672610:14:2
+52748851333373351927:157:110
+86750551899878059882:925:257
+66118495554485200034:984:290
+99888026697864665015:583:437
+66421918495997278056:615:606
+91074282293142433932:4198:4036
+64262032785309106266:7306:3418
+46605317435529931145:3868:3357
+52231159119879210071:8817:3770
+22762962282145619762:8986:3608
+73400667443103749543:56083:40503
+53364774970180968508:34629:31252
+90398265568938214552:12332:11672
+34173984735342944267:30003:16760
+80435067384613723344:92198:74
+37101922024424681856:429280:221856
+54704991808178071461:157525:107636
+57439296695562029124:592144:183556
+45708578045953032778:783375:59653
+70059031122248490978:788899:582579
+88570602518834106902:7048124:5757354
+85328173701161906407:8536751:5635937
+44940466827811790382:5429210:5339282
+87642537243237834442:1065991:529083
+63486007418259571848:9240317:7107852
+33678701883575224218:74508397:71664224
+40286462029934206575:86031694:69870429
+49135528864568242860:75405568:7553708
+97316099941022789088:21362641:3323109
+35448852392403258597:96284605:16911882
+34022764617234086982:839326317:184980426
+69471833428061093817:434517698:70449535
+61544715468268327668:713725417:266241150
+20019319593751482074:987311097:475365671
+24953448859668327166:662629160:335394766
+25592601755976389215:9518065058:881598519
+14533476356771190301:4071736377:2631679330
+61734665565701418402:7352017619:2284942650
+83394915136940794465:6615328466:4545157865
+47719040926545098326:8374848779:1251650220
+84452285617146912405:14913703057:4046262919
+22743263371698628289:19214479730:15406992529
+44328869169906075242:96141772365:72257335967
+35209595523437702428:22722548978:228544324
+12894667635644322635:73184051875:29510155760
+94206152061154434596:517907912808:80700818636
+85864481854808691907:266527967076:160751756863
+25796038417002828735:359482001368:36806633015
+45113018198576399784:347119972505:12250090964
+79009396439353235948:117746488126:108379283810
+40443932568438087209:7580871117145:320211746499
+39187109862641199849:6826144733656:1396642321721
+41625857977269956193:5836895773990:743685627253
+24361782272850795642:4783889813742:400292769096
+85444056767551503051:2501518902630:807875934951
+35276150104366826642:11978892161085:1713766214627
+57971319251611240523:83111823982826:74017174260089
+34348060049775603333:91635404352834:86529989776611
+30156148841140074033:35573214912803:23095258714873
+37505667362600111658:96226517613275:34951579594558
+52187391175683365243:434466064932541:196388116405405
+40056230957010262132:754787384620365:419242592111947
+75993031493256006088:589707642982179:356080357509253
+38777080096581708283:702698698639594:57809552992581
+42612302064398276266:130343671469988:88300086859330
+18188255719410772202:3653841507642437:3086535874363253
+35615926186539301937:8358675930596533:7966722198071357
+71130899775003988514:3900538544665285:678874487851254
+41453065788162699248:9119828643992621:3444601216236803
+85513772943820100563:3691590774485198:1764243644974091
+23434434844407220307:37853745622608039:2966304012844166
+73951791161685093473:69255007327167177:56698343597715614
+95367946197512553521:22367721764075689:14348317257891314
+41376454770279171707:45774549405920129:42036656733295220
+61991944568734565437:74070008264915135:69417659265512577
+92367003863940305021:972313887884262136:969498402819664237
+87761151135349352727:602874923854121962:344287176501668237
+96208525747484264904:649295294110565376:112822219120589256
+94114895211282464676:134486003879710594:109178499364759470
+22840998200564294478:334142375436220186:119316670901321830
+46301085423120490990:2262437187327683301:1052341676566824970
+87089482106814564421:9360314860833457292:2846648359313448793
+96443483264542169140:3244578792381571825:2350698285476586215
+58023922485371044788:3319966166286364569:1584497658502847115
+26187610488222615237:8982974178469001243:8221662131284612751
+41392124871863921719:70836745443980473815:41392124871863921719
+31141071610922233389:21048495821864001370:10092575789058232019
+89635680228987388528:86754462617080953142:2881217611906435386
+28841574652755629958:26022189608908634466:2819385043846995492
+42397959358527675514:12002358973209598033:6390882438898881415
+29825398334028872614:184086440055199165997:29825398334028872614
+95795979577715296577:295227109224515024569:95795979577715296577
+40970415107326370815:745346826344351794986:40970415107326370815
+57475653494751580613:471603587110474320447:57475653494751580613
+88733979377863620525:343773792174051199716:88733979377863620525
+163126205627702602369:5:4
+493933167176004497801:6:5
+518390769454797042982:2:0
+317309442684030164607:7:1
+922366976596680708422:4:2
+503593186895932487981:51:23
+988306818883143474383:83:26
+445171707032653798859:87:71
+426144487537269053459:30:29
+412782494752172215529:66:23
+204552212642644684279:250:29
+664510627450234121091:510:111
+380371734495164905911:975:561
+544983008293604869122:448:386
+751335504288301328698:399:43
+496587830195293556067:2434:423
+951379603442582046839:2993:629
+740224095259153741571:8143:6990
+695758768754299342202:4569:254
+730929553586626423640:7824:3752
+764766228698602811704:20394:11188
+303135433051348669094:85865:24
+305010070226916675213:18617:6231
+679084620069047007254:69847:43283
+156237284692372232884:47148:12880
+320244342000691034807:813326:271105
+429132867738550068133:664772:85597
+904184408351889068361:564468:149973
+995062641824724862648:634566:299872
+367590807386321750767:619929:482941
+669372777821977279015:2799854:1688583
+213070496217896934549:2298869:1013186
+893219616788363565450:3727065:3309405
+474260219291620636117:6963934:2568435
+976771234006823256071:2468437:2136225
+140560227095272921651:23166635:13068121
+750639352751391821176:30885306:9315448
+602006462735326601052:17813352:3984852
+866199221985598684525:96349434:50613907
+868990189175070566545:89254533:74773030
+971156979205149091119:847904813:443738080
+642875986361265489471:515919746:312988969
+693751183874130166187:522417977:504640438
+753523006479755328033:627837088:252653505
+519094269331445130090:218375788:185426694
+612499292923674688790:8418200293:4732160334
+953648519172201046083:8886241407:5559636606
+546590187349735388892:7275667461:3787095933
+604635729935697021097:4875059969:156887916
+225064780538327618487:1122540940:633193227
+530835888534740469525:19602764667:15012980193
+487766341424977081094:96671768035:46178033904
+437953521222763872703:45441767806:14389492503
+346287497747334437207:49868262644:25568110411
+206207266099406402626:25729584956:23087015126
+188724568876770166504:643196229084:501211849732
+469007977676119933148:217381570653:185969688248
+561464875311359436655:708799888153:539631555729
+722925547570788210422:612395584299:299772358973
+297791277517583156688:367456087471:214854903061
+262855952548072659191:3964795408187:340112374057
+838905671974982863966:6160528257265:5788003773611
+599142412438251986858:1670779751480:1607921785338
+471682020356967352336:6770926377928:5272178533392
+626029386804519105090:9872055571580:1764284798470
+230580471856982115428:70208968064084:38522981314460
+283025153544742436559:15999118466360:11915384583999
+418477184076339675308:91311222570302:42505987296556
+515669801977868993033:35624577213140:21240442408213
+917396675695265323342:22224444687031:1854935668960
+740157495113075814987:399423600432215:401753758227
+425443645357839743405:270365957168902:101012170258637
+122742848657786035820:856072282423725:60876154769045
+488079194291133791635:771974606430556:565299234052303
+312491143116895288605:626819644539267:238446156354027
+106419088798911625322:2518646276508218:1246323886398386
+191169263998465214671:9928743840507373:1230093336254929
+839502062397744114158:6943916172296171:3428915653928771
+400000130093963906072:4397030014389788:2309684924891712
+357914790304737290516:2599944022133541:1296329789769374
+317690697835643203289:24753847030671842:24578891031454903
+107119131934157224252:76523689251487433:62490671326305485
+237361317432614852547:22280651611388002:5535816498467241
+452364606613996065288:94020095097114956:33929101776011972
+300255167572903000653:70940571507352338:34668953787906237
+775130456292155494977:784431344977604669:112287454282082005
+333589813647699237969:570714020318357555:292825781778425849
+164822967187629646389:383675520430335646:226168923015654255
+392170573531087938751:789131710081811185:761245330509590991
+603607547515795307779:619939419047074509:406492782991810522
+922502172005768836294:3347933362971570664:1820497188586903694
+380755245600005822824:9355246598296396882:6545381668149947544
+675305533675832695874:9638184662751702441:632607283213525004
+610445689178935499415:5194136542112478408:2731713751775525679
+843608134504174619437:2446767281293162046:1920189739326875613
+440318409826413797773:54797608032343208210:1937545567668132093
+351758472918183562905:86296126975225450657:6573965017281760277
+233003536916087567059:90176621112244269544:52650294691599027971
+386548956793843020145:31900822744179848206:3739083863684841673
+212796888788620946961:12082866021653290726:7388166420515004619
+563838379535790596662:725380929056565359215:563838379535790596662
+733421411109882396817:507384231609030680958:226037179500851715859
+515750886822846729137:598065726296765624959:515750886822846729137
+311939103235783092768:947520728571130895721:311939103235783092768
+388751795092068874005:852849753827423522247:388751795092068874005
+954072481424996912028:8251254479123512763519:954072481424996912028
+738959891097011210967:8148806209702817060504:738959891097011210967
+799576690137949810493:4072957745286572999518:799576690137949810493
+694108662518873864788:7491815902231137498558:694108662518873864788
+832087622356925617272:7141833207502438607206:832087622356925617272
+755379256260582111072:4:0
+620036300694589486686:4:2
+295113932740051081405:5:0
+788028064383877018683:1:0
+623462527675068013781:3:2
+376683840277563786724:70:64
+946988202424550773755:14:9
+610450868095883590243:12:7
+641809044038667078221:92:81
+557448213534760393833:70:43
+957008663731577074200:632:264
+679168297526167388939:609:314
+370062153845274902714:498:212
+767757264718464098035:931:531
+282134611674319016525:176:77
+554160425880201460136:1415:1141
+401435620820061702556:8475:6781
+460008694968483573000:4678:1596
+679183517267930899597:2936:2005
+187546666509416090602:5060:682
+732694352779294531509:40534:15405
+418753824703001994117:72134:23725
+601415716887242478065:41764:23949
+256229735068089554052:23914:15054
+671346762449434577350:64560:7270
+751753558724525921871:887517:57591
+900174573361064239905:397480:184345
+843455857625570005043:157502:53785
+456024000522379253168:129427:86008
+536921398845042070895:839199:26969
+641088551742570883626:8761598:1117932
+108784724822203343930:2694346:1211134
+511994126630733253410:6275978:4423752
+919037658022257474557:2940864:967613
+336166987968696543153:9342101:6710067
+239047416344611469378:90296408:51682274
+851897028868287772874:31195760:20634474
+969405430327399982916:65968019:39944748
+334337928936693718459:55696414:1189943
+330226060128237320994:28427762:7828998
+957920182743572249489:355490542:95108059
+189220538988504792400:113363153:77451920
+886166611548523518878:547827630:32921378
+295216660309451193557:656480520:143495117
+805029337046899199786:608906962:153556896
+333234838869693903374:1777647437:1397886718
+525760972368511626222:6555552953:1589409473
+484631334490083631340:4121485546:1033718488
+156631179277794965209:5562689700:523441609
+666361043297998191547:1750452992:1427424443
+625569443605593962073:71956032391:69114337469
+490099840600307225004:38995998947:21116616771
+927358843410400640444:57820621684:23854238648
+484647895440148349634:78778319805:63523918779
+747473583268277529177:71131163067:67114005276
+143681501541996437541:696861544558:141251509129
+473009851495236271414:431845721078:336986223774
+220920134462336312766:219449773022:121038393970
+375935462594756004750:629030219631:334002085182
+769355191525309686813:747987838450:375546715013
+176224756114127439196:9546179368253:3439308046729
+438866286199763703774:4780469744637:3519350598678
+669084428697838982742:1089904557332:142988410314
+234894298048008072001:4193931008247:2018113900186
+409018504773681116494:4062247118206:2808770531024
+800319606940449150093:76489339221150:24289995085293
+555455241035519949306:59760247657599:53605747768833
+709014386567882701178:52751898147552:20176497110234
+379174271294079613714:87154033503977:15742940190020
+787266811358744278129:74006915654848:40379047585521
+235466990519277576095:760316552010669:755944333440140
+901644927171616540566:936599863383079:843889720815004
+841744792436048811657:798950450597360:158853342417977
+829581879996799921101:379199537795062:225570862472585
+964024290515413760633:236761301855950:219851618018283
+379665567924412024475:1097481905886858:482438100594239
+266754583131086365858:5945837571118221:526340438498914
+750669463184500535214:4322436589360281:545583479254506
+946875666521487254234:6536590930834515:4714053591914879
+697460507422108720219:2679915270947620:1838496906824739
+148919565210930884937:72143643870072405:15084263101441017
+853750248134601660503:75746039462006270:16637358328991333
+943792420054753284819:68468318712356732:25114923628090931
+202128177462678898097:61581608147879713:17339521337680031
+703802391992065069887:76672621180413840:24402177046432527
+326504845665522201749:201404346411592989:28400132329966580
+195958491262161923502:690103052124608823:659327510897626593
+204486396732597898503:155614722715427267:8651084526469665
+391329046441390459897:976828422110583746:597677597156961497
+536091226723830295395:688961678739505155:79040664495284805
+281099823849711514003:4460759404626336044:71981358252343231
+422335242373134684928:4422716428644018165:2177181651952959253
+183940617830547348205:2342061438273865044:1259825645185874773
+921506215802438152318:5392508937076417469:4779696499447182588
+984248440430282987238:2119075906929971227:997219614776337910
+358013073842594539058:63585223162521642815:40086958029986324983
+546592021478765685578:23612161692049475318:3512302561627753264
+659687979096279541869:17390482044063011814:16240143465948104751
+805035884467116267526:66020324859824042399:12791986149227758738
+218147385685977433806:29215066335215616917:13641921339468115387
+833119255555910528619:645098441575353024517:188020813980557504102
+899969062421553593782:480953533014935583907:419015529406618009875
+944220329609346559292:561513532671122759293:382706796938223799999
+107313870193755574022:476167462031052698606:107313870193755574022
+491871331239386559847:509550792267253375482:491871331239386559847
+767431145020283249695:9938569104358441345640:767431145020283249695
+160427519627967153473:3205503580567578817225:160427519627967153473
+941437203195357148756:9563166123358688162879:941437203195357148756
+761082188526102700012:3463675826536021978786:761082188526102700012
+200845743012828184112:5432320649213310448974:200845743012828184112
+875986115250869108662:2:0
+447305270713877182765:7:4
+634639635223286674812:2:0
+106486507143439874267:1:0
+833651073966479310689:5:4
+635019881538468341094:56:46
+945158405637969077766:37:35
+557626507402423602041:32:25
+272862356013051426341:80:21
+740016079137933119232:66:18
+735836252464772307651:318:291
+833950172619466387424:780:524
+441142818298202394396:827:520
+777585972527160997203:884:315
+232625960908983854379:452:159
+709882974841061861012:1766:1188
+971200105708024648507:6060:5287
+445855618098129337228:8948:872
+247320498245558636431:8733:2941
+355705128248549288913:9292:2181
+376105878365983003101:93895:25991
+717655941497728587260:64891:27353
+377314973052861488430:67938:39396
+603047242641033058355:88391:12004
+942470923734850490750:58952:48734
+743382187013233137556:285357:242455
+951168108883007058590:429988:177178
+923674225843115646786:323218:309776
+352674384049318124345:757166:582825
+355497074606654690229:784688:176709
+344825509609972927859:2726912:1326451
+370142094577975066900:9456014:4359566
+333268739217514294148:9223873:7188750
+781646852647323785595:5356179:5212686
+968412323079129240976:7833218:3291408
+855965786186982531477:81514473:81165420
+769996266203502729394:35607929:18361129
+710772954432433177324:33238332:24822004
+203873999843499715427:39247903:19407322
+189957937603141058470:12291106:1556612
+547798169434301560383:163094733:47125923
+466126990476545239829:516700509:80642822
+132996201417926333239:259666990:48386299
+145459411804299018579:809234022:584596311
+743808976649598356010:124775375:40148260
+994667358702072567305:6270978714:3322631105
+853968637955170623072:7278731086:6796386718
+333552806486635294793:4117872157:415006665
+958330162735813914312:7948441015:3471973517
+136166264337497579208:8963278193:3641410268
+142091555458956070420:12458453939:3909030233
+784473297217494813760:60467453499:48507177736
+109041934565748142935:16957088731:10630605665
+771590178191002048675:69394336105:66089527500
+669325833502989483409:30633903178:10221126273
+710064778243306778057:855490409439:498183402302
+573054833276933885894:196786277908:47125767298
+534251186231675556577:231419449834:51154512563
+139772675173120499500:755981437621:473368301870
+195921379235679941035:413038243977:358868442598
+335278503626928795785:9292797106540:6165215052485
+127863301991524950147:7774823265770:4679798963367
+852864414063705082104:1251926246221:988368863785
+299978585350357846723:7189836919719:3331243693108
+940754731722400685084:3368827382415:3173114874374
+846699562601303948666:13935708643079:6126873522979
+423384347857731190971:67799326460782:63486532580595
+537899255752974689910:32405517941727:31032730275183
+836201711241279109354:75189320369501:834393919571
+860998414979262463718:30012171986584:11291340790430
+405748188522117032334:761457710409556:117326412250842
+864818118262063466581:792453794980371:612539264908345
+129549786693201848280:981330620181121:406200611340586
+175750125101606049815:641300940273132:319817873678951
+434262465403822444312:604306908648779:269165906069564
+513119702128455098012:7070305284614004:6436708162985720
+114682967635756969183:5793563258632963:5176494376099561
+271168779425736242434:6972589053941790:4791117940029334
+971382776793911297866:7623708002444363:397954460341858
+582258473342893886294:8265821624151623:5732316029410551
+650353761373165223497:50834264615772577:31014143586645936
+448006473568073991058:33255724501081431:18608814006034057
+143897229623204779849:23018370492310961:9395675768962638
+316454988534313578832:56366272567820047:14734338571834974
+757733582923342648970:13257077124862209:12082774718231366
+934380639111991942933:425925359742364839:326325196985851006
+852244661362618442182:185285995617951152:114367515661094134
+450412158746344146954:866845362389530391:519415666177874025
+463062864030495130083:760510172812277825:672678960630212483
+718640160494539294305:794976707561834541:776193566202703782
+539343745352694474507:5633855752031672832:4127448909685555467
+597183931414613585860:5419721334281153704:1014584643686678420
+793691719124327281065:3012978974352571574:1278248869600957103
+956406557463551079755:2320111109160191852:520780489552036731
+858089013766701630339:8715684627288999392:3951920292379689923
+531613021293086751992:32229145106372618194:15946699591124860888
+517539664259142170169:18145624547169715057:9462176938390148573
+754952966674090204753:89601986598389650084:38137073886973004081
+515097369803949515205:79589398435374655492:37560979191701582253
+345988260160185488874:92340650545348771021:68966308524139175811
+689018056775681681287:855572567522722155668:689018056775681681287
+732494680688536574760:266987271623750473225:198520137441035628310
+581986796902084106101:175224032909657652081:56314698173111149858
+822541225994541415918:847029522421039642542:822541225994541415918
+996617507382863355870:492602870563552124875:11411766255759106120
+485098337745732606289:4649319029515387012962:485098337745732606289
+666486093154886129579:4404033657662981446460:666486093154886129579
+729889403893834005257:9192595663454117724837:729889403893834005257
+414446826629668420021:2156948956448577422891:414446826629668420021
+820760013591364480545:9858012116714363071384:820760013591364480545
+706521087089271808506:8:2
+625073547569198139278:6:2
+333988865256576467050:9:7
+103098319496628677762:8:2
+913399474937799172997:7:2
+836334109032748246824:81:24
+329107730627651156461:42:7
+951288290044968957445:92:57
+907743261049895826277:49:1
+484461292385863892576:95:61
+271055183262421780232:586:88
+233124689426724553823:826:617
+520782085955367733159:734:291
+873265484772977191917:105:42
+617034008826754790041:797:597
+189537358802635710856:2567:851
+679707164894408352563:3336:2051
+837119584103729762259:5764:4263
+280433903676719890174:2983:1533
+240133995091982480292:5605:5272
+104134323512919313778:19460:2838
+562389908997170494855:45982:7787
+877025871488822874291:47737:45350
+893471030396017193098:78708:19690
+409451795048231973045:52951:46647
+228245529598806668085:229253:195697
+228353001180056054565:627595:599820
+660272339422535491423:451244:151955
+640169786820357512012:961183:652865
+177346919974644759162:572496:441930
+540826861709913157990:9942201:7226542
+153215112020494894677:5320306:3729585
+649077125883658131585:7818551:5068209
+925331317138410917543:9446640:2792423
+247046487791532200828:5293240:4009268
+198602950561884939178:99117849:29058754
+483035848586531743455:21069993:13946577
+275722256933493444549:47048171:13249821
+631196518421676322680:58628797:15645342
+496351784932241971070:45198185:30108630
+252785593125019501974:495391849:163985848
+375866981709692818389:356745144:290309469
+532384061257022187527:449823308:105591063
+906777697207996073153:228964530:136116233
+836484356645954933916:768955578:752187360
+145924153662527835644:9169570309:4708718704
+790623121027826335013:7232763743:2666901103
+854997996393095150381:1337985701:147373635
+271056167199247720017:9130160614:3928964859
+878972677252331889097:5795220237:4466240659
+964763394191387763802:35894976138:21068692810
+593630441954678992075:21509751611:8662415986
+490458651305066100494:79572690697:73011649540
+817513417426613883064:41222147344:40427558120
+988684907345156440093:21885638526:9272259535
+839072733825165366134:259238698439:30139986624
+731634285441334095949:759783425136:444855246349
+561353242131741987473:919995713996:120273925113
+504733010657869695460:550502682084:164614061524
+994702512045437516465:757833526705:171718755915
+115087261593426131785:7158900188171:1848268625146
+265699981023925922145:5588106756060:322198141785
+732886798706784592837:1593103939606:221556741081
+150223003645581364838:5073614596052:3069436009790
+967765218415416723560:1244145350859:296343058331
+565910367644675596291:36195463457406:15371359056439
+890459965122866682354:69863050902058:49839823042418
+807739844594499640199:66481093185007:13846305760773
+372659862678076642884:79087413759819:48129223274703
+511768666576033470794:32276077494813:20996293407932
+176794666264629786137:948549600503933:197524304737865
+694161985704366193952:137481517922813:66596271314075
+201902464533754130823:333099076474108:122013273626459
+683902822366933499940:484151327011146:340857528883260
+837376329476154776377:740093202811189:95435043415894
+983635588190151823669:5899809163048277:1705099253937398
+375539222819026370337:5437521444778250:2241756861312337
+556707767430934341718:1577447865522869:1176522065505714
+809200292330789836546:4644200207143870:4136638456215486
+714820951211874248636:4369208364096643:986012207067264
+501401221766544211340:36791702237389824:3903675395689868
+532666647656337520094:92093889042051475:87687326153840169
+418991283751542995761:85117874318363027:41106356560176867
+323729862564372348110:34885392083708898:28309419637483568
+172452847237426932304:18112164303815803:6930900796671941
+779032005183447996026:288409913299594361:36829361243626965
+289111777759609481346:941828777350998010:912171890204090286
+547740161419770542878:330881342832216335:131539032452508453
+202074665530442468885:669955556133065454:418043134389767231
+409466971510541762729:950944322269353109:560912934719925859
+728624835995420340487:7073281293534037495:76862761414478502
+325755796769841723479:1497209162153027835:861408582634683284
+436852563984738603023:7728064269657737133:4080964883905323575
+748553238700039740935:3673322031255023604:2868866355269949323
+139548701255649216327:3777529787086355292:3557628920540425815
+145007757869659821573:32940296423008225931:13246572177626917849
+491493560082045565470:83994397935741965639:71521570403335737275
+343831621249535688516:72049224982468203778:55634721319662873404
+361307513930310490358:94214634990579129464:78663608958573101966
+836652148321257936477:93855902060350082392:85804931838457277341
+422652383038513386562:759604323861335188264:422652383038513386562
+944699306258682518017:494716667057189840216:449982639201492677801
+993671203421593976707:433769918337845683125:126131366745902610457
+835372476770795585140:563346127487237482455:272026349283558102685
+159881100199986298138:768332339622456676619:159881100199986298138
+683997127341950843788:6621577029738268189305:683997127341950843788
+200600205367407866666:2564711695919253813020:200600205367407866666
+153907184837346357540:8670899399616770460947:153907184837346357540
+508527841731279651096:4905683003487401724489:508527841731279651096
+872175119169888375338:4415196989076377522580:872175119169888375338
+976654988185675796914:9:4
+456999468375689987123:4:3
+637424757346451756124:8:4
+245700590845195322960:6:2
+201076259827730265914:6:2
+265375946288841305480:19:0
+845440814459168910097:27:7
+385518558831993050039:70:9
+868283327082327299584:45:34
+211912955854356130415:97:85
+585941453346377622447:647:150
+782961349991355964186:628:170
+495731369536319335292:776:756
+535562575751693862449:487:475
+919446153113505845368:706:548
+236031824181929724246:5284:78
+503381376290982975544:8716:2344
+789450048621963867937:5177:215
+878388552099355689933:8424:2517
+774273014645194900543:5508:3991
+548483519592478264337:31265:1297
+815217682771468348504:90871:69223
+723403083944651452668:55925:33018
+653950834711166165757:42357:42129
+674508004112237429869:99893:30315
+763636390070412544912:660367:221047
+529676293044095736696:704797:175945
+322427123573586674111:152514:83069
+291341475512194052874:787940:353194
+676331607331509487919:998527:656545
+712950811646934675835:2963163:1192729
+202174906375843849833:7635761:6710606
+427298898785421950207:8686389:5938574
+241422319313333646949:1030778:362907
+248271184918001802377:2351690:831167
+673972192966406666120:83102032:35702936
+107484709304204527558:63602089:34077775
+224973664627638523784:69543165:5003429
+979845994857965649151:76857306:39653461
+610587544288567850908:40727974:12050732
+131118284921265003206:297512182:112082034
+158917867894682643094:807222209:452605281
+279152975237032115188:268721253:172368574
+619594052656954274324:508428186:73025972
+254026064359055525497:352018260:295563877
+615656858002840645297:1720444745:693679977
+609210323231923711643:4006339181:2412355628
+495373354026933449333:6189744743:4014511312
+782164950836014742081:3180312279:159828791
+974862740914675555018:6917141503:3424939680
+353154958268613455869:45853032950:4453406969
+913539071760105628786:95416494400:74670151986
+299257194159404056152:25696033234:2315527316
+933328357325176531381:10469323122:9789610357
+457625637179637880746:70214927070:50212029336
+516313226506454340303:246670031435:184892952743
+131908157521129296977:727328981781:311969452649
+150513498783025566729:594182947019:420803274239
+124609254720665749523:437894749498:256090825813
+796759616197679863986:452454052309:205938750890
+447120868755786856234:9770013958176:35319863050
+821305315570740680739:4166442763757:2178350628663
+695618874135569545632:8363405890037:7572766533451
+379669054506973593823:8778701758362:488979425815
+241316365096495756757:2791534139324:2276799068093
+363726370106085316050:15655887509031:8543384557659
+246603923143534413117:55061032857373:38027002235216
+553055250512625105093:95637587846846:7847363578835
+890273138216343143334:32173601455897:18391935183991
+294204661853019501391:94485949247022:76730546466133
+965907790132105528400:605142966400457:372310486481452
+622475300786870296120:437152768647999:358925925080050
+161956697494707838884:315322495012063:126961622016698
+671721626239836047489:625607673326480:411312461206689
+979551172397741396760:432120681860526:133204935475764
+672756458563747919094:7310209996606271:5142786069405235
+837994067364382968253:9417203382331641:4224387601893868
+500516114405329523303:7322388427943193:1575801700508981
+693855814668397746424:2186066479105514:500266786708338
+405358643639008584626:2992482346855408:2969898668727762
+744466281481817548313:69466969372352214:58237687691223089
+533713030639290511371:67448157059199444:63211986904510443
+751800620857776649025:31352403718148049:1332100304582054
+636494117688026395542:50828655909877336:17688384542394150
+456463109148382325982:47183124020894251:13567370251341808
+190321591426030075811:572927737636945842:109582530564056267
+239911813551226245571:641717918267116801:551030037591678798
+688115544263927799178:427864605055965041:109259333936013250
+774240621305751662588:295744953946184074:276076828587940930
+663806242705106442783:678489490776580760:243520725610459503
+758182315735137782269:1522077242346888936:187849046387092141
+465848954004586932968:7670003837857850206:5648723733115920608
+802539648231297522760:6242766804068369582:3465497310546216264
+239201386469568656017:6014429400522050197:4638639849208698334
+844364363985717898122:4046501119300193230:2692131171277706282
+937167444507309153840:67174864649718102141:63894204060973826007
+689623717616101515345:36215880899649921597:1521980522753005002
+687454138743613873730:60279784230579082369:24376512207243967671
+764520542645825430113:58748220197664068473:793680076192539964
+231406879533918024400:40271266749172653951:30050545788054754645
+573479818255856780841:571212037183455309250:2267781072401471591
+442568560548363201191:354300189581841004130:88268370966522197061
+347165596854489678245:528204855477441027756:347165596854489678245
+821910668000902908138:856423607944909338566:821910668000902908138
+570786439456054436101:194345519355006263763:182095400746041908575
+985819600839496253681:7721270913236868705197:985819600839496253681
+314820824452568722617:9792512134362334296643:314820824452568722617
+575882881928150935089:5773482552432094675285:575882881928150935089
+246105680927728690886:1206850483595056743101:246105680927728690886
+275484531189986598567:3955034923991551061732:275484531189986598567
+1253802869427741106107:6:3
+5831808772406100989744:3:2
+6528890343928351466060:7:0
+8888037842215560416306:5:1
+9018682853222952012223:2:1
+6128428068942033947008:33:4
+1174608758135749078588:70:68
+4110705915721545462839:54:35
+8463203291431564285381:34:23
+9392152913953550656488:81:63
+7493639459297417202561:439:435
+1626185920367101399294:204:22
+7600207936117875995751:818:765
+8885304688456900278324:903:414
+6456193521131673161403:480:123
+5183243086189066240161:1013:741
+4173028565728233066352:1234:402
+1403514713940403732241:2955:2291
+2652979773291137211304:4868:312
+3998766933873354132323:9401:8660
+1915949733456246876536:41221:27977
+3313810692657267314933:88651:7468
+2420000943098409725153:28434:9353
+7850378318079918025413:32604:23889
+4579389559388763091697:54662:12807
+4954536150400673805212:561318:267476
+8003866034503228184204:582498:149450
+7666474945549883312088:959289:544605
+1507402212925831581052:708993:306343
+3762192675044969718680:353062:90936
+5794881913346531399138:3741422:2465326
+6225497144336273403914:6995115:5700554
+5042607502048879688332:7627150:1255982
+4292997600232406097337:8576204:6137709
+5610729957040355167523:5053233:1537295
+2960472592536585263374:93002372:80280630
+1874302388290285929623:41235622:18722247
+1753095657198107000044:71438441:56968504
+8707782080362360156931:32093125:6238181
+1721561390825586000063:71331248:62783903
+4414852800768597197645:612249954:34051541
+4246084987814258125969:647283528:597987337
+8643115670231796117729:389027383:264384009
+5371558125567042071238:498370834:180070284
+4959009160304247660009:173085191:104825432
+2049834729208446307597:8339357200:8037408397
+2835943457415457008467:3517281528:37734491
+1643900231349782616512:7355416922:1836156862
+1974032862015084923245:7871177522:200398287
+1475248054087478410538:7669560987:5674873640
+9985439719680893526972:79851910233:32772302121
+9640634981037703950103:46862077006:17369788239
+7872690449665245128744:50917368216:8884665752
+3332824758255180087536:52130779538:7780607880
+9117868358529881330455:95964282672:70302463447
+3362042138493888256689:736479453314:730249809329
+8210825110553761250643:992672832014:4994748765
+7302525956736480617452:316994512920:142867695412
+4632846422003592014072:760658994913:171289709569
+7039563105898093322025:144931698045:15172191945
+8831271670068403271521:1398792261015:526507024591
+3815167776558937006410:8813190666743:4821338180794
+2984798041956226818089:8000644053839:4970846163009
+3141777659937433383647:2957378156682:1688617227491
+4817915685753673203689:6290297158423:1381596420970
+5311500330653441156868:63848885558992:35556281439780
+3217762490864280774200:81238997412409:25389122131254
+6829521008089349495210:58956256192964:50649683305454
+9303636690106278666279:94362056558734:4406074386677
+7804021764407172742437:69337512593614:60893040239743
+2239221187466573595234:377831510117143:97936754785733
+3938340066691121256538:580580552809704:335153581848034
+2812984063932373392486:130065189121913:96654523838377
+2032643701463330477581:703874100927643:296049088588039
+3179394116691813813988:788199670442418:1642073745832
+5038382251908022481435:6516278019922236:2603182169528471
+4090651229070568738760:7737660184423630:5632351881537550
+9027209890673162897598:1843939035615494:1664584558700764
+3507687630622796566986:1234022291394867:245711840832225
+8884168826693765940970:8486471545352833:4251782608480924
+1099940060082329462570:94291729029067072:27040958262067690
+5728982047262405745827:21705589692608134:8703795414857867
+4941919871428880406875:89185873949271732:41410025784465023
+5796146153666526310632:27184928941103220:20269204967671212
+2859700599307213127238:55393027661044224:35546305805063238
+9626504915944459341741:731021188506315464:417905693297311789
+8525624138159413927582:127390575796362058:9852987883195932
+3997456793713907979232:833845214636184146:2834748041183308
+1875689985074396905602:702551032849761597:581278398383203209
+2417872437976916935008:808795568125201139:382484850690730537
+8487034102263321916202:2126108159750619475:1736436698599591477
+7931144180853753681934:7177555505407277173:7122902884119682942
+8092425554549478139624:6648441576308302123:1272156182274455933
+9072111091085103175704:6456854377220547859:230691090233433809
+2292563702392520136397:3522249646254996844:3101432326772187797
+5410928296473793706159:94993915367067506914:91269035918013318975
+3573833935097300498655:85823938687154540893:55052448923964322042
+9728478175260643059483:34298873061002528602:21897098996927465117
+6298077621808621241501:85968102523026891548:22406137627658158497
+4611586981835661694283:98612534960857133943:75410373636233532905
+9008144304064114864682:859237225727971556973:415772046784399294952
+8035251096622655731283:792747294215746699286:107778154465188738423
+6662181410025128940571:902410665284426538265:345306753034143172716
+4873390876604457454353:506603995429912110853:313954917735248456676
+4648024304744129127613:210323922484663600916:20898010081529907461
+1090603108783239525938:6671971390588594337698:1090603108783239525938
+2968650935073739892102:2404962648499586732939:563688286574153159163
+2795118729204460950808:3148768058197233710117:2795118729204460950808
+3202360269547170383550:9171595396315063971487:3202360269547170383550
+4165504982158820071013:4227946645276652792872:4165504982158820071013
+3515753010060422856340:27322811919811134480777:3515753010060422856340
+4547900491945274074699:74794813483774021332854:4547900491945274074699
+6630616052600298139794:19801617787394532546000:6630616052600298139794
+3681545040447260302760:86042831722607551804625:3681545040447260302760
+8048727826295370155565:67838232318824405114253:8048727826295370155565
+1294460991905812667921:7:5
+2712314303550177034768:9:7
+2645901086070728522846:5:1
+9547900891444762090255:9:1
+9196630847417183739108:6:0
+3255981627327456782236:44:20
+9996507800923256789677:42:25
+3510105346306508343899:29:14
+6417347686652177078625:74:65
+3886197839757319356347:77:0
+8156903605525596448302:932:62
+1908470775679442735546:522:110
+4323647936580255184813:783:205
+9464815342510504754205:399:99
+6440695017874343776590:813:786
+3364348039039239161769:8618:7201
+2604123038600204868703:2567:489
+4000488324416556683873:7748:357
+2532919484090911186505:4086:569
+9583681966493940384409:2698:937
+6750491767329546745192:53862:51106
+2388441095279041955104:66214:23840
+1915962409958795110338:30100:15238
+9060330687088202052523:17978:16581
+8196756953325712465221:72813:23733
+4813072960716597295948:269604:230908
+6798714629122141496937:980840:534217
+9760001284043006445100:999958:645742
+9160204482453004847978:918550:886378
+1540214783301185374260:920152:301548
+8873131686609733965705:4074057:427125
+5030305961727364831370:5386902:875672
+4286373301181584256981:8573361:1464134
+4590429252756809389687:9516170:4205477
+7833794937276987575942:3862766:3280880
+4116026805775807599436:17266789:4757414
+1547858638007880427487:88979370:15385337
+1143172461497242658058:47518456:32194146
+7567212030333913921624:57256776:50569504
+6778175995219368738068:71790894:44814140
+5435915327225196674482:986700307:115882502
+5409473368245004426620:345474327:106628235
+1188975977051789620636:659404162:483615836
+6367882231600348597963:579670314:350590933
+2070624982175672066443:123631738:42203955
+5683358306860678996613:5686484108:1292968765
+3321996857970239845377:8960912501:6853959792
+7050603423197674286430:8382540228:1459878138
+5447975627998624497633:9862124450:5084170833
+2312967805907565539870:9070631331:488689994
+2251675044802690937204:66584059505:18251915689
+8627740987919660876627:80959573868:20352302351
+4573018925188597637559:47788150899:10534810848
+9521620523035229611891:74805340052:9773852671
+5212200938182533688776:47718976617:33742502709
+7217381151228233656292:249206552676:226735095848
+7328375592309965197722:391349673257:345581343137
+3737580547472788004995:663744737326:295365162549
+3008186038741610697264:971749527523:895735440611
+3786880380685778897148:858690349834:252379660886
+7764284306461543145091:3776006345166:2150294079861
+9507685052098024774514:2086993212919:1572602945893
+8175220861513811065802:4625558543105:1005531571507
+5694626876423998702530:6896176064524:555929254982
+9083476312035994764818:5178408415494:3151441682702
+6798835479013085071081:61656281284439:54654373056397
+2138724571237037717818:45553518390020:2238895043578
+5163136741029514323215:89893788045774:7433656323983
+1114667967592577606310:28021320202309:25295271248790
+7730962262302606766382:41374243394870:23851658987222
+8323856808882563379616:949784133856797:897888956595451
+9061370174562126101979:165737307128739:128504165683425
+1517932541402221896174:239907309108680:131687527930014
+4461304691823707421016:565771269927436:208501399958416
+8981539713728001325042:932263023475321:280425800920596
+7841793408437079665257:4418205004906344:872918898013849
+3082362361750473225583:2411047565212137:2000861190496399
+6139118048507242128851:2910072749023199:2386513160309660
+8721764088649686552759:6381309620867464:682065525383871
+7802262476266109476617:3090631170668923:1173486461390193
+3205634866612666871501:24834946338651247:14498058579862482
+6365358332981871859002:31537845502218006:11899578207272010
+5924648228404493889424:51072861888726578:43030726544661690
+4077798073228857134580:61825231366633213:53113211196937952
+6777417304874071561488:20938070404644156:15171735613994160
+1417852807692768838282:117711961663630453:12229454340031897
+1686763032624474530330:140340211121569384:14035154332104034
+1910449362910827343176:675944545141662817:230078340488222334
+5623814307193008928708:226315711185870923:95199935302363081
+5964403143882584358486:220400924501682743:133725942547650163
+8455851700646528084867:4985462432408941186:507415280963833411
+2390160828509781417749:6687730263759492120:2641124347642730909
+1107538995238364746966:7121201595732133394:3752747899884070896
+6692600248564579541244:1822271466489895861:1219423613681939652
+8433940755583260453849:6878910870640855369:396028177571771455
+3472572049592256614055:11777054181515702367:10118120226640118157
+8825838854659065040275:61052664838300665774:34255117943769168819
+5710120938561939282548:99524704993226886416:37212753948006756836
+6257313497301565421351:74942535772032012432:37083028222908389495
+7517834667073435602918:92322149940531110262:39740521890415671696
+4110685933305585019786:473554965835231170007:322246206623735659730
+9118383413418128612838:919035345894538383608:847065300367283160366
+5919304276527065761631:579845674719674847380:120847529330317287831
+1437757801312232577789:173202289174378616161:52139487917203648501
+2098695309057728376279:133839198300302580444:91107334553189669619
+5524439146037476176681:4688748644650653976141:835690501386822200540
+8880995971098974584664:1032754639590280245656:618958854376732619416
+7382207807165084758154:6298132908418711612658:1084074898746373145496
+4545211631761137971783:5197056051976404907728:4545211631761137971783
+4994765509218097593040:8353310033332529409108:4994765509218097593040
+6452880132567963799157:46294060902010153237923:6452880132567963799157
+8916109922883594809253:48949313020344217768938:8916109922883594809253
+1947120390228596835315:37735394524273906566613:1947120390228596835315
+1021939537777825388713:90207430590032855761669:1021939537777825388713
+7533113063163624903665:68772564504879680419603:7533113063163624903665
+3743258113446067192125:9:3
+9178626646798467852749:1:0
+3557641420721345977996:5:1
+5868267223358827476245:6:5
+6264859766812567728200:6:2
+6514789971324311234090:19:6
+8523925587547732330171:68:63
+8059223924382273251393:51:26
+4938098074639208307056:25:6
+3678053628939458710689:83:65
+1808302445029888666954:135:124
+5090061404753797716720:427:161
+5490381525032570496357:677:340
+2234741106247096683230:683:259
+1991384799612236918178:673:75
+1150705493875201588757:1918:1847
+7694100339586499143727:5028:2351
+8832159068341855465819:9793:5017
+1496873883507215214130:4968:4858
+3550161677144897749300:8855:3985
+2794622063152938156184:55194:52450
+2997007655815778888027:22447:20358
+2569597186311521835159:29389:22419
+5952064196640540893346:42583:20004
+5098544176117121729331:44115:39336
+1093865126407847849854:914831:149877
+7911111679588187260095:319914:144525
+4235677738955417833910:106918:88850
+6226935881733043843069:841825:182069
+6592832815668455122983:653045:14923
+4563963194858201190560:3844147:641367
+2829604538574107516221:1092011:99120
+2212015760166077230584:7039436:302292
+4813190330785986972251:9677558:7869257
+8992798280329732028213:6680562:2913551
+3305855358596735003970:78892190:63342020
+3261939232729007752752:96870934:2304330
+6782620338394626377973:24023221:6610195
+1162948681576242336945:31065325:19170095
+7617036686457840983276:83678499:41043713
+5995321467053612022420:294631967:241896403
+2215146605502143296109:507497566:311361829
+3049028634758762842190:230541054:185127650
+9188698938979043404191:900830213:731628051
+6065173704664366848554:308742412:302922882
+3909613013830953794135:2057832360:1292691935
+4190437010008988497789:1180675131:1108875172
+4237688046511758046144:5490680049:2210917972
+4951085156027788642150:5023958948:2844125694
+7833825239106764563444:9121352117:3645386608
+4428960869984226827981:60246127193:4772385886
+6113131400196529927302:27614841624:25959003510
+3509533711775870246969:44843506699:5623265519
+9630035314936648862673:89902450608:23617585137
+5959045262573136695956:53679547326:50782458640
+8911421334929505557109:844382610360:587175889269
+1314779507521681064228:139477818480:53594484308
+5067842487946066034987:512944005136:171293431003
+5170657604623267194048:403596649236:93808642956
+9803817814071350445965:100520931495:65401895285
+1343235127748675928279:1369701792111:1184529254619
+2421218905667429591870:3730473224497:2603506358888
+9642598366095027360020:4403650440021:555338097692
+5799044296595854201411:1941719852314:1776983664739
+5947225678500473107998:9359436120418:1004184510896
+9067265184867826210719:37129586891727:35976172436517
+4286798410452537464650:21012341019974:12440109512140
+9605335064555364865226:23045430162682:3203808892046
+9049784388364392785277:55970547490206:35487293289297
+7033110234276272828156:12809249944807:2556314834278
+9943547009333903069753:730795104255283:231571792801762
+6194435906691481955332:738650618852740:280748957551592
+4703159424175601711617:293437351028817:141233014195579
+5181184637029964042725:147040478083372:36028652649953
+1781092709698274027613:459557939178409:89352385510628
+9642519907757193163085:6553603817603773:6002802233834995
+4748632186978186229071:6290532982705441:3196328589399786
+4473079055514264252359:1770183211509584:1328167484933175
+7989363252295009960498:3414041254625031:1438366752915910
+3903905740268557445721:6388852458740007:3834207934908378
+2523264583818461835853:59603282016243389:19242942814205927
+1000549918636543106933:29060528151154286:24994920452194239
+1115368847256343997257:72631886035301721:33605298250769581
+4946135957025708553564:55103090605115469:27441219938940655
+2883787193795697376235:26088220898610040:21343884242164675
+4092774144529442328473:300486876068891853:142892471135290613
+2486338598035444813842:924608344806369117:66758851118258229
+4550478397855380179442:434331335273698560:423329528114064882
+2189322061937804915597:551981428354498168:163717083865181309
+3730155136885947901397:246934622937111364:207657420880748177
+3230225420692521772648:4053569644690749453:3583983518685208060
+8714457021337507716722:7717597772831389275:1289135810869225247
+8667315684681591537733:8615303681737093793:320180854075181975
+5829783297881668952221:5552406611165037942:5308762769544151063
+3798377229878946561909:9453150576189344268:7663848827019510441
+5080586849161076428374:67788249412450043271:64256392639773226320
+2545381761479267091777:93697326721284130430:15553940004595570167
+4189286473718746442834:84946602975774100880:26902927905815499714
+7871685108475002155051:60205953585083841119:44911142414102809581
+5248554009688271844638:65416406912232709714:15241456709655067518
+7913228423640197948819:374285836641271321246:53225854173500202653
+9413759210954654773074:101382196164568483102:86597163814354327690
+6707013478675252185243:920156689640434411547:265916651192211304414
+7011195158567835638628:829758363533702626672:373128250298214625252
+2103504589845530053589:496164395447650965518:118847008054926191517
+3589438976461037874389:6628320976770807910636:3589438976461037874389
+6868075790686359031082:1703396083439897839415:54491456926767673422
+3362471030685625185235:8876457842973107817320:3362471030685625185235
+3727731964437723310547:2050596499450470243191:1677135464987253067356
+1067033829342038891467:6526100819298955039689:1067033829342038891467
+7424610717268317346208:91128878086468100348415:7424610717268317346208
+8933037487501233033112:12767496228635614052468:8933037487501233033112
+3434822207943474135502:76225838319876880020993:3434822207943474135502
+7097391930733997773277:43735710296753421199992:7097391930733997773277
+5536729801391742424523:54465826886371388572823:5536729801391742424523
+3688785369205640261005:8:5
+3930844083950960789191:7:5
+8494122564442850528737:3:1
+4377933939622968811309:3:1
+7058553780041538658885:4:1
+3442605546007084872483:61:4
+7801112175904306025678:38:24
+6067697908971152225345:23:9
+7015721568884339166506:31:5
+5993114743618275909053:58:7
+1017362076940489998657:261:255
+4387474969370164939034:724:130
+8330110171853388129915:338:67
+9028939389278423925735:118:43
+2039572703611714972082:190:182
+1405878130770730845229:1171:112
+2112957731408090095711:7279:6646
+5053770957096305549349:5238:1815
+7448449380868788040402:2378:1076
+1730835057873201586169:9999:3218
+9753122336950679031877:71795:61557
+7046267377229444863084:79730:62914
+6025615926430051745727:57528:591
+3495430869464993082780:29183:8087
+1987469043638058295303:70158:4465
+9012208714538126723266:253588:93386
+6548269541719883823053:622971:77363
+4514754766852619434990:935798:575512
+8010250212211253895752:625757:502805
+5512806237458789912391:300252:236571
+7985243162564594746409:1203799:443177
+2048798500995162197694:9135613:7647199
+4708801921072592721608:8898007:248067
+3793158966585034634934:8105467:5635468
+8013839601089599500342:8795955:7080717
+4168208414074086317980:39962047:28470684
+5449607765922430336137:57159021:5318247
+7676725876669693506598:64461901:58427633
+5954795925773691531491:21413676:14846531
+8542687087158241782981:33950504:3909485
+2542938131360623553194:882788727:48828973
+9551207076141258035706:190045504:37683514
+2387255350301914636921:770944848:715777321
+1879195489158888921691:546177717:208476505
+4760102749755593435360:536267340:524928380
+2755167698075166749507:2929009970:2739917077
+4071539829499570724183:2362229252:1458830527
+7120626146373279281297:6021904832:3104200273
+3381695243273153157424:7738773376:5362982704
+7008991267231693824702:5908481815:3778980132
+5416671408463481408224:64283517960:40382689984
+7938116524806507028600:50918734432:1011993784
+9441919217312385805114:85336328557:49517023372
+7229088365063558720587:64531410745:3573454042
+1033025044513963422364:57168657637:13649437335
+3686713204127693717668:472785411660:222991253428
+8771572633893428738110:983260045354:114976738628
+6382356865686726814285:973680387676:743799507453
+3270760240746689333122:812764976576:515555704962
+9260274462865098122532:827503818061:249442107962
+3616182194586076571942:4809101183064:3763277054318
+9637236275310853077666:2664316206992:2183603205394
+7850607486799396678180:3964808492664:3776231592988
+7061892039244227500546:2435831558890:641251109516
+9968269812708805927684:7649696475871:4480523658087
+4055883202409433968312:31851493638787:1479122113212
+8275514527284140709207:46304311236916:12376669202739
+7103979125851163126366:90473302638276:22232283099446
+7639369105314109999377:95764375384931:11350304860810
+7430646097890529261111:51513712720633:20036930514505
+1797363496101756433285:160726545708865:2888312025455
+3387741342108594383750:328357290254142:44449660121528
+6844265679264251159481:496855012629905:433805086921201
+7631303499415936087016:174808548454755:131254076427731
+2526990592211874088884:481049591245845:48578924373819
+5441041519842796441277:7414323849810996:2891039747971697
+8191343670722440267834:9094967797751375:6398516653130959
+6095617718647205583271:1085203122097525:310934866830046
+2732135804495648737050:3821375485549940:1365971378084710
+4694223912535226950197:6645178523422718:3351804184727817
+1491788832537991544283:88739251855042675:82008854724177533
+8126767479094941534066:85193745100830614:50940181608433992
+8670183743282349111276:62782271178386037:14875818415787613
+1404000016666215375005:58007992639070446:32570822793370467
+3872940570060346736767:13730792879115031:5668991402862845
+5170006100978050482310:400269405247931112:126462795772239718
+6189205497360998285044:781138151360540836:247924131433241416
+4578178064991532975118:247786975171775032:65911717817483886
+3257723162015023776799:874684460796731867:398230007994304091
+6410536591032305420567:634979863778960557:414866183698597652
+7172353997517197950010:7320392747436171785:5689497777185772495
+6618977992987511515868:4882938720668330703:2596026481923413303
+8946216214204887361720:5316640722693534250:3626518634362753220
+9444057097147086937319:5718083118584295102:3501868364415723917
+5500325409452256983206:9791402043177664764:7348863229587050602
+9955350137342587761418:41934843746022825171:16792169535178195891
+3555667899469583342038:59958030174320225882:18144119184690015000
+4654378406847357587585:36446291927104529516:25699332105082339053
+7928219846601877299928:70018656588822430372:16111652064942667892
+3729036210307310370713:70891582701619828304:42673909823079298905
+9626436747282724325193:693825122748709116778:606710151549505807079
+4614165527750398224148:996514117053313964951:628109059537142364344
+1075166484635242287967:398788991933423538084:277588500768395211799
+4219303840666311152812:250627460612274826659:209264470869913926268
+2522810171719135027622:180437885025945721926:177117666381840642584
+2678360250534601716320:9508901860317761808201:2678360250534601716320
+9097427217933570486907:9184295117668936069912:9097427217933570486907
+8892986560604005710110:7492817857858430072925:1400168702745575637185
+8929900923490342629922:7027583293546294181628:1902317629944048448294
+7160392774785090853748:4609845787316568744344:2550546987468522109404
+7375877642775848537264:15727405366699825116676:7375877642775848537264
+7199187308734127555933:50762386458532534328409:7199187308734127555933
+4911813885216746969655:52773213154290915033597:4911813885216746969655
+5855129771503246382969:49593646707955974394012:5855129771503246382969
+9129604952516403444434:86559322782331820721970:9129604952516403444434
+5906632512888918055913:7:3
+5430390775488798326284:1:0
+4159316868372511096265:3:2
+4498176845205780326689:2:1
+4989922378806744658414:5:4
+2140053108518217738745:31:23
+5702613653214955909146:41:6
+3300846302766825892217:43:16
+6704720680019898883592:33:14
+2005376844481138105429:52:49
+1527100634308989488748:710:118
+1032283423310688421680:824:488
+3458857117448025936161:857:85
+6477482128691257527007:141:112
+5411886158829398032710:967:726
+3035709646917034523843:1729:862
+4367427184544586951116:7781:3882
+7955563947649883652432:5694:2022
+1960273287382579723205:5101:2372
+4755691170282821896109:2135:24
+7848110274109082649350:38136:3710
+5402536510916480100150:68986:9304
+8436805889843534464875:10455:510
+9703677523008863078454:98323:86479
+3751448333653978478599:16339:7283
+1715094920915499841314:784071:211758
+5332837539167938092240:620135:437670
+7586689619176397189525:171297:98219
+5313535217698175952344:361239:269732
+7298179518026286628496:920907:101105
+9152289137621138754324:9867659:4803567
+2106300547719709030836:8265707:2203402
+9076479778371520799261:6901087:522024
+7681994947343225791767:6486445:1836067
+4234524771169006851337:4013885:98072
+8125498498585247688478:82455149:66145453
+6413963722840458341035:13983550:1357135
+9614534440966447247826:15786463:12957284
+4722958127707271169546:88788416:59447754
+3308999671641196942033:21953373:11553595
+7224068108304903669824:793368649:103629815
+9314970315391989877593:116020707:65141040
+4260971230118301668882:870096893:789176832
+8884071720637024158111:158380985:114578881
+8781985841184189652406:860225324:484893006
+4709530796514934246891:1161648752:177269643
+3543593703174579441441:4208628150:408186291
+5129471176534491035285:8369893875:2091739910
+4495952431493317710912:2743745826:774207360
+5566862692264137172383:3566266785:699149613
+6935960201525346444522:94935162509:60005569759
+1281052185982007019491:59816177395:18879621606
+5935425360528234581468:20611790632:9475170132
+8599284704511758561192:45193809236:11429834316
+2377167811503963482672:64262454677:27788483680
+1803369246789042911115:813524118361:557937002869
+7043060798985925473015:617835457902:464627485539
+2057110889729159170985:323636541468:188950957625
+3950390969389330133217:764755523078:570688006459
+4908152541578807074344:711476790657:707888423262
+1060426254162349688029:7922875040042:1764108576115
+9037474076245743562962:1304402796114:248876155572
+9336968860128178759387:4783053700346:3629621649221
+3922938593715500039386:9496362707737:263026242533
+7428489818790675775987:3921065833078:1947709268353
+5640232992765482699815:14611023330883:14482098087488
+5069217975281277137414:60487976416823:5262434396028
+1957214060997030424469:97300384064798:2567175444415
+1515441135956337407854:94248296891953:56391074160181
+5763789540693579924144:75042225506466:14226402025800
+9362810009282289256608:165909630783576:126533265185592
+4686222900518183521553:236259775126468:101714360303429
+5603897767824748458855:925011050916724:444216305705675
+6067921324979705164018:203940198534945:87923322412888
+7938161743717633558482:275847663813440:9800237922322
+6006697254272723191459:1961637393274933:740161236526020
+4843552879449633483350:3380213642100012:808907178988394
+5683066576118036087966:1840992791184680:992420949869206
+5986378992316528167339:5796509052231159:5286079537554294
+7405415752278541755087:9479042043413891:8946281873550247
+7242977494816250218137:35550818879005981:31410501966679102
+5650159197073256648384:94895339921583501:90658142174998844
+3293576633672413724451:65206641157044200:54395471268226651
+7964684257853645548450:15752630883249512:12309604743035642
+6002579211935829792838:92830512317147507:65454996754842711
+1154936227907787699752:817081881224126313:399529738097219483
+9215370736277572947496:985598607442282123:23756692235097446
+4397979074170581254032:324724758433532920:231670705244918472
+5329068001611254814925:903284036384412359:595470979606309184
+8115388880330715941233:732014030723713455:281335727628579103
+6235075879926564969911:1061439898410026447:177916666069620233
+2624221997973117036432:2898690083112222889:907472756555321887
+1906210047498214046980:8040750153986148847:552261003496770241
+8246892817008497055184:5170519517240946119:5084706526428941498
+7060015498180825882942:2802610567833849446:239477807359128468
+2952774602415062215733:14816518394617976163:4287441886084959296
+7471042390946204941555:14903025659771151349:4626535400858115706
+1159118542350917292055:15363395128680677697:6863907699866464780
+6162273684480427432190:43840148164208078189:24652941491296485730
+3849760367610230483076:82185839012053209037:69211773055782867374
+6747428179976814599743:122249753595184869119:23691732241646798198
+4279676956604193388558:676703442237577411053:219456303178728922240
+3100870003053952130100:480788680696395803423:216137918875577309562
+4978733381507291548860:930789497571747623281:324785893648553432455
+2921978718619107083108:343229691682638385378:176141185158000000084
+1532430179314045772547:7013502746544277723872:1532430179314045772547
+1319113086093767558968:5038295255530551072643:1319113086093767558968
+4116803121305283887336:1490449048067972647130:1135905025169338593076
+8776466540110336537605:5257504668603549999698:3518961871506786537907
+1343828356529382633869:7860060986473512370161:1343828356529382633869
+5189769784939363829049:97396872456865932503689:5189769784939363829049
+7425454089939974482325:19332910876344114865111:7425454089939974482325
+1354469480753973462533:70839691260612404072325:1354469480753973462533
+2193842643800596452333:67257359447004782838031:2193842643800596452333
+2546430392678769505712:93018044672316560708067:2546430392678769505712
+50375893766511741653042:5:2
+35537516914512501752556:8:4
+34855190240518353584019:2:1
+60737967546827860805178:1:0
+76141208169508326274825:2:1
+82937250492789467010297:59:26
+69723184138849065787548:95:53
+75282781427587666076830:35:0
+27782766719087232630481:86:29
+79894142352292661986930:26:12
+24713285022109194581374:530:134
+62773038087148382162820:889:707
+33287361602449094750618:872:338
+50420144050640038777275:367:4
+93945359042533524213474:342:150
+13433198732435034899473:1141:428
+45788536482992637022553:3289:2009
+91176356590504399059550:7794:6010
+92690766713209473844138:1165:223
+33990598270763641805745:6246:21
+24675381941015545017928:50858:15366
+49096557856767224023456:51254:42782
+50930699661391690760354:45835:3399
+62883259408732644813807:15101:5396
+71613374822447026577628:36585:34473
+79741383534870587185045:636071:361542
+29669839525337214640320:411199:379497
+39304932114853697186188:439144:365084
+61321538540746370594456:499362:400430
+86918895394339265897487:649375:472487
+58073338340757351048462:7621869:4603530
+94810543402525307642652:5576953:2979879
+18317830585492679072755:4955807:1041123
+65934103539807692052292:6993670:4329812
+23659831240200400890851:4517047:152884
+81384460484666530983007:45616276:19626243
+12120370499190066794252:26989755:12580217
+92563964565354654674633:96483085:68145808
+61316629921017656872012:42761497:32803344
+57517290029470749928048:33823709:29337440
+15514523404588573502233:829160768:572549401
+32484485101425748218431:902496737:890137923
+84129761952169021080801:578280598:378255063
+85350349579271001285005:907549568:722323597
+24002460591738367050569:411200821:179979857
+50685291181421592997104:6298657572:2879720268
+18664817070098560937063:8507500392:5274454631
+86224901614308130651876:9215130107:1951747645
+87284622787261633281401:9741369201:3495060971
+82416606547495200706973:3224204172:918786017
+39678838799608624894345:11972302699:10366809583
+74953380348367030592328:83407152355:30383892833
+47477934863217640571271:28263026568:26299872255
+56196552427445702690794:41352439361:15899368842
+88893489395182252481207:12803207124:3272879399
+99366770942397095931960:318531524270:65921311960
+24485707843502964361501:140956171017:98267491522
+96665593692643764436485:238754167288:139818052029
+23652418678262436688439:241766834162:124265589975
+74986454942464435426522:438121448440:180776158002
+20321724329275856932098:8933643823984:6850337985298
+80657659248476281373406:9860898342589:9651420043423
+21441198309535984493880:4815400074513:3853711580007
+44171724360669614152289:3313870377306:2801819249495
+39919454706845774634042:7533397738409:1786706249029
+17017626942463839667892:94288978089137:7603230981197
+22905085275795835204425:45825736151058:14166050139855
+57520705586415155138605:67474099271293:27568260872989
+13598549056581013056280:42130091522795:2251820189920
+25147355749455404275636:41178748851629:36125207050933
+81657449770048291895393:644776394868682:507685612609511
+81863624357205958924559:169069865755158:92514696468983
+40221441916191080049091:164383312349162:64498431417033
+81579499565511356254287:971233291453502:716673830579225
+63748835354446352302652:419859391632375:213277618734152
+51985323033492583198573:7680884754229566:4331231779912201
+88305501417189462880309:2286734702351878:582798461299183
+73864249633109961972313:9278113518462035:314103338196833
+91951121700005152582362:7950985412462317:2906158634368197
+54862500336931230871942:5996454679199180:1030007977979862
+97331782759945922778715:68086935846377839:10054960181615757
+82669544739547714626885:83945075804857428:14361545095245345
+31171069018013010062116:92941164391072254:89539877633226580
+60829408061870181653533:97595012420722989:95935244694900646
+43513327469593915528052:16523535647671772:841980356066672
+29873478558717179245403:189748043068922682:115902075198959369
+67683502679724358971414:911277640972538485:178451771008075009
+66367823786667686670893:220481702674239814:185501289411779125
+43498020093715571253909:384424628294178242:373402229303171609
+34103129066466164772879:802959420817603270:639504921736292709
+53795560112841764891997:9864830956759502320:2636905632198741037
+43536656459933612017977:6396037064292475713:5228200359022315299
+68645230641478802405040:6313700771430497707:2675854486431334536
+67042033496995216197158:5884036829977756472:5201893058636711662
+24133312732704480052040:6554725355380186624:5368699550013089096
+29884244958094956943153:43646843749336895338:29803833548520531961
+19201612168703233009467:51542875793948195230:27662373354504383907
+34413203674574722312713:69231594311338482100:5101301839496709013
+95908127541877200356538:42337377527492277041:13967442107192858673
+39152964270182381355815:20486636668515059005:3001596650103597260
+71834457444896223361388:187754861804739976867:112100235485552198194
+15910683801139826293499:472036482996485620439:333479862255800819012
+47185230792812565588561:627968995998857688186:87556092898238974611
+45132077184070330229949:146247472437117504239:87855673438138924337
+32303881152634109834803:963047451935491760807:523315238762881728172
+39772385824337439934021:5387610608817885740982:2059111562612239747147
+18279693609416680059232:9180063575536676059541:9099630033880003999691
+64522886264043743918142:3219869198310572800384:125502297832287910462
+26279498640792912151481:4593255203524691566097:3313222623169454320996
+66360293159031900486756:9578513069517747255774:8889214741925416952112
+83074672528770979111107:45582751630058356787915:37491920898712622323192
+81821534899662034316492:78256082881679496606019:3565452017982537710473
+76318510379465147457567:45567280359151769111157:30751230020313378346410
+60761470067645549755800:93354532128179967041185:60761470067645549755800
+22454759005009707155215:37203744205762719770438:22454759005009707155215
+62739331512311474320888:235636608991620588119696:62739331512311474320888
+77006264553475003357137:360385954235609914497293:77006264553475003357137
+47139164488600125616323:666784299150177251666456:47139164488600125616323
+46158894353785164965877:589977760758205236447874:46158894353785164965877
+79982698719254854095287:986654244226334300077612:79982698719254854095287
+25435055687532239643632:9:8
+28929473547095112858024:5:4
+92555357203559415231849:8:1
+47028705904488783067198:8:6
+12258155082857433563143:3:1
+45430692213292621049051:30:11
+49252536401952053646335:50:35
+15675754537537831684068:78:30
+57072985186275494303564:89:56
+81442561036475598549160:58:4
+97071428087394560483327:276:263
+65038636830774874151779:845:479
+20430324274977072478999:277:273
+18562631936909794187831:246:215
+95558747003144287349534:680:94
+43941592279489677495522:2963:2911
+53600736264325727368731:6355:3976
+81624695165780610718225:8615:2905
+45330552067946360165284:1090:884
+58161587841888987479284:2613:2380
+92598644093835400415027:76913:60587
+83883858419894909006272:61253:40628
+35000170210164316263406:32599:23687
+34430742067491590086664:12327:9890
+41819998857494105710131:97930:20291
+42468415462297449859463:753113:2484
+49955818259238254210659:689709:551614
+30947206188593349074349:838209:149301
+57711409320018040119000:402284:161684
+76114896932082960433665:782730:367875
+43983654272400588687939:2133867:857319
+16109777616023003880989:2409036:1368437
+10304220888213432423174:8841110:1773994
+93914894145844574576829:3853731:1370760
+40162907523357105120300:9773373:7758786
+79648010106908749247247:85101723:75109092
+11392485384636455565807:26917437:15149448
+61869574065593696006874:65077408:39125146
+61699633671005732419609:57161615:33952069
+40634624035268789860923:13147212:11229495
+11419220064575843254351:865884039:534650548
+98007906833993108263559:125150442:2317391
+14360220923230918321413:630570703:471381080
+36218202630605241736334:973336895:263690834
+12213714001065851893579:895383132:216059251
+40610240276646441340624:2570044616:2397176752
+72195585739522913588722:9411739241:874763001
+10928575621985028205555:4153196525:3340664555
+37671928945150687627778:1381649118:470543582
+40886310329242844268847:5449755560:1244832127
+66199214893094286880630:66160867860:32805447250
+73782143203286139475871:35165982568:23057384119
+54476574472493279809732:66718978749:27303934627
+57993165273389179797832:29461377129:4463576977
+96011388493734548864052:57669388988:56832285196
+17006749882373444604981:556398108766:204380456137
+78537048549135306596934:626474428322:337553178524
+93881638821431202876534:734407908916:343931076438
+38618608613628524227514:244333221683:26820715314
+99414322879064346414343:837687840008:610128242831
+87518984930631718375387:7454499094325:2761314169812
+90661975462153694427238:1524417685465:1238480359248
+42879856278792884141812:6440404977365:3217783686867
+69145360611875505024650:2154128984505:388102432715
+10863026321424531847763:6484289993037:4404453309239
+63039806419624126482715:38111064366133:24409594777827
+98059535768619678363347:21003044111850:2352086949497
+58990496157111762745105:92046596282710:20725592717475
+48611717518482018182445:29855910361741:2452883113444
+86720147856876816720282:76252372487915:43499391688662
+79138746399534459951966:195441460282367:68788361563626
+95886220119709259468367:536646948412560:175794546125967
+47056795855822120215928:989991675821340:684977463524488
+19457318034033230259960:841107040093608:651046357706472
+24525439712643698764161:324408055036141:324383132949394
+85433641899053548677470:4175462202387662:2480539478239586
+97659902963767405695580:7028890885951926:971989329216760
+24953759509997700624736:1330664745301595:479739194225796
+66646261795776895489351:1656940656228770:1046368974968521
+24092061545863475587726:6982802725073690:2566616955423416
+23591891602814355389832:39951963470292964:17461825538390048
+80240992832616263635595:58861027129498085:51401951977715300
+51453571684815151357129:60087806951782032:22065162486663337
+36937447120516491744613:87615658909253858:87174917613273541
+98955773538214876803738:21870369541211453:5993572475987288
+15879326196475528864105:607122443579398974:38684656348699135
+80555568506607378817484:701912156749248590:619837279864386134
+24414774401268879207493:880837498127539565:601465667865084388
+22972389802302438477030:851472881228896627:502939628036377197
+10698631085918177100636:141374647939567532:104603091404116536
+43921963235689823963195:1725773429329970281:1029459242080311745
+97982991526100005263795:6504398061321811265:739130348240367835
+81103905344276960755177:6688036372233619303:4776294572093086999
+61313896118100915676549:6082213341203689490:5185638767725617349
+15431899864857548548799:8776360999586217455:3057227584978262909
+33900117740638562873775:90407878745784168569:87571089715283828969
+17371978736130753592712:46912569230106116203:14328120991490597602
+41695787712461250638308:60509784187969997833:4546406949922131371
+40239473092474471833767:88536342416202401201:43973635518581688513
+82668299904639601542582:57532659349002757652:51401079471641554310
+34985719286247867445730:656712644039016011116:179949152180018856582
+98720705834048105341032:505475879126828488669:152909404316550050577
+66511842347720028359479:194309197268322496648:58096881953734505863
+47475261598157576412860:165907339270375742643:25762566830114016962
+47489315974650851142065:726350068644216796119:276561512776759394330
+38657298131240886125053:3353613635112187148020:1767548145006827496833
+64311689756207334323040:6268322685824971763796:1628462897957616685080
+60466653661162701951862:6848432653755522486394:5679192431118522060710
+51284256057316803989771:7202242523894036754453:868558390058546708600
+11785083492796249527321:1048887633068079231379:247319529047377982152
+62033119705514430617461:63124920951389165577284:62033119705514430617461
+23406019169104782294515:58145556359883965916713:23406019169104782294515
+90653520144211061099101:76803696952655785039573:13849823191555276059528
+58485528956043931800993:46813161149062546327371:11672367806981385473622
+77073601703557091441318:89360664954531951946568:77073601703557091441318
+68619049663592018389540:953153960675920275126796:68619049663592018389540
+81276829806142537250062:945987817937282641982627:81276829806142537250062
+17428368323339323531330:272644238438903572082000:17428368323339323531330
+73063161209658985247770:258968571237238842316804:73063161209658985247770
+14368356028076263336437:197468660415844471526501:14368356028076263336437
+77419136617698663485157:2:1
+56296008074360872192984:2:0
+50773845088690554505741:6:1
+82161715891626480177827:7:3
+35998785426124691874875:3:2
+43155552152769177226913:47:42
+98211559417945493770690:96:34
+24431848611098230705241:18:11
+92612324268396812591183:91:17
+83576757501641323681924:69:67
+86378850859767468128377:487:271
+40728816411665016234429:875:179
+42186584778667799018969:158:69
+73291721169624440570995:794:351
+52557445954689555355158:242:166
+80424286392663190573546:1852:1738
+86991449824424331115940:9437:8995
+75221500647912718527004:9970:9284
+12070656624381130865416:4198:3196
+46919704635633106778045:3045:2120
+16912083008503947125349:81644:29869
+52829027003373596723571:30539:29661
+71597819547007549160269:25082:1561
+69077248180669155060796:87431:4807
+94649936881721940962751:36049:10050
+64355251757658049807161:654416:219209
+36356834685306417569777:787402:175203
+42377662242748954937344:906744:536512
+41885127052630075033680:490779:13593
+43219098515916699376444:767767:66510
+77022986399134799747708:2062216:170908
+95237814652297288199025:4717026:4480737
+41049477877685692285472:9655094:8496534
+39496370124075727204892:8750792:2613468
+68046452393202639922368:7476371:6401883
+67580215037563662349576:27341100:22385176
+98568913425870148069036:96150653:41561591
+81891634409072051746784:54400606:5957462
+76813434521768655155963:39487310:19429503
+93375693922776970798999:46264468:6010427
+58790070624826827290138:106138440:75010298
+59985661717780431125448:263808961:194898152
+58330665327177821790637:131595307:8221301
+67095356596340347416132:755801282:391039594
+20332056648408587709425:439153814:201783721
+10664390620680089366209:9376060467:6408302230
+22821429502121826382192:2717599580:2477810632
+94882293648878507031059:2676547920:455480579
+82252955213392176758870:6430273234:2880011382
+33626520045188417539887:3020019511:1407290769
+78772866755348474794500:89305649077:59365363838
+62362034183822148417750:29380352748:12691899654
+91859022068662314139722:61060129831:14659995702
+83371611387207998057941:83978131430:69034625041
+24949608901519588490304:82937455643:29234575624
+18975537680635511324611:735805355715:14911411246
+19018874214010523565782:503841014464:397659125846
+91571185193321371031623:533983830050:532755283123
+99926739616903431419385:179845887582:84048604209
+68352560120836676998333:391219671591:13240076968
+77509244014353324531667:4375821268856:2446102022019
+87319691502225565573247:3912780233026:1612809229907
+84418055285914406107951:7093250534927:4643849642882
+51939798425297094426825:2006892640726:1048720745017
+93840547442262298181050:5363830020703:4652716139002
+43309134292241176544220:95727496856353:33528240538982
+40331969010877924995131:32253335054043:17507913347006
+45364148722282134471176:39630508061673:10194382405691
+43915870041188088701860:88805210535568:4790009955668
+49826258214968017754045:17252079121203:4829834521343
+90952596953619280407729:535153852413199:51112531840908
+40445976464298789136014:663055575882297:82158022689342
+50461397627606831787914:451659099596172:166615022461958
+65529826052395346688211:816610579911058:363246476559599
+36509885124573923856055:662231397463360:3174778656375
+19116910199908779301007:6676509720813625:6504225360329507
+27690463353861487395298:7905812324948332:7829987656838690
+25267535740480759929530:3369754746406185:2632860870758480
+86941964668052925712150:7682445954534066:368645264016526
+28224152501069865445335:7292768862405081:6624388529187780
+63504439848950690708486:68331940810159341:13993147486831454
+68632203879564262859618:47065824748723670:18111954678963228
+51175975653250741033105:91237498667329460:41513257640953965
+15793554988760860238796:84364866383139970:30177505142154946
+83010920280745254102351:60839428532961239:22165231082618537
+91911174580276287655738:329008902049774955:234730357305551803
+11090885523807220769418:867268062716029753:261537794632288054
+90097855247041644675138:725359593464865527:214783177232700941
+24246107257206465119828:636436085871685048:438129838751531220
+87502059245671075883543:542620775719260097:118194734631161517
+17411187261137860260206:7431700031829177343:6145786593926922900
+79045691525388639693180:9603698615644008988:7251918638445721940
+72701145361931544574285:4432414889355608304:676346720857172077
+35313949926506563997439:8124704258582494399:3985218707043339385
+70888291188665379336169:7426057471696528263:6572621322017065834
+17586564640191039297894:21348184882726670020:17008481706989871434
+13449629722666967384006:40654748816930606333:33562613079867294116
+37996864307599932675761:11637834041745886896:10973995341357847217
+51322167013060032310345:28752016342092382020:28569858767222786665
+48587728536186383338713:40468863823320860505:25091948201350732713
+25487054647829647436970:433659219932261555557:334819891758477214664
+49760108049102869245087:113275476770709917694:32173746761215377421
+88655118285319017546895:620682546551470458245:518196675010212476105
+81992686963592360974198:439232654371182400773:295413250552434430420
+38745442481400487716826:156252731563294243854:151017785266809484888
+66459245435267635104429:1624900652451608236371:1463219337203305649589
+45733424643424940399064:3480187076868830970812:490992644130137778508
+50069416158873744166406:5205817588338157837055:3217057863830323632911
+89512133553467475056344:8757512071066303904774:1937012842804436008604
+14004756577023436919091:9676659644886865325689:4328096932136571593402
+52032889224737453183615:42349567823404225463083:9683321401333227720532
+73146867650800887083045:52525906177873404824093:20620961472927482258952
+28836628684334855191256:48142945540483572053778:28836628684334855191256
+63639792543744696628863:68090284705093665954457:63639792543744696628863
+46204386472569014442509:31097056670075441596703:15107329802493572845806
+92360271952207795385271:134552299785891067552817:92360271952207795385271
+58699360141691656124171:283645007113217201896419:58699360141691656124171
+13952412804674333819209:666692448279833915019335:13952412804674333819209
+50099189387353338446053:193178141021320485997434:50099189387353338446053
+35937858027076116548239:916922781116687502644535:35937858027076116548239
+83144004898510832871839:5:4
+34445627640229601213858:3:2
+48764669494706085813537:3:0
+26588002882771755336980:4:0
+46598761187557268477775:3:0
+66965369743858195526199:59:0
+35914279838622172355388:96:60
+45892163651937135473021:84:53
+93997637921446904469225:85:20
+56338126633060565074033:57:16
+35591657038443820944015:889:323
+58719168956933927116831:602:205
+94089379013166581626604:922:546
+16514411329090449886674:194:172
+29844602594379661627218:687:165
+15086707658559216198205:6675:6655
+14885659172478087521449:8961:4276
+68709417705033778362680:3314:662
+59082046681548031188490:9406:8194
+42215109530576630900536:7470:6616
+71082738476304947865130:32893:15120
+47039392201554742187833:19349:12141
+69095749512849050753556:46493:9437
+64816810841947379570062:67839:13165
+72396850553162363584626:40290:38766
+84722229710555369541343:327001:278144
+65729782900864124408387:281407:255444
+94086188237000001592673:446912:392097
+94806562421632849302183:357617:244276
+14090885422292330178443:889663:722793
+25401307739172205703338:6460299:2333098
+13496748164157353821629:4661943:917820
+98875894518742064223070:2694114:1307908
+57607685825189269524719:8364328:511839
+14729417619826658233235:1054009:489129
+86383639235597693363343:75493821:29826090
+37004709281193706686622:31848198:26758396
+97424443417060167309984:51915536:30387504
+60239514107930116053308:57064935:23566268
+73247087867347895040856:64657678:48861056
+58187842770060714967740:322057984:38721468
+73488195928523045754248:631578621:547001633
+70688661647863825723157:378260117:141486801
+15581174638696254577414:787560908:58129234
+22838263040515827245306:905256710:22567896
+50592293612865859766869:1211850429:625769899
+16273526124227826589175:1276927743:455768
+37151076001102969012158:4237345205:3328927383
+77065420094881633872016:1899479085:575693671
+44958655328396865391283:7902407231:6032796329
+44772248297272018149694:84864518274:29277044782
+90810021994629953452070:89534707884:12984687662
+58187442993133413887017:46573048528:4471678393
+46417051048546049905049:23834322739:23657304012
+60072946998901143188432:85070999203:16553848402
+66586742378893000637361:632921546488:333416322073
+62994597499008908834021:749429438886:749338735085
+58056260290117644636320:644523865961:486448436207
+41458448336135774445464:434326725926:151559503380
+28662449026542080157235:884674321397:793116470590
+10131885223062109013139:6927053057675:420806590764
+90303853765641876717139:7454059039641:5760455069962
+71271549952763764798909:9527597123309:5059385384159
+71005971531627654196974:5520692531341:1656422265836
+86760556854818806361454:8498983367041:4600522673441
+74841458904841071583263:75597859961057:59833963930836
+43490943625876430977161:58766252582982:2501347809843
+28740957459879037267954:37522810973052:25993272676546
+73936390320410578885789:82396905505797:60711680915353
+79324848824609784748199:79047113379212:13514048080083
+36936946050854801971246:943540059271079:303798373768920
+69860936211734307166942:478152044098962:103582426111198
+79816028773104832877062:921674443665206:769957165725834
+55537106675656718653245:367033418867323:221310485167944
+80302115361935089530012:772474774505337:741886661153388
+15822105723462701005040:2415174049181455:1045692890799620
+36189301249106670540787:6252203918335811:675411167527470
+18761915067158183516596:7334728058244266:3422203913836300
+95704735870158248411203:7489080527687272:894757537639739
+68909311737966683230975:2682561028767297:573193752436021
+60198016652880736173920:23900333492770480:7681304800493120
+67857683320769049567577:30779972795441127:1396075563777742
+46395200515619621818370:24175299756660871:20123115394369205
+56473922503155884453586:15445510042989740:9876651122419906
+82812977245154749128254:34727349644824766:20913777277813928
+19059276532168695352590:460916485838168747:379842760417664140
+75583826663364513575048:852760748343779951:230494661921398114
+18708450458905206557612:231915056994841058:94726188373249810
+96656570450809608598355:749346444441854506:620621588121432933
+88716805210204308472248:948008084330385706:312662398153333356
+12783753207362430745040:3298622418315682346:1591336389161654290
+32253859930233755312299:7705410867774707526:6715448596604315989
+51004202700643199733410:8102097845773960935:1496761496115647585
+16997443598477354647857:3740881218782894649:2620221546664257450
+99398341035501182466365:4857360428465340151:2174587814926956452
+64659900401426224232666:61668617548986582922:31189210088285330410
+46497725835177805735035:35852103623845603386:33399538673903746779
+86536630304510639689627:37176659513455603947:26543616699449304958
+18323691273138461495825:69356861525944757996:13479830289045384881
+22654489066340295032765:40823406141192945449:38322064119403254019
+90921352414787317364961:134195003652190181287:71334942254564633662
+88204871765412519194019:302809624511854406493:87271032462886904556
+16580486047611270383976:503015594658510798823:483987018538924821640
+35017688143755744659839:323432359663512644635:86993300096379039259
+89385878381016674177666:789273072014455036653:198021243383255035877
+84618219839653330420592:8913118990747953898931:4400148922921745330213
+93389651188419568614810:5537357671481894720521:4791928444709253086474
+44407908558095123528766:1088900283732966906017:851897208776447288086
+13819719214382031697931:8860763359152410583960:4958955855229621113971
+60341878323591271587139:4534374385180489351067:1395011316244910023268
+44608914103167410326210:57489512873315998051736:44608914103167410326210
+52295871543320731037896:90402128080586267249404:52295871543320731037896
+66410163925326458040266:78306104861882386003020:66410163925326458040266
+74863587171484947375233:53438808535417867696409:21424778636067079678824
+67261265738484738270396:94331048859908902105420:67261265738484738270396
+43988442783343675650417:622583888513907338873917:43988442783343675650417
+51507635498483428066118:804771721887237757792245:51507635498483428066118
+29332039265715525330089:926690509686540442638309:29332039265715525330089
+23760238014025970910017:335870847439097384655290:23760238014025970910017
+72622106500929031370821:666821187842210998303649:72622106500929031370821
+60168628202200677645042:6:0
+85144613877204915967613:9:8
+55543207967087193946969:8:1
+17860337509891212431387:8:3
+70608070257309690493790:3:2
+91118269794877840754887:74:5
+52662612040217064981763:89:64
+66872211590731092348730:87:43
+38608494743840309212240:41:32
+30497814330660787426096:79:75
+14478079294718176411280:253:61
+49905548456601110940621:743:75
+98792327754036929194658:957:806
+78060394821916786242636:219:186
+83837513869324628502604:321:31
+61601795997802954742965:3187:1804
+66343053861817348816356:8969:1476
+53623197049823774692232:5340:1292
+66746982628062815694327:3011:1745
+62356305223339055567810:9125:2435
+42771218649974599030872:84763:3762
+54030249048619382220510:32392:9438
+79385743740422548651278:41247:17562
+24332558501640946501916:37462:4992
+73211369038642237211870:21260:15950
+97084836124562127968320:884491:293344
+18767920193202208807535:313432:70463
+87169731427401101803426:195268:145290
+27692401667879765755567:999955:306132
+60629848363872229094328:310558:172610
+73443561314588663365467:6802096:2094763
+86238697820194331312417:3416552:2066737
+76915273278942285344270:5062484:2017730
+30786703084740000819228:6137646:2843304
+16318166732346591986216:2919493:1621747
+35192929709329362688629:21895006:11883013
+44899192867304647438430:36203688:5343710
+52886843744181328622533:27701885:15757683
+43957210297464044116982:89237386:56651082
+53653954985892622143644:98664203:28107204
+47257174975602174030185:354023490:6266645
+16040531654880668590747:275257791:114944989
+34209803320351029433339:610701461:374044289
+68348892831121635853617:170489838:137888733
+69800741404370632296946:114431087:76044264
+12572089604414463678694:5582638324:2321931614
+88594656611543975478102:8126408499:812249361
+95046330153783171330567:6483157886:597935969
+48514528807606436441647:1295214691:1051331934
+27154531574703134138207:9270930542:7018349335
+72429083365055710035840:91579667330:35845309670
+54792679367261084228596:66285537791:65312052939
+20825512039898985141548:60780858440:36360688908
+57361625763498967785121:84727125054:40831412869
+50969375122681536545708:95830158006:58957337276
+15578614977024335872541:206194317292:138972040249
+87484360759925090818695:697061475036:344527835811
+78043698594176955658832:671169914029:332408015544
+10455613896424472062228:114291582133:61656861620
+55771360643397628557736:943716324416:261953257896
+22211345794945458046726:3792081314572:258113302262
+26563631525742777306090:4281387131916:2607432064674
+77015855469303191661188:7759309669271:2801085471542
+10664701311374780871240:8960920822071:2510256015468
+84157076799780004187363:8675681855398:5011694637975
+52426690777546676412319:58212950601741:4511920998433
+21175908878637397452544:90254559214894:72234948583680
+60877449038457527893042:74062134197030:22033821716392
+25355377793299930375437:42232271032741:20763378464381
+98709061355531959038057:83749801954707:6617234267442
+38042696812294872066899:881501611145519:638079107967194
+23148617701396239540517:958420919736653:863295505659754
+26651977614622397002462:954167539698995:53928002241352
+80127837791471627268065:951186239039354:328675394086049
+81272767223898893917581:511489151862678:217278272087601
+78149517160927750365780:7687425498531352:2847088362913852
+40874318576915582039396:1468618572569948:1096821859883672
+45912340830308045876698:5155509495855069:2570065687447888
+75429380033339114105275:6549354569564388:5000846188002115
+73351778097979894249799:2151028064001771:293068301732999
+22126431218975315876387:95688747301564341:35114192688613934
+26108516082182036151438:22281712466334177:8626604829588396
+19073915808927791045869:64234820695127213:28151716716417649
+85383446931855670411834:83224055773822445:59806925628253864
+88588229050466646445749:77053428169368929:56790999527512307
+75408174391672470941283:710030812003085448:62033696784021891
+47118811864456785653379:880573959723562188:179853608696535687
+59187158040829640206716:437886675299059741:205574032230314451
+45257725354657261312617:435840278683235614:70816190075154857
+77997073937717526682697:473975291069644262:174014587936572239
+90165064244599192819012:5714467064544311482:2202900219046256016
+18024701694199453013663:1819813747998502086:1266334022288353919
+54495463778799349441339:9689143095461515554:3723009923785965643
+74069292451133223236230:7014821337402754740:6808770834938691310
+16286254629747043973436:9107524075539378231:2001582682635696408
+49754997926143459080431:90027608265921159333:59758163354979128615
+24000447241416147288730:75814701408473434229:43001596338542072366
+31472526369921474842624:83467232714962938536:5379636380447014552
+33324879462105172264561:44549716567076507708:1691469931944498977
+22874466609184113598699:93384666991462766405:88607863267198595879
+79437305479532175548582:192571814379449383687:97717955199029469538
+53550886142685997096789:134612187330335446600:109847772542824796589
+39046647357312789266231:273869822830998117439:157132515311056589893
+11387060643662178138399:716908264623096266561:633436674315734139984
+11355542108998090333578:537063754090134994512:77203273105255448826
+37811329753370138795638:3868536481089712377617:2994501423562727397085
+10879629890863958124169:9468476353701815020964:1411153537162143103205
+35867433044739486604399:1735853826595727289331:1150356512824940817779
+40562843432722509318560:3721576144519390039171:3347081987528608926850
+44689988324762086363898:6503130794397361595986:5671203558377916787982
+12372133503605086821781:18085049951085190911286:12372133503605086821781
+20913780658785496564248:18081733546997852238497:2832047111787644325751
+96628570890468256288769:50886185517675797472248:45742385372792458816521
+17541871236818093899088:26770879968096537110175:17541871236818093899088
+80166134154100207670901:52770940030904009175561:27395194123196198495340
+34576284029725009057592:202897110084845124478538:34576284029725009057592
+62119893165073831906409:491506833144126988451687:62119893165073831906409
+55309346443203958696053:718914461748401420442050:55309346443203958696053
+55511066031169856835510:209693130852648950409506:55511066031169856835510
+38971213701149668996300:458703073306725158660869:38971213701149668996300
+267905013148091220838980:1:0
+301809168101666899797994:6:4
+609706505828425866701361:5:1
+557133854597982268782253:7:1
+564535901356775428623575:2:1
+449384891735388797764392:88:80
+875662386537095252812258:90:88
+325849391291170509804957:74:41
+581487005508139668005771:84:59
+682133357962055363236390:19:6
+704166342734321866495574:563:364
+237340302304569311023203:315:48
+158543000394630534398159:768:719
+612770087267834470715668:267:160
+995984284867514140544126:593:266
+165475252171389911168928:5604:4776
+599011616413945900190714:6516:5918
+157881064806350243425844:4498:608
+324969866224166836889775:7430:1365
+853787607685161578368270:8446:7100
+299313125688556835819678:22064:19902
+729308830846054844771681:11780:2781
+232207505796620149042687:80640:78847
+304677773796454015175305:10203:5353
+571957841657797312277173:21693:6214
+931074223357751070754167:446092:125599
+265407524556910973546314:494892:446134
+657270448944384330385534:243460:178074
+371380730539014116562199:280689:46774
+467724142044093957687916:708595:625531
+850100832163892454235357:9332765:1227467
+426414880629762006119846:4220219:520702
+940526833426263494548363:5855921:644364
+781080631330395025853407:8080308:29863
+152272694351185132325467:1759679:1520633
+285981733240966081558314:34602305:4540439
+317051738831455767138952:35600390:2127812
+470648385800111650266380:75531576:4731260
+719149261732073704387504:84181713:24285448
+389913174329527747541918:93614947:44397834
+824904767157391431621793:177748580:67764353
+749282891636526030158546:170862087:17669735
+496832223184923628267158:993277993:256210278
+947309139149798719003623:989709755:263763028
+421269296779139643034908:154026023:50021335
+745453740206015417272910:3132763493:349098636
+466304679114542521325037:1249982248:385616581
+148452948947257964565616:5362668373:736378935
+762141736917664165840785:6084383055:5872185735
+904350391225320975964304:5007813554:2702220316
+998574996662144113769437:58261453764:7488850165
+567416253282099679329913:12479587339:10354492281
+752638251996395915806949:55490425874:28471904273
+792523224708293389955234:25028793800:10048578634
+555433670973158472616194:18582496200:13765604394
+241034179480853006190556:902422001090:448854118046
+244489751335563275975618:811635011173:117353300165
+816763761705671888586804:812491162265:273620276414
+192840484979462381657179:395476134466:92551214661
+915456934473001261645068:628600997642:39109708422
+159944296333972691441332:4835863484793:3314345531797
+170352991932594870443149:8297249843381:4953244674017
+250224084378825746299502:6890233831686:2226126422102
+112649420717964395199678:6189690778744:6026077594918
+363862787761831908045517:7863015437811:4193224018423
+136857888939740132680373:14358621969855:3812152547063
+170391447439032222059047:33773526644787:9595261965634
+836115719884340850715844:61771957476887:19297334596553
+344746859736632093843629:32468330980043:8166025131609
+655855362618200775810679:57832238008542:7444137057277
+563990625140366105414099:621281262630939:264485098769009
+831124308234114222342193:966236733714300:185187321680293
+743789025101363873189872:601135768615179:130457878691671
+518356629972246359037616:247300875047387:127200775217738
+875240914950707622117495:830687445176009:546653555151391
+472560521419892522957303:3716056547985327:306706655341595
+236341947769068214297505:6471743386365456:1568245262898881
+694006858140309417854905:6617157479655897:3686802028149223
+244906684915090087167341:9514041660845320:1556149215319381
+158591645509849594275256:6293327695670358:1552098225467428
+602138497068723729366001:50054791030680038:33598338543081695
+181128625853616360670852:36865268467073142:13770353042081074
+576784185856957532707689:23549415731723654:3300637278494419
+568876979627142573524895:32460444471822258:29593562152022007
+171107979505943592935073:84689482321813493:79080716784475478
+874365926303608044458845:985496883977014897:569442029186348844
+458419803343013308264100:851270768946852066:279015906108498308
+204597107157072505997548:311054746068881236:225820773735256076
+506422376468296224763858:220856365053504188:56538801442704986
+665540141440331705835775:484746570627454507:66098808628632520
+682039341638064654557663:5200161301082492393:1785871988199768962
+516677792371940638634647:4414319487923443591:3767907941183526052
+352595763857182008618647:9922756844385529900:522148786589152047
+975245649214327402525962:4029644061788126594:3282312550368625864
+944874456200864859870736:4742099253226353160:1695797007540034416
+870604571052078436450041:99786114405535022190:70508978190902864481
+634335206543232648753760:22788274105409283422:808545059835418968
+729006438988749167360713:75523542184535082382:53209823616552209649
+674843587102027646412651:23752931999607185876:22788993187495675491
+174117287059234907152105:53853705420155076279:8257435873545542098
+661500078993918381861570:887324733344675673318:443152652135005239660
+801150047195222651501827:948560081327396930585:565338554899642088087
+306750621682701240198151:402814416084169572007:208851042648195900824
+146897617654255177378406:653864338459860014702:432005839246534085158
+838694774893615443980696:950347772731840285488:488039344132312180280
+269149037421143542095876:5577331570719486364403:1437122026608196604532
+749103989012225242137946:2499662080148331751880:1705027047874048325826
+403325352355376702860559:2776966438399319911540:665218787475315687259
+857424625707481000362970:2439426086177835462048:1186069459060753184122
+845064079826673560881215:9072521336924502469496:1319595492694831218087
+114281516219184293741067:92032353892808522215322:22249162326375771525745
+355557768415484222353496:69270076511428300929758:9207385858342717704706
+841183061622545370200949:84347409884359541817396:82056372663309493844385
+949022845124664340098725:84100700651510734703011:23915137958046258365604
+819092799058924065838631:75403947889816311265030:65053320160760953188331
+391764171119499874003759:401570280618672672580524:391764171119499874003759
+567462746970263530373493:677281702306440883567460:567462746970263530373493
+978678997292757515585757:680746788274080596362898:297932209018676919222859
+128582689269472433651183:312628316037352550875472:128582689269472433651183
+883038686730821354048966:616443133961662358356318:266595552769158995692648
+107812280326022877670437:7859515082349093556667758:107812280326022877670437
+295774246300154285851629:9706014162521672832471714:295774246300154285851629
+190992036696991512092244:5793134656813939077270387:190992036696991512092244
+332766183235084630339475:5957717718958846913080018:332766183235084630339475
+635880071621162221842020:1816253844391404014289241:635880071621162221842020
+606434284312960140980084:1:0
+205737898567467839396645:8:5
+932565787370262272858525:2:1
+528576864793388593270557:8:5
+597355531855466922713387:5:2
+846019350487716521763736:96:88
+362477757499959406174185:51:27
+636872084859429016252740:18:0
+866511341182152937278412:28:20
+773397990737580584640677:45:32
+684156941853226330668841:864:649
+889484331853378577268081:881:43
+847893571750702229395121:522:467
+755517234928285915578628:276:40
+765244940287593778361072:355:102
+669169157802202024513689:5545:5334
+300112862986715783012838:6315:4413
+190723680247383298212252:5637:672
+373392433573294396120316:5724:2600
+548571716691470270416624:6206:3908
+305571688895276248091158:62921:4767
+525273983634982410958652:13813:6260
+452125110699999348799523:90197:40282
+775644163808240399382716:63455:20481
+594077225586391051911074:91786:31734
+256822704593748783685722:192830:110142
+164417262047692303445635:642281:384060
+318428079694472938523241:541010:126211
+272306017635329635815657:546445:275277
+605557829232449010603732:112805:96142
+346447376282466413696879:5481997:5068352
+877261515747633382181864:8377179:2648561
+630613823018644059108638:4047262:2028818
+908056751483882854445704:4524565:1681874
+417438707525957587778520:9464879:6479684
+839120765048249258775665:92262578:10348235
+217991561189020217313633:63557851:11719059
+442417940221231021626950:84733214:36196648
+248181769725783222772591:35854709:7375241
+185810744035506285628331:72035273:7152288
+505071005396326353151259:421481013:222216725
+341722533016078374939985:675707220:547083865
+399422439130843611593547:682052339:460833064
+515236709588996675060342:881885926:118951690
+739575114735690832160114:835525275:615824489
+666359055892114991222396:8519390634:4034502800
+325933213286234867831449:3615401922:1143823909
+703665801062516081371020:4734827482:4554562682
+865744312911131802556588:2138209361:1104906607
+199422988902967836247200:2192446592:1288929440
+374981669682651277897041:83775888487:43063402801
+454844706983469056540648:56702980381:14226018550
+913208514222329238498476:27966568358:11072671488
+235210845053813781197677:94205497317:93273141145
+331715633589251925796917:15821621929:9231209665
+798331613702214564575238:993542714606:671843094376
+846741652277026224559043:556159063007:178658867697
+507628727957059046362161:922461538172:53632882589
+529019246965005531949566:968754809987:603200223197
+171402525880579668382536:323282271983:105754632944
+659898896817678676219728:2515355147284:2435485809080
+498606887289387433845759:6740616298714:6196108225385
+774570223156202601834333:6476534288082:2072254635453
+406258771767028148190087:8987189545331:1821768334510
+717322749034838953807347:2308663140258:1297936570341
+237647278974452083162008:76646437184990:68828639414408
+438098148603414686976529:10695483282117:285459265642
+127776214077125595372273:81114971132356:23300479701241
+597609871066288826685424:95019472269985:53615009311729
+463988215012958688970715:73099108210333:27904763639861
+715091314009208997005761:572852785276906:181824612627529
+421011593048063912708612:533004019852694:115885413120678
+384770524428448068588928:176541649862105:6674707773313
+361606076822338667879543:410645438978582:348893920928853
+801319793833448817875706:354054528052335:248963511527346
+531513630088539679370991:8564894307125581:5580662553244780
+679202482694044242073463:6782871666287274:1448309705883533
+533589057787276320616948:3989730891122170:2703561046926738
+897182565456186276718671:1955929753393314:1191988832268147
+514179534596449822100954:6824729909892713:1708530673559208
+474658442673484256331078:82188259174051908:41372467582238814
+948034123578862101195403:70625771353056015:28815674407525228
+780603729058764971558139:57250181326201524:25683985544685195
+416955395191367809539325:29177298191553875:16405593548023825
+898431010371421943685591:81414218639352568:32106825435214647
+220559564978329360762831:987019951502255482:86615635350755111
+211014288578779524352862:802883980336577250:320866720291507862
+473585120454101477184914:990747082891074586:88855504696480226
+854870710133201274315999:426560810054185654:190703607805134599
+166348714511488303011478:766675944360856790:734835680122714808
+479119129449998753876399:5617016746022596885:4452064509307376554
+650893677082125426806580:7034731658837166456:5130348216600465180
+402588838308859077211980:6366377668971502984:4580033777114515756
+425358118755574069605277:7330697615113790867:1720336211468338469
+221369710012680104058133:4385666958350516088:3170289937804516333
+546413026745496280990957:77772451342969368014:61556061136470692607
+865919256101857330553159:15961685442158740061:13782550187840983970
+799000508118685954683218:91837720263949577332:12341822324631894818
+202688416882514464983292:16827748208037997519:15017464904822864456
+916159641764892293502597:70663150933807716132:11889908075253851217
+673634288401317570786962:112398068625183097200:32663130595269267362
+768844328277343599031890:782055550884433519880:83721757945448989850
+482912064696657923857933:838496535915618878015:776556545177068999308
+611908962239725259022453:862912955454719865798:103676822328874171671
+121125125147301866150722:126375492239686635811:57403581682069043784
+680744342290791145872029:2569793696833248960490:2318806326813420302669
+373750990175706450680984:1021728158226686240919:820212422965972745549
+602846673069639203143520:4106572464426934778218:3287093263306725523692
+188942191014405694486411:8953411284180319498987:920554046618985007684
+206073979926965391951548:9911681129455411966150:7840357337857152628548
+234471986276697868562691:80221716124734153807782:74028554027229560947127
+278394381425708522809304:31764860379258183221217:24275498391643057039568
+235873093628592961218945:81181023760090943458824:73511046108411074301297
+360010856228721662255332:66344143397556697210895:28290139240938176200857
+632670574907946493225032:53586075382000403687303:43223745705942052664699
+113673101362025910946840:759714266671634693699080:113673101362025910946840
+160179858350960787079983:724492381771539800365012:160179858350960787079983
+196586096953413498935190:565006103157655911347371:196586096953413498935190
+755453649137578626210336:146035833096753426391926:25274483653811494250706
+751808212432533650683670:896482207760113046689550:751808212432533650683670
+220065976336471009032742:5246255304895385485695059:220065976336471009032742
+540426426066596739395694:2207275137864666861940640:540426426066596739395694
+426540642267398127667676:2864454785965250366644418:426540642267398127667676
+962798809472419953156955:7251946440052598407945996:962798809472419953156955
+650390915170353396742199:9572065467266807076622114:650390915170353396742199
+109038166758957222578262:7:2
+253201086104917652532627:8:3
+339253209872378986666822:2:0
+781388175474445598665566:5:1
+108222212810298886802169:8:1
+761914348491906706401626:67:23
+832357589421092648124254:62:50
+907630732676563180440427:11:8
+838058686395819869326775:14:9
+534248263867007783867322:55:32
+372286064589229144902902:732:218
+627920509048612116250059:949:549
+646020754986634638738514:915:844
+603841972305717950292575:378:17
+694437105076569367349337:582:363
+863992504475677792280915:2549:1702
+253628648615841668540366:8834:436
+982814510014562926079545:8909:8505
+706938094390009201303944:2279:291
+250462391842449774858416:1499:1176
+213130884442177119917902:57054:1342
+255489848883430216322804:87530:56254
+271572623810131925626665:27090:26115
+794315373869160945366060:16769:8912
+529970072250814471698066:76552:67530
+580568770658341538060351:306858:269315
+893289257688217560464436:634431:518520
+905530880851097879613991:937957:279577
+397755637979103237151448:121955:97643
+387035991037178035083211:923588:613447
+295292816282983193273501:6995401:2044399
+844102896109286550405310:7839857:4369660
+642614852909343037561682:5321989:4042002
+345164931835097966435350:9160635:4538260
+939887005600385635888255:7092104:6841295
+322117521216673693258936:24073495:1018276
+906488175742818252794724:79436313:8289498
+104819705271996664799444:63464165:26851939
+166369174771327671047654:62638397:12293339
+365387114434561309761557:50920285:31952872
+224341353746177806194425:352343517:13141484
+189764178513678298202112:288994315:65696067
+865324423370635654818112:793029503:321083574
+632017723819414018761821:414693401:90232139
+271114431391678329140473:704353066:102973859
+923414941622842520719962:2854080030:2133241362
+280200781891351220857067:5518578972:3948616259
+503917576012007278033506:4952988478:4481307382
+144574979536458875617165:2419869652:1048914609
+494155074345081754896624:6695958658:5012314914
+789817376637702581767169:31478130980:18718056409
+583823717581491949672477:57078151898:30944360111
+961175387774948375584832:81025260466:64813066002
+551045916215470959650200:16619508824:8984864640
+469277111983573795494945:76695027515:46735609820
+862867351434001307415661:690132404952:59181650029
+320367724682987441213512:362380257080:85572066552
+539253063564628600074978:137742353122:117552493588
+975323134454920240276664:600979370792:61457856544
+934666044661018052313464:572849005448:44843189552
+364684615190469672060716:9644866748207:3053564204170
+778349711079890318290670:6660449828172:1524620941550
+818025032667670873610065:1825368237985:1204703247155
+784130117901648493659370:3176187345738:1657082379364
+870930011457783269886641:4911088626158:971477019689
+931971691516536092143313:69743406400073:1369017432696
+996195540236974960126353:90019085646457:22742063963288
+908612916586411236039659:46755255503610:30639777942449
+719136203419291625928399:14172032831059:6700665674064
+263119294627941821534001:88430631341325:80735556029301
+719114897344586047904167:595791433566930:343786507408027
+409190205954846737022191:943990210679239:294951733419847
+363208023747124012843683:476725463079359:313481595738660
+326306975337056399823792:370362403254845:302098422055467
+468481324999551309599273:894322081888070:669171230363063
+664889257623099377675469:2321284447575046:2108511670621133
+941277886057177621667415:2979807119315741:430108163485987
+425148494021785220153169:2117038312372903:1528131943880784
+468459874685618126690528:5947231963706887:5032532716660276
+252452913788287109240120:5610504414565590:3381905732076050
+670111837744205218453684:14933415704202530:690409674371794
+717812830262833746170407:58073778859514751:16998841998500047
+326460330379376855889690:89210427909405234:32860155056975496
+144823452274668432909985:66311357006160163:45375427692359452
+398892392976843410011647:22888206319150498:6260192169388861
+640496324978371438998864:276299105052123658:185780312232173956
+370180741480203039617839:955436727157127552:603290082598105647
+301191958281983020693377:960634015428804283:532888528298627255
+255968328401391252907137:199770130986136933:62787020194737175
+598882652532321908064120:926159109149574126:387782932790968740
+738676818531154133589979:1792732652787236854:1049009353847504673
+911808265104990906673817:8654000705221964355:5442801394298302307
+314300805371926312825556:1922569830794781910:1012003426160960666
+311823663185559002106320:6972749115319430649:2322748474063483040
+781098376967754944161326:4426875502971952405:2755721371774013506
+356428974174646742127363:19456091737374872524:12829637676452360207
+115818824058284216177235:50958344113138482365:41466233233584243955
+654087127690838786097786:29229926671854410341:9058554752645897229
+694203819889033809877942:27234881940477781342:13914108195641251704
+667216000861163441690699:52618793352690340860:9701149049919585899
+507287609852759364863008:280543962475020325838:64125697922615747904
+186750016052002962562160:542256254063077181250:213864654304412212160
+112266798099407599299843:168208308629167088298:71856243753151405077
+106405925402880309620046:808977793972451344956:429834392489183430810
+221239546644690744739310:424597444945659712810:24277828002034365300
+664886440104242890898073:3942930464121486820676:2474122131833105024505
+451578430069508284689668:8123384609654387624740:4792276538516965328968
+564045461352027361372286:2331561414656324866669:2139160419853068505057
+327426069227662529671064:9420307159281138280667:7135625812103828128386
+389391837838661316251453:8308724492678000538556:7190511175473291477877
+500026283516585874060209:26589307321074085476100:21418751737252335490409
+747904381261150564629097:92948615052469203774714:4315460841396934431385
+909811883216595700733187:17751718838516306075009:4474222452264090907728
+980129112532470223236058:55909611396411792530547:29665718793469750216759
+590706446230192515535748:46198311955752814543722:36326702761158741011084
+455051649300051413247303:510270301205769184587521:455051649300051413247303
+436734946476383082543431:274332407592110625182976:162402538884272457360455
+319929985305463468733531:637866689553239464261848:319929985305463468733531
+536435264291464950400953:624971371392896140376418:536435264291464950400953
+617030507473815932631209:592063865114493855774755:24966642359322076856454
+307819703066811184293954:1494248043217456738992909:307819703066811184293954
+687721288156860621830563:7716757757219949263304156:687721288156860621830563
+918228971404470644155916:1045842804093877251157551:918228971404470644155916
+784004208893219747362181:7202756461686026602370428:784004208893219747362181
+264422431139724661709875:3291249654517536939246385:264422431139724661709875
+233746026309176401005720:7:0
+880691460876629788184528:5:3
+420455736523155128075223:8:7
+590472910577895601885269:6:3
+849543982385922685041904:1:0
+822776410808024384289554:42:32
+604250202781122618253435:80:75
+960460332776314877726051:58:49
+370148613408100523162963:42:41
+196167384206044632235154:82:4
+322039711075913963722026:906:540
+840650951302346879776208:301:218
+477971393898014068724799:554:71
+156179512057407195030614:632:214
+282791911525510981073603:874:659
+449484453218034593431160:9738:8816
+796444490246962512715927:4113:3985
+245941554541919754955165:6871:2839
+966042630855336071962909:6109:1798
+779614499022098903205689:6648:2081
+529514366389366481498855:75841:27613
+137591969954319575670271:86620:25731
+322076038402241930660796:52482:19332
+472875240847004158404453:71036:46209
+187257577591039035056361:23871:17352
+527881243814880852273975:277166:256109
+836552276012900727011032:952100:524832
+829382684637768241742794:666515:612809
+899944103310815459656323:468844:130135
+563143762915246455070435:793732:176647
+553463908748705013149717:4991630:3787277
+622531196505841171399697:6374915:851632
+142358503665179989742404:5848396:5283552
+136316026430994715385491:8890687:1292871
+398895248656089786943680:4273314:2831604
+326511529614334797360599:52467376:6045751
+225737447919326307381204:37465309:32676970
+559015950497848159034634:18097217:7507916
+331957277893155349359821:40100435:3200506
+541496523113124848847051:89178340:35590031
+635272039265739885108027:724968404:130863699
+239341146185799267026602:879343686:340193974
+717970699768379837977655:207455981:129485157
+149461096405678490183429:812369800:809999429
+623242078029493264839322:336253710:117195982
+982138611501798825757772:5153922950:141845672
+859206378699781832670037:2687998569:2198372902
+848405082339131022665149:1658158625:1374798649
+902260414384947361045665:7234630475:6383917440
+115905361278800306362099:1269099369:288198211
+902484463064039958312682:58721605367:8099198272
+334598182081223833723185:89286064226:1277444635
+236020648687843512512727:62106703905:58439555247
+141631129492144461093138:44462919287:8130263323
+325759091100380112456573:90343666580:21057148513
+872356618451114093055018:819563921934:787062251958
+570103116925955086418873:890969904083:524611819429
+215657269606522204452377:462533775300:17945414477
+680673305948648174602053:933301424982:144846331659
+681968645152871941875786:445135789821:151184341125
+741363226026574649736429:2243876563108:42682193005
+314486876672121447836988:4759250803278:164370099702
+417035311060012525101823:5726323078776:38063448799
+914361164326171643511786:5086378078458:2697440901744
+107669210818894906132676:6747520909900:186084593776
+934394969182530328551545:49797875906901:39219822194837
+605046632877083339562699:83484548329387:15444749669595
+151554958948613907541168:65049057489240:11332669248808
+347403971425134093573136:72090261898081:23071323374314
+429093252095189575893378:10172389821266:5506751332988
+445504823009907296044849:973107764220229:159220606798792
+899022158360224107867226:620696243777886:397840099803508
+284658421258359797777006:979565064045923:171767915364525
+809069356250179931073768:895601481292157:748200217301867
+104025784624455933148599:188962027346232:12154493089575
+307209248160619440830935:4890904394782491:589959494442175
+720969434665487799997123:2699844207387023:200123867676248
+177709794463100600124814:4120733257668690:3882263196652204
+189705043774914562022103:5834293181109191:2164454126532929
+117709301030858700398530:3057530494831594:2835952821531490
+987822108712770379745222:91597573070342673:81217732037666885
+762345337620474608254681:28232928549815968:26781772238846425
+651925345178925280272345:44724994160035286:10279055500632971
+159384440587586986938322:71619142370010877:49915100500783934
+515991718106015439894396:37098820183904183:32265490501729354
+293909151180435288570925:876948083802496322:894028646252625
+963732106425687042522177:520868930215612811:97852481810710348
+647720529768036478112225:423527949052423594:178524457716746295
+372556833925626591665959:919154481023283726:543904864115425009
+863178506878254595838031:925143234018519588:441531061431322683
+984342015023523051166668:1017300638357322291:900048339645072777
+865449709550919883948466:5192732764072304657:2903426809228289561
+870922479306372906047714:6790762933437704871:342330053818637093
+576604341943936322270923:4085203099934039480:2435606846253905803
+607148224862777006030500:7776483482236541424:7053470641270893124
+555759465169987735310128:57683433815087862550:37263795431267503428
+113646759767441162051575:46516400706715938846:7192840934123450797
+328549257152592738285101:54714426911269723290:43837977329319651941
+499147347120772708500484:42390841834310520684:37575363600637967068
+163889285917220371161256:18266010645478647589:6638405985944992748
+890822478181378393515800:230938358834528544485:93228156601797437155
+725316333440352739070640:200777349014676518303:108548799341154960204
+530040285247950519387144:997637409357100984395:294820879329896673399
+201633601489490690557065:716668240620208687211:249825875212049450774
+165291293250357607357432:193740766381958113641:30419526547336421659
+221389301329888246786520:5514442661299594790697:811594877904455158640
+754116333902161484515898:4073402876882295684761:536801678936782835113
+432405960898064287147038:5759086658840499977548:474461485026788830938
+254523912886301011733310:9815505807281933538524:9136267704252673270210
+542232363767139955644886:8074016545613364338954:1273255211044544934968
+997482436061283265658652:61201129690929856613861:18264361006405559836876
+825347995114789925922701:15955940010159897691796:11595054596635143641105
+983628180360749964901730:18776382227968179143589:7256304506404649435102
+436085751081925346891841:89890349715610395687281:76524352219483764142717
+355031730995986664164811:42394680144740377917513:15874289838063640824707
+833551223624753965390384:205749685134038103484448:10552483088601551452592
+521700909324729175179482:810502138395419169819858:521700909324729175179482
+764823766707914170837314:330728017594261745664221:103367731519390679508872
+116788711477877963694113:524429861955129841253420:116788711477877963694113
+612514378603414918633138:602729256279456507607712:9785122323958411025426
+463367381877318346393374:8806058360847872837191053:463367381877318346393374
+162243662806023953591451:6174125235898701566942105:162243662806023953591451
+842484435576649548269907:5110228841913647113337451:842484435576649548269907
+381259105648267402907154:1160985746289777426623434:381259105648267402907154
+948320595771110919015141:7994873779640060109524789:948320595771110919015141
+920387907050452952425967:9:2
+895692160217100330520793:1:0
+659974290847374083720318:7:4
+422493217124287732058087:7:4
+887613664843353370998816:8:0
+740003688379911495225577:26:21
+771655655852203549881741:43:30
+300774204687495318119478:41:7
+173536980626132280361716:15:6
+467862071847147594605089:60:49
+765138724789589974344240:873:567
+374390843769093230446645:485:15
+801082172081418328971035:904:819
+787138804597629570254903:747:308
+725070674431088449588217:778:333
+327166494101491166852232:7347:849
+166719789000616795573589:2167:828
+410948235095968903828841:4974:2519
+846243710383926830152400:1017:755
+846124811612314456387603:8077:7729
+433022904229456626589495:41557:22751
+713507376838510495218330:76308:58050
+814052501975878046174077:55534:53917
+415546772508611249208661:38160:31141
+155071776558951819215280:77652:50400
+560489691718807026220895:805400:67895
+319007930395017295150959:488913:238425
+319963156145936761788321:345899:277804
+481466028181813054975452:602365:182237
+348491448724192038791190:244375:31190
+771308977228222235151589:7723258:5755389
+552171495049344464648400:9132264:5879808
+848796543499177663652771:8853483:2762561
+536983353924611341473751:4503428:3424611
+678210229973908268611813:9680965:5590388
+211976178445824515378981:33599702:23214377
+566063776699780063522688:50151205:25723568
+652203366109122473263264:26028496:22090832
+495053492012388126583384:38995222:1019770
+465871062763163835608792:47581871:21253101
+800640772080239449274399:974065524:419119775
+903599786144611223056834:847652484:94832854
+280482572108429118597419:204393949:150372214
+872940164690979437482629:105915669:36573597
+653064152483351435273247:235985510:184420717
+471585903654322526466130:1609772030:454277920
+910130521440831607760518:5749558241:585892968
+612510928992473156732375:1053471187:575534076
+514845975595530456159759:3859117271:267978259
+310993282514499206293816:6139493976:4718423392
+142185518567270864542084:61694200135:9156587144
+645766778579220892290737:75383916408:25690559825
+607922910253839274429480:84595411581:9014420164
+210923582956573160528376:73465770697:4760314212
+753681839791678755455270:95076569650:64316128820
+483894833508060776815690:453263112933:367153539799
+316423557571258808394128:397897180433:55307839067
+223795315394632714923240:519560661573:337231741569
+311317698819828710173266:445962655190:5205959796
+313703870863106279878050:195232674680:162443290970
+258792957563216318373350:8694361345296:1839778222886
+903718313611266101181185:8375209602658:4524287056603
+950201068588437265933561:7606604132750:4538199222561
+969860411344944600182257:3332168732451:1091862831199
+301161673363652863973685:8552821353316:4359691782173
+870680760313871277867308:11529160040459:4887051720981
+741120394926529733086160:42225041844074:23460271102408
+262419426592939738059715:95419669588944:41985090102643
+793680442785115034796064:79615908566375:31734973014564
+367398810980931215299274:72801210353696:38265299389514
+352701679001220955367473:759658505977096:664961886419881
+547245271617533201180952:468852552178156:246223308452476
+415800402808074356333988:662130606828654:352996747988274
+215779992781537963790406:445524145786859:100939115376537
+389228314100889855518145:296777981607404:152482853149153
+838312949835277385059701:7879093852784641:535630632933294
+709670076030736759874846:4971331561633799:2651297566887959
+960841143628956325307703:4056504605749311:3515351376813159
+448421993936905134792981:9492916351589025:6540813557561556
+686808726516256699959870:6850804960333324:5318800853647686
+647327366385045423481795:94324520669714072:64317593121010499
+441649766899239902047505:23117837716141738:6586319038900175
+727791500308692843783238:38230503776217963:37825592041191685
+135216532052482367725408:31140753419988801:17501521634992900
+750090907590889414734491:99490219354124900:18734903328793791
+790067198886625208148430:631619743087250677:590287993000817564
+902077028659192896855324:268758782309458040:1223918601749084
+587219496704044912675137:946149645560068586:234533998385391511
+146703072663732983783745:644775718521755059:477307070663984770
+415300373570570633134272:606561018994489891:175085423294564392
+680930496980941581063221:3699301710256983837:31173938566186631
+287075032235352923989907:2880759457590385231:1590767555854950295
+445827608504646331615556:2835067443593132954:1912729851802067240
+972383618968743091160644:4115063966480751122:2233817274562534288
+391997817530125831945590:7243362971412288764:1500243235588615438
+195844294563310517839076:40576478553561653422:22209063821978424504
+342828797501184360671688:69166152549412380718:41345466296601833280
+137869391566438393247830:79242392048181556939:66871794650665730909
+797453611041512830108265:69813549432311716246:43249425648407146453
+924593986209814041152733:74355389691744912935:59070782657793718943
+963609531272594616102774:779978583592925557304:335980535331552832334
+106088387247353514973175:699254093951599372231:501019060662009766294
+116165263954446931914590:332104486710705662448:260798092410655720238
+781032575508457693526292:345037666667608009901:212335839660767120329
+420321196535445037689524:503373870713979632109:4014489272044878509
+763707255119963291093716:8399059997894456876722:7791855309462172188736
+161234050364878636155667:5353622645273019691853:625371006688045400077
+244196719965092293226017:3172983633940232121386:3049963785634652000681
+807929215997351136673336:9082447555987236330013:8673831070474339632192
+304427574193730680285742:3021528083921615706767:2274765801569109609042
+517965097515398451202779:90794862018738291040707:63990787421706995999244
+940313918870848249106601:19171288881989469683719:920763653364234604370
+527554352403367376312158:24640163639971623332920:10110915963963286320838
+204418772514073205455320:41994816148393861002169:36439507920497761446644
+832738713615032851193749:95609855439796918920312:67859870096657499831253
+193077140886141052014895:875621755439811653006108:193077140886141052014895
+211115933103214247692699:219741724276597250999268:211115933103214247692699
+783201943133417078116273:712940700947490582828518:70261242185926495287755
+479026083241027508460103:581404062585407343037678:479026083241027508460103
+987805544764157219227041:902935603574227162034623:84869941189930057192418
+880765798937727621574873:2928945711211171510828918:880765798937727621574873
+156120724695196161615075:1030660228201239559402273:156120724695196161615075
+903673286910723360509429:4643262830483684511449708:903673286910723360509429
+307328123830897862738646:4180406511919975378627756:307328123830897862738646
+329542484153432570788022:9810985031940705570698309:329542484153432570788022
+5037251798109587445215467:6:1
+4922990415171708960509146:6:4
+7783338415088889597269962:5:2
+2746357533116741339862966:8:6
+7186067876514752798476242:1:0
+9908494966048496251532638:35:8
+5057958094088120598925159:66:7
+4299795658932479136327609:64:57
+6836271599183033433062588:83:9
+3573433800040583533819718:28:2
+9137679339788803003118097:433:339
+8309776279001631785052590:380:50
+2486454033532414072967712:119:33
+1167614212252230206798754:878:692
+9121775455573025790500394:225:69
+7183513401419984627111256:2110:1136
+9914706507576710318138255:7854:3599
+5603408423196066602315449:6439:3255
+1517086072344944670207796:2740:356
+3397152461158250249189125:2488:381
+4693364797466242993214749:88725:44674
+7871957152951488978301134:61482:11904
+6825931938340666362255214:88676:87978
+9205467129928431982245794:32525:19944
+5554882167698172129190504:18782:5964
+5896459166747021255538553:678469:430916
+4971231307335674765193695:438075:259595
+4121961124444800438088054:571760:184294
+1652298053552004266123931:864033:35931
+7625087734272735039275306:374901:3125
+8633992062137117728841794:4687942:2473910
+5876189938410206922140779:9287075:6672279
+3323486839923801538535926:1622616:678766
+1874616674611175245314656:6394064:159520
+2252952036847798824223532:2264669:1518792
+5467961784471776727014777:29024836:9270625
+2928415508156124066895632:29827063:10000199
+5422774469340910490887569:34353269:12019727
+8373223903489568140880345:21736846:16941151
+1385890773164683947987405:19366156:9429493
+7426766430513716530899368:385681933:10623326
+9298559358133965653358039:626547818:410624213
+6601842330106219146582546:548507402:464219394
+6696657452082657302797212:682579395:447111837
+1945041052720771762544119:820478684:656668347
+6468828319490080149106191:4486593982:2767489259
+9198899701003517390773464:6669288184:1965872784
+8082842552214996686541589:7126661682:1824707899
+9299905069886503598187542:7216100362:1465214412
+1403637871782410154289305:5985110080:1812637465
+8413578463428892765221409:68637011266:13756234515
+7924517262997557706643002:46300749419:34680928100
+9739592281337571669887826:44324682821:21638918009
+1625947386366034479898514:89006042730:35078845484
+5074393596566630799094110:48327187580:48071408290
+4916970282198587779987036:882413702539:760595018492
+6430111909697685741076492:136113288327:26482930252
+4931313279099689582605289:836013953081:802620277715
+8397295748673874240193840:895064534889:538417542521
+9263038245804212899326069:100308776506:64825407905
+8357002990823492052852822:8492320900433:5564200824403
+2567142236927611166490757:7914500190354:5526560985667
+6626365849789524349644703:6476619385308:4406240614915
+6676268899087197532119738:2839108368425:1535800496838
+6316068603725394615108075:4921414442590:3906404803105
+6608537679973933261924563:92381603464936:29159315600731
+4422266547996351596260028:95534494363329:89861076287159
+6545962910969043509523670:34794720185658:32056303601644
+4118532503275476609934707:32639569119167:25296812362755
+8220513108134487085721241:46879164972114:20880978110013
+2436215680697244567478899:340307500665560:1832438143739
+4398347340140527333860434:427209225879266:148300812771326
+8243166348838123425923973:118766887187323:40281883718708
+1950155400602183771897423:131663662525914:44566083913019
+4951649386018064433664789:617917009558652:548577595057313
+4432067624442638662372082:7035962823877261:4740062526258609
+1639621490805008236532895:4819614356861613:3055197405000219
+1424695336946432572011155:8596754486537626:4983426676062615
+3810664035093354943385870:2527444034201580:1624472649266390
+1911739495226143415573589:6577517854783051:6187086732200233
+5646838957886418186008945:50664475279589975:24223777843888670
+4255898570341836248281927:62339720973084538:44016169062433289
+7147173049051525374344400:65830966877869449:35037410939898756
+1492912978574448473137279:96592515101615070:25739663001687469
+2951061882649948133269353:95721658501834471:3876914598610688
+5819334467233977114520483:769764239462500189:721199577098201084
+3661447181275187459357798:996249520433179161:60044033978296607
+4276608876831313801522241:449774681680836316:79116877347992065
+3095276021661021742784204:786975434025948990:119805975017694494
+5413996648065796286677203:455768339509242375:200579864648286453
+5000098686800085826194678:2324315277871695682:1444943881743032412
+9551581261257258894127455:5473280211102728755:1239735764964643060
+2470744367276653314175458:5819051727271834985:4099135668538719383
+4788996771914436799210488:1551389511388844887:78092120406771092
+2517050635086590640787232:3975472439561594460:137340364916410532
+7040871295576440631038618:85866704773095394529:59104296937565844205
+1175754132592555482246009:51054999309359335682:8553497319340825231
+7433956322818756171706791:53657340778987898350:44593877794806041
+3744605299223238254771040:73737635827046147581:60676654180788312698
+6995289477391045250578160:51734762103370913677:25354345850528656282
+5725033754812126941954005:417799210874570175630:348967408766395471745
+3495021053871418091799001:177021187757179728152:91743981418718894065
+3991740651307467944438893:390570459143149092154:110558864484222625013
+8542614532933660191937634:481558119906697801093:255043908747898348907
+7396306809370085205515180:971302710426792047147:807972180490558537922
+4641954543528544979545681:2507701679455774068150:198734855907179400031
+1709887555712783866249081:7463693740785193418485:701689072974573416016
+3753704737741353144902730:1722260254242034296909:899643747960411938019
+7907173099023620676691834:8182276893294010175178:3093620101606847469886
+2356134498503915661577634:4015440738698470310382:3086225626612059693782
+8756721847582506394978624:88469084803709323744731:86751536818992667994986
+3686652053005531991779866:27409382688717275833867:13794772717417030041688
+9235078909834032695548438:60732878662459949491640:3681353140120372819158
+4665734609797581647247899:29127498006723881275148:5334928721760643224219
+9190094226886866569149666:35054382256082387879014:5846075793280944847998
+1458388657257992983058925:854087929577905082440243:604300727680087900618682
+2405019727118575159460359:387643837077432725711623:79156704653978805190621
+1621885740406865056914015:694097632703088443649294:233690475000688169615427
+1596339749127019621508464:743273393091642240370097:109792962943735140768270
+9961583429783009045545863:253247553366774262767613:84928848478812797608956
+5633979885433592152405946:7047015059107694403635116:5633979885433592152405946
+7754142356393677065792787:8409618244578516744059965:7754142356393677065792787
+2928012021215398677579295:3746038795948746167448314:2928012021215398677579295
+7709889464771365565714977:7159251527395298489497803:550637937376067076217174
+4766103706804890876134137:2299989443675499857419510:166124819453891161295117
+1620188634599184801516819:57538411099510147875296767:1620188634599184801516819
+7406717717771810306989803:69393588642825818187775895:7406717717771810306989803
+3572458515246544160217462:69254073566135282529441181:3572458515246544160217462
+5453587346876812867616918:11408209153691910037631914:5453587346876812867616918
+2138622916686397686767970:94831395725634778952552176:2138622916686397686767970
+5616239047316117331580066:2:0
+9369193060422063947211854:1:0
+2652223742352330944052739:5:4
+8267991767445680590988367:4:3
+4976838092738906759037178:4:2
+5240158106909382407234666:64:42
+5413974456506074875318235:56:11
+9863260708339818572705080:38:10
+7239466086355341963146053:14:3
+5307432197323268412745038:19:8
+1982506246015969083368215:547:252
+2247073991777040025743628:212:196
+3907381624325763992904395:514:287
+9307021858467907731406353:846:567
+5463863752419552264606451:578:433
+8369414399289002399712405:6716:4281
+6601427042756718944474850:8287:1008
+9034535849072162030764237:2086:397
+1149261855725075532165736:1305:1096
+1211219736886120169068245:6598:2417
+8491755657438551562428942:77498:62746
+2779294826773896123419893:73182:56809
+1124574852219660861360007:44160:9607
+3184233826739840754043878:45625:33878
+3532578884154549333580987:49279:16696
+8118735914524397057992455:646339:194299
+8358050660238399349962940:588568:24436
+9331139244434772763188067:497477:138749
+5752709640646373986161003:132581:66572
+4642864236732848886977135:447863:29454
+1081704911126766394705306:4277296:1032330
+8774027191298269746420106:5786791:5601727
+2233641547690268327658449:4893211:2381386
+1820426729271659626170444:1439897:354476
+4499353338513088587762882:9690408:1627914
+5665909029308125291857017:77051986:75518825
+2270588354391556103469407:33494056:23562071
+7946530612564722085702891:37396158:30893101
+6537139800672054517090006:44868922:20879900
+6339738043743734610585453:59112840:23380293
+9362921179111470603060632:214869011:179227784
+1112898498453402619065337:516753204:418725889
+3738810087301639341359387:448003413:74589248
+1498319851743618936151850:847852196:513998714
+1449978458460406978773249:675176265:57749184
+1783999796080664042663384:4394450833:247201732
+7413207545429620895064241:2473987971:2245715791
+8042738527586730293553254:8925644820:3218073674
+3965241145658690932065825:7774712054:5922531421
+4900074233499897694725840:2289343640:1008024640
+8714449182905382496768260:69944757776:2812428724
+4445205148935703754328451:97238503078:67241237475
+2153346845021834326481592:62509358928:62475205608
+4532268658052329041206917:12718291023:6660011188
+3059349688403571134441014:98076259631:17386662186
+1535114964485965699141296:626194842389:258196693401
+6314426433604030363701477:103374865813:3897874708
+5930174324045578661400340:211659820797:161192292037
+3460597712077449600815871:254672063341:92224975714
+8059168605363515215454976:771057542966:466739553416
+5555578147958095879177162:8826263058563:8789040557618
+2202781945807864155043768:7947729035131:7593729178777
+7491023244494620177642167:6571890942311:4811675788667
+8727208825496805344425912:6655723685075:6125535810737
+7258486640258320883901830:6796757701640:4671361065190
+4801150104132641814492221:39230984858935:25966542987526
+6367542289370274819923931:75376322059720:4938791965691
+4568499174971128685895829:59319045308466:56947888349173
+8890382028525904388649122:70962254141282:66749705354140
+4134253604113818660167710:31598810541494:22169781754046
+9310241336943992601021635:454588223988611:193948662428731
+4274221100859994495884528:586920124890766:93328877242362
+6404669516501336916853163:690683365584619:252441509679351
+3150426119012735497495537:808691183154034:147441323404377
+5745772991740881562034295:630131731558402:119427896434375
+8314547948453386963434320:6384627253725402:2440370453987774
+9838589662724077096146612:5168988871777705:3660126777137787
+8214360610554582444779064:4817838613307835:4456155162769824
+5803927256278610540249697:2092438238608035:797401774905237
+8953258579158595156988924:3906097257911808:3250062065098748
+7484865371527510215849850:78633994428220011:69999662293082464
+8990384764360085261930051:99256476694417470:6045582117906881
+3538406866073019428220930:15055803399524173:5971667035193485
+6983798739497115855177902:59846441777265989:22980760979962246
+3137584366455992959199855:25501292265192246:1442335139784761
+2094995047347075263652088:301348481325499765:214823952088887833
+6335560896930268604036009:237225140822887911:210555019840690826
+5769312675332497219669841:647440845912188996:316892122597952637
+4219492544447414082846944:562447106768722125:288290791483043819
+9308673685582111465836128:680192203147281580:556895039464012068
+8745280332761334678414127:6976443177645731035:1846082594413876087
+4359510417384897747298942:8607348301629753845:398137348611606427
+6070433738094854009764830:7983469452298909084:3153303071015018330
+7038846346010436618900457:9459689096443418341:5205616046352382449
+1864044547800567426284033:9264255627431105227:2201516409605769817
+2494862169022779627240820:38917772254423064496:38378652989077724740
+4029856746191540027751895:45295886994643830753:17567939062337149744
+3184800128126207224246340:83638263513123054349:22330073507560745118
+6212108606950012067485344:38445366770350722649:29353463201600414626
+2558504426659627585246509:44482732904080116796:35560948555587607773
+2663719596187149135521705:822831285337730128805:214725548916708579920
+6951106162185458982492906:946301854725990046430:519039223062091464556
+2130411160224598141136451:140748049018250746113:48690284354847970083
+8802056611659489480005577:364393252521676217973:137596998400434867762
+2659217923186664972205076:663700446030527703276:433936388370992881420
+8691816748742736335637782:4474498607815105509670:2340452365801435858642
+5081129140202153475833128:5475416464153570582049:5418077931793546273705
+6152509522692652571420606:9678577916186716147669:6612545914087817650791
+2722150438552703872035620:7124415566415279440068:623692182067125929644
+5575308102741005361974865:1549144405891688623954:1486530342709692988373
+1090744299747316021210407:61697417877180172748468:41888195835253084486451
+5441352302500230626869243:80303603663000491186548:61010857079197717370527
+2493186086599460783084188:97873400961505146214477:46351062561832127722263
+7198396149140618541491271:53749116990421000925694:49763589414625418373969
+8540494709776624567788535:25496287765541373148389:24734596085805936226609
+8480217355322860546023910:750492846034690102636690:224796048941269417020320
+4089581031717016082901036:748316729014350210013143:347997386645265032835321
+2920947715540879958735886:856972852741873642525946:350029157315259031158048
+3000210890146774823940596:490441707646399447509759:57560644268378138882042
+5027868038026172526692724:360742927019377313440735:338209986774267451963169
+1872134298932807577129835:6318096565775521834345618:1872134298932807577129835
+2476066281289999078687249:4849466593348245289738883:2476066281289999078687249
+1335365635330684684252634:8260052181322900868815008:1335365635330684684252634
+1282506500312541148727090:6459492532310010230926905:1282506500312541148727090
+8725792140235202201464207:1458125158130777979784966:1435166349581312302539377
+7964799116797901407303765:39154744715348459785612687:7964799116797901407303765
+8432575150606904516360997:54978046853775603296107463:8432575150606904516360997
+4834269800157383538672690:23874077624728220388585034:4834269800157383538672690
+5610558765489994374313119:38811391032550881572598104:5610558765489994374313119
+5826675011838830077440840:51833618159519388407091081:5826675011838830077440840
+8853591558208167318715674:3:0
+2856696645257342821004552:5:2
+4768639862016391193994324:6:0
+3218471567379655917890759:4:3
+9619778623911942707799073:6:1
+2540968608575759164480745:30:5
+1400293206392251199767060:74:16
+6650210748807947380484648:19:5
+3255426350470218870104264:22:6
+6465424521833447020747699:81:58
+1362944378883518367669332:528:116
+4062141721704604547220849:729:99
+6079960115255671644106327:557:308
+7505463896958763431641972:254:146
+4585833569716398236799032:853:80
+8911921548507425270842985:3821:1476
+9627237465268966027398888:6573:5931
+1750636417438631932433201:3657:1595
+3689503489012040795186950:9437:4638
+6548383851495484214162387:1031:412
+4169216536889171895175666:77119:20267
+5903837038851035251243759:51353:45495
+4300853354894941039337100:32819:17401
+4140564865125631485820611:60115:12071
+9906477882972985266094835:87905:34095
+7817179020813193156040836:545867:529092
+6145604041501652059699829:865395:836549
+6562808324772168005678279:134224:6839
+5594828456279107673062251:581584:412427
+4479178691199869281407369:972806:399665
+2505967152088116253642687:6073510:3158177
+7659250681906149799665043:3510490:63983
+3781875301975156817567707:9308996:5351207
+3742423134116912463874308:5692898:5057368
+7238759109574246401763333:3333193:2075954
+6388164665043933008330141:33378512:3476141
+7358139943616153744691553:65117616:32986609
+1317954969989947331328954:47190738:17987322
+2847874582696503227427238:55675883:29940778
+3339410913721947935906843:50920328:11965139
+7646527459754520138334926:766483024:101964142
+2229463256164041684379126:804864083:305886507
+8964752997864938679527560:658391334:443956690
+8026764486155930669891000:799009983:143405447
+6895380183789370262296875:592809805:285081630
+3544237229935341097817449:4117142542:1004451375
+5069874672197267080740662:5877776879:963069736
+5422093096015151977325437:7775306651:3878576472
+1713982548605764524809613:4468302834:51784647
+4722549580223980465861753:9057097888:8598376569
+4385370897427461238579722:43831862657:11284535999
+1941630617366425559736576:84672072686:17630377022
+2323773615757902659675401:28222653489:1288753927
+5189644941055486955874748:32585252870:5877968938
+1614047328529687827799689:43685607256:42130948737
+8269902643336579585227753:719362859836:534968951033
+4198760080078619012098889:808823126803:711408524339
+4723482423428764829950810:111026909187:92536468663
+8323214230340635379426723:464585725483:354303136413
+5049908441386676871981717:487561303796:89388286937
+1814565298901519355089180:8470479493783:3692243734360
+8302360138400497689327906:4249690247570:789064945576
+9902678184669988380432606:5819809908160:2297726333086
+3763714110045062793547920:8501418992666:4252743662022
+7083623289430803918694816:8395322988119:3001449348963
+6543278545294096571861868:73301715389453:18520658384923
+8439155147547834383034906:49834755152919:28739452221717
+6157151996140882962026324:35041630590400:10027729259924
+9981234533462452539052780:98549465757622:85406054212892
+6814978510185040908202507:25413127204609:10407891535689
+4113946841207001108520251:286032888127456:196259031048667
+4299276491612583740926804:913646880287936:611645401060948
+7713247191784654412718290:992560541971079:987783883231913
+8609401149692153615085731:209470653174446:140715133117571
+1650115036991221617685174:602461547315028:390528015011602
+1188327381058662260635588:5581005705264783:1153602132239428
+1504774626685603476868997:4787113394081850:3819285186740147
+7821846477971732808108621:5181603563732136:1823987052930045
+8648163614425859788848390:2681510831254605:1050103557546045
+9072537590577239843141702:5885868411139974:3445895525226824
+5552001807642953945635947:51027413932655980:9027142564201847
+5119817248496486603059952:11691137842984674:2791860963762524
+4436575317164332940367065:33784495077316789:18302422723970369
+8657320647545655061871240:13632488821001857:6035490900847616
+2341577361699381893325208:25314162077934353:3975268777859050
+2719899731174042873899990:398767654726959080:66215625278521950
+6290994333657518230644778:784199188425865055:230458616270939383
+4906550743506708772534256:731657550619445764:334736409020717956
+9997779691887689759184500:766560322964543879:234697829352609811
+9305946980933060862813177:219399207389312343:153983018140185807
+4702492881429411379297591:2650870107982093425:409465332622672816
+4968294730561996816586981:7916052147349398168:6249738272839590485
+9489193002586790352912165:3196902242532751410:708797921111185305
+2492624632855546413029542:3013605473618236887:2232700009464343441
+4871813380865637760191786:6809901976189298441:2697197837466201945
+8057971155397403273704691:17616779563069220587:3332910852569549130
+3813093656496859163325153:71139404870985756944:21555412022591126753
+1201099831114196210043357:60113784711193647401:26412584547134971377
+2926021774061881921558045:29738526943032164849:18369610004189900086
+5220772946734259724991806:84854929691755833550:73397448982065828056
+9972629731080147853519627:547396191047181509017:165922582595122247921
+6859972214412983504060786:291840904333692818882:251758049533796239376
+7464282389056761022482669:163517802346934941361:21747523874819235741
+9551143135320546686376858:583598972109091303368:545956755267506759538
+6134037148957373715307552:468799260273397237475:267627540244260184652
+5327429839355912056292153:1975347373318370847629:1893320889584251084369
+3402839321725222652924863:8370774416349905645632:4304908687160960798271
+6279992357942145970182849:7580766123067608608222:3118008042166042575033
+3126977451303303497197713:3645682474931843853586:2627570286713314674511
+2097244845062232974082323:7388990651384833368570:6160490720325130777013
+9283952484485092162374064:62816372696193000187776:49945698144721134770992
+2884360219007915302301189:95045052940928855952894:33008630780049623714369
+1865901194999611784932711:76032764880773797252266:41114837861040650878327
+1491431336142143050567737:93756400361165440197606:85085330724661447603647
+7188177792529747044081313:45685385052437312855182:15572339297088925817739
+3573117254551707096848694:215866827078260492497851:119248021299539216883078
+2686597183512833569991713:873416130491812280163143:66348792037396729502284
+6250018654355129531886207:158870486103933076004455:54069696301739567712462
+8510080297244716893436688:793969661631559058784031:570383680929126305596378
+2654543812044286851921468:515145448955493410493624:78816567266819799453348
+4869238834518578365313224:9942276039254637724595997:4869238834518578365313224
+3875849734473384756615203:9629057221563131732303009:3875849734473384756615203
+8377064094502787367934718:7520513693542345451201155:856550400960441916733563
+3891531075530042158585004:3550771257278954403744887:340759818251087754840117
+6428168201854580288898623:3122549668378804129920568:183068865096972029057487
+6162512517428167425907263:10452780347074911909140192:6162512517428167425907263
+4926730437756475665474907:48535332448899250704165596:4926730437756475665474907
+2482825119456689292510980:74819960747016399441586382:2482825119456689292510980
+7622311088299834549218414:18632435629930724215653229:7622311088299834549218414
+2929918841845401726472014:43868153635487855028913275:2929918841845401726472014
+5296100345740817101077423:9:6
+5779718983070015526011304:5:4
+8960346185225592501202530:9:3
+9956449059881631938512830:7:4
+2999680261451005420978209:2:1
+2494278636886542785569111:75:61
+3232951221084525387391569:30:9
+3703088108135149395043326:79:58
+4549642039132214644478410:75:10
+1207462158859718316611278:63:19
+6885787599319461167481879:528:183
+3593953014937093391178914:677:329
+2999447175169991986640134:433:304
+8350065312614862965216419:880:419
+9988789462017985356695517:468:417
+9619208222701257947791160:8329:5672
+4783723472476573771334404:2419:638
+2364389176434187595624288:3574:1604
+2893415749221582726724647:5092:4271
+2061854118614628382980280:5107:4087
+7503871157185374465529946:89637:25634
+7678185518863349220924528:14450:3228
+4511917247908080018120581:97388:37337
+8796796905009123428293007:41423:29725
+6127959315636069261703413:31131:4866
+1983470967583918541081450:198528:152810
+7590986353850255191397560:131760:85000
+5844842734159326287269417:302092:118649
+1492418460329461953963754:883470:359494
+4270223717847368830116507:828851:92402
+5973545016758794900170427:6421450:651577
+9596471836044789947232320:4884637:4596572
+2795276097788105705474906:9087262:6821134
+1432450400355973396024569:1531844:1165657
+2558952948446971709477178:5165564:3879942
+1407068256823277316384318:79610471:65376359
+1748981156509404063240185:36283784:35453385
+6505497883417564609700788:38174294:10284404
+5259307210612584091394832:18908737:16241184
+9589269792528376889591449:63436831:38373886
+4320643046942099391499387:688998655:239781807
+9959927926486681040613418:469860471:60232519
+2258980400103839142934099:264649877:129854252
+2725534703149229968332085:357876636:151329265
+7364467872779608864480365:280402152:146239509
+3489568852747877351974689:1221681973:539778532
+5282685511238094749796161:1169005856:636314081
+1104722879566424898746700:1566962632:981694308
+4032426947549260853499398:7780021912:2830091990
+4914279909210635373459792:8057815999:3617367418
+7130161261557375812310881:58804982101:11803194491
+1454340053504333230101594:60485176156:36890866562
+4852391364088719495178725:68798216484:38229542901
+2580442673935475569812532:52209768343:1079633865
+2598856121411951181659808:72587571634:41332242260
+8996416513661380597957384:165113235520:2109627464
+5586149030960219657095214:785932252459:305918152034
+2816595872593537880688216:363684207595:308051918396
+5727584808132122378988804:210786081333:74833994871
+1775832161461192345318097:643359673055:210249061202
+9641991721298224116443601:9882142087382:3381075144075
+7941285411727516855039888:9258240486379:605083253610
+3846126145364997867486487:5739391925142:3991662471631
+7026309609928913124606649:3739990469349:1828216367209
+9755221731022473984852917:3286383186747:2106235374254
+2702475602212886573535024:79455680864493:11928099133554
+4154984185042901752665180:83172687142877:6359064129016
+7323605288892898423424868:84694730530248:51908883536388
+3783321301831187732573466:34101974852388:6213474186078
+2007453463635224751412442:76245487726769:13363450306121
+8219626032415178808968441:172873405893568:151913332782969
+8829603874825438233240792:993473946543399:236419026465051
+3758564817177792918292225:381824925822608:277000288307089
+6400744890077435210703823:744010544808263:89692245849897
+4315899744388581174885266:898738555033687:262462483523661
+1663165171658488165421197:2582591954064728:2337079584168333
+2931366782681560480549147:9974167252552072:1035580003660923
+6880013807241544734676600:2542959539785782:1156166231268880
+7503206717896009902688695:8147163968575935:7260355908085470
+6821144440290839465472258:4839847280300347:2574027343245860
+7811127775448134143974362:36889904951779701:18881042744254855
+7668843871718836547763970:81412899301630136:79125421868793802
+5417553087921422262688203:85366390443978813:58833126779815458
+8963761098605284163024680:86471456094785878:79692725681155924
+4887176487957520251628116:67638768523950418:37036673025026020
+2594693781408758733916594:373342942876892246:276109245451686916
+8117073197582058904294033:498258635089965875:69591730360676408
+4323099492112484488311609:595436814215535938:168607849028167355
+6835750948509482316535404:272226346106748032:123315795482330092
+4477514742300681082259373:122755036242284305:121601076358239068
+8967239311768016192799790:8651271897597787719:5661926162070726472
+7523179268618084541292751:5647612853420331642:5481802567601647835
+1984398324557018830387964:5478686024736506587:1810339381935056803
+4820084325727556032699210:5587756830455703898:1467424009014725940
+5900219035872631962783267:2474284542050261476:528346905642930051
+7250076086837728122222889:28762461154426418040:8791024924206134209
+8911543870277194989429254:85195092742402483392:51974329152824142662
+6165888097499536049396173:49473040327463414322:13608447443259030991
+8958586778879688000375003:99425546475750573710:46764775134057382873
+8164398774065763698721846:10800894568978130139:2569375195126651746
+5800148797159534715560515:271885301741748600209:19655102811827301918
+9248594269887559121338131:823923787905103425915:49750652773165442256
+1106920650540156396161912:518312818914411862845:322782157887068987837
+1309856199931974868384990:952497330462215741523:172370546428223790865
+1231013126121372861073473:730083981893933108435:91532648201640252063
+1447295203715879711398670:5871807448952553741435:2830571273551491005660
+1241683049853334109802568:8858644067646511596388:1472880382822486308248
+4157445370779541555542736:4459868446922481122430:847978247789149437976
+5066898525139544604022299:8603607779131366669455:7977151010301002382759
+7523116251487043344625914:3490701313065193900360:654921831550489350114
+8317188768588692473969108:76027320371287606832105:30210848118343329269663
+6742764734083402093762378:19619761170314676469158:13186652665468064841184
+8524413740930797766671655:71506662374281135752299:15120918391342612148074
+1335863126960049276440203:39538437524548012173716:31094688649964874707575
+1467877966707308234481008:52450372540624302758260:51717908110452060007988
+3654827141622855860484464:778351207870546805283515:541422310140668639350404
+4305485798927271741696846:907273011729054133361883:676393752011055208249314
+4403170753291354205258343:964495810444598595803952:545187511512959822042535
+7174021803909210557408152:710499386253902079868380:69027941370189758724352
+3436379487521366525815160:287278057189079371421846:276320858441493440174854
+3980768488019085985226578:8354762838898050109965749:3980768488019085985226578
+4510381752709832995053310:5364962173789171044596569:4510381752709832995053310
+2578459313986411835492849:9145442404695493441005442:2578459313986411835492849
+5217033421147979623902954:7769161575543387506657670:5217033421147979623902954
+3191945479727177167269712:2299163158609477955059668:892782321117699212210044
+1401826837592794823924478:12220748553701406820632277:1401826837592794823924478
+4630138353890276746558586:94093942236959409911802829:4630138353890276746558586
+4933558360370014232584409:11521150243743447018445284:4933558360370014232584409
+2426797941900011233337659:40539137383481130452954551:2426797941900011233337659
+6843769689793942804097021:17084559369161739006789662:6843769689793942804097021
+6598044747978890828262207:8:7
+5549483341086570004649026:9:4
+1517264461850415033533204:2:0
+8137115095846207948268610:4:2
+1834181927853517397427861:4:1
+3725872710052839575243023:96:79
+1433793819583034507612232:72:0
+1370551469100956266052521:35:26
+4733566038235944416035488:60:48
+1788930430047789017060898:19:1
+6591957343377820006501670:490:160
+3145164191751766291389600:303:270
+7302201037280695901200551:811:489
+7377861071026201628354256:583:27
+3500418793494606742010921:215:101
+6643978325783138111018190:5445:1230
+4606000766520402161712243:2268:1011
+3161998060389888352512811:1684:955
+7060797894327235385889519:4414:901
+1929320631378721187401392:3384:1224
+9629480533855136781198819:81507:50757
+5443667327371605244687142:75756:71258
+1718920992180483381277071:91309:50315
+8625711815419482816790171:65950:53371
+2492052286592747010669173:48851:28896
+4775830107111558855106331:627209:503318
+8654513358985728677385751:980679:714907
+1202383875739758652622220:317937:52536
+5176649561273507166140120:655353:179699
+5212923386675537612079987:330601:222891
+4288809093663750373233696:9320472:9270840
+7436172167177244809261108:3921588:865436
+4691831102315795811578357:5872691:1975829
+6887455926744880220671817:3223110:839927
+6079871587004092600970370:1934686:1649524
+2760910566815622655511187:22155935:2931982
+6977357634383368891027555:88688635:62875915
+7970811232899925487980782:37903049:33551205
+7038465020598391103674115:86826215:25534800
+2061359325182456790083344:87017101:529590
+9550076703892924061433348:150112484:141757752
+4669991125855594451817371:346690011:193419239
+4648863020812022886578166:131987361:84434196
+6384062268417228344881883:694643221:289875908
+2583879774776581735684962:193337475:121133187
+4932584274044101757398413:9991915639:8367257500
+2641612798063046736131763:7449486214:3579210903
+7308457773406951795011269:9441248096:428297957
+6182299707020238681483677:1074791580:145189757
+7094470258679127512305607:1238592286:778249385
+1741735565581387238293222:78632751474:59277851794
+9798149681411320263528960:95179893566:74192328816
+8274056905469945286317283:35497251691:26122428764
+1999965253093133158895332:15981912220:10026800732
+3418038830562767668547285:17354827176:1446907685
+8380875925450184461827831:977665881684:597030942975
+1259091424739122042798721:632864520803:307720574452
+3502023501803160235843131:531852523735:339123484916
+9524565257687283162830310:534006703106:376786081718
+8584331150702132625186550:328442621288:262849209518
+6591099439488318027490596:1576594608511:250640456263
+8310665159850652246371199:4190388337543:3089750457459
+4283523710766715947273051:4884917051710:16577160511
+6897974645312619821274585:6695064606473:5150446747446
+8863194662133559421637308:2675154045899:1677857649959
+8458187801833243596937633:61670302685771:44237710279256
+2657417852439812533316095:49625176715560:16344031217335
+7864654512042774361434086:59563332657940:45113025097286
+7882906910494961677606248:97355010809806:4570294773880
+5673794587058123659052789:45426214516036:34733047254933
+5007989386934722426756704:234656170164738:178797865481106
+6051246170143092246649342:210883313342001:137035647546841
+1522364787600180560018081:918081995702679:358861961952332
+2289334513446562603882930:421338502398569:359690848798294
+7921501405328505279424639:846218149097708:727685684918347
+6729902196084368851036902:5602265159675379:1371321085205421
+5192142757666969471497962:7543170223098543:2948827343212835
+7254934188619984554651525:2727718354174771:2115867144871617
+4273768626739885875131420:8924173585029720:4017356992433300
+5454387930558684792512409:9666291045423385:2964355896846504
+2692985071826580708432839:14583108631969273:12064954403993745
+4043942591959510193067748:23006561790265390:14492318709029978
+3692642756028984651265399:68121991891970554:60129447694652457
+2364584655251976279943070:84784920011316014:46653341566502102
+4833271442558510277988045:20100826934322588:7765263168474721
+9856611435904033063870750:270950042641652956:267937474288356210
+8089450314557694605112814:752643412376069656:533525666762872358
+2722219670587212694829158:195844567418515782:159615720013638922
+8559441667624681652078676:727072575626645806:129092111447026244
+7976876727164760234137810:700910065884129930:102134475606329750
+6367108666710691291367492:1371673367995924780:1156785335867625372
+6672022613847821809978422:8526054308227596306:1445215857458699652
+6132524417240700558114409:4716573660421496863:2327945047386363768
+1736306048528228625197833:6578007027093936513:1625684621518972405
+7629792745589088751121455:6701261206378749862:4786454499308242735
+1822491982103857152247116:37606082386068616243:26017510199871878850
+3100964466167958511388952:40051607889233939918:8776951909947177720
+1068512928105917645538451:75782667852491488668:53094053640146808319
+8133755882598015042323971:57076505687868093194:11363042684553619807
+1664434031014025400544721:28067060575332204894:1204775674985920733
+5715618860834640032477208:699922037966553312645:55498799765681418138
+8572200612590695945999542:625951145444448293949:425626874421008661936
+5259712849590614829948608:181259183868644121410:115111274168358994638
+3444752769840034502511161:468429617544426836802:389792035863971506055
+5307809305809224320110461:640141959597891074219:392318783109423760732
+3782233385625145794902498:5454643392369402678881:2165514713149738437965
+2153221137883433150118183:7193300387937550704492:2424321890105489475075
+6617416729819572897885959:1116553625670460642625:719944096423129690209
+5510950467870531416369558:3406152360173035869640:3202101470732415161678
+7447648897032048788919777:5874974936119066907837:4055652969191016690298
+1253659895123441979743073:55876233081058922988763:24382767340145673990287
+2025862499805086577594670:77918796356150633418610:77892590901320742129420
+9167916314710930563228163:36025698949890797591566:17388781438667974970399
+2465036963410928408052658:46511766802176206572481:46425089697765666283646
+3488670882482948644150704:23804488937624051652730:13215497589837102852124
+2852497089655498975057659:600363447219158366542583:451043300778865508887327
+1644715042603153531180928:696824897304323507115059:251065247994506516950810
+7536458776720019157732401:689002401497087247139216:646434761749146686340241
+5233948048290298243178165:686562086389781351305729:428013443561828784038062
+3668458516567310359430838:267679469996760543033044:188625406609423300001266
+5096678160427980615080668:3154936740339067954171456:1941741420088912660909212
+9376428420306090675428315:6323796892887005412494232:3052631527419085262934083
+1068861607684980909165296:1387460864646978529341429:1068861607684980909165296
+5427175689503225294393146:5280458914865912985255914:146716774637312309137232
+5769623150464890097169715:6339176811540568760879445:5769623150464890097169715
+5277166970261219735419888:69301434651190915933298599:5277166970261219735419888
+3542711203298948149365421:71058551275782107240993616:3542711203298948149365421
+6303644347170583841291775:42996770911030490136320792:6303644347170583841291775
+5930581978413258662267560:66360947376164950834204537:5930581978413258662267560
+4402556357635439799624712:41200583526942998164041977:4402556357635439799624712
+50828811912830137291149995:1:0
+67550010169783393869737575:6:1
+36394081915939244171801837:4:1
+40696329695875165443397274:7:1
+35679538487535982180976977:2:1
+45831941388455161020759145:40:25
+75083700783772023994862298:52:22
+18339098410666101477304722:77:57
+53576351231432763101204612:77:6
+20552323637383967350836325:40:5
+85616114825040911206981140:368:340
+52672599970939936561086234:434:8
+66496578483561319770473699:903:518
+15902394109252367046376115:800:115
+14768485192394194671166031:692:503
+92594187714563156230278157:7185:757
+25760595439922150800690336:5331:232
+77763452660945889229652110:1397:719
+22127185581703500111266333:5475:1433
+77768088836002589522152331:9746:6771
+37453799484161101739698860:29215:5695
+56457009818684959180079805:79925:50305
+35473758265187470737593423:68849:60949
+82815396565987551304974586:69634:2152
+20059733307798704920272283:61561:56569
+68975916123646664250818417:919574:685037
+67492850838487140023169617:297637:199246
+76261226326193854907409185:754264:497465
+25855503057464290448504417:826255:607322
+94761579653547088048688991:898154:425901
+54077843439513035776939350:7676983:4451368
+15635949049219505365407813:9814199:2609585
+76503452535967212871316832:1271033:774304
+94365251228472225519509313:4682014:223381
+34151988078988418314715670:5631753:556260
+62458796917328018094479304:57730993:24733175
+63099774952101265386236524:80304013:66154313
+42952725517102703544168634:33774730:15047564
+85384758960450933139221755:29131272:21112259
+75593167306011994391795815:23149196:10424235
+94463172954006941301294437:617099491:519323111
+87475978948984625344177025:615624364:233630257
+51616780523781805447708484:135852092:107229604
+47500733191245735925735899:430165865:9440269
+69373807804115477098086554:366393571:196368663
+27912993152676249906369872:8582026566:3948425096
+75603802454669449386055715:1758989476:919736007
+46139244294114329588906274:2416071040:493742114
+92614037099888093550322972:9622603457:6657472458
+43834592499604934588155063:7416225082:1458766785
+38405613840217040982416480:10459479123:7021415438
+79271843609302209161188438:69038656560:25482629398
+63012183675858366031091620:19077762163:18426955954
+61224934876285442732087858:69006462012:7498533626
+50713771268735374625286682:20723209638:15352975594
+33570491555227419286311879:644414225079:427481917278
+35329702280066113200432544:619781869283:45901321670
+25121919700253859710590704:893129525832:664842294600
+21296442935282904323176418:220548061037:99244755519
+11174601865903751811676683:187053358172:84739594895
+57541944941510358535795963:5494368426562:3562486545665
+18018899693044416974537931:3314281692227:2400890480464
+81089580081996662666529872:2384586167836:813474859884
+13032321659762790605517175:1883060142022:692835932729
+87989381221601769080974809:2461689980907:2443906583340
+81656611590324324421964138:81615338586353:9892853739811
+30717200870564925923693211:71450266880400:32173359520011
+72749593215482896482492358:34888897880118:15794796064240
+99351531727898247706351863:14280133255015:12344736739463
+52813180316446150779116868:57725697584501:36607022702759
+68712562173922142871008986:531743047415668:84631145733594
+95097543442840656150029210:452865600682294:196977999301212
+64238828508536798361962260:287676991259949:81014702094985
+52095546865044306023156227:287629504277742:277207351092901
+18770460433207484005546367:679129122956009:583354542377850
+41323151722056086515652938:4833009758549530:104451329304348
+24369266647594805416028072:1264949838059604:124460734257920
+85600192071176849782103740:9790102495032996:4284632873817796
+66950035206299019302519479:1701736504933036:104871239350079
+53575085030322877792719585:6253529600992588:738536685865917
+28200385393870196012317144:97675871705026497:21680965079154952
+84822354940203564242518954:90238011601683927:74059586940721777
+11579878777206437575174759:62750155553652349:23172076475073152
+96287709411220132437753208:27944146104761823:7687350118783033
+36367146412265889502889059:55803220406107040:7375705796913539
+98176743835847630827273314:130101968950766866:56388054145585194
+21795761005712092179681349:761111630544417935:564165754057241839
+29329992835012864877390736:222165116714739921:63117103724063283
+34533003601968589014886884:488956193719433786:88850444905599608
+54583041610414123355577330:950023686693088742:705674725537212530
+45839311178885568178054360:2342582345657160612:1856088715267887712
+96174517085282275190608583:1889006191851944020:90016485618857403
+83370749569197550315438935:1997854695008412652:1438257969203358263
+32090443752247367332852226:1966830908012218343:421330719145512710
+49105043421334139043308897:3522428724048952786:2323845556065432775
+13603092819247717530111895:73048366383317948040:26031346249246103095
+15642274807135253244601803:58739316771990626693:53490070921346882596
+98406705678165525976028796:58235167040306473551:46885950042372445731
+39655903841476053168610606:97282440036007821318:79114957968917826358
+53298882531614041504200272:96341621695599877180:96185822408251540412
+61754811155378075652522315:241847125919321116374:114940383105870886911
+96985338329535059053273026:947903160056787742123:626508324821217958281
+30394039568893289364169869:436241252204310640302:239045314558433048925
+63836182691512690332200893:627853783010588484763:405011477127320892394
+41289883654985907894405314:296011752691346044594:92307328122172122036
+12758218835911412262945591:5723207974097763665340:1188261647497052902731
+60250759259472286015399571:9563862409065646947395:7989944767775893758466
+39685748000663844351483037:5571715599557732760770:3989500613671629279097
+26157720476329025920469336:3857085443781218923268:2824082048580401789028
+60013728766034247011205659:6789542635835148409819:961407887370216815518
+39750033756406308300538953:14065880937917453061838:13920106789503400846603
+36758505996289317323223505:93344282838654231559242:74202840698204320441399
+88177875247365498330554898:97774410253008048166277:83131609405246932739321
+61493273667934109028729951:14735951167317661179182:149446717508928003465
+28195012665055160606184462:98298627090440420349825:81605317189200386134512
+80128453015500368946859151:719098925398115748890336:308472296309520820031855
+80274102387471663327074555:356243775051674781983081:119253000844837380881330
+76850116806744979550333681:719255868366197304912520:608994759928065229606561
+64930612285648365704680125:487227500989898628354207:129354653991848133570594
+39411390653133309056192475:309648253194004978189697:86062497494676826100956
+23947997605031167692844675:1416544686183787125104347:1283282626090573691175123
+74564789735572818873196663:6682476560843375192156581:1057547566295691759474272
+81554728338855282982336844:4024733234279930200913625:1060063653256678964064344
+63233887530913212531358234:6091587755892025136420240:2318009971992961167155834
+70618286262439631469019378:6942626115702996974060883:1192025105409661728410548
+24690479557377908832491086:98962936805094580707228789:24690479557377908832491086
+54100359002402663349394620:92405374538201765017336362:54100359002402663349394620
+80848398641286779875881365:45274710008367050111404174:35573688632919729764477191
+25383594636698256896136009:59726660947797542882869877:25383594636698256896136009
+44024485178978198568877335:21549499876989217986152788:925485424999762596571759
+94179797638041025855807339:497431099078509580904171875:94179797638041025855807339
+57826651932430050987025668:942815394011462670301406573:57826651932430050987025668
+93209412998225721854505632:796454667089188455388861618:93209412998225721854505632
+41971974003997986047845883:188219552443433076925753626:41971974003997986047845883
+66652389820438542750332130:955308050350067726314748740:66652389820438542750332130
+39635298029779932821659443:3:0
+19904241723135673661838883:8:3
+40903751431240835470985944:1:0
+74958462101533505459916310:5:0
+23632131811071509655325517:8:5
+58129213293254911791913503:66:57
+40759425158730516820781159:95:49
+87873636721645142593611927:47:0
+70750559024872693734038498:99:62
+56628587304560105488074447:78:39
+14140594139337119602265413:628:105
+99794332750156688021410114:980:474
+96762024789124163492807518:695:403
+59121034752589178303782950:530:170
+55930288609315043578838137:791:178
+63174597420381066871876051:2968:427
+72066072045812609301507165:3582:111
+98269404371067674100507766:7126:2512
+42676610714623460801658136:1925:936
+37357953969743917251544859:8649:6782
+67522223733720559743289439:51872:3071
+59809493304668303106496241:15019:164
+36900291307076285777350220:81595:37040
+69568977059844430116380066:49179:13973
+19153701844494462382221392:50965:24762
+61333997091447895263126570:502175:472720
+21530545000832129216149301:393875:329176
+24042069395035236030030963:581621:223028
+23046649400491934813245813:249833:240260
+44335864763025290779371127:464291:34514
+89255286176767530018148933:6561063:2440915
+18174796437621421518866447:2985166:2463829
+98757500930161566328622465:7773924:1957469
+13979295959483854561646639:4321015:342534
+63946164866781326980151712:4436380:2711132
+14768477305288370590945205:20758453:16322721
+56280224584984337702931824:25705079:124890
+48307851853473346961099677:37834702:13444743
+71907355830646224560281586:92986549:75590035
+71141411069132403573074050:96705040:88469410
+16199172381469156016193392:658502602:430158876
+27474359237592121546536469:953468261:143838423
+18783678205255002971128309:596153202:14125069
+17041515474775199284931787:980542854:537458517
+33395243014640817081480487:520309290:246649867
+82339131707431748677636385:8815194705:3251046440
+97636328508012396783637518:3949227882:1363260060
+87919763443797470157701110:9927147379:2805930028
+76464570509497327550297214:3362860458:1447878036
+43150581421137961260173093:1945040703:894133484
+46002650397125476944746825:90522238428:51991711217
+85422279112449791221862825:50689407489:2388626360
+51394066522830022171707308:29711065986:1883787680
+46098568597849367983456708:43581903193:29676701258
+72380900943839284151100274:84221649131:65715597591
+66178167915473503945787657:132646176408:1905256121
+95370810677907400798809375:233110936983:39925602156
+56815811704021388600475791:458856258566:269317391169
+94034738675953804127320415:205415674433:132223560132
+52920547907785895995011287:131024789807:32791792312
+69144796688944114723973873:8058974291945:6382935654048
+23675469097918400397325086:3933709798768:909928823790
+61686919369401770165141984:4056029018062:3147020074034
+88319844578740839929450860:8406199755001:3757258779668
+72670051511564680007575980:2747953884630:1487326671660
+90133046624433358214532304:39478333022777:35913571241934
+99372370210564346473407678:13264589721762:4251219764688
+75616385026602428387931655:10239899241823:6622208109895
+45862114784839174021280034:30630492167987:5965989792338
+10113261484259322917827777:81899548200875:39313976352777
+74129045115710152060649142:109315192079662:19625847761448
+73208260014039226822563781:990271104718976:365527323242181
+36470471057823211785090339:153542687779518:139354695801669
+96486326955832231934588329:332849647216877:132435384299629
+12538876101107499512073059:444868542625636:273269648136863
+94105038277818991847392115:2601930229885775:380432196469665
+53125085697829724140926507:7478213026877255:3043768526786377
+23420220986347206309446718:3061138670878490:2049805422375778
+39643580094705948194834878:9512413479942414:3587657983413964
+18767206668891377529715505:2523513579585048:1495448635446617
+94836478520910759503317275:79746760868525546:73534223195329305
+46873688312235448027022909:88493329947140542:80628089028908037
+33284406229126535430726092:55843731697195073:12947453880785197
+13516320442882713364664644:54240443312679558:39976439266340806
+18662929047726209045520462:81723503645894683:1140673302107921
+91469875366110383815632040:343892254819701753:31998802578487210
+70322922348428057443855290:562706389852389475:131688479463649140
+65637149393231518645984450:895851733050263867:180978349122667293
+86254451287564829648843297:729641870370740359:291824850784758354
+43513116500090134104136668:265450725427197781:107029251228640295
+44677853063675263333475781:9576679132969283620:1744932855723896661
+22768372366019033329392907:7743585905159003708:7395696781793808711
+35960384816010742087156874:4970813335504042913:78093831417383496
+96682007334393304831879024:1910969574712474508:687106955640443172
+34307969362058766437951804:2595273845865162175:1093481149851432454
+38982646366718470818343551:16949702378606241690:8916459596949270861
+10543588471583302884336013:78776070987563695799:41578465802711206255
+49286963511451473419362433:77571423393140478538:20373034841868280683
+76587996275319065318476998:82337954557057556528:30436799066193053350
+72562586669760741725405576:36386365474044894004:23368649037025172680
+14895625851195111544613415:780158555419545631257:58552569726807023514
+55729378320117796362885799:541565032428741528145:170223070578150652719
+15308291150296749511555076:620337683180544563947:218142450451307034957
+51895628328838496837862667:413259869016177508252:107017262990061609515
+95324156401982237938009174:817150859172263018807:240076101067742097396
+98699522725011190899406343:1565153530621230544226:941084036392780514783
+55587184860490004781874171:9733152961945385363870:1148294819908968812601
+46813557227576526754739612:7118473197890169058874:2477478250775023584188
+71416631612029994912432063:1383641681450209879469:1349865658862193519097
+49343573725107442493232967:8529176450928614248490:2287956485409065718317
+84006338613429338507668319:74329785740354107914771:13680726829196563977089
+90976600651069199439536823:44577046560102789902361:39425668459508038720383
+60565894444020606988276006:97610206884051465823248:47566175908698177862246
+92930233028771533600939772:43625103304392351153930:8762990415825643068872
+35807736180623476165531136:55425965745018485360366:2562309341534622734700
+60832590208469238393734624:360339749550529958188383:295512283980205418086280
+83619176442893201516332193:117651052828481706938503:86928934671189589995063
+23649685285389199164057405:614035998845812457926883:316317329248325762835851
+91264515104356019545898623:773919995610252348786176:715875617956494737916031
+66179038795629367629202457:500534114956876268713562:108535621321700159012273
+73892276309933284821755434:5025241648360401809013347:3538893232887659495568576
+46111177665515429416028145:8636888735445992895098873:2926733988285464940533780
+25041220993278357081507185:4764972048054146263040042:1216360753007625766306975
+24027009286164591410643080:7667289384414420755582621:1025141132921329143895217
+19951277267107674990689392:3251511301052710537783937:442209460791411763985770
+58993205251391289488616388:44093332546037916141353708:14899872705353373347262680
+55118101057544821483847826:94965277343248376023811292:55118101057544821483847826
+31875377070672055129608657:29047481604985796030113475:2827895465686259099495182
+98731817890809301623540251:93165450598617553604635666:5566367292191748018904585
+81414377327384225190188611:84114857443322176825715695:81414377327384225190188611
+44743591563653020020308495:679957583398452365997896835:44743591563653020020308495
+70479088979461231345853707:104012543426320745089818413:70479088979461231345853707
+43706229455239871483265192:968011808741201296802900187:43706229455239871483265192
+43439226674440788175314518:849469510848490517404326554:43439226674440788175314518
+68160320953474502677003624:742603566369212482788509208:68160320953474502677003624
+50667645915974153819291289:3:0
+69647879284850762581171555:6:1
+97166637548463658867560801:8:1
+64118487537147288721677994:1:0
+87630990474836842154899325:6:5
+83192472680447496517828921:48:25
+33130579834126235474175425:85:80
+37982333301498393296843819:58:13
+82572712119104312961296325:49:3
+37653829179633752663228094:89:12
+90341225856245140018721496:574:444
+66188425570887740105282360:602:70
+13764388723461594265699665:104:65
+85754288028585724525931098:463:111
+47606164958317391710395871:379:196
+90901718348305269575418647:5778:2597
+71645069585487579382760009:3422:1845
+71624197716617198380840988:4116:92
+59310370870188363689431713:1994:197
+16640054755983768468556025:6410:5475
+21583308822074297129110639:45070:26179
+92864182113366782163764043:54019:51355
+93283850377579814191196479:13354:5725
+99621253182846174040560061:81903:9715
+78099143593421011500320181:90634:34277
+33045821926309831891588665:726180:209265
+20081094546540161760230163:280350:264963
+40827600227917172438282203:147134:119601
+80057371135744389723216768:665950:456318
+11371179057766264888420118:422234:370538
+25736820767991734383708687:2225848:1776407
+92483567632873332718591893:5051488:2597205
+84832758888181463782090563:7413950:2303763
+35210629191414205905217820:9537960:1663700
+75166637850718088101473369:8276262:1402593
+85280176995670196589916692:62560467:52273548
+93488617873639143550418825:31007006:15913109
+58725492106899069226238797:23382892:9396473
+52298734925378517517264587:29501734:26851743
+17292656504805670300563902:34523477:12859323
+97312503066988594503121528:184256693:93900349
+82564062436690706756958676:903699631:213040308
+11474376838642060381825547:215920367:170687225
+78634273656511552331636359:797340176:570273191
+55194720462152923852622587:869795496:832074259
+66027343078200433246035546:1370763233:327664157
+52213949765947483542725625:3435540971:1111706117
+72239775878737390997200821:6958551090:5573676921
+10743923530466860377455918:3723622178:2207904406
+12471959044740649922919800:8924290576:142181944
+75502041316747091224400062:61052421737:32159340402
+84724123111448235864436996:24909552962:15422144998
+45312286225434042012698198:42164854531:33326427652
+42272961860053182578324514:86725028142:73086341982
+81577265502673527887236353:64637937754:20818686565
+54155664083450002122517322:871111080019:245446319221
+68977790134447502461104625:291696790782:201310415911
+19843975394117176689927299:114585059187:67514070359
+55051316027428127098873244:524688195032:331380209204
+64656953009883435538613312:646929792612:244692015920
+42549015287182843775987066:8403900161415:95701223396
+84393540150095861215831537:7681749503963:419026459510
+84308953136933013528720816:4786874466092:373661393900
+32716806673304240560043559:4139233111858:3073364852081
+67282642343642435099825181:8489420524206:6390572614719
+22264386784857847328894459:24112269671145:7634548216994
+35757624348754309548933777:35167667921882:12558073785957
+22281512785851794124080510:87194987528908:5412545736866
+31160770699064440788398094:53330645609026:24677128711120
+45014632375344609447320217:20047633705912:9006779858273
+54891914422698945906895579:993534766321796:768263587182367
+30498456216492029499400275:988606925718478:841455713969435
+91339752624386814910682865:543903057551865:500163080423925
+37647580873163122685378252:919101060950525:810382353317152
+28482997351309738468012868:513312602081344:260058609280452
+88187314302039898352660705:6366409927565549:797173420348866
+22737805642966111765720238:9068023553909178:7623088992341138
+98752338205420819097747939:7258210347565661:7206763708744860
+94214900196422949358762439:2876311198683419:923250571009873
+23179728502796411039995875:3188937647059935:1775395519478295
+64562058262962029829758275:41169688128472740:28662344770416355
+90058856189944727056661910:31999334776996161:8077962455670228
+72138162495237246884477155:25527672652905431:522477874025548
+46248044632309979049579906:84936369339936314:80138163860128150
+35911403243183700837692854:30398006135289100:25598872047790654
+88600714792032888893331103:372650703509890042:132824282025961869
+47585230154021833283698393:146185704380223881:58851225667074074
+43398355714917382483127052:818818969582838371:497022232727616692
+63831502722039920519365014:659308410369303371:537912231856044777
+73047655484674687144792128:476752715099908988:181820164927892168
+58082621522505490126808762:9867504667908011799:2436022619858921414
+77831964841485545688136648:3346089416010476842:1023667648319032498
+69188538470228646612869242:5579496522878107243:2997271723502262228
+41724575840014597365563314:3907605939281338282:3663251351959436226
+16838534276748118913332173:5518045045080491144:4617928242048261557
+39147984510117013115455764:12179180372426920630:6588531754765304084
+67673917238615736073468462:81566911649918106297:52949293231067717581
+26776845373251305561522562:78577691098234118978:4155397163071508480
+22912139321397342079654526:92428649762941102359:1331661872215882016
+54119838860755242592211562:77505632630597395156:58269420630074026598
+53022158442765242503455243:301830867722367206190:133571712440126470323
+19056477934273293018685597:934859660455314160064:298615552169179941021
+50705279939855906545030957:325077266716005262778:52954760121662181295
+63855161095083851432199453:609363682355490069715:550184734402516834318
+97048910333891671738459785:583755363073955887872:164978209579335627657
+71413261502883677023103086:4414251805217475725021:3910049880572219438369
+45851666374868684071355255:7669681088272242805107:2312829177216582425609
+80768907725226103076174035:5337955853325361798567:297708560053702056758
+39252140967754604049006327:9844258437114051509008:3082578980880682591431
+84247580850743561444782342:5005639421880539165489:2669380494087289602472
+85749984845291964083854664:97168080039813960651527:47738250176050789207850
+88881469183521738504366396:90692295073859373944068:3020011139552039179756
+76503995065190511838005886:17082482310188151435979:8639280167969707691924
+57747080641442907547711589:41403060698575403154251:31214027628795550685695
+26569892976486799547156741:59839232466069426648771:1273761551974115102417
+52284520970473548089149818:597677340235913101406846:286592369949108266754216
+13161646548958359443592278:555031629966530104622153:395919059728167037282759
+74429681927645374767165944:661988245812575672170821:286998396636899484033992
+59772366395054941477155117:634292151686019855169826:148904136569075091191473
+63506020885113473738695850:527916308546488381206414:156063859534867993926170
+22234116495272780763790834:7187396570669994903173249:671926783262796054271087
+91847712614085282003902144:3700862897867143760457203:3027003065273831752929272
+28385793456898270715486537:3898485302041670684167799:1096396342606575926311944
+51058397640390594158032701:4231712629790357753741509:277846082906301113134593
+26907172221616777482688823:2857175504674945050194562:1192592679542272030937765
+97396482775387755159967344:62456088238883327832572110:34940394536504427327395234
+98166195318137509057847177:60922358936446216435561067:37243836381691292622286110
+46346889605859276934231884:65244108416493167198775158:46346889605859276934231884
+79605943100270627022260950:19969414774359550824447051:19697698777191974548919797
+30086017696266314392292504:91555460106798716943150976:30086017696266314392292504
+40470099169312544578667256:652077802224132374714074934:40470099169312544578667256
+56901879496866539956355636:765425820920621331126671930:56901879496866539956355636
+85654193108544373439965353:267897648650352871024414291:85654193108544373439965353
+80157107344024389495425403:670933330432151626876087881:80157107344024389495425403
+52945283699552493674424948:285110034627055531522269932:52945283699552493674424948
+93291886831368591414192416:1:0
+16133113730739112810340907:4:3
+99910025665120635781496146:7:5
+22425091927861094368214692:6:4
+41564007730008333122561545:4:1
+74253631700166687425481374:10:4
+28097913016242000016175609:18:17
+49866788374753700840715289:43:29
+60621995596684708592866007:17:15
+34538614779509155548348960:81:57
+20173915114324781850383430:232:222
+67231020687445924351365282:221:50
+14950320375341065338051781:175:31
+23331674186561237526522412:815:737
+23925411567954408950952315:402:195
+73392108654500482246145221:3473:1012
+99353907251285588204455799:7101:5480
+34822506782993388728309185:9550:3885
+30378495447615759683679545:9839:980
+93248830712608617432640702:1349:603
+30270051316521894182159249:30701:30194
+44273470236212312589854483:94176:1907
+27607054070398344699455178:32192:17226
+17725247256615646802078444:85006:76286
+66689072471314544394129862:77679:21442
+28249168143099798733722564:743633:704384
+45856686874747181999245061:796277:60712
+63610712483257358779600283:493703:184073
+75420789314467471318284103:880025:203503
+76673313230270039191071185:101768:80441
+91414677769058611323675703:1849647:734341
+79046568748776420465122649:1840681:926403
+10129082701533213003039141:2525095:1554436
+83148266404923567683535454:2638820:2048934
+23386789501532199612525377:6773313:2921480
+50882129811232349580691004:84575845:8162644
+59128144808428532717322924:95268830:68212784
+61349728767196486850884358:60854148:55077578
+51330531754964528749153713:98787229:51726351
+32848456204697825644742795:31532846:29642297
+89364148423540967691922257:130267598:95323445
+46816004835983727356892198:570902282:41589952
+68185482779828332101318845:178458512:33768269
+93018788646639421687659082:746102831:539847875
+42907973670843816522067456:609303594:150737560
+89341999122281391385278504:9795821941:4722303779
+86358522541707752468368080:4160749778:2529609484
+78651110010819634611026438:9697811775:6793168613
+44625145393152745238561458:3594264340:3253519198
+74916909306489804758648995:3625278435:3603949465
+12914405652554894300536001:75769537109:25679845847
+29279269918378679231435248:17833513524:12177450496
+16364124802207619903777006:46038260201:28981914679
+91925453891685110919266996:54990530890:22347452036
+22021722711299902872501883:15941954724:4887616399
+70578338546924575847195566:696125032661:140469578548
+24383989587812309719504495:700087814662:287465459089
+62109458277885833833442966:606597986789:366528648309
+71867523250725722961246434:195692020478:24616255326
+61923392029400252197076759:320278956989:169254532647
+31105774584061306008334856:5981076779289:3556195186688
+31927442788492921813221026:9183507609098:2938878566242
+36428047040522639153719535:8669722884388:2587419064171
+40214663945098034155285322:2013072625835:1788928997692
+62673583053832724243711614:7073886332695:3616201003224
+16630458743343552394023576:83461995328524:17510309433252
+86332599251169533228923160:44859893415143:11834997090766
+72349256285730244785681398:84373868549585:39206655174288
+10899464196894534105638751:10758656223268:9172806742087
+36752376076517337623512623:15700193358435:6625188243468
+11314982331782235977943906:965507335235163:922202477828703
+87473908353148354240047393:144315920129000:4524442984393
+98788988959841950518042372:162323851502806:585218526796
+57531627361773462253800826:809771917730295:591637601912596
+49398307213325089924940871:155903648909029:134076082678478
+17313854119336537574944554:2040642361303666:779487382921396
+44897488821428635853306077:7633045938946715:6920059163192827
+49084916129252184821225824:6612495877576230:6165280202531074
+33352029249212501584073074:1013026902974532:111898589439826
+34082058807560085250902870:3223128291862778:2219765447342924
+77899353943757813648826927:39454423819423238:15442841928847277
+61209466162822595834222307:52983323219715384:23955068717374059
+43800740147714806207737660:50181775455611057:22015806805998657
+77721206744452348539868414:77239868375450358:55091171778607642
+96976198831556261722128914:62371122024998984:5844998799638794
+87990582930458296016405229:717597668801617601:378763978985087762
+74357528420677871703745383:117680555016698779:17131646400694273
+33728908129672160283553833:740270957965405341:213029118033187431
+12805631565465751063194639:165883348205596443:92077515457922181
+77660605504500509898410582:169692734743511534:12691427851502732
+76082889327799638295176174:6931467850900421748:6761655107601028566
+20735182299868378915259313:3586569339310393089:1929170291623706964
+52893181911652724707153526:7950447801829818793:5501010205601049511
+82650754716577189568444023:2536302378361986403:264843032283324305
+36936156172625261722989242:4456196364834830455:1151884235503682552
+90777826854201286595806822:96524082091060894103:16418185429640546618
+92597701453338662468400550:88958229477686948352:12891260585685423526
+53374950186226998309091668:52448266235473920404:27982904724679393796
+90186325934592939649286337:65904892883151514351:27461609029714433056
+44592151213942999640772221:70509938906027030167:44121176667141467580
+85522475132732083979781055:506547131980967840837:96651857359539906997
+41662128919819666623734358:369932037323766617087:12944379746440779331
+82347496512453117502894419:720929893639791276870:341341598693695539
+69179625921485392785771403:282928837065875253247:130112834102863840939
+97107296508264402435590642:707559753485276293834:380820438113317224814
+47581198505675343559165481:3314327547048417130304:712240248267236521257
+87044504447637716594285472:6005668674516556030915:4348347869270038234377
+63663477949709265703216422:1580590914979055196015:437076182880518124252
+56730709361440780782586098:9193316824369418917040:7944555081466064449298
+84881719526944408995005842:6863101016082575603424:5749261051196507461234
+18590366260894485463081374:62506848054248379813969:25832388782716658332581
+38066909061352308873133316:49977340342722714579223:34153060540323078344613
+66893395261881145648606739:23566527256705011940279:11590907352321762094937
+31749040725597972815067066:66006676788633529665151:65835867053878575794586
+53424675592942833571652843:81194579821489631913968:79836650224145404175867
+59416695665279515799301968:299927174919884155870468:31115031142452936949304
+42676447214365618743167726:583783555500363738244870:60247662839065851292216
+88535930910861055917175112:100041653127249223408732:99109546372742423856024
+47305928634716980061850777:765251202563769000200552:625605278327071049617105
+62216996707574729891574037:730433054630015834812285:130187064023383932529812
+95907224838302251275493592:9089918390190326954367617:5008040936398981731817422
+46446585577058370147411406:6520610016363513381752543:802315462513776475143605
+17665575206754641970281615:1215653880899406505190162:646420874162950897619347
+87058064461599155612429607:1084637915180044477201158:287031247195597436336967
+18235169367703550700659470:2950716055154369204218417:530873036777335475348968
+10997503650193354870206673:48225180047887269700183739:10997503650193354870206673
+15458036064742438240174301:81610950339668765862507116:15458036064742438240174301
+53360578245089451632525040:90372053381154994160202046:53360578245089451632525040
+85762877092952848329094245:64432160628420864073547089:21330716464531984255547156
+14065947193830608321386920:16903696557875025281684435:14065947193830608321386920
+99247502269797435427963633:145789371730044046924058535:99247502269797435427963633
+28525995779834464982579405:368418452282858111954848852:28525995779834464982579405
+54625698417214335800619535:108123304656675983487377431:54625698417214335800619535
+45737642243548298360774884:373804737274286901208755935:45737642243548298360774884
+59126584651355331161102439:502281363039756114605687321:59126584651355331161102439
+32585680461007354449802638:4:2
+36334087956802160511794539:4:3
+64294777731691538843941832:8:0
+96766759096225153107686691:9:6
+85556736936068981004149773:8:5
+64500955297836600470541078:78:36
+54716399852818042709234553:51:24
+29319827365510321473884228:79:58
+27108759783202591967699328:34:28
+41568396313151042099787033:44:33
+87179582837098225465534595:867:152
+39032808212310048934345765:910:35
+60191957642060203065704358:319:178
+44857072363336965778071198:559:524
+24761790325549464674108631:328:7
+10870406346712537092219969:4301:129
+11176967998551838755377706:8938:5584
+63042726080838463129856797:6832:5277
+24095908659998151722817787:8191:848
+62156821652998787489244385:6406:3369
+15650327839400142535083403:40857:21604
+59213371522373138439125431:24399:8809
+45633010143398979637361104:12253:11956
+17406741922422316227886813:68547:21916
+35096114338065052174076886:28243:980
+97616092538867144349545506:492420:57646
+66194070547064434415582873:283858:178929
+39474218063784590440714535:737447:511016
+11709584395214327762898661:272105:157526
+19982266137329184310132761:893142:253149
+49633329999284119175532235:6971442:5659723
+75725157722607789687459561:9677911:2504636
+24286600343005181181031608:2068627:1570552
+58986170041013791274476254:7812074:4011304
+91753171209295342398953137:3011529:1566001
+19678771530591772955473116:22827808:3289788
+98493179221515324494707768:52127768:31129792
+85052478309708720177462848:24982521:6178763
+46790382597375668963020294:22615861:17547439
+20909739872049825650257856:58952571:8764499
+62004762435067013629917382:553825394:233977602
+94534021865703786343524528:620761910:154987468
+57708788727772733081996664:285133049:156229082
+30693459657410400220620351:196853835:18568116
+43596264888313113136762350:979236600:490084350
+86448636133307866743540132:3623021595:2339951007
+70370218493044556024274138:7650487843:5385455358
+71723976357842794912341157:4978342129:4031598492
+11916177305958171419445254:7623516305:2691524494
+41401435700697395665896255:3635618113:3094429703
+64261507205759457702580285:45570944454:12463998199
+24946354088778041870083666:75532522758:42701853034
+96902926351079178991735714:35331990101:8274460669
+22820477850449068186401297:34555454919:3858176724
+78691610586567066653847404:39277515652:17467824868
+88744857635538533284969398:862536260615:192270624843
+67672834524645406687716609:775726764985:504855419699
+47805774859383568565238947:320482986315:69067657877
+74884611544354336861532774:259372923720:487961654
+46885644796995339174023029:253014939799:125800928341
+19050050693732343085045388:7717315507679:694358344589
+26606948036812712632864192:4773893931912:72961745248
+33122421216523663630087515:1478326549752:499052951547
+45589873288929673653523731:7413113310315:851215866861
+21667708580380112347840142:5406196190649:5186520522584
+61016102311099905332876115:47421415021856:20070698360883
+54813166580241381205162540:96461771403369:14425654756816
+25603384619493286358629906:45402062852160:20050664992786
+22444342875388419938096805:19045007021448:3347808331869
+48875692930225395432388714:63653159050838:35509974402706
+39492624293857607383688057:190268416946445:153141383490272
+37033546952878212110494535:986699039767608:337992601647191
+59461488466823930738563181:625773959208875:115453017761181
+53820407042759914968803985:304482776836282:257864102134275
+37899992714884477227331813:728343087881359:306888041076727
+84939832852952018806441126:8889293553401297:3677163381078805
+39344614252665241987796588:9725830838008014:9679612165941482
+92765880880025125211308317:7166414061277518:1568638075292919
+48726984148272770116965031:3253983280850603:262160204270031
+39209304347903178607003627:1432639951706152:381615388708155
+34472332294799986942438355:14643001892949649:2405720709648592
+12434378826434354713470641:79862365571799381:16857832266686279
+42926274617121149446015960:70419447722429726:68305236218567736
+33207375791778792990885051:74751947677001258:5687158509192261
+12771657890122891666832347:12675476921898544:7061966078496283
+56435578301260408707692937:401256813482795397:20154906987562821
+21923047647552038382807960:277882331815614709:148099166036011276
+41136684446218953449398819:589466611757985778:69558418677929867
+29165895318465743113484423:880774590959385406:379276886326959933
+17992462751886341512213461:764433633082116460:560970695707056821
+89944034851349112165817540:4604820383468269761:3115983688660964638
+85404047020383378445445066:4225012715471064393:3340944813316880864
+26098798689733169310949720:5532431801181276782:5327068192956560844
+52943661851573870543317467:7694549178810245733:458860398225390624
+89322928165708907674045523:2905040179251916335:1901348062529489573
+25967809991586817971512760:21134012944745845595:4472105757826178765
+22800439159679306239726092:95066152157835807916:58424600439576576400
+25800927846649670725195635:67535382418442953138:48024419817123119805
+10824058346512385983116213:83939625618231258271:43623041465229070763
+32162351648559528492106553:84845969662731706071:44466416808866890796
+81401076588800035550480607:282538694867148857784:265904100113878621287
+13801658156637562557229663:739112287513755503124:214411893206047395211
+86334968730182262142181456:805104937292880793931:345884517483085784602
+50638671414074703989762544:347479541961275588284:130284516051233546940
+68140242500518679496740301:325977262038022195106:237484924785987147803
+13470893282786809193002583:6062549586847512097788:5970650398484823815435
+40159364870349017010569365:6415191473360848076426:266247110108052142605
+96395871188379732882904282:7927735482883649177174:2535451997442537645616
+80644101086828909313241500:9298121133658876684019:1496494605471832744713
+63045253160025245722447228:2948634585542112414860:497086549340180325568
+51328111073704067821816721:83294773842502155837003:18530386722739826222873
+49734947399163345314461450:53969270622343422437432:29249155985053249586578
+21297458625113489514830180:92061384079748577211320:31278902691568179015260
+34533651508877094935503842:31238342101160641422344:15283487094586163813722
+41332110052249008797445937:85049198661473771462451:83248701434229638157202
+65066445562565572621205836:614962385978032440172634:495395034872166403079266
+46917182734689731250613181:195133925089407564888752:85040713231915677312701
+60508882777567115905531581:856892515484536087386569:526406693649589788471751
+58881999646980565810454121:638450958715293169137999:144511445173594249758213
+15076066090969009040644564:178974259225613659452337:42228316017461646648256
+96482273731188066286332926:3983210283795526321628778:885226920095434567242254
+44786667375468928157763120:5654863452083801858499060:5202623210882315148269700
+33180596065871091737740491:5857729131739539619088154:3891950407173393642299721
+42383108924567597936545463:1400500817778600268514701:368084391209589881104433
+85535130384394794292979058:4855605130607100862712701:2989843164074079626863141
+25566262524516082227596672:17319810493396647184545735:8246452031119435043050937
+28471637591484369427107236:29217971569899144233981270:28471637591484369427107236
+55988309347690388569114138:14722065986962185031772311:11822111386803833473797205
+64737001368330655384416571:49233797979678395549351984:15503203388652259835064587
+60291055964260375521015880:10314808031206444630636898:8717015808228152367831390
+48664194451549178286152873:230013914973696229784082816:48664194451549178286152873
+34800079951438561645648183:814561678738907072294536627:34800079951438561645648183
+72292489759829431961109962:951372953942467687920396536:72292489759829431961109962
+24979061214314975372009658:902849288268464225571667046:24979061214314975372009658
+37067585821017101264398914:363960720830790420274310235:37067585821017101264398914
+407802020448409706272733035:3:1
+300531715280088053556231946:1:0
+251025238525357265959404718:9:7
+580257564586420500499380777:2:1
+858761317830091527830360771:8:3
+196652273107281201053860125:13:5
+234575866038663518909907512:30:2
+429084684130740481045123644:84:72
+777892455428520687659875984:92:76
+473757137152336750520252750:84:74
+518865291806337903719299165:805:620
+308316563417460600533009320:422:158
+249746098033816538832045023:241:137
+112584747233547555621867739:307:59
+592027954889434502189378246:506:168
+240861062555340829182005643:3999:2475
+194682029500545855962502651:1426:1425
+218789460717852201023185184:5074:1796
+897555934544887765511214382:1756:1010
+567418301920403690163910950:3221:198
+250263455806881518061097803:55690:45953
+287715651277331713528066242:98662:61726
+930472174905520055599602321:20883:14613
+563094592701399082567817878:29946:27856
+586408004884579655810015298:13688:2010
+356675732127914320901169734:829721:56882
+342500373184240646409769743:288049:164079
+111029289912922576213147321:863359:53574
+238292472590516581444008202:799339:461892
+584152220493270584300330453:118404:85925
+416317435993187210708015579:9752446:1667367
+448710320493901355879322064:8462841:5101516
+830613604980686948726553538:7875300:7286938
+854435275417625252347107722:7398984:7221290
+491248370628971110871024838:3281661:1181805
+823759322733692292121775355:47965206:30922119
+739916948486897274834355909:68539562:700175
+115474130560394254897191375:21112412:15665519
+269353067631204203022248490:97753402:37642658
+404711852158972339186969929:38465864:7101225
+822122853163676608253736495:925323821:124800092
+625597399636325201309937476:155441844:126591224
+164734365516864001332860555:490499640:72549395
+542731320923717940272995049:872054426:343177245
+292398752581707535038992459:386036912:338465595
+253733345125268557806458804:4456728649:3148084034
+720714047329368478422698938:7372887656:1035361762
+485822510448796212395272010:4948834469:1044079499
+567487863433405820109132315:7257046267:3732247690
+627386505232560820575112566:6596080310:3288843266
+151081203804942539716815575:80370232342:17154764595
+775767380263430487417843703:14983125167:13562194517
+882068218833549154936744765:51373706807:20083425033
+872540851314233096860982205:87661812069:6877156179
+873403941319828320270339840:42250451574:2985518568
+186797332849602566825942559:102157442617:59655211040
+588094145592512403943826338:397343551473:122196408340
+236426448986162440102045425:488198096385:298326712200
+999413492156412954869839086:198107948907:93967837272
+196368787413046499030793089:296755334587:116820885466
+927456898040686703422844429:7794508841884:1838315348721
+863135459918219165122833897:3390585584146:256958209397
+280527841949820524654611290:7138255280511:220514291982
+171702580321677888702545311:2844421011275:395003892311
+794123036846025365071135431:1323509768742:52822922481
+999941195640790383027182255:76881322575165:14049018501815
+277337838591672317693532255:18779075759111:13096624199226
+161019330006200140045853891:96122202160093:94539863961532
+802581200280335052905228390:16021918889004:8640550941302
+351046382391939502894679357:78951209694102:23603119764647
+547410239231977869119846517:930137974103815:337105751740367
+460105347146247775342385179:821417188693502:345451371523899
+739394173364597981162716543:118231038387209:15558000629645
+710618991066595944507470697:800865575797587:106397987298903
+790948609011436667522142052:719788637606605:298237275279612
+974392218096970489915937264:2789299436125467:2612385919935098
+408603464634836391898602145:3344989524084615:476416241050105
+759598616935458735001600858:5248226146452347:2910128355260660
+336339133841778842995143456:1462171406149011:45101489280615
+557331665363484299897850828:2766621340065889:608571599333872
+268935202970211875666224771:14790732846387744:13920508718784259
+196365448515005961567181711:58698177096795450:53066677606256761
+707559365284197582642668109:73743918625462626:73037261452030011
+219553834893665977926709414:13074582579380348:3748868071943258
+727448241498541734916572996:46125651311993783:5191068999722560
+250533898388173490772985129:504060248687574579:275457465899410621
+574149218890385439837069904:715136358645154469:267091630354914801
+556513408946051009664567719:561572382230655398:377517724884470345
+229293083588789865552217969:633410001749822164:83867936058806173
+226372585582223762392745374:880675821871114100:790971213454062474
+814653239128943350022959248:5392075977539867997:2678984727006593484
+997756621430043085129350013:8065595687931348575:1734021059576996938
+563606659511581060798793645:2025585686058021850:997190040771763645
+470110102600210049680956026:4194439606360383342:155125961715318248
+186796301778496529197824364:2255146027817932921:1213887627633394871
+470827107821532267162485276:31333837087612317677:14998321001838643341
+562823388393316766933720429:81185751788633183129:79060049256830969027
+770149403222432957646875190:39633840030283629829:1683893212858120842
+831807494525290038038252526:69588994506076501752:13611965219350838982
+818248492024822321145834759:44138354374185131953:26110623560126285167
+826087225116455308098825042:879195833362575018028:95263979996609824410
+603106998092234966172606746:119342713937720226951:532562283419387774
+294175719707094553275749117:273587780755384813469:184862086277208393398
+581975760853276551258805344:652754655068962705866:598542751609515267456
+232489844053482966902802678:175086842783164411240:79516486970780123718
+406012701062466567223878678:1696208748395392596396:1390211551813780146534
+933853950301513743864046660:7872270264030996826627:5890230836745305418785
+109621274273730665448017031:6030632497105437382963:2467373845130137898580
+221097855550181274574786771:8113084339021243934155:81143174334881194711
+641125184605008426156513064:2814103759235135334498:1995657263718574506214
+927097859209697187727145685:22884368923529867708272:6305379655187129630421
+197218943695429559247405411:89891243670922897460040:87446325095645117537691
+724259276311874395212782570:84034626579975044455025:48864445649462099377120
+455934985096439562478466799:11310618941611264186404:3935560089503124521559
+133734688930690885920256669:96191796603219585640520:28091652215661879933869
+346279959305258047181373549:396787286277965964056173:281445670871726524390693
+328621288865810678005695220:768931558498556187568277:287513386927185914040941
+546921961342478068546885486:742380332544111596447306:530036590011933561668270
+886115835370849340693650851:473523027756963009220525:154250437571550442048576
+976369095835553264393820032:837520385276354019639860:657846988600831513383132
+702707091950797246223061753:6879331395331909347998744:1015289626942492727189865
+931321690222427725696159864:5004244277146524747800316:532254673174122605301088
+316176137954282433199456583:8806732826477916673296170:7940489027555349634090633
+315109323136386621589966184:3371855313541471274494130:1526778977029793062012094
+828302404196895688450982268:4103240140614898342591801:3551135933301121590030267
+679229994270853207274224291:97169328429193918194265236:96214023695689698108632875
+615403656637858106485343116:67325238838855684175956950:9476507088156948901730566
+659264368939267609592175822:59886060670195559769404182:517701567116452128729820
+476068832707276657519943162:22341587506039207643477531:6895495080453297006915011
+583128882196966024807846321:89208780836897632530160609:47876197175580229626882667
+717511990185876218506967882:643744278519141474250282843:73767711666734744256685039
+751269706263346844397047092:602907070208187582649693471:148362636055159261747353621
+118368354192113815338507616:795878149817178488380785277:118368354192113815338507616
+191157775888888540620126261:454630716085863745518475620:191157775888888540620126261
+525354765942142723377669293:604502729572973609466766333:525354765942142723377669293
+126285595487087141351592941:4784299003555446209861515068:126285595487087141351592941
+995827892156766906510695711:5082577302745335110944785704:995827892156766906510695711
+967500496410808188498842085:6169492535695325577954592048:967500496410808188498842085
+669469210936108482811357027:1958340661371824979753457896:669469210936108482811357027
+434403573568323109869628578:1452086069005387665918133201:434403573568323109869628578
+119109941931001949122376299:5:4
+204301445732964878765618678:5:3
+684669827921063356132003925:2:1
+903884205213628915201360271:4:3
+722023881802419729531957504:1:0
+562389223749811440660268067:33:26
+362809759039387861296026230:75:55
+550521676795740099055061267:11:9
+745427169238012681888088811:15:6
+160106915568220631638315595:75:20
+332133848917898363470076668:186:64
+284607085803533439730430025:920:265
+731887704277407761743923273:231:87
+387823640722762409234151155:204:179
+492239411820595892623486400:228:164
+743288657922815380717133678:7263:1634
+668076836794493341125716985:8357:4856
+535911195603823443991912915:1492:355
+685198187392376422489259150:7381:7029
+170637547472173880626287709:7281:2395
+130878338312363734383830890:30285:24505
+859417940361214192021632977:13172:11125
+622719769898556380951863581:79522:73195
+291550191678124548887013028:47170:20408
+145679869119220656731949908:34043:20893
+944813477044187635703405916:328232:22852
+947665327564839781170959369:905744:503529
+445297084434463025129398538:981002:873344
+365736824429996849330261800:570244:452772
+959391666933434757962915548:603201:303283
+585878440455211252754534211:4607697:4104078
+894083785565331744355221435:1967626:1400761
+690615450045079083652480935:1540519:92600
+733639488858289854342415220:9518490:1641200
+612775575158803827232732068:2631494:708816
+144727673429753937253456630:70439886:66809482
+663568854056917846750315318:23794990:1891458
+787284000274113260872515168:76153331:71994246
+909781981102861966241628626:52807413:39112262
+310659912452274038868171009:96934009:73587530
+360178836354834866025732977:445227116:274402709
+580365250661468335087475672:733637618:510430890
+619218531100864141133330938:858427082:486402244
+387953497711024200873346417:791845150:505907667
+517091438475017089370908490:384996693:15530660
+638081436989848468688909028:8256834090:2185216308
+120489434094393297319202389:1893072774:1228155187
+147444442142221199752879017:7182004001:4281945468
+599186415959180078544568003:4476795305:803748833
+392435222459429443505459793:8056628527:4131109176
+605591714535682791118225846:83057815943:78185748941
+641434699860468720242936131:10431534257:3509875942
+201645685342821831800352983:78444389674:58978007463
+405890558860168037145346487:39150348432:24127773287
+268844514211196086160541545:73381417095:57985588130
+275568138351907341146771872:431256343415:380740766577
+284160395942179569068696082:420668683335:213219825147
+197627664325231896420724699:960134025097:688902086187
+806201843899049041505567242:499948868909:42541438242
+726352374871778857116236668:229667778373:101337836638
+946960914621696618295430135:6437632581080:2590081221335
+572873219011525401468205790:4532548292899:2112605686604
+705960740662017631961649926:7550212185620:2587346010566
+363624232109214379796855434:7940755474658:7092665821764
+146039512390635775752480041:2993053608722:1411419896087
+884080184037822691886760056:29871793922839:25517893598405
+247823374158026199781466546:81095003848296:57204346065410
+988586138898786803659010857:59611657161768:43134743922505
+846240084241854349816681343:21011969758963:424944707490
+399971829309032524487989598:73033869623753:58669529539405
+741442028547010379025101286:487458054879133:319694310224898
+751151998499971994474413380:947958154716302:909568909425908
+915926297405235700374846742:153552217352044:11181572978738
+381557209680195490503683042:734431255842888:506803215259058
+798688471126220026685746197:158719807507357:137998845301153
+947349908814345479515486300:7086543189797408:5214733995929020
+385274490750537721463221197:9104662063546225:8970747320270622
+661640391918316307342101755:1401032412142774:588508388930215
+678201395282656143758311754:8832032727729725:1764655391716454
+655042061292802060652658433:5568721595143165:2115602741699173
+822731198534258041057661051:50508351729192170:2774083679145011
+461295001477773414351217255:93147194342312669:74473825320677376
+785474684328198127769721147:42484845771481798:29021732305414487
+542322016848681046841709202:61571664005420537:12810102564872647
+807409453400234326633960495:33796212018485083:22920400835476436
+263479285909624273008336897:290910074842772907:281292373740773130
+243639911304802398786801768:259709284210276310:110569882970225918
+113424920043172916427140032:496597499976311146:100908548515707052
+392891013821877953788998982:955810113835882690:15911138350877082
+845046532139073291780099738:696506512343522859:25737856048957344
+128077080292911979998330831:3476882913302731286:3205658853390576473
+777112008994006859470783752:7097534936514047245:5903294792370410547
+600299547718385847969436108:6476945257491453042:4121481676489740688
+745944504852140086221920129:4641096906685990901:4332333647836929724
+430496220508993409070798110:1647416324733903260:906073615789187010
+838128135591361229519912210:90354568479065509856:61925234350750754770
+514298610132265037947581190:86780421892545936412:80513514561287729970
+479807705424206900634706378:48967774805598670808:48961361077438779282
+779250748557800234459680590:59356336060388702254:53395732275612081944
+844525522422767412928931169:15371869598927210833:2515326101107431894
+749519807318784065003386423:156559041247370339815:129385772200063685968
+986138064861107657662013844:751243134596093325739:734398315447390897758
+664334286972071015016715327:304135952981446381322:88388249296564487101
+794800123240341420832079010:442975136463785148058:401167787730846825612
+108941658015602232367159809:368763302130207051632:128247087944345827841
+320147698244839959248860592:7172533203982267487464:1678685091449945904952
+972040402147158302990132158:9667357890176551977184:6901005686354788235326
+504862212832043836374737695:1036188285259707167414:194604956713195614475
+402271459295219419566103308:8701582015392002816140:6024305662521378767248
+252443132780965485374301398:2681740050706032051109:214847803864275206792
+105954097228961444360728984:11040069196358943805677:2553151504660657646815
+205845951078941314868777211:20017140422833932982580:9696110939982008907071
+823576247066864237627522097:11819322145468432337482:5879970623872351776337
+397429359751136922314143979:54094974917923573047447:47674004070354707598317
+398706198418589991390528912:14789704063991209131519:5356261514975623039710
+294389762661725925250672928:115540607624306751981016:107835042616627955025176
+810700265655621751908732649:739840435103632226598020:574989217144463783900749
+946428961560073047650507521:239244152735812655524461:218337489933995051264266
+162056002333027431333286024:448722320577310106706665:67244604618482812179959
+766181894763373191868583857:166717463910999521287045:115148092330391554612082
+383784648350631303284279641:7912920461923276703170151:3964466178314021532112393
+988321492120680203818417688:3020165727485131957376861:727299233042053756184141
+855711276423558325216009618:3121159226146011099377220:513648459551283986651338
+243433247856120230943096656:1808219057838618673348974:1131894105745328714334140
+194055142568081642351069461:1880192381418965997948498:395327281928144562374167
+992251551218944155316381857:17147159340602114060593821:14863468804623653862534060
+918461105278729169671913479:22152157562141639455886380:10222645230921951980571899
+408765772493707797144861931:11353011605492368854565707:57354695982518380496479
+879697092891125563700800718:15611307307262663372520114:5463883684416414839674334
+843528215623681930383252640:27774152788491383084781177:10303631968940437839817330
+703911033726888729073274136:807818841252653544922317848:703911033726888729073274136
+129821354509816955477478111:571102847361531446805229889:129821354509816955477478111
+268386526145661531741110188:855354438289402777322962455:268386526145661531741110188
+418187114431731013343428455:790160728332538487669189930:418187114431731013343428455
+441272556631456707340453550:837707462957174629991930781:441272556631456707340453550
+806270986475303829738742861:9099456970290161354993497621:806270986475303829738742861
+448431604862358032206446314:7008652093854959809414257029:448431604862358032206446314
+945548177118802328523892616:6625601484454566695597333344:945548177118802328523892616
+218200052116896641444753523:9772093353021364747814391809:218200052116896641444753523
+325084095300789881646459059:8755112224318564293084785868:325084095300789881646459059
+547601118551452751890211070:3:0
+783838333851427718418002672:1:0
+334382223481408556557511939:8:3
+940900485809352873387913495:6:1
+386560464504366239616843792:2:0
+136742544397160090377655317:10:7
+205043464664703952798533892:32:4
+556582950913579846961112059:45:14
+138840794044066799940880716:24:12
+853229126643438667097805224:84:80
+361005206021477040609640190:818:476
+711384142625070045278444641:975:916
+746937457102724349673976266:834:496
+808177774830032262572356839:264:135
+516539245321434228243084972:331:8
+315900193410729783737924044:3123:904
+512515421969579988436371407:8073:149
+343825090066076123435055070:4648:3886
+541336406951384121815748820:6068:1200
+411916541948777822206803526:4524:4510
+182416153420261751620212354:25412:20566
+921370565459665236449448693:94606:16187
+428796836591861761817656778:70901:17189
+585003647059046014636296707:20508:2567
+382321335874964113157676339:12807:3522
+413805035118439716927079058:351854:183146
+573167352914670654212476980:738093:491016
+405872036691978736720910544:177288:111360
+853164929770005442532382903:799640:97823
+454262136490527963590670091:484072:324667
+693411569390527194833761585:9151319:5619326
+865769539598413780055266094:1998564:1943966
+841776630972729409488085580:1900850:741080
+591394427120674871086687361:8112779:3512619
+172376767183106965665714367:1256102:627365
+206131180814539447329107663:35592467:10912216
+800238380634866256479324524:65146512:39558748
+867493976435952224440500117:74666283:38504127
+355043503264293948561908615:84631275:17936090
+593246808327852937494774237:67421686:24345527
+411861104100949529627865119:959040889:520654346
+991234681014175554489383540:611033722:88426534
+710149027216916403028246066:610258371:487801975
+508586984410921185055296513:937064571:679809807
+710449865841854812159898554:350793569:39326107
+967260026621348286621625090:1628196409:87144436
+253776049694899341905497978:8585629230:2641934398
+577850408944309556396840579:2213075462:1414940737
+425811550293568874078703553:7816094845:1604609708
+472957928104753470640853496:7833690307:3604380941
+446619532577758532475878135:86098449815:33452912275
+147565824294804876408812599:31900276589:22554554316
+274842655667843681299266393:34449680874:15413239353
+962928334875322248478952119:27784264765:11259943114
+416307922546726178244662478:97618069040:54545439998
+866650043509735893076617282:480135472972:199288250886
+935205607931888664018423740:182828669644:103013731724
+763794550599702205956796277:201056719678:167996668043
+437406824459639444272889424:269265359132:182222939604
+922500111796120005998157614:126085901112:79147424342
+979969968902178982682828999:1214986235306:152454178693
+857136316244783328508500186:7813738159811:4890747082700
+947996893254923248602397106:1114775786534:4889262560
+107583331859473104731715605:3428702333497:1393581232414
+168190637629568798147230749:4240435547957:1041094189942
+806857951188885162554889533:54477977564694:34908685130597
+699385331567246350274788596:97393212591424:10503806939828
+344117824522931713475242066:68416459163558:66578183084810
+164492231267696773352552971:63837161328829:34235252006516
+879816936485400258733820736:46330190539530:17303334042126
+643187731232570818415817055:375039465407726:288644828890869
+759339210226094572821009112:905200722931928:738657851900360
+246312348710237039828775988:519726955464904:338151612168004
+257912566091883883911012433:187463826844027:170193863847833
+252016564842195892390037277:980260059032031:4854099266739
+194022703074564225856082872:2015137991595731:1088554038630597
+330834177995982942656090241:8695363242303498:7090101512741577
+435843964285062494996622869:1309058265804655:958987066745259
+844775374237710764097771617:9905085561108267:4485913644745175
+304083479292185385756243858:6760310831011936:1454938576260978
+510525553976738451773476742:25633804123512288:21743621305897862
+361287146473985392588366713:79683123483301049:48892619804791262
+941861745430762413098211429:48646664979931224:3414452513252277
+324103650946609404836144746:56372521220134611:41827400092181443
+309984714550695715066735042:38463301428283890:6015018315239302
+583265688783735723562906212:319758403374233482:146359680586650132
+549128811162989454583747678:135469883479831510:104721623716465738
+117094418481567555589786306:670801505154371031:8973867729330298
+603514405819590641913282437:624265232391927135:82729354043463572
+221280683050546064860296271:306707530637385462:54849032528357437
+232691108340075554081198117:8264392044856097546:1618033327149190827
+684338921598743928773215164:1393824753913998478:796594704663511904
+703410068434450997701635020:9783301299381212881:8928477503091184851
+296185974732240327154983104:5770497631090114010:1637272827501772794
+415480398360901810941516793:3468231856124612954:1282337562139583035
+767780753648455915621407288:65155397001160643507:45405696079398523915
+206158829968910781276666479:47217284132937012764:46071636918382847071
+204719382765807635629070066:80270410784161158076:54943795758745623870
+930026038540953193346700479:41548633440562643790:14953861995621451619
+985687500127764047027690272:87744964188680520704:57666011983673271072
+322263868172172745485799503:701523887763781639638:630706797790995453615
+481815298679996976546846608:492631995862762021471:23550393620781285355
+799755946995153375891007977:881354648506488963856:637265989186264651881
+487343791002372159052657330:434846349962218871220:180594614452385751610
+466154032226744088448562960:946877797175635246936:411410395802570488544
+465269488689603873368735967:4268272166206731658032:2212940072882253299775
+285625324735325817689123230:6487447538125480243119:2471974275299025323017
+626370804361304896435300048:2399911116762539027601:1202619632497848521851
+879331061721482960771061717:4778062555643329569172:319293662803508492697
+434648359860791036262445631:7013590972064942283298:2100139982433081901975
+382240408712325072732670449:70118063019888446074845:26847190913153178690354
+366891308311148400055146710:47615568040175049076248:13356561599646922655870
+946154335171774801519144597:57320787055814800584492:17424028495703071519645
+103560794480998155158972169:42639229463051393351823:32745344709372100745925
+575411153453456671249912018:35731815209475825336500:21733135267455856252518
+166834327601169435837070460:254139060862780111449430:119103675185682726244380
+976988261442703313651907571:755952487932118864034186:297647034405741319739259
+343053764789123687448723940:934418783294198321112341:122071320152903600494793
+961791280180664232211101965:583096509823907036839319:265135481041528463064934
+621691763344657699621559548:744654901148826100075449:649575786536732158635082
+389103210845283735289871174:6967416976345953774335371:5895277146256277701425769
+412301339365769016624102712:7409580875990931152773709:4774391186267803221548717
+329962175898954016256321136:9211801907796368615332368:7549109126081114719688256
+706612724788583103069130455:2200282023270412721481420:322195318780619473594635
+637162916025100595150657670:9202414768115200269972340:2196297025151776522566210
+945581212724937123611803423:45651706841745060580644135:32547075890035911998920723
+530416098429285108596565197:43220287342626100190184046:11772650317771906314356645
+103591626894057331652770256:74121000501505494644538889:29470626392551837008231367
+670531889433260765148150382:40746692708232186604633934:18584806101545779474007438
+596788268126537188465676418:49194648136973418079393494:6452490482856171512954490
+897069684909541612322760474:843178542831445867333910902:53891142078095744988849572
+907365032230207293167625844:891323144629813984928968011:16041887600393308238657833
+948357805645230063381928816:852406401209414653787859321:95951404435815409594069495
+653781437570299355041870640:625884750303313990111575048:27896687266985364930295592
+625881446186573902348949771:399907622114458585944260801:225973824072115316404688970
+633943712407473053571870172:3454484045037379919058707137:633943712407473053571870172
+131596228310752070861518018:9214386493494085875158208396:131596228310752070861518018
+366357255233851743982891632:9021413766433898750437810499:366357255233851743982891632
+272959384477352245660110979:8767937552857349418327343464:272959384477352245660110979
+620113919412733570847429401:7330714138094018097640066759:620113919412733570847429401
+219936483359268161709118594:8:2
+247565909228194795323739204:7:5
+216082279943316571894476272:9:8
+118920945863430842386222285:2:1
+285499967916604412461538442:1:0
+209374174980318740272925886:67:64
+285550237539166787273152580:72:68
+451355130814942678162113584:27:17
+336691670956441067105236488:23:4
+509786636560081419398182786:54:10
+368738555874426418092576391:301:3
+660338478451154613112373342:321:137
+844613853048940357341561847:299:257
+722142749705414333720160535:660:535
+258824015551742020875832446:529:81
+436910356670896772170165980:8459:1311
+525141402265816173640274150:1072:598
+192004765953131014184124020:1995:50
+797154280934399581799271144:7402:1668
+470456737223636881326078255:3038:2683
+349602446730808313422944476:69110:886
+572902599887674866153097407:88423:55724
+666685118815809226284909863:18955:12128
+291846709366998582691846657:42362:20655
+452621553204154803208540501:61893:37894
+763892631720915304410014983:220044:191863
+393237346738991242210092963:369741:1992
+742209247735731577638781507:288340:231287
+476602117552734372204722260:189672:120412
+346655154886955866549158100:380649:341830
+641109352108107013026687097:6843704:615473
+400592179597947753151214964:8629353:1723509
+720236607116857140297986538:3595450:1363888
+934293183330477919974900444:1526043:1058802
+942216417330468758975476154:5680632:668234
+357074943431950590528047842:94332331:79030869
+276472360744206026166886529:95408363:94692320
+880257455316157899395035786:64718931:44446432
+790176487396646669024097755:69197380:38721675
+582803308064338896825304907:70359185:64829007
+587990512567077547194535711:595283714:39598783
+172828228760958434452433961:596835860:314269761
+190988398477448434844630956:568796245:106636751
+118653134890254439676375230:135791025:90030205
+890071341039309218526124079:580936506:207889601
+880100687791248159093693907:4200589654:1364273703
+615582855664093252810029047:5548729632:2499379127
+692047674431156598895512606:6697648899:5920808475
+746345358986477988563669139:6483984492:4111380867
+246271801641422865884684530:4497220452:2180192386
+289198257565756927191443335:68507609956:49281948843
+102485363358084267911472495:46688168851:34022177765
+148825821732754899451064215:24585960132:23456598403
+502396863556633343661935919:76342267994:43835213689
+931144538854533942281773034:24735903542:21048888024
+216820867579626310096076829:870688917161:773454544669
+237912378921247755760166571:300543370991:95975844130
+816916295981628991883879560:720536877313:102627166915
+808239774888356746883467035:769981169559:703631087766
+140526520754240460258503101:580969095587:553148703084
+476209635057173621699881228:6299851506654:246290445598
+220161040971103301378798491:3181611262422:1981721370835
+567017969821011434428187805:3861369131371:1323311116084
+880996551408328040036590335:2963343430288:953303495071
+738507010505047515946166805:2163375476058:1525696896909
+187254567966061428153633972:90548713094588:24861781565896
+200239408703287181280883564:50463811129998:43157060224522
+101631510724552162609650898:45830128968615:6047433144943
+565879407043393375232367451:88230030974570:66827162975951
+737879143218349153151988483:43153958488011:35561100953556
+472632241543640483370899438:601240514476864:301407503000558
+216275637811390113526062519:370135165661408:217037150393495
+276914461876280676618215865:957597767470639:8006002622377
+558501550988009133753853476:537231173122912:482817252829508
+656364471395118598285660796:952927735508298:682539387741410
+962437518012711160782520177:9521738764970561:2203755123134647
+233525080795691063855017472:4730564985926286:2978132790152762
+996331137280676021731211822:4307817415150145:1616095729452422
+901591435361989465191032659:7050795428107562:74872578505713
+918800223558972585280836412:7466015408886673:6902629005132915
+571452708897182941397872216:78926035044067956:67715106192417688
+299224726315464937831795958:41105400539256261:26967308187053552
+628741846625290575954444011:98161978994598036:54841388232777539
+106140786466567678226283769:83658844492166125:24134645609980519
+590039423903261797364787692:61111220625375598:24062639844922232
+547093463105727957621009377:708889692565604460:421553862333868397
+177111502052059483415025401:806184239087757700:570391236856313101
+470611333860555970301497788:615483291856798443:84061048951300515
+685664328311453194093605783:890340332035548211:140480480236156424
+352902585330655292905102061:765713412103931529:658008246104099318
+363860853765344032403152540:1257846307080250246:988410589776268402
+757939285478607207094306666:5115261241613781485:3920717526762756491
+610385736557283474081092079:6975310964968171866:4020821575808120211
+791251009104537850465636016:8501597872995942863:693830417687249562
+589281256875208800024789118:6083890728779129303:5622549971825824490
+332368152018649807095813632:37934934232240670926:11824977737076195000
+526239254602290767571953089:98961932432876548634:74392685895568183761
+879909780694133350092233281:17731941203529976316:2967604201320238993
+930375343907415686242884462:37987222773831061420:33124191191480774142
+101693540756812099232773318:45791960921431532811:36117402751249023226
+429455916929770289273455394:780896823604776023161:146994676505784017122
+201994685616430667268891547:404289037402942243531:158147836037075741548
+883018208248665763383458554:169722255519073605749:156125449056986598278
+279092983760120394907889053:315870714393381730098:44255703279790389487
+864647539039815670546012273:199747125399406227897:159852151937785989403
+779638309948084129755200157:4322591398454840735620:2757548573690156570097
+154029810710446006269267029:4750475931763039536670:379098961212332278949
+439775502795055982149326136:4433213289758455150175:744451017231251966136
+212856471053377535436725855:5950028618061468229729:147270846570986400609
+141450837828446189221489322:2945506924239917487891:1704312596871617987720
+263691209736175407043381477:57500456567936748147980:51616372185416784893177
+327260609474699306889520217:44885880694623105975746:42539210896864326331877
+682680812917743281656912131:88490915092678058417162:61893892824739026924463
+558945308350844935973577106:45546897351682551241978:39330948348349683265068
+910226632911825845774800500:75725971247702830139661:458514437827496075280
+196072447214927169511996199:520913884355872389538366:208826697119151045570583
+227166094397219034184980115:634888166835366203863418:511018836993299405739889
+691012427225287428332337554:254395416829802842891468:74475115542907039110466
+603143985592469879226545001:589020604526077784486614:575907162292305696738879
+119105919511749453346858140:647656067414512600510757:584859174893647453389609
+143400746713980153230282632:4322903951530101784750645:744916313486794333511347
+110545904971582990213228455:7883010551376899678284098:183757252306394717251083
+177845312244379187772434805:4450650150938249541233538:4269956357787455664326823
+188097729133741873766195716:9496378803802993879546213:7666531861484990054817669
+184232727334329883395839579:2517308481204748461827932:469208206383245682400543
+412959214425901344350972023:79753939741690298631261604:14189515717449851194664003
+494889478651532755833489119:19604873170758326858318246:4767649382574584375532969
+425745694608340188374811080:35755483252478818010371490:32435378831073190260724690
+525577987955014620745812200:88254230039871024462572413:84306837755659498432950135
+832282150384369456800669948:22136824669214196438840124:13219637623444188563585360
+418385377083331983765119427:753171860544632501307981903:418385377083331983765119427
+518496354500438015051201555:667474907872823717762948113:518496354500438015051201555
+174813745848235044292882187:284886384118173407095237381:174813745848235044292882187
+205377407865817390473687380:437511185679047888516484420:205377407865817390473687380
+931373270496127529940149189:453162912152843359426151057:25047446190440811087847075
+446330478887263458243427941:5767550279527437246383574266:446330478887263458243427941
+608031122933011254287863093:1358054433780046761665645861:608031122933011254287863093
+766324254500243329794640648:7157418237482413461109097619:766324254500243329794640648
+907643014117069066747470242:6840653428312104203490441291:907643014117069066747470242
+627608763123551600264639439:3331988507666830008548885347:627608763123551600264639439
+664149519183289054113968148:1:0
+447678896010712511241969912:6:0
+284555432890266958277329794:3:0
+301097901444779786028674766:2:0
+502534833753430565009579343:7:1
+132175465398391015790330714:95:69
+142827563794520327225548984:61:6
+359202699584028469488053133:53:12
+449178119120984877812148876:94:12
+103970429035496117851305288:98:12
+663336654530172719742115174:285:124
+397291049243659898639766273:173:124
+260508125888031518183476895:910:105
+432943734400022131850204346:461:317
+222669027167980911189585709:927:616
+110442636209251497233916969:4767:2508
+804030182921523707669860825:6874:4433
+617622290924699805370460532:3975:3432
+150958803975396058619669013:6196:2045
+350281536994044668013438024:1895:734
+686872544765033843214610542:59535:15477
+357981912193555401107001399:61757:19340
+234981991493017798337273090:42650:590
+483017867636209806221301905:45932:26813
+542009903537805874028880774:15529:1105
+354290713718474753725610072:570184:279104
+471398565069387909472348981:719068:279633
+617990432101284616971590587:703316:190743
+881933315087828041404474301:488413:198654
+637031170391515388315234162:730645:598252
+433286575471539665756482236:1517806:561314
+492878904552676761863395299:9437682:2983053
+170628512101611964501867988:3578627:2937676
+529010064637444989670745481:1449684:650085
+813711755127138217745402235:5604959:2205826
+278330845446842600908523028:62848348:41890280
+880985483938404092009556700:45838866:45350734
+465591431699902949903229176:55334762:42007654
+287999890255415121944354288:81524839:58430455
+154660234621558856251913195:88420397:26154238
+865794284654182010155155991:510330505:37713666
+499051191183533511577884011:111870948:56555387
+977588079334660556309187747:909080606:410621947
+426740524199148703869556764:885159590:386223944
+236389057432901147340544595:847817096:107748131
+132517483776473078910738498:1380409828:916435242
+458793438177976569742418316:2350553812:1682491652
+488589120594458933677622542:6248577105:569639737
+836196542229303666554731477:5339959779:3087200467
+634145572141055886080312726:2100506418:946609052
+131411594046604290058501414:21676327473:13512372145
+378398172576934891423878724:65888249075:15132573949
+900784669389373732128538600:37982450932:35995768528
+820187150231971425925235195:25850051982:12058902503
+259090440093612730975069370:47999353009:30948624007
+356338273961203288295531119:865364723468:757642860663
+921078760744068964870142396:565900894884:46469858924
+671520576801640295422850712:544032651651:27555462219
+817354420179780318094912768:554184548186:273966861440
+174449449461819577484383001:598402158774:501910914359
+615555682694505294182695106:6063788197883:257597858877
+704570263533669134306306941:9600560382034:6227815881393
+319785000233332378383546777:5040050285147:2256917870093
+941946936857190906540241235:2706330846878:567552057303
+146574257504894847957538882:4435954359929:2109874788223
+271343471730772498036411246:35390524416977:18626129340057
+912549755478464932595739288:86719122883110:68955121720158
+637658075067490434555184927:14935587484122:1198766583913
+511458454057778360951806048:86026951111047:61846314280702
+928307919063189580265304529:53756520405898:47578256755065
+801613695035278698204121741:334042431270542:331395152817737
+889592410316504071309834459:440693303826322:280419089787385
+264909865284853917772048202:174452893355271:107299340858006
+813534513836483229860478448:453733767348549:271614507633583
+742784218382017851761575898:644288536802180:176999219595898
+571510890525765187466108314:5886980388883377:3840994959884386
+632151446644191779855283162:2648803685479009:2213746079874371
+163054715415147589801595653:5220467541524526:1327826767981231
+295526867175576668144020661:9120437650606690:4082873449461761
+138175100867821790014467073:5255828182945998:2227751533952359
+282724437197136217892285985:80611922929281968:32218483368909425
+825374318687535860631990402:82257482901970473:23342678227822206
+211307349333155719907999976:60946091065518424:60250095321357184
+411165684301071230003049058:64093245819378705:414348050036008
+902747579782997980323833960:69019916043656683:17801894659684862
+570975345597016329411595991:542357095235187638:491669448433453099
+971760772169034720809057520:265851189017650222:39784046539948830
+907959579135185478110505947:497372539144598017:169076392188362570
+608570086277968725767453942:922623123955586671:51123920599203628
+979133236251705393139863185:273791572656657141:21445959365861924
+350108568133255889185824057:9524272384649562116:1166950845182202949
+364519438618128718421327297:4101098910741308040:42397901255037017
+120170822586011898100513694:7105527578246781890:1418901270495484804
+757662204765103643239290937:5688449959975454893:39396321786821139
+669723421492512162697229702:6331721023421158085:3246862332285207652
+788301537058102990939237487:68703630193338464790:326658466231270517
+948407885466993682414342967:69299797127563218500:37193754178138331467
+483923986997860251588718821:57569508129373660596:55626601292369178249
+674966298847544441726828442:31142190544843950480:21631093926116105802
+451076667233882695753935901:20064575773677571539:3380196885303078307
+316648922667148817394595050:423252197600036433756:409572238360135851258
+836034911689172091658428517:111612243470930941464:53602859746694092597
+873545770281786474691551876:719118698324182612856:646204675590820403012
+986158772609579032336999536:559187385285773508677:504164541446468624124
+938331305676955780819641596:827868032937982011413:13236025891641793593
+746000291765506189137401756:8932771107587172227365:6711028686262085695876
+473312095926745324355590299:4171795406632981042485:1048067200460180454624
+517723265986870149520249939:6061296422646558624632:3693342936991155932291
+572648950207039732829971206:1840778098660267540515:1291494817103651159856
+565687771657014991349701843:2592353461462746860776:2545770844610619188555
+465113589830320957217299364:51927838607782566495906:47867259020291679965228
+225972083489847098424039787:30810926013790895074534:4752104704673947407431
+987267629298877441760883224:75486398954422848488420:56503772935429229326464
+707746773955260723515076127:38585468667314865219049:12107659371465667279369
+777544558992532718915546044:61207957240123303090809:19878171246399752999317
+651323242183650519387346619:730508768762268433286126:439929216469345329408353
+682860962592998174480684396:463585744367703186951033:462746883739083288763820
+947234903146017938762791412:805058091430549070762292:486587623692231546336020
+344640848496596715244387953:586869587398722890796739:148400693546378346702160
+188632572961476962263522228:417109479519248316849210:99088218776723047679308
+858863926340484005792090897:3576269480875088909860232:559250930462667425635217
+342506977769597322625544820:2972929619448302724243810:620071533042509337506670
+181561755365098838902603991:2188417128459007360885296:2111550831460235310009719
+631490887196665027352291144:7768125373098569027608092:2272731975680936116035692
+995532069534731362447346247:4957837706254640233459120:3964528283803315755522247
+963961054635854926742786296:70634465099860104442166225:45713008337673568994625371
+898956177708423152597272120:13082679301311824884941063:9333985219219060421279836
+223673502235487083001705649:95367289353562436839506030:32938923528362209322693589
+238159555421115086251754178:99491593796531387133202595:39176367828052311985348988
+753202634761760842950394507:84901574563468498729429994:73990038254012853114954555
+503189392510927431596451907:799685488566502673862788601:503189392510927431596451907
+383422649373962366666247625:230877247418555903539588873:152545401955406463126658752
+382123740517612587697055481:907930077374892584078883174:382123740517612587697055481
+443928675742807067354967492:805292450859536688859096078:443928675742807067354967492
+512049518223872400344027001:964824012335811172886519946:512049518223872400344027001
+308208585193155996139406539:7166385983738603263147332254:308208585193155996139406539
+805936174130728446314455781:8554095750137094628771277566:805936174130728446314455781
+490719737482104354171372892:7753535384144137097372678539:490719737482104354171372892
+187872014829162056781841516:5202714175069567367206377059:187872014829162056781841516
+291707290549459290853549609:6908333555023747456102811551:291707290549459290853549609
+2488615785285356270364077888:2:0
+3831867817064472236834283244:6:4
+4870058022183311741663076067:7:3
+8575060800956524029411331615:2:1
+1094950768658764678939374119:3:2
+1037151960035414627802295584:48:0
+8485257913158959251267732205:63:23
+4790843087702998450833530748:31:13
+3695908276785755101881463533:83:64
+4802799271702018017662726173:14:7
+4940045577425299265638427441:142:123
+1944498757542560006367338396:815:341
+1258560055097683901741495002:797:54
+4539437495192556657007940829:695:419
+1536690081053314754034455738:121:102
+2000070963430004885192678584:2180:744
+1004953083466872507777616056:6868:408
+2460775899588877520289286353:6090:3423
+6679611905893303781274308135:7795:4490
+6476008368764159877482837299:2231:289
+7327242217019541819724737504:94062:37788
+6948711752157984604996295970:93360:79650
+4934364788857575186799356583:49149:11566
+7236164284409101888744319157:99739:90274
+6275403876499709861786468069:45626:37739
+9461155305686731887728738559:213470:122519
+6679283966865036425479435700:568210:297510
+8280958456959047601996720566:378957:97943
+1848395700816380270619458275:302749:240933
+9358231793234456993613033638:675273:473402
+4274013058387373734068172730:7425039:3997730
+6846900143663663974470437327:8872051:7736220
+5740929536724688651183321115:8658428:2478691
+9593724958838712922607847398:7299673:5241721
+9294992685531645254508473164:3777737:3759611
+2920893664429527412105674446:18386968:9047246
+4835877047428575502902820085:45301949:40576426
+9655560562113006790591156944:85203020:258464
+8073762440173300787415279399:84979990:51101719
+9925371249521951583405040180:31058466:7717402
+1705164635461927059870745292:682377873:630447314
+6402131745195389124619009877:277421905:58844572
+3077096797397532671344966511:637785553:183358227
+1566537980448972456313370964:209730154:73266694
+4903626207623430389798199576:474599103:388931274
+3902160589879190134597565048:9651341128:246277616
+7561955091388411482576367550:3637993178:1435427066
+8611079390304595046432537518:7834263342:2530346500
+1449532553054471390859831406:2273555617:640012590
+9810114502779549746527877177:7979505631:5391502373
+6673942716337847333418440595:45112110389:19266929375
+6116931383425427865220155520:71231028075:53879522920
+4093330504475944276515458785:95260460422:74928062827
+3457278988634431440800329200:94406860288:55898015728
+8515934648490653333999194514:26217851138:6040357622
+2706179378381949040370302519:299381273321:201410208015
+7261050026430254582068039322:563540911917:340631132807
+7655189013820697272237935437:185831681249:21834799877
+7618597060249729250112089742:648784270427:411300690856
+5865270854462027312970179462:433369682391:233425869308
+5576884305867692568715299203:5690258447176:3482587477859
+4544254966271011709090776707:3397802668693:1585012789955
+6203197776885984325895892338:1653713060398:109744838800
+9923843335028571529992244252:8072025937336:5604083393804
+1584335836316041833646575002:6996513991757:6643954946056
+1494870824319063308991314039:70337488750688:63614366458839
+2506365770944418532759656768:24375153585428:20079952825012
+6042720957348370074635809715:97608987810726:81242690542229
+3317241084838236541335521988:29416612091910:11290591000818
+1079980615789121843814214955:62241413292272:53711752420539
+6534027480238807269834580637:467115579198009:295350688599563
+4362744673987180483258961537:567262767852711:252291133412024
+6344663152012361067021881581:923923996572772:404191408932297
+7585784839258873461443228890:453329938095783:331673182485388
+4332998356105882339522494016:603422567827691:538729291622059
+9218990607648086349663265678:8471277318817219:5965765978761115
+2248824082302955521419121653:9505654029697390:188181583354783
+6580637550007422611112162814:6338916301943828:992042076327550
+3834205840378019134729718030:9227851335654391:4484698290120941
+8170731644354338506156431280:2576236285013869:1975756247032993
+1046470319816593451119984271:67781506027425882:25211934229460783
+3723051370689783068684625655:34315478540184908:18817124027150039
+3369010447993730530153439015:41187183981235211:17445507090150491
+6821864122757787013913665902:66184363591968910:22964904079477232
+7043745819178513324973043360:84616210527559113:2240672141177997
+2886955259842220479140826297:712933367629392709:19052940289228
+1028064170975886824020808258:561390010975734669:1946846275101812
+8997731505880039886190501499:749654525156419564:103797129211645611
+7537866434494650498207424999:896977852526727015:182656821615589474
+2487512475480801960332044089:904058270543036012:794220509905671281
+4227595243110158282250419268:9514505404070489141:4971968602716068206
+4403531486599090286380643521:4550433340395414180:4152461601333464161
+4125096998167692180119580238:4252177595267965424:3772793147121071358
+4572043159415766660450560778:5908005027112532033:1443166247502353275
+8120633813888821876477545161:8052861588764223102:2328209351517407525
+2565892576632104030160591206:97954256264403218935:32820289533189177466
+8988407002436326066387840654:18661826190058536690:2021059062820417654
+8370005009400425685174928121:76497145250752082854:19895772603052872419
+5976309135398054399217658336:64355271725027791956:9040675992872120812
+2024897849841033547446464603:91998102252815219714:23660790711899525521
+1591012518176566870116608034:467309161752526786050:63344870361161126784
+7939675854980025647662577521:335767848887041667159:175646150097479036846
+6810322340904615016732143813:989495617370756108604:14876301608532081333
+7420136854717703737495323510:631683662345375771805:283244188005659166900
+9937259107600818667948558824:710920749326381812446:342467661776996621472
+2666376454800572816592444674:5069662333531419580633:2759466723282417260223
+3349604881855720002478611105:6123136902299184012499:4070821974380281158145
+6270360169173606780740620753:1856081976566969726637:1117622873993546556304
+7454594240892862441547094662:1062975497808589771695:223536112802138644412
+3048722492875977371810903767:2947933818947919575807:1764592047373626638244
+2572914349314354124445588893:42583018376537643072712:5795985573192349257141
+4034330099238955436635346764:74495485016874926655846:27108150093783588006634
+5348204856165170652047716509:63884936896101062890628:13478971174071095902861
+7305060672356004627987676121:27334998106502337379672:1108378106981969371497
+7318288727792179198632944459:82750459913344184341921:3553975846223802135061
+5835346501591931297950596755:217275928565899112088170:184164026144743710703235
+5396435236081061018802272211:334025942509911178471132:246134833445930601134751
+5837909259100063399580909665:500922525170077664465629:158150767978297898469299
+4563766248023026461582024143:780424874171905028871885:622008739897757768112548
+4921837563420400048208793994:557848331575378045217867:499582262414933296771320
+6537928583094723901052819882:8638142424131118868977259:7492910451598036106012078
+7848476423434696156093966738:5587396766500586151376742:3771363267873199561020970
+2870512617915452226397043360:9422802224660646467658927:5980741618615700228729552
+9040637008186366570141991311:6454495380706495678357192:4343475197272620441922511
+4957686805714100069983663894:4077702250825244383658049:3278570961428143839134359
+1632320722102647241425284802:11316632625416440241868954:2725624042679846596155426
+6687801723421021851556148991:95488515263971611918758348:3605654943009017243064631
+7484296110231829476762961438:69149836621236540450328015:16113755138283108127535818
+6985764615476659087299827822:52832949338213006457433195:11815302832542234918646082
+6766358243805835512151049847:27276699610113665540069710:1736740497646458213761767
+1349786606813648187590955360:714181841430302879953290396:635604765383345307637664964
+2213267969601503637711338027:923617400118511907601283796:366033169364479822508770435
+2314899328408551687314470338:228099473435207612131801376:33904594056475565996456578
+3275888464927588072344103275:957568592055689420409745578:403182688760519811114866541
+3811228192708951878889034120:623419817304739925244219902:70709288880512327423714708
+9684170445370642102217668381:6754134446656910368846074643:2930035998713731733371593738
+2277889756816452378348706810:3927833200941943101259681871:2277889756816452378348706810
+7805533443653585173109581402:5406217729396856133039399748:2399315714256729040070181654
+6274639659035470486192166939:9379744396188321113872825806:6274639659035470486192166939
+3164053490513274629860007083:2853822412984197006388131563:310231077529077623471875520
+1770766683582951867127362986:85712360847673625125102301738:1770766683582951867127362986
+2214336318566486224189263283:36516132284075828290162205846:2214336318566486224189263283
+3233826322774576855470668895:93064931515848380105691092795:3233826322774576855470668895
+9840493699744772531672862567:41194769109417352987671795250:9840493699744772531672862567
+7509399177828417030014570636:77475159661131298554759703807:7509399177828417030014570636
+3306904445584320206045874427:1:0
+6648550731102747169760023312:2:0
+1923989213512500447141458040:7:5
+2045949056620618337906629984:5:4
+7735567263587557673427894912:3:0
+6551038455982311934206933928:42:34
+7340179998474874559491264244:38:20
+3361429451499193326672236392:84:16
+1992728998412473039758407019:19:3
+5006273534123938535455681403:61:13
+8443954977091387358710516729:413:318
+7029069582494826594279786029:895:189
+1199066636692944574230848187:847:477
+4976291658498210675999445265:729:647
+1131430638735916915926679178:240:218
+4350536607247481430066619271:4230:2171
+8613642088962905416659321410:5589:2675
+5526854081982971218162559453:2838:1973
+9788629118696935858790413448:7903:1426
+1577022310008414756119164479:9719:2763
+4716878811076580692355532808:75536:22440
+4272111933490882818969295260:94047:66684
+8375814457011553723563569737:59314:20043
+2774524706677629102172479573:43525:3598
+2061867478888411483483110422:19940:17222
+6482784016995889244474752867:365928:142051
+2523220303273607702997890912:466380:175052
+9189987367485563696038682008:232848:126280
+1326603185548712083877156202:469816:86610
+5724483435091816740905117133:832168:761957
+5448811910822736819088659368:8148178:4052784
+7593538281074983174536558847:5881388:3312975
+8897625818664806247710764375:4219467:1720771
+8505218630284905854118413382:9498642:2039640
+1584606887878065592356713435:4184953:2739511
+7580745626069012564686050201:53305941:7893984
+8147276481664166465531957802:61358540:52918962
+4803609033675850575050921562:34126918:14913280
+3897867923489686406398718486:29947076:17920878
+2543585444041557786749555123:66330632:40588451
+8386763323354349523678362493:973292058:164070981
+6280349420495198162589161506:783868002:237749272
+9726550537755994687064264197:240862588:172453061
+5633928810582611343132209506:634474664:179150098
+1370065899966788419796145887:928014917:229366964
+4644388625277186213525475335:1723885749:82355949
+2930237535857905970789471184:4163572589:551096285
+1838425332328211815632444062:4149386899:3619323798
+5301040430239791637795922514:9174486044:1977803366
+1278624281241470290783220348:4197143446:2258152102
+5073851447860654552082600399:49603874651:6664409351
+8495679469054082695873847249:52391050993:51613949358
+3439820538088948523720154767:20573138016:7365820847
+7423369464106441977035186011:79481629986:55833606547
+1196788765513026539496196883:35960989167:8457862952
+1338255726943128358286483316:278608853033:263850027951
+7465928086592384168642288402:702118487633:368899480280
+6980877535620950910589712401:630051239087:523101601711
+2339202134980410276980870662:575528966929:490709034248
+4545494685181822641699640133:911053289403:261693432371
+9668195721946972188891805137:4501225013161:4427337716612
+8259551913507393790969368498:9602242246020:7063301404038
+4659701729529566927277577789:9800362210568:7075327539861
+3053819631595032842973808127:6728148418206:2224500684779
+4366683403852961415903511470:6439104185904:2144638179438
+6699362635551732317726995831:28702227373544:10553028301095
+5065688358637539429798042484:71885591137323:35498345554390
+9791225684797618392513109812:30135485445879:9805869140094
+5384083371953697880976649773:75471539816622:32497430233031
+7841594419244110694904047760:56642613028358:51081721840638
+9802088249109929993501456995:895302357865941:747875897277097
+1800583120604430430826052958:666087505461413:388926478722363
+5552709909599407767881082882:778336573387625:451622736559882
+1367430472509781866321031212:329165911650665:26597390539257
+6763317415043958503254499253:328865206064119:95622602959914
+4276328373747732269281348519:2332817737838764:1348986154225403
+9156679165729882486565210129:9567332653619863:9398774642772271
+2779911609337845247055619638:9037744386579035:3469144880787198
+5475945914380879357219459566:7738800114103126:5005267674606658
+6479389287564830252125509510:6741088225817680:2330211365760390
+9373709350579874818760334109:34660877749338892:19536499236764501
+5902448227307544389097185498:76004044340340877:32536243541836513
+9898051593637413706362389954:80217157088487720:39115984545477434
+1801842712186580347932272109:22568373320750168:9195014713968013
+6744465945769708867168239777:76628823447431196:51721396150393593
+5785387033181518354473237660:955699320034252819:192511201243220176
+6582057349299025003478373350:520503609762569497:74166605761741719
+2872605987141246656291026340:958315734421813735:5731866601759295
+7092597574649781468273551225:296973294515771662:149112038190799129
+6113909583769266402175101888:553274744237445202:289963165564528994
+9275882039491949320317370316:6008193616806664911:5736956764288685363
+2581885452253240535893556018:7456690809563826603:3278176350554286101
+8898290676669099599753827520:5127351590999448983:3814807635253601530
+1237020605052631927166700676:9906793591725688964:6175507138813662716
+8291416045618897442798988837:2975977380075942479:6901301807894675
+3016759495740635969835179111:47163936620565576284:24908322322972819283
+3258273191137960459878648263:24917882695441668054:10603035428012004773
+5364492182425697499120348561:75500357843241730335:62254808568065277996
+2676001567834577029059098212:72451309575438279717:59491826767765871605
+3479517166044974759968729035:74695683072731013227:56524618026958035964
+9049150941298885946687971654:147823106726846039451:109705954101664478476
+1194199879158751746465723023:327118551757162312784:285645294306190747231
+5138313263054347082620811685:899991409792217857088:407050325801109007077
+6789488257534002358105790933:987387817410283522663:298803601876168198377
+5006882522755216753822233365:246808801841411355472:206757858436443903861
+1063405291189977644667479766:5685686587952704465827:5642958595375719390129
+4071549974065628089739061517:8967348007358938856193:6317456368132534335604
+3790655723646838553953627209:7909538580698794924321:1449308360387677863638
+7419710266793757363018572492:1087508569473864625698:350118644344936850228
+9405572978864470693957614558:5786910261185916937444:3566974298549025007366
+6079976488220512544021419331:89995522364260108854618:58988335828110021136487
+8773908697491160494454150398:12921753919460891276360:11942669376396023157678
+5659432617955999787778696502:20977242571187933567261:3321917778378600918573
+8150631104853727027357524371:18878265467466900143911:15502336762757824525765
+6437336982212152759231863286:22376386804017904457410:8520885065933306324846
+2841739830049679886957600561:686670107797530476137237:298923983498776701713855
+6720562777211608904056675873:970994043750251148418749:313000416120705850514044
+1976430893777715218849362690:605998632288763850190933:269353884056303376730177
+4312380806917476755683817012:273351487944243414120553:261084597036897932093437
+7573533720208059014392951916:761222726811671835612363:128811158735921885552429
+8802984183833135002644232519:7521993646369986315830386:2251617580251013122680899
+3410299560771403181626208520:7994791371162980055106146:4518436655973678150990324
+2035956865114483341018464217:5879151566622813464094693:1770423062989882441700439
+8623366637258086619290501259:4246370337245129028221103:3234852650474692001662169
+5655555026902700387677726574:4310871062897349435532892:4003063444275277694105162
+8099822358568012754623103717:71352403772601213392756349:37000732264075641241636280
+1301511909302522909412934067:52855644862842549610376692:32976432594301718763893459
+1652307026435949030270738146:29901778656070320822560648:7709200352081385029902506
+6829542492722536227077250737:57232681640587408460670269:18853377492634620257488726
+7108108334032456584154347853:93420369056275745654960073:8160285755499914377382305
+3301316818022780400415132159:287375538492249751751558252:140185894608033131147991387
+9794262563601789579864377819:685300673861282142480134005:200053129543839585142501749
+6229002291947508955590454303:220294283427631091639626176:60762355973838389680921375
+3694427296613086082140290561:410370599364584648577993402:1091902331824244938349943
+3770944255162906895033327841:897562091950870271167571457:180695887359425810363042013
+4875154902311268809720742300:7068951755514427110968374903:4875154902311268809720742300
+6188152662004252651294944067:7884221331009198323894031215:6188152662004252651294944067
+2505972783367567761476558359:5282195412517055198527129802:2505972783367567761476558359
+8025623069469905829068500677:9495200930459862668935969561:8025623069469905829068500677
+2486718646068690609173850182:9026149971037856044268613125:2486718646068690609173850182
+2567432946891046973810408862:90394856514892364274690207935:2567432946891046973810408862
+7745565292537861601571349777:98593448354805901999755632514:7745565292537861601571349777
+8524971172821171150052321705:31041829202529927954082555981:8524971172821171150052321705
+2974337430933378198334428408:82906424745136627033355775114:2974337430933378198334428408
+5771257265655099062531051656:16588890690989541005105770027:5771257265655099062531051656
+2662624019903959611718769557:8:5
+6778732813846831352892897739:6:1
+9033767414619975567419976790:5:0
+4484190805038659408123962343:3:2
+2457868359673936333278786371:2:1
+6704327791878929495574873639:93:30
+3620497091984587663129589035:67:13
+2145752591215876820677431894:66:6
+1539914772455136387378686432:76:20
+6317628913691167322781574904:31:7
+4613891203135454670150502839:763:295
+5946612180453466638006648165:554:69
+1122901616558730437538122623:535:313
+1466825335447207193770398661:208:133
+6972839930777435239301303818:943:803
+1390922300295501547315904736:2646:2184
+9396200534639705243892231214:2173:279
+4473695593035293572454071760:5854:2678
+4474405732813817427246912085:2761:2433
+5318236691127749605905787200:3876:216
+6329754905972740438777277530:50490:19930
+7297731771805760789621517140:63891:56252
+1265235926338218509419582183:53391:50851
+2559576370460706231989603144:60710:57134
+4140763844586290789330669299:87754:39729
+1255452244753822565306595972:281981:67559
+3474189474216771007199004435:554492:350495
+9382345271263328958379631111:694186:391723
+6015586957642527653141313700:471476:318196
+6297925491493582622774972856:916562:118214
+7800440302181574783519524725:5041558:3808063
+9060343405594417126784593837:3635604:2203129
+4965753917810931095327651434:4317859:3217019
+7852474579212624778530600101:7430921:298199
+1212982624606263726774461523:2030167:1395069
+7754898375325876714452310376:63994861:25363133
+7082805757467973233417165691:87572813:7131105
+2348274628476822569729168018:90335421:47835722
+7800673013428276317804787090:26746230:13691890
+6336534759632427768881736461:13487680:6530701
+4793395800103571432162040111:520266123:166018041
+5782314191362996567580851168:395220612:260586220
+5323771672340465875718878231:292593152:105430039
+1569080107906556646391307701:563174820:238177141
+3994562472062786056766856577:244484230:117518287
+5355776398603471016387318468:6968130354:338453576
+5904322652354702331638106014:8705856242:7558814540
+8308762859444065432186661226:9414151717:1774309544
+8018390451902192690825296493:1129557401:910784862
+3157839612381955050091000259:9336235349:6871999655
+9436827856166640145594919308:37201793888:5980108524
+3752619734708045546808525293:31963930451:24215719441
+8229280307100868824699598185:44121381171:8080844697
+1976058084270280377813948652:17322850265:13527970382
+6531060702142322365227427970:55255531700:30712817670
+8280506989740856981628387567:883953161851:143734930070
+3617188585487573878127933440:742182785677:573874229289
+1654656567182590569925539294:534054037283:335595236383
+2853300092740240362109947632:307909505438:208091801442
+3292791047643307399674966950:357050161287:62618757323
+9436830375504339283981972365:3846684809350:1997678933515
+7029555188416874186923488170:4860222348857:974796375840
+3561064823100755051551165965:3262008875549:2275926423711
+9278363799578235386176296293:4843150109730:2714228833043
+3630502106063397212130745085:3102977012806:81325107049
+9745836005381833120754521056:93364141577085:72725063837196
+1143267713120667696893403232:68378603652354:66080174363878
+4382384396798501380960175725:79446161588347:40085668507720
+4193104475256865789546162762:97054032184884:4681435973578
+2296354556130866520077182067:93519306404273:18826117683820
+6869136412910904305542084466:607365830478755:67742035588856
+4751347067734902044110724159:669315297178721:523328664943686
+3206960411561726723449637622:765088927058094:574279171194486
+5599421167969360184350962882:199208976606942:55008560892810
+5785893369589329202993905593:573042501412637:240462853990073
+9254174821454116818228244932:3627213085052775:1575329867098182
+5216053120800610501236017142:4490082000616198:2423334406993924
+3521942813451577870432621945:8082962353010216:341547661661873
+4128235653199240874878654464:2924829269209418:2614274445932540
+4560281299412768444143091206:7398654895453339:242361645871018
+1359610564011545828331598436:16416052117880666:15495187027610436
+8657781185945711748693695011:97087720381195682:39014002948478679
+8263614942330779001493534888:38663753919731842:30730779616634864
+3412044520562698375212126864:99808640615266805:84815952887869954
+6839083195296612795475335762:39074392879743201:19060812520641558
+7353048787532142599002861195:698981053524029960:510607712554480675
+9991106799989030549835941706:638050621365710098:43062104968913160
+9780739016619984480439405836:591120140090195331:7605768505623783
+2434043172475406382240493491:743943923788088020:210526422371941411
+4060365272613597533848990654:318332167916718856:75023622178524198
+4328519049013342811828020501:3138962794186024169:1130347745942953582
+5182978747094215846032752871:4848499972471729435:369552565134500951
+6590792180750746863511658460:4675474717616941397:1648508694537466591
+6989867305718248563402048288:6081102931063281101:4648275024422621073
+3895131523130050223526690037:1727276360966323043:1618818766096419837
+8186262408796937118705199163:27174304405216821627:157449787986497177
+9619360159948542862798856290:44024580999315826381:41644960630243646016
+8369034176349090746963117133:43728904134028555782:29212431551102828607
+1249085351348427669080269692:76682966753050424989:33324459936753998186
+5841395534647980748610683454:14043780822769995328:4244424614810791742
+2207082619424281895855393919:497237280911335422980:473015946467228297719
+9495246971115502857405990938:558502237521274160497:193914427632047320245
+9060508328674424093130952731:653634713725600766034:408382852186574473911
+5785250434356430145993719335:184938331679102239905:110915838243071274180
+6735901179878618837471866018:200038555918000543712:85912003677050078050
+6451259561995087675360673207:1843288592248216474652:176374875771519225879
+2531288971913333484904914979:3628054296724446161229:2745197280847107764137
+6898386129996148481108286243:9079442583477438920352:7243921659938203243683
+6478581447076779436051260250:6510429265467017812568:1201576426274622342906
+3331979992117559285445770647:8550284399792488004100:2563793625050152033447
+6053586360171566002042333898:86143879063265446085617:83690637776574713856074
+1542031225126446021672855873:35362321115740079049821:21850553484134626361347
+6379301937391529498654088169:41949091501407035262040:19694589558832285141289
+1175224289507652230500028888:99540942122581836803215:43926808451065201272598
+9953709341176056684957471291:83285489968094841909912:10578619137843778158435
+8467966711397199773711836497:681157988750488961806733:491753239871489492338574
+2524776416405826090820920269:411465597563520614092426:23509756063602749794333
+6766971662730744480042252666:614211283800230469247982:205949103605400337234972
+1725734902025701089628600447:173580673609491612721800:169425673744967561186647
+9820462904475766135717893488:400541397355921732103578:389465500633029734471662
+6735539568740488917680026445:3666569685865423868532173:51055805705271186424644
+4676688613557493071635965673:7537829696792763659474147:3234201545979602761994533
+6294732872792202380391894246:5046518428085989446780212:1724392968973540256969882
+5049226113396996736778424652:2784217884003891316937013:1439089697941779171620083
+3341733578881801261621305704:3691194968461579976735807:1202132424071382675400369
+6317516236978187412897546072:14177948691673480562179756:8329069183488562727554652
+8476463968435485622539331017:50739681816790772661317825:2937105031426588099254242
+9305593347645823297178832571:45889243354028762967266728:35966190132013177790953515
+4385640237621554716748153923:45364504170893822343431112:30647837215747771778767171
+4834354870042967445117875667:87340049296426574566304563:30652158739505843971124702
+5269088644242892129896180447:725988575960921118174600788:187168612516444302673974931
+8700273851084123929883420043:574443108387996450580390517:83627225264177171177562288
+5838308197166445544522661856:525678607674235726159020069:55843512749852556773441097
+2349116131937107259763961708:525787038625306537331004176:245967977435881110439945004
+8083784227806109754593196858:427762823512363486043216223:384053404583567005815304844
+8247514192152805383867495461:3958169021357635044698779569:331176149437535294469936323
+2695314829301722880382121831:2310543619361143673193111972:384771209940579207189009859
+1922796414813963479632168273:2991179452811051517921636533:1922796414813963479632168273
+4033297958423186496041280823:5445411453411437479536095099:4033297958423186496041280823
+2531006570357884227953414449:6032029882105204829907318471:2531006570357884227953414449
+4875310680957824545154084968:95903852945441118151092882525:4875310680957824545154084968
+8099610235654351695627233904:82067331525886075817060012399:8099610235654351695627233904
+3018911406883958349971187569:74574534244338147714155953629:3018911406883958349971187569
+2474956494316476795212638191:98535308613161147975580668288:2474956494316476795212638191
+6787500249576907330891329056:66987325297570726129507817908:6787500249576907330891329056
+6535238904905140272629435023:3:1
+9877196680869307438071851812:6:4
+4760961676082813851005035691:7:4
+6275961051571162580726760512:1:0
+4778395922693418291837597752:7:5
+8296016822239826407306527570:50:20
+9966171713573466943497270114:74:60
+9771401205905166944623810295:68:23
+3024287733659874442778402850:33:3
+8566115087980577827400097568:22:6
+8007977613061015897235869201:595:331
+1840951279441510605287394667:354:301
+4657558561981025786964239229:836:781
+3235306111025252692500709921:632:281
+3238976127374890128371168932:830:812
+1829880979820020200502524197:7023:5969
+8127122912159566138655844648:8266:1350
+4014286357668173307876071574:1854:1746
+9995148908403024445512502171:2624:91
+9745669122331870061098036402:1876:1110
+5237800009141154447102446267:61595:56227
+6827586667740134692225024964:12724:10236
+4406411348161567525142011209:14902:3053
+6579928783516078934447737752:28510:4462
+5553068186493712247222794744:70184:7624
+5057625364053135955529094326:394553:25633
+7864826567939255426413446039:407301:306537
+6344242744277099133439400037:873455:669592
+9574169504734008966683206800:816311:176605
+9025828689530366588365320726:439144:275398
+6569622573307030634627966592:8509636:6252996
+4020998436883991685904437125:1561002:1328963
+5991783939829402009168409012:2198896:1009828
+2246879208156210248590056170:4241295:1669745
+3780343892703822163710415990:9674089:2664638
+8865863629580384262631310237:10937509:10514831
+9844188150363539087825998528:77409744:76182928
+4391229968066319260534964235:43644032:37492491
+3885454869428113988100608129:89523032:48647729
+6483860122277792753502709317:94419307:68429020
+3336543238979661587311826867:290435433:80125508
+9946826103826612983194620155:432048289:240674915
+1380889348739460320667525512:187109534:74878278
+6883976101327327721357622480:343188002:24953292
+2921978525694058455645886861:885911556:76031965
+7438112065508932256273607716:3591587910:1166653166
+9250434178568946952626141314:3450560106:3078640082
+1603291204996318879475027289:5684728135:1016665654
+5693800082947638102385886468:2318645372:1811822720
+8075701400758005440346123028:6719438484:4098172288
+3678144555671691239370077664:93460537872:42837782784
+3570765254304446968016638894:81714548204:55890096982
+7652405214317655905433742046:88015452999:80177967821
+4332040980246035231805371328:50889125730:15618144348
+4272754805779583653101061434:38449364963:38355909552
+7934778960550524253424718204:892968858464:176871467804
+9154949917769940200362328411:798124746469:408491297748
+9479258539561528740378925334:439906916905:332974063439
+7652336520268091719784684504:354225497258:310048544122
+8297105891605818554720198864:756781038173:32661755352
+3859261839674399976734607409:5037225543532:2538302499269
+3206102065600104520312253339:9023681392641:5221688588723
+7380257111562132560896962033:7717557777083:2915830947619
+3442639861670729127365853926:4935643835686:4829884676624
+7690306901755467037930760182:4025300921968:3799280624454
+7629566668659960332868543972:71268154001780:9322215376992
+7740809712625803514911315887:85172264219821:83733208183759
+4980306456161847278478399020:80353233977495:14650635753140
+8466352755002234322576730109:51951009007024:41795478162797
+1149996886949946521272009951:33385983874763:30643114716487
+3336205766653904625560245622:727953021991661:682196361987973
+9057897687643175668341019611:621225385569742:602136636255403
+2794634465087329453818507742:410579578341458:280260630467014
+4249107307001233320293477266:516111380063011:386898046378533
+6154687951756281147781405019:595185955908043:545748903537042
+2371283449445843324771535728:5784307054445796:854855473530272
+3719258097398688765538021996:3144638916653413:1875936896224455
+3418423716275332009445085456:9598600789637864:4838020780521280
+4128176774483177366974333563:3006378657231234:726953816903937
+9896022218232189970907171522:7198566506351679:6868201511931797
+5241202347470370934241674780:81925710278354317:43973945974398738
+3010112195754484442558153262:25872291525391548:7930933416113238
+8599794979252531844782349331:72297110064616447:70436646019623171
+3086964143067731220231974326:18622733923377790:14638657612481586
+3739300065925878263868145536:44934439722980849:4017127201197243
+2708559246250985727431281272:177298502517633778:33407669856296622
+5356561010667264157682718493:597362276293215069:263602353854901577
+6115076767333095604583976653:778045236125826094:720380041440616001
+5000871790014043238582789092:581453613460644796:360885570444072148
+2873411873020664826069980222:891079170826083565:89535983863356357
+5397428721473861521916536908:8735315096973991071:906607111474443399
+3809791810696211285750742559:9994948495915389095:1247244490786458209
+7677793401010826894393449228:6312800835863613974:1506849268481754894
+7064893461173501398691182182:1769987678568165863:222639119460737648
+1822222864941172693885770066:8699480441793564889:276344750798863909
+6780789988030958668685209783:58308638307735737088:14105845898155306423
+1169064261127893003235417798:43377233172937164519:25406279842693067860
+1151587262616337390096400170:93971737860897626577:76165327004674377046
+4652097269163897433608935666:80900875464893517743:23719564004176318856
+4816006914523989837496254194:62308122625169548254:19975219375802337578
+2096823619180965713671809003:668937118620932800802:84636534593589891883
+8232400578970077491461534472:954592343470080800174:27253474551084159168
+8962679516148690875568965715:181442786930528210915:66907794736258712340
+3886020266739433154632901856:565405888270016857456:297212702313776107712
+9492186603023922348688952815:674733343538075130501:141063043280593576759
+6335959122606600916287383507:1621465800310704750808:434602506567267583107
+2750206070407848624700292071:4057108978688281096664:1435697487452861376399
+5924241012195254561961873986:3765027544710874885043:290813050617345793830
+5504986425141371457694251304:6449195415947910908370:4811651562289596886264
+3396237865546721214858135772:2935156306016602441230:790574276712737756302
+3980310993054459905238559190:62065940765733475034995:22211747972151244329840
+5458448774485217623800326092:92492047005564729390834:30620451815118800257582
+8765308603778409884245064099:22597469728319161723147:21265800146881777020563
+1412297485794234795575057609:24246425046449838974241:15966113671024842442082
+5781964724892802905654551614:98661791866037961014784:87736167380276305164862
+4468773311123407596409398327:279405229516431177250840:245475467123778636714207
+4588106545405580158405878380:351044006421783964737965:312425479285523245413795
+4603143044310843134089654032:907212959011157832353566:851703247239450560013714
+7117114450814886561137122686:694780258420644114144565:480263812228899954343391
+3157812488718693877540323809:925951690624855221290113:317223687937572941038479
+1402248044936995399251700142:3688634388442959156396529:566977328670919821019122
+9158831331968733245136615822:4540672045900673342043975:295815387075114233918247
+6877528352282044734189576049:1901517664667644128761083:1640476843843564589499921
+1852280754265549532982555856:9975543271472356427168883:6805249043163593956312501
+9275895665709030421563690937:2644755705940799833023686:737404974645407149624135
+4885431592537478752624582056:24803142513955383384583980:24015659802223609246121976
+6761122704122458057669939154:40991737148017948923216558:38477811847514434262423642
+5891736048183789012062687296:20382988794967309621405963:1052286438236531476363989
+7988311122323486631330946817:82582966948778228637432051:60346295240776682137469921
+3983551475849308200848853697:93932299676417509301250906:38394889439772810196315645
+4791434922665305555257069694:833715093058224470298002222:622859457374183203767058584
+1531315016536559043699331441:710067752322327241438158056:111179511891904560823015329
+3964911460045030365649679224:944122859580319181418751197:188420021723753639974674436
+6104567966731072659530930744:151866157050052391730190411:29921684728976990323314304
+5102692625741645958118749860:574207630063201835562423694:509031585236031273619360308
+6265410834035918774365268279:3239215706293146196514404374:3026195127742772577850863905
+2829404926039389962493063016:7054123055930996764918428155:2829404926039389962493063016
+1555707832012010618121514270:5645468273003664178804191406:1555707832012010618121514270
+3821251628898176620552617960:2110960130825791009465902735:1710291498072385611086715225
+2911608909600402104172703698:6890709538654123837462855397:2911608909600402104172703698
+8237483857007695919726572261:76259078679990906194122564729:8237483857007695919726572261
+1573237853236188564625176822:88446437319589782643737532875:1573237853236188564625176822
+9645442241952698122183965866:92565698494471808780324402877:9645442241952698122183965866
+4932507530720845273297277379:95977950611549345876818980350:4932507530720845273297277379
+3199713841039096497732517080:79714886294687490630204079038:3199713841039096497732517080
+7269170272138616320502167637:6:5
+1810831066887148349433001575:8:7
+5831697856262431759183381563:8:3
+5109070083718362845260435497:8:1
+9770277054540303358823149143:3:0
+8196480891072678691303682429:48:29
+8311016488589267262991934807:42:5
+3057070624812288725962016146:51:25
+2752551099706494692673560378:12:2
+5025334311098503294749886246:81:22
+5242936265860062331244215025:748:141
+5040030928342466985681772886:185:66
+3878840770329239893029217246:926:252
+2797686614784947496066879583:327:286
+5775682997176172451928189829:408:389
+7134336031392585774712119227:5904:1499
+6067715481476737593580595483:2403:494
+4174825782012794597189222584:5116:4444
+8263772954752578160431019277:7927:1436
+1136341649275230862841972790:1281:930
+1316768871492548235312533927:74574:41777
+4547784483501158387660053776:46175:8551
+2277950340809877091127949926:93957:23504
+2044024242226032186569934045:46364:8297
+8281664506110648965990191104:34663:26601
+5871822130663176332594973425:558343:540697
+9213294141512722619786150766:599946:384582
+7198752391389702885741762641:860814:573413
+8256850432279015006206578781:420518:369247
+9268383371914648474861684132:575592:126724
+1723390048227601161383373702:7448707:380887
+9807620707309084029982812482:3672569:2497397
+7626448639530300985949751930:2728336:1977594
+9008572403012921917977830206:3063065:2405081
+8342645084822339024738538326:6209626:5381064
+2048784590278570752031144246:29782699:27120418
+2395838321424052951768665269:72708652:55284045
+3248491565083742296266548856:63781494:3750456
+2287729081895773913190886466:65975651:35013660
+1995797320541725811572088715:60551808:43592715
+3050916631404743195004389128:502196596:6336012
+9930576166406563985218332299:363033826:145718021
+6522119547786037473887472215:208915858:94758781
+8318454273312354728165592193:144173697:128328964
+7428029641777905940433251237:385966803:73822747
+5996921098576016439548261224:5254304275:3543016949
+1889234199594180439848095512:9171738128:1012703256
+2120181499125649625527792166:4252422979:2593850572
+8779391883424429605042115082:4148253259:2851682124
+5104521256357172462390840985:6839839792:4950768041
+3780408680326244941481223466:66690273119:58307372215
+1675652720709183326667698877:25658251237:11526801629
+6445838435104863392885713388:28302830637:12460533866
+9795005718167650115834214047:29533608608:5485914623
+9155742868536417388075523125:81647096028:11983359781
+9126439935662522849941211227:666348492758:340092492151
+1404058935323174871965831456:493717518241:35729434972
+5996057103095859526802176212:933967193444:262134092880
+7699737923605985413330753003:426332513409:355564681039
+2492041832625219843327726796:900814246887:254895865924
+8722756020556746725068807247:4243414273025:1879211468772
+3496587182759184865206771843:1553436357105:687004028808
+5155106029473494154385387015:6739445722204:3448938465107
+4633223713556370726450842612:6862298267280:99371704292
+1607183229401949503965594596:9118475800508:5417218020456
+2747605464872239236049908408:63231820688202:3302122173714
+9658542230840745809327449747:96356022581086:79261919546905
+8675413879549037652658206682:84896028362170:68135677948922
+5557511187939992243361041733:41053177898428:33543573786917
+4909237589671491571078457560:82754625241391:17832015595786
+9984526918814592704573812391:306060555277659:48975043219877
+3346166881206287253943227785:650407882738153:173937472241318
+6667278210535384908123557145:302197401496944:9657280723353
+5246406735029577543225934399:573833729616875:551673303110649
+6702160628508578738075234679:676242232572473:157024888643533
+2303390132667726546659160910:4216119259360971:1507338733955851
+3158421888075810099523276852:6822356625328464:591945104392084
+1430025840678330767839118084:2323751569396263:1330273317202928
+8103405809994809887809884782:1621055123064277:1585454705638564
+6387469482380230285789028787:6037230114407559:1120312323574791
+7719074676417136090455793374:72266300396645152:57717713097081694
+9659254336461015694701481236:85147033441812180:20584983825338976
+8551050804124664999117283864:43280353375126794:6334301657032110
+1658482133470609970515590906:82372269570654428:26571314287235126
+3607619201496540217407317722:70661317022295036:33176547305098654
+4714646246336782035332155411:374732562466444795:294022299020933206
+1541081002063339688034230386:363319574084660062:341116738371975998
+6696968797461407028079415168:654646291770095289:139787138345724488
+9131530555706621157772494556:661488647324722185:89603465934753391
+9595353871315905970188655049:914172521382591043:220868724948492595
+9319081018408046390478601052:9419629636396617227:3432921758904590269
+9570268889511612232840966872:3348234356885701733:3277596571075468063
+2114939340301418984078431143:5769577736224816157:5422070597161119220
+3852310201343462741232659164:5417389474463752104:862519544990243908
+5132374739446504211061745490:8094323264068957026:7733565400421043428
+9218011408903527530506404772:18111680682792874029:2369077944387314251
+3215557502758395012447396283:55453192805253291527:32302887442826105104
+1935530975037750307210900210:72909109613164837983:10133771436264714202
+9029392971709740113208547984:37583259457937893531:3969415848979959708
+3018423547954702120894211871:88250742552510393982:79821531539992328469
+6564647617141515616400388399:527145563904935998189:62157258358561128166
+2612855245214709539489951772:734429304671262800260:344152812026677358352
+7931664723601930967744997155:741314017241711758791:600800822222760491549
+9932345193551595778246376056:620069136338317818109:259042378678049150431
+4043527971073919056164421772:577428216721480972704:269249240322658756172
+5453513409316846665319911950:6281966579410091828536:18466198926947582558
+7427338114140332265197692370:3007661917322410800996:1223846323819640498258
+4334442473453710946969911198:1720617679838548655199:63818826258685006318
+6103370539852228273963660378:4989800755787563579157:939196309918409771845
+3184574363296633648553096177:5962410901351162969197:3001597766697401224901
+6460966262327077724718360733:51616637415610729247031:8523740251523408996401
+3601473266568179986814187633:42391998364209221653865:18653538421351988432693
+3364928815730559215641991236:43895167824819116238580:13040615575403024925596
+8118882090050989490174140217:21747929251069876965663:10385829336230983726046
+5053071544623250089064948526:31974818467085242815734:27032632834996408873038
+7604950519698118286513713031:357928204430638621246676:49960160339500885588059
+2605526574086674636132845810:173386864874712776491856:42155614365743789725698
+5768542533497265249140858956:501058144961340287836481:361168702315855567289684
+2753462303880248723174817430:936337061012191338761416:631344504406187216254390
+2441861808561689885629763848:842478855028999498933985:358086687649337719075318
+3075489073381054674277336887:5193358825466847791666932:1020648704680781610513143
+2953296173453538367485908940:4484817936393796718284569:2285971306420126854662538
+1837381861505830712039904818:5025848414289405803802772:2947190290197593651893038
+6812302385865216572257891307:9204319610726946025945466:1105873927276513058246467
+8704988982521995681140213667:1881960595873231608361332:921226608299492469053167
+2653456623898604959232882368:56648332891239332514130856:47633310901595663582862992
+1686010322519261803770570830:77040831483087717708323678:68152861374419731895773592
+8835408711133225589189222955:46962184118094498928896986:6518096931459790556589587
+1969981939547217389324434998:73291724522962536987230184:64397101950191427656450214
+1821899778659058369803929136:29998277249345282153627424:22003143698341440586283696
+5464455731113165472595816704:357933931522151636363680512:95446758280890927140609024
+9491684053725822174553736337:529534501585487235110834688:489597526772539177669546641
+8899151539436528107532694218:319398715707596166255661084:275386215331431618629844950
+6400865310414308137909212785:500753246474072309637580635:391826352725440422258245165
+7288461886098673615778186849:679018765561843838242785403:498274230480235233350332819
+6938232853626900836122573509:9330994111952256131658773039:6938232853626900836122573509
+1997384857085315135195302953:4648296197311263532402879425:1997384857085315135195302953
+6931842427563412972763093517:3104249837552818325999319445:723342752457776320764454627
+8771587342177653167674360060:1016324148427783117212800100:640994154755388229971959260
+9739405164091429509896539642:3113295298326912251860064373:399519269110692754316346523
+3338748649480227944760023264:71043039596715387889839164676:3338748649480227944760023264
+8219828979274611687173266570:78713302873647777760781457826:8219828979274611687173266570
+6905385248388816504752854617:76256627356068603315788500397:6905385248388816504752854617
+9304821429002841927540591158:16285414144256733168698841487:9304821429002841927540591158
+5407331284089154559137225399:79493945603120219392221236768:5407331284089154559137225399
+52013751821388826886820006533:8:5
+63811680220781710499716555361:6:5
+97938439802644104467939551306:4:2
+49278862095286879198592477183:4:3
+16353972674151036218362265666:9:5
+17851226935983944247029494069:16:5
+81116926959655050632906141898:38:0
+90412957904446769769446562751:33:7
+83354769787677039644585556902:24:14
+20961962460287888448519954392:92:72
+84953545876267991505708347949:911:757
+84242984476538875391936355655:230:75
+99330517927992763013296026298:149:129
+75120327974161723531200709529:939:626
+58735014487592666152681141260:217:143
+75287198531528871121605303849:7036:5765
+50339710322401993259593945533:1722:639
+22623814585557660563648034591:8736:4575
+79008604551680488005772038231:2157:612
+18640667831775300629151863470:3482:3000
+71495168034673656302468603249:72754:64743
+57953000568552322766057687776:19504:12192
+37233761211946627084786656671:73759:55050
+45358589078212281213488351403:72990:10353
+72182592457984165547889747105:71350:61205
+61598038276295889002043081013:318923:240911
+66320837263345164473247102166:513058:268606
+26377677657962434231336836716:790428:508700
+69425632323632479554617810302:299003:189709
+42047380078690242657014795368:583281:65926
+44571604547762751936529369005:8748838:6063753
+59662053567690769434546366317:4917661:3244632
+83264410026283271051264265141:3357254:1601173
+66129821780415521033356106160:5014773:1398675
+10019885511251644365441630954:2421601:1556892
+20806868280287263703055282661:65124968:60715941
+23160492674709420836324987147:98295610:44464547
+37385491274085139538360913693:97579767:42358518
+55498673121816923919410869274:59772999:43635344
+82935726527621790898738728929:60873644:44875577
+19300125966478384515634403002:839848313:644196867
+96361074420562144385263090912:514055603:504356772
+45334378204555176285278182590:133138101:90701361
+81316362569060236545059869483:971937022:453951069
+21334477851824176546162976314:594079424:158262586
+78604523864746779496460363570:9718846372:6175669482
+74156795947654455483739268966:8017694753:7846312265
+83204182480626953708699039559:4736375906:1296989821
+17340735403105803712711698688:2816095670:207387768
+10368495639039810453988168798:7745580885:3844581883
+24787921892133050131172518518:42086206850:13890128118
+58266626338925353640064384171:72699248943:744337521
+30760291059775320495069845766:45037083930:17757657546
+48254949768630848202771844157:38516707108:12452521305
+12169677923062219752960847388:54216621415:4840496013
+50962477780221636004980518271:591619946236:255720913563
+64483379397134875239441970001:827839009076:459999546521
+23765240206327616197639740505:853287387188:249759719317
+32961720344900763455683833203:238607888522:63378427253
+44212472972344289678312197167:539828601844:508813768155
+88487285458680674347511684357:6526456502931:517233473990
+24925928518027187332931929296:7432099223762:2980864394052
+39247495372646981546768229886:7160564590355:504488371806
+37981166040506627981169267963:2628363649804:1346066682783
+94798427891126338821068164949:9765303135054:5323032542267
+83131307218494771397276595952:34189209807748:16250536422140
+40227837153314538718090622015:34132703386520:30706631331855
+69154270008088149729797921709:59700976297808:35955795714301
+23345253299875610722672130181:61506250197953:52929549805192
+33963420191790889448449054459:63561427814288:22964193768987
+12474883020797686130200289409:371617933479952:35525892830417
+27290825131127201808311443272:433389690087067:39176821281070
+78613317635988764878719509401:671828981728415:70216702510141
+75904198976598508483868140015:611671164879681:108232339590517
+77698672791052205292627269886:778661510329874:174794245809068
+14668809641621100709497017720:8843925869989226:1896631619944182
+59436061646750437077192381530:6100699165306563:4752582767856674
+58831409284023909704865106856:2346258071906655:939725409885221
+78683064378717693837119542818:8550938432530786:3452974657234370
+70477290356632098945597255526:2740650724778473:1507193505000006
+55419614560723362897840700545:87157704361350409:46308673936766998
+40574918290171537950272822400:67240207339658575:56910023267183975
+50179263648647102380237317393:41854802107448195:29721649608700798
+83029598783821851382130246958:40610726924844443:36460098236262105
+31993754610824823721038763838:64235874693469541:54206265766640006
+98010604934604317518856279577:751096918833586416:249337594133465337
+86948354536864981376079348854:846062112644935701:185390319305027234
+97506466117461979045960752241:344599121576669228:263627373306556217
+12860010605856300855151518500:479651926270820491:189587507007222050
+39845117735235924408396524036:920083620751023961:852019392784709987
+65552469745957708295903157826:4413019135669812415:2140572241002669351
+60289388615116708771486547114:7467378578678572708:3887595388297374622
+98254061514083020594300840328:1637505920207903774:184102148641036660
+93569689095009345713480709577:8806391056536437942:6126375693158725971
+91626784876462520012325090829:8877100482535570369:3769708929711941574
+41032388283696479126355722536:94102069546523332003:16450382692052658651
+48592802617271622123931247763:99426862293752030079:2365597846464137520
+48789726321318881462924350814:19852706986139004614:7481938778699507764
+36283358440064385587980444294:38631590987972362778:29352082357343468248
+54123657938025879717171407183:41702223208816192839:15271447057466271755
+41441798575813300243902738198:219714536479131848393:61126694567496488869
+22409488182635676060739663482:836008574180550875712:796879381894388767098
+56977209010624417723355895645:397707995261858096345:207821228786084945175
+23773192159105691746419635846:608925578012579183091:184619627205156272645
+52187561234959021226573738308:497440743563600453712:243088317049087763716
+53658198820034141207269153647:7331876105745225515003:2845783717435004483204
+40760923260714541157360567867:9084344745984539864086:4361821923875058666941
+59724667294457970636036895143:8139175845642249219054:5377323569035310072193
+65993232013843384548226820425:3525981123288473815045:3191548527584019278095
+34861851144356041803842412667:3933212362453830553736:364302825113178294787
+23611741585133642383572113640:10474170142311977269026:8368382313641597644308
+63970457017892014903121213599:78791336846334453579936:7006363611044931915007
+32913129986717929285161214949:57004920935828387377694:27771235885779739897087
+74227756675450522951196069808:78901312869264661377665:5271371015260914300753
+95673049514464006786762331350:65088746117586067193900:12838669892823389435950
+95542191954685546267224231166:838591015657444683884226:678949817215987610478760
+58664656924049424926914385261:629929333836141097632224:597922557276786620628589
+20286093795835578643695163200:732426473177530711901607:77768237510516156354121
+77175068223006708055440875772:762005847445315604443731:640005440034268588687554
+87066307289071638998278198943:315943200030315262871556:259940717510432449154243
+24490272823598068117097940615:2127826357079004185434618:1119279975808946930922053
+30548129502722008361124087301:3187027590668126970994138:470046168011344145274571
+55609644668092375060550210593:6885872282978732246823774:6225983039112167448235543
+49496647261451612095950396373:7883937540001150693114445:1287385324388044577910663
+26354469196188167437661319017:9777074974296470315424057:5252140459179937593485402
+50102703921999845552782131977:19929556743776521539007655:19727824889446925255894962
+79827800551774589835683893673:39712466709746644709247213:5742465183833970096995543
+52572992599018223681513226858:79512789252592230205919727:15038903054759515400287311
+82302529606422867663536925989:93899874235524318763954873:46239776103564426312457241
+94503940660731847948877753197:76310194093825119672619588:31920372576349794174703253
+40887462590816189649590563941:327745521521553820124754042:247017922143515954121062733
+23192635105978914647703550095:867546370551097653045196498:636429471650375668528441147
+63626366323271694592271389294:780936803666113070773234743:370485226316535859639375111
+75587511563351576568024675248:750063424045603285855013703:581169158791247982523304948
+69339186118213419796875907656:906562958576946378990741946:440401266365494993579519760
+15652512500719710982133403363:1235880481695902078031014702:821946720368886045761226939
+29012194618032556188041589188:5444697861680474780581785068:1788705309630182285132663848
+57082761397324915403231532035:4126386973443564305096192658:3439730742558579436981027481
+19102727596633812631178925645:9729782660768448715089436473:9372944935865363916089489172
+54847129716669004444213239644:2983504213600248902636817568:1144053871864524196750523420
+54392934482214960095435437486:95540168873992624921465437567:54392934482214960095435437486
+28032344585206345010755922972:77901580194433089358879791024:28032344585206345010755922972
+66808206918684773004442798884:74728248517025304958052919748:66808206918684773004442798884
+26314504139902589895221456451:37081137296294400378180297377:26314504139902589895221456451
+43718842113047177468756508184:38837803423698662761272619374:4881038689348514707483888810
+70583129865108001777128536834:274053585694709914015556694586:70583129865108001777128536834
+24676642264895096367021986580:888294015703034893360735328129:24676642264895096367021986580
+53902894509040668536712676432:518996253127065218454356526379:53902894509040668536712676432
+68576447878499136252628286820:153029482654076375492874134773:68576447878499136252628286820
+35336560658832072957593788352:322382247336295967759664654937:35336560658832072957593788352
+26442324421450767722519512785:4:1
+70989705743968052568802020057:6:3
+26388551040872546112669518048:9:8
+71076211534021200159430660976:4:0
+65220941112554533604040114933:1:0
+91379886197026840627007156044:78:58
+23743255160010052821092677519:83:56
+98684319178514743745753361643:35:33
+99842846646326455181806455313:44:33
+63280022875983123603695733297:84:69
+63130131402785249673100292578:704:98
+10038808610396070121192022154:193:171
+39229769581612555745157751094:133:93
+44942082986359764336739801596:679:46
+61498898574842155867363260323:661:506
+64863756652478333739229765794:4464:3234
+56241364555782748474078451647:1435:142
+57681266667477772985693329507:9120:7267
+55028077637731195505814743660:7502:2940
+29433414647653661684844145203:6506:3955
+92438897797504187878927605696:59059:23092
+95143478295480285354385544132:84072:74756
+86082986974472116084051920614:99442:11350
+65356823971982290944877816987:87342:32389
+65697892822349296476924653328:74547:6231
+21494414689378941642625233743:551460:514043
+33265296505379520918282882466:208894:82508
+12716863482164909748889705037:323119:201368
+75188849453465799907783243321:947003:435156
+41522789321252028848837655425:302547:63647
+18804566683526391061821034173:4820513:2327026
+18651252303090633645124898573:4430333:237439
+76847758527628638509194638687:1400315:885882
+27879418365323029572516950832:1733812:52384
+99054877934479439073963461646:8913022:1532972
+81469744825661622138346212844:86581659:33980317
+15586648852377926712797565966:18181922:15911044
+63305500933590312383639139222:47026591:16187821
+16786155144737613321765004260:31053006:5510928
+82246953629136279205778151860:21741534:13363190
+70921830289139853301767334657:472857539:316117921
+10547857242656103206823194315:363305305:307703800
+16316458116366786733786639382:915308617:321468922
+37205272473717855988635549459:305050773:51208863
+64239191572055817249376157833:838040944:313301081
+54543072002883685245423880560:6409785536:5828042992
+53512242435369733798352542158:6049523708:461740442
+84850670266028332161893118264:1908698072:1575093912
+27445820893912762735625612339:6754897940:5100700759
+35763181009482777588502343279:6481636271:4712911013
+38066083346587567612485491667:43143970480:10719556947
+69360361923058440519655364725:53682349326:52256398051
+57794039626070021534979672375:43441303319:5434878750
+50708762815939575421165134959:25294468608:9492439151
+56303920992561551524985644555:65402164035:32620255855
+71071753951302063050480773159:772043023769:486959186443
+10358038992382987061408647327:722985316855:629917661317
+27106914627014122481770842470:977555925997:153123203113
+11137812672914941520539029178:458963733565:269397656748
+88408518573927870494090595197:225401416943:123953842470
+80463465962872249105702820323:7060123936240:61268521363
+41160451863124157993650875203:3119772098090:1426997892663
+23535053755436312764545993065:2148691905645:733936188755
+20209085545987482276273150097:9748990217701:1658628430358
+13924879231430427885901219563:4806336367680:1204833834603
+46455587544655022681113550248:35860849930079:20329386811442
+87044258687935651458651571104:17491883559253:9541099354279
+89604356343947373149269878068:30987835826191:28977327158762
+97145641284773046343924436339:22264009734104:1025681323155
+39867359533335234007213837200:46182353601324:3382563727980
+80677404963799430455231775927:829978818396857:743839885501690
+12135468117757839432451397157:668860387225777:178020453013299
+34213274268189554437792132645:574501482793733:381738486844196
+82150771811538675430068438749:936459979692908:291014492533717
+32306317185023494482768155969:732177788673987:718897017307037
+71490976326260961530148373863:1860052158712443:195155649446394
+64905910116396580616095982117:5858065789411218:931093860763109
+31925995882192983497004296677:7180261271024974:3365752290035187
+59988320890383918734227688810:1061444790832570:68605693971570
+20123254697150097677455917772:6937021855661538:1907642968990324
+51944485689108546093401471134:65467256072469098:34606007073817824
+74748307280820413885166533940:54435750339924946:18048864911907558
+93224322468119653663308665910:87033177919599284:39830243784305558
+85717882917359977200584058270:10143398307067807:793910019292105
+52942419104774375524751075727:77674541671208972:65978743350808867
+56466434702433999319251237768:930654595277737870:485421958266024128
+95139267611794261577233954468:227893884802058314:215765918945984958
+99028223162216804432067498106:468628017033608603:285787154191988398
+91450239535130041785040279102:907574569225089812:176611802103538962
+57814238145954301194238360308:476269679227117290:416793466711504758
+44272082674047261445803443198:7397636739684290793:5700117156946632245
+42837505058393454525417285647:2906284999099675718:155012579162042971
+79399562930153130955407439569:6347062851513210434:5885402994683906515
+36625033078691231132243194022:9686195177429894462:1627115201131950392
+39955285993305188346446855155:2960553846006488750:2357475742737251405
+16994116878504808540731034009:22913991746422362900:17420411801578584109
+37465128797123591695639487850:34209485840669861684:13067623440734721922
+27520509865761186552218823853:35436815403467557886:29380609597867987375
+94401131689568144790339495156:57387716973844849891:19304966900325236990
+83054311127152521981114766852:61828093686600380143:5575255293531723104
+60156154763176557671509695155:388017680318203892724:154628673672514333751
+93927499040971508911128848645:760268434294210624701:758580387207163231568
+54360374518256379379880900289:286617603640532846974:13924425370806225813
+91780332535875486869802723285:468254995413491925978:453479116581186683835
+20366345142329539916342076004:928544927182170039699:56402641765389573517
+35002353526912378664865426701:2353717745177365216550:396347224211950454101
+95441010061410059426083289488:5806835655662477869581:4395832964723596713013
+92719288168870850752027464678:1396801190823819179295:861506065237784595033
+66456684727558775716041658362:9749641483835128281675:8488463714107094722362
+39389229136028965512451369192:6573424971831638654044:4607219195022798144744
+59079277783995058473651036367:88374857171352029605374:67140946027218251279749
+42583567019089948623854252786:24956881348830195918491:14726801217781071836851
+42423471142596185780413882630:64789377485159244838375:34659088763852694316380
+50675433978830875036172348824:11562873232386516597580:8876320192168651435984
+71337505634982833244409916841:84995307688676915477879:8943491722637755815472
+40486521442079197428307345725:580135117708671496152668:51847426431054804951341
+14287231431802998071397607259:534591738397493357377811:267223129988095475608284
+15244638832368591340736290301:626839090767628000081343:538983990646006758109884
+99993921456068460709706248159:945510314110227233426671:532677027269411435229883
+79730143851053116969495202771:529310873371982506102219:46995031392075317954801
+66610445105230234346773417970:8460274307631038817446103:2705481251065737020249051
+39372031139645618897378118919:4290504156219695678290889:2365002173691353380921455
+86151344563956766560611367507:2177497690126092499152504:825951808042924141699251
+82431128347753466773648510360:5043354889293874868985399:2536037134375914951149104
+16815670243293265469830735116:4520870970197260860130720:2551105129652331004587436
+83668353311775131240796557448:92703574278909570192969406:49729312198698926738153236
+70091531110913389890865751768:33878232741915234771100436:31345800632684384230050120
+75643922026276844818362343880:73769852171181082286363556:29823550816235474839698980
+90715191535933479398081136897:41917006094465957652732490:6790347509147037568028537
+21732607298072898220512458476:61843116524612325638675277:25673397933971921337436249
+97188671773181787888040313720:467329811440188951470624019:451400805062674933621141787
+40406595665991295319539348130:828262520377383668722811747:649994687876879220844384274
+73719979317676727250573117058:199694100249350662126907761:32856325666332925744153249
+29197866513201373784956876034:649543733161171338173416413:617942254109834905326553862
+43119172106113280256357883363:433294212673267462591389805:223045051459801459810292668
+60332414483269402770039275701:1926018755975798495327338139:625833048019649414891793392
+52363185801436686003126156658:4930332886391993921223842237:3059856937516746790887734288
+42411863553993257904829873755:5969237127864730055471001106:627203658940147516532866013
+31481975229384532429159008879:4762214941015019247470535877:2908685583294416944335793617
+14830113261846766195661442882:6845014133682752102063497062:1140084994481261991534448758
+72460096550885471474812338023:53225336854662797824449526064:19234759696222673650362811959
+24403581294384905175480376188:49066604852142849363515672915:24403581294384905175480376188
+14204087801964329034778109253:13098137348850225883561269146:1105950453114103151216840107
+50363839742216397779851092145:98551407088621087308751723573:50363839742216397779851092145
+24670201159986244329015837091:70589900084110874838845527772:24670201159986244329015837091
+59884098274471267672406021994:595900505065189684676379125674:59884098274471267672406021994
+60513005921638879863816414404:484143004332405738825516735812:60513005921638879863816414404
+53401833783490203716215961543:634574145358440640314341043781:53401833783490203716215961543
+29837940945185938578256967473:953066522879608285481068208994:29837940945185938578256967473
+15555743509361449747898495097:581386143481726183417051441937:15555743509361449747898495097
+38298294681022445827217499708:2:0
+45471835415834045294772105567:3:0
+45011657925219041419019468281:1:0
+30747234620876168028762965570:2:0
+61640220663790850393092622694:2:0
+60981388135963577129375169212:16:12
+86871379145165739101246363834:36:14
+11511472658594348251796355611:17:9
+57286879114332103830094506128:86:76
+88533328198184599577261649177:97:4
+23240936656365838159989549308:789:164
+83103904250440396010681056593:428:421
+41710245558856340606902022749:670:299
+87846958152590170891435239863:492:47
+89525714490637860084911797087:914:125
+19872573389502807013569494122:1165:172
+32143254160098910721249047105:5084:3841
+67965657295772033620583277964:8221:3469
+45453804962657620303545058880:2151:1412
+84913979723248091588010614445:7439:4596
+78600709553921425811814350073:15797:13387
+30082754036001590168612532994:99396:35578
+72754229346105210294579550133:39703:9354
+71627280660547792660870768391:44477:17994
+25481778381134297185946147241:38598:16365
+94085302857385142099554128496:302329:112306
+57195610374273885602361028182:290731:91168
+63197048017873100769946829204:673704:444308
+16701346375585991089410875323:462964:30651
+49616605689352518153376745228:161456:122124
+40604526807122147717104502806:4698276:2051434
+55317313070407313632452691241:9769581:2743775
+36092482343721729553440602352:9164683:3115356
+65840376146336244048198573979:9082723:199350
+49851662260200268652651805839:6189306:1312013
+79128133263837430566559793282:38698430:1507232
+78949697577379796480895519362:64650342:48700328
+89119631160086736518296277672:38818721:15076016
+85634320988015783478476045541:97314474:81557379
+77677800805949005010599768656:68163542:54020190
+78113046015445381008436663918:973864409:415879597
+43118156582244078641148594149:850344102:526948091
+20635590720560084639367251990:376887135:217872455
+43115790098563083728599525877:162858333:11117219
+98602370503057545215834626999:938224230:261966049
+44350707621370204467926114726:3942111484:3874261922
+78222558939284049668609912871:5102044072:2372361535
+22901174280183778701466112731:1040522731:728106936
+74380632411680798763451553605:2394445582:1004346609
+89378811546598021242328599227:1259278597:225840770
+42987754598201819070902771840:61968003994:33277984448
+59010995417211194563060367643:88865940451:2492633844
+50019415643129341511231791290:60319327929:48299572299
+16522750886598821248726233726:10065494675:705090951
+94915596779998408086110861567:63366935388:60295328399
+47742389294023968697898877902:545469249000:86975280902
+51905739579595517107502231433:742825009269:222523037529
+93180864313088709055214470420:986735539227:5301868180
+24180752968534574430492979483:305623483160:175911352163
+53163927270769808886446991262:871880175436:532402152102
+77147409559442279172288157869:9560997755158:6701665552809
+94831554569433731573214205579:1407154456804:336979976043
+20990067560281551227753008172:9801018278252:2483032751676
+78059915380392116456113654298:5847570707297:95711583704
+94045875564505755927159301786:2423790473631:1305757465543
+61052692183630019570358335393:72487362630506:13302858198279
+27624962885944939962126262543:46256254597497:22858726631575
+64866033972197318834949182633:25077070243623:6671192655470
+48835922279964095085742144346:56096736886570:7515945569086
+74160387574825418932873887470:24786825259753:8656248439359
+99394376948361671985451291887:762710069160871:132288252105897
+42724614745847435047084512747:575612428736594:23472464086181
+80299534460637158964820411106:503521785709870:462647021148256
+83399268312091076879264817402:468972122270122:378530503347724
+99122310841847723398571259955:263245502315736:173013481815691
+64897243195990349317234435287:6390072031520886:3216589246022475
+93851721667165820368048120818:2376112165967835:1731624408542988
+55912465099220291774878241426:7537668212196203:204063665111260
+17620249179916269111666911098:6944713071216995:5816311099743113
+10199782886910562357086957106:3842983988252292:100957615570090
+97953243280885639238413587018:92899555036957736:90150291645969938
+96821685036105980715915014799:60942751054910964:35640522958553523
+34288959297458441740698400433:31882886204775203:31603228371204290
+35891490727545955058134665852:18704287690189704:518309604707028
+83232424919181158096250629535:73317655629785238:4700638107856665
+83583411875811409047367809189:396860256581090496:353793470241670821
+82757543457864341493710517015:999976130290619285:529043893176672660
+24962459725760038636771348286:217802360649863077:207530001763225036
+88461586332350652967621839831:913624649129189080:215087365177730431
+77288364747708728924169358574:967165779243415870:790814480982556084
+54641257286647891294733257067:5564148295595267186:506472186663758505
+22415077727790482478741196549:7247121621644779687:25071659758959209
+78562774423346755855310260938:9481069355745153796:4867148411126423894
+11514604523295407394397676652:9179204516373268998:8947672520727580488
+47313885369461247422850646337:2763212952546290412:955372627431161105
+62868962510274144193161753566:22068138007781502671:21303228289538047931
+11908336806599776018526652748:92624871826989732085:60565654656246765303
+96093922365221767366710544842:42131621201975646741:20660968619609831877
+17367376115934219718477974648:71471205192388158093:44101908598471431630
+73117313272725385839275311015:41770785830723893877:26385031720529064445
+26708377478659126227669215408:690309235471529681860:448181974233559932828
+45746758587947205124704486444:595506767901223603301:138587356065954062564
+48800621540291059727960255690:222540169445332588253:85945727297249079052
+27510920767455596569978966572:895117036576287067400:808940932850484777972
+11608162669078767650735227522:614284375481636931510:111383500474144182022
+18866368126035072473687389928:4529251196526699768596:3258714127449288950324
+28634146241519205313328402593:3740585699993839337877:113923365120273346363
+17295321577441864162159483602:3895793151136526760050:2424075369522292149302
+15960410681009084166474758839:5217725566731650269557:3863993840326631703565
+19950873893669807911592729877:6192927706282504635387:4291001461125929292318
+18344788138678986028494422154:40906515518131980822194:15815479590436896589690
+16160111879951494752639043450:71294783814376562431932:8411882016852442744738
+54623822770669896143542062744:49009226310442271230138:1475650737436736993188
+44908499172232186558381545656:72896614034459512528159:29820005162648821496593
+91211474962333131056160084110:85759771410475305032604:40643065321357938480434
+15247463959399936808584031574:474915731753736604097809:294391446223134023873629
+45186996864295920035817576063:980052384909578129792005:701605654910783627393533
+82330195289592487275847310987:128439917547562207489909:79701687564712608152078
+83122226272360678049624644792:458232276811376700426599:265955607378722340865989
+33033338367182358660086168478:442011595448621579850256:43792925073511557136574
+63951200856558195795543879830:9571161457069511882073920:6271161876786911408020310
+63442435804782026739897822164:9069370904666794009661259:2186326637802642317315459
+72217009466713731248936408536:9490748117138030079391629:1907043410460374845503475
+21011291966380077004183254818:9206332689808163190287778:2440768237848603946545422
+45632157034365568219854480897:1437668699205860601711540:552521571552721530201297
+87180065503951756931932468813:81652325333527963524913426:57034373077419850849843271
+85422660333308904011313746983:47497471353922058116985293:22206838957043516974190169
+13997621358326724171328417885:16802477498441540938199176:1157602124920569808504277
+61800639731056375398427278033:58585995250079560972736082:51000737472518133163447605
+47946799866828013538629506430:22806111756711785837269305:8352954219839708689427320
+71038208080740184381159737786:300820227777395715333473584:44634325274795562459971962
+13206558933377360926477007818:387272617558096676155999684:39289936402073937173018562
+57568607338524117066249903838:403402696119934228405371707:285424489493456632687121444
+44704488662610752954440363783:412483105928878427859540453:156313222291882745609994859
+94240848730601812372177230428:882388875148928328932761694:707627964815409505304490864
+27565056207838295561049460796:7970371304955087503144756135:3653942292973033051615192391
+78072352327825183717330540260:4417533418005196871958169032:2974284221736836894041666716
+96881569707090224409908441004:4511647873813311088512290769:2136964357010691551150334855
+40596349319294436086529863650:2845480209912336241029463948:759626380521728712117368378
+51357834490335556523005153087:7407443178692292089673025894:6913175418181803984966997723
+51437481586259390295655655156:40056838899098768264583914903:11380642687160622031071740253
+74153679964409574277844898622:54738543506456546095605348898:19415136457953028182239549724
+89690964577995348762284566892:55890563800829426183573269185:33800400777165922578711297707
+49639082383449148383044685830:27716564184764476586306275961:21922518198684671796738409869
+90033577904619156487287461313:33160871529617273443577933025:23711834845384609600131595263
+39557462379793858928969526970:124424632203991742458353649829:39557462379793858928969526970
+50588115389976104043593901424:723954666547943223201063323406:50588115389976104043593901424
+59803454587109057885004335504:136672602309967342937190455788:59803454587109057885004335504
+54272701557390212169595629435:449763963076147436465765676245:54272701557390212169595629435
+38634168836201195367539146889:143321112867608474317393282137:38634168836201195367539146889
+35147429227965158053924266423:1:0
+31670293563437736950587873693:6:1
+21970248380323333391805581884:4:0
+12211236489864863005925549866:6:4
+64913447155476358621623694081:4:1
+89118963063258870795966973419:82:51
+46741319480664543407004671523:32:3
+94954172300500106987512228093:39:10
+69927820974037547187910265143:32:23
+91346848689358806480929583356:82:18
+40067091178771319361481653903:696:351
+44301160818272578921526264315:898:821
+18383012900439738047184789084:248:244
+96440528983347974234509920572:651:359
+47884443055304266692507697910:375:35
+17231475782144408650672750471:1202:431
+32799612916165824737798506057:5573:501
+50835059323228379952438384393:7099:1216
+48873809938487277150807040666:7501:6681
+49520712089934516311178167121:7871:2613
+38814980700757351590848329377:33487:2010
+26876068448831135692706443414:67919:30634
+13045698550262580571439269005:76423:45546
+52056823150689788180328342350:93111:85724
+92540059055117211910189818916:46639:6329
+81252631965171405459038895425:555387:422690
+80522947656911452517885632543:251557:134412
+96556463109658574913740487694:757728:495502
+49999307303598962804510824031:105209:59802
+75464034293281474375953090865:849541:521020
+15258985017037141699312826939:4600686:280091
+66196858701234243719415641228:1535976:572084
+86798864047675899326127418633:2111334:2101903
+52231410393220476584239762777:8299808:7310809
+37000455962813481800774845017:6449954:6176819
+22135968311509316966709626931:77948127:24099780
+38841133355123623163525226092:67195463:36499159
+91199037426774992326565855930:46002659:1221250
+58041238791890351282811192927:80451518:57475867
+34018818018878486028588607206:58904321:23272362
+57467574578006503227675388421:591351784:270938205
+58827438998340595856353399473:222631519:109420905
+92799093048480495310896460496:246262753:107956850
+52065223126644000062934015457:483723215:439205762
+51681810869295530777887374006:146547459:32304165
+60793864855792414275857100833:3644937235:3379295533
+40109542218158728680698449591:2357207644:300184535
+73688927289906804707536531534:3479552549:1208095684
+50083665258288279120983634059:5429340763:952394425
+74790064425454972828517701399:6909687127:3111585136
+60198712432005551983844523077:65637381073:60450920404
+33208035229922505048603198211:66842581939:65400300310
+55351597878599902925382270317:27377348174:22501031299
+30349913998610828585660325943:19210895909:14999929323
+33004198560384308252913563409:86042494449:47326248870
+15456114617526909017635412715:288008091650:90413846765
+95057492909970132840914245263:187052657172:14534011011
+32604203231679131854454073070:699284560462:585848094358
+19549775621263623032900023011:571794135661:470837269696
+54536889195433185342870895236:971675450463:801248011614
+55201930795200565921868037497:2530097204167:1555530798565
+81930042812192540363296971110:2785357518361:1900397106679
+59089431026770447106613361503:6007561228998:220363767939
+77404456435831023780830023527:8349365189841:764134840560
+77389900428509641334622637778:1707933260812:705504128090
+50369535865156541944628336363:44281197365967:16149569357366
+21590590545682639129497340501:33479782473929:18987347757486
+36052363288119879995928924040:44719070169013:16152422355524
+91754011094705966993915842462:46066957514696:21579089516022
+10764817566880125545160218669:34808830180812:1611710194241
+61565389950724218428970201062:103156393476604:51591662416554
+14000993068881892497613962329:311344102461277:150335320803121
+96147319028602302591636346216:209025395821852:98951881890416
+71607331832935284544492813617:972462262728308:935825014230101
+77557742776861084506671916174:403142027317632:2066389823502
+34296783846342800223503629497:6049537587055827:2667204013771839
+79319557403739009847019015638:7530282843971019:2832002257961743
+16526914510207536379174469173:8536310724184059:4777532453106691
+37601491885534899366419025550:4503462433043798:4201036751503890
+26391187629653288210362615943:1905630189945836:1468034423296155
+64389210606747418862396733517:92378572460355360:73675232883273037
+94621367563857903143812707665:62613907880800933:42809560444338866
+74006660884736157962542288006:51352741451423207:47277217038313979
+51640642883623968016020611703:66514350966938487:11054603153139471
+45938876957297234540976443748:82830224009717975:17590247485538098
+29065358981864639137287344003:909655226997125475:82279038421536203
+75536461725883367555242500699:807678803781554158:509610033317701311
+16511576551380752697895958644:669682225629887990:390826028944451904
+95993098064017107145141209917:361321961009343674:282405403009345345
+20175249901482511478567123841:647548536400315768:17127749323727393
+72506235658594601839755899858:3767060154164396767:2115916888473642592
+88447918331740216683316156841:5568102066912685640:4023585064775420041
+98463902594588613264548054750:4844213197373642361:2089117531887526307
+81906436730735812160293291947:7915400202492203386:7914842454276128207
+95777976378056870723872026406:2531095601228743113:198211091352997756
+74230277475779966788538041873:69215253017184958846:8698170483385906947
+76928323614353216496201397896:93209523656100803701:39958296678077885335
+47892403038358316200444699712:10868453711225743637:2075104738992834093
+87850633977926259487890144461:47086442903007347206:34204717922245224349
+70762146871731177386467624090:87035743201968607519:9194257054500673356
+33667978959228893342106588584:347445661365461967575:305185166997171196934
+13299689097475955178611478081:771165227152640966578:77825399724789810031
+42678540795277625655169738660:554217237284084611387:509810596076244396100
+31785741496627514531409554963:904369412774228803790:879416547027778974513
+92544979861858270115672419751:944812119180112297955:708858539035852837856
+78483866490533532178060142323:1542078395093609416255:921141198949470776768
+38875587418618224047072915054:1704932288261101344734:990583866005068783430
+90650531667654526396587403203:5791584866748904432514:2467380465090486266149
+87674159488187074490717884929:6648835245749084561048:4945488066078506465065
+22759972808105241758840676242:6536818987040699600210:4554018076443133895932
+61836912699784918934777456244:65217039910369944470172:6750929538316550000832
+11615411078526383610333600937:42097804485285145660935:37451773417930442381347
+34526745612476565733499494900:58566213633663935664484:29990381764749409248928
+40313791287574019476702742454:86475735718385994653843:13955962526173006289656
+63612467087808290948183975298:50473628281874326791907:48627879258149075664128
+86789829296626577140490907069:172000470648606402535610:111812046272485047457169
+88983777422265329373013937527:124306477003765175918399:104617413062078411278968
+58007667798199614662331486448:386418499765733045830791:68287366832754396464692
+34391465612637150762830024560:215889836635463153685224:214636607870380773841360
+60800059220735509322712709894:484214729967770601636747:120867062361498796209586
+34687897538706531475221198658:2039034983481132953235762:1873434708978807727651276
+67092093759889710817820000679:3348397120919644332211327:260648022797333301641580
+26589067361474008975960518274:5327714428415037726621859:3772363682970720117441864
+27213929088416987012072026800:2335288017785697676486614:817817160251987973513858
+26748225950137986412724766347:8419178314741984031641770:496444202703144198863057
+56299668426166027460775516812:47548181857472425480837880:2621106918675691463466892
+61610363790254068600458885574:74731282213949683140716836:31787245959529692508212710
+76615391527561988045354142751:35655623675676409588712169:27111872209060248800403739
+22838481779101262570560492958:60165178451776539818551507:35879145877953979329471805
+74741946243467587662490602738:41278839204004538409905726:27247284219373140561238678
+84451882811988044548635855784:694328056008841295460253472:438188034918247797945185672
+49007188128518046365732548826:800336853890060078597222137:186640041224381571301998469
+97358637945196533431101591408:975474047021342414765648474:786707290083634369302392482
+44557341227576619224761278033:143921374216856691568007683:85636594567901530246903986
+50035343508854478962866620921:155061428944141384721557585:105563388840953082525078551
+63000245392365789227330455487:3100465354750879774302068268:990938297348193741289090127
+65360530933790266497012444759:1081797216891901171297160552:452697920276196219182811639
+42151566059536635725118641451:8054489631848252600357758582:1879117900295372723329848541
+21011600462810570397258444480:3537979566440844118427477725:3321702630606349805121055855
+29463309904958827585696811704:7599353938997196394862414851:6665248087967238401109567151
+53544176980585879527081369534:83208172740690682436460089412:53544176980585879527081369534
+98396716039118936767304714744:81175638121668393804781843516:17221077917450542962522871228
+62071795015237417448929560100:84775055682667724872451015369:62071795015237417448929560100
+46412279194470488275822598961:61110908087598260909408754444:46412279194470488275822598961
+99896446374812802993053109958:24055583028097566937794939356:3674114262422535241873352534
+72424547979413983091728163571:428460899250117593894207761501:72424547979413983091728163571
+64492611307022700374328596776:302894563031702435759603731639:64492611307022700374328596776
+56028007428829457192873604468:647387481055467827536563471292:56028007428829457192873604468
+79608644045719860542402789884:606287727234938502192213245098:79608644045719860542402789884
+97837636221191446353547279565:226077776304702999557690864068:97837636221191446353547279565
+41152144693852210560588680597:6:5
+22862718993456167793875608165:9:7
+99033135718396080213481709231:3:2
+86826595154629313099948929619:6:5
+75016566161616242287538579126:9:2
+21137569716371301935200054637:58:43
+35398043780400385730229383238:71:60
+40058757503945409312481368136:77:12
+51854233802031484560733011282:41:18
+28691156218416378401356583997:99:66
+86144576876578982346645685096:566:166
+77620154216130777138982583878:854:564
+19489114491628564095433950144:421:82
+40536533581795691482088058189:917:240
+10623791599970341171418841483:336:171
+46637670628795527660470955922:5194:5042
+40230189142765461317718744982:8113:5385
+46709317279782320062709915243:9029:4041
+39875505469475968482889099377:1667:725
+94048231972323467411911061916:5595:1581
+48952819050011876380792213195:33151:26632
+58365642724427173681670132096:79575:35096
+58909877872518340389107106230:80368:32390
+14628105712894022316208320114:36166:412
+62960936072344762230306784586:84715:49886
+43371255623807465990660100083:280390:135263
+29855607657761834839460441942:926733:414824
+55036205498937315478974096984:430626:173250
+39257911943017904854419267181:634258:393295
+12724194864890359176600294802:614706:606472
+89611214190961441075177807831:4339067:2934160
+90533699368743550785484253903:2496534:1981253
+81572888560192305005496013189:6784665:183709
+47009314101267058709882251958:7801971:1659842
+61895504281101854742900804953:2074346:2064665
+16994678990706687529994492368:42192545:30966623
+72076997418939964879903146752:61444882:26350058
+65651638854251072185619632168:66574639:20578087
+12218566112169168776215986227:15153436:925603
+19099896001965929385187358958:65957065:913478
+67704196489022401108984082114:102044514:17215556
+17756897369813128257644926205:176850406:170041677
+36628592245316002218931257863:992111870:727182893
+45964753336886627087265922741:803554437:684708586
+88502111993389530771136586947:924362962:170968939
+64373137703067284302012701780:9872716538:2401736746
+69616568211434982651980737350:3195630614:1348483310
+27677703229040537545384512563:6493759551:2455321415
+11552052374477064450512126372:4087848133:1006464292
+43743425290628565498309660633:7429515550:2502469183
+74460156151150001348450762972:63615370704:11149724012
+12598157644121814964339786051:54732357167:40964338000
+52420918879457033706773930177:62251237220:56257643477
+70619382447207144987191479075:60654478890:12316826695
+29928926649782971497398921816:30144603085:14393151331
+30068306315129870402694166373:684632076860:33566469953
+81604484465221994725494534739:714363509956:543786680531
+43117132441042208078475370411:267259606599:24989975491
+73231507052277615640116541640:688828439542:30125337302
+92974077520286623327744052733:540813546080:422074205693
+14877758231462658991115151060:9054315094221:2296713607422
+21598493970301116477319303694:1759248206843:125499859728
+40678528520589378952464086973:8407369403426:7768849442745
+81777246133071755922011260385:8434002183348:2808076237013
+68531170150468852268814511414:9204075563017:3664787106994
+43033353536225331766767664935:58614655542051:6123576687009
+20294481150810463034850068087:80123063414186:6333909759387
+50797466820568412892593644131:88404518187967:57564943512200
+12053690832418027594512354287:27148913778459:5674959507344
+52863871965725922751840106143:43686277365213:38182434501844
+32791411660552324665594405950:334183171645137:7228560942329
+13514062983833810998184760585:914949553820705:160605591551230
+75620393424897694527460100460:558660386739107:307954784036372
+66866682824543888408999918366:165145401169649:32054107588779
+74146681059251802850890645087:580773620811791:71227676869833
+12495049083481353999734111142:6941771970639889:3232942923915426
+61681982027771292616672750542:7029215991672883:398507269426901
+26754813029324314567065302687:7704984396517851:388644722991518
+99246804032070450957374458589:2096890526360862:20975007802673
+60200896668438213012950240972:9360661442480701:6688690226283521
+17896432758108229703407355527:87006542965559903:6614366316910581
+49859397387290311088944214230:21454574464561593:2490260041505686
+67947667067292851812423598511:75098395661054086:38172872676663409
+94370566509710013196838857530:64556104110304330:37644253163747630
+71516297408423358663897812386:87118513322976969:69385773062080225
+98485270751040192118684336077:535957696143514523:383035236562907747
+15127272912143263322942706592:747618562360668407:734644807351666021
+89903429247275655637866477664:340481185565374591:79717383736711879
+73790460978191028921446914232:321627337545096315:148542172760633402
+49319080608373141826139178078:969979334320931682:640755023860122214
+42696838212570156952114134407:4819449667139396916:2187046862191920383
+17353093358724554028889851094:3585137977266626703:2109993781468324429
+13776470751124489509730566608:3244960764429715466:1935089750415267984
+46264185447786924908965102244:6956239870499846124:1014693040677679256
+65650968707379265310463386603:8586866174201244334:2639966434985147797
+57132820598193275992319474547:14204157221879665069:12020334544532339771
+43437715795804777569246844036:87586663950133851207:40588283223598861984
+75322258872073302094991535261:15477810815879617913:7578361766409548792
+92109313923225197998803505192:53612199707029144070:16035354212116799772
+35979276075361642499962533448:24950513375928755125:23241045569103193323
+79539957767531334594424548350:401118928094831069734:98300116750138141284
+84746342241070339579141465267:159297163193690477570:51103485868327859807
+55821085597153185886117515012:789274606050494615913:572001525302204678166
+72280987537909069223092750237:690555553082143211559:544580841361793627335
+22336151343217087153039143566:293448847571605402806:35252160599479258790
+82535557993131404214866263712:6383457269083556665345:2503331380871064886367
+80829014105646362902984623390:5137161811843577342299:880458820686062570467
+53298560461915920276738722076:5100045185198332411029:2749256301590376999531
+89210100685158100976955532657:6939427393671177801566:369867740559456153885
+20138088232280374544279179299:7131987545536759158829:1371063960817394008858
+88080379340502406840901434412:92880029323548334958039:18412277755640154057776
+28753457446915003268805444677:71228589593939523164004:42856812684437006637965
+91132153896709553827436255645:23170031483023244606302:17767997358374375292265
+45507679252378709924124525766:11760015417159924462556:6392672036030993885346
+26008468398557100220223345235:27129608170262909603339:18415538475619151932749
+94750855543014369515894888281:502059157798269498248078:243046693756728524615809
+45632637239474852356411236533:871861714194942858307111:266980225738095475353904
+83185436158803118451756170255:289376812391021742270520:20161630444331703408975
+15910409746094547317243531417:149171252958648333564278:102248031033355944768493
+26818227780473010350938739503:808487093929303749281446:710874838004987273175683
+47280099211741181223584910269:2553102678982768335313557:1743802338277190248461743
+55521135332781888581301845415:2510428247518722700323160:504210657817340954838855
+54739365459837093751402283145:8957780994451099754682387:7323583740874250292898575
+64723060449137780248894812768:2095558478492234340458874:1736840905122643822489278
+52771206382849646012180539538:3415885321716476924012287:2609932973510490038729962
+40494500082786253067362299267:44435595471795914384126383:13672607980175063423164354
+63876412861322080614395521059:42364700311041592898200179:32809492582400116807851306
+18909864840185455517096067041:88146377788042144727767283:46539993544436545353868479
+37160889607535564953947385635:47399000656192733706457062:73093080461728085049027
+90171162904185493729872265715:65135337519653899553029067:23855776984496748480036987
+54036056404491908992830872551:760517250822378160338233086:39331596103059608816323445
+84702674178472251512446222256:230160031483222113287114564:3782592646513822788062704
+71177869193733867935425797469:772456152418376097657228633:111903171243266950960763233
+36938589722153178852767816512:392530283863533367056988367:40743038981042349410910014
+67780352471057485430473083137:800915757009309826287147674:503428882275460022352678521
+14246354512735798602829197446:1344852722895236680352141997:797827283783431799307777476
+19125515680048851712379063156:1409558768623621596530044893:801251687941770957488479547
+99567325885778108065003972880:7976936707041928805762986053:3844085401274962395848140244
+97810415037062545528588006591:1927068281339632455292412541:1457000970080922763967379541
+25435517570186958675858626525:1604594966325904489591785947:1366593075298391331981837320
+36076438002557760961240721657:50293430733587362368884810297:36076438002557760961240721657
+35501882621854311729509863779:72917865438578251698400435306:35501882621854311729509863779
+96709312340554997254779019351:77155699991048875021155455148:19553612349506122233623564203
+76616116168585749116210157740:69305656397583976012117175519:7310459771001773104092982221
+84554923052101711049266493036:40127811120720607049528786375:4299300810660496950208920286
+33197978101140697849529151428:936584763039353789732412796767:33197978101140697849529151428
+63867655520333175708261147258:648581394263048940758239155241:63867655520333175708261147258
+80872454204966397533590244046:715874514085275922633380166729:80872454204966397533590244046
+28691255554292398921803034496:118724707815436030143152728608:28691255554292398921803034496
+88144882248362315559144338706:631948919174425114916472796808:88144882248362315559144338706
+521222286648666789549730589497:3:1
+322563827285169925711272293907:4:3
+510167023114106469355407987007:4:3
+301572874640126131099108280868:5:3
+934948033018688875280234703306:9:6
+454795080078295423448856959437:93:10
+460547335823218816678755115260:72:12
+268765955908354041375601382058:59:25
+835903792152043720844542739337:40:17
+796477171644920473825147639970:57:2
+994111365452205020909710812156:367:175
+218633668724412275091185004800:249:74
+937214040321201652459227698204:377:232
+586380814147160247910041960413:250:163
+863226719589703741792777341602:641:577
+370655224643117194546350077295:3687:3645
+996203326600639436133599750080:9355:6885
+455876068100866878908931013298:6316:4438
+309990975126371690209037481947:8299:157
+432637804024192745151016891319:1918:1259
+277126624191349997510055546309:71927:16438
+613350501103446996434332472597:12951:3971
+868434186514503197841385751576:69517:34657
+700628348275893369492098604148:78339:45058
+779667505911597675820187382049:65553:49822
+675901707361982913680796146507:520722:86345
+863624864288452787715627942791:630076:109979
+206538786621811260386009916476:110252:54604
+163427533837575143690054794757:528584:15325
+861946313996915125245022558066:440741:160711
+744268774683551119867719346585:7059500:5011085
+435012618012006953384273472118:3891587:2681125
+779598606842575086720249625095:4921517:4113921
+823863882934027511877848911977:8894829:3485991
+876728837625168703342956917395:7581344:6989491
+237890731924851138924639429940:83625154:67656382
+133558356923391986755888790544:78349558:20725968
+293771333117025503521635218788:86969595:4769473
+344010650775383274276837459710:26895885:18367850
+692834291126331992876933355704:16195676:893684
+187760334365098323452155577588:324131503:269963049
+861172461463426075520772993600:420435737:317880955
+761286038026340343676823271335:492502626:428657033
+666050332579112093576365262570:985470912:891022442
+811338200299094365323774021026:347552246:13481950
+301323871315530852260780303940:9298686394:9140911922
+874729204752739827343146033420:1767017632:1266680652
+814345469689557403752443970189:9075617933:7381889959
+224162857790817757430157625522:5626875074:752400080
+231779019384940441049688766745:1537566459:595780073
+800220167905507769235825281985:10613762485:2811833935
+741189544700966190738232451731:80514187356:32104536271
+488402489798534853320193467087:24829409218:562802085
+319998851664155670238947391288:53490419222:44189256444
+809320511046601849724292386729:66683057320:3754372729
+231947237431312118647171044527:195549543540:104856102047
+495039105438134403822578480726:214545926110:111274298226
+649478819554665008118301674996:701301654003:578723021139
+660128303803103874982747478412:369020337288:203488025436
+576737325747551330973684732034:919221585703:670786910707
+900649042600897300896554057308:1241667778881:257759983573
+290342221970710269731501929499:7116574688563:7060858037158
+162911901466789331246738066745:4232226305656:126844527641
+529173523661729212690629549378:8848395877673:6880291106833
+299936963528963792755665715090:3287910141643:2385436884252
+492414633480686141060371428619:75864966577487:2124098030331
+111130937115561972425969859338:98598714546299:83845484425213
+542277200269422938525605233797:18348248568630:15349456823747
+170286989513269766958993676298:16577167475373:2752800813785
+834013501179395745063551830555:67943705709900:15707524307455
+910554412246996958169431907599:956408301397684:22251820285259
+509134049675524682304912951427:204223869151502:154126065727513
+139601049538794967553138097298:440647496590428:283949118365362
+627354466054526431332065383583:207986743313481:139112919199067
+176222191960359487431968001978:380722835994242:40855000007262
+785754370940015379698971510438:1136702181014693:700626307797978
+238459974011712141936204083750:4975156084850440:1737179022386990
+594699126235881360770196160655:8630128468472823:2805982976037362
+826655978166828098047321181240:2068490615195479:1616052784820930
+980403665239410703866660442075:8295341568284123:2440357536320196
+677776451568147302983900698632:99979323487672708:74042758187743488
+628155110164346350375445003084:58289704390681089:39119005170990299
+528085198225127676215091179293:30056487154385468:7849885263309765
+657885608457404520222772670371:89643316261935470:59144440182717421
+866399376510018736580647229722:34091491910697159:8017372581258283
+623066686362836484116009213107:818330691851430913:681923756157110431
+658877310752211878217786391209:391291117885822692:1797661570371297
+940807227919041174635212642384:769898235815248075:79001440418243084
+751941122281392514313432732638:428530641519864303:162644495577660256
+619144851579634882755422495713:914589398256220348:776413826601772129
+214009675482418467048691000050:3015022375422686036:2803207965443565310
+479498178448616105869374000855:4060894696869515220:69681663695853075
+625088097415326341277156323129:4964617402894365091:2919773397922562
+865766972165511503622945745601:7670333595635761465:2623618818503106091
+909093695688857837448983046361:9416198876785204252:5046866203050055825
+551560088952840725608759552538:23070775922417468472:23014075105008491546
+999708740140880189282921472284:85941341700223633186:19383472439977090164
+966697956738379323879037937826:96233056705592599549:25378994637554280992
+494203444844984428786885338392:33305664587153214745:26077754693021293937
+983839316301254898766738029972:16311765123569602931:159488567999007762
+320618253346816381659617555738:186856637284279879028:18804038615692955946
+173899472534800412563681114177:591017860649341560012:152383495037674027129
+397429141121726521596372400291:376095800564061467803:167420707725655321826
+595509255274452445042241048205:809057092213494971782:203369348852891989907
+432819171746296176217367993422:537770905688407161196:82941707652027483114
+271923413652575240811642204539:4247887904887676077303:869779761035792041563
+874518294664820127911881429182:6219101133406169262229:3852678810073960226389
+241644179705352572188154529993:9055877989114548956400:2157142497147596108793
+136562678245650226696152598234:3655937550867888193536:741798019253689108186
+489486026429547884177732362741:3536926389587079657588:2822956468945332714517
+322521775002818142225412232078:68625936853720883992022:47815764981402802486546
+146132567461512650193294588310:85484916452278637677558:35092499123900842354978
+390608254738973636698149908894:23127677951464573970359:21876640687887649012145
+931600048294843172152775092916:32346248928851722417910:2599843323221908347036
+729880266636604431886439892487:99061953012949294395643:18979294105570777106856
+500244657950938929147702230764:902086507720607824081124:703873045345773931646680
+801986468174399077055854358964:854267161098078563647498:457335522921503583236564
+169844326982474015876379298800:816539911336174105393901:759264904457258026315196
+853876588643421056514429524417:999644733857564735943695:49876966410366044129317
+440072898232517367887450371410:999085728644631570330055:611907773276946319395285
+811090649808864216909185774888:1154235118961792031664397:397833461261922360687812
+855875284144917190329122275785:8761531960457253593231879:5034587650373074266175670
+640216976449598597299716821328:3156641470323207290406556:2736645997310695911166188
+525122661631246080501660090984:1268295454992611820159417:148037015067706495395138
+121396677700519061418928389494:1573886519551600932775885:1236560984529872991603559
+351024325359725946825107870588:67992161730072370270771068:48786509092371487387617572
+869982829495943499966882002102:87972332099578976571708608:24437363207000649255577590
+625855140661162992045958157916:82823291005077858075404217:42353826794696428203894264
+117353617772879953930110257578:55398071834995210931944510:20501626360097176251785398
+884115121173908145421867332312:90228022870984641453180185:60953084000628463607879682
+771777933300875593314995176502:575575947929901660501427354:506163074807368243082522142
+510261346341361299609415563732:767142929518309683191847246:111298211685360286837145142
+917943483601836525359894272080:913554267752499518822730827:734998778327008461872521772
+432185315419547014390877214718:975241127712396029508974269:153495842955573318401613551
+886412261528396175135299509825:111834765352982834911880331:9911340654225623736006319
+645626700156179004277967686091:7026092387067459254101251663:6252292933040212154753784758
+893703823882731156381862752388:1531984020579862979935736210:557139884671039079328541958
+663277653343003823897234713790:4603940049272424936173033635:310286247774633088317870350
+813117472867048573442238596447:1016368694889173749289230714:22516955709574010854025247
+818834688279976899139449387827:4938906024809131824451597753:3915194186470148104935758582
+456860645337837768691635846670:17408299833746400991160489875:4244849660431342921463109920
+581453337179287630738908348981:76575464917176182499411849984:45425082759054353243025399093
+632550900195131155843494376337:51402287271034681493248298509:15723452942714977924514794229
+490822489989098901863957275660:64278616997350805416182334095:40872171007643263950680936995
+425593877926077155999945635549:40658663184127425396935531534:19007246084802902030590320209
+135151720858656221261918302782:858971695386144920272409392956:135151720858656221261918302782
+884034612964348067460318523604:254388039227763108515071361634:120870495281058741915104438702
+126736140822877700927005145994:558571128832059659108888618101:126736140822877700927005145994
+173401062655261473135055812933:952267770667553995811334982359:173401062655261473135055812933
+254023621966817196327660146872:845689700864493128101393285038:254023621966817196327660146872
+735526589524426007695636891298:5725229214179023680457273255960:735526589524426007695636891298
+274969190132336846812528151039:4657792376462952393741335282100:274969190132336846812528151039
+300144930501080053310828327378:9798692759269376995100370795470:300144930501080053310828327378
+578468937513674148262398037021:4117578397356857279429819222687:578468937513674148262398037021
+198150783545073001946651087861:2097623593919160902434120712517:198150783545073001946651087861
+397851301706212399970748411323:7:1
+516952502986186490634357284627:8:3
+580404954471257984504983267610:4:2
+408513050063344320534915716441:5:1
+258338813066357177267410341714:8:2
+764940076846870097062234295159:42:41
+918753675653763358983836733909:65:9
+825184351992427117581317457138:65:43
+263447203353433481119854025354:15:4
+975587437290876825490346361346:24:10
+728330241322985898756505150649:903:299
+327232438016617888013900087637:678:45
+900469807633146889325680455211:191:79
+770676153930595382675337364377:591:219
+244592321952491577169669004341:312:277
+687809356456663740164991876273:8241:6795
+736085068046768611069320188122:2384:1146
+406452525812206248425225267788:6183:1195
+462564118974291461719002241263:6442:1983
+703995527154366300390422667015:4864:3847
+118889871835309810649773936875:62540:42155
+986951911550724608298690755034:70879:12570
+218404118430423479927940271614:41939:16019
+378109261500659618659102313532:71286:42438
+189631722995035657906480245302:30779:6148
+422169251686608527241072484725:244744:27061
+358217900717577033753328651679:180774:88121
+521823623739599010116501898303:623315:285058
+938154037575204754921389314229:259823:21560
+263893216347160129501705270533:967951:644056
+987016149020741540045450863050:7725527:2100651
+146573625078656118143515504098:1915651:1512335
+859392925096747233477745341353:1575544:110001
+845704371453758756767798216034:8682204:792014
+673331924078082796372932539854:6553625:2928729
+757996436139923142511517789097:48028361:2145556
+284339317897502198496971596528:57886543:6475492
+966823593537529528745458694166:54112024:8012846
+270989886568227826400330352567:81717303:10083708
+409666071897825582666074896266:35166152:12206610
+582194219950883217936530627526:115371656:95891158
+591001625748776624997257392402:817707148:242748562
+201074377255219958238661914898:187634240:140593618
+518380735878967500081817833370:383899132:181186818
+594560293274066762260296272638:228238173:211878712
+792538088019989384963958345845:5247839661:5178796733
+118520455617021889608856440872:6351897337:4807543453
+237740290248738548545984537457:5530046366:3444446011
+725902984252185325475964222359:2821120065:1100956034
+738127893874525805530554690862:8230719248:3792799102
+906367204902046030271926564035:89700831725:70232907410
+745577137160037497580818598478:49115523854:22733426846
+916888570120680356701535984049:27726355327:4980927919
+418835215963837704438496466224:25374035188:2744706824
+668515508995327252533881832745:64864228121:32591011973
+544972108901916445340186686226:291165590724:193616511158
+202026708817460168846941296890:566029671253:266552409774
+847658182819182129012622142203:561629591184:379802027371
+873825789348580654144043335087:509850727727:55477834583
+264442928436704005709135179062:219901067427:122171561394
+194806564234141340468869400865:2311017080738:1857225351837
+394986008589958510634392970436:5566045369964:4672916288220
+388433091545109878570796456613:4607694864885:3341731475683
+996607214245784002176017562124:2470606628691:572324157973
+337462791557804840523388904810:7943241024809:973992798924
+754103927686945592197287109697:41331007106201:37864522462919
+579831879888242660862535590438:15475034489897:3741251460808
+671707554369240066386015272178:82501950426500:29368782595178
+582901356312128251746646035303:23849835995601:10741698193638
+258469159157724884117421284427:88626633274232:20059176827579
+919825354833387845557238981381:358246167156511:249687286989568
+507286341452433751291758858126:799290741360640:692844466462606
+393412888078974784673593641395:561487154163293:238540376963216
+102412674928817445073614057925:914867958054980:618357306805465
+243498542637088999241453593275:383330265395666:110277630799015
+319305041894291699242650277608:3219973083367637:53858250516205
+148448754213352068453430848136:5322254617145480:3073883918421176
+326254666932591225261500922775:2978000194788275:2095195386293625
+617715122642852449345597976129:6097044008383253:3608780755940819
+866299595399991390522475977489:9671001666512860:5380388220219169
+255382080362400449088669022886:86453020051446279:4868451036645251
+279550783121895389205492161889:91550238194522847:20644364120944230
+127013750123714108129581339968:80232004466815746:10095725102110434
+737256789517569396767225351614:94059424042897568:77990494132320542
+332222566527434754233420161077:25614632662856977:3783317322212308
+929074013863070979340063051612:987419598228868187:942274003653100019
+597253753215212365103176717680:863545596342405061:50520289534562266
+975979465674698777089297622994:906559285740556430:196781080201479954
+112537137497573750059688459993:839347390661380121:105353204058121227
+298072824673178510524971600818:899528338990895576:382133080777835122
+670904334308773412890875374610:7309422730499565164:6565901204698279394
+199360704916218568511735500073:7940177542388791723:321008396353488696
+282081655177795514583644608420:5244694675092952832:2639054026392028324
+368220199906849561820631545410:8283071247464476953:2418773853118428928
+485642011511524381978806690087:3530748192738058875:3089043618157960587
+586064509700198070114531311271:20209571199993878124:436803763885121535
+975524391022636962474579993846:47987258581824405659:24282336183069436007
+948028873963127768951465770167:33325622502437093532:15001985299655614863
+287377354512444814914000927143:28321736402435458938:15387804056512025549
+513748565649168769700552042425:29325635940635293239:16757758235140866307
+853204714432834678629440814541:741757691956590623404:247242256860010358509
+254123286740094552399286944838:473869949921596159023:21441003707722816939
+870450402421271516815386632014:859442356373551686290:666923798795880620194
+914384959360416903906843258568:921224371648769876367:650001610377239227456
+370951896482293225359651440403:620578635657345784287:510309576069702528297
+286662669506573681288279551857:6194493264804524744420:5579322452818359301137
+300648649264624267049744232139:1334380770747117440234:1010545859114751091947
+778243893114485625431297277198:5224576967206869356225:4067850273287570464923
+911171386280473332288302050451:7687234321104286677545:4508366129948454917476
+266377634851354128590781456170:1335170211286158160544:989926899132291542346
+543176126617489188453995691900:80773055883382045194477:23030448164875837514937
+280222370050530447551517885524:44674640577444279005547:16908902545825039244819
+607030425275156739683351656738:28942315420751401606133:3276454730422434522939
+160016294648897696452121080559:14458687150280109410172:8657920986954648952823
+300436958713583324564886902834:24782125604222379062884:3555141270053886933030
+179637492836579869750214185621:347877490685802031462950:166318754730941344601671
+179046580649484313761546574006:726866189471718710798927:539661673730605290081804
+868466671015747311174410745224:984209404557546226918919:292434168520541156619624
+559306178044486519274744131409:911256677962341069900068:521784828591437899794777
+178839345417227624482950093412:840109533912228099026012:188276128155674688762900
+629807215031310655667339123891:3624804496318236134536962:1058600513445527676513353
+474887167003276893470631027984:1039653078643383912993117:671659023849997113003426
+710785679159955850940665576887:1316769571404905863058931:48363444690590769917742
+666733527393246863588791118381:6795944437609931065083818:3806452649356586612985855
+775704733694405015518600440600:2757118384757987405602988:504616284290901822178752
+736062962724438619067427648684:33119098410101378072306815:24119658345592788480992124
+442703884549054856036654864862:77813415275094242277906943:23365049043711717642266135
+594682617900297232730367722286:58777902839536330298034362:26574872708179105154081932
+428414907991639623154571211720:45202190348317485681606305:33750060634811349988259235
+601254753336430576227404341647:31508736534622389365284559:5042782766142359044386809
+706053761121132427697632060072:591336830316345239709621437:588922553732556724053685731
+926232630305129267414778115726:167853843239612559697415049:15123308947163004441875344
+597581668041047847827234718012:125317873779389418382059289:66045860919100981576028060
+250704834778474198483368332331:626119772099973796569935536:256925938484679855394117931
+577289682141046474660822902127:769712866007416797098612098:5032635483876836863828627
+574129307036918145630360055472:2468437902067935550971687405:1451713757157097804928577512
+390146570524827605582215300120:6421587975574763232130637686:4851291990341811654377038960
+952391780112950564936644145396:3661732369851070236287867324:341363951672303501798641156
+823817233247588268263563466195:5326711856683474062438078856:3503607318333262648099322371
+553880709427090200528125256193:8988213979971933265731723847:5599656648802271318490101526
+840447175703241029824848074896:88235735941053555227772273576:46325552233759032774897612712
+601619399972432153756861405052:37368057488339530678341115639:3730480158999662903403554828
+323863419693123667492620714043:41449267120067905261885974888:33718549852648330659418889827
+517985058497143715199938778836:89831114361602746337591863226:68829486689129983511979462706
+555363450621373971989797517231:24457193654145733515023683912:17305190230167834659276471167
+401257436821490428211006514615:721768077052710709777367573490:401257436821490428211006514615
+521210208343336673966362029616:748583316457995891526591775782:521210208343336673966362029616
+228757805515892530803441280601:425012691762945865016992616980:228757805515892530803441280601
+185199943982820008344377528301:629783735695100035883014567490:185199943982820008344377528301
+162556399546594769196005444809:789167695755492958130851339150:162556399546594769196005444809
+582989179730291632324643409660:9987483164724051583806902580833:582989179730291632324643409660
+393078529887139541974550512009:9575346256254654245887610868282:393078529887139541974550512009
+461291303677014710495226438716:8064075590779969753999868287441:461291303677014710495226438716
+948289927045014065400234178046:8227920271366331731697289686368:948289927045014065400234178046
+640308533337084371529403666078:7098683323602277999499449693913:640308533337084371529403666078
+513786103991420309404564071141:5:1
+931802503188162139579880068483:9:1
+572822633434767441385795113994:1:0
+608603586728435229830274206239:5:4
+223252990893459914363831578092:4:0
+103457662033150678203073807742:44:14
+323670164401104156792978793396:83:5
+299848857108809817704161771502:94:68
+175903258195968688842041246178:50:28
+479603131145717304792152688717:89:26
+837168714463734651288757568778:600:378
+433101766976723448755465041881:467:131
+359568414141448963615649104204:318:28
+358419276266869476754599774908:491:352
+209585251745402762008162367079:153:150
+128668947060230679478373338321:2093:2073
+312317353638441763472012073204:9707:3069
+509062974879994595354932005755:8873:3593
+575637043648043418770923017672:6160:2312
+341514012715268499298505717905:5638:667
+965529966944555846063093536943:99440:33743
+837019230719291606699972729888:83934:34124
+441846183662477634531198461706:59504:55978
+812507300998376935081922010063:65877:19815
+314626976098926086915110455562:66523:19363
+893515544989331776561146988087:593863:118562
+265087716132356042256135085258:120945:96898
+291714676161487730010667520321:909179:51321
+791778600510665648726233161567:696844:167571
+197244836191104582613189908299:450265:23419
+186056548578413734182697253977:2423417:1247953
+717525213460553259804446474321:2644267:1711437
+339976298574398520178688019219:4473461:2392840
+691096931392065104980957508919:1178439:493587
+936915116884749672202032419407:7662719:1133847
+402238506539043813122109284614:35289811:24825415
+516024306292735361488282128510:83378105:26286795
+412077223851131601149929809036:42620492:22787360
+997009376919280887335222133587:29099886:2123087
+309157057419490028891871432391:46289288:13387359
+569250021363624769347394989400:263870536:250029680
+803160496769372190620453388765:334266548:277105949
+132401243539874989731426230718:623635681:308775617
+815983735207130638695640785306:621730572:23180982
+217291595223288690034566751857:637295088:20755281
+985431598170419645555251678994:3728782622:1090259740
+908875347749896004550341729663:3519416300:2765240363
+635373691104530578184179808444:2614072633:1315870464
+772419818080927693522422343341:1350859126:241694597
+785855081178810904860216803847:6802068409:5804990938
+752971522913098732139997894605:19185347537:16520887504
+302670658677120211240047851570:14638076839:11025750363
+265534467914111246670407573232:71557011892:32794648160
+409666634828607237652675081430:53308483061:38557070183
+676620314048484408462675611266:56711855629:40688448700
+591723032754036950690163192624:323019299524:212787172048
+395540275407405921113378465281:356676238946:62430700183
+792209685684007859166771756863:622046967162:411273487613
+127096671574591889982144341194:919225946012:755853167398
+930538061099964388926667107982:170024723976:138733090318
+223731322463147181809345171089:7777949787826:7304061339877
+510568029537015293186766986322:1022175786417:529594873284
+484653877677758890689949166770:1327262338753:1171947501559
+800734561938713556830401276934:4734561729730:3206629160824
+564579770665196466204273519466:3359480779470:1656283162786
+506132433207339644362202032304:58642372235532:25238023953968
+925103182967785712902729481036:21426539965574:12441714106756
+964146650226785125879652016576:79130016583719:26918340026127
+247670702603195609614844227444:77284994031542:60107580989354
+359523660036560429996916684617:71878357145394:71275885345937
+579483867549044663979820291468:840990368299117:822496248038511
+369299210529050454657515616750:813545179561795:498806736555145
+742565138261849269982164523859:180999012366647:168361054373496
+585898822657693360100288221791:588119466111940:514916519381991
+248975850209745057106251860146:962446142153613:580105988819941
+825651946730574550448566703993:6653101993657155:856805570544863
+886040925265181972830025169196:6511181540576971:1921876812112715
+531910566269309517279702388648:9782743934147294:6338282413481804
+118227882441599057992592166555:7581284514089068:4012201892442375
+530643267177159484976918750554:8028146122062275:7710526379591404
+902662894449379930152720173336:52908441005215277:7986652634492454
+894441252234922931513340051104:51966749137794032:1770586528914288
+909375454349238136798834977130:53803099433828833:25222639048736865
+910117773331941916264406065622:50515849913977318:1997033217386686
+956395854510073582917722619517:20026336669185089:2351522946667283
+563578985386017697662138765854:687924455838931936:539377932123846622
+389831225790555384382571863254:968478672326651060:60452642075445534
+337600256094080185243234155120:675954263339653438:358763022127353418
+208677462545414734463931908300:420183561233326141:175102930076753508
+969413598597957044642429728518:893302176813767125:434650994039515643
+431048491682497939994412009411:3684067973083494913:3228742252137756347
+307653846096526434304322981266:5684090831398701916:554905120930525754
+322093893891334412177675282301:2243590659676995404:1207618754957775381
+661807211835422816154121865261:6704208352038075358:5269165494865156411
+522850063164093223657095302175:4916389775916105288:2446912919012304063
+234869495250633758056328683724:13811425835978675240:10426978307192765964
+319949701413440066424194337205:38603816817220260660:37389535829635305445
+311108207762374612195363900412:17376577642161027972:16563881084062155872
+363997556367271697130395470420:51092013719839813232:23053703138971857748
+717058845657081073934343573094:97860786532652524343:3749711496330425921
+527623140240797732840039695151:113244413145704118999:26087757070410149972
+430914196557190557423820145522:648162067368968047197:492216005046661570226
+430527964489574484146266932795:615826893063016728278:196269001193211973463
+490418540143855893003467959228:247642287312873145916:12907249095613959512
+196463198959509898844762405428:502351305595618703545:282588878496883847458
+733621979526760346052794235224:1979019247461594283011:1646193508968895910765
+342940215658126896694002904426:4978545682839409663636:1538596260275640507558
+261508607612832645823925126589:1887989249560638948558:1410496543291027152315
+999577240342236390222477321366:2050235791466749932666:1163138309702669133750
+515904379048655919644900833506:3701007822995620656511:2711127723059605882400
+491677208589353921964172716069:91514866400680713613114:44651469487332103010197
+319637450726269980005751526642:94719269186479221471274:78192037674730105596818
+406797187550025655222401679760:67416628567793650370515:59691559048775635640105
+997579228635736960752788425755:14351390846545439529128:880724691097802129443
+507924216499462869970208374892:44951725687828119122304:13690118720040461607788
+533164814023009174811804582706:157504408727350608402696:105137046632021223212418
+221419193562788396622430369731:635375329024280567318053:422027761983120598670026
+263391836649933545922352387152:860947993894191190140484:294981895846740293836064
+484744237905763232781960893321:587902792283418429378044:160681523951788452895957
+779866152260266570359879511658:458326318615561504650225:88167320660999279862458
+191191996494404799745825692148:2238625266087528941709740:2205644199390479105347448
+729849503185136284373819070631:1111514212988032653134207:371567656355476917265049
+718244930026229852060077967944:6449433080788064779414547:3814984267017900576941289
+256460611282598808254119114736:9944865652310715437549855:2415840810078550583453996
+909095335777132787325969347267:2144109110896646576834216:1649193398225334569100131
+847922622448402693778856206105:60594476976350293913804675:24106118333031042987388830
+324989002226764445678572224661:21224445366760420238880987:294770928890980826551717
+202203861206322940072751576069:65179780808911792393884332:16181137078560066922378205
+675938456372732808443761780434:15329828183350156474944986:342284274358994012512736
+492527667251857469627483312511:20615190901725236919280186:10141418739834388960388785
+934843313021334594204213568570:244267655431350939771184535:30995685554547699890353125
+303269997821316700471631661572:935316454123096604225153168:227466685433400702682035140
+644725843851681898835234483127:694380873226574457878677022:340393497420801923822206711
+648211276252781093682215466147:671595858394543755781233613:121272902046369353325029602
+304017155989558209334363299795:326860016846270049218868552:37340322527063560815546435
+282780218232709650414880302944:9821973367388250672359318623:7764963945838631588819381500
+468131787008156090706267620953:3101030556157618789614854599:2977203584513272264039431103
+639723463577225740391227366110:2853764045864759428228097473:480317303519628468133532158
+707982104505459684584312350760:1395155341745646117048855052:638346240417103240542839396
+189955294463711181758864396664:6684509434962072582114659164:2789030284773149459653940072
+873572442534950328094128861789:88544731381929342062647384856:76669860097586249530302398085
+158836512023441442503961926997:37811395200007111318614138283:7590931223412997229505373865
+730471463183272431916681117779:50927724979780098211239915850:17483313466351056959322295879
+303532681392069316521240901478:45687322917425692039110482667:29408743887515164286578005476
+308633266798316311115801124517:68434567736485718290237849725:34894995852373437954849725617
+168535717607898356747762530974:764741459549709639297319103189:168535717607898356747762530974
+246532717657610665155453719619:260264375007297923420445158545:246532717657610665155453719619
+249954539265936003220122310762:616425567451378668656438139838:249954539265936003220122310762
+805667540447825558359186884425:605595356903064775855425443149:200072183544760782503761441276
+745972566149381052281783554293:251218667320758747059034754943:243535231507863558163714044407
+924242181954124747157747912030:5538028354902302490201881400950:924242181954124747157747912030
+135597674003736134013169381469:7526925606962691165968350511114:135597674003736134013169381469
+320013518589237151456662894495:9630609327326541696746772664243:320013518589237151456662894495
+573720554810773173695686256061:1746843947413696131434732484891:573720554810773173695686256061
+323550545090546403345279722962:1964984432581751108891864041503:323550545090546403345279722962
+539591897002983108166159383966:6:0
+618613254212863118633688756454:1:0
+480823271862049841296456376188:4:0
+756657956414782288904434613052:5:2
+914937845013370285725751211237:7:5
+462086882370187687538426428677:93:78
+298002211112562862354151372148:62:18
+744162729348433244944668726056:40:16
+378300212740156384025191333922:92:82
+849369837263370348525640998778:46:2
+574314124020821804998627496556:899:124
+635973353218570733452349410990:841:591
+937258540785454655877503536087:164:135
+357133653080493272886609828290:779:737
+614372121749532623678923213257:403:298
+687001216059399576973869139739:9168:3995
+910119660093229025390304196226:2504:1290
+218259112253393026773063405233:5640:4433
+343464411302154872083558930887:3839:2922
+522289341140255857520660597654:3729:464
+573697094433953328602524453457:11842:1417
+294605422304566197236085879072:62923:17955
+955704639906946728404426192643:21663:15237
+347220376886092247524562166993:30087:14394
+769168767987414406318994603950:25365:6415
+545486456394390868029037896739:219721:202514
+336189803983462586556645121510:708077:117110
+623414275894624206781036589887:719574:18649
+697896095844665305043549317050:351847:33629
+689895465657278951154571404785:610832:119857
+708891500978971171046566259309:3314641:301831
+322752238436455391459987169813:5811014:2294719
+964139671192347201929392622040:1409353:1335625
+392898949250251890320109304021:3586374:1933741
+632483928599355747646211124034:5670781:2084965
+164953161098100816461585223149:76359515:7468644
+971132950036111799078065903838:74863361:10599816
+430445927712716554625576766215:30722308:28091287
+911502420609170505140584741549:49229525:25314149
+143257339357319926530631447681:32384779:9725012
+471406819026661589344643504099:344086942:74544441
+373119161423289073015740260638:720980739:564752452
+748961276715625933420117181068:402215820:231588208
+904989464381917754208955702198:902843826:607254604
+543587647184684029501285825277:187165995:20863067
+292058077754274432335828510870:9099259675:2549690695
+313802859816378170102662571973:2359574630:1993270863
+384366860705778201111272338020:2687080759:854774366
+736560182428080638085479934835:1388682584:1362822251
+728102411322822220792634251689:7165858142:5555212683
+285218925026656402001134508375:97997324539:71130710483
+537168076630235563598400673130:26207410158:12524487602
+353779036584990895375366267447:51026848782:570246271
+761512902926038809152151952377:10185916529:7926863741
+537112736383246605285276243202:99414683626:57640274614
+799397120203169488956149601688:483482589033:198687092323
+978851868231793715938009806244:676977977039:123083226845
+866207813754873192908773404330:958539726903:12060984450
+810523821924400856894674737693:452948826013:396074460234
+334023203727473476124095120950:524383831467:88613323602
+156344379596291326063582290656:9922348874556:4922950989908
+871703515484439177440756026779:6600764496302:5546194871955
+846944217910245750530298203431:2840254594708:2434737731431
+391320689757968425262407474082:8790012246982:5487050303402
+493009564435653982734464485729:6261205111567:18605894487
+297901692143933216523884082317:62586742300403:44827480877693
+251826205132968042167751034574:82027416076243:61900453345936
+397238512217927792642671365467:33852426134812:20405773672287
+154685635671958603629830868669:41638484409022:3064857268281
+433541919865418187695927020066:72030662091705:5189740625401
+792171339886554596512589873127:420683493766420:64136279767567
+365513147672080660662132670954:155213663846748:47854947937114
+266282632933339661520626205748:503146574964901:446321467085718
+745495611991489153866179437499:786305220482734:137904495366731
+552483445960594520149198998479:743717141737285:45115899890479
+530971880134803007135332419214:5739357466691368:37264072810454
+752203328745258397459329484630:7009910849931637:4027472128350146
+647393777595805475919350607689:5251561594154889:1018928241192311
+740412126087370804717766235099:3479277376353604:2307062825258871
+738049636050663978618977885133:3196508059142848:250685390727117
+625811441762068598693743581358:58005183672264187:35772860387854108
+376168029082847718750627414964:50003026461005026:36511590691187144
+554199769181487036630224372518:19215150223466006:7369616525937760
+327979193047722848345225039725:81885339070108356:59381062932385933
+556486323176151286694814634201:57268768756786337:47314765298406431
+934909040613874911670098463847:269628356324062270:57313592339638057
+201395291444066006773827677901:254706711509346091:51866867909443801
+519521978739119110839329350679:872482830058845723:34969713896062835
+646712967698856358962557297984:905070231954270895:772762811261212739
+441020571729021895897713225133:647868895908038949:239920960476434590
+640828586440261224179725845294:9074107818609298596:7095950879548513194
+386691531729195949672710464249:3594041448311255885:904459847487147644
+449546901310047547100669079533:2915928824106315543:593372019891506405
+569394967473376386022965575540:4067100786245702457:1259991227693507999
+439603620924740245957889678170:3814395515375213810:3568058207691239600
+145561067156246102319815970815:46921762994259520376:29003153961011374095
+120766059133122192858285253925:33199692211920605396:15659275652526746821
+345029063245819170420188647148:34618723513368577294:34439959709465559610
+891911281844943642611295223448:15955520153675525590:9301304051736628428
+785050056716506397110790767178:45817100939669555925:11019435669136047203
+715975183759303019958216466784:239337860986772134648:194898864560206323328
+137677177222198509527445688272:991869858743947989016:64651851819811354280
+309136074006374638310597716890:932831583287249931182:718221131360564702458
+553845693692234324989263013692:381475576407235247437:43093611427724353625
+746566514995097820995113087844:717056304539502740752:607302779299390902020
+519764782971828516749300828516:8077103438020232558219:2433575409676512798449
+963167222985368959269688552112:5189657106529043004683:5163860872069151657750
+419573725536633406550488474877:6439248488712003708430:1792600233177628665587
+866400562657613162705425610859:1947803900977465831188:1405216236132994026771
+853405445410810481769093342561:6481518205873312412204:4445585590522350104073
+652715632845311857167012119339:26168267851173701178842:4468129205189132536499
+720816064017751570821525177869:63070739128997728354980:12300088264752792091709
+299547062007315525782088306007:53132918629981513861816:31710417784935439137335
+599454514650304110555272370220:93491690628969952355361:5074324379485455653092
+568529308921525320792157094544:78505432938279937502158:29071466458595904052764
+296404839736378340704030342772:703095570395980066521412:137028974628080532164520
+709580209038101784837763335046:608889431579918813561891:558826106536833583106049
+372442636290910256712725836052:885064798112704223119552:288726699417990233398036
+315423374508370057422827896288:435365538441531795670384:171176403388396043347520
+904020897016172604351054350155:944672519358557045687359:470183172344010759470002
+300326691260073894541004299187:6298722658009307253519792:3594926190124693180616627
+741146064726822568159211131475:4052791550087241050692962:3968379268622736887784611
+793274048664957844608976629233:1103565195368545692403158:486408576881630199370409
+273785668356741166883557897561:4731213584676364107711956:4531852274005062590139709
+326279453986144044375721959316:6405156203493772283668295:796980171284245659012016
+780494308670581471159492955456:10540431209181416130237052:6998924325150963829966012
+470931520305312610579118058057:58701053219023186105943901:31671382308611637236084235
+507471879945060669358605149606:10887070976045053782408401:3727609648622452984762194
+271531210634205569181620144933:65208310640392738571844287:3805127610205768460533865
+695289933607309355908566353664:54965611271438764374105991:29916634880425340499673505
+721787759014320592752510579358:576920181881752929042720787:60611480247678520066874821
+651342023240210010701253123968:190229522351528646364844830:186368230927454194389270878
+392641477859194167460012848103:178526710202329524039980896:61242124271544096094857799
+705251459625959038523701282032:756992806501810717347304591:491156772773260673360707811
+230440429292278136929303269956:195578484216442115450811157:48974885309324928247727010
+176129833170471278234589635662:9374579765240422755281018695:7387397396143668639531299152
+360670407514093085282116215780:5829496131841896129964522835:5071143471737421354280322845
+892285046716540434718313537823:8634022442099768508420156954:2980735180264278351037371561
+341459805302864582248625856126:4277361560595478744429871402:3548242015821761438666015368
+911064209758811947219993067441:2135232748841754237205343380:1455058752224642170516787561
+861010449065078558070290902053:50336259476542716913173822835:5294037963852370546335913858
+112765283744466886018467186074:21797597426268771028275500612:3777296613123030877089683014
+728332158232752177394639454323:33485124845476062784297229431:25144536477754858924397636272
+364430664928563939474651569105:71898677398588970648695969329:4937277935619086231171722460
+887940995943437209049644235049:56827619145907662036654568111:35526708754822278499825713384
+703867576790276676712078143188:876571231131869929343486715234:703867576790276676712078143188
+366996480672479009441314659304:975190210993045834692087169021:366996480672479009441314659304
+755140636443960181484281867336:210379518790569423415686953799:124002080072251911237221005939
+479225903904308672648735793302:740619697221126586590953106626:479225903904308672648735793302
+133105395906790705565697874391:920252509703423163971858194425:133105395906790705565697874391
+646268439477034234360857238562:2877602480699594201313785367630:646268439477034234360857238562
+771651790943801178164750987090:5673896116835162319902760895865:771651790943801178164750987090
+184516835767428486099364919814:1090140078535092955720226367400:184516835767428486099364919814
+769092575828083557037863527371:5251884348333417332821947081284:769092575828083557037863527371
+391274654348387342226073283735:4211334374787639237775963885465:391274654348387342226073283735
+393124884634437708947592512676:8:4
+861511485484310551648662921207:4:3
+888859767763587972791407967084:1:0
+712623378724905849457139342004:5:4
+758051222300042033946076469695:5:0
+129105437835239086603063260244:12:4
+527840455006419720789238861537:72:1
+255206270616008471749837839202:29:18
+669029672410819249759424725007:30:17
+750099064420355864554985616352:93:4
+861719603395912271362542706849:504:361
+655285898398832123460145016923:435:58
+576034491520931168982596156200:312:280
+787977419300451779022786359669:214:151
+114755727208820020655948580453:985:128
+175896410481687888794543522135:4419:23
+624766044951759772700671863895:1259:1069
+607656888887012503882724250832:7702:1778
+850072793774671294431187805937:4721:2800
+617555575480080202822176810073:9440:3353
+546931449665050845444319927144:44298:43174
+453762376798006900949467310590:25716:7894
+955633311711134379061999656873:30920:14673
+459339587831829433766326819466:70729:23392
+978661518018485217074579191965:51984:26205
+116286358287067441332865451003:184117:119884
+216446053350980727313915510343:278548:209583
+147526247020665377427920495270:707098:193612
+902111764672629047258827951600:600518:71962
+508179794680833393807043784550:653775:120375
+407588851049835066598883219356:3115776:560284
+928691361293127386483004834725:3686948:3245041
+844333458859028432556494530903:8999606:1539065
+735016782350561247578927867589:3729014:927165
+278119794971579486884774007339:9856261:1291123
+931989021912916998357286116785:57661148:5942589
+160254587948712205698643251109:96170966:40828765
+763230518950418054895973283500:84573908:12706892
+648064575749552177036985652272:34706615:34406037
+327731971147533848217908349662:53997685:24084112
+875766655423553192259252160105:726255325:166724955
+819607468080303423921626388077:230832523:109740624
+742096810737160329833193060685:114372444:108079249
+663180628035142125568752485553:503336307:405018933
+259510490917183201876887090007:951398684:79927299
+868480584996364631832954146906:9356548852:6183224842
+824811789099189411331040578683:2742456773:849145589
+213667865722580109867627729741:7497800658:3320356509
+769434139402479042163628368814:1338057818:959062098
+892877521779904441406629490354:4380193590:260429804
+435514970242328292331627237882:72484164321:14675993497
+685697338055176069053398425963:84247125206:74210527435
+732298960199144075883607898665:14249959344:13959010105
+622751643682115972796626502997:44280319289:11269180980
+943613505592062877205017208774:15878233033:1507818937
+819569301516781504577273319334:996207096923:757419494093
+457611895202132729907496495839:183149081406:142002450381
+904214707308169789644127663468:962526547913:369288179241
+953379518616909549856422425971:883453430680:361178304091
+561730394236538471052852063622:946219382873:80588550519
+865135992981820556619227946134:5847149937699:3549063456452
+532791633781603592624048819747:2377947012307:713200176236
+671974998368936888346414165397:9098617198410:8817043446847
+974143349520718155553324225667:9460169745267:9097246071698
+935997843402602555986719645285:3904696022286:1335149292729
+757000111006467541918426877122:36424722126668:18934492188946
+202019188119061222051136147672:96785471811657:48051260602421
+261644894759150793767524760071:24549841096140:21938288201731
+308947004377456030277204936949:53600595409433:38846347978111
+490215631437912423786169153524:27348953389415:20517234878994
+992891170581055001461303208769:456531224081919:132429160779126
+827878046316257612863642856619:915103462149288:778309343565627
+188141971439379764338791192250:299845957676496:222816294421114
+909128937487700724237784822885:350890534099376:261710050427077
+548161740575700960701461554479:351388059878345:2707147301959
+632998694230665905138504205683:5161072802940521:2588347830782501
+989561692601046469598855142942:2232461133506966:800488232300056
+722053711025302072889977536284:2124695213168155:177879206766534
+708237626455796647916490236597:2989633217023029:2776331030111636
+919565831354339875766768525110:4319491685768972:723242898434602
+325278817806092967446414416368:92669652852428483:6354046454480721
+459816556856225120612249776522:86480843071405841:46352919177657032
+539440404994862027098092700017:77829857460058719:76232415542640276
+697167612903549717728747993403:15286421157619982:212197563140615
+446284254429799510431939511411:66563026564862489:33170730867036812
+163835371931001405435062481399:142858955724040480:42016056245340439
+858056310925287122556316700472:785475211157290905:7484294396715957
+973368039062172637570360904090:309489191383966491:255885951881772089
+838603203086870598652949581642:945022841833171234:709675065436787072
+864854054235517666864794850987:894535073959076427:788600125053757507
+908181926596215654078730450422:7480691298078708060:6817313236254561462
+878585448012845939591562038180:9024464082667300510:3200386596806404870
+863285243671620222431180190583:6334804583861219901:1404905943287567524
+532289648478311197982547999476:6514152818886410403:4785654949668722159
+936581630344293971405448111843:3644906914919264384:2012511025417779555
+861268614532541530377947003973:83360254369610672501:47935551361396925840
+913251555004453135126628501593:51916019920885909474:34306359106857301815
+370772657003637413536988017577:23718525199937869298:23011340506486077351
+106380650712081685662103538437:88758404975504716146:58350945108402656485
+412202159454357528824112094318:99771876158978364649:77925527245286863526
+525693533744031087982194236192:929651991880007373453:651491454290177311547
+492896770139865143918926887845:607107080574194970237:92258786098921295690
+850560996955519073671742572564:155204374797661396533:64805602001216556136
+650537628763037728120700672438:261683116209073537369:207056126010611431773
+135007871776845734937116906155:149470779306630991831:18953644674917184194
+123420898749517385682938217691:6892915053083751940246:1268147751661917791579
+898934363863020709522521442917:4433406846739055003876:2306481316135324004505
+879378757066167800152936033840:8585429702570499522346:4928832661749043540398
+534894780765796405153824995392:5292171080963015558055:3970481244847974595027
+118249439981105247505658196107:1044988953297174048601:35034546582469264552
+514638882743390015829141263539:42260502990431699776014:28199588613520992150703
+533772849242066009586852457831:81711181158494925045169:32973335530889263991654
+852649448271116059664215755215:11558324639655263399106:11339267514983389303157
+925238622640185091244112955022:41171420023459496666827:11394443646548466476823
+705359047543020111986074662093:76546405838233178398486:69035333240244668252639
+192862926094082601067554524864:983139152622229345807900:518524179870300418781864
+558112242655536384676132132313:191729197440154429346381:52659093250114577824173
+157786667897919109025169585397:750869103799808919062577:536163634862391197779771
+355950229834035488164012632789:244679971129724930061003:84393299108358328030515
+256559814382822804907183116051:596317269299605239563124:272439360646637544646291
+141165203929235726945465524307:7112263234433476557462943:1003252200084232941031643
+568829542857828576664808467473:7152431953645315287895206:3782016370297133790629499
+459307495911616425082102673594:2821342682323452246985883:1371257405369629541878843
+830628974127930153300702331991:2585022873925650318657958:1669209518415958571293557
+633425881982689184978215783450:3839274700551585185469318:3145512185903153560353220
+672474018829929490938418825081:55321374733528776636985950:42708943887210915854602831
+654212123114222963030509355083:64566129630746967693683386:28097695494686358109288131
+412266659539667669402745530917:56196056311902344165262158:12390435552072606382339829
+473574458752013181427973201748:13798691979164630832062545:3350027083051271586657348
+369483620392312398087935720894:64798995024802675343506453:64549755912345954605432341
+860845108124330254357390604920:445618049180252372394296292:356655157262923264004465068
+893361484768327580404801876688:305997169911274590963503181:155745797317049382336091349
+471803761500813962827351327487:171685879755787424163760757:10963931910121225336767251
+524198073805891909010758250591:755873622027844368963073528:377653740595761319348295687
+123437798661954753824730473275:647551310342858114623388071:403049696811712046286739785
+511648855626624903623657438999:4942236375186776598223330491:2598508982386914006654398426
+802468626571942617779470129787:6177740160848197163161876231:5540145822525183731588095988
+654221655842560446016409557155:8310516044126063420518328319:6001404400727499215979948273
+446105608895309780467306840933:6707603947832565944203539520:3403748338360428149873232613
+890051387528125829503538395450:7851654645850450642530999638:2814412547024906897535436356
+265690770990649433995320560172:96521164892188392001777314173:72648441206272649991765931826
+872665844509237280758871946254:76167477244146070718198351508:34823594823630502858690079666
+246505747602343448837411047959:71921669896971649624826156475:30740737911428499962932578534
+433350079490916815831690868030:39073821517273115171950762495:3538042800912548940232480585
+729454826302110619053479741853:84742904878411756679550978218:51511587274816565617071916109
+630765754003890749602147027763:641195642117925548927555175170:630765754003890749602147027763
+736237624520104902876246198514:208386353866941734323922778446:111078562919279699904477863176
+765742040607488295039699674160:983900869487334611012724091021:765742040607488295039699674160
+423047434489268687849189102681:566585970938578790979628224121:423047434489268687849189102681
+308980252917253495855408503187:672259773721849879124362446861:308980252917253495855408503187
+206950206126239749116047352241:6484198474438162257010045734295:206950206126239749116047352241
+446943082680765739861120826359:9355295435647246746728568985992:446943082680765739861120826359
+672339146657620895716620422300:6552886003247436897021916637927:672339146657620895716620422300
+429546203091033258121346585579:2437873763135424337895305255068:429546203091033258121346585579
+799087100494522910913254814333:8788325478515322259159918974653:799087100494522910913254814333
diff --git a/t/author-lib-arithmetic-binary-_mod.t b/t/author-lib-arithmetic-binary-_mod.t
new file mode 100644
index 0000000..b34e230
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_mod.t
@@ -0,0 +1,172 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all =>
+ 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More tests => 51401;
+
+###############################################################################
+# Read and load configuration file and backend library.
+
+use Config::Tiny ();
+
+my $config_file = 't/author-lib.ini';
+my $config = Config::Tiny -> read('t/author-lib.ini')
+ or die Config::Tiny -> errstr();
+
+# Read the library to test.
+
+our $LIB = $config->{_}->{lib};
+
+die "No library defined in file '$config_file'"
+ unless defined $LIB;
+die "Invalid library name '$LIB' in file '$config_file'"
+ unless $LIB =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Read the reference type(s) the library uses.
+
+our $REF = $config->{_}->{ref};
+
+die "No reference type defined in file '$config_file'"
+ unless defined $REF;
+die "Invalid reference type '$REF' in file '$config_file'"
+ unless $REF =~ /^[A-Za-z]\w*(::\w+)*\z/;
+
+# Load the library.
+
+eval "require $LIB";
+die $@ if $@;
+
+###############################################################################
+
+my $scalar_util_ok = eval { require Scalar::Util; };
+Scalar::Util -> import('refaddr') if $scalar_util_ok;
+
+diag "Skipping some tests since Scalar::Util is not installed."
+ unless $scalar_util_ok;
+
+can_ok($LIB, '_mod');
+
+my @data;
+
+# Small numbers.
+
+for (my $x = 0; $x <= 24 ; ++ $x) {
+ for (my $y = 1; $y <= 24 ; ++ $y) {
+ push @data, [ $x, $y, $x % $y ];
+ }
+}
+
+# Add data in data file.
+
+(my $datafile = $0) =~ s/\.t/.dat/;
+open DATAFILE, $datafile or die "$datafile: can't open file for reading: $!";
+while () {
+ s/\s+\z//;
+ next if /^#/ || ! /\S/;
+ push @data, [ split /:/ ];
+}
+close DATAFILE or die "$datafile: can't close file after reading: $!";
+
+# List context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, @got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\@got = $LIB->_mod(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_mod() in list context: $test", sub {
+ plan tests => $scalar_util_ok ? 9 : 8;
+
+ cmp_ok(scalar @got, '==', 1,
+ "'$test' gives one output arg");
+
+ is(ref($got[0]), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got[0]), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got[0]), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got[0]), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
+
+# Scalar context.
+
+for (my $i = 0 ; $i <= $#data ; ++ $i) {
+ my ($in0, $in1, $out0) = @{ $data[$i] };
+
+ my ($x, $y, $got);
+
+ my $test = qq|\$x = $LIB->_new("$in0"); |
+ . qq|\$y = $LIB->_new("$in1"); |
+ . qq|\$got = $LIB->_mod(\$x, \$y);|;
+
+ diag("\n$test\n\n") if $ENV{AUTHOR_DEBUGGING};
+
+ eval $test;
+ is($@, "", "'$test' gives emtpy \$\@");
+
+ subtest "_mod() in scalar context: $test", sub {
+ plan tests => $scalar_util_ok ? 8 : 7;
+
+ is(ref($got), $REF,
+ "'$test' output arg is a $REF");
+
+ is($LIB->_check($got), 0,
+ "'$test' output is valid");
+
+ is($LIB->_str($got), $out0,
+ "'$test' output arg has the right value");
+
+ isnt(refaddr($got), refaddr($y),
+ "'$test' output arg is not the second input arg")
+ if $scalar_util_ok;
+
+ is(ref($x), $REF,
+ "'$test' first input arg is still a $REF");
+
+ ok($LIB->_str($x) eq $out0 || $LIB->_str($x) eq $in0,
+ "'$test' first input arg has the correct value");
+
+ is(ref($y), $REF,
+ "'$test' second input arg is still a $REF");
+
+ is($LIB->_str($y), $in1,
+ "'$test' second input arg is unmodified");
+ };
+}
diff --git a/t/author-lib-arithmetic-binary-_modinv.dat b/t/author-lib-arithmetic-binary-_modinv.dat
new file mode 100644
index 0000000..7c16d43
--- /dev/null
+++ b/t/author-lib-arithmetic-binary-_modinv.dat
@@ -0,0 +1,7312 @@
+#1:0:undef:undef:undef:undef
+1:1:0:+:0:-
+1:2:1:+:1:-
+1:3:1:+:2:-
+1:4:1:+:3:-
+1:5:1:+:4:-
+1:6:1:+:5:-
+1:7:1:+:6:-
+1:8:1:+:7:-
+1:9:1:+:8:-
+1:10:1:+:9:-
+1:11:1:+:10:-
+1:12:1:+:11:-
+1:13:1:+:12:-
+1:14:1:+:13:-
+1:15:1:+:14:-
+1:16:1:+:15:-
+1:17:1:+:16:-
+1:18:1:+:17:-
+1:19:1:+:18:-
+1:20:1:+:19:-
+1:21:1:+:20:-
+1:22:1:+:21:-
+1:23:1:+:22:-
+1:24:1:+:23:-
+1:25:1:+:24:-
+1:26:1:+:25:-
+1:27:1:+:26:-
+1:28:1:+:27:-
+1:29:1:+:28:-
+1:30:1:+:29:-
+1:31:1:+:30:-
+1:32:1:+:31:-
+1:33:1:+:32:-
+1:34:1:+:33:-
+1:35:1:+:34:-
+1:36:1:+:35:-
+1:37:1:+:36:-
+1:38:1:+:37:-
+1:39:1:+:38:-
+1:40:1:+:39:-
+1:41:1:+:40:-
+1:42:1:+:41:-
+1:43:1:+:42:-
+1:44:1:+:43:-
+1:45:1:+:44:-
+1:46:1:+:45:-
+1:47:1:+:46:-
+1:48:1:+:47:-
+1:49:1:+:48:-
+1:50:1:+:49:-
+#2:0:undef:undef:undef:undef
+2:1:0:+:0:-
+2:2:undef:undef:undef:undef
+2:3:2:+:1:-
+2:4:undef:undef:undef:undef
+2:5:3:+:2:-
+2:6:undef:undef:undef:undef
+2:7:4:+:3:-
+2:8:undef:undef:undef:undef
+2:9:5:+:4:-
+2:10:undef:undef:undef:undef
+2:11:6:+:5:-
+2:12:undef:undef:undef:undef
+2:13:7:+:6:-
+2:14:undef:undef:undef:undef
+2:15:8:+:7:-
+2:16:undef:undef:undef:undef
+2:17:9:+:8:-
+2:18:undef:undef:undef:undef
+2:19:10:+:9:-
+2:20:undef:undef:undef:undef
+2:21:11:+:10:-
+2:22:undef:undef:undef:undef
+2:23:12:+:11:-
+2:24:undef:undef:undef:undef
+2:25:13:+:12:-
+2:26:undef:undef:undef:undef
+2:27:14:+:13:-
+2:28:undef:undef:undef:undef
+2:29:15:+:14:-
+2:30:undef:undef:undef:undef
+2:31:16:+:15:-
+2:32:undef:undef:undef:undef
+2:33:17:+:16:-
+2:34:undef:undef:undef:undef
+2:35:18:+:17:-
+2:36:undef:undef:undef:undef
+2:37:19:+:18:-
+2:38:undef:undef:undef:undef
+2:39:20:+:19:-
+2:40:undef:undef:undef:undef
+2:41:21:+:20:-
+2:42:undef:undef:undef:undef
+2:43:22:+:21:-
+2:44:undef:undef:undef:undef
+2:45:23:+:22:-
+2:46:undef:undef:undef:undef
+2:47:24:+:23:-
+2:48:undef:undef:undef:undef
+2:49:25:+:24:-
+2:50:undef:undef:undef:undef
+#3:0:undef:undef:undef:undef
+3:1:0:+:0:-
+3:2:1:+:1:-
+3:3:undef:undef:undef:undef
+3:4:3:+:1:-
+3:5:2:+:3:-
+3:6:undef:undef:undef:undef
+3:7:5:+:2:-
+3:8:3:+:5:-
+3:9:undef:undef:undef:undef
+3:10:7:+:3:-
+3:11:4:+:7:-
+3:12:undef:undef:undef:undef
+3:13:9:+:4:-
+3:14:5:+:9:-
+3:15:undef:undef:undef:undef
+3:16:11:+:5:-
+3:17:6:+:11:-
+3:18:undef:undef:undef:undef
+3:19:13:+:6:-
+3:20:7:+:13:-
+3:21:undef:undef:undef:undef
+3:22:15:+:7:-
+3:23:8:+:15:-
+3:24:undef:undef:undef:undef
+3:25:17:+:8:-
+3:26:9:+:17:-
+3:27:undef:undef:undef:undef
+3:28:19:+:9:-
+3:29:10:+:19:-
+3:30:undef:undef:undef:undef
+3:31:21:+:10:-
+3:32:11:+:21:-
+3:33:undef:undef:undef:undef
+3:34:23:+:11:-
+3:35:12:+:23:-
+3:36:undef:undef:undef:undef
+3:37:25:+:12:-
+3:38:13:+:25:-
+3:39:undef:undef:undef:undef
+3:40:27:+:13:-
+3:41:14:+:27:-
+3:42:undef:undef:undef:undef
+3:43:29:+:14:-
+3:44:15:+:29:-
+3:45:undef:undef:undef:undef
+3:46:31:+:15:-
+3:47:16:+:31:-
+3:48:undef:undef:undef:undef
+3:49:33:+:16:-
+3:50:17:+:33:-
+#4:0:undef:undef:undef:undef
+4:1:0:+:0:-
+4:2:undef:undef:undef:undef
+4:3:1:+:2:-
+4:4:undef:undef:undef:undef
+4:5:4:+:1:-
+4:6:undef:undef:undef:undef
+4:7:2:+:5:-
+4:8:undef:undef:undef:undef
+4:9:7:+:2:-
+4:10:undef:undef:undef:undef
+4:11:3:+:8:-
+4:12:undef:undef:undef:undef
+4:13:10:+:3:-
+4:14:undef:undef:undef:undef
+4:15:4:+:11:-
+4:16:undef:undef:undef:undef
+4:17:13:+:4:-
+4:18:undef:undef:undef:undef
+4:19:5:+:14:-
+4:20:undef:undef:undef:undef
+4:21:16:+:5:-
+4:22:undef:undef:undef:undef
+4:23:6:+:17:-
+4:24:undef:undef:undef:undef
+4:25:19:+:6:-
+4:26:undef:undef:undef:undef
+4:27:7:+:20:-
+4:28:undef:undef:undef:undef
+4:29:22:+:7:-
+4:30:undef:undef:undef:undef
+4:31:8:+:23:-
+4:32:undef:undef:undef:undef
+4:33:25:+:8:-
+4:34:undef:undef:undef:undef
+4:35:9:+:26:-
+4:36:undef:undef:undef:undef
+4:37:28:+:9:-
+4:38:undef:undef:undef:undef
+4:39:10:+:29:-
+4:40:undef:undef:undef:undef
+4:41:31:+:10:-
+4:42:undef:undef:undef:undef
+4:43:11:+:32:-
+4:44:undef:undef:undef:undef
+4:45:34:+:11:-
+4:46:undef:undef:undef:undef
+4:47:12:+:35:-
+4:48:undef:undef:undef:undef
+4:49:37:+:12:-
+4:50:undef:undef:undef:undef
+#5:0:undef:undef:undef:undef
+5:1:0:+:0:-
+5:2:1:+:1:-
+5:3:2:+:1:-
+5:4:1:+:3:-
+5:5:undef:undef:undef:undef
+5:6:5:+:1:-
+5:7:3:+:4:-
+5:8:5:+:3:-
+5:9:2:+:7:-
+5:10:undef:undef:undef:undef
+5:11:9:+:2:-
+5:12:5:+:7:-
+5:13:8:+:5:-
+5:14:3:+:11:-
+5:15:undef:undef:undef:undef
+5:16:13:+:3:-
+5:17:7:+:10:-
+5:18:11:+:7:-
+5:19:4:+:15:-
+5:20:undef:undef:undef:undef
+5:21:17:+:4:-
+5:22:9:+:13:-
+5:23:14:+:9:-
+5:24:5:+:19:-
+5:25:undef:undef:undef:undef
+5:26:21:+:5:-
+5:27:11:+:16:-
+5:28:17:+:11:-
+5:29:6:+:23:-
+5:30:undef:undef:undef:undef
+5:31:25:+:6:-
+5:32:13:+:19:-
+5:33:20:+:13:-
+5:34:7:+:27:-
+5:35:undef:undef:undef:undef
+5:36:29:+:7:-
+5:37:15:+:22:-
+5:38:23:+:15:-
+5:39:8:+:31:-
+5:40:undef:undef:undef:undef
+5:41:33:+:8:-
+5:42:17:+:25:-
+5:43:26:+:17:-
+5:44:9:+:35:-
+5:45:undef:undef:undef:undef
+5:46:37:+:9:-
+5:47:19:+:28:-
+5:48:29:+:19:-
+5:49:10:+:39:-
+5:50:undef:undef:undef:undef
+#6:0:undef:undef:undef:undef
+6:1:0:+:0:-
+6:2:undef:undef:undef:undef
+6:3:undef:undef:undef:undef
+6:4:undef:undef:undef:undef
+6:5:1:+:4:-
+6:6:undef:undef:undef:undef
+6:7:6:+:1:-
+6:8:undef:undef:undef:undef
+6:9:undef:undef:undef:undef
+6:10:undef:undef:undef:undef
+6:11:2:+:9:-
+6:12:undef:undef:undef:undef
+6:13:11:+:2:-
+6:14:undef:undef:undef:undef
+6:15:undef:undef:undef:undef
+6:16:undef:undef:undef:undef
+6:17:3:+:14:-
+6:18:undef:undef:undef:undef
+6:19:16:+:3:-
+6:20:undef:undef:undef:undef
+6:21:undef:undef:undef:undef
+6:22:undef:undef:undef:undef
+6:23:4:+:19:-
+6:24:undef:undef:undef:undef
+6:25:21:+:4:-
+6:26:undef:undef:undef:undef
+6:27:undef:undef:undef:undef
+6:28:undef:undef:undef:undef
+6:29:5:+:24:-
+6:30:undef:undef:undef:undef
+6:31:26:+:5:-
+6:32:undef:undef:undef:undef
+6:33:undef:undef:undef:undef
+6:34:undef:undef:undef:undef
+6:35:6:+:29:-
+6:36:undef:undef:undef:undef
+6:37:31:+:6:-
+6:38:undef:undef:undef:undef
+6:39:undef:undef:undef:undef
+6:40:undef:undef:undef:undef
+6:41:7:+:34:-
+6:42:undef:undef:undef:undef
+6:43:36:+:7:-
+6:44:undef:undef:undef:undef
+6:45:undef:undef:undef:undef
+6:46:undef:undef:undef:undef
+6:47:8:+:39:-
+6:48:undef:undef:undef:undef
+6:49:41:+:8:-
+6:50:undef:undef:undef:undef
+#7:0:undef:undef:undef:undef
+7:1:0:+:0:-
+7:2:1:+:1:-
+7:3:1:+:2:-
+7:4:3:+:1:-
+7:5:3:+:2:-
+7:6:1:+:5:-
+7:7:undef:undef:undef:undef
+7:8:7:+:1:-
+7:9:4:+:5:-
+7:10:3:+:7:-
+7:11:8:+:3:-
+7:12:7:+:5:-
+7:13:2:+:11:-
+7:14:undef:undef:undef:undef
+7:15:13:+:2:-
+7:16:7:+:9:-
+7:17:5:+:12:-
+7:18:13:+:5:-
+7:19:11:+:8:-
+7:20:3:+:17:-
+7:21:undef:undef:undef:undef
+7:22:19:+:3:-
+7:23:10:+:13:-
+7:24:7:+:17:-
+7:25:18:+:7:-
+7:26:15:+:11:-
+7:27:4:+:23:-
+7:28:undef:undef:undef:undef
+7:29:25:+:4:-
+7:30:13:+:17:-
+7:31:9:+:22:-
+7:32:23:+:9:-
+7:33:19:+:14:-
+7:34:5:+:29:-
+7:35:undef:undef:undef:undef
+7:36:31:+:5:-
+7:37:16:+:21:-
+7:38:11:+:27:-
+7:39:28:+:11:-
+7:40:23:+:17:-
+7:41:6:+:35:-
+7:42:undef:undef:undef:undef
+7:43:37:+:6:-
+7:44:19:+:25:-
+7:45:13:+:32:-
+7:46:33:+:13:-
+7:47:27:+:20:-
+7:48:7:+:41:-
+7:49:undef:undef:undef:undef
+7:50:43:+:7:-
+#8:0:undef:undef:undef:undef
+8:1:0:+:0:-
+8:2:undef:undef:undef:undef
+8:3:2:+:1:-
+8:4:undef:undef:undef:undef
+8:5:2:+:3:-
+8:6:undef:undef:undef:undef
+8:7:1:+:6:-
+8:8:undef:undef:undef:undef
+8:9:8:+:1:-
+8:10:undef:undef:undef:undef
+8:11:7:+:4:-
+8:12:undef:undef:undef:undef
+8:13:5:+:8:-
+8:14:undef:undef:undef:undef
+8:15:2:+:13:-
+8:16:undef:undef:undef:undef
+8:17:15:+:2:-
+8:18:undef:undef:undef:undef
+8:19:12:+:7:-
+8:20:undef:undef:undef:undef
+8:21:8:+:13:-
+8:22:undef:undef:undef:undef
+8:23:3:+:20:-
+8:24:undef:undef:undef:undef
+8:25:22:+:3:-
+8:26:undef:undef:undef:undef
+8:27:17:+:10:-
+8:28:undef:undef:undef:undef
+8:29:11:+:18:-
+8:30:undef:undef:undef:undef
+8:31:4:+:27:-
+8:32:undef:undef:undef:undef
+8:33:29:+:4:-
+8:34:undef:undef:undef:undef
+8:35:22:+:13:-
+8:36:undef:undef:undef:undef
+8:37:14:+:23:-
+8:38:undef:undef:undef:undef
+8:39:5:+:34:-
+8:40:undef:undef:undef:undef
+8:41:36:+:5:-
+8:42:undef:undef:undef:undef
+8:43:27:+:16:-
+8:44:undef:undef:undef:undef
+8:45:17:+:28:-
+8:46:undef:undef:undef:undef
+8:47:6:+:41:-
+8:48:undef:undef:undef:undef
+8:49:43:+:6:-
+8:50:undef:undef:undef:undef
+#9:0:undef:undef:undef:undef
+9:1:0:+:0:-
+9:2:1:+:1:-
+9:3:undef:undef:undef:undef
+9:4:1:+:3:-
+9:5:4:+:1:-
+9:6:undef:undef:undef:undef
+9:7:4:+:3:-
+9:8:1:+:7:-
+9:9:undef:undef:undef:undef
+9:10:9:+:1:-
+9:11:5:+:6:-
+9:12:undef:undef:undef:undef
+9:13:3:+:10:-
+9:14:11:+:3:-
+9:15:undef:undef:undef:undef
+9:16:9:+:7:-
+9:17:2:+:15:-
+9:18:undef:undef:undef:undef
+9:19:17:+:2:-
+9:20:9:+:11:-
+9:21:undef:undef:undef:undef
+9:22:5:+:17:-
+9:23:18:+:5:-
+9:24:undef:undef:undef:undef
+9:25:14:+:11:-
+9:26:3:+:23:-
+9:27:undef:undef:undef:undef
+9:28:25:+:3:-
+9:29:13:+:16:-
+9:30:undef:undef:undef:undef
+9:31:7:+:24:-
+9:32:25:+:7:-
+9:33:undef:undef:undef:undef
+9:34:19:+:15:-
+9:35:4:+:31:-
+9:36:undef:undef:undef:undef
+9:37:33:+:4:-
+9:38:17:+:21:-
+9:39:undef:undef:undef:undef
+9:40:9:+:31:-
+9:41:32:+:9:-
+9:42:undef:undef:undef:undef
+9:43:24:+:19:-
+9:44:5:+:39:-
+9:45:undef:undef:undef:undef
+9:46:41:+:5:-
+9:47:21:+:26:-
+9:48:undef:undef:undef:undef
+9:49:11:+:38:-
+9:50:39:+:11:-
+#10:0:undef:undef:undef:undef
+10:1:0:+:0:-
+10:2:undef:undef:undef:undef
+10:3:1:+:2:-
+10:4:undef:undef:undef:undef
+10:5:undef:undef:undef:undef
+10:6:undef:undef:undef:undef
+10:7:5:+:2:-
+10:8:undef:undef:undef:undef
+10:9:1:+:8:-
+10:10:undef:undef:undef:undef
+10:11:10:+:1:-
+10:12:undef:undef:undef:undef
+10:13:4:+:9:-
+10:14:undef:undef:undef:undef
+10:15:undef:undef:undef:undef
+10:16:undef:undef:undef:undef
+10:17:12:+:5:-
+10:18:undef:undef:undef:undef
+10:19:2:+:17:-
+10:20:undef:undef:undef:undef
+10:21:19:+:2:-
+10:22:undef:undef:undef:undef
+10:23:7:+:16:-
+10:24:undef:undef:undef:undef
+10:25:undef:undef:undef:undef
+10:26:undef:undef:undef:undef
+10:27:19:+:8:-
+10:28:undef:undef:undef:undef
+10:29:3:+:26:-
+10:30:undef:undef:undef:undef
+10:31:28:+:3:-
+10:32:undef:undef:undef:undef
+10:33:10:+:23:-
+10:34:undef:undef:undef:undef
+10:35:undef:undef:undef:undef
+10:36:undef:undef:undef:undef
+10:37:26:+:11:-
+10:38:undef:undef:undef:undef
+10:39:4:+:35:-
+10:40:undef:undef:undef:undef
+10:41:37:+:4:-
+10:42:undef:undef:undef:undef
+10:43:13:+:30:-
+10:44:undef:undef:undef:undef
+10:45:undef:undef:undef:undef
+10:46:undef:undef:undef:undef
+10:47:33:+:14:-
+10:48:undef:undef:undef:undef
+10:49:5:+:44:-
+10:50:undef:undef:undef:undef
+#11:0:undef:undef:undef:undef
+11:1:0:+:0:-
+11:2:1:+:1:-
+11:3:2:+:1:-
+11:4:3:+:1:-
+11:5:1:+:4:-
+11:6:5:+:1:-
+11:7:2:+:5:-
+11:8:3:+:5:-
+11:9:5:+:4:-
+11:10:1:+:9:-
+11:11:undef:undef:undef:undef
+11:12:11:+:1:-
+11:13:6:+:7:-
+11:14:9:+:5:-
+11:15:11:+:4:-
+11:16:3:+:13:-
+11:17:14:+:3:-
+11:18:5:+:13:-
+11:19:7:+:12:-
+11:20:11:+:9:-
+11:21:2:+:19:-
+11:22:undef:undef:undef:undef
+11:23:21:+:2:-
+11:24:11:+:13:-
+11:25:16:+:9:-
+11:26:19:+:7:-
+11:27:5:+:22:-
+11:28:23:+:5:-
+11:29:8:+:21:-
+11:30:11:+:19:-
+11:31:17:+:14:-
+11:32:3:+:29:-
+11:33:undef:undef:undef:undef
+11:34:31:+:3:-
+11:35:16:+:19:-
+11:36:23:+:13:-
+11:37:27:+:10:-
+11:38:7:+:31:-
+11:39:32:+:7:-
+11:40:11:+:29:-
+11:41:15:+:26:-
+11:42:23:+:19:-
+11:43:4:+:39:-
+11:44:undef:undef:undef:undef
+11:45:41:+:4:-
+11:46:21:+:25:-
+11:47:30:+:17:-
+11:48:35:+:13:-
+11:49:9:+:40:-
+11:50:41:+:9:-
+#12:0:undef:undef:undef:undef
+12:1:0:+:0:-
+12:2:undef:undef:undef:undef
+12:3:undef:undef:undef:undef
+12:4:undef:undef:undef:undef
+12:5:3:+:2:-
+12:6:undef:undef:undef:undef
+12:7:3:+:4:-
+12:8:undef:undef:undef:undef
+12:9:undef:undef:undef:undef
+12:10:undef:undef:undef:undef
+12:11:1:+:10:-
+12:12:undef:undef:undef:undef
+12:13:12:+:1:-
+12:14:undef:undef:undef:undef
+12:15:undef:undef:undef:undef
+12:16:undef:undef:undef:undef
+12:17:10:+:7:-
+12:18:undef:undef:undef:undef
+12:19:8:+:11:-
+12:20:undef:undef:undef:undef
+12:21:undef:undef:undef:undef
+12:22:undef:undef:undef:undef
+12:23:2:+:21:-
+12:24:undef:undef:undef:undef
+12:25:23:+:2:-
+12:26:undef:undef:undef:undef
+12:27:undef:undef:undef:undef
+12:28:undef:undef:undef:undef
+12:29:17:+:12:-
+12:30:undef:undef:undef:undef
+12:31:13:+:18:-
+12:32:undef:undef:undef:undef
+12:33:undef:undef:undef:undef
+12:34:undef:undef:undef:undef
+12:35:3:+:32:-
+12:36:undef:undef:undef:undef
+12:37:34:+:3:-
+12:38:undef:undef:undef:undef
+12:39:undef:undef:undef:undef
+12:40:undef:undef:undef:undef
+12:41:24:+:17:-
+12:42:undef:undef:undef:undef
+12:43:18:+:25:-
+12:44:undef:undef:undef:undef
+12:45:undef:undef:undef:undef
+12:46:undef:undef:undef:undef
+12:47:4:+:43:-
+12:48:undef:undef:undef:undef
+12:49:45:+:4:-
+12:50:undef:undef:undef:undef
+#13:0:undef:undef:undef:undef
+13:1:0:+:0:-
+13:2:1:+:1:-
+13:3:1:+:2:-
+13:4:1:+:3:-
+13:5:2:+:3:-
+13:6:1:+:5:-
+13:7:6:+:1:-
+13:8:5:+:3:-
+13:9:7:+:2:-
+13:10:7:+:3:-
+13:11:6:+:5:-
+13:12:1:+:11:-
+13:13:undef:undef:undef:undef
+13:14:13:+:1:-
+13:15:7:+:8:-
+13:16:5:+:11:-
+13:17:4:+:13:-
+13:18:7:+:11:-
+13:19:3:+:16:-
+13:20:17:+:3:-
+13:21:13:+:8:-
+13:22:17:+:5:-
+13:23:16:+:7:-
+13:24:13:+:11:-
+13:25:2:+:23:-
+13:26:undef:undef:undef:undef
+13:27:25:+:2:-
+13:28:13:+:15:-
+13:29:9:+:20:-
+13:30:7:+:23:-
+13:31:12:+:19:-
+13:32:5:+:27:-
+13:33:28:+:5:-
+13:34:21:+:13:-
+13:35:27:+:8:-
+13:36:25:+:11:-
+13:37:20:+:17:-
+13:38:3:+:35:-
+13:39:undef:undef:undef:undef
+13:40:37:+:3:-
+13:41:19:+:22:-
+13:42:13:+:29:-
+13:43:10:+:33:-
+13:44:17:+:27:-
+13:45:7:+:38:-
+13:46:39:+:7:-
+13:47:29:+:18:-
+13:48:37:+:11:-
+13:49:34:+:15:-
+13:50:27:+:23:-
+#14:0:undef:undef:undef:undef
+14:1:0:+:0:-
+14:2:undef:undef:undef:undef
+14:3:2:+:1:-
+14:4:undef:undef:undef:undef
+14:5:4:+:1:-
+14:6:undef:undef:undef:undef
+14:7:undef:undef:undef:undef
+14:8:undef:undef:undef:undef
+14:9:2:+:7:-
+14:10:undef:undef:undef:undef
+14:11:4:+:7:-
+14:12:undef:undef:undef:undef
+14:13:1:+:12:-
+14:14:undef:undef:undef:undef
+14:15:14:+:1:-
+14:16:undef:undef:undef:undef
+14:17:11:+:6:-
+14:18:undef:undef:undef:undef
+14:19:15:+:4:-
+14:20:undef:undef:undef:undef
+14:21:undef:undef:undef:undef
+14:22:undef:undef:undef:undef
+14:23:5:+:18:-
+14:24:undef:undef:undef:undef
+14:25:9:+:16:-
+14:26:undef:undef:undef:undef
+14:27:2:+:25:-
+14:28:undef:undef:undef:undef
+14:29:27:+:2:-
+14:30:undef:undef:undef:undef
+14:31:20:+:11:-
+14:32:undef:undef:undef:undef
+14:33:26:+:7:-
+14:34:undef:undef:undef:undef
+14:35:undef:undef:undef:undef
+14:36:undef:undef:undef:undef
+14:37:8:+:29:-
+14:38:undef:undef:undef:undef
+14:39:14:+:25:-
+14:40:undef:undef:undef:undef
+14:41:3:+:38:-
+14:42:undef:undef:undef:undef
+14:43:40:+:3:-
+14:44:undef:undef:undef:undef
+14:45:29:+:16:-
+14:46:undef:undef:undef:undef
+14:47:37:+:10:-
+14:48:undef:undef:undef:undef
+14:49:undef:undef:undef:undef
+14:50:undef:undef:undef:undef
+#15:0:undef:undef:undef:undef
+15:1:0:+:0:-
+15:2:1:+:1:-
+15:3:undef:undef:undef:undef
+15:4:3:+:1:-
+15:5:undef:undef:undef:undef
+15:6:undef:undef:undef:undef
+15:7:1:+:6:-
+15:8:7:+:1:-
+15:9:undef:undef:undef:undef
+15:10:undef:undef:undef:undef
+15:11:3:+:8:-
+15:12:undef:undef:undef:undef
+15:13:7:+:6:-
+15:14:1:+:13:-
+15:15:undef:undef:undef:undef
+15:16:15:+:1:-
+15:17:8:+:9:-
+15:18:undef:undef:undef:undef
+15:19:14:+:5:-
+15:20:undef:undef:undef:undef
+15:21:undef:undef:undef:undef
+15:22:3:+:19:-
+15:23:20:+:3:-
+15:24:undef:undef:undef:undef
+15:25:undef:undef:undef:undef
+15:26:7:+:19:-
+15:27:undef:undef:undef:undef
+15:28:15:+:13:-
+15:29:2:+:27:-
+15:30:undef:undef:undef:undef
+15:31:29:+:2:-
+15:32:15:+:17:-
+15:33:undef:undef:undef:undef
+15:34:25:+:9:-
+15:35:undef:undef:undef:undef
+15:36:undef:undef:undef:undef
+15:37:5:+:32:-
+15:38:33:+:5:-
+15:39:undef:undef:undef:undef
+15:40:undef:undef:undef:undef
+15:41:11:+:30:-
+15:42:undef:undef:undef:undef
+15:43:23:+:20:-
+15:44:3:+:41:-
+15:45:undef:undef:undef:undef
+15:46:43:+:3:-
+15:47:22:+:25:-
+15:48:undef:undef:undef:undef
+15:49:36:+:13:-
+15:50:undef:undef:undef:undef
+#16:0:undef:undef:undef:undef
+16:1:0:+:0:-
+16:2:undef:undef:undef:undef
+16:3:1:+:2:-
+16:4:undef:undef:undef:undef
+16:5:1:+:4:-
+16:6:undef:undef:undef:undef
+16:7:4:+:3:-
+16:8:undef:undef:undef:undef
+16:9:4:+:5:-
+16:10:undef:undef:undef:undef
+16:11:9:+:2:-
+16:12:undef:undef:undef:undef
+16:13:9:+:4:-
+16:14:undef:undef:undef:undef
+16:15:1:+:14:-
+16:16:undef:undef:undef:undef
+16:17:16:+:1:-
+16:18:undef:undef:undef:undef
+16:19:6:+:13:-
+16:20:undef:undef:undef:undef
+16:21:4:+:17:-
+16:22:undef:undef:undef:undef
+16:23:13:+:10:-
+16:24:undef:undef:undef:undef
+16:25:11:+:14:-
+16:26:undef:undef:undef:undef
+16:27:22:+:5:-
+16:28:undef:undef:undef:undef
+16:29:20:+:9:-
+16:30:undef:undef:undef:undef
+16:31:2:+:29:-
+16:32:undef:undef:undef:undef
+16:33:31:+:2:-
+16:34:undef:undef:undef:undef
+16:35:11:+:24:-
+16:36:undef:undef:undef:undef
+16:37:7:+:30:-
+16:38:undef:undef:undef:undef
+16:39:22:+:17:-
+16:40:undef:undef:undef:undef
+16:41:18:+:23:-
+16:42:undef:undef:undef:undef
+16:43:35:+:8:-
+16:44:undef:undef:undef:undef
+16:45:31:+:14:-
+16:46:undef:undef:undef:undef
+16:47:3:+:44:-
+16:48:undef:undef:undef:undef
+16:49:46:+:3:-
+16:50:undef:undef:undef:undef
+#17:0:undef:undef:undef:undef
+17:1:0:+:0:-
+17:2:1:+:1:-
+17:3:2:+:1:-
+17:4:1:+:3:-
+17:5:3:+:2:-
+17:6:5:+:1:-
+17:7:5:+:2:-
+17:8:1:+:7:-
+17:9:8:+:1:-
+17:10:3:+:7:-
+17:11:2:+:9:-
+17:12:5:+:7:-
+17:13:10:+:3:-
+17:14:5:+:9:-
+17:15:8:+:7:-
+17:16:1:+:15:-
+17:17:undef:undef:undef:undef
+17:18:17:+:1:-
+17:19:9:+:10:-
+17:20:13:+:7:-
+17:21:5:+:16:-
+17:22:13:+:9:-
+17:23:19:+:4:-
+17:24:17:+:7:-
+17:25:3:+:22:-
+17:26:23:+:3:-
+17:27:8:+:19:-
+17:28:5:+:23:-
+17:29:12:+:17:-
+17:30:23:+:7:-
+17:31:11:+:20:-
+17:32:17:+:15:-
+17:33:2:+:31:-
+17:34:undef:undef:undef:undef
+17:35:33:+:2:-
+17:36:17:+:19:-
+17:37:24:+:13:-
+17:38:9:+:29:-
+17:39:23:+:16:-
+17:40:33:+:7:-
+17:41:29:+:12:-
+17:42:5:+:37:-
+17:43:38:+:5:-
+17:44:13:+:31:-
+17:45:8:+:37:-
+17:46:19:+:27:-
+17:47:36:+:11:-
+17:48:17:+:31:-
+17:49:26:+:23:-
+17:50:3:+:47:-
+#18:0:undef:undef:undef:undef
+18:1:0:+:0:-
+18:2:undef:undef:undef:undef
+18:3:undef:undef:undef:undef
+18:4:undef:undef:undef:undef
+18:5:2:+:3:-
+18:6:undef:undef:undef:undef
+18:7:2:+:5:-
+18:8:undef:undef:undef:undef
+18:9:undef:undef:undef:undef
+18:10:undef:undef:undef:undef
+18:11:8:+:3:-
+18:12:undef:undef:undef:undef
+18:13:8:+:5:-
+18:14:undef:undef:undef:undef
+18:15:undef:undef:undef:undef
+18:16:undef:undef:undef:undef
+18:17:1:+:16:-
+18:18:undef:undef:undef:undef
+18:19:18:+:1:-
+18:20:undef:undef:undef:undef
+18:21:undef:undef:undef:undef
+18:22:undef:undef:undef:undef
+18:23:9:+:14:-
+18:24:undef:undef:undef:undef
+18:25:7:+:18:-
+18:26:undef:undef:undef:undef
+18:27:undef:undef:undef:undef
+18:28:undef:undef:undef:undef
+18:29:21:+:8:-
+18:30:undef:undef:undef:undef
+18:31:19:+:12:-
+18:32:undef:undef:undef:undef
+18:33:undef:undef:undef:undef
+18:34:undef:undef:undef:undef
+18:35:2:+:33:-
+18:36:undef:undef:undef:undef
+18:37:35:+:2:-
+18:38:undef:undef:undef:undef
+18:39:undef:undef:undef:undef
+18:40:undef:undef:undef:undef
+18:41:16:+:25:-
+18:42:undef:undef:undef:undef
+18:43:12:+:31:-
+18:44:undef:undef:undef:undef
+18:45:undef:undef:undef:undef
+18:46:undef:undef:undef:undef
+18:47:34:+:13:-
+18:48:undef:undef:undef:undef
+18:49:30:+:19:-
+18:50:undef:undef:undef:undef
+#19:0:undef:undef:undef:undef
+19:1:0:+:0:-
+19:2:1:+:1:-
+19:3:1:+:2:-
+19:4:3:+:1:-
+19:5:4:+:1:-
+19:6:1:+:5:-
+19:7:3:+:4:-
+19:8:3:+:5:-
+19:9:1:+:8:-
+19:10:9:+:1:-
+19:11:7:+:4:-
+19:12:7:+:5:-
+19:13:11:+:2:-
+19:14:3:+:11:-
+19:15:4:+:11:-
+19:16:11:+:5:-
+19:17:9:+:8:-
+19:18:1:+:17:-
+19:19:undef:undef:undef:undef
+19:20:19:+:1:-
+19:21:10:+:11:-
+19:22:7:+:15:-
+19:23:17:+:6:-
+19:24:19:+:5:-
+19:25:4:+:21:-
+19:26:11:+:15:-
+19:27:10:+:17:-
+19:28:3:+:25:-
+19:29:26:+:3:-
+19:30:19:+:11:-
+19:31:18:+:13:-
+19:32:27:+:5:-
+19:33:7:+:26:-
+19:34:9:+:25:-
+19:35:24:+:11:-
+19:36:19:+:17:-
+19:37:2:+:35:-
+19:38:undef:undef:undef:undef
+19:39:37:+:2:-
+19:40:19:+:21:-
+19:41:13:+:28:-
+19:42:31:+:11:-
+19:43:34:+:9:-
+19:44:7:+:37:-
+19:45:19:+:26:-
+19:46:17:+:29:-
+19:47:5:+:42:-
+19:48:43:+:5:-
+19:49:31:+:18:-
+19:50:29:+:21:-
+#20:0:undef:undef:undef:undef
+20:1:0:+:0:-
+20:2:undef:undef:undef:undef
+20:3:2:+:1:-
+20:4:undef:undef:undef:undef
+20:5:undef:undef:undef:undef
+20:6:undef:undef:undef:undef
+20:7:6:+:1:-
+20:8:undef:undef:undef:undef
+20:9:5:+:4:-
+20:10:undef:undef:undef:undef
+20:11:5:+:6:-
+20:12:undef:undef:undef:undef
+20:13:2:+:11:-
+20:14:undef:undef:undef:undef
+20:15:undef:undef:undef:undef
+20:16:undef:undef:undef:undef
+20:17:6:+:11:-
+20:18:undef:undef:undef:undef
+20:19:1:+:18:-
+20:20:undef:undef:undef:undef
+20:21:20:+:1:-
+20:22:undef:undef:undef:undef
+20:23:15:+:8:-
+20:24:undef:undef:undef:undef
+20:25:undef:undef:undef:undef
+20:26:undef:undef:undef:undef
+20:27:23:+:4:-
+20:28:undef:undef:undef:undef
+20:29:16:+:13:-
+20:30:undef:undef:undef:undef
+20:31:14:+:17:-
+20:32:undef:undef:undef:undef
+20:33:5:+:28:-
+20:34:undef:undef:undef:undef
+20:35:undef:undef:undef:undef
+20:36:undef:undef:undef:undef
+20:37:13:+:24:-
+20:38:undef:undef:undef:undef
+20:39:2:+:37:-
+20:40:undef:undef:undef:undef
+20:41:39:+:2:-
+20:42:undef:undef:undef:undef
+20:43:28:+:15:-
+20:44:undef:undef:undef:undef
+20:45:undef:undef:undef:undef
+20:46:undef:undef:undef:undef
+20:47:40:+:7:-
+20:48:undef:undef:undef:undef
+20:49:27:+:22:-
+20:50:undef:undef:undef:undef
+#21:0:undef:undef:undef:undef
+21:1:0:+:0:-
+21:2:1:+:1:-
+21:3:undef:undef:undef:undef
+21:4:1:+:3:-
+21:5:1:+:4:-
+21:6:undef:undef:undef:undef
+21:7:undef:undef:undef:undef
+21:8:5:+:3:-
+21:9:undef:undef:undef:undef
+21:10:1:+:9:-
+21:11:10:+:1:-
+21:12:undef:undef:undef:undef
+21:13:5:+:8:-
+21:14:undef:undef:undef:undef
+21:15:undef:undef:undef:undef
+21:16:13:+:3:-
+21:17:13:+:4:-
+21:18:undef:undef:undef:undef
+21:19:10:+:9:-
+21:20:1:+:19:-
+21:21:undef:undef:undef:undef
+21:22:21:+:1:-
+21:23:11:+:12:-
+21:24:undef:undef:undef:undef
+21:25:6:+:19:-
+21:26:5:+:21:-
+21:27:undef:undef:undef:undef
+21:28:undef:undef:undef:undef
+21:29:18:+:11:-
+21:30:undef:undef:undef:undef
+21:31:3:+:28:-
+21:32:29:+:3:-
+21:33:undef:undef:undef:undef
+21:34:13:+:21:-
+21:35:undef:undef:undef:undef
+21:36:undef:undef:undef:undef
+21:37:30:+:7:-
+21:38:29:+:9:-
+21:39:undef:undef:undef:undef
+21:40:21:+:19:-
+21:41:2:+:39:-
+21:42:undef:undef:undef:undef
+21:43:41:+:2:-
+21:44:21:+:23:-
+21:45:undef:undef:undef:undef
+21:46:11:+:35:-
+21:47:9:+:38:-
+21:48:undef:undef:undef:undef
+21:49:undef:undef:undef:undef
+21:50:31:+:19:-
+#22:0:undef:undef:undef:undef
+22:1:0:+:0:-
+22:2:undef:undef:undef:undef
+22:3:1:+:2:-
+22:4:undef:undef:undef:undef
+22:5:3:+:2:-
+22:6:undef:undef:undef:undef
+22:7:1:+:6:-
+22:8:undef:undef:undef:undef
+22:9:7:+:2:-
+22:10:undef:undef:undef:undef
+22:11:undef:undef:undef:undef
+22:12:undef:undef:undef:undef
+22:13:3:+:10:-
+22:14:undef:undef:undef:undef
+22:15:13:+:2:-
+22:16:undef:undef:undef:undef
+22:17:7:+:10:-
+22:18:undef:undef:undef:undef
+22:19:13:+:6:-
+22:20:undef:undef:undef:undef
+22:21:1:+:20:-
+22:22:undef:undef:undef:undef
+22:23:22:+:1:-
+22:24:undef:undef:undef:undef
+22:25:8:+:17:-
+22:26:undef:undef:undef:undef
+22:27:16:+:11:-
+22:28:undef:undef:undef:undef
+22:29:4:+:25:-
+22:30:undef:undef:undef:undef
+22:31:24:+:7:-
+22:32:undef:undef:undef:undef
+22:33:undef:undef:undef:undef
+22:34:undef:undef:undef:undef
+22:35:8:+:27:-
+22:36:undef:undef:undef:undef
+22:37:32:+:5:-
+22:38:undef:undef:undef:undef
+22:39:16:+:23:-
+22:40:undef:undef:undef:undef
+22:41:28:+:13:-
+22:42:undef:undef:undef:undef
+22:43:2:+:41:-
+22:44:undef:undef:undef:undef
+22:45:43:+:2:-
+22:46:undef:undef:undef:undef
+22:47:15:+:32:-
+22:48:undef:undef:undef:undef
+22:49:29:+:20:-
+22:50:undef:undef:undef:undef
+#23:0:undef:undef:undef:undef
+23:1:0:+:0:-
+23:2:1:+:1:-
+23:3:2:+:1:-
+23:4:3:+:1:-
+23:5:2:+:3:-
+23:6:5:+:1:-
+23:7:4:+:3:-
+23:8:7:+:1:-
+23:9:2:+:7:-
+23:10:7:+:3:-
+23:11:1:+:10:-
+23:12:11:+:1:-
+23:13:4:+:9:-
+23:14:11:+:3:-
+23:15:2:+:13:-
+23:16:7:+:9:-
+23:17:3:+:14:-
+23:18:11:+:7:-
+23:19:5:+:14:-
+23:20:7:+:13:-
+23:21:11:+:10:-
+23:22:1:+:21:-
+23:23:undef:undef:undef:undef
+23:24:23:+:1:-
+23:25:12:+:13:-
+23:26:17:+:9:-
+23:27:20:+:7:-
+23:28:11:+:17:-
+23:29:24:+:5:-
+23:30:17:+:13:-
+23:31:27:+:4:-
+23:32:7:+:25:-
+23:33:23:+:10:-
+23:34:3:+:31:-
+23:35:32:+:3:-
+23:36:11:+:25:-
+23:37:29:+:8:-
+23:38:5:+:33:-
+23:39:17:+:22:-
+23:40:7:+:33:-
+23:41:25:+:16:-
+23:42:11:+:31:-
+23:43:15:+:28:-
+23:44:23:+:21:-
+23:45:2:+:43:-
+23:46:undef:undef:undef:undef
+23:47:45:+:2:-
+23:48:23:+:25:-
+23:49:32:+:17:-
+23:50:37:+:13:-
+#24:0:undef:undef:undef:undef
+24:1:0:+:0:-
+24:2:undef:undef:undef:undef
+24:3:undef:undef:undef:undef
+24:4:undef:undef:undef:undef
+24:5:4:+:1:-
+24:6:undef:undef:undef:undef
+24:7:5:+:2:-
+24:8:undef:undef:undef:undef
+24:9:undef:undef:undef:undef
+24:10:undef:undef:undef:undef
+24:11:6:+:5:-
+24:12:undef:undef:undef:undef
+24:13:6:+:7:-
+24:14:undef:undef:undef:undef
+24:15:undef:undef:undef:undef
+24:16:undef:undef:undef:undef
+24:17:5:+:12:-
+24:18:undef:undef:undef:undef
+24:19:4:+:15:-
+24:20:undef:undef:undef:undef
+24:21:undef:undef:undef:undef
+24:22:undef:undef:undef:undef
+24:23:1:+:22:-
+24:24:undef:undef:undef:undef
+24:25:24:+:1:-
+24:26:undef:undef:undef:undef
+24:27:undef:undef:undef:undef
+24:28:undef:undef:undef:undef
+24:29:23:+:6:-
+24:30:undef:undef:undef:undef
+24:31:22:+:9:-
+24:32:undef:undef:undef:undef
+24:33:undef:undef:undef:undef
+24:34:undef:undef:undef:undef
+24:35:19:+:16:-
+24:36:undef:undef:undef:undef
+24:37:17:+:20:-
+24:38:undef:undef:undef:undef
+24:39:undef:undef:undef:undef
+24:40:undef:undef:undef:undef
+24:41:12:+:29:-
+24:42:undef:undef:undef:undef
+24:43:9:+:34:-
+24:44:undef:undef:undef:undef
+24:45:undef:undef:undef:undef
+24:46:undef:undef:undef:undef
+24:47:2:+:45:-
+24:48:undef:undef:undef:undef
+24:49:47:+:2:-
+24:50:undef:undef:undef:undef
+#25:0:undef:undef:undef:undef
+25:1:0:+:0:-
+25:2:1:+:1:-
+25:3:1:+:2:-
+25:4:1:+:3:-
+25:5:undef:undef:undef:undef
+25:6:1:+:5:-
+25:7:2:+:5:-
+25:8:1:+:7:-
+25:9:4:+:5:-
+25:10:undef:undef:undef:undef
+25:11:4:+:7:-
+25:12:1:+:11:-
+25:13:12:+:1:-
+25:14:9:+:5:-
+25:15:undef:undef:undef:undef
+25:16:9:+:7:-
+25:17:15:+:2:-
+25:18:13:+:5:-
+25:19:16:+:3:-
+25:20:undef:undef:undef:undef
+25:21:16:+:5:-
+25:22:15:+:7:-
+25:23:12:+:11:-
+25:24:1:+:23:-
+25:25:undef:undef:undef:undef
+25:26:25:+:1:-
+25:27:13:+:14:-
+25:28:9:+:19:-
+25:29:7:+:22:-
+25:30:undef:undef:undef:undef
+25:31:5:+:26:-
+25:32:9:+:23:-
+25:33:4:+:29:-
+25:34:15:+:19:-
+25:35:undef:undef:undef:undef
+25:36:13:+:23:-
+25:37:3:+:34:-
+25:38:35:+:3:-
+25:39:25:+:14:-
+25:40:undef:undef:undef:undef
+25:41:23:+:18:-
+25:42:37:+:5:-
+25:43:31:+:12:-
+25:44:37:+:7:-
+25:45:undef:undef:undef:undef
+25:46:35:+:11:-
+25:47:32:+:15:-
+25:48:25:+:23:-
+25:49:2:+:47:-
+25:50:undef:undef:undef:undef
+#26:0:undef:undef:undef:undef
+26:1:0:+:0:-
+26:2:undef:undef:undef:undef
+26:3:2:+:1:-
+26:4:undef:undef:undef:undef
+26:5:1:+:4:-
+26:6:undef:undef:undef:undef
+26:7:3:+:4:-
+26:8:undef:undef:undef:undef
+26:9:8:+:1:-
+26:10:undef:undef:undef:undef
+26:11:3:+:8:-
+26:12:undef:undef:undef:undef
+26:13:undef:undef:undef:undef
+26:14:undef:undef:undef:undef
+26:15:11:+:4:-
+26:16:undef:undef:undef:undef
+26:17:2:+:15:-
+26:18:undef:undef:undef:undef
+26:19:11:+:8:-
+26:20:undef:undef:undef:undef
+26:21:17:+:4:-
+26:22:undef:undef:undef:undef
+26:23:8:+:15:-
+26:24:undef:undef:undef:undef
+26:25:1:+:24:-
+26:26:undef:undef:undef:undef
+26:27:26:+:1:-
+26:28:undef:undef:undef:undef
+26:29:19:+:10:-
+26:30:undef:undef:undef:undef
+26:31:6:+:25:-
+26:32:undef:undef:undef:undef
+26:33:14:+:19:-
+26:34:undef:undef:undef:undef
+26:35:31:+:4:-
+26:36:undef:undef:undef:undef
+26:37:10:+:27:-
+26:38:undef:undef:undef:undef
+26:39:undef:undef:undef:undef
+26:40:undef:undef:undef:undef
+26:41:30:+:11:-
+26:42:undef:undef:undef:undef
+26:43:5:+:38:-
+26:44:undef:undef:undef:undef
+26:45:26:+:19:-
+26:46:undef:undef:undef:undef
+26:47:38:+:9:-
+26:48:undef:undef:undef:undef
+26:49:17:+:32:-
+26:50:undef:undef:undef:undef
+#27:0:undef:undef:undef:undef
+27:1:0:+:0:-
+27:2:1:+:1:-
+27:3:undef:undef:undef:undef
+27:4:3:+:1:-
+27:5:3:+:2:-
+27:6:undef:undef:undef:undef
+27:7:6:+:1:-
+27:8:3:+:5:-
+27:9:undef:undef:undef:undef
+27:10:3:+:7:-
+27:11:9:+:2:-
+27:12:undef:undef:undef:undef
+27:13:1:+:12:-
+27:14:13:+:1:-
+27:15:undef:undef:undef:undef
+27:16:3:+:13:-
+27:17:12:+:5:-
+27:18:undef:undef:undef:undef
+27:19:12:+:7:-
+27:20:3:+:17:-
+27:21:undef:undef:undef:undef
+27:22:9:+:13:-
+27:23:6:+:17:-
+27:24:undef:undef:undef:undef
+27:25:13:+:12:-
+27:26:1:+:25:-
+27:27:undef:undef:undef:undef
+27:28:27:+:1:-
+27:29:14:+:15:-
+27:30:undef:undef:undef:undef
+27:31:23:+:8:-
+27:32:19:+:13:-
+27:33:undef:undef:undef:undef
+27:34:29:+:5:-
+27:35:13:+:22:-
+27:36:undef:undef:undef:undef
+27:37:11:+:26:-
+27:38:31:+:7:-
+27:39:undef:undef:undef:undef
+27:40:3:+:37:-
+27:41:38:+:3:-
+27:42:undef:undef:undef:undef
+27:43:8:+:35:-
+27:44:31:+:13:-
+27:45:undef:undef:undef:undef
+27:46:29:+:17:-
+27:47:7:+:40:-
+27:48:undef:undef:undef:undef
+27:49:20:+:29:-
+27:50:13:+:37:-
+#28:0:undef:undef:undef:undef
+28:1:0:+:0:-
+28:2:undef:undef:undef:undef
+28:3:1:+:2:-
+28:4:undef:undef:undef:undef
+28:5:2:+:3:-
+28:6:undef:undef:undef:undef
+28:7:undef:undef:undef:undef
+28:8:undef:undef:undef:undef
+28:9:1:+:8:-
+28:10:undef:undef:undef:undef
+28:11:2:+:9:-
+28:12:undef:undef:undef:undef
+28:13:7:+:6:-
+28:14:undef:undef:undef:undef
+28:15:7:+:8:-
+28:16:undef:undef:undef:undef
+28:17:14:+:3:-
+28:18:undef:undef:undef:undef
+28:19:17:+:2:-
+28:20:undef:undef:undef:undef
+28:21:undef:undef:undef:undef
+28:22:undef:undef:undef:undef
+28:23:14:+:9:-
+28:24:undef:undef:undef:undef
+28:25:17:+:8:-
+28:26:undef:undef:undef:undef
+28:27:1:+:26:-
+28:28:undef:undef:undef:undef
+28:29:28:+:1:-
+28:30:undef:undef:undef:undef
+28:31:10:+:21:-
+28:32:undef:undef:undef:undef
+28:33:13:+:20:-
+28:34:undef:undef:undef:undef
+28:35:undef:undef:undef:undef
+28:36:undef:undef:undef:undef
+28:37:4:+:33:-
+28:38:undef:undef:undef:undef
+28:39:7:+:32:-
+28:40:undef:undef:undef:undef
+28:41:22:+:19:-
+28:42:undef:undef:undef:undef
+28:43:20:+:23:-
+28:44:undef:undef:undef:undef
+28:45:37:+:8:-
+28:46:undef:undef:undef:undef
+28:47:42:+:5:-
+28:48:undef:undef:undef:undef
+28:49:undef:undef:undef:undef
+28:50:undef:undef:undef:undef
+#29:0:undef:undef:undef:undef
+29:1:0:+:0:-
+29:2:1:+:1:-
+29:3:2:+:1:-
+29:4:1:+:3:-
+29:5:4:+:1:-
+29:6:5:+:1:-
+29:7:1:+:6:-
+29:8:5:+:3:-
+29:9:5:+:4:-
+29:10:9:+:1:-
+29:11:8:+:3:-
+29:12:5:+:7:-
+29:13:9:+:4:-
+29:14:1:+:13:-
+29:15:14:+:1:-
+29:16:5:+:11:-
+29:17:10:+:7:-
+29:18:5:+:13:-
+29:19:2:+:17:-
+29:20:9:+:11:-
+29:21:8:+:13:-
+29:22:19:+:3:-
+29:23:4:+:19:-
+29:24:5:+:19:-
+29:25:19:+:6:-
+29:26:9:+:17:-
+29:27:14:+:13:-
+29:28:1:+:27:-
+29:29:undef:undef:undef:undef
+29:30:29:+:1:-
+29:31:15:+:16:-
+29:32:21:+:11:-
+29:33:8:+:25:-
+29:34:27:+:7:-
+29:35:29:+:6:-
+29:36:5:+:31:-
+29:37:23:+:14:-
+29:38:21:+:17:-
+29:39:35:+:4:-
+29:40:29:+:11:-
+29:41:17:+:24:-
+29:42:29:+:13:-
+29:43:3:+:40:-
+29:44:41:+:3:-
+29:45:14:+:31:-
+29:46:27:+:19:-
+29:47:13:+:34:-
+29:48:5:+:43:-
+29:49:22:+:27:-
+29:50:19:+:31:-
+#30:0:undef:undef:undef:undef
+30:1:0:+:0:-
+30:2:undef:undef:undef:undef
+30:3:undef:undef:undef:undef
+30:4:undef:undef:undef:undef
+30:5:undef:undef:undef:undef
+30:6:undef:undef:undef:undef
+30:7:4:+:3:-
+30:8:undef:undef:undef:undef
+30:9:undef:undef:undef:undef
+30:10:undef:undef:undef:undef
+30:11:7:+:4:-
+30:12:undef:undef:undef:undef
+30:13:10:+:3:-
+30:14:undef:undef:undef:undef
+30:15:undef:undef:undef:undef
+30:16:undef:undef:undef:undef
+30:17:4:+:13:-
+30:18:undef:undef:undef:undef
+30:19:7:+:12:-
+30:20:undef:undef:undef:undef
+30:21:undef:undef:undef:undef
+30:22:undef:undef:undef:undef
+30:23:10:+:13:-
+30:24:undef:undef:undef:undef
+30:25:undef:undef:undef:undef
+30:26:undef:undef:undef:undef
+30:27:undef:undef:undef:undef
+30:28:undef:undef:undef:undef
+30:29:1:+:28:-
+30:30:undef:undef:undef:undef
+30:31:30:+:1:-
+30:32:undef:undef:undef:undef
+30:33:undef:undef:undef:undef
+30:34:undef:undef:undef:undef
+30:35:undef:undef:undef:undef
+30:36:undef:undef:undef:undef
+30:37:21:+:16:-
+30:38:undef:undef:undef:undef
+30:39:undef:undef:undef:undef
+30:40:undef:undef:undef:undef
+30:41:26:+:15:-
+30:42:undef:undef:undef:undef
+30:43:33:+:10:-
+30:44:undef:undef:undef:undef
+30:45:undef:undef:undef:undef
+30:46:undef:undef:undef:undef
+30:47:11:+:36:-
+30:48:undef:undef:undef:undef
+30:49:18:+:31:-
+30:50:undef:undef:undef:undef
+#31:0:undef:undef:undef:undef
+31:1:0:+:0:-
+31:2:1:+:1:-
+31:3:1:+:2:-
+31:4:3:+:1:-
+31:5:1:+:4:-
+31:6:1:+:5:-
+31:7:5:+:2:-
+31:8:7:+:1:-
+31:9:7:+:2:-
+31:10:1:+:9:-
+31:11:5:+:6:-
+31:12:7:+:5:-
+31:13:8:+:5:-
+31:14:5:+:9:-
+31:15:1:+:14:-
+31:16:15:+:1:-
+31:17:11:+:6:-
+31:18:7:+:11:-
+31:19:8:+:11:-
+31:20:11:+:9:-
+31:21:19:+:2:-
+31:22:5:+:17:-
+31:23:3:+:20:-
+31:24:7:+:17:-
+31:25:21:+:4:-
+31:26:21:+:5:-
+31:27:7:+:20:-
+31:28:19:+:9:-
+31:29:15:+:14:-
+31:30:1:+:29:-
+31:31:undef:undef:undef:undef
+31:32:31:+:1:-
+31:33:16:+:17:-
+31:34:11:+:23:-
+31:35:26:+:9:-
+31:36:7:+:29:-
+31:37:6:+:31:-
+31:38:27:+:11:-
+31:39:34:+:5:-
+31:40:31:+:9:-
+31:41:4:+:37:-
+31:42:19:+:23:-
+31:43:25:+:18:-
+31:44:27:+:17:-
+31:45:16:+:29:-
+31:46:3:+:43:-
+31:47:44:+:3:-
+31:48:31:+:17:-
+31:49:19:+:30:-
+31:50:21:+:29:-
+#32:0:undef:undef:undef:undef
+32:1:0:+:0:-
+32:2:undef:undef:undef:undef
+32:3:2:+:1:-
+32:4:undef:undef:undef:undef
+32:5:3:+:2:-
+32:6:undef:undef:undef:undef
+32:7:2:+:5:-
+32:8:undef:undef:undef:undef
+32:9:2:+:7:-
+32:10:undef:undef:undef:undef
+32:11:10:+:1:-
+32:12:undef:undef:undef:undef
+32:13:11:+:2:-
+32:14:undef:undef:undef:undef
+32:15:8:+:7:-
+32:16:undef:undef:undef:undef
+32:17:8:+:9:-
+32:18:undef:undef:undef:undef
+32:19:3:+:16:-
+32:20:undef:undef:undef:undef
+32:21:2:+:19:-
+32:22:undef:undef:undef:undef
+32:23:18:+:5:-
+32:24:undef:undef:undef:undef
+32:25:18:+:7:-
+32:26:undef:undef:undef:undef
+32:27:11:+:16:-
+32:28:undef:undef:undef:undef
+32:29:10:+:19:-
+32:30:undef:undef:undef:undef
+32:31:1:+:30:-
+32:32:undef:undef:undef:undef
+32:33:32:+:1:-
+32:34:undef:undef:undef:undef
+32:35:23:+:12:-
+32:36:undef:undef:undef:undef
+32:37:22:+:15:-
+32:38:undef:undef:undef:undef
+32:39:11:+:28:-
+32:40:undef:undef:undef:undef
+32:41:9:+:32:-
+32:42:undef:undef:undef:undef
+32:43:39:+:4:-
+32:44:undef:undef:undef:undef
+32:45:38:+:7:-
+32:46:undef:undef:undef:undef
+32:47:25:+:22:-
+32:48:undef:undef:undef:undef
+32:49:23:+:26:-
+32:50:undef:undef:undef:undef
+#33:0:undef:undef:undef:undef
+33:1:0:+:0:-
+33:2:1:+:1:-
+33:3:undef:undef:undef:undef
+33:4:1:+:3:-
+33:5:2:+:3:-
+33:6:undef:undef:undef:undef
+33:7:3:+:4:-
+33:8:1:+:7:-
+33:9:undef:undef:undef:undef
+33:10:7:+:3:-
+33:11:undef:undef:undef:undef
+33:12:undef:undef:undef:undef
+33:13:2:+:11:-
+33:14:3:+:11:-
+33:15:undef:undef:undef:undef
+33:16:1:+:15:-
+33:17:16:+:1:-
+33:18:undef:undef:undef:undef
+33:19:15:+:4:-
+33:20:17:+:3:-
+33:21:undef:undef:undef:undef
+33:22:undef:undef:undef:undef
+33:23:7:+:16:-
+33:24:undef:undef:undef:undef
+33:25:22:+:3:-
+33:26:15:+:11:-
+33:27:undef:undef:undef:undef
+33:28:17:+:11:-
+33:29:22:+:7:-
+33:30:undef:undef:undef:undef
+33:31:16:+:15:-
+33:32:1:+:31:-
+33:33:undef:undef:undef:undef
+33:34:33:+:1:-
+33:35:17:+:18:-
+33:36:undef:undef:undef:undef
+33:37:9:+:28:-
+33:38:15:+:23:-
+33:39:undef:undef:undef:undef
+33:40:17:+:23:-
+33:41:5:+:36:-
+33:42:undef:undef:undef:undef
+33:43:30:+:13:-
+33:44:undef:undef:undef:undef
+33:45:undef:undef:undef:undef
+33:46:7:+:39:-
+33:47:10:+:37:-
+33:48:undef:undef:undef:undef
+33:49:3:+:46:-
+33:50:47:+:3:-
+#34:0:undef:undef:undef:undef
+34:1:0:+:0:-
+34:2:undef:undef:undef:undef
+34:3:1:+:2:-
+34:4:undef:undef:undef:undef
+34:5:4:+:1:-
+34:6:undef:undef:undef:undef
+34:7:6:+:1:-
+34:8:undef:undef:undef:undef
+34:9:4:+:5:-
+34:10:undef:undef:undef:undef
+34:11:1:+:10:-
+34:12:undef:undef:undef:undef
+34:13:5:+:8:-
+34:14:undef:undef:undef:undef
+34:15:4:+:11:-
+34:16:undef:undef:undef:undef
+34:17:undef:undef:undef:undef
+34:18:undef:undef:undef:undef
+34:19:14:+:5:-
+34:20:undef:undef:undef:undef
+34:21:13:+:8:-
+34:22:undef:undef:undef:undef
+34:23:21:+:2:-
+34:24:undef:undef:undef:undef
+34:25:14:+:11:-
+34:26:undef:undef:undef:undef
+34:27:4:+:23:-
+34:28:undef:undef:undef:undef
+34:29:6:+:23:-
+34:30:undef:undef:undef:undef
+34:31:21:+:10:-
+34:32:undef:undef:undef:undef
+34:33:1:+:32:-
+34:34:undef:undef:undef:undef
+34:35:34:+:1:-
+34:36:undef:undef:undef:undef
+34:37:12:+:25:-
+34:38:undef:undef:undef:undef
+34:39:31:+:8:-
+34:40:undef:undef:undef:undef
+34:41:35:+:6:-
+34:42:undef:undef:undef:undef
+34:43:19:+:24:-
+34:44:undef:undef:undef:undef
+34:45:4:+:41:-
+34:46:undef:undef:undef:undef
+34:47:18:+:29:-
+34:48:undef:undef:undef:undef
+34:49:13:+:36:-
+34:50:undef:undef:undef:undef
+#35:0:undef:undef:undef:undef
+35:1:0:+:0:-
+35:2:1:+:1:-
+35:3:2:+:1:-
+35:4:3:+:1:-
+35:5:undef:undef:undef:undef
+35:6:5:+:1:-
+35:7:undef:undef:undef:undef
+35:8:3:+:5:-
+35:9:8:+:1:-
+35:10:undef:undef:undef:undef
+35:11:6:+:5:-
+35:12:11:+:1:-
+35:13:3:+:10:-
+35:14:undef:undef:undef:undef
+35:15:undef:undef:undef:undef
+35:16:11:+:5:-
+35:17:1:+:16:-
+35:18:17:+:1:-
+35:19:6:+:13:-
+35:20:undef:undef:undef:undef
+35:21:undef:undef:undef:undef
+35:22:17:+:5:-
+35:23:2:+:21:-
+35:24:11:+:13:-
+35:25:undef:undef:undef:undef
+35:26:3:+:23:-
+35:27:17:+:10:-
+35:28:undef:undef:undef:undef
+35:29:5:+:24:-
+35:30:undef:undef:undef:undef
+35:31:8:+:23:-
+35:32:11:+:21:-
+35:33:17:+:16:-
+35:34:1:+:33:-
+35:35:undef:undef:undef:undef
+35:36:35:+:1:-
+35:37:18:+:19:-
+35:38:25:+:13:-
+35:39:29:+:10:-
+35:40:undef:undef:undef:undef
+35:41:34:+:7:-
+35:42:undef:undef:undef:undef
+35:43:16:+:27:-
+35:44:39:+:5:-
+35:45:undef:undef:undef:undef
+35:46:25:+:21:-
+35:47:43:+:4:-
+35:48:11:+:37:-
+35:49:undef:undef:undef:undef
+35:50:undef:undef:undef:undef
+#36:0:undef:undef:undef:undef
+36:1:0:+:0:-
+36:2:undef:undef:undef:undef
+36:3:undef:undef:undef:undef
+36:4:undef:undef:undef:undef
+36:5:1:+:4:-
+36:6:undef:undef:undef:undef
+36:7:1:+:6:-
+36:8:undef:undef:undef:undef
+36:9:undef:undef:undef:undef
+36:10:undef:undef:undef:undef
+36:11:4:+:7:-
+36:12:undef:undef:undef:undef
+36:13:4:+:9:-
+36:14:undef:undef:undef:undef
+36:15:undef:undef:undef:undef
+36:16:undef:undef:undef:undef
+36:17:9:+:8:-
+36:18:undef:undef:undef:undef
+36:19:9:+:10:-
+36:20:undef:undef:undef:undef
+36:21:undef:undef:undef:undef
+36:22:undef:undef:undef:undef
+36:23:16:+:7:-
+36:24:undef:undef:undef:undef
+36:25:16:+:9:-
+36:26:undef:undef:undef:undef
+36:27:undef:undef:undef:undef
+36:28:undef:undef:undef:undef
+36:29:25:+:4:-
+36:30:undef:undef:undef:undef
+36:31:25:+:6:-
+36:32:undef:undef:undef:undef
+36:33:undef:undef:undef:undef
+36:34:undef:undef:undef:undef
+36:35:1:+:34:-
+36:36:undef:undef:undef:undef
+36:37:36:+:1:-
+36:38:undef:undef:undef:undef
+36:39:undef:undef:undef:undef
+36:40:undef:undef:undef:undef
+36:41:8:+:33:-
+36:42:undef:undef:undef:undef
+36:43:6:+:37:-
+36:44:undef:undef:undef:undef
+36:45:undef:undef:undef:undef
+36:46:undef:undef:undef:undef
+36:47:17:+:30:-
+36:48:undef:undef:undef:undef
+36:49:15:+:34:-
+36:50:undef:undef:undef:undef
+#37:0:undef:undef:undef:undef
+37:1:0:+:0:-
+37:2:1:+:1:-
+37:3:1:+:2:-
+37:4:1:+:3:-
+37:5:3:+:2:-
+37:6:1:+:5:-
+37:7:4:+:3:-
+37:8:5:+:3:-
+37:9:1:+:8:-
+37:10:3:+:7:-
+37:11:3:+:8:-
+37:12:1:+:11:-
+37:13:6:+:7:-
+37:14:11:+:3:-
+37:15:13:+:2:-
+37:16:13:+:3:-
+37:17:6:+:11:-
+37:18:1:+:17:-
+37:19:18:+:1:-
+37:20:13:+:7:-
+37:21:4:+:17:-
+37:22:3:+:19:-
+37:23:5:+:18:-
+37:24:13:+:11:-
+37:25:23:+:2:-
+37:26:19:+:7:-
+37:27:19:+:8:-
+37:28:25:+:3:-
+37:29:11:+:18:-
+37:30:13:+:17:-
+37:31:26:+:5:-
+37:32:13:+:19:-
+37:33:25:+:8:-
+37:34:23:+:11:-
+37:35:18:+:17:-
+37:36:1:+:35:-
+37:37:undef:undef:undef:undef
+37:38:37:+:1:-
+37:39:19:+:20:-
+37:40:13:+:27:-
+37:41:10:+:31:-
+37:42:25:+:17:-
+37:43:7:+:36:-
+37:44:25:+:19:-
+37:45:28:+:17:-
+37:46:5:+:41:-
+37:47:14:+:33:-
+37:48:13:+:35:-
+37:49:4:+:45:-
+37:50:23:+:27:-
+#38:0:undef:undef:undef:undef
+38:1:0:+:0:-
+38:2:undef:undef:undef:undef
+38:3:2:+:1:-
+38:4:undef:undef:undef:undef
+38:5:2:+:3:-
+38:6:undef:undef:undef:undef
+38:7:5:+:2:-
+38:8:undef:undef:undef:undef
+38:9:5:+:4:-
+38:10:undef:undef:undef:undef
+38:11:9:+:2:-
+38:12:undef:undef:undef:undef
+38:13:12:+:1:-
+38:14:undef:undef:undef:undef
+38:15:2:+:13:-
+38:16:undef:undef:undef:undef
+38:17:13:+:4:-
+38:18:undef:undef:undef:undef
+38:19:undef:undef:undef:undef
+38:20:undef:undef:undef:undef
+38:21:5:+:16:-
+38:22:undef:undef:undef:undef
+38:23:20:+:3:-
+38:24:undef:undef:undef:undef
+38:25:2:+:23:-
+38:26:undef:undef:undef:undef
+38:27:5:+:22:-
+38:28:undef:undef:undef:undef
+38:29:13:+:16:-
+38:30:undef:undef:undef:undef
+38:31:9:+:22:-
+38:32:undef:undef:undef:undef
+38:33:20:+:13:-
+38:34:undef:undef:undef:undef
+38:35:12:+:23:-
+38:36:undef:undef:undef:undef
+38:37:1:+:36:-
+38:38:undef:undef:undef:undef
+38:39:38:+:1:-
+38:40:undef:undef:undef:undef
+38:41:27:+:14:-
+38:42:undef:undef:undef:undef
+38:43:17:+:26:-
+38:44:undef:undef:undef:undef
+38:45:32:+:13:-
+38:46:undef:undef:undef:undef
+38:47:26:+:21:-
+38:48:undef:undef:undef:undef
+38:49:40:+:9:-
+38:50:undef:undef:undef:undef
+#39:0:undef:undef:undef:undef
+39:1:0:+:0:-
+39:2:1:+:1:-
+39:3:undef:undef:undef:undef
+39:4:3:+:1:-
+39:5:4:+:1:-
+39:6:undef:undef:undef:undef
+39:7:2:+:5:-
+39:8:7:+:1:-
+39:9:undef:undef:undef:undef
+39:10:9:+:1:-
+39:11:2:+:9:-
+39:12:undef:undef:undef:undef
+39:13:undef:undef:undef:undef
+39:14:9:+:5:-
+39:15:undef:undef:undef:undef
+39:16:7:+:9:-
+39:17:7:+:10:-
+39:18:undef:undef:undef:undef
+39:19:1:+:18:-
+39:20:19:+:1:-
+39:21:undef:undef:undef:undef
+39:22:13:+:9:-
+39:23:13:+:10:-
+39:24:undef:undef:undef:undef
+39:25:9:+:16:-
+39:26:undef:undef:undef:undef
+39:27:undef:undef:undef:undef
+39:28:23:+:5:-
+39:29:3:+:26:-
+39:30:undef:undef:undef:undef
+39:31:4:+:27:-
+39:32:23:+:9:-
+39:33:undef:undef:undef:undef
+39:34:7:+:27:-
+39:35:9:+:26:-
+39:36:undef:undef:undef:undef
+39:37:19:+:18:-
+39:38:1:+:37:-
+39:39:undef:undef:undef:undef
+39:40:39:+:1:-
+39:41:20:+:21:-
+39:42:undef:undef:undef:undef
+39:43:32:+:11:-
+39:44:35:+:9:-
+39:45:undef:undef:undef:undef
+39:46:13:+:33:-
+39:47:41:+:6:-
+39:48:undef:undef:undef:undef
+39:49:44:+:5:-
+39:50:9:+:41:-
+#40:0:undef:undef:undef:undef
+40:1:0:+:0:-
+40:2:undef:undef:undef:undef
+40:3:1:+:2:-
+40:4:undef:undef:undef:undef
+40:5:undef:undef:undef:undef
+40:6:undef:undef:undef:undef
+40:7:3:+:4:-
+40:8:undef:undef:undef:undef
+40:9:7:+:2:-
+40:10:undef:undef:undef:undef
+40:11:8:+:3:-
+40:12:undef:undef:undef:undef
+40:13:1:+:12:-
+40:14:undef:undef:undef:undef
+40:15:undef:undef:undef:undef
+40:16:undef:undef:undef:undef
+40:17:3:+:14:-
+40:18:undef:undef:undef:undef
+40:19:10:+:9:-
+40:20:undef:undef:undef:undef
+40:21:10:+:11:-
+40:22:undef:undef:undef:undef
+40:23:19:+:4:-
+40:24:undef:undef:undef:undef
+40:25:undef:undef:undef:undef
+40:26:undef:undef:undef:undef
+40:27:25:+:2:-
+40:28:undef:undef:undef:undef
+40:29:8:+:21:-
+40:30:undef:undef:undef:undef
+40:31:7:+:24:-
+40:32:undef:undef:undef:undef
+40:33:19:+:14:-
+40:34:undef:undef:undef:undef
+40:35:undef:undef:undef:undef
+40:36:undef:undef:undef:undef
+40:37:25:+:12:-
+40:38:undef:undef:undef:undef
+40:39:1:+:38:-
+40:40:undef:undef:undef:undef
+40:41:40:+:1:-
+40:42:undef:undef:undef:undef
+40:43:14:+:29:-
+40:44:undef:undef:undef:undef
+40:45:undef:undef:undef:undef
+40:46:undef:undef:undef:undef
+40:47:20:+:27:-
+40:48:undef:undef:undef:undef
+40:49:38:+:11:-
+40:50:undef:undef:undef:undef
+#41:0:undef:undef:undef:undef
+41:1:0:+:0:-
+41:2:1:+:1:-
+41:3:2:+:1:-
+41:4:1:+:3:-
+41:5:1:+:4:-
+41:6:5:+:1:-
+41:7:6:+:1:-
+41:8:1:+:7:-
+41:9:2:+:7:-
+41:10:1:+:9:-
+41:11:7:+:4:-
+41:12:5:+:7:-
+41:13:7:+:6:-
+41:14:13:+:1:-
+41:15:11:+:4:-
+41:16:9:+:7:-
+41:17:5:+:12:-
+41:18:11:+:7:-
+41:19:13:+:6:-
+41:20:1:+:19:-
+41:21:20:+:1:-
+41:22:7:+:15:-
+41:23:9:+:14:-
+41:24:17:+:7:-
+41:25:11:+:14:-
+41:26:7:+:19:-
+41:27:2:+:25:-
+41:28:13:+:15:-
+41:29:17:+:12:-
+41:30:11:+:19:-
+41:31:28:+:3:-
+41:32:25:+:7:-
+41:33:29:+:4:-
+41:34:5:+:29:-
+41:35:6:+:29:-
+41:36:29:+:7:-
+41:37:28:+:9:-
+41:38:13:+:25:-
+41:39:20:+:19:-
+41:40:1:+:39:-
+41:41:undef:undef:undef:undef
+41:42:41:+:1:-
+41:43:21:+:22:-
+41:44:29:+:15:-
+41:45:11:+:34:-
+41:46:9:+:37:-
+41:47:39:+:8:-
+41:48:41:+:7:-
+41:49:6:+:43:-
+41:50:11:+:39:-
+#42:0:undef:undef:undef:undef
+42:1:0:+:0:-
+42:2:undef:undef:undef:undef
+42:3:undef:undef:undef:undef
+42:4:undef:undef:undef:undef
+42:5:3:+:2:-
+42:6:undef:undef:undef:undef
+42:7:undef:undef:undef:undef
+42:8:undef:undef:undef:undef
+42:9:undef:undef:undef:undef
+42:10:undef:undef:undef:undef
+42:11:5:+:6:-
+42:12:undef:undef:undef:undef
+42:13:9:+:4:-
+42:14:undef:undef:undef:undef
+42:15:undef:undef:undef:undef
+42:16:undef:undef:undef:undef
+42:17:15:+:2:-
+42:18:undef:undef:undef:undef
+42:19:5:+:14:-
+42:20:undef:undef:undef:undef
+42:21:undef:undef:undef:undef
+42:22:undef:undef:undef:undef
+42:23:17:+:6:-
+42:24:undef:undef:undef:undef
+42:25:3:+:22:-
+42:26:undef:undef:undef:undef
+42:27:undef:undef:undef:undef
+42:28:undef:undef:undef:undef
+42:29:9:+:20:-
+42:30:undef:undef:undef:undef
+42:31:17:+:14:-
+42:32:undef:undef:undef:undef
+42:33:undef:undef:undef:undef
+42:34:undef:undef:undef:undef
+42:35:undef:undef:undef:undef
+42:36:undef:undef:undef:undef
+42:37:15:+:22:-
+42:38:undef:undef:undef:undef
+42:39:undef:undef:undef:undef
+42:40:undef:undef:undef:undef
+42:41:1:+:40:-
+42:42:undef:undef:undef:undef
+42:43:42:+:1:-
+42:44:undef:undef:undef:undef
+42:45:undef:undef:undef:undef
+42:46:undef:undef:undef:undef
+42:47:28:+:19:-
+42:48:undef:undef:undef:undef
+42:49:undef:undef:undef:undef
+42:50:undef:undef:undef:undef
+#43:0:undef:undef:undef:undef
+43:1:0:+:0:-
+43:2:1:+:1:-
+43:3:1:+:2:-
+43:4:3:+:1:-
+43:5:2:+:3:-
+43:6:1:+:5:-
+43:7:1:+:6:-
+43:8:3:+:5:-
+43:9:4:+:5:-
+43:10:7:+:3:-
+43:11:10:+:1:-
+43:12:7:+:5:-
+43:13:10:+:3:-
+43:14:1:+:13:-
+43:15:7:+:8:-
+43:16:3:+:13:-
+43:17:2:+:15:-
+43:18:13:+:5:-
+43:19:4:+:15:-
+43:20:7:+:13:-
+43:21:1:+:20:-
+43:22:21:+:1:-
+43:23:15:+:8:-
+43:24:19:+:5:-
+43:25:7:+:18:-
+43:26:23:+:3:-
+43:27:22:+:5:-
+43:28:15:+:13:-
+43:29:27:+:2:-
+43:30:7:+:23:-
+43:31:13:+:18:-
+43:32:3:+:29:-
+43:33:10:+:23:-
+43:34:19:+:15:-
+43:35:22:+:13:-
+43:36:31:+:5:-
+43:37:31:+:6:-
+43:38:23:+:15:-
+43:39:10:+:29:-
+43:40:27:+:13:-
+43:41:21:+:20:-
+43:42:1:+:41:-
+43:43:undef:undef:undef:undef
+43:44:43:+:1:-
+43:45:22:+:23:-
+43:46:15:+:31:-
+43:47:35:+:12:-
+43:48:19:+:29:-
+43:49:8:+:41:-
+43:50:7:+:43:-
+#44:0:undef:undef:undef:undef
+44:1:0:+:0:-
+44:2:undef:undef:undef:undef
+44:3:2:+:1:-
+44:4:undef:undef:undef:undef
+44:5:4:+:1:-
+44:6:undef:undef:undef:undef
+44:7:4:+:3:-
+44:8:undef:undef:undef:undef
+44:9:8:+:1:-
+44:10:undef:undef:undef:undef
+44:11:undef:undef:undef:undef
+44:12:undef:undef:undef:undef
+44:13:8:+:5:-
+44:14:undef:undef:undef:undef
+44:15:14:+:1:-
+44:16:undef:undef:undef:undef
+44:17:12:+:5:-
+44:18:undef:undef:undef:undef
+44:19:16:+:3:-
+44:20:undef:undef:undef:undef
+44:21:11:+:10:-
+44:22:undef:undef:undef:undef
+44:23:11:+:12:-
+44:24:undef:undef:undef:undef
+44:25:4:+:21:-
+44:26:undef:undef:undef:undef
+44:27:8:+:19:-
+44:28:undef:undef:undef:undef
+44:29:2:+:27:-
+44:30:undef:undef:undef:undef
+44:31:12:+:19:-
+44:32:undef:undef:undef:undef
+44:33:undef:undef:undef:undef
+44:34:undef:undef:undef:undef
+44:35:4:+:31:-
+44:36:undef:undef:undef:undef
+44:37:16:+:21:-
+44:38:undef:undef:undef:undef
+44:39:8:+:31:-
+44:40:undef:undef:undef:undef
+44:41:14:+:27:-
+44:42:undef:undef:undef:undef
+44:43:1:+:42:-
+44:44:undef:undef:undef:undef
+44:45:44:+:1:-
+44:46:undef:undef:undef:undef
+44:47:31:+:16:-
+44:48:undef:undef:undef:undef
+44:49:39:+:10:-
+44:50:undef:undef:undef:undef
+#45:0:undef:undef:undef:undef
+45:1:0:+:0:-
+45:2:1:+:1:-
+45:3:undef:undef:undef:undef
+45:4:1:+:3:-
+45:5:undef:undef:undef:undef
+45:6:undef:undef:undef:undef
+45:7:5:+:2:-
+45:8:5:+:3:-
+45:9:undef:undef:undef:undef
+45:10:undef:undef:undef:undef
+45:11:1:+:10:-
+45:12:undef:undef:undef:undef
+45:13:11:+:2:-
+45:14:5:+:9:-
+45:15:undef:undef:undef:undef
+45:16:5:+:11:-
+45:17:14:+:3:-
+45:18:undef:undef:undef:undef
+45:19:11:+:8:-
+45:20:undef:undef:undef:undef
+45:21:undef:undef:undef:undef
+45:22:1:+:21:-
+45:23:22:+:1:-
+45:24:undef:undef:undef:undef
+45:25:undef:undef:undef:undef
+45:26:11:+:15:-
+45:27:undef:undef:undef:undef
+45:28:5:+:23:-
+45:29:20:+:9:-
+45:30:undef:undef:undef:undef
+45:31:20:+:11:-
+45:32:5:+:27:-
+45:33:undef:undef:undef:undef
+45:34:31:+:3:-
+45:35:undef:undef:undef:undef
+45:36:undef:undef:undef:undef
+45:37:14:+:23:-
+45:38:11:+:27:-
+45:39:undef:undef:undef:undef
+45:40:undef:undef:undef:undef
+45:41:31:+:10:-
+45:42:undef:undef:undef:undef
+45:43:22:+:21:-
+45:44:1:+:43:-
+45:45:undef:undef:undef:undef
+45:46:45:+:1:-
+45:47:23:+:24:-
+45:48:undef:undef:undef:undef
+45:49:12:+:37:-
+45:50:undef:undef:undef:undef
+#46:0:undef:undef:undef:undef
+46:1:0:+:0:-
+46:2:undef:undef:undef:undef
+46:3:1:+:2:-
+46:4:undef:undef:undef:undef
+46:5:1:+:4:-
+46:6:undef:undef:undef:undef
+46:7:2:+:5:-
+46:8:undef:undef:undef:undef
+46:9:1:+:8:-
+46:10:undef:undef:undef:undef
+46:11:6:+:5:-
+46:12:undef:undef:undef:undef
+46:13:2:+:11:-
+46:14:undef:undef:undef:undef
+46:15:1:+:14:-
+46:16:undef:undef:undef:undef
+46:17:10:+:7:-
+46:18:undef:undef:undef:undef
+46:19:12:+:7:-
+46:20:undef:undef:undef:undef
+46:21:16:+:5:-
+46:22:undef:undef:undef:undef
+46:23:undef:undef:undef:undef
+46:24:undef:undef:undef:undef
+46:25:6:+:19:-
+46:26:undef:undef:undef:undef
+46:27:10:+:17:-
+46:28:undef:undef:undef:undef
+46:29:12:+:17:-
+46:30:undef:undef:undef:undef
+46:31:29:+:2:-
+46:32:undef:undef:undef:undef
+46:33:28:+:5:-
+46:34:undef:undef:undef:undef
+46:35:16:+:19:-
+46:36:undef:undef:undef:undef
+46:37:33:+:4:-
+46:38:undef:undef:undef:undef
+46:39:28:+:11:-
+46:40:undef:undef:undef:undef
+46:41:33:+:8:-
+46:42:undef:undef:undef:undef
+46:43:29:+:14:-
+46:44:undef:undef:undef:undef
+46:45:1:+:44:-
+46:46:undef:undef:undef:undef
+46:47:46:+:1:-
+46:48:undef:undef:undef:undef
+46:49:16:+:33:-
+46:50:undef:undef:undef:undef
+#47:0:undef:undef:undef:undef
+47:1:0:+:0:-
+47:2:1:+:1:-
+47:3:2:+:1:-
+47:4:3:+:1:-
+47:5:3:+:2:-
+47:6:5:+:1:-
+47:7:3:+:4:-
+47:8:7:+:1:-
+47:9:5:+:4:-
+47:10:3:+:7:-
+47:11:4:+:7:-
+47:12:11:+:1:-
+47:13:5:+:8:-
+47:14:3:+:11:-
+47:15:8:+:7:-
+47:16:15:+:1:-
+47:17:4:+:13:-
+47:18:5:+:13:-
+47:19:17:+:2:-
+47:20:3:+:17:-
+47:21:17:+:4:-
+47:22:15:+:7:-
+47:23:1:+:22:-
+47:24:23:+:1:-
+47:25:8:+:17:-
+47:26:5:+:21:-
+47:27:23:+:4:-
+47:28:3:+:25:-
+47:29:21:+:8:-
+47:30:23:+:7:-
+47:31:2:+:29:-
+47:32:15:+:17:-
+47:33:26:+:7:-
+47:34:21:+:13:-
+47:35:3:+:32:-
+47:36:23:+:13:-
+47:37:26:+:11:-
+47:38:17:+:21:-
+47:39:5:+:34:-
+47:40:23:+:17:-
+47:41:7:+:34:-
+47:42:17:+:25:-
+47:43:11:+:32:-
+47:44:15:+:29:-
+47:45:23:+:22:-
+47:46:1:+:45:-
+47:47:undef:undef:undef:undef
+47:48:47:+:1:-
+47:49:24:+:25:-
+47:50:33:+:17:-
+#48:0:undef:undef:undef:undef
+48:1:0:+:0:-
+48:2:undef:undef:undef:undef
+48:3:undef:undef:undef:undef
+48:4:undef:undef:undef:undef
+48:5:2:+:3:-
+48:6:undef:undef:undef:undef
+48:7:6:+:1:-
+48:8:undef:undef:undef:undef
+48:9:undef:undef:undef:undef
+48:10:undef:undef:undef:undef
+48:11:3:+:8:-
+48:12:undef:undef:undef:undef
+48:13:3:+:10:-
+48:14:undef:undef:undef:undef
+48:15:undef:undef:undef:undef
+48:16:undef:undef:undef:undef
+48:17:11:+:6:-
+48:18:undef:undef:undef:undef
+48:19:2:+:17:-
+48:20:undef:undef:undef:undef
+48:21:undef:undef:undef:undef
+48:22:undef:undef:undef:undef
+48:23:12:+:11:-
+48:24:undef:undef:undef:undef
+48:25:12:+:13:-
+48:26:undef:undef:undef:undef
+48:27:undef:undef:undef:undef
+48:28:undef:undef:undef:undef
+48:29:26:+:3:-
+48:30:undef:undef:undef:undef
+48:31:11:+:20:-
+48:32:undef:undef:undef:undef
+48:33:undef:undef:undef:undef
+48:34:undef:undef:undef:undef
+48:35:27:+:8:-
+48:36:undef:undef:undef:undef
+48:37:27:+:10:-
+48:38:undef:undef:undef:undef
+48:39:undef:undef:undef:undef
+48:40:undef:undef:undef:undef
+48:41:6:+:35:-
+48:42:undef:undef:undef:undef
+48:43:26:+:17:-
+48:44:undef:undef:undef:undef
+48:45:undef:undef:undef:undef
+48:46:undef:undef:undef:undef
+48:47:1:+:46:-
+48:48:undef:undef:undef:undef
+48:49:48:+:1:-
+48:50:undef:undef:undef:undef
+#49:0:undef:undef:undef:undef
+49:1:0:+:0:-
+49:2:1:+:1:-
+49:3:1:+:2:-
+49:4:1:+:3:-
+49:5:4:+:1:-
+49:6:1:+:5:-
+49:7:undef:undef:undef:undef
+49:8:1:+:7:-
+49:9:7:+:2:-
+49:10:9:+:1:-
+49:11:9:+:2:-
+49:12:1:+:11:-
+49:13:4:+:9:-
+49:14:undef:undef:undef:undef
+49:15:4:+:11:-
+49:16:1:+:15:-
+49:17:8:+:9:-
+49:18:7:+:11:-
+49:19:7:+:12:-
+49:20:9:+:11:-
+49:21:undef:undef:undef:undef
+49:22:9:+:13:-
+49:23:8:+:15:-
+49:24:1:+:23:-
+49:25:24:+:1:-
+49:26:17:+:9:-
+49:27:16:+:11:-
+49:28:undef:undef:undef:undef
+49:29:16:+:13:-
+49:30:19:+:11:-
+49:31:19:+:12:-
+49:32:17:+:15:-
+49:33:31:+:2:-
+49:34:25:+:9:-
+49:35:undef:undef:undef:undef
+49:36:25:+:11:-
+49:37:34:+:3:-
+49:38:7:+:31:-
+49:39:4:+:35:-
+49:40:9:+:31:-
+49:41:36:+:5:-
+49:42:undef:undef:undef:undef
+49:43:36:+:7:-
+49:44:9:+:35:-
+49:45:34:+:11:-
+49:46:31:+:15:-
+49:47:24:+:23:-
+49:48:1:+:47:-
+49:49:undef:undef:undef:undef
+49:50:49:+:1:-
+#50:0:undef:undef:undef:undef
+50:1:0:+:0:-
+50:2:undef:undef:undef:undef
+50:3:2:+:1:-
+50:4:undef:undef:undef:undef
+50:5:undef:undef:undef:undef
+50:6:undef:undef:undef:undef
+50:7:1:+:6:-
+50:8:undef:undef:undef:undef
+50:9:2:+:7:-
+50:10:undef:undef:undef:undef
+50:11:2:+:9:-
+50:12:undef:undef:undef:undef
+50:13:6:+:7:-
+50:14:undef:undef:undef:undef
+50:15:undef:undef:undef:undef
+50:16:undef:undef:undef:undef
+50:17:16:+:1:-
+50:18:undef:undef:undef:undef
+50:19:8:+:11:-
+50:20:undef:undef:undef:undef
+50:21:8:+:13:-
+50:22:undef:undef:undef:undef
+50:23:6:+:17:-
+50:24:undef:undef:undef:undef
+50:25:undef:undef:undef:undef
+50:26:undef:undef:undef:undef
+50:27:20:+:7:-
+50:28:undef:undef:undef:undef
+50:29:18:+:11:-
+50:30:undef:undef:undef:undef
+50:31:18:+:13:-
+50:32:undef:undef:undef:undef
+50:33:2:+:31:-
+50:34:undef:undef:undef:undef
+50:35:undef:undef:undef:undef
+50:36:undef:undef:undef:undef
+50:37:20:+:17:-
+50:38:undef:undef:undef:undef
+50:39:32:+:7:-
+50:40:undef:undef:undef:undef
+50:41:32:+:9:-
+50:42:undef:undef:undef:undef
+50:43:37:+:6:-
+50:44:undef:undef:undef:undef
+50:45:undef:undef:undef:undef
+50:46:undef:undef:undef:undef
+50:47:16:+:31:-
+50:48:undef:undef:undef:undef
+50:49:1:+:48:-
+50:50:undef:undef:undef:undef
+
+741:620:41:+:579:-
+461:109:48:+:61:-
+278:869:422:+:447:-
+561:3498:undef:undef:undef:undef
+499:7109:5086:+:2023:-
+741:9439:2968:+:6471:-
+486:56136:undef:undef:undef:undef
+200:10526:undef:undef:undef:undef
+672:99812:undef:undef:undef:undef
+780:424148:undef:undef:undef:undef
+310:384332:undef:undef:undef:undef
+225:215820:undef:undef:undef:undef
+852:2247541:2054970:+:192571:-
+113:8887520:7235857:+:1651663:-
+844:7780525:175154:+:7605371:-
+687:87465920:509263:+:86956657:-
+493:71478351:60459376:+:11018975:-
+173:99310988:37313377:+:61997611:-
+816:792935352:undef:undef:undef:undef
+979:616918181:undef:undef:undef:undef
+958:737059268:undef:undef:undef:undef
+895:5476284944:3218464671:+:2257820273:-
+754:5245579447:3095865854:+:2149713593:-
+498:5270898300:undef:undef:undef:undef
+413:85194219513:35686682750:+:49507536763:-
+184:92943057805:9597380969:+:83345676836:-
+282:22116244877:21253554474:+:862690403:-
+103:813169626911:623693208990:+:189476417921:-
+332:204877945268:undef:undef:undef:undef
+305:812044920168:567100222937:+:244944697231:-
+874:2233888446784:undef:undef:undef:undef
+851:9628562470715:1595331737216:+:8033230733499:-
+170:9512424802829:7330162642180:+:2182262160649:-
+416:35895309054277:20967692548532:+:14927616505745:-
+693:87114971000787:undef:undef:undef:undef
+263:15549801355396:10405950716919:+:5143850638477:-
+598:670464274337475:595345367346487:+:75118906990988:-
+416:417977295301500:undef:undef:undef:undef
+281:907403927404997:826674040625193:+:80729886779804:-
+696:8403134065908435:undef:undef:undef:undef
+277:5812153971708647:1279932824094684:+:4532221147613963:-
+658:1133283530973375:undef:undef:undef:undef
+632:57996916095727080:undef:undef:undef:undef
+819:51981115048676576:undef:undef:undef:undef
+549:83015466364372240:undef:undef:undef:undef
+531:416202594816372687:undef:undef:undef:undef
+664:541037245817077417:299037152432029235:+:242000093385048182:-
+631:183722828206333148:92298156167048507:+:91424672039284641:-
+175:3611383264044105956:undef:undef:undef:undef
+743:2992271347936814844:2492888242762972259:+:499383105173842585:-
+602:6134448393502267660:undef:undef:undef:undef
+959:53075414038512161512:42283228702214068191:+:10792185336298093321:-
+815:56860682801097897246:56093238002555471639:+:767444798542425607:-
+886:30009839291014751598:undef:undef:undef:undef
+609:273888409952105295020:98941625926868907889:+:174946784025236387131:-
+340:181380165037918172099:139235950220284243876:+:42144214817633928223:-
+827:229247399647470621945:92308807838703406418:+:136938591808767215527:-
+952:5562674809482089173316:undef:undef:undef:undef
+901:8309818972650860479311:3532364779717291413514:+:4777454192933569065797:-
+265:7701488832510420831126:6945871060264115391091:+:755617772246305440035:-
+164:75587116320128057813999:44707013921051351268036:+:30880102399076706545963:-
+631:40162982059806098053891:6683222054325895872676:+:33479760005480202181215:-
+733:10084115533658671195588:4705003427709775646509:+:5379112105948895549079:-
+535:151412058327435602200854:141789609760832218135753:+:9622448566603384065101:-
+757:423342299553291085429917:166093346059877744217550:+:257248953493413341212367:-
+665:686959841032017875475019:434902395600721091090200:+:252057445431296784384819:-
+740:6484819730382801901410848:undef:undef:undef:undef
+793:2799159372693769837012668:1295449545748566872867149:+:1503709826945202964145519:-
+282:3962201441710282457113977:undef:undef:undef:undef
+905:460:undef:undef:undef:undef
+828:265:257:+:8:-
+542:455:68:+:387:-
+756:4964:undef:undef:undef:undef
+563:1031:738:+:293:-
+224:9957:2267:+:7690:-
+252:48856:undef:undef:undef:undef
+373:74860:68237:+:6623:-
+355:28550:undef:undef:undef:undef
+982:348479:5323:+:343156:-
+774:300613:undef:undef:undef:undef
+854:749913:81665:+:668248:-
+306:6065146:undef:undef:undef:undef
+271:8099488:2480655:+:5618833:-
+841:1638213:714892:+:923321:-
+648:11588613:undef:undef:undef:undef
+874:23241017:undef:undef:undef:undef
+933:12110426:4646873:+:7463553:-
+197:574608277:297512915:+:277095362:-
+450:885355929:undef:undef:undef:undef
+619:814593211:327679660:+:486913551:-
+650:4156795794:undef:undef:undef:undef
+701:2471540985:1815754076:+:655786909:-
+813:5143260312:undef:undef:undef:undef
+301:97232678386:15182511243:+:82050167143:-
+804:76241122652:undef:undef:undef:undef
+476:50715793663:33775013847:+:16940779816:-
+407:417193419964:129155702495:+:288037717469:-
+577:795565949538:42742711327:+:752823238211:-
+113:344037305215:225298766247:+:118738538968:-
+909:1781264483287:662340368923:+:1118924114364:-
+815:7913809756884:4864808206379:+:3049001550505:-
+675:7474109839958:1140493797801:+:6333616042157:-
+932:13929482409261:941585184317:+:12987897224944:-
+924:15097021630041:undef:undef:undef:undef
+499:69768376838141:61239577264741:+:8528799573400:-
+722:348476274304903:313242523578784:+:35233750726119:-
+854:570193568728738:undef:undef:undef:undef
+974:631143898362428:undef:undef:undef:undef
+754:5981951447667815:2657763574229069:+:3324187873438746:-
+175:7994366069894641:5207758468388509:+:2786607601506132:-
+955:8179320935952497:7554095356555081:+:625225579397416:-
+880:90993972189730180:undef:undef:undef:undef
+332:60642153726739477:22466822013219746:+:38175331713519731:-
+146:70480374924497094:undef:undef:undef:undef
+785:477376881780158621:11554344909328680:+:465822536870829941:-
+509:162367878429460773:115475779943938703:+:46892098485522070:-
+277:415929677871336479:252260598853373749:+:163669079017962730:-
+116:1152802064631144665:109317437163298201:+:1043484627467846464:-
+414:3669698500253122270:undef:undef:undef:undef
+272:6975835460709376364:undef:undef:undef:undef
+584:76202968713931261880:undef:undef:undef:undef
+113:65885331225240062100:46644482283355796177:+:19240848941884265923:-
+610:93003648713173191624:undef:undef:undef:undef
+194:145142945088276683997:117461043189997110245:+:27681901898279573752:-
+563:486532793763280035361:366411908624566136755:+:120120885138713898606:-
+738:587662254685605130728:undef:undef:undef:undef
+708:8269459575943308522945:undef:undef:undef:undef
+784:8119601286270879363659:3614465368505786859588:+:4505135917765092504071:-
+174:4176304658042170923312:undef:undef:undef:undef
+600:50583901482508562794984:undef:undef:undef:undef
+484:87546738364851249507102:undef:undef:undef:undef
+584:52635317924212427610338:undef:undef:undef:undef
+479:702282439563863762476945:313754576339596754008489:+:388527863224267008468456:-
+666:482137212775320246977754:undef:undef:undef:undef
+642:591902125029057638793071:166875832757413446451006:+:425026292271644192342065:-
+250:1013925362727886106592930:undef:undef:undef:undef
+182:6031034047937231309336424:undef:undef:undef:undef
+449:7224623463853020688795424:1946947525893575731278945:+:5277675937959444957516479:-
+329:681:296:+:385:-
+160:481:478:+:3:-
+924:628:undef:undef:undef:undef
+966:4261:3939:+:322:-
+602:3792:undef:undef:undef:undef
+503:2192:1303:+:889:-
+840:18943:16079:+:2864:-
+636:46667:11520:+:35147:-
+565:92522:35535:+:56987:-
+879:538061:42849:+:495212:-
+402:504269:497997:+:6272:-
+355:506944:379851:+:127093:-
+335:2007636:1162631:+:845005:-
+790:2462861:2428568:+:34293:-
+917:9664847:5775721:+:3889126:-
+475:72334904:54213107:+:18121797:-
+819:59111784:undef:undef:undef:undef
+294:81023337:undef:undef:undef:undef
+572:497201929:398978471:+:98223458:-
+421:314772904:216826941:+:97945963:-
+765:505227632:450412085:+:54815547:-
+237:5278294795:3652490913:+:1625803882:-
+847:3110199153:2173834591:+:936364562:-
+842:9546719867:5748440585:+:3798279282:-
+801:14754617256:undef:undef:undef:undef
+115:57978141981:7058208589:+:50919933392:-
+214:71768884179:43262551678:+:28506332501:-
+202:550042438570:undef:undef:undef:undef
+461:856614524249:211830923567:+:644783600682:-
+895:801644784874:81508017233:+:720136767641:-
+963:3683793693096:undef:undef:undef:undef
+334:5630552472673:994618550562:+:4635933922111:-
+960:8963131336150:undef:undef:undef:undef
+317:22868890215137:8079860265285:+:14789029949852:-
+845:83064873649555:undef:undef:undef:undef
+730:14582563081721:3775485510199:+:10807077571522:-
+587:661031387460777:349096644144533:+:311934743316244:-
+874:977093718206815:408054012752274:+:569039705454541:-
+125:570801727061713:447508554016383:+:123293173045330:-
+256:6743588830453320:undef:undef:undef:undef
+162:8916030369222247:7870323103696181:+:1045707265526066:-
+626:3338443153918406:undef:undef:undef:undef
+737:33673341242625817:14712097530699475:+:18961243711926342:-
+480:99211735204558346:undef:undef:undef:undef
+440:77720969306266697:57760811279884568:+:19960158026382129:-
+183:482260407343311656:287248002188092735:+:195012405155218921:-
+786:118688797853185388:undef:undef:undef:undef
+334:363171309873152983:undef:undef:undef:undef
+571:1366803214546890149:428472461302790432:+:938330753244099717:-
+117:6884129668418219012:2530064749931482201:+:4354064918486736811:-
+385:8434614983431042942:5630379352576046847:+:2804235630854996095:-
+542:93375752200055958358:undef:undef:undef:undef
+751:68477372401862025252:45681975463825399003:+:22795396938036626249:-
+903:89808109291803554851:81652777108051737024:+:8155332183751817827:-
+669:737962127669032713396:undef:undef:undef:undef
+254:994853266335556274523:646262948603806241324:+:348590317731750033199:-
+327:339366039539626505616:undef:undef:undef:undef
+145:5078756999763081840786:1716269606816489725507:+:3362487392946592115279:-
+575:5593304214000287175400:undef:undef:undef:undef
+839:7737339391509936330092:5053709161558337436103:+:2683630229951598893989:-
+322:36517404451080131558649:34589466949004472439093:+:1927937502075659119556:-
+810:13908484214268344873541:undef:undef:undef:undef
+801:21640894049142413495911:21613876703263334328001:+:27017345879079167910:-
+915:898597966959467815355730:undef:undef:undef:undef
+440:271572327421957489228719:undef:undef:undef:undef
+618:786639168038543887861103:31821972817093199347132:+:754817195221450688513971:-
+643:1630290425961246373482606:831625598313046361589883:+:798664827648200011892723:-
+935:5065034764752521759691908:124594438063431016548571:+:4940440326689090743143337:-
+376:9530592457891569296396161:5855231004715299221988067:+:3675361453176270074408094:-
+2946:548:undef:undef:undef:undef
+9546:582:undef:undef:undef:undef
+6294:153:undef:undef:undef:undef
+6436:3798:undef:undef:undef:undef
+8678:5609:1389:+:4220:-
+4332:9737:5599:+:4138:-
+6597:54650:29483:+:25167:-
+6349:10623:1285:+:9338:-
+8892:10489:4302:+:6187:-
+3855:989920:undef:undef:undef:undef
+9019:913324:1519:+:911805:-
+7251:360052:37043:+:323009:-
+9964:5492175:4888609:+:603566:-
+9417:7462279:undef:undef:undef:undef
+1089:1050423:undef:undef:undef:undef
+1407:59792572:undef:undef:undef:undef
+7163:46140182:33972263:+:12167919:-
+8481:30580067:5271555:+:25308512:-
+5584:401476541:18046313:+:383430228:-
+1165:491274830:undef:undef:undef:undef
+6904:560666466:undef:undef:undef:undef
+4693:3443998487:847606702:+:2596391785:-
+6277:6375048996:3427718713:+:2947330283:-
+1715:2942734466:undef:undef:undef:undef
+8402:28571614496:undef:undef:undef:undef
+7407:66623347625:59157790918:+:7465556707:-
+4097:30072612468:undef:undef:undef:undef
+2337:355259397238:340513928033:+:14745469205:-
+6577:424150081323:416346803257:+:7803278066:-
+8560:318232114571:271724126799:+:46507987772:-
+3979:1575914452553:1087575040641:+:488339411912:-
+4510:3133369785360:undef:undef:undef:undef
+8169:9194251869504:undef:undef:undef:undef
+1575:99239191800263:32953712578754:+:66285479221509:-
+9369:76312182615150:undef:undef:undef:undef
+7693:60744018497638:undef:undef:undef:undef
+3727:559162992969877:533957899645772:+:25205093324105:-
+1260:681065359017028:undef:undef:undef:undef
+3976:685441805727949:70854271165540:+:614587534562409:-
+2504:9777800420084735:3658865412787299:+:6118935007297436:-
+2762:7873030137588740:undef:undef:undef:undef
+6635:7120473956972563:5224184961950631:+:1896288995021932:-
+6228:92523947758884024:undef:undef:undef:undef
+1304:22925758948775355:10355269954623224:+:12570488994152131:-
+9088:86212918824513679:68160191654283757:+:18052727170229922:-
+2520:185463029536171412:undef:undef:undef:undef
+3577:997340379048801521:958584350900134087:+:38756028148667434:-
+2514:162930369528348634:undef:undef:undef:undef
+6648:9039445301791270496:undef:undef:undef:undef
+9344:8136175292609130143:6938910627868381647:+:1197264664740748496:-
+4953:9282031734931944828:undef:undef:undef:undef
+3404:26167213577484844372:undef:undef:undef:undef
+6557:63575943463035229143:31114107453542786384:+:32461836009492442759:-
+5223:17950137655576050657:undef:undef:undef:undef
+2998:792868168700507108633:593725496575262994957:+:199142672125244113676:-
+3279:388960509706685596867:220517715018215469526:+:168442794688470127341:-
+5927:732286607095088984945:384119969876603957178:+:348166637218485027767:-
+6777:5490119563688280724837:5421260162343511083165:+:68859401344769641672:-
+1497:6395281394987040837127:6275663573303916492812:+:119617821683124344315:-
+7491:4664361048026575632196:31133100040225441411:+:4633227947986350190785:-
+4033:19196592307972606406454:undef:undef:undef:undef
+7071:43562844464026628340476:29577883788967874793187:+:13984960675058753547289:-
+4100:57686517973164004591283:24664503904135731719151:+:33022014069028272872132:-
+1894:487293779128619555993093:313113267792782470772753:+:174180511335837085220340:-
+9154:858190558799326056846033:83906549063294387248984:+:774284009736031669597049:-
+9225:781770620562905148078069:undef:undef:undef:undef
+8061:4216203196128056053943703:undef:undef:undef:undef
+5411:4282833094817001580138184:3275247338080346061469563:+:1007585756736655518668621:-
+7175:8104779479452384950607078:undef:undef:undef:undef
+5951:205:171:+:34:-
+6069:424:373:+:51:-
+6371:623:190:+:433:-
+5082:3488:undef:undef:undef:undef
+1678:3946:undef:undef:undef:undef
+4793:9662:7755:+:1907:-
+5048:92330:undef:undef:undef:undef
+8094:69507:undef:undef:undef:undef
+4396:99770:undef:undef:undef:undef
+1681:501362:133617:+:367745:-
+3664:615286:undef:undef:undef:undef
+4915:143405:undef:undef:undef:undef
+2529:8023778:488597:+:7535181:-
+9060:5117142:undef:undef:undef:undef
+3287:4585543:4199113:+:386430:-
+3059:41109383:undef:undef:undef:undef
+6509:68600092:46889201:+:21710891:-
+5765:29503680:undef:undef:undef:undef
+6410:988541422:undef:undef:undef:undef
+5705:492883670:undef:undef:undef:undef
+9837:622709937:undef:undef:undef:undef
+3655:3592150238:3034900119:+:557250119:-
+1952:4255266825:3642700238:+:612566587:-
+2461:4785405085:2286727501:+:2498677584:-
+5954:78088441558:undef:undef:undef:undef
+8762:33007375700:undef:undef:undef:undef
+9542:54551528885:6077161518:+:48474367367:-
+9293:309538103946:61654474379:+:247883629567:-
+2401:520030780193:107428266129:+:412602514064:-
+1860:781528831498:undef:undef:undef:undef
+7396:3527877963446:undef:undef:undef:undef
+7279:8941549468508:211285411263:+:8730264057245:-
+9389:6577806996740:1553200352729:+:5024606644011:-
+1296:70387974951888:undef:undef:undef:undef
+8023:45356649307727:32761034867042:+:12595614440685:-
+4902:68896698482573:64525651312422:+:4371047170151:-
+7991:275848275979438:248094301021677:+:27753974957761:-
+5367:165924172274849:66808670819070:+:99115501455779:-
+9289:888834843323870:73296101839389:+:815538741484481:-
+4115:6569146182612215:undef:undef:undef:undef
+7306:9909468711518116:undef:undef:undef:undef
+4152:6781397856986327:6547838152374322:+:233559704612005:-
+3568:47113880300487202:undef:undef:undef:undef
+5809:87547803467030994:75611521775537011:+:11936281691493983:-
+1787:13054054533808260:9832544713209803:+:3221509820598457:-
+9514:605665049151906828:undef:undef:undef:undef
+4853:713499000242966379:399459465003119648:+:314039535239846731:-
+6452:427694734457904864:undef:undef:undef:undef
+4239:8304859947096906141:undef:undef:undef:undef
+3544:1969023207138603883:1313978522822459984:+:655044684316143899:-
+6911:5031564641665892104:4523384621425291223:+:508180020240600881:-
+9912:75163604212370372554:undef:undef:undef:undef
+7130:11987974730099950013:11118720461451748869:+:869254268648201144:-
+4939:23055485714643712760:8827277482565551899:+:14228208232078160861:-
+1121:921401851199540927726:169320946785999492517:+:752080904413541435209:-
+9040:872620802022659606426:undef:undef:undef:undef
+8213:625934818692447812846:529068490364418935441:+:96866328328028877405:-
+4433:4991433139403445570483:2540192457138320145953:+:2451240682265125424530:-
+9508:6901625217196528232233:3753502734341948621043:+:3148122482854579611190:-
+8595:2091945626639426717509:90298060207472636672:+:2001647566431954080837:-
+6813:47447476046608773092632:1476422269467350637845:+:45971053777141422454787:-
+3152:95873769198955185999171:50278978580543439865682:+:45594790618411746133489:-
+2460:65845398973149003429799:13945306042687248287368:+:51900092930461755142431:-
+3269:430088193330985030042478:37496217528091383775499:+:392591975802893646266979:-
+5070:416813042846919276362941:105970811090666459020085:+:310842231756252817342856:-
+5412:756139458478911579084896:undef:undef:undef:undef
+2908:5303962871253938770973780:undef:undef:undef:undef
+1379:7714259532129843754371131:2791454319458152308507030:+:4922805212671691445864101:-
+2517:8085066861806460985962354:undef:undef:undef:undef
+1532:417:371:+:46:-
+2057:951:362:+:589:-
+2802:257:185:+:72:-
+8893:1116:829:+:287:-
+4051:3111:1486:+:1625:-
+1660:5374:undef:undef:undef:undef
+7951:83731:73158:+:10573:-
+4076:13977:1862:+:12115:-
+3504:20428:undef:undef:undef:undef
+1463:331516:330383:+:1133:-
+7658:131185:43597:+:87588:-
+8748:562512:undef:undef:undef:undef
+3593:2809956:452033:+:2357923:-
+2453:4643104:3638013:+:1005091:-
+2136:4937753:349064:+:4588689:-
+4575:12331589:4288428:+:8043161:-
+2609:58309024:14728113:+:43580911:-
+8325:89728602:undef:undef:undef:undef
+5146:730730138:undef:undef:undef:undef
+3767:641508965:50237628:+:591271337:-
+6344:157295950:undef:undef:undef:undef
+4106:4244559109:962417080:+:3282142029:-
+8341:7745917746:4524410893:+:3221506853:-
+3341:2504453707:1836549411:+:667904296:-
+4654:23766898879:117455667:+:23649443212:-
+4312:83083937372:undef:undef:undef:undef
+6336:62487818477:897473403:+:61590345074:-
+2767:105927028089:92336823907:+:13590204182:-
+1984:976324738344:undef:undef:undef:undef
+4735:414765902842:151715848727:+:263050054115:-
+9389:3721921612503:2853777152882:+:868144459621:-
+6021:1665187728854:1191711330947:+:473476397907:-
+1934:8103149503392:undef:undef:undef:undef
+1612:25738933245053:20230290584046:+:5508642661007:-
+3540:63939152728664:undef:undef:undef:undef
+4766:89000380393717:86591431784655:+:2408948609062:-
+6562:806718572406385:57166128645073:+:749552443761312:-
+5363:647761086861909:576982045858538:+:70779041003371:-
+9985:312364388137023:44359809952759:+:268004578184264:-
+9865:3083352379674899:2746105829480351:+:337246550194548:-
+3486:5262233541080355:undef:undef:undef:undef
+9897:2795886360449468:2246992029000209:+:548894331449259:-
+1543:71685648832402483:45204236107535720:+:26481412724866763:-
+5059:12149284758431196:10636327771316815:+:1512956987114381:-
+9027:98514417733518139:9974762136749261:+:88539655596768878:-
+1590:599286719846714674:undef:undef:undef:undef
+2067:720695304468239807:500337572284433538:+:220357732183806269:-
+9965:268446875052372025:undef:undef:undef:undef
+7586:4753743199700456611:3858264814204549348:+:895478385495907263:-
+9659:8337920883000826883:606849402707276250:+:7731071480293550633:-
+4760:7642033057354407992:undef:undef:undef:undef
+2094:89134575223756225143:undef:undef:undef:undef
+3687:57937973605915838098:50285195426886542423:+:7652778179029295675:-
+9497:73534290861324791607:57460037115077527484:+:16074253746247264123:-
+5009:265940345835402303529:234350306751340740223:+:31590039084061563306:-
+5625:724160736203734346852:622713863291993428573:+:101446872911740918279:-
+7897:768215104928952954817:722007408988563863575:+:46207695940389091242:-
+4290:2763058195260869468638:undef:undef:undef:undef
+8843:5262665301247273597054:2180527610965736792899:+:3082137690281536804155:-
+2817:4746510420518800349358:undef:undef:undef:undef
+3575:89260603841583214022691:18451352794106292353222:+:70809251047476921669469:-
+1990:83046096926822537014298:undef:undef:undef:undef
+5184:94679474023243818818404:undef:undef:undef:undef
+6657:650530555659617020407876:undef:undef:undef:undef
+8387:775792776185367363844787:492836999107623383160251:+:282955777077743980684536:-
+1221:574277496439098265859120:28690358134959045223101:+:545587138304139220636019:-
+9454:8404675808910978281111357:7889940533539764358458144:+:514735275371213922653213:-
+1843:7644754921502272571178185:1385430354737796548439237:+:6259324566764476022738948:-
+3570:5516588796955727027671455:undef:undef:undef:undef
+98949:410:59:+:351:-
+13266:325:11:+:314:-
+98861:589:233:+:356:-
+48974:7575:4499:+:3076:-
+91546:8701:undef:undef:undef:undef
+99273:7134:undef:undef:undef:undef
+22509:43674:undef:undef:undef:undef
+37299:79911:undef:undef:undef:undef
+47076:84931:72773:+:12158:-
+42659:475702:169109:+:306593:-
+77892:898781:259704:+:639077:-
+73077:561447:undef:undef:undef:undef
+27369:1403052:undef:undef:undef:undef
+83396:2539666:undef:undef:undef:undef
+85442:8955594:undef:undef:undef:undef
+37950:52345351:31447211:+:20898140:-
+72300:76337550:undef:undef:undef:undef
+44240:64947945:undef:undef:undef:undef
+56331:182321412:undef:undef:undef:undef
+21225:238197444:undef:undef:undef:undef
+91326:886827301:765746233:+:121081068:-
+27120:5634335935:undef:undef:undef:undef
+54438:1056390251:931361367:+:125028884:-
+53176:4885961849:2775504919:+:2110456930:-
+81663:84970728505:14283006872:+:70687721633:-
+31590:19301069967:undef:undef:undef:undef
+77888:82857346995:7290229547:+:75567117448:-
+34574:295082156509:257776548072:+:37305608437:-
+99202:196413828823:137338412898:+:59075415925:-
+45629:890530580343:775986672389:+:114543907954:-
+51796:4593971131457:3315276216749:+:1278694914708:-
+36264:8469175155749:2952674318722:+:5516500837027:-
+41163:2034818270362:939428282923:+:1095389987439:-
+87168:21499737076344:undef:undef:undef:undef
+67323:83794068985826:81674417462827:+:2119651522999:-
+35696:71793903618027:undef:undef:undef:undef
+38329:576830177680735:81417497488919:+:495412680191816:-
+98430:153932887634885:undef:undef:undef:undef
+44287:961212849119997:329252352183493:+:631960496936504:-
+80114:2073377669411928:undef:undef:undef:undef
+21985:1142628526143325:undef:undef:undef:undef
+95702:3519719893062649:2345732111130685:+:1173987781931964:-
+36683:36240802656077687:36121261257571965:+:119541398505722:-
+57437:63961527822744327:56295543221672336:+:7665984601071991:-
+82822:31431824267977187:17745534651980697:+:13686289615996490:-
+80688:582438795398887924:undef:undef:undef:undef
+42150:505083778882003806:undef:undef:undef:undef
+28531:552597772997540668:275049629327330799:+:277548143670209869:-
+95246:2285477974569930952:undef:undef:undef:undef
+72972:5744301120023747275:389581568861995358:+:5354719551161751917:-
+55924:9699425614779400010:undef:undef:undef:undef
+38810:71247342879162927174:undef:undef:undef:undef
+73531:23761524533664966739:12588298652390403766:+:11173225881274562973:-
+87047:64580830908918491764:31801869299468001763:+:32778961609450490001:-
+88987:188928485915225434897:177983894627812811515:+:10944591287412623382:-
+13937:422277203317703208772:undef:undef:undef:undef
+71839:958335971287091697434:636613945374554072091:+:321722025912537625343:-
+14192:8193234122196675355090:undef:undef:undef:undef
+12907:6092668016938878540380:2807243875163516749023:+:3285424141775361791357:-
+40341:1713352207648418574849:undef:undef:undef:undef
+74188:29876754952189326524545:19276845706804961621157:+:10599909245384364903388:-
+83314:41298418475555864250535:21018998471073232731779:+:20279420004482631518756:-
+13233:70540662004411377734367:undef:undef:undef:undef
+73726:783349644379794061043009:436406694295245659186983:+:346942950084548401856026:-
+44560:574722775454549706194083:458810890737089243681376:+:115911884717460462512707:-
+14607:101779793656446637398062:47374602387223980808477:+:54405191269222656589585:-
+71137:4450203389539795390387819:undef:undef:undef:undef
+80078:6660533485970888552376949:831672548343151859876834:+:5828860937627736692500115:-
+13608:9440367365941748799297120:undef:undef:undef:undef
+50921:401:334:+:67:-
+97877:451:406:+:45:-
+19409:830:549:+:281:-
+16269:3792:undef:undef:undef:undef
+70989:2774:2075:+:699:-
+65551:3621:1495:+:2126:-
+83741:83707:2462:+:81245:-
+31113:54174:undef:undef:undef:undef
+66345:51476:4961:+:46515:-
+48935:342063:185225:+:156838:-
+42414:875110:undef:undef:undef:undef
+12980:776423:402747:+:373676:-
+60246:4483256:undef:undef:undef:undef
+64256:3644966:undef:undef:undef:undef
+93314:9976772:undef:undef:undef:undef
+51611:45112350:14680241:+:30432109:-
+43979:87221209:29022833:+:58198376:-
+54687:55376443:20701739:+:34674704:-
+70901:189511063:135820583:+:53690480:-
+54163:378435914:343997079:+:34438835:-
+78792:595879530:undef:undef:undef:undef
+10294:7336496613:6104244559:+:1232252054:-
+56674:5083165310:undef:undef:undef:undef
+34634:9572355226:undef:undef:undef:undef
+21086:61069971786:undef:undef:undef:undef
+58811:81915555957:31578947555:+:50336608402:-
+98975:79653570706:53279969639:+:26373601067:-
+73167:689028842678:328773558511:+:360255284167:-
+15032:304619675359:57572145935:+:247047529424:-
+62170:562667586156:undef:undef:undef:undef
+86350:5600213062628:undef:undef:undef:undef
+57494:9614681701251:8800442211854:+:814239489397:-
+65855:8108371810902:4947393456923:+:3160978353979:-
+44721:78314548293886:13305470314549:+:65009077979337:-
+14231:37307879463486:13220689771229:+:24087189692257:-
+58181:40167230101095:20870307591071:+:19296922510024:-
+39497:178283607402271:144917214361848:+:33366393040423:-
+89106:613175635644377:116729494169142:+:496446141475235:-
+24062:687079804792199:260160589371695:+:426919215420504:-
+36662:3412808637818018:undef:undef:undef:undef
+38271:4993604904186131:4843813719476934:+:149791184709197:-
+61833:3395224137472925:2258485986421472:+:1136738151051453:-
+42304:95477492302360853:36984438028526553:+:58493054273834300:-
+85694:35600816286320844:undef:undef:undef:undef
+56273:35448665629382790:25707259177038407:+:9741406452344383:-
+56222:410518276617429503:225382726412262041:+:185135550205167462:-
+61680:646852640607786873:undef:undef:undef:undef
+56894:101601632777376973:56090373042933057:+:45511259734443916:-
+24811:4362474477594006202:2954266098606847455:+:1408208378987158747:-
+47260:7683273992890237308:undef:undef:undef:undef
+40228:7165125207818969985:573345382419440797:+:6591779825399529188:-
+80803:84606033017234785607:45169358295242644658:+:39436674721992140949:-
+35633:67853495818823395226:undef:undef:undef:undef
+44976:89501753171236978693:23280883367802859608:+:66220869803434119085:-
+20341:525528354368398409736:391620805049711572429:+:133907549318686837307:-
+17454:448296269669821284323:6498164101436048180:+:441798105568385236143:-
+18266:855807357200009516963:484876291452036488068:+:370931065747973028895:-
+74379:2064661858057186460708:1503575931425880447851:+:561085926631306012857:-
+66166:4921748401007848145616:undef:undef:undef:undef
+45793:9514243759286877591576:6189982406054068178233:+:3324261353232809413343:-
+18732:94295295764660778831004:undef:undef:undef:undef
+82599:83255979511964457472937:67862508415380707130600:+:15393471096583750342337:-
+97795:87545737247545873294574:65770978693332408168369:+:21774758554213465126205:-
+54745:550261459492542921785157:10976080258760742909661:+:539285379233782178875496:-
+42622:681641273645333525479165:337782021976047332167553:+:343859251669286193311612:-
+42088:741827036299760514271235:570171136600954021957807:+:171655899698806492313428:-
+67498:6550918562528418654558104:undef:undef:undef:undef
+56270:8864972916949669226442287:7835741211486150672037676:+:1029231705463518554404611:-
+52707:7920325982802298747009841:1379636724687572899165146:+:6540689258114725847844695:-
+83286:303:undef:undef:undef:undef
+62219:403:326:+:77:-
+60122:999:752:+:247:-
+79471:5910:1741:+:4169:-
+28644:8905:7834:+:1071:-
+40773:6832:5085:+:1747:-
+57803:67038:21683:+:45355:-
+28648:62012:undef:undef:undef:undef
+86481:90641:40113:+:50528:-
+44257:164383:26:+:164357:-
+43288:441496:undef:undef:undef:undef
+15300:173438:undef:undef:undef:undef
+64389:2402832:undef:undef:undef:undef
+49675:1431753:310792:+:1120961:-
+27031:2443360:1937351:+:506009:-
+15690:68340859:20040554:+:48300305:-
+77840:58531451:442896:+:58088555:-
+13208:31527760:undef:undef:undef:undef
+17562:495099648:undef:undef:undef:undef
+93813:548117276:192831085:+:355286191:-
+55647:398926417:318807064:+:80119353:-
+53915:1711432114:1161513725:+:549918389:-
+78834:6272337255:undef:undef:undef:undef
+79562:3645096056:undef:undef:undef:undef
+95905:23848163250:undef:undef:undef:undef
+77158:35981680866:undef:undef:undef:undef
+75958:66383765408:undef:undef:undef:undef
+22357:539401373296:236948646381:+:302452726915:-
+25771:735738107887:438513730051:+:297224377836:-
+83354:666169508427:662517140630:+:3652367797:-
+69929:5323662781011:1777320300383:+:3546342480628:-
+14762:4661504054560:undef:undef:undef:undef
+75358:4516377948158:undef:undef:undef:undef
+90004:29675392756153:23274695014106:+:6400697742047:-
+88499:56864787868687:2552197622735:+:54312590245952:-
+11845:42409240189444:38904077999029:+:3505162190415:-
+95443:801932046386432:45153471886683:+:756778574499749:-
+83076:612586904946862:undef:undef:undef:undef
+13643:518127002856406:370622401295585:+:147504601560821:-
+75247:2235081278093313:661699544594266:+:1573381733499047:-
+43709:2933526052767664:1612301731122597:+:1321224321645067:-
+39412:7098306893331081:4543514361059149:+:2554792532271932:-
+57928:66909947699599886:undef:undef:undef:undef
+91436:24155884090393154:undef:undef:undef:undef
+74343:86765416480816093:25222111235313568:+:61543305245502525:-
+78742:857311748410562755:211077987178831883:+:646233761231730872:-
+32733:746784599719552847:608004447576637747:+:138780152142915100:-
+56396:418839627671856927:295503403529248799:+:123336224142608128:-
+19339:6708040388345093314:3615730544914900083:+:3092309843430193231:-
+52591:7788956835575156606:209271472469960569:+:7579685363105196037:-
+39431:6266184931331947233:1341879880301462363:+:4924305051030484870:-
+41048:47417513058902087166:undef:undef:undef:undef
+21660:51830240670458603260:undef:undef:undef:undef
+44649:51877712731989144474:undef:undef:undef:undef
+73019:331734891948663182211:76656251548909104116:+:255078640399754078095:-
+34440:864789807931877675606:undef:undef:undef:undef
+64259:703927794690955719008:168163145649650029451:+:535764649041305689557:-
+60359:3488776244569618305291:1284094386079269707423:+:2204681858490348597868:-
+52349:3248466374539030291737:1839901965750678105599:+:1408564408788352186138:-
+74472:9121556428179600114232:undef:undef:undef:undef
+17120:82426360062482705699251:69662792274769992334256:+:12763567787712713364995:-
+81472:39443110493482443636332:undef:undef:undef:undef
+19672:83904640536249669184777:15520993641287746348282:+:68383646894961922836495:-
+68032:119800381755879704745542:undef:undef:undef:undef
+14671:954262899852278932582327:402168053287890439653502:+:552094846564388492928825:-
+36253:443839688788582885696215:76811579937096765091387:+:367028108851486120604828:-
+47442:7740282115972000012107365:6537358545273851618505333:+:1202923570698148393602032:-
+57997:8939664203212718558761393:144121006776279667093848:+:8795543196436438891667545:-
+17258:7760906177749602734444441:4751969844725927227655256:+:3008936333023675506789185:-
+382831:106:31:+:75:-
+717117:103:10:+:93:-
+419761:407:342:+:65:-
+684662:4655:3198:+:1457:-
+556811:2962:1843:+:1119:-
+626426:7825:7476:+:349:-
+112655:18932:16467:+:2465:-
+157265:49416:undef:undef:undef:undef
+291654:90355:26274:+:64081:-
+807757:623431:443710:+:179721:-
+442546:568999:43215:+:525784:-
+289219:924202:640281:+:283921:-
+833993:2659795:1234522:+:1425273:-
+999098:6219865:628207:+:5591658:-
+505319:2755392:2469143:+:286249:-
+764906:12242940:undef:undef:undef:undef
+918854:73975799:65188187:+:8787612:-
+936006:30713686:undef:undef:undef:undef
+389728:795593461:758821597:+:36771864:-
+410283:741247715:651515627:+:89732088:-
+863639:585548132:571731827:+:13816305:-
+125309:6615586655:286091694:+:6329494961:-
+480278:4014177658:undef:undef:undef:undef
+925749:4780108001:4121162366:+:658945635:-
+475705:24893120028:14124512401:+:10768607627:-
+473425:87402742205:undef:undef:undef:undef
+162850:42138962711:8101496982:+:34037465729:-
+369524:695913039381:20096361923:+:675816677458:-
+444258:292213659559:20466098567:+:271747560992:-
+884807:457111564133:undef:undef:undef:undef
+281219:1590542162352:961144031675:+:629398130677:-
+804856:2407803162606:undef:undef:undef:undef
+822000:3350634512904:undef:undef:undef:undef
+598343:67175827791178:58266885156747:+:8908942634431:-
+937636:75374900754845:66856561699511:+:8518339055334:-
+280101:27516849888005:2272956383086:+:25243893504919:-
+765769:444946424695660:378358060297849:+:66588364397811:-
+487005:487216452554724:undef:undef:undef:undef
+855715:384585362270430:undef:undef:undef:undef
+698372:7908658805163105:3462498457802783:+:4446160347360322:-
+632229:2511136767015791:609202751199510:+:1901934015816281:-
+208970:8888361715251666:undef:undef:undef:undef
+401349:36108675628456296:undef:undef:undef:undef
+925300:55356712541430465:undef:undef:undef:undef
+303003:41761421281752209:40610443802572423:+:1150977479179786:-
+635914:981321060783996848:undef:undef:undef:undef
+190581:427930897683537197:221145120715371477:+:206785776968165720:-
+549281:748948330472277438:663033772526420579:+:85914557945856859:-
+354269:5893703143293242918:3442303672061807981:+:2451399471231434937:-
+710612:6918684676947796782:undef:undef:undef:undef
+853751:7927181203332586141:3677177121636871590:+:4250004081695714551:-
+592571:66770693307736120675:undef:undef:undef:undef
+745402:59943273086564553698:undef:undef:undef:undef
+773173:96349752291182430150:86164883892055274887:+:10184868399127155263:-
+530230:287836166439751422245:undef:undef:undef:undef
+454814:922181329183811692864:undef:undef:undef:undef
+518268:574756602784127806156:undef:undef:undef:undef
+247355:7418956658440683711794:921569656110644408759:+:6497387002330039303035:-
+823678:2873948921091979292348:undef:undef:undef:undef
+283466:1575257888013435070365:216211322165405086616:+:1359046565848029983749:-
+408360:21006006664466201784742:undef:undef:undef:undef
+213820:41933472515487093544690:undef:undef:undef:undef
+273073:25637866891571493627319:25536938909279434889731:+:100927982292058737588:-
+805921:583528496246165735568236:236979959866886837238733:+:346548536379278898329503:-
+704630:708614124591982597303827:252969299062968432232499:+:455644825529014165071328:-
+477264:311205711857391112764521:11178298632143333346161:+:300027413225247779418360:-
+349453:6763935493186266387995961:5787300886587669600619369:+:976634606598596787376592:-
+643778:4147884835388304212949000:undef:undef:undef:undef
+572752:9821905182359163933880667:5602470606793029472376784:+:4219434575566134461503883:-
+632767:177:22:+:155:-
+742290:747:undef:undef:undef:undef
+746580:605:undef:undef:undef:undef
+514793:4052:3173:+:879:-
+768150:2466:undef:undef:undef:undef
+740768:3437:undef:undef:undef:undef
+694815:56911:29751:+:27160:-
+715166:51131:23805:+:27326:-
+808376:62553:19547:+:43006:-
+147052:984361:738659:+:245702:-
+498692:851983:88690:+:763293:-
+494188:397185:350032:+:47153:-
+272826:2788180:undef:undef:undef:undef
+773723:7532270:564957:+:6967313:-
+395098:7545730:undef:undef:undef:undef
+699345:89927315:undef:undef:undef:undef
+224792:67285618:undef:undef:undef:undef
+697669:81520153:71513539:+:10006614:-
+324805:481692647:421692582:+:60000065:-
+428617:402652709:152198754:+:250453955:-
+514180:510342810:undef:undef:undef:undef
+395725:3398841176:2718806685:+:680034491:-
+806085:5698228763:410003:+:5697818760:-
+758866:4322509093:3687865242:+:634643851:-
+538156:77259565152:undef:undef:undef:undef
+861626:99725953338:undef:undef:undef:undef
+941426:32855708545:11253729141:+:21601979404:-
+512447:458023172924:315051535387:+:142971637537:-
+307841:665601770687:110657232214:+:554944538473:-
+941029:327506810106:36185080963:+:291321729143:-
+718771:3597435030808:1809635880947:+:1787799149861:-
+298877:6228183425854:2054437603389:+:4173745822465:-
+657362:8896035441363:3819304751975:+:5076730689388:-
+983132:15337674725688:undef:undef:undef:undef
+572519:51599947378070:42955598189789:+:8644349188281:-
+783869:46509794992104:4158041615693:+:42351753376411:-
+168841:686165777373698:598973171587469:+:87192605786229:-
+559479:682137073335004:300596599238539:+:381540474096465:-
+942932:437113917060902:undef:undef:undef:undef
+338412:3686202417377629:2487433949830201:+:1198768467547428:-
+306985:8677250419071127:8352671476900683:+:324578942170444:-
+322580:5187869531140500:undef:undef:undef:undef
+591139:57010140644545818:1961324206807753:+:55048816437738065:-
+122341:67475431753406564:53020783553757393:+:14454648199649171:-
+273725:19134232963006239:12319796699728496:+:6814436263277743:-
+620624:826910793389445439:345313174179453558:+:481597619209991881:-
+944479:710937883202665508:505322096958990307:+:205615786243675201:-
+451792:937349094102674468:undef:undef:undef:undef
+147549:8477810633609011265:6028278458317959694:+:2449532175291051571:-
+616918:8411386103591141220:undef:undef:undef:undef
+942364:4699569402055856939:3771772934590336405:+:927796467465520534:-
+162166:27766221702807353760:undef:undef:undef:undef
+637904:37231375489384578801:17213464532214448682:+:20017910957170130119:-
+954541:76734375969851776738:7952619752917398747:+:68781756216934377991:-
+624837:272605072424432719366:10291017414697783557:+:262314055009734935809:-
+121192:122487450191181185805:75788553926712188758:+:46698896264468997047:-
+268360:981854519563685868649:56604081354038545513:+:925250438209647323136:-
+916836:6637592345059956856520:undef:undef:undef:undef
+441129:2647896397994030451970:undef:undef:undef:undef
+823605:2802945094980419491281:undef:undef:undef:undef
+139047:19381283931542615172863:11766735182585488990505:+:7614548748957126182358:-
+120641:50372794116225478202470:31694847156227514687321:+:18677946959997963515149:-
+953271:47209627946576472296148:undef:undef:undef:undef
+775455:392255910173754346925186:85612860244627669513693:+:306643049929126677411493:-
+140559:135415313275231958248312:78792118585183771265719:+:56623194690048186982593:-
+215908:497422538654129493080626:undef:undef:undef:undef
+577226:4521763030457479977050766:undef:undef:undef:undef
+336483:2232566503385192143558853:1124361370699712245359616:+:1108205132685479898199237:-
+981167:6843711597542215307891114:4611346410900401562549859:+:2232365186641813745341255:-
+384131:622:453:+:169:-
+181105:423:319:+:104:-
+570259:281:23:+:258:-
+329944:7089:5047:+:2042:-
+561533:4250:3947:+:303:-
+405819:1903:448:+:1455:-
+336386:76290:undef:undef:undef:undef
+867738:34849:1659:+:33190:-
+714000:98618:undef:undef:undef:undef
+619328:981451:311307:+:670144:-
+786505:117946:undef:undef:undef:undef
+435392:830764:undef:undef:undef:undef
+651818:8574777:5674496:+:2900281:-
+480257:3059661:2685206:+:374455:-
+353610:5297044:undef:undef:undef:undef
+910137:56231142:undef:undef:undef:undef
+355928:58325778:undef:undef:undef:undef
+724522:69346199:44096622:+:25249577:-
+499739:330788839:172319791:+:158469048:-
+327111:939191164:684228431:+:254962733:-
+472957:732312861:30862129:+:701450732:-
+315354:7945494854:undef:undef:undef:undef
+171166:5793356868:undef:undef:undef:undef
+673466:5926567000:undef:undef:undef:undef
+542169:34068655996:14872302481:+:19196353515:-
+488992:55628620336:undef:undef:undef:undef
+529192:71983604434:undef:undef:undef:undef
+667352:547530454020:undef:undef:undef:undef
+538746:688567179180:undef:undef:undef:undef
+691318:310492895010:undef:undef:undef:undef
+971750:4971972745075:undef:undef:undef:undef
+177937:1728934359308:1206222653517:+:522711705791:-
+953866:3223373361009:2536471972639:+:686901388370:-
+649883:25735972780719:14691272721566:+:11044700059153:-
+487790:51361382665588:undef:undef:undef:undef
+805205:60948831728458:5404747153715:+:55544084574743:-
+825454:803153870451243:680008099016782:+:123145771434461:-
+501634:295744879767085:undef:undef:undef:undef
+723977:656459776539322:361057093443225:+:295402683096097:-
+482314:7295333069242471:1144969516419692:+:6150363552822779:-
+540249:4402023467326955:1658366105693214:+:2743657361633741:-
+893695:4825358999012802:3596130116908447:+:1229228882104355:-
+101240:16095502213089530:undef:undef:undef:undef
+609077:17767089769624938:5993257331516477:+:11773832438108461:-
+703613:78880725431326108:62187266924516805:+:16693458506809303:-
+605705:347210793890707535:undef:undef:undef:undef
+238251:240645097627324140:undef:undef:undef:undef
+174861:876902513002318198:153630074664024671:+:723272438338293527:-
+517381:7043969400121315143:39713980103934772:+:7004255420017380371:-
+771785:4487637387894239639:3695517362608124501:+:792120025286115138:-
+447938:7834219846849074810:undef:undef:undef:undef
+209346:19255366498759217994:undef:undef:undef:undef
+317635:58737738345751323480:undef:undef:undef:undef
+760038:46133404113582846836:undef:undef:undef:undef
+822994:802960977149957178156:undef:undef:undef:undef
+241095:362329256848889171494:87752826216485151549:+:274576430632404019945:-
+139743:633877051500154062148:206089535489133621431:+:427787516011020440717:-
+887511:7138089737316897145151:4236747582041654894125:+:2901342155275242251026:-
+282482:1626761793485259811961:978578285630835749064:+:648183507854424062897:-
+674434:7454296133153187786883:3122345988973533496578:+:4331950144179654290305:-
+512730:35662057354117934011677:undef:undef:undef:undef
+909680:42958046596782067778330:undef:undef:undef:undef
+215104:21641846102796689784700:undef:undef:undef:undef
+858399:385948280960999152058926:132497673940625236188007:+:253450607020373915870919:-
+749618:151346969987709476166566:undef:undef:undef:undef
+775387:985944457205300862827049:629593437408311280197449:+:356351019796989582629600:-
+634377:9780181173730606721674489:4342718216046817939156301:+:5437462957683788782518188:-
+396769:4651478410441148680581255:133752176164778662891384:+:4517726234276370017689871:-
+580645:2030126568350526726340113:1174794871183466290528789:+:855331697167060435811324:-
+5655726:650:undef:undef:undef:undef
+3608982:289:52:+:237:-
+3994088:988:undef:undef:undef:undef
+7408347:5829:undef:undef:undef:undef
+6570293:5046:4895:+:151:-
+2890506:9077:4893:+:4184:-
+6086931:77051:63685:+:13366:-
+9725532:81184:undef:undef:undef:undef
+3784159:39899:19579:+:20320:-
+2339493:174015:undef:undef:undef:undef
+6826489:275682:220681:+:55001:-
+2169905:760478:194359:+:566119:-
+7222334:6672310:undef:undef:undef:undef
+8569540:8430670:undef:undef:undef:undef
+6237287:1702120:undef:undef:undef:undef
+1349592:35915708:undef:undef:undef:undef
+6392461:75985359:69538849:+:6446510:-
+1446994:73189513:47624214:+:25565299:-
+7813298:350360055:33907847:+:316452208:-
+9584516:362140747:99892152:+:262248595:-
+5570997:148703918:123670023:+:25033895:-
+6112527:8040634747:290170592:+:7750464155:-
+3461395:8025326446:639087155:+:7386239291:-
+4897564:8970391267:1434894011:+:7535497256:-
+9607393:32750238212:28034434321:+:4715803891:-
+3832850:78792881419:undef:undef:undef:undef
+8851804:22858007922:undef:undef:undef:undef
+1926904:516326307131:423786215980:+:92540091151:-
+3263965:248639556344:137406136765:+:111233419579:-
+7603082:530885166191:87600135089:+:443285031102:-
+4656704:1435763396658:undef:undef:undef:undef
+7148411:6170426462326:5267412128309:+:903014334017:-
+3370569:7383771232117:1931141415391:+:5452629816726:-
+7335959:18179577148530:undef:undef:undef:undef
+4618936:79311665961500:undef:undef:undef:undef
+5696694:83331248251003:48001187101587:+:35330061149416:-
+2580167:497964663022384:240219396188711:+:257745266833673:-
+5051426:589883351073091:313902297734522:+:275981053338569:-
+2013014:429904889194083:317067920484407:+:112836968709676:-
+4325378:9363324821601336:undef:undef:undef:undef
+9951937:9472111213174491:5831893583579347:+:3640217629595144:-
+2421719:3874308727618692:2231865566641979:+:1642443160976713:-
+3441677:43388202854410561:24971926384476198:+:18416276469934363:-
+5341718:48133956794968491:15711141966571814:+:32422814828396677:-
+1084162:52310224670223110:undef:undef:undef:undef
+8615182:454607533478095087:416897856881371116:+:37709676596723971:-
+6803890:848484711729563233:791753912200782239:+:56730799528780994:-
+5493160:854968170156028301:558889627922417266:+:296078542233611035:-
+2399932:6737630109030661791:3929904292027376668:+:2807725817003285123:-
+3278186:5488017662014808795:3320998121828418196:+:2167019540186390599:-
+2489290:8830356345749585901:3752975054234879683:+:5077381291514706218:-
+4328469:40513947193980502625:36865597299144041004:+:3648349894836461621:-
+9173561:98904160883542453015:19208950310268847476:+:79695210573273605539:-
+9826877:90940744520365774570:78006721019280311133:+:12934023501085463437:-
+3769503:127891799836486803766:55249179630612139173:+:72642620205874664593:-
+6521895:240621606922309617823:86451695485634236377:+:154169911436675381446:-
+2622185:738592398848526776969:636218095841266628964:+:102374303007260148005:-
+9815218:7848804102470473986906:undef:undef:undef:undef
+3703032:8465216333795486974630:undef:undef:undef:undef
+8496388:5415092488122079939709:3682290399540579299418:+:1732802088581500640291:-
+8007665:19690434466885834488861:6482289419367856225613:+:13208145047517978263248:-
+7422032:39714283117701951853164:undef:undef:undef:undef
+8439818:62331767931472602549127:31523309711269149029452:+:30808458220203453519675:-
+9210966:223916956320044777640909:undef:undef:undef:undef
+2026494:739643382110251162682367:undef:undef:undef:undef
+6855455:307340164166749910577130:undef:undef:undef:undef
+8977941:7108747225126491549407356:4383611100263026771996661:+:2725136124863464777410695:-
+7889075:3965408073830288016838065:undef:undef:undef:undef
+2525554:1897650533385450917294537:1637642278474554210721833:+:260008254910896706572704:-
+5584060:299:14:+:285:-
+6799080:658:undef:undef:undef:undef
+7990684:358:undef:undef:undef:undef
+5335427:1930:183:+:1747:-
+9523579:4713:4642:+:71:-
+6177948:9370:undef:undef:undef:undef
+1119747:22709:7601:+:15108:-
+7600932:81364:undef:undef:undef:undef
+8958647:92225:56283:+:35942:-
+8029198:716576:undef:undef:undef:undef
+3641727:184417:179614:+:4803:-
+3652069:825338:810557:+:14781:-
+5128081:2848667:1763517:+:1085150:-
+7750798:8077812:undef:undef:undef:undef
+4455239:7339175:5178109:+:2161066:-
+3093378:96932285:24946657:+:71985628:-
+3825375:94728039:undef:undef:undef:undef
+5134480:55790850:undef:undef:undef:undef
+5843118:950902156:undef:undef:undef:undef
+3543179:948720653:792525692:+:156194961:-
+8278923:856949252:505624635:+:351324617:-
+4948912:8043341398:undef:undef:undef:undef
+4717992:7074562270:undef:undef:undef:undef
+4439344:5053238197:undef:undef:undef:undef
+6478431:33174024118:32766110109:+:407914009:-
+8260320:41943574978:undef:undef:undef:undef
+4469287:74392333598:30916793407:+:43475540191:-
+6277695:934317508471:undef:undef:undef:undef
+4749423:896523624157:undef:undef:undef:undef
+7669479:775568096961:undef:undef:undef:undef
+6421484:6712822863626:undef:undef:undef:undef
+3985051:7259653372363:undef:undef:undef:undef
+3828425:2858016031505:undef:undef:undef:undef
+9566141:48779533187481:42537945834266:+:6241587353215:-
+3649295:92721133556283:90728590685468:+:1992542870815:-
+3016054:88025249075383:41144908998232:+:46880340077151:-
+9766358:617052500212228:undef:undef:undef:undef
+5082051:886792609787086:102690844943809:+:784101764843277:-
+2498957:347103253520820:52182225902933:+:294921027617887:-
+8334307:1284959991449047:945037226306456:+:339922765142591:-
+8894360:3906581887521471:3236072401706495:+:670509485814976:-
+6870726:4772488827481455:undef:undef:undef:undef
+6184958:28454121310901697:19411404559686758:+:9042716751214939:-
+3522143:41612053000600739:36317506394217007:+:5294546606383732:-
+4304441:70048374385642233:4114415889902438:+:65933958495739795:-
+1652881:514683315419730432:117278086647786097:+:397405228771944335:-
+9213401:482079779283727026:4241102336677031:+:477838676947049995:-
+8691976:894513960165746060:undef:undef:undef:undef
+4229372:6011409689055449759:4869306775314314947:+:1142102913741134812:-
+4912254:3199406486470045574:undef:undef:undef:undef
+8498841:2229300887748970359:undef:undef:undef:undef
+8954335:41184289836022375422:815339321994470671:+:40368950514027904751:-
+1009461:34001895483077710264:15301006226029382829:+:18700889257048327435:-
+8668636:47774777508019969258:undef:undef:undef:undef
+3109154:702540636028380576948:undef:undef:undef:undef
+7565133:791565463176335885267:132203547745301788704:+:659361915431034096563:-
+5564293:200450660661470063226:115111052230699148713:+:85339608430770914513:-
+5062883:9745337553843068528744:2388361600719070882011:+:7356975953123997646733:-
+5544874:9122407409577669572139:8597591364840157589749:+:524816044737511982390:-
+2369312:3743304529754686176140:undef:undef:undef:undef
+5655057:58509875238574917147632:23592319989945361249697:+:34917555248629555897935:-
+2793401:67557641498214083216043:18386269656782813948450:+:49171371841431269267593:-
+8818345:81496249819128302370245:undef:undef:undef:undef
+6760979:888850306283185647734787:106482125846531978903816:+:782368180436653668830971:-
+1318857:644102268401771887439494:354656547596101115368515:+:289445720805670772070979:-
+1469734:736040113380453948588461:266608425089174045948582:+:469431688291279902639879:-
+5121285:9601561590963161796090882:undef:undef:undef:undef
+6927156:9229182964914688893546290:undef:undef:undef:undef
+4640276:7976308977153836912623731:429005357782839459364463:+:7547303619370997453259268:-
+7101148:854:undef:undef:undef:undef
+6076771:264:139:+:125:-
+6612600:848:undef:undef:undef:undef
+2678598:9076:undef:undef:undef:undef
+2156938:5262:undef:undef:undef:undef
+6044361:9080:8321:+:759:-
+3755070:59427:undef:undef:undef:undef
+7735501:78797:32160:+:46637:-
+3448279:39227:24871:+:14356:-
+9588069:712170:undef:undef:undef:undef
+8113600:452368:undef:undef:undef:undef
+6544638:958299:undef:undef:undef:undef
+6256630:2225256:undef:undef:undef:undef
+5319614:4376179:3700276:+:675903:-
+6275684:7465629:4048277:+:3417352:-
+5938383:13804321:12046313:+:1758008:-
+8892727:55320736:28785159:+:26535577:-
+9281954:65094277:18752273:+:46342004:-
+1822497:634656245:436628893:+:198027352:-
+4517402:190358780:undef:undef:undef:undef
+3949561:577176744:28746889:+:548429855:-
+1075019:7220797529:undef:undef:undef:undef
+9765271:7472577100:5173287231:+:2299289869:-
+7565124:6576126932:undef:undef:undef:undef
+6195215:87608631649:49129286286:+:38479345363:-
+2447144:57536659087:34830154668:+:22706504419:-
+3180977:98414048530:37379850253:+:61034198277:-
+1104803:627059414840:270402746227:+:356656668613:-
+1028368:257664539394:undef:undef:undef:undef
+5133914:532298581860:undef:undef:undef:undef
+5853706:5308776986855:2036306624481:+:3272470362374:-
+6678336:6754726066067:undef:undef:undef:undef
+8137003:6288209136044:5914276052907:+:373933083137:-
+8436713:31744903237494:7106441987477:+:24638461250017:-
+7379836:94035085081621:12551834893859:+:81483250187762:-
+3428625:29877201406682:16619274704349:+:13257926702333:-
+1437480:790119172411982:undef:undef:undef:undef
+1978104:694886646181275:undef:undef:undef:undef
+8626883:932583923685966:484268741787419:+:448315181898547:-
+1843744:7728826487085202:undef:undef:undef:undef
+1689669:7974776447223703:271922352975847:+:7702854094247856:-
+5269097:1674442003893203:72130290476655:+:1602311713416548:-
+4512971:28048666850403499:12739645886036889:+:15309020964366610:-
+6716203:23390901946343390:11884782341961187:+:11506119604382203:-
+9534275:45530591224539792:21921635799229163:+:23608955425310629:-
+8013020:607750740458714954:undef:undef:undef:undef
+5465320:549924104241758990:undef:undef:undef:undef
+3828169:244572837794246744:240557944291503305:+:4014893502743439:-
+2448215:2989639008883957686:1784429392382961449:+:1205209616500996237:-
+4637181:2697623441723276177:2145171492485141412:+:552451949238134765:-
+1498569:2252044799094634508:337652908604795485:+:1914391890489839023:-
+1380733:27425035229245696125:20551759084815034522:+:6873276144430661603:-
+7603533:10700369469374182322:4099510685967669067:+:6600858783406513255:-
+3886222:47109075684322880926:undef:undef:undef:undef
+6032858:556129359492489860272:undef:undef:undef:undef
+5373365:640028922314168705131:45795824408434801950:+:594233097905733903181:-
+4150394:633337905137269963366:undef:undef:undef:undef
+1284277:2697754260575630665152:2186331303494684794525:+:511422957080945870627:-
+9220237:8625984232394676377002:2602723732815164808861:+:6023260499579511568141:-
+2645470:3898425419316240609841:1107558831692846248005:+:2790866587623394361836:-
+5943212:87514893265709129839109:78741613611104386601400:+:8773279654604743237709:-
+6994617:95912407644838149138781:undef:undef:undef:undef
+4123100:30621985707378546077387:27976341504075325728784:+:2645644203303220348603:-
+1505190:409057326086093205277094:undef:undef:undef:undef
+5424393:365190044696996042947277:203545037635732495106077:+:161645007061263547841200:-
+7579644:179553099975924754129516:undef:undef:undef:undef
+4271192:9144689425720996342066606:undef:undef:undef:undef
+5188945:3290122276906155297402712:567929059386448031616777:+:2722193217519707265785935:-
+6444628:6249631352793282715425626:undef:undef:undef:undef
+56815526:805:556:+:249:-
+90755503:770:587:+:183:-
+98439727:596:379:+:217:-
+22474430:7378:undef:undef:undef:undef
+19289674:4871:3857:+:1014:-
+24509397:4030:1543:+:2487:-
+62030412:23206:undef:undef:undef:undef
+39217788:39034:undef:undef:undef:undef
+56069302:84818:undef:undef:undef:undef
+66324788:522304:undef:undef:undef:undef
+18530567:582397:398855:+:183542:-
+96798560:876003:530969:+:345034:-
+81179764:6155531:123354:+:6032177:-
+63326339:5290241:146387:+:5143854:-
+29147342:5033996:undef:undef:undef:undef
+18752415:10348213:6999909:+:3348304:-
+52539894:19551663:undef:undef:undef:undef
+27015317:61739495:41344143:+:20395352:-
+84708377:919281123:868102370:+:51178753:-
+85864590:297826256:undef:undef:undef:undef
+35996649:819414809:584307755:+:235107054:-
+75229591:2171426792:1109087967:+:1062338825:-
+25718182:3110493853:536539944:+:2573953909:-
+69461724:2669625813:undef:undef:undef:undef
+72299495:90382180578:50819402375:+:39562778203:-
+35203700:45524408629:undef:undef:undef:undef
+54591713:59746606706:35317455319:+:24429151387:-
+43725049:897870100804:688219771993:+:209650328811:-
+59904750:347591214047:166475835265:+:181115378782:-
+92814462:673437958045:517000080073:+:156437877972:-
+67134428:3133662607307:479768789758:+:2653893817549:-
+46510172:4008823306740:undef:undef:undef:undef
+25893646:8170858852029:4390167435961:+:3780691416068:-
+36410306:44715644560484:undef:undef:undef:undef
+27419780:76275048350081:67131869367827:+:9143178982254:-
+94170424:23254328710960:undef:undef:undef:undef
+69450890:670439220834333:531417036196232:+:139022184638101:-
+77976966:424569969701461:56050148124895:+:368519821576566:-
+62440990:417130014208565:undef:undef:undef:undef
+41343049:5637228499975107:3927317711174689:+:1709910788800418:-
+95394679:3335484783591393:2850482859880636:+:485001923710757:-
+42456309:5000937112814486:2846015824723787:+:2154921288090699:-
+36127570:91149105559390967:2657395901697198:+:88491709657693769:-
+12708835:36869763976600725:undef:undef:undef:undef
+68949250:55721346766041169:40523938526553788:+:15197408239487381:-
+23759782:493183027582267096:undef:undef:undef:undef
+10985807:697493548323858106:107841850761271717:+:589651697562586389:-
+30775812:640402397676048683:572039585948725382:+:68362811727323301:-
+87602261:2111576025521252285:293865054674215696:+:1817710970847036589:-
+59453561:9177486117054954593:8218160518851317534:+:959325598203637059:-
+86666776:8568099406660577220:undef:undef:undef:undef
+85488759:73641354847375916419:2582651606311777307:+:71058703241064139112:-
+43486359:80562029236780559201:49577781407057245623:+:30984247829723313578:-
+68562931:63822926861777136415:56596271446531244161:+:7226655415245892254:-
+57516930:109556882616719282073:undef:undef:undef:undef
+91054524:571273987348229732390:undef:undef:undef:undef
+81528288:913437482584784518797:undef:undef:undef:undef
+99911660:4950141751120231252285:undef:undef:undef:undef
+13990875:8928299170359766356217:3977166213122118507721:+:4951132957237647848496:-
+77450552:9633447200737521109817:7123597353372759571338:+:2509849847364761538479:-
+99849234:62351929593531206742747:undef:undef:undef:undef
+26192122:35144124563841590669403:9796592434889558819329:+:25347532128952031850074:-
+53708361:62566467497821534152201:undef:undef:undef:undef
+67777625:232717097222397862001502:31281896235547296178715:+:201435200986850565822787:-
+31161293:323231468822941819103669:229611918826305543073306:+:93619549996636276030363:-
+91110241:329106458814843970800581:28089579166305214489675:+:301016879648538756310906:-
+51474694:3053822587493552051244323:1218446859834630780166504:+:1835375727658921271077819:-
+27447303:4971868109554611327522578:3450168475006847962477095:+:1521699634547763365045483:-
+76652381:8637884770632064105237081:2085070691702722033835788:+:6552814078929342071401293:-
+48521962:694:undef:undef:undef:undef
+48596127:856:839:+:17:-
+84146878:427:184:+:243:-
+62798715:9134:541:+:8593:-
+25834783:1043:858:+:185:-
+55793751:4869:undef:undef:undef:undef
+81639641:29032:841:+:28191:-
+59623450:99705:undef:undef:undef:undef
+84135497:64036:689:+:63347:-
+77151548:419165:141702:+:277463:-
+44441096:156109:124268:+:31841:-
+58134604:305586:undef:undef:undef:undef
+18068112:7937375:2644548:+:5292827:-
+49222480:7678482:undef:undef:undef:undef
+18825853:7656298:5500627:+:2155671:-
+65199433:64629347:38476889:+:26152458:-
+15281900:60343996:undef:undef:undef:undef
+20666769:18272977:8181257:+:10091720:-
+41141537:677379590:447495573:+:229884017:-
+18679281:845663650:421949571:+:423714079:-
+50105911:621004816:18234343:+:602770473:-
+18791786:9798565996:undef:undef:undef:undef
+40518921:1877096876:134204697:+:1742892179:-
+33212177:1482811828:1044348377:+:438463451:-
+36035592:37291748667:undef:undef:undef:undef
+84032327:94198644633:28947543821:+:65251100812:-
+52509174:65971297521:undef:undef:undef:undef
+47385209:322740096521:104496652436:+:218243444085:-
+37318176:170793088515:undef:undef:undef:undef
+60574438:512852464945:171278522527:+:341573942418:-
+36400188:5484916608000:undef:undef:undef:undef
+83223321:3664681424027:1458958901295:+:2205722522732:-
+44722194:1760869789814:undef:undef:undef:undef
+94352998:10900374499523:6185481313898:+:4714893185625:-
+68109005:10840226656418:10112021763371:+:728204893047:-
+94059901:39993251959655:28615749964046:+:11377501995609:-
+27315027:402965754303983:311724543018810:+:91241211285173:-
+12864333:778107077930471:375050121352547:+:403056956577924:-
+59053655:102905122720754:60686680699083:+:42218442021671:-
+51804535:9307919041555425:undef:undef:undef:undef
+76195770:5466923835123176:undef:undef:undef:undef
+93471761:6345935241859625:2083865459463966:+:4262069782395659:-
+33570183:61185607853401404:undef:undef:undef:undef
+35499121:75849646070631348:22479829913500069:+:53369816157131279:-
+37200756:51814119082729596:undef:undef:undef:undef
+93259441:567384336938641594:202917177634233729:+:364467159304407865:-
+70802854:193319754475168628:undef:undef:undef:undef
+20752886:905606253856984890:undef:undef:undef:undef
+11467604:9218626987938898390:undef:undef:undef:undef
+88185572:4669885828161683495:2328817213802521173:+:2341068614359162322:-
+80790660:6445566315406924693:2833016907261817062:+:3612549408145107631:-
+50627714:11088833353032449016:undef:undef:undef:undef
+92324997:15664530676890811099:9884176997121608512:+:5780353679769202587:-
+54831892:64935749703708330568:undef:undef:undef:undef
+68138945:943461738383586835873:609569461046503699945:+:333892277337083135928:-
+93166751:697894432631572005262:149812410202525239179:+:548082022429046766083:-
+46484870:990801754101308640954:undef:undef:undef:undef
+10553539:1171463360891161974574:607894828392506981503:+:563568532498654993071:-
+10033196:1088007293491080230421:1024060976396162358788:+:63946317094917871633:-
+47228752:7879205525885164834759:2560001167724755786448:+:5319204358160409048311:-
+16708238:93659694480091921619067:24815547177835449180566:+:68844147302256472438501:-
+37601284:15633449594452509144565:6692113211069073883384:+:8941336383383435261181:-
+21481753:90038249629096778504710:88025878736918119975657:+:2012370892178658529053:-
+45900111:400941147310599293692930:118358291678862165481571:+:282582855631737128211359:-
+68810788:937888432093836684889312:undef:undef:undef:undef
+32925170:539819639305432274019558:undef:undef:undef:undef
+72237529:6139984266288987531023882:3896023742342755757318091:+:2243960523946231773705791:-
+66055160:9322487012180571255660365:undef:undef:undef:undef
+82241635:4861039800604203190504430:undef:undef:undef:undef
+23739681:563:409:+:154:-
+36893166:776:undef:undef:undef:undef
+39554904:759:undef:undef:undef:undef
+49258679:9607:6468:+:3139:-
+99371686:3376:undef:undef:undef:undef
+33369757:1684:161:+:1523:-
+70264152:42138:undef:undef:undef:undef
+33462000:57276:undef:undef:undef:undef
+62361299:91188:58235:+:32953:-
+85650721:845680:213681:+:631999:-
+24277050:699841:644439:+:55402:-
+25711842:413055:undef:undef:undef:undef
+12447729:9919240:193529:+:9725711:-
+96556227:6470183:2254031:+:4216152:-
+28835465:4283301:1398572:+:2884729:-
+80132637:42185681:29908304:+:12277377:-
+35241370:33161806:undef:undef:undef:undef
+89140386:64631484:undef:undef:undef:undef
+30989165:596273032:309718157:+:286554875:-
+12388482:842375810:undef:undef:undef:undef
+68707400:161250250:undef:undef:undef:undef
+13664862:9339533245:8347657963:+:991875282:-
+79612588:5972694959:undef:undef:undef:undef
+66729477:7299675050:5159351763:+:2140323287:-
+49708234:68920434697:51294094315:+:17626340382:-
+45613873:58147238900:35290164137:+:22857074763:-
+43782671:74825659679:36217014252:+:38608645427:-
+61002269:853269225033:828966503642:+:24302721391:-
+26251544:751403385332:undef:undef:undef:undef
+27722269:543551590424:71001340461:+:472550249963:-
+78851606:2179596451570:undef:undef:undef:undef
+25804423:4696530713654:2916148860253:+:1780381853401:-
+71387805:7058973347511:undef:undef:undef:undef
+64119687:19348771492733:2313296638554:+:17035474854179:-
+28098583:71828271534611:18138890128088:+:53689381406523:-
+17848938:31866503137897:12681264431078:+:19185238706819:-
+63271259:968668422083848:331156433419067:+:637511988664781:-
+99865602:671719468975839:undef:undef:undef:undef
+89880032:193972817975472:undef:undef:undef:undef
+39570681:4002837545604292:1256786106665245:+:2746051438939047:-
+66051058:5329069590288729:3491143915437145:+:1837925674851584:-
+48195503:3267457073288160:772598110702127:+:2494858962586033:-
+27442817:17417928150703441:10140048125476522:+:7277880025226919:-
+92153106:43772581597012442:undef:undef:undef:undef
+77455337:49755332999608758:47739668468093075:+:2015664531515683:-
+56212328:739660843721507256:undef:undef:undef:undef
+66664067:186610646714807957:75155845224497067:+:111454801490310890:-
+44142123:632473348084377463:330456029987885838:+:302017318096491625:-
+41947281:6781341911666311815:undef:undef:undef:undef
+77968394:3147167955135818645:2452530167309821539:+:694637787825997106:-
+51368235:5383330098873455117:1540477274307520826:+:3842852824565934291:-
+70685715:73978236652582036893:undef:undef:undef:undef
+14029506:78383232893824454701:53764550254066435351:+:24618682639758019350:-
+93017914:70937671158770576199:46305934243943565133:+:24631736914827011066:-
+66353995:373480850604532194044:147356150678966755799:+:226124699925565438245:-
+92938084:529689654952902920374:undef:undef:undef:undef
+13412084:568384516281716860412:undef:undef:undef:undef
+10071012:6330063941759886362600:undef:undef:undef:undef
+51134181:1467192954784541197545:undef:undef:undef:undef
+93121244:1427440391992557419063:916159427193218712485:+:511280964799338706578:-
+41309652:67974030334244637655409:18567750682028200174479:+:49406279652216437480930:-
+46116880:21275837137442429987308:undef:undef:undef:undef
+82356374:12923467939382709352430:undef:undef:undef:undef
+55366450:600506763374829419654035:undef:undef:undef:undef
+34104424:220304456393449755266475:202200524540913547152799:+:18103931852536208113676:-
+88038969:165677913359742976790445:undef:undef:undef:undef
+63638993:4416974696703510241845051:1626003509190049054350461:+:2790971187513461187494590:-
+88880457:6160127441683330345303948:3698331872350914226543417:+:2461795569332416118760531:-
+22224266:3813357357407726021795654:undef:undef:undef:undef
+883429905:239:131:+:108:-
+843095866:601:235:+:366:-
+197243366:182:undef:undef:undef:undef
+154911512:5141:2551:+:2590:-
+684843161:2221:1874:+:347:-
+559491181:6435:3946:+:2489:-
+121572434:83486:undef:undef:undef:undef
+600400316:13111:12330:+:781:-
+282716255:78439:53238:+:25201:-
+288197999:101271:48194:+:53077:-
+747532114:200228:undef:undef:undef:undef
+431794237:930383:401484:+:528899:-
+572708906:1842080:undef:undef:undef:undef
+668180136:5909173:1403896:+:4505277:-
+928079954:2330078:undef:undef:undef:undef
+497337562:95933091:70951108:+:24981983:-
+867263390:30144015:undef:undef:undef:undef
+467930791:81260280:68031631:+:13228649:-
+496061871:725410310:8978471:+:716431839:-
+742700902:666139481:470001762:+:196137719:-
+772610806:708497394:undef:undef:undef:undef
+122392073:8252960557:5849450680:+:2403509877:-
+748036066:9581456115:4389559126:+:5191896989:-
+219508248:4210771028:undef:undef:undef:undef
+593716482:21247936917:undef:undef:undef:undef
+182449347:72475225103:64456164892:+:8019060211:-
+314053899:31780217662:31189936465:+:590281197:-
+200687800:521954653261:376627763655:+:145326889606:-
+806215853:619611194613:4447405922:+:615163788691:-
+625519048:932638846045:543707677862:+:388931168183:-
+196373726:9669217505235:7762184472341:+:1907033032894:-
+539566454:8865581563953:1085126661689:+:7780454902264:-
+417298561:2311840425971:1005455288483:+:1306385137488:-
+989243073:49832606587910:19083371313907:+:30749235274003:-
+195957819:38364918117450:undef:undef:undef:undef
+651199163:37681701261540:27078920707607:+:10602780553933:-
+278027839:914043394179692:328502168026287:+:585541226153405:-
+133110730:626224446433740:undef:undef:undef:undef
+968325625:686344396032962:244300368685131:+:442044027347831:-
+621285390:4311519283585095:undef:undef:undef:undef
+767336537:9664107805517444:183460288872889:+:9480647516644555:-
+588276529:3156955752166072:3154282686556065:+:2673065610007:-
+935073468:43435916971067865:undef:undef:undef:undef
+837523391:97280820491028275:82436855807677536:+:14843964683350739:-
+568799219:51493119182065471:15334878988945222:+:36158240193120249:-
+514230474:654095868247719919:2589149033732265:+:651506719213987654:-
+188386003:120128586539588092:106977377324885299:+:13151209214702793:-
+205028107:525637628572920391:82186297870224597:+:443451330702695794:-
+994054000:2954713543860708334:undef:undef:undef:undef
+774885303:4313366464358728081:21573498071706015:+:4291792966287022066:-
+112043498:1731101813308863889:455029004039469849:+:1276072809269394040:-
+208594103:31068771392561577293:28597068752221188318:+:2471702640340388975:-
+488372701:66266215069889121202:64842385366783436653:+:1423829703105684549:-
+343220148:77369409024585464276:undef:undef:undef:undef
+314029158:196307421458445448775:116762791499706896597:+:79544629958738552178:-
+441075525:474301702458929835745:undef:undef:undef:undef
+109418169:800946160289866122897:undef:undef:undef:undef
+236632924:3573718583127829454612:undef:undef:undef:undef
+468200740:5411564248590924938866:undef:undef:undef:undef
+350222056:6113166483154822185796:undef:undef:undef:undef
+132461946:52328655294364796336187:undef:undef:undef:undef
+887479370:44059129839001500314381:21422904208429019151527:+:22636225630572481162854:-
+678448686:66904770167813977388667:undef:undef:undef:undef
+768427425:377674300515566506794817:104210228506052186013696:+:273464072009514320781121:-
+922098288:847269837350122098564638:undef:undef:undef:undef
+284720405:365794083952128062573197:210438918605672507200620:+:155355165346455555372577:-
+827723531:8794759148138489090701004:7161760586670868724155111:+:1632998561467620366545893:-
+379286755:6081091408847129199173575:undef:undef:undef:undef
+417201678:8698548455087166099684761:1521259314471452587502494:+:7177289140615713512182267:-
+397240908:862:undef:undef:undef:undef
+818752762:270:undef:undef:undef:undef
+616478520:825:undef:undef:undef:undef
+512448691:8994:7057:+:1937:-
+603784315:3860:undef:undef:undef:undef
+892788622:9782:undef:undef:undef:undef
+401991616:47678:undef:undef:undef:undef
+923404619:90679:58655:+:32024:-
+700137231:40836:undef:undef:undef:undef
+203888384:359764:undef:undef:undef:undef
+751199018:566530:undef:undef:undef:undef
+191600433:935701:717710:+:217991:-
+567383547:1535201:17819:+:1517382:-
+562383132:8474308:undef:undef:undef:undef
+862029053:7876601:5631926:+:2244675:-
+893044074:32229142:undef:undef:undef:undef
+644296137:18925602:undef:undef:undef:undef
+475626379:31691232:21285187:+:10406045:-
+832425608:392739855:250568597:+:142171258:-
+199889416:704265601:504331320:+:199934281:-
+978604540:175889777:36296563:+:139593214:-
+585503092:9057799712:undef:undef:undef:undef
+119547941:3126207405:2618647346:+:507560059:-
+447424949:3275147317:2530241497:+:744905820:-
+568796741:65694710980:34397263201:+:31297447779:-
+551197335:51642549256:1541173463:+:50101375793:-
+223879560:78950562873:undef:undef:undef:undef
+453508623:931147937349:undef:undef:undef:undef
+142990845:919406050212:undef:undef:undef:undef
+224065099:387468429387:82364691298:+:305103738089:-
+792365981:7219430403941:365505214194:+:6853925189747:-
+776748101:2064245743332:141791386961:+:1922454356371:-
+688232162:4633958434134:undef:undef:undef:undef
+905496526:11817098263685:undef:undef:undef:undef
+771720261:57836008919288:42607669787677:+:15228339131611:-
+497096496:65107756330432:undef:undef:undef:undef
+410626572:410139631372933:19416226973289:+:390723404399644:-
+786408518:763792281184323:264967407556100:+:498824873628223:-
+421657879:756550457103685:588112140809899:+:168438316293786:-
+523604004:2877758465549810:undef:undef:undef:undef
+461669517:8226793504589051:6374450896711752:+:1852342607877299:-
+300181504:1271686476051532:undef:undef:undef:undef
+267974301:78005629279493273:46438072854390167:+:31567556425103106:-
+807818917:95314908522294362:88808816494546789:+:6506092027747573:-
+243884885:51346056252266544:36834699562686797:+:14511356689579747:-
+532188782:405217730483088308:undef:undef:undef:undef
+459877643:282147288320933817:57329522679596804:+:224817765641337013:-
+933891523:394787651615513793:22070377672822048:+:372717273942691745:-
+862611446:1161250948291856543:1047150244829279363:+:114100703462577180:-
+484619574:8487857715230530978:undef:undef:undef:undef
+788426737:8217278190616588126:7893048959187923123:+:324229231428665003:-
+547779268:11630002460638849613:6370733863555851967:+:5259268597082997646:-
+251766220:26251400866817952811:7412420530729632086:+:18838980336088320725:-
+494752719:48622894393070478957:undef:undef:undef:undef
+767049336:791436666159935219053:275809336137758774997:+:515627330022176444056:-
+408628141:843545915132174213949:529481510616827615566:+:314064404515346598383:-
+469417077:263709255549230772677:141522049232505946297:+:122187206316724826380:-
+264889274:2926560323119362796564:undef:undef:undef:undef
+221419267:1296410333062937556900:445468159442430327403:+:850942173620507229497:-
+833792033:1942668528859952362009:899026270786294210099:+:1043642258073658151910:-
+101973304:58568850938011564432796:undef:undef:undef:undef
+934999765:59753345065693175459502:55083047173673608414957:+:4670297892019567044545:-
+416919865:75043519171027116644197:47078094509079366710526:+:27965424661947749933671:-
+791615775:521385005581184676834827:324988247498802464958060:+:196396758082382211876767:-
+374008119:627922933681359783670244:330482369196042981914591:+:297440564485316801755653:-
+822807197:453606953810968114941347:186748831783759526348418:+:266858122027208588592929:-
+746891368:7864903400761016410253577:1356599359297693796570143:+:6508304041463322613683434:-
+370047092:1704498463364560756156428:undef:undef:undef:undef
+737742518:1901258092485545089338212:undef:undef:undef:undef
+506705415:994:993:+:1:-
+647593796:796:undef:undef:undef:undef
+708815998:578:undef:undef:undef:undef
+887052376:7673:5229:+:2444:-
+413081226:5919:undef:undef:undef:undef
+994599722:3531:2:+:3529:-
+844373423:58384:35327:+:23057:-
+375626762:21319:10623:+:10696:-
+733265627:12164:8663:+:3501:-
+499242851:339102:157175:+:181927:-
+864779327:705006:544085:+:160921:-
+752228722:537523:undef:undef:undef:undef
+499232435:8551224:7184171:+:1367053:-
+236982396:1458728:undef:undef:undef:undef
+922436254:2071793:1884658:+:187135:-
+894766270:68651174:undef:undef:undef:undef
+366692807:63905637:22375706:+:41529931:-
+849438794:13148065:9581384:+:3566681:-
+591001640:618251727:15141515:+:603110212:-
+397862927:837051460:undef:undef:undef:undef
+675795839:532564056:135517367:+:397046689:-
+417639477:4398363060:undef:undef:undef:undef
+526369373:8135902330:1620141147:+:6515761183:-
+183218716:9006603417:7049158309:+:1957445108:-
+923980750:94755069959:undef:undef:undef:undef
+789387451:88149024058:77991872869:+:10157151189:-
+571127906:19710998757:15037240280:+:4673758477:-
+698103737:216920098357:49831269842:+:167088828515:-
+549591836:854066180146:undef:undef:undef:undef
+419115188:325856763873:164933077910:+:160923685963:-
+481478216:9086744572620:undef:undef:undef:undef
+420189227:5739435696720:5155886189363:+:583549507357:-
+517419356:8498426682596:undef:undef:undef:undef
+352005764:48729341538714:undef:undef:undef:undef
+702795815:37160297152533:20096402711606:+:17063894440927:-
+227099978:58256460576380:undef:undef:undef:undef
+376171310:258548466583650:undef:undef:undef:undef
+690017593:377080886496272:251226246773641:+:125854639722631:-
+186948188:495279019989700:undef:undef:undef:undef
+283798239:1965974385993344:1568211290271775:+:397763095721569:-
+969096348:6261312907103392:undef:undef:undef:undef
+244593320:5059802746358925:undef:undef:undef:undef
+815483678:80083787497801525:16119100382694517:+:63964687115107008:-
+814203759:59760202907132217:undef:undef:undef:undef
+514083401:97091120171649058:undef:undef:undef:undef
+360819549:407324746421774172:undef:undef:undef:undef
+157695487:194647209998605218:8161180096324747:+:186486029902280471:-
+602578029:169480079856106820:101728567280015629:+:67751512576091191:-
+405802569:2383778357087955189:undef:undef:undef:undef
+447687990:4185778187887997142:undef:undef:undef:undef
+538054734:5746384560506186737:undef:undef:undef:undef
+426428011:27300739414594875836:25196216475851450539:+:2104522938743425297:-
+432205094:76077990467750523935:31388757444103673189:+:44689233023646850746:-
+573307801:73779071715843531734:41321002245477783309:+:32458069470365748425:-
+679318375:580705898398364048906:200463993861723162803:+:380241904536640886103:-
+361893779:860225730293714521997:undef:undef:undef:undef
+655461048:706633758700058821654:undef:undef:undef:undef
+129404401:4096953153424413604662:3124320859969723095787:+:972632293454690508875:-
+341535500:7645731931898181634664:undef:undef:undef:undef
+383154445:1012521510194606626450:undef:undef:undef:undef
+795321088:93567180722814566931139:undef:undef:undef:undef
+275485768:89210350122218304999307:60063107723796901221898:+:29147242398421403777409:-
+229108471:55226631269097392735299:13501243239809771791200:+:41725388029287620944099:-
+709485417:915954855215312179597360:906244704064186120927673:+:9710151151126058669687:-
+723607178:687376702919933236090565:275933469823503454396497:+:411443233096429781694068:-
+531519039:268884822594147934201480:30542663603937076757759:+:238342158990210857443721:-
+972630944:2862969356276619196048571:1021373465545458735386152:+:1841595890731160460662419:-
+861332012:6636614088896377972141106:undef:undef:undef:undef
+296143212:3225291872114536173673964:undef:undef:undef:undef
+5148123445:914:421:+:493:-
+2156188712:536:undef:undef:undef:undef
+8291499958:895:857:+:38:-
+4253844263:4155:1292:+:2863:-
+1358421452:7367:1673:+:5694:-
+9730117517:9295:3233:+:6062:-
+4743334107:21543:undef:undef:undef:undef
+1101209189:37171:753:+:36418:-
+1511883525:59689:46903:+:12786:-
+7831509333:801926:16723:+:785203:-
+1901678424:628922:undef:undef:undef:undef
+7582083726:553752:undef:undef:undef:undef
+2814121196:6720204:undef:undef:undef:undef
+9041977165:3574257:1209775:+:2364482:-
+4665349605:1741859:undef:undef:undef:undef
+9654885508:11320405:5070547:+:6249858:-
+8544595875:81826780:undef:undef:undef:undef
+4491577979:44839325:37909494:+:6929831:-
+5894419727:209676047:undef:undef:undef:undef
+3422175244:200901170:undef:undef:undef:undef
+9073863612:285704419:undef:undef:undef:undef
+3010456331:1575223721:358803466:+:1216420255:-
+3675209249:1238920469:348052350:+:890868119:-
+3076955755:2044728121:819483755:+:1225244366:-
+5532449106:11804864757:undef:undef:undef:undef
+2178321516:72446432820:undef:undef:undef:undef
+8141624878:24177169161:12669591040:+:11507578121:-
+4373829532:361530049790:undef:undef:undef:undef
+6510438062:221919090285:118395549053:+:103523541232:-
+2923624068:928301613177:undef:undef:undef:undef
+6422616650:1821551105905:undef:undef:undef:undef
+3920819292:3609657590139:undef:undef:undef:undef
+8529302041:8171890540911:6330113830732:+:1841776710179:-
+8283075058:99249682083240:undef:undef:undef:undef
+7714159938:42279030272060:undef:undef:undef:undef
+8830465691:94598224923192:1238025432947:+:93360199490245:-
+6503804316:893134882044913:595341231988876:+:297793650056037:-
+3020967744:692332434884097:undef:undef:undef:undef
+5707972016:416981172056363:319046936750814:+:97934235305549:-
+7802276257:5121005781327377:1006470380725860:+:4114535400601517:-
+8488092258:5898469708005668:undef:undef:undef:undef
+5719273281:6621050033188944:undef:undef:undef:undef
+4269820845:97690537236763468:83725800953243273:+:13964736283520195:-
+4890136257:67781149490980209:undef:undef:undef:undef
+1249614077:13434251636315727:8033650483878155:+:5400601152437572:-
+7567169928:209400997888616374:undef:undef:undef:undef
+2892092078:809180780834786061:459957472215866399:+:349223308618919662:-
+5059477571:225235022670459161:188872579792036573:+:36362442878422588:-
+3296846539:3419541167968110901:3375814864108936545:+:43726303859174356:-
+3755465778:5985810828658626985:3396977572175897167:+:2588833256482729818:-
+8440375029:7500789156286352849:740815062674890403:+:6759974093611462446:-
+7200372756:67154895069447055956:undef:undef:undef:undef
+1129552307:47029208094293947604:7082422936839559503:+:39946785157454388101:-
+2149757725:67859417827284636751:46371390131760805747:+:21488027695523831004:-
+9142316269:430441115080170066523:160600796982128766071:+:269840318098041300452:-
+3787820619:404407421001507234094:314994134692265924347:+:89413286309241309747:-
+1783571232:759228725504543081212:undef:undef:undef:undef
+5259924308:8647842759402242582039:2573478635201018217649:+:6074364124201224364390:-
+7549596943:9126835586456198292095:5602555267454219862537:+:3524280319001978429558:-
+5502628004:1921833832195605113404:undef:undef:undef:undef
+2734794642:20341260710298800232522:undef:undef:undef:undef
+6649682442:20588599858934853156107:6112141034906005902861:+:14476458824028847253246:-
+7945061400:80888029696624048552137:undef:undef:undef:undef
+5318739090:371043970435050967481651:undef:undef:undef:undef
+7813005156:625486598641910843913099:undef:undef:undef:undef
+7596209423:838237546042044839786955:592126700174737059178067:+:246110845867307780608888:-
+5542001838:4371473048465980598505528:undef:undef:undef:undef
+9215909038:4418497062287071779597132:undef:undef:undef:undef
+9088238948:6385259025471575663888098:undef:undef:undef:undef
+7141106533:421:64:+:357:-
+4608309022:353:267:+:86:-
+3215543482:147:79:+:68:-
+5960988438:4252:undef:undef:undef:undef
+7407872116:9905:4691:+:5214:-
+1707352681:5638:1339:+:4299:-
+2628785609:94072:46265:+:47807:-
+6960760204:83288:undef:undef:undef:undef
+1420175176:10837:5726:+:5111:-
+4471827497:750478:19619:+:730859:-
+1058033319:745141:79035:+:666106:-
+4707692720:459142:undef:undef:undef:undef
+6872130879:7596812:3927615:+:3669197:-
+7337043892:6212023:4023595:+:2188428:-
+6562355347:6847846:769323:+:6078523:-
+7414460013:35105897:20727442:+:14378455:-
+2431585113:94138027:11221501:+:82916526:-
+8926085180:67232734:undef:undef:undef:undef
+2696422432:384919346:undef:undef:undef:undef
+2518225632:701394234:undef:undef:undef:undef
+4582392418:484897725:332579557:+:152318168:-
+1593126296:8704586019:4313576687:+:4391009332:-
+5576970406:5468430807:undef:undef:undef:undef
+8122724503:5592354812:407232599:+:5185122213:-
+7223414134:97520329077:69882438535:+:27637890542:-
+4483962895:50989493417:22740942054:+:28248551363:-
+5920178769:92950702035:undef:undef:undef:undef
+2000396391:775202780024:474916861247:+:300285918777:-
+9068883969:512247505350:undef:undef:undef:undef
+8726799433:501767727686:365378905449:+:136388822237:-
+4162671941:8271806934045:2346236556626:+:5925570377419:-
+9810813468:2254470979839:undef:undef:undef:undef
+6945957450:7134739113826:undef:undef:undef:undef
+5419725549:77513920051398:undef:undef:undef:undef
+3295597344:51067657361328:undef:undef:undef:undef
+7797262227:23985104215078:8462208296939:+:15522895918139:-
+9200570839:665110102190379:582850578047767:+:82259524142612:-
+4054467081:444097977689960:35609249338001:+:408488728351959:-
+2328973673:134392175876030:133853800850287:+:538375025743:-
+9707764065:9353285118262517:8693519242135388:+:659765876127129:-
+5251765881:6585119250077577:undef:undef:undef:undef
+4958537228:3685944437151997:2359687219399978:+:1326257217752019:-
+4975107553:23849725039900792:21463622386830961:+:2386102653069831:-
+8053531898:48866091437980762:undef:undef:undef:undef
+1989915545:37444679715007743:27086022928847654:+:10358656786160089:-
+2274266940:380230297405974554:undef:undef:undef:undef
+7338671999:237032697192956945:114810539536337184:+:122222157656619761:-
+2672076311:710161125077350588:321797615692800887:+:388363509384549701:-
+8556132773:4273339019207528078:4068075955799074695:+:205263063408453383:-
+1323128849:4987603262857552256:261890174330778097:+:4725713088526774159:-
+9331227869:7559757703317873620:3503205231111896789:+:4056552472205976831:-
+8306683275:56040420057499208079:undef:undef:undef:undef
+4923726787:32491667952172724505:undef:undef:undef:undef
+6004565244:39053779102790486024:undef:undef:undef:undef
+9180567367:292488594180822005393:43500015152127356759:+:248988579028694648634:-
+2420974275:787720949136879886353:undef:undef:undef:undef
+3831811701:973713277862130004663:798753610573946524675:+:174959667288183479988:-
+3116728212:5194005128166435062520:undef:undef:undef:undef
+3748674459:8253306548305148592778:6985466021063217658211:+:1267840527241930934567:-
+7726337119:1711126095512018755532:1472383168750974544079:+:238742926761044211453:-
+9859039295:99630480228978284598204:22064746749929907191903:+:77565733479048377406301:-
+1792896124:78644699454890690955397:5831488120861206829374:+:72813211334029484126023:-
+9010729274:34056143941643853006739:6606395455177648232830:+:27449748486466204773909:-
+8936492080:555179115685053102546996:undef:undef:undef:undef
+8938045036:158058717726679139758931:134184101055217884924706:+:23874616671461254834225:-
+3500736605:306848482537996666861469:27823706542582270505843:+:279024775995414396355626:-
+2570452638:8186554279070548480048270:undef:undef:undef:undef
+9208061087:2701158110687268893701976:212687115087574009549807:+:2488470995599694884152169:-
+3532767804:9850603484307820118068443:undef:undef:undef:undef
+3292630474:213:61:+:152:-
+1177035926:343:124:+:219:-
+5064628398:613:600:+:13:-
+5420258143:2333:715:+:1618:-
+2548536092:5414:undef:undef:undef:undef
+9049476761:1324:901:+:423:-
+7468130895:73550:undef:undef:undef:undef
+3069055502:31332:undef:undef:undef:undef
+4586171713:73361:33095:+:40266:-
+2813493595:433822:182311:+:251511:-
+3293589659:537694:159753:+:377941:-
+9787848035:981797:213028:+:768769:-
+1211767981:8865597:6153958:+:2711639:-
+7527077162:7316748:undef:undef:undef:undef
+2070631145:7877295:undef:undef:undef:undef
+5645876442:89643311:44878003:+:44765308:-
+2975863384:95054744:undef:undef:undef:undef
+2450125441:59716025:25381411:+:34334614:-
+9328387451:347474581:22697295:+:324777286:-
+7276736230:578768518:undef:undef:undef:undef
+8097844197:917805224:557826189:+:359979035:-
+5542614594:6263902233:undef:undef:undef:undef
+5588307923:1304223418:957834829:+:346388589:-
+2722553554:1785897687:undef:undef:undef:undef
+5846164789:30892076600:12826419709:+:18065656891:-
+9270685632:43883358098:undef:undef:undef:undef
+2907786447:99699869702:58350311387:+:41349558315:-
+4116050874:917931378901:551387474688:+:366543904213:-
+8014825660:693906835721:293375057978:+:400531777743:-
+2663764664:228156532609:81691276315:+:146465256294:-
+2216340909:1830341637693:undef:undef:undef:undef
+3316192213:9424145394847:6989463246321:+:2434682148526:-
+6416738464:3780072063461:2897533443094:+:882538620367:-
+6398251523:31846913227394:9077643971549:+:22769269255845:-
+6774543830:15485228438096:undef:undef:undef:undef
+9139588413:85631225260902:undef:undef:undef:undef
+2646660555:520978488306377:481168766170461:+:39809722135916:-
+1708166460:687677804741176:undef:undef:undef:undef
+8068783734:576077966548200:undef:undef:undef:undef
+7391778815:8793490006282730:undef:undef:undef:undef
+4425797098:2649756886789703:982517753185920:+:1667239133603783:-
+1927668536:4517684294149869:2094599833025534:+:2423084461124335:-
+8846194493:89458969050968238:88473476513555807:+:985492537412431:-
+1356247734:57708536612380408:undef:undef:undef:undef
+9283400862:60164628617545143:undef:undef:undef:undef
+7134997642:970590878828337637:11475370761699700:+:959115508066637937:-
+2448044081:497521607705096257:169690938174749282:+:327830669530346975:-
+6630294043:355118381517905481:296879341228857643:+:58239040289047838:-
+9048703865:6775156322220288085:undef:undef:undef:undef
+3360043023:1552463462349220474:1359694808020382509:+:192768654328837965:-
+6322110489:2929628186953843343:768202880076132022:+:2161425306877711321:-
+1952190995:34944557910816697735:undef:undef:undef:undef
+1752383842:47799193299118514504:undef:undef:undef:undef
+2591178285:20716078546776381544:542167759790812421:+:20173910786985569123:-
+8122148705:719406089648357733188:66006084391585545997:+:653400005256772187191:-
+9694973346:719872599872040467710:undef:undef:undef:undef
+7651220450:199587106552578178892:undef:undef:undef:undef
+2042227136:9977487099852483689869:5552448050932507152839:+:4425039048919976537030:-
+7678908931:2066109744744204323008:1080949980017941914603:+:985159764726262408405:-
+6776427617:5565961119662384144160:3174002324552687900033:+:2391958795109696244127:-
+5506956101:91373598288783887124420:52538003723684051988161:+:38835594565099835136259:-
+7750135453:82335349859501196087584:19437141841512928708533:+:62898208017988267379051:-
+8167436712:29797131824570137765228:undef:undef:undef:undef
+9607370311:121631427998360740391950:116991644172432396453041:+:4639783825928343938909:-
+8423935365:390669097503232686224283:undef:undef:undef:undef
+7679416321:812057216216967914616590:97719265386820648344381:+:714337950830147266272209:-
+6616861234:7124598459490387096368946:undef:undef:undef:undef
+8037474856:4394869798590543002227680:undef:undef:undef:undef
+8489232501:1079711269233988143651568:696154355808976351663373:+:383556913425011791988195:-
+19619863951:640:111:+:529:-
+85774558372:870:undef:undef:undef:undef
+68692077395:768:731:+:37:-
+18817191633:1247:undef:undef:undef:undef
+41607799272:4043:undef:undef:undef:undef
+91664653876:1953:1228:+:725:-
+30295176945:65091:undef:undef:undef:undef
+68580059047:31143:31099:+:44:-
+18531360333:62597:5961:+:56636:-
+64931971582:770747:224390:+:546357:-
+76273168395:550050:undef:undef:undef:undef
+12687319250:219475:undef:undef:undef:undef
+59300897639:4792393:3288541:+:1503852:-
+18756681129:2651540:260449:+:2391091:-
+11621386352:9988923:9327119:+:661804:-
+11671142180:50629990:undef:undef:undef:undef
+71178649986:68816970:undef:undef:undef:undef
+74013301662:71022147:undef:undef:undef:undef
+23241107541:263070580:undef:undef:undef:undef
+48817631495:693874447:559839348:+:134035099:-
+27002573153:991130369:406278786:+:584851583:-
+30110051854:5633080520:undef:undef:undef:undef
+81689406704:9011232668:undef:undef:undef:undef
+79230938200:2105447195:undef:undef:undef:undef
+19365367706:75075911763:24226164476:+:50849747287:-
+81083049942:58913389052:undef:undef:undef:undef
+51257009494:45938599459:23115072005:+:22823527454:-
+42158677183:461384086321:266329865164:+:195054221157:-
+39442909636:102294989999:3097205854:+:99197784145:-
+57275117957:625569596710:26729474233:+:598840122477:-
+46504908030:4891760428228:undef:undef:undef:undef
+73684339754:1844138927702:undef:undef:undef:undef
+74088481666:4699906983901:3721697754973:+:978209228928:-
+26129624873:18411432449513:11761232099671:+:6650200349842:-
+19345524820:32205951498816:undef:undef:undef:undef
+72054302316:43379703428064:undef:undef:undef:undef
+15616222576:848488993596498:undef:undef:undef:undef
+69547304804:514984536664451:202506076568533:+:312478460095918:-
+12293860148:265512282165446:undef:undef:undef:undef
+81199025845:5621389577199773:1852579536987082:+:3768810040212691:-
+19058227448:4631815971859621:2500260977776959:+:2131554994082662:-
+25706178209:2852697247397245:1094513648549039:+:1758183598848206:-
+84487466920:92135420088227056:undef:undef:undef:undef
+83614464584:41550747062790023:10299015965969792:+:31251731096820231:-
+59989677087:48741797004563563:45861780904575978:+:2880016099987585:-
+98582067675:315525240004800411:undef:undef:undef:undef
+64232583500:425410208124592332:undef:undef:undef:undef
+76934972176:727225029234317401:291112039937901025:+:436112989296416376:-
+61795142851:5908241486766574299:1531764824706643039:+:4376476662059931260:-
+17457170535:3166396673218459506:undef:undef:undef:undef
+17204815290:7640687601245950106:undef:undef:undef:undef
+13967589922:24620673542453299190:undef:undef:undef:undef
+18996604311:10500459771152570191:3463067987556565681:+:7037391783596004510:-
+99529301459:57003647317599090016:52933805965895779835:+:4069841351703310181:-
+21766161947:523274541742761821127:450482897901685064168:+:72791643841076756959:-
+16942826435:591722373918366385353:524166819689054326493:+:67555554229312058860:-
+16804448482:991556680669357611557:313610950653156070248:+:677945730016201541309:-
+81417123102:8626004426690250806770:undef:undef:undef:undef
+57810478745:1158648995310485169745:undef:undef:undef:undef
+42914795809:6665983779754125038980:4126687974584465643489:+:2539295805169659395491:-
+36093280350:40741055983857332591795:undef:undef:undef:undef
+23163546490:56263620282139603069750:undef:undef:undef:undef
+52441622976:91907271791271848630774:undef:undef:undef:undef
+73971752879:404396346841326960342107:22483415704898398667030:+:381912931136428561675077:-
+27383552312:807536823690462158322754:undef:undef:undef:undef
+42968002345:415025458708440421452321:172637226598767276175501:+:242388232109673145276820:-
+56637065473:5574917704969584786035494:3393062316543458531439975:+:2181855388426126254595519:-
+54752779821:1020499444245376121307585:undef:undef:undef:undef
+27299076726:6195794248399897805538700:undef:undef:undef:undef
+55988303440:634:undef:undef:undef:undef
+46289482707:161:20:+:141:-
+34475152213:652:401:+:251:-
+24163728134:8820:undef:undef:undef:undef
+78921381692:8895:5813:+:3082:-
+36157304038:1699:1458:+:241:-
+12383420501:12298:10209:+:2089:-
+54189087986:77426:undef:undef:undef:undef
+30993698782:93964:undef:undef:undef:undef
+11005868465:704848:445329:+:259519:-
+97908567288:287127:undef:undef:undef:undef
+96142337868:537820:undef:undef:undef:undef
+48033736196:8356003:6621839:+:1734164:-
+14258068690:3307074:undef:undef:undef:undef
+98242695686:4794491:1781294:+:3013197:-
+98332246156:40701738:undef:undef:undef:undef
+40762113568:82218554:undef:undef:undef:undef
+72222947107:43372717:29069642:+:14303075:-
+78858771447:705940446:undef:undef:undef:undef
+22845209534:511457632:undef:undef:undef:undef
+79202751925:496736846:288940043:+:207796803:-
+44015419886:1370027108:undef:undef:undef:undef
+14740617678:3671326471:644054363:+:3027272108:-
+51283387001:5035534773:82346837:+:4953187936:-
+67754140782:44107492775:9159793518:+:34947699257:-
+11450645657:38008624524:2221092461:+:35787532063:-
+93908675218:35502305764:undef:undef:undef:undef
+84530484757:938890630219:731105383278:+:207785246941:-
+96222678102:738162054175:465387276063:+:272774778112:-
+31749891953:251063841485:101595824997:+:149468016488:-
+87542080948:4505635455016:undef:undef:undef:undef
+54977683045:2773383989258:2493438831321:+:279945157937:-
+40569027555:3615108721226:2518147895043:+:1096960826183:-
+96291110886:28425070691517:undef:undef:undef:undef
+90612281235:85629366724855:undef:undef:undef:undef
+72510178601:17727060776225:12348745682926:+:5378315093299:-
+81306457060:235145400944969:180271187967402:+:54874212977567:-
+77551956070:152737902472109:115292749343806:+:37445153128303:-
+18362092979:592849786460608:477159064023803:+:115690722436805:-
+12568366235:9296831581308712:5572180343877843:+:3724651237430869:-
+32759208696:6898093370301786:undef:undef:undef:undef
+86487216018:1356322070287283:1033263875860896:+:323058194426387:-
+43914979501:57851110256120623:26951290016793684:+:30899820239326939:-
+69218213150:33753764914433418:undef:undef:undef:undef
+21903718070:22400970582554760:undef:undef:undef:undef
+76550114186:169590921694397453:5275067267806340:+:164315854426591113:-
+70700648633:927920898274164342:809756760862902311:+:118164137411262031:-
+50954298786:439015263921052931:312517981376514752:+:126497282544538179:-
+14627845587:2683727529903671189:2626648958035451369:+:57078571868219820:-
+60001277877:4213480590674859045:undef:undef:undef:undef
+52726275559:2418314281060146017:1713693942213228018:+:704620338846917999:-
+70956433758:45183728941930903369:6737839567038249981:+:38445889374892653388:-
+84333137725:76868163100446856378:43511485431239100287:+:33356677669207756091:-
+46154315150:66357754943455880708:undef:undef:undef:undef
+27492026281:461493792779773393753:273687143887649719341:+:187806648892123674412:-
+23028559122:780782875393389511867:183222780259840839928:+:597560095133548671939:-
+20879898887:289240418968940471885:50011166837551006998:+:239229252131389464887:-
+33866533095:5430286568999498031613:4587703373107517096426:+:842583195891980935187:-
+72490997240:2853832777203682859457:557816804946260305562:+:2296015972257422553895:-
+58220508034:6960755318661979297176:undef:undef:undef:undef
+16773993745:82309308062191131745025:undef:undef:undef:undef
+90780122928:47914764005555535189608:undef:undef:undef:undef
+63272632392:14598393722836057045170:undef:undef:undef:undef
+67616722802:523323411117586836682950:undef:undef:undef:undef
+27385890062:753331857256691046762753:143202707642973498385235:+:610129149613717548377518:-
+46682532055:909883549673243508446865:undef:undef:undef:undef
+56316904954:4264791344244348532158840:undef:undef:undef:undef
+86843264136:6475134836481391542091695:undef:undef:undef:undef
+85244758659:1704360995315663471149471:1375716319199516032741418:+:328644676116147438408053:-
+24288217979:353:280:+:73:-
+66458437156:386:undef:undef:undef:undef
+19718646513:263:106:+:157:-
+95474310552:3437:1683:+:1754:-
+38871356282:4851:undef:undef:undef:undef
+75182558334:4501:3035:+:1466:-
+74796843655:36032:4343:+:31689:-
+36050059224:23891:17103:+:6788:-
+19863094194:89750:undef:undef:undef:undef
+19905915706:975620:undef:undef:undef:undef
+71406378496:659897:96547:+:563350:-
+43322859235:411789:410749:+:1040:-
+54974583785:3916040:undef:undef:undef:undef
+81903616712:2458455:undef:undef:undef:undef
+59628024735:5215309:2878549:+:2336760:-
+28705160170:49545545:undef:undef:undef:undef
+67752993660:52948818:undef:undef:undef:undef
+66859909995:35372569:9054285:+:26318284:-
+67527342817:655522510:538008753:+:117513757:-
+15698643693:766331281:174247520:+:592083761:-
+47450816662:410707617:49859089:+:360848528:-
+75603025144:4189222864:undef:undef:undef:undef
+73542271399:3273988801:501635612:+:2772353189:-
+45694664349:8734878798:undef:undef:undef:undef
+66595291204:11729868098:undef:undef:undef:undef
+69501488320:85284086864:undef:undef:undef:undef
+36661815348:89160068445:undef:undef:undef:undef
+92705945126:470374778708:undef:undef:undef:undef
+69447267027:560775857202:undef:undef:undef:undef
+91303815250:359828355259:191892328492:+:167936026767:-
+88976813390:5090743771836:undef:undef:undef:undef
+94356842579:7970259562466:6140210284291:+:1830049278175:-
+14492287394:5950877408494:undef:undef:undef:undef
+27377195044:42999393154994:undef:undef:undef:undef
+69047709710:28449727256942:undef:undef:undef:undef
+10410308560:63997569964861:13451003143715:+:50546566821146:-
+15409058311:251828247387937:14973162977052:+:236855084410885:-
+10493672545:954153415958701:232340346578521:+:721813069380180:-
+45989252217:996320980569464:767378780584985:+:228942199984479:-
+96873617454:5297182065317071:3240764072557170:+:2056417992759901:-
+57978276673:6703901945872064:5953616472118145:+:750285473753919:-
+59366938953:2908760366126304:undef:undef:undef:undef
+57388386219:84252041112507045:undef:undef:undef:undef
+28368803324:53635056952793524:undef:undef:undef:undef
+74853209254:18038062502188903:13709777410524861:+:4328285091664042:-
+94418480790:763270562490260143:378221230890785994:+:385049331599474149:-
+32960652072:514712124794857785:undef:undef:undef:undef
+23965240606:111896153469198055:96865110870983806:+:15031042598214249:-
+92890852933:4317209390559678089:3232811696386326621:+:1084397694173351468:-
+66083051517:7484014451845132056:undef:undef:undef:undef
+95548308792:8571649108925026632:undef:undef:undef:undef
+61587506973:75655998703340740251:undef:undef:undef:undef
+36492167113:64830970919116544035:34452121223046558792:+:30378849696069985243:-
+47414170431:66283011233668339228:19945104413754249579:+:46337906819914089649:-
+83952874484:379577007442534770606:undef:undef:undef:undef
+13453938845:627742400476848768996:55527279406551179597:+:572215121070297589399:-
+57271608113:500351574761368549681:222800521860369745774:+:277551052900998803907:-
+75522487555:3299190756552280864693:36819551463387917873:+:3262371205088892946820:-
+27300549379:1326735055393879199770:573991737436460673979:+:752743317957418525791:-
+54911657319:5008374103159935107694:undef:undef:undef:undef
+88672660086:62868971409272686179217:13131443217355368132150:+:49737528191917318047067:-
+27721936547:61710975468863072396278:5078284672196140324593:+:56632690796666932071685:-
+76420567898:80335752099127143873694:undef:undef:undef:undef
+88462594363:373377635745075437414215:293799652323092890492982:+:79577983421982546921233:-
+87117815521:446513595128302477101979:136577511334768668327783:+:309936083793533808774196:-
+71148729807:125512385439385059891171:undef:undef:undef:undef
+51232114548:8590143757101949690560324:undef:undef:undef:undef
+81326725359:9593507402105112306658329:undef:undef:undef:undef
+22023900520:4971687822738244653894775:undef:undef:undef:undef
+801813494781:678:undef:undef:undef:undef
+614649489779:680:339:+:341:-
+582713490936:534:undef:undef:undef:undef
+138606539624:3468:undef:undef:undef:undef
+386646887249:9695:undef:undef:undef:undef
+992742944667:2311:1570:+:741:-
+991566673011:94751:70371:+:24380:-
+934470329536:63740:undef:undef:undef:undef
+735070146288:48146:undef:undef:undef:undef
+499441086171:764408:481699:+:282709:-
+736447819242:890416:undef:undef:undef:undef
+410744422180:431391:289234:+:142157:-
+872858999230:2932636:undef:undef:undef:undef
+464130848993:4486986:undef:undef:undef:undef
+801198442388:1478327:98963:+:1379364:-
+834528120443:22957683:4097378:+:18860305:-
+839083962592:88971800:undef:undef:undef:undef
+531999704660:91700683:20060210:+:71640473:-
+951291519081:903005862:undef:undef:undef:undef
+406295209764:191808480:undef:undef:undef:undef
+767630672948:285294076:undef:undef:undef:undef
+396206089628:2380922308:undef:undef:undef:undef
+864084658545:9876586333:7807255949:+:2069330384:-
+629351403044:1233285831:904356758:+:328929073:-
+917873706628:10214454505:6101416017:+:4113038488:-
+450336168952:47050406832:undef:undef:undef:undef
+327961264819:46354078350:43277401879:+:3076676471:-
+278152160238:754274017268:undef:undef:undef:undef
+334541849439:476377132358:5307918097:+:471069214261:-
+780640258206:789810965956:undef:undef:undef:undef
+212461885210:5797066227880:undef:undef:undef:undef
+358408720871:2519755171595:1684455160376:+:835300011219:-
+788432904683:4182666982493:4130571200403:+:52095782090:-
+549268238393:19442212278951:undef:undef:undef:undef
+299139446754:85037920015177:4498991335615:+:80538928679562:-
+585454695380:25115210430725:undef:undef:undef:undef
+254753561822:408768593967668:undef:undef:undef:undef
+966499320594:561141265883477:376004264706584:+:185137001176893:-
+680059330643:339509077857030:283334972558237:+:56174105298793:-
+239462108548:4528624397365167:715439292109942:+:3813185105255225:-
+609935772510:6892067195528656:undef:undef:undef:undef
+112362176049:9796890405922436:7452815293824665:+:2344075112097771:-
+257709487380:21971416237355067:undef:undef:undef:undef
+908934155940:68186412126027786:undef:undef:undef:undef
+354247575039:21510025228683664:undef:undef:undef:undef
+119319075259:879239967878656841:177736259493621362:+:701503708385035479:-
+804254523797:494089498623257412:386906269134652865:+:107183229488604547:-
+543221015155:733108339586390616:602413514390930539:+:130694825195460077:-
+568086994695:5769435733689987503:973755647218364807:+:4795680086471622696:-
+799727942309:8979693967765833002:2415278824207885017:+:6564415143557947985:-
+262366830869:9917829171066368767:8908431466306839038:+:1009397704759529729:-
+801958327711:75230504966207135247:505610354521913512:+:74724894611685221735:-
+782629705679:34606782233158928567:29884919549816155087:+:4721862683342773480:-
+652996323722:68540063885331894960:undef:undef:undef:undef
+618053685018:736741605628135241112:undef:undef:undef:undef
+406188625527:883406927340539746609:314635529675945416790:+:568771397664594329819:-
+961813236447:385820578449172054833:undef:undef:undef:undef
+519982801173:4684227705145691031760:896467670168264582477:+:3787760034977426449283:-
+611688941091:4157999422802404413994:2207749577029259571213:+:1950249845773144842781:-
+730284254238:3480969249312179218785:undef:undef:undef:undef
+962781074516:38324004299157166567680:undef:undef:undef:undef
+466950241209:26172428851429591731402:undef:undef:undef:undef
+596945181824:72614887504841250169861:49703032847455033134280:+:22911854657386217035581:-
+180618611008:244105423934601423461897:204271227432580695863257:+:39834196502020727598640:-
+795860848202:245855528325337206180642:undef:undef:undef:undef
+352183699793:582097768277589867216208:530299208567115343858145:+:51798559710474523358063:-
+723063138545:1534932171795810802951721:1170330456803857815612608:+:364601714991952987339113:-
+325553416597:3379566852740653736562254:364983928274271006821517:+:3014582924466382729740737:-
+731090681506:4019669485829341860348651:undef:undef:undef:undef
+539838998545:507:7:+:500:-
+170374512797:247:161:+:86:-
+424990958887:145:98:+:47:-
+108807278437:5932:2521:+:3411:-
+233178939657:5653:2715:+:2938:-
+807027977703:2472:undef:undef:undef:undef
+976598436356:98616:undef:undef:undef:undef
+988230847568:44612:undef:undef:undef:undef
+470364205892:15544:undef:undef:undef:undef
+302425071635:563277:319988:+:243289:-
+219475754879:216142:161539:+:54603:-
+699147054562:562075:172348:+:389727:-
+829675206608:8793826:undef:undef:undef:undef
+589355140011:9099979:1109186:+:7990793:-
+392952480622:8491184:undef:undef:undef:undef
+890224064397:88284845:66381333:+:21903512:-
+933681679825:22982808:20235145:+:2747663:-
+782012973700:51684539:50010492:+:1674047:-
+197248910099:873744194:94469581:+:779274613:-
+845643881183:710460352:53055455:+:657404897:-
+202542417637:738541112:706082709:+:32458403:-
+661052617861:4115902967:2324341310:+:1791561657:-
+344531027219:9317694786:7166878709:+:2150816077:-
+394613663847:5654080162:4999665219:+:654414943:-
+484541465210:33438466317:16660420985:+:16778045332:-
+125383494408:23161568367:undef:undef:undef:undef
+444600126192:99689925705:undef:undef:undef:undef
+173574844181:932314550107:579904335202:+:352410214905:-
+969975211838:270079957135:27981089787:+:242098867348:-
+122749761441:399795628752:undef:undef:undef:undef
+242192263334:6476490046110:undef:undef:undef:undef
+524444428681:5071522667390:4569120426681:+:502402240709:-
+178409154818:4375991059484:undef:undef:undef:undef
+614830537503:30539577929795:4585805722412:+:25953772207383:-
+735071268099:66368563915236:undef:undef:undef:undef
+532875829676:12877186055234:undef:undef:undef:undef
+437988491749:737381170127270:645693715044929:+:91687455082341:-
+481846189288:359568635873405:270518854521647:+:89049781351758:-
+458103515841:515501956010102:160770845332143:+:354731110677959:-
+508366057145:9372236974262244:7974731481400649:+:1397505492861595:-
+120232323906:4447604417367689:2894149251255209:+:1553455166112480:-
+876848598384:1685318971853925:undef:undef:undef:undef
+138479501588:32578168424815627:31166212113160317:+:1411956311655310:-
+533666642770:89068727957463288:undef:undef:undef:undef
+479439297147:15922726166951385:undef:undef:undef:undef
+638497067661:972469011671173991:416750023327742201:+:555718988343431790:-
+691022108095:930027344334722104:576090462433909527:+:353936881900812577:-
+742847282780:283642538218216660:undef:undef:undef:undef
+782713557290:5984673682556848052:undef:undef:undef:undef
+797082615787:2591352534815129064:1377191795208135163:+:1214160739606993901:-
+142147996405:7537086787316841635:undef:undef:undef:undef
+991358285792:91466066258249912028:undef:undef:undef:undef
+874948329633:14393999125077889850:8683795833169725347:+:5710203291908164503:-
+772007967276:49324783064443875324:undef:undef:undef:undef
+605080207724:966301645828029386288:undef:undef:undef:undef
+112771167321:835668669621252857343:undef:undef:undef:undef
+571031238297:231760969553061898185:undef:undef:undef:undef
+316861472933:8755918478458246353336:5302141659834143239253:+:3453776818624103114083:-
+711694537086:5504077889510662473729:undef:undef:undef:undef
+635580457016:3051056699952132842912:undef:undef:undef:undef
+939251853436:49421899701983410182541:14799618160338254984383:+:34622281541645155198158:-
+888292517231:68887410489854961995824:20504636833150226385823:+:48382773656704735610001:-
+964362919556:15768924368455017921710:undef:undef:undef:undef
+664102667876:194250347475587692617411:153400360282828944863537:+:40849987192758747753874:-
+628159632643:156250197014367830057358:49621189973332877595865:+:106629007041034952461493:-
+924459152964:755408685432182186988710:undef:undef:undef:undef
+795212888341:4749615418256194201950885:3589927199807610352267411:+:1159688218448583849683474:-
+969306949612:3526700003112794244981402:undef:undef:undef:undef
+435130827079:2289524153226895212844946:466605775871864438867941:+:1822918377355030773977005:-
+592023096465:674:443:+:231:-
+858771784505:189:122:+:67:-
+483521220209:100:89:+:11:-
+512353038734:5427:1358:+:4069:-
+460292553468:3641:undef:undef:undef:undef
+924385840680:3549:undef:undef:undef:undef
+622797518286:11295:undef:undef:undef:undef
+728830918974:68279:36546:+:31733:-
+179031377630:83507:54019:+:29488:-
+714861405363:749881:194966:+:554915:-
+126498673205:306460:undef:undef:undef:undef
+433396611768:456306:undef:undef:undef:undef
+347938737984:6561022:undef:undef:undef:undef
+267433286769:2185923:undef:undef:undef:undef
+299888302428:9021353:undef:undef:undef:undef
+944411807076:60730977:undef:undef:undef:undef
+656857562869:52710527:8028730:+:44681797:-
+175039832667:53058033:undef:undef:undef:undef
+600321209741:876570444:148325921:+:728244523:-
+410801666277:284543609:222814218:+:61729391:-
+934740036637:787608667:186849586:+:600759081:-
+236251494131:1982052282:677355641:+:1304696641:-
+404959025398:1835550551:770382556:+:1065167995:-
+870672061651:8280586756:7288456715:+:992130041:-
+572275112907:54558901682:6459971709:+:48098929973:-
+310335763983:31560369965:12580055557:+:18980314408:-
+963607527071:66865319675:undef:undef:undef:undef
+533277562731:594926647034:214370455925:+:380556191109:-
+125436023478:260253445336:undef:undef:undef:undef
+733358546590:106351570723:96439581950:+:9911988773:-
+840320962822:4147586246170:undef:undef:undef:undef
+960532701335:6973956365960:undef:undef:undef:undef
+940977431443:1369840828496:undef:undef:undef:undef
+184865250154:55595929368115:33676359108719:+:21919570259396:-
+557735659133:35419485572251:6061027410573:+:29358458161678:-
+379969274283:88031094139616:38462907988099:+:49568186151517:-
+156962092805:192152126661625:undef:undef:undef:undef
+878028583425:409543286706155:undef:undef:undef:undef
+723236876934:466911911788602:undef:undef:undef:undef
+838452683171:5034250413598108:3149945721189243:+:1884304692408865:-
+539963468802:3504260435362874:undef:undef:undef:undef
+822428386557:7975273187941436:75155367835073:+:7900117820106363:-
+620025888923:72077595277040803:41727007177332291:+:30350588099708512:-
+887089341627:97437220182961738:15191900082606955:+:82245320100354783:-
+550152697503:28685896999083677:27775086852710002:+:910810146373675:-
+907736859418:495594698307592668:undef:undef:undef:undef
+844532449421:226525458486119867:92675357026312623:+:133850101459807244:-
+290030108234:888870145425067508:undef:undef:undef:undef
+223122478973:4881707225380243751:2311386379376493401:+:2570320846003750350:-
+838180527233:4519190109670626723:468414027727324931:+:4050776081943301792:-
+503051187421:2986323539257458540:2714589881726022901:+:271733657531435639:-
+438195809002:20686076842979970998:undef:undef:undef:undef
+928756754537:21351950083797573408:16808974269714514361:+:4542975814083059047:-
+778766734206:73769662894814226457:40320347784044131633:+:33449315110770094824:-
+404444348596:402652786177066040565:63723374664283980286:+:338929411512782060279:-
+405709159924:476722172728050310518:undef:undef:undef:undef
+123809934304:467789418272878823578:undef:undef:undef:undef
+483364523636:8434115723329816871422:undef:undef:undef:undef
+702997471346:6291500282469527412753:4760928087614525369936:+:1530572194855002042817:-
+864677216967:4548263631270988546497:undef:undef:undef:undef
+332643775867:76365755420873705024515:28669607070400315778498:+:47696148350473389246017:-
+113763860947:98151136623085544064307:25867928408202816739980:+:72283208214882727324327:-
+765104930615:98441551806993047906760:undef:undef:undef:undef
+286058050022:728576305264353758098427:139752879596817105465930:+:588823425667536652632497:-
+716047877999:607838965660317020098603:278584770701658770655661:+:329254194958658249442942:-
+510369088451:857801163425997715664873:444460478417136686526255:+:413340685008861029138618:-
+307360985951:3503288763328136255311097:2510688541034734103910912:+:992600222293402151400185:-
+853276639479:8130173718146949584851816:4601270129124500684525999:+:3528903589022448900325817:-
+178828950235:7207199066268548234950097:643719687732055328545714:+:6563479378536492906404383:-
+1291023501350:388:undef:undef:undef:undef
+8914519194391:964:535:+:429:-
+3785490447532:442:undef:undef:undef:undef
+1032797957148:3713:523:+:3190:-
+8646717950722:5093:867:+:4226:-
+7822123404306:7646:undef:undef:undef:undef
+4626583585009:89356:87537:+:1819:-
+9079556803019:46195:38574:+:7621:-
+2390480680998:28534:undef:undef:undef:undef
+5307875865096:638454:undef:undef:undef:undef
+2604054585447:177301:162624:+:14677:-
+9572431315314:829208:undef:undef:undef:undef
+6524154613882:4271176:undef:undef:undef:undef
+9214492721347:7906028:4237191:+:3668837:-
+8988524600670:3354387:undef:undef:undef:undef
+3128419233235:10999230:undef:undef:undef:undef
+8739744811748:38164520:undef:undef:undef:undef
+1698185551761:22414225:6134666:+:16279559:-
+5166608725100:209812397:189480138:+:20332259:-
+9292163213106:262047604:undef:undef:undef:undef
+1223198833954:887505231:473355643:+:414149588:-
+8070337179394:4970712133:3360508129:+:1610204004:-
+8860537314530:3630643209:357969473:+:3272673736:-
+3693132479260:6257550507:4061260069:+:2196290438:-
+4172184476851:14363746781:1024378027:+:13339368754:-
+9244406947072:68288755668:undef:undef:undef:undef
+2081206100866:57695940124:undef:undef:undef:undef
+8385576125971:787175603543:787169964879:+:5638664:-
+2096667056251:328912581229:114625079406:+:214287501823:-
+7323424288731:422111613028:undef:undef:undef:undef
+1017580745432:9034837121298:undef:undef:undef:undef
+7645405808411:4957960004916:4038709268207:+:919250736709:-
+6396169306920:5326727362238:undef:undef:undef:undef
+4034431934314:12003416056125:2532698405959:+:9470717650166:-
+6333772770664:99793158203172:undef:undef:undef:undef
+5419535907787:93637078631846:11094563055647:+:82542515576199:-
+3403537814936:624399885047144:undef:undef:undef:undef
+9442583388055:335098122909596:307031628652663:+:28066494256933:-
+1625334867595:375831378054052:111425698331335:+:264405679722717:-
+5363358779615:2507135305833967:75469955465205:+:2431665350368762:-
+3001290883323:2722405776932955:undef:undef:undef:undef
+5995623250285:2273699468043640:undef:undef:undef:undef
+5430258233860:14879327902807915:undef:undef:undef:undef
+2009480371111:81569778835077261:undef:undef:undef:undef
+8060818778656:80340194042593541:undef:undef:undef:undef
+1719916888552:100724926236645251:74547915463096332:+:26177010773548919:-
+1710393744862:697076608870176893:541373352472864689:+:155703256397312204:-
+4976335389286:793446964186858903:407020962169288668:+:386426002017570235:-
+9782344892477:3843112971736180016:3233061258089819973:+:610051713646360043:-
+6141658962310:5041879609625351659:23875356626025458:+:5018004252999326201:-
+8551740568066:9472573456559108878:undef:undef:undef:undef
+6333648282514:67511201167143917000:undef:undef:undef:undef
+6698692394389:50026755934259056845:24830640442883066374:+:25196115491375990471:-
+9555899774433:26907301042095664279:7787227396742833305:+:19120073645352830974:-
+1059030629353:838525276893929711862:129056494743262042681:+:709468782150667669181:-
+7528923048127:927075578586380555211:209297471402655112759:+:717778107183725442452:-
+8063887169054:958171120653854059763:795387894419027240468:+:162783226234826819295:-
+3208049129896:7976366831585787172767:3233233486633041748939:+:4743133344952745423828:-
+6309040341427:9674362189053499006488:8552983429862063253715:+:1121378759191435752773:-
+9749623155818:9719287505851380685775:8115263141371657388732:+:1604024364479723297043:-
+4433943870539:89196508447902402325671:35275960523801223402428:+:53920547924101178923243:-
+9876556694758:69976866439984982154930:undef:undef:undef:undef
+6515639707808:28009617813979201035332:undef:undef:undef:undef
+1074197197298:559875578462144208815527:394558243659367487946171:+:165317334802776720869356:-
+8640760683747:477993359537634559273174:436327965906789379436615:+:41665393630845179836559:-
+2888779880078:803738423244008874013738:undef:undef:undef:undef
+1908619457359:8138382794657404423762001:undef:undef:undef:undef
+7054234893560:1056608545958678939471428:undef:undef:undef:undef
+7106767104199:2917558549771734775363859:203288873615993146732340:+:2714269676155741628631519:-
+1030380160791:234:undef:undef:undef:undef
+2258390333510:990:undef:undef:undef:undef
+7024855777816:932:undef:undef:undef:undef
+5493786002265:1409:1124:+:285:-
+5928014438306:4399:940:+:3459:-
+9896217023290:5514:undef:undef:undef:undef
+1910244733179:78949:425:+:78524:-
+6828469218904:79823:78501:+:1322:-
+6405863332370:47400:undef:undef:undef:undef
+9804063740054:374439:130571:+:243868:-
+8313560070776:748383:156935:+:591448:-
+5061435378822:128685:undef:undef:undef:undef
+9883247622927:2333038:1370789:+:962249:-
+4979734023742:5031402:undef:undef:undef:undef
+5976191364757:6606892:4625289:+:1981603:-
+9434394919019:71904598:44074559:+:27830039:-
+5744906695193:97046797:76432966:+:20613831:-
+1823025036284:23306578:undef:undef:undef:undef
+1174132474849:342456025:249863524:+:92592501:-
+4435724095908:705167838:undef:undef:undef:undef
+5077520244148:563870137:401183334:+:162686803:-
+9711203545679:4902171334:2336745527:+:2565425807:-
+5878184522319:7498448356:6651061083:+:847387273:-
+4744078864603:5023138454:2239998055:+:2783140399:-
+5420081302707:26416299072:undef:undef:undef:undef
+5971439306304:39672411949:11649453037:+:28022958912:-
+5016596778254:16223684920:undef:undef:undef:undef
+5712064772630:679792609931:368221620260:+:311570989671:-
+8403824194300:220717020448:undef:undef:undef:undef
+1977375942491:659702846061:319492565066:+:340210280995:-
+3435584516591:1982999650351:1913477914278:+:69521736073:-
+5941331658929:2673352465796:2604118111353:+:69234354443:-
+8249577104639:1338703943813:756011906196:+:582692037617:-
+4581747637252:24729639181141:21747782363449:+:2981856817692:-
+2214350672483:42902804752313:32059610779969:+:10843193972344:-
+7715587643575:61460743575338:33111498021069:+:28349245554269:-
+5009695000489:433000119308412:263235766091857:+:169764353216555:-
+2780831705629:185208281993624:69043791644877:+:116164490348747:-
+7672825582131:783604471358360:739393030548611:+:44211440809749:-
+8156222205180:3109219503077603:2997452198829590:+:111767304248013:-
+1611962821695:7753482891122737:4217262153111896:+:3536220738010841:-
+1344055558642:5791429807975789:5112620760498172:+:678809047477617:-
+4156214896181:87433200209380821:4036022290114826:+:83397177919265995:-
+8791183056533:17266888371263604:14832887253985193:+:2434001117278411:-
+2839215467930:15333716803930859:341925618428854:+:14991791185502005:-
+9031332797533:772530159158786604:402766106248262089:+:369764052910524515:-
+2245892394672:284589341468628386:undef:undef:undef:undef
+6628793050257:918609146713656399:undef:undef:undef:undef
+6888105415513:7118362515738178674:6967784838104010145:+:150577677634168529:-
+7206964244227:3639346422097103707:undef:undef:undef:undef
+4933299662870:6579052994026192680:undef:undef:undef:undef
+4398085936722:66388421222434399522:undef:undef:undef:undef
+6175959807798:76779693447599364073:14857859458457959606:+:61921833989141404467:-
+6354148141102:66813618696883914548:undef:undef:undef:undef
+9044150524871:389568594988388272031:143314042521346984622:+:246254552467041287409:-
+4814210746040:433732095415239717640:undef:undef:undef:undef
+9332634314099:670452109194680918419:248334238592552688857:+:422117870602128229562:-
+5736492543705:3417271280284106866398:undef:undef:undef:undef
+8631249657919:4733409781476931748466:undef:undef:undef:undef
+6094039989815:3369611319342579140308:undef:undef:undef:undef
+2583722297996:81431725479896681304979:80871272679086793096342:+:560452800809888208637:-
+5052888472673:98441868147600474128263:65698019907280289160744:+:32743848240320184967519:-
+8460071803145:27471057113022476057946:23026358277427942455881:+:4444698835594533602065:-
+7132691709237:826698072835415700701165:69199391036873572813993:+:757498681798542127887172:-
+2583208598211:141965554366100683592394:undef:undef:undef:undef
+2952268207666:929365864320562368929665:515267089928966547880216:+:414098774391595821049449:-
+9914834185011:4152022126245706552477635:undef:undef:undef:undef
+1095175494003:2854286084007478686356058:undef:undef:undef:undef
+4146822388736:4652366122252896909889132:undef:undef:undef:undef
+2667542060084:638:undef:undef:undef:undef
+2619119100856:489:286:+:203:-
+5471150765644:370:undef:undef:undef:undef
+5422654770852:7372:undef:undef:undef:undef
+6365483515997:1073:1054:+:19:-
+1710773704709:4129:3900:+:229:-
+6510241656717:32085:undef:undef:undef:undef
+6235004204836:27246:undef:undef:undef:undef
+1732986290243:93180:69947:+:23233:-
+5052128210619:435359:169861:+:265498:-
+7399143702223:313670:undef:undef:undef:undef
+9220140871626:972167:606304:+:365863:-
+6284334576066:5895034:undef:undef:undef:undef
+4896160553553:9274979:6807596:+:2467383:-
+8779608519310:1592172:undef:undef:undef:undef
+3157760648638:66068639:7197898:+:58870741:-
+4203379869707:59797957:50656115:+:9141842:-
+2971463108306:81421624:undef:undef:undef:undef
+5328039225959:852041219:427109386:+:424931833:-
+7223208263787:908347961:490453814:+:417894147:-
+6927677824560:729677136:undef:undef:undef:undef
+3140617177719:7406264281:2914743811:+:4491520470:-
+2686879345811:3583132633:3327906441:+:255226192:-
+6080468876608:2170360246:undef:undef:undef:undef
+9098349290101:71600559760:13452198141:+:58148361619:-
+7604498372334:48716148153:undef:undef:undef:undef
+8325583873372:37640609809:30787652453:+:6852957356:-
+6221232427758:290437631553:undef:undef:undef:undef
+8821824668483:702144063403:691600211398:+:10543852005:-
+4687867113852:264453784429:127080233520:+:137373550909:-
+9644890486005:5477732202644:2493098621109:+:2984633581535:-
+8125551631964:5575596507948:undef:undef:undef:undef
+5773855716888:1760621459038:undef:undef:undef:undef
+2559983729582:69365648684953:60871322159710:+:8494326525243:-
+1924351727803:33553112408704:31625736998899:+:1927375409805:-
+2644362096267:65724220634548:47791138766439:+:17933081868109:-
+8355484245824:824562588638974:undef:undef:undef:undef
+7037413211838:812311386088899:undef:undef:undef:undef
+1070483870636:435794905825191:181215486509786:+:254579419315405:-
+6491531242222:5633823079615786:undef:undef:undef:undef
+6668820087505:9628109909302839:7654626150035173:+:1973483759267666:-
+2839652215339:8815014773976322:5149003288847161:+:3666011485129161:-
+1932220292086:77170485402188702:undef:undef:undef:undef
+9997825576413:10618337018321008:10616517158266469:+:1819860054539:-
+7106293740130:50737737820648492:undef:undef:undef:undef
+3392977621608:655251102893400214:undef:undef:undef:undef
+4223389353572:811417685730993197:220842614198112902:+:590575071532880295:-
+5652380780383:583349107691936260:509221536673843367:+:74127571018092893:-
+5791577032799:8251416945259750553:7794291602965443924:+:457125342294306629:-
+1247512998393:2249359443414575445:undef:undef:undef:undef
+6971618691212:9207833474645285898:undef:undef:undef:undef
+8900153629539:94334836519360477366:85183123065866489989:+:9151713453493987377:-
+4311417354546:78262827216046020061:8386019697177381088:+:69876807518868638973:-
+3243037981184:45832612841302700965:42601922870979784739:+:3230689970322916226:-
+3712620993619:285041594277832457479:158237595076864455834:+:126803999200968001645:-
+1270319397242:498708369749383154597:317894219152632299589:+:180814150596750855008:-
+6492783513938:964467096458786966285:251995148231274439117:+:712471948227512527168:-
+1289041366441:4239769176510963802726:4080966709529097254761:+:158802466981866547965:-
+6731947997059:7768652953268121670028:519938904794059922027:+:7248714048474061748001:-
+6729581797199:8021542434360932073457:2755387615898763075605:+:5266154818462168997852:-
+4299998412201:69471492938697161449273:2763651428718504669975:+:66707841509978656779298:-
+4113635691355:68134614028318691720941:13795117835105828764729:+:54339496193212862956212:-
+9124584228095:95599165172048776463126:71149298633605346150427:+:24449866538443430312699:-
+5850631452640:912906823809690438386863:441622011063435797449167:+:471284812746254640937696:-
+6628780837241:391171427042986582844518:207555674057408922921767:+:183615752985577659922751:-
+7096926793765:930894536386130236782553:513250363597403962327949:+:417644172788726274454604:-
+1055155853749:1924931603880980247666996:1384901126682163985304925:+:540030477198816262362071:-
+3752660520486:9280906580842118223224343:undef:undef:undef:undef
+9412962478799:3024215647789167411218260:1715638284602927466244319:+:1308577363186239944973941:-
+35522923200296:634:undef:undef:undef:undef
+57181270785364:924:undef:undef:undef:undef
+76194815537582:639:458:+:181:-
+57257650734160:1125:undef:undef:undef:undef
+98865799357931:6643:3684:+:2959:-
+25718494339513:4073:2064:+:2009:-
+49753535089119:36834:undef:undef:undef:undef
+37945280665304:39827:13107:+:26720:-
+53807078108355:40771:9745:+:31026:-
+16620349380813:752697:undef:undef:undef:undef
+15854681659924:496080:undef:undef:undef:undef
+62312826385242:196766:undef:undef:undef:undef
+31323145663904:2045813:2010384:+:35429:-
+36156678006696:7555621:5504458:+:2051163:-
+76415920596621:3553394:2702601:+:850793:-
+83602933541468:52389986:undef:undef:undef:undef
+47453343443465:34489920:undef:undef:undef:undef
+77665007544214:30973837:5162437:+:25811400:-
+60564969964988:859177652:undef:undef:undef:undef
+45395992446778:327338644:undef:undef:undef:undef
+99031887544217:307576697:305015535:+:2561162:-
+57295457423213:2486969440:2396147237:+:90822203:-
+98649419506113:4506438861:undef:undef:undef:undef
+61132782749273:7844700626:7010480255:+:834220371:-
+33969051339731:38805798647:26908457725:+:11897340922:-
+32618134075507:34593650870:30599815763:+:3993835107:-
+72421520865615:90742668228:undef:undef:undef:undef
+96783030974133:104550552917:62241397572:+:42309155345:-
+77999419290164:135426628833:117198185558:+:18228443275:-
+47711493019423:485606779719:54673548769:+:430933230950:-
+14938571358248:1780359622360:undef:undef:undef:undef
+62467611171369:2764235263583:750922106125:+:2013313157458:-
+68728690999516:7456448281341:4108753780990:+:3347694500351:-
+94480261537162:13098773973314:undef:undef:undef:undef
+62873473876449:85609346453306:19685023095043:+:65924323358263:-
+26103183795343:93952702106289:30739840730893:+:63212861375396:-
+97983301053655:266833113684459:245564128428442:+:21268985256017:-
+89251925892490:721161704476919:565332285977250:+:155829418499669:-
+86847836348596:840288898954459:589599776643864:+:250689122310595:-
+58241943230420:5504902549178745:undef:undef:undef:undef
+50902392027610:8641986133070199:5995234828175812:+:2646751304894387:-
+91175131571309:4884072656666332:2138825994995657:+:2745246661670675:-
+75706177722760:41408791837793839:941029647325324:+:40467762190468515:-
+82706784759336:50049258979149354:undef:undef:undef:undef
+95384977735233:31297080808196148:undef:undef:undef:undef
+84076015185718:756239335951243682:undef:undef:undef:undef
+13285524212026:663940549353818532:undef:undef:undef:undef
+33712258527320:840503203547687032:undef:undef:undef:undef
+51891629158085:4370330596001964501:2180700326615269670:+:2189630269386694831:-
+58932044552732:1761724527436715359:1307433128356703706:+:454291399080011653:-
+82491579726244:3648839307908675837:1655976001686484090:+:1992863306222191747:-
+11221487332062:93961837036880203288:undef:undef:undef:undef
+15464856220914:85283438058602475019:73460515785035729101:+:11822922273566745918:-
+80414717590454:54422406546783016738:undef:undef:undef:undef
+75390041825046:618735112504432132321:1669799685651933460:+:617065312818780198861:-
+81298287836368:922512690650405753225:133292741494556687407:+:789219949155849065818:-
+30462189008225:129860946115201329643:107650202575816188306:+:22210743539385141337:-
+28053152938183:6968699673997304528683:4807205285550532186073:+:2161494388446772342610:-
+62645469470883:3485795550924374448267:undef:undef:undef:undef
+36290345952627:2138411031242920520721:undef:undef:undef:undef
+74017734891718:40545327342300947909872:undef:undef:undef:undef
+49645250489728:18644884920602335124413:7529551137874837234352:+:11115333782727497890061:-
+32074696561708:71779094711734976333290:undef:undef:undef:undef
+75924008296972:448662231159554055843685:64762263832345101252333:+:383899967327208954591352:-
+62913244261984:593448552354897276206101:154500242057264055861278:+:438948310297633220344823:-
+96188784659388:818759232259998368516563:65412096483544929731036:+:753347135776453438785527:-
+27368960718596:3412858882021757767890963:undef:undef:undef:undef
+37415765084909:2386539707005775650785383:2248794086512464352265461:+:137745620493311298519922:-
+10183062115420:5081386526381887802183289:4350480488116397730436354:+:730906038265490071746935:-
+15478786464823:121:undef:undef:undef:undef
+69202720470006:890:undef:undef:undef:undef
+10076631913576:613:11:+:602:-
+84467299324713:9960:undef:undef:undef:undef
+26777117410898:2778:undef:undef:undef:undef
+16293134047963:1431:70:+:1361:-
+79997372098343:64456:undef:undef:undef:undef
+55274002702722:82872:undef:undef:undef:undef
+39204575417309:10137:undef:undef:undef:undef
+46262550860337:662232:undef:undef:undef:undef
+49622887012954:712204:undef:undef:undef:undef
+62495623205097:764266:666811:+:97455:-
+45600410054637:4704823:2793824:+:1910999:-
+78485464217166:1407140:undef:undef:undef:undef
+37901952633099:5559379:1876249:+:3683130:-
+89628527454331:75726584:17647363:+:58079221:-
+49284217709259:43584686:26429033:+:17155653:-
+79252304262143:27000409:2147127:+:24853282:-
+78679736100653:860466736:233681989:+:626784747:-
+69938203931346:763747995:undef:undef:undef:undef
+59053772922835:851644177:406222145:+:445422032:-
+25262621201509:9296982356:9164624697:+:132357659:-
+38892359871000:2005094152:undef:undef:undef:undef
+35968793342881:9553127583:2635314922:+:6917812661:-
+53503037458531:21245707669:15903255320:+:5342452349:-
+75039198250851:92214128066:16875246345:+:75338881721:-
+93356499049629:61738594247:undef:undef:undef:undef
+73152497007636:810778180972:undef:undef:undef:undef
+19888336877773:290420286146:162449503279:+:127970782867:-
+51380179088400:359070650016:undef:undef:undef:undef
+13882131384395:4335262478819:113048699900:+:4222213778919:-
+48141505872497:6045088167525:876096864833:+:5168991302692:-
+94483053473371:3051995424067:1883219118933:+:1168776305134:-
+75385622497079:73663124732334:34092563581913:+:39570561150421:-
+96110129825183:97306846551413:5561886685972:+:91744959865441:-
+55861927240666:31084766799463:8999171473735:+:22085595325728:-
+23805795533287:570574994774361:279309427250035:+:291265567524326:-
+70544666574231:200438009622566:121452680322985:+:78985329299581:-
+98002873595613:643891331744488:529287010314549:+:114604321429939:-
+82024307286205:3154950660790085:undef:undef:undef:undef
+30156458638523:3954237661640143:218476896058202:+:3735760765581941:-
+89154615402438:9373998638475323:7833220469452852:+:1540778169022471:-
+51677124964654:81828106705748927:71983096814493461:+:9845009891255466:-
+70373931226237:95577751560012759:7598618561661202:+:87979132998351557:-
+25853195971451:65661000088735369:8755222804092063:+:56905777284643306:-
+74401344682269:499939076031484377:undef:undef:undef:undef
+45755932107022:708219472599773786:undef:undef:undef:undef
+92740092264260:752301923628377165:undef:undef:undef:undef
+16712726948182:7739389375423089033:2483047104668307367:+:5256342270754781666:-
+43445532135970:9881057663450000596:undef:undef:undef:undef
+29185876416348:4558945063955143416:undef:undef:undef:undef
+25742934549156:63115445089321475348:undef:undef:undef:undef
+74265457520547:22432569711930017104:10561278554179141067:+:11871291157750876037:-
+89954227929484:65835987116620817046:undef:undef:undef:undef
+36842296827474:160339718277210969776:undef:undef:undef:undef
+11158763341091:657674011792350918256:337809588750180521579:+:319864423042170396677:-
+82534997560542:351216201673829805012:undef:undef:undef:undef
+44588024637775:6543928690426153292118:4788206348026011488803:+:1755722342400141803315:-
+43368203998572:6702826515429349604423:4870302567904153372278:+:1832523947525196232145:-
+83844596013205:2110617338012926982867:538050524574304865895:+:1572566813438622116972:-
+76517645663653:87048326902813598728276:8802008007711028789509:+:78246318895102569938767:-
+48253056282531:14379620566404380515792:7001061341764986492843:+:7378559224639394022949:-
+35287846873702:71066164085887300909249:32864407347397594925174:+:38201756738489705984075:-
+44013785910309:287676955041574608229925:243543647669102542710664:+:44133307372472065519261:-
+13311054472398:993326004301248447933156:undef:undef:undef:undef
+52012500961213:246616861226633860548023:111661413119811442889609:+:134955448106822417658414:-
+84952659316024:2903823002995793605530535:1677137118898306857690389:+:1226685884097486747840146:-
+41377984223283:9816325603455103199788018:1640445767889877784027285:+:8175879835565225415760733:-
+71305632950429:3746272423411191331790060:1187896005842721883233049:+:2558376417568469448557011:-
+12144440849326:694:undef:undef:undef:undef
+63224563667168:706:undef:undef:undef:undef
+24660746795804:528:undef:undef:undef:undef
+72271763373199:5445:5344:+:101:-
+32794764412772:8213:7772:+:441:-
+62099092734896:9331:undef:undef:undef:undef
+52651721479808:74274:undef:undef:undef:undef
+14581506804904:17592:undef:undef:undef:undef
+51600239269306:31817:541:+:31276:-
+86943330130438:934959:170518:+:764441:-
+46700657000396:328978:undef:undef:undef:undef
+24799002341989:779689:177382:+:602307:-
+63825906516702:2095626:undef:undef:undef:undef
+27823593285985:7314358:6658063:+:656295:-
+57693736785324:8154066:undef:undef:undef:undef
+38359515045221:77221858:49871569:+:27350289:-
+69200745303265:14113655:undef:undef:undef:undef
+40924348891630:42764546:undef:undef:undef:undef
+19776709873877:765952147:405977045:+:359975102:-
+26756608309567:458794160:310011023:+:148783137:-
+13671318203145:418146403:302620867:+:115525536:-
+98729740497908:3490559723:2218516640:+:1272043083:-
+78935686496777:5693467235:1905288438:+:3788178797:-
+29892280324571:5358168457:3546413190:+:1811755267:-
+72113122274020:98464011846:undef:undef:undef:undef
+13810533889434:47743368423:undef:undef:undef:undef
+17001604103084:22525430362:undef:undef:undef:undef
+46203005217917:788036447607:64269889838:+:723766557769:-
+96096266258815:135042354904:33205856455:+:101836498449:-
+45067379118683:982044126422:306909434363:+:675134692059:-
+95598050428116:8630619044485:8055656402216:+:574962642269:-
+93840260317516:3817032862846:undef:undef:undef:undef
+23642234946698:4264111985069:2770400979324:+:1493711005745:-
+41590295481973:48109020285470:42442789016117:+:5666231269353:-
+75596253364904:77847224731850:undef:undef:undef:undef
+73291951484542:73456311925517:45371300315810:+:28085011609707:-
+47844443558790:654992051455722:undef:undef:undef:undef
+19822382386128:700726841128307:undef:undef:undef:undef
+83140469194618:443285708887785:362208934498087:+:81076774389698:-
+41986141058217:1309503449525957:87377812597529:+:1222125636928428:-
+68086073022664:9438221220738143:3364254420680274:+:6073966800057869:-
+68860587219274:2799565853421436:undef:undef:undef:undef
+14112751551213:97700637856663653:undef:undef:undef:undef
+53215249099174:75869584615332213:71616742920601924:+:4252841694730289:-
+18942243091954:79906960076612625:17417111870851519:+:62489848205761106:-
+12937685838708:213686491127509264:undef:undef:undef:undef
+94182247860110:327530032088390401:76440536440212626:+:251089495648177775:-
+17515210008222:226697714661821283:undef:undef:undef:undef
+47248923796198:3406249671011508599:431548213597605730:+:2974701457413902869:-
+23728195750197:8354575163725872138:undef:undef:undef:undef
+28252506367128:3123655340235727687:489811028863659851:+:2633844311372067836:-
+77653981760712:43991897778268523136:undef:undef:undef:undef
+62307307596337:23442770455100318240:6827114837377337073:+:16615655617722981167:-
+76809170128864:81693945209882598091:18774983500429406701:+:62918961709453191390:-
+74323251803879:133043135358710188075:112128269782191698219:+:20914865576518489856:-
+39496821921800:215308441099663738264:undef:undef:undef:undef
+75573123679526:970321956738426006273:262260002784602944181:+:708061953953823062092:-
+64093396075742:1365145810073714971279:805497561843790363488:+:559648248229924607791:-
+85129728895176:5850060330326795500815:undef:undef:undef:undef
+35086336179273:7710824089175799143499:undef:undef:undef:undef
+93991134779567:21910482078489229886991:14068711299867429042908:+:7841770778621800844083:-
+22130693305836:33594622107208782150353:2821416032919768547346:+:30773206074289013603007:-
+94186900049380:96267224445464823607976:undef:undef:undef:undef
+59947414409568:160897712459335661945221:16183766426439062840578:+:144713946032896599104643:-
+98161517078501:803561610903872263163737:608137181322884490803533:+:195424429580987772360204:-
+87444547802757:594531976734977402236119:undef:undef:undef:undef
+82252341906866:8613650423884889815427258:undef:undef:undef:undef
+38518751231172:4704718701508252893230437:1066402185034851361727231:+:3638316516473401531503206:-
+13808805428541:3856291955818964279110506:undef:undef:undef:undef
+728558154702269:800:629:+:171:-
+464126645687857:852:505:+:347:-
+828854899023291:603:undef:undef:undef:undef
+451826920243478:8054:undef:undef:undef:undef
+400396011204960:3821:1021:+:2800:-
+952450704249276:1319:672:+:647:-
+439231300155720:69505:undef:undef:undef:undef
+915305722830579:85907:78073:+:7834:-
+162854590664408:49073:36243:+:12830:-
+698863581755521:127475:123031:+:4444:-
+642338998656189:956766:undef:undef:undef:undef
+168778341895385:795281:274560:+:520721:-
+574895215447259:1375717:undef:undef:undef:undef
+512674070748493:8571273:2349844:+:6221429:-
+878899446069318:9324712:undef:undef:undef:undef
+791083719725767:22094285:19813748:+:2280537:-
+570756210425841:46381368:undef:undef:undef:undef
+898958442946843:75532446:73343251:+:2189195:-
+497436694227405:715732297:276875204:+:438857093:-
+176320278021766:954529903:265774473:+:688755430:-
+651156419179418:398850990:undef:undef:undef:undef
+662525530661225:1872470885:undef:undef:undef:undef
+150375630839847:8367667643:445582338:+:7922085305:-
+485276826894726:3161393037:undef:undef:undef:undef
+639746323359247:33476357254:20058950403:+:13417406851:-
+898461573421918:14651432363:7946527006:+:6704905357:-
+758059448910712:31720372410:undef:undef:undef:undef
+148600376943573:355805151168:undef:undef:undef:undef
+523765514002023:745726111068:undef:undef:undef:undef
+889123837797237:686267994099:undef:undef:undef:undef
+778353850567149:8758800120077:4810219581550:+:3948580538527:-
+994676759240856:6073282694990:undef:undef:undef:undef
+167077198294565:8436015139306:2634527274591:+:5801487864715:-
+122942443916326:51867756638506:undef:undef:undef:undef
+503648283021282:75341352806966:undef:undef:undef:undef
+357042275147092:13854855417377:4119720892229:+:9735134525148:-
+387428611281261:978461194785577:70380344239530:+:908080850546047:-
+590637516453151:517988597383851:29123128536475:+:488865468847376:-
+363957878598332:551009901339132:undef:undef:undef:undef
+876925159115759:7728142602922191:4725588992540147:+:3002553610382044:-
+372041367672818:8649545762904626:undef:undef:undef:undef
+130876807071190:4126047455634965:undef:undef:undef:undef
+827754262395037:66423460111476884:2442002818599613:+:63981457292877271:-
+215104066403004:71126165636485512:undef:undef:undef:undef
+139217178178097:17346395103766437:7031634868342013:+:10314760235424424:-
+692121964657925:821180962822219363:688475176928695354:+:132705785893524009:-
+743933453191688:209297748571284886:undef:undef:undef:undef
+920668259954788:105668935327519891:87129027262339903:+:18539908065179988:-
+922608205845945:6381152885416389547:6100863487063038969:+:280289398353350578:-
+598127451365057:5210051178482495530:1838263852770669933:+:3371787325711825597:-
+973059395746071:2391326952815458926:undef:undef:undef:undef
+497437518925867:33763405035422198600:9871450367394101803:+:23891954668028096797:-
+837384153487360:88845487132310477084:undef:undef:undef:undef
+753204798523917:12255085936084066306:600794244795188349:+:11654291691288877957:-
+859752729764405:341385704218391874826:97665052096579287355:+:243720652121812587471:-
+708381549066076:871632851879985471526:undef:undef:undef:undef
+258845104926756:355238975171811067393:116908861803386810426:+:238330113368424256967:-
+244738239777262:1880933364665171731293:1604652583038687012967:+:276280781626484718326:-
+242338695153972:5435020953653204364897:undef:undef:undef:undef
+162988507230936:7974386155679607949418:undef:undef:undef:undef
+399269657134096:68875130562375605561821:undef:undef:undef:undef
+128296916274203:46901748031625432160348:45996912318870318468071:+:904835712755113692277:-
+981575687027652:34353291424459284018378:undef:undef:undef:undef
+554103357629250:445294027509035399641464:undef:undef:undef:undef
+160435825129644:823828482782605416128899:245958859306361599986982:+:577869623476243816141917:-
+444177994509049:568708736268692931683715:517927728060377863545229:+:50781008208315068138486:-
+444937587409290:4908956687382877797141677:4823180930450345201886187:+:85775756932532595255490:-
+913793666016334:5450644045501142443741177:5013731754224549302771058:+:436912291276593140970119:-
+579802512972038:2085058098904137287038830:undef:undef:undef:undef
+715911434981904:187:129:+:58:-
+332736424184517:894:undef:undef:undef:undef
+981574328739004:969:undef:undef:undef:undef
+880697100457990:5976:undef:undef:undef:undef
+486624229079888:9768:undef:undef:undef:undef
+469187261898117:1586:965:+:621:-
+983467908051667:68987:2434:+:66553:-
+757970591261065:59118:34855:+:24263:-
+948158568176614:88043:18296:+:69747:-
+422670273116456:320058:undef:undef:undef:undef
+931018826865212:121689:88433:+:33256:-
+818294658294244:387049:381512:+:5537:-
+903560862243716:4144922:undef:undef:undef:undef
+428970194413039:6218606:3397747:+:2820859:-
+723257278504514:9247641:undef:undef:undef:undef
+205397214361397:38166234:15398477:+:22767757:-
+842300760053495:22670897:13779898:+:8890999:-
+965681766127293:34236330:undef:undef:undef:undef
+592720380098190:202701236:undef:undef:undef:undef
+718847304283852:418109440:undef:undef:undef:undef
+817672608493880:927123966:undef:undef:undef:undef
+719591658582369:2028016095:undef:undef:undef:undef
+215874954109024:4157287849:1570213756:+:2587074093:-
+819138328010671:3485070453:1045319641:+:2439750812:-
+151920083837769:59467974618:undef:undef:undef:undef
+603224040433396:50439368172:undef:undef:undef:undef
+549692484550264:81386440341:6249633904:+:75136806437:-
+134070785664296:365581284525:283802609531:+:81778674994:-
+460438814476451:866179741904:597218689659:+:268961052245:-
+792458135509027:782035187480:428336130763:+:353699056717:-
+385901173964821:3780311463428:1421276769769:+:2359034693659:-
+347939279865051:8758092615194:2058526876923:+:6699565738271:-
+857918347348662:3974305146414:undef:undef:undef:undef
+921847342945342:32554291867765:14903637464063:+:17650654403702:-
+565444013144174:30586732591123:8468488097634:+:22118244493489:-
+153031033393395:80125937028483:undef:undef:undef:undef
+711618124841181:831566900079115:691188416580386:+:140378483498729:-
+185743949720747:284469960212964:166602940494707:+:117867019718257:-
+624806234522595:667778408413465:undef:undef:undef:undef
+396350849418865:5229741379867891:3691173607831774:+:1538567772036117:-
+536609586389447:6933344567517833:6115121525232572:+:818223042285261:-
+640365357334723:3309146204415845:2706148829787972:+:602997374627873:-
+769367720700040:40233546164517412:undef:undef:undef:undef
+326761876649725:83887642608393153:49006631462026837:+:34881011146366316:-
+148158890027982:92503371428660592:undef:undef:undef:undef
+764105966947642:916714062142845646:undef:undef:undef:undef
+324411392601170:822844408365620350:undef:undef:undef:undef
+427017250104314:269173258905422307:166809313859067443:+:102363945046354864:-
+132974813548680:9229205610959882644:undef:undef:undef:undef
+934096205871812:9118680270515409406:undef:undef:undef:undef
+985630651877363:9143354659111431661:2377475095296831814:+:6765879563814599847:-
+989845308705999:92030848977492782807:51457680329979932029:+:40573168647512850778:-
+430064650133347:15355343148660519499:13416021071649725094:+:1939322077010794405:-
+619557857254736:77545737319476500074:undef:undef:undef:undef
+218945363906535:676713962769435763274:346918529941699251683:+:329795432827736511591:-
+282130808835865:790620812865593519104:732120673458091814185:+:58500139407501704919:-
+149805682361961:969147018920702335581:undef:undef:undef:undef
+354317847225915:7314426746402852687593:163083638291320521322:+:7151343108111532166271:-
+389725010387360:1941712073448008324395:undef:undef:undef:undef
+950524184574372:5730085870463179120596:undef:undef:undef:undef
+642356121518562:66986769556535658760400:undef:undef:undef:undef
+404056517578608:48761566533789456022980:undef:undef:undef:undef
+157708137861456:76771721727489630223374:undef:undef:undef:undef
+146627476330735:964616757317813692905317:921602805273860892026693:+:43013952043952800878624:-
+255143799489242:895923090101259738008181:739189755690376890893765:+:156733334410882847114416:-
+881102836724883:183566843564327650574472:undef:undef:undef:undef
+934000689096342:7363029663629414997603260:undef:undef:undef:undef
+351320917059615:7728531259260561630240891:undef:undef:undef:undef
+451167462642105:9141347212428985458916014:undef:undef:undef:undef
+241214003377902:841:162:+:679:-
+427079406739933:453:196:+:257:-
+841900355547148:294:undef:undef:undef:undef
+163146089159841:5330:1201:+:4129:-
+963041775217155:9777:undef:undef:undef:undef
+661865536781762:2306:undef:undef:undef:undef
+608749614195670:85957:66475:+:19482:-
+787355359758778:96064:undef:undef:undef:undef
+963689771922466:74185:undef:undef:undef:undef
+614717016286331:872171:188397:+:683774:-
+521063024189600:586592:undef:undef:undef:undef
+807924026323012:573662:undef:undef:undef:undef
+397360318799844:6712777:1155783:+:5556994:-
+499880900313875:8662194:868271:+:7793923:-
+216450114480327:1498733:1302693:+:196040:-
+852611438938913:70060304:16670929:+:53389375:-
+189823641207200:13191458:undef:undef:undef:undef
+254481947407399:78125347:52493008:+:25632339:-
+534682821367598:112069120:undef:undef:undef:undef
+818475334073039:368877254:84827487:+:284049767:-
+352007947510866:605982493:296118753:+:309863740:-
+661549466684476:4041233872:undef:undef:undef:undef
+749556657504038:8099417582:undef:undef:undef:undef
+934047687493198:6400700322:undef:undef:undef:undef
+869132340045482:33495198313:20165334044:+:13329864269:-
+901625380674965:25995346949:5202076067:+:20793270882:-
+451272130822722:47055246763:43208138777:+:3847107986:-
+206554877479417:240244417406:68703374267:+:171541043139:-
+267200655705298:937800002840:undef:undef:undef:undef
+425863686876990:774212142077:84123297752:+:690088844325:-
+725729932518632:5203835733772:undef:undef:undef:undef
+263926451543558:9193184075151:5185979756057:+:4007204319094:-
+254447932163603:3036974297897:932235242973:+:2104739054924:-
+842211852400734:30719555272008:undef:undef:undef:undef
+276164810898707:96110227539335:56753597346538:+:39356630192797:-
+162715711213793:88751979337820:58035344000837:+:30716635336983:-
+554581292527349:468349414859331:215127040567859:+:253222374291472:-
+612791909857160:135020014513187:56585290882146:+:78434723631041:-
+289199213896943:924305534896479:157842916806773:+:766462618089706:-
+503869881485078:4800010919333887:3140185984823498:+:1659824934510389:-
+659680353075218:2097024323473941:20602134879752:+:2076422188594189:-
+470784801980157:2476052524555393:undef:undef:undef:undef
+894922164807617:60407445781263412:undef:undef:undef:undef
+653410693030439:44777476635867404:29701641839615783:+:15075834796251621:-
+588636543349631:46135952075961245:12667424830166556:+:33468527245794689:-
+154719537347498:199086978372671745:100135796120568362:+:98951182252103383:-
+417015921098265:711616325104127328:undef:undef:undef:undef
+391231816921489:183270715416106255:172739572636566099:+:10531142779540156:-
+956671474096354:8295046921461418170:undef:undef:undef:undef
+616583070423927:9586228385320636171:5184584451123408737:+:4401643934197227434:-
+313155285471313:8546200735889453539:5244509552992436149:+:3301691182897017390:-
+608289805916728:30380994068504548938:undef:undef:undef:undef
+987550572927545:54043735960667076091:52700703858091094555:+:1343032102575981536:-
+798625597564455:18902638090583917869:undef:undef:undef:undef
+355287564736527:597169124005858900121:270356251715215075618:+:326812872290643824503:-
+289265282559714:756347326025791628412:undef:undef:undef:undef
+856754322007345:272853476611015715005:undef:undef:undef:undef
+849739954855848:9097970213053493174975:6453634815733827946962:+:2644335397319665228013:-
+103330312951346:5969872342459466427239:undef:undef:undef:undef
+237161257529439:3040738115300583471479:1732267520191015033519:+:1308470595109568437960:-
+747025873355636:64871520523658055568359:20583893666269089829250:+:44287626857388965739109:-
+662026139719676:41436790906600971440603:11712120460003299559599:+:29724670446597671881004:-
+108078521265698:40382412037231818681053:25499384608130553402996:+:14883027429101265278057:-
+873836509482432:572596344320415113555830:undef:undef:undef:undef
+125090228626031:781069136077556352291021:468704975588583405932048:+:312364160488972946358973:-
+253266233816303:511817951361180120499987:357320460229348718117195:+:154497491131831402382792:-
+424218954387871:6953182487296273053267924:4487279150880027164222503:+:2465903336416245889045421:-
+996317219483882:4127334798153728372804394:undef:undef:undef:undef
+374405555416380:8090627742427721530205458:undef:undef:undef:undef
+2296100806546680:482:undef:undef:undef:undef
+8990668541567382:179:14:+:165:-
+5369330375253586:678:undef:undef:undef:undef
+1387424364200409:2287:11:+:2276:-
+9539300859734009:5142:2261:+:2881:-
+6502309117825082:9940:undef:undef:undef:undef
+5141171473510589:41562:10601:+:30961:-
+5934801348466359:76254:undef:undef:undef:undef
+8800672002350256:52637:24356:+:28281:-
+7114439731398992:790994:undef:undef:undef:undef
+7135836022821261:831523:undef:undef:undef:undef
+6680671401216078:921102:undef:undef:undef:undef
+3248703399031394:8117938:undef:undef:undef:undef
+6377739796473143:5893992:4767167:+:1126825:-
+4828893941429366:2950897:1756182:+:1194715:-
+5818354736846205:81982339:3035299:+:78947040:-
+4366419423202610:96942126:undef:undef:undef:undef
+5330308258626952:69473030:undef:undef:undef:undef
+3082450128488293:963764090:913758847:+:50005243:-
+2295392651181664:950310540:undef:undef:undef:undef
+1065742832284893:475717780:95199837:+:380517943:-
+4976794163983255:5641938370:undef:undef:undef:undef
+3955413616942016:2366101734:undef:undef:undef:undef
+5919605937875613:6051466481:3333751546:+:2717714935:-
+4731608691402900:98641022322:undef:undef:undef:undef
+4237495572454343:72726048114:40709739179:+:32016308935:-
+1519861672373688:12767354767:6446909511:+:6320445256:-
+1349036664930107:487330589634:329287204973:+:158043384661:-
+1842501412723930:938497614268:undef:undef:undef:undef
+2546060418383441:606459256656:472037543729:+:134421712927:-
+8736212324777843:9538131510559:3935089324317:+:5603042186242:-
+1649988281047475:2121808819461:1301744592224:+:820064227237:-
+3973415545901119:6948601071998:6039678765841:+:908922306157:-
+8524391936585790:44206527396290:undef:undef:undef:undef
+7563164769588885:97928554162493:16210956057842:+:81717598104651:-
+7171634508132405:26259389961855:undef:undef:undef:undef
+7453570996643310:295105698618570:undef:undef:undef:undef
+3570131435763195:450557402111635:undef:undef:undef:undef
+6696042263628457:396558386049185:140198438218823:+:256359947830362:-
+5270879993601338:8444838168545319:2266979145398090:+:6177859023147229:-
+1211454394312078:3080860357892989:undef:undef:undef:undef
+3834772719664095:4215592934273504:2521819004808095:+:1693773929465409:-
+1403486848403189:74680649374182208:44822756274939421:+:29857893099242787:-
+2968277358196048:35608432869668028:undef:undef:undef:undef
+6322017324503710:22026771251580386:undef:undef:undef:undef
+2481168182967910:927846725122061651:734573589836815650:+:193273135285246001:-
+9957373657060941:779792952792779814:undef:undef:undef:undef
+1605162297576641:823241499841774776:276975755139852929:+:546265744701921847:-
+7974553150568464:1735510718049430472:undef:undef:undef:undef
+8874979501320214:9041249077872672307:8338498465617729306:+:702750612254943001:-
+8583197108993201:5975127255501002620:5315703533685977401:+:659423721815025219:-
+9856850544334706:17433626303890314648:undef:undef:undef:undef
+6959391254749324:33602975982510249138:undef:undef:undef:undef
+9785423193903433:36985105942242854090:20775945342498576787:+:16209160599744277303:-
+3694690974295843:263485535295909942016:98133919574328704395:+:165351615721581237621:-
+8006969377987831:474204533872797068679:141345134014628282437:+:332859399858168786242:-
+9736206842405079:299629567956354200420:119971381510323446239:+:179658186446030754181:-
+6136393788182856:4718050169797768460290:undef:undef:undef:undef
+2095849202085294:5937478645524533313660:undef:undef:undef:undef
+9850431017173080:5322798488018258941986:undef:undef:undef:undef
+6817146566058406:97727103830740484537545:65106630151047140926946:+:32620473679693343610599:-
+5911041853532198:41773629251629380463493:22590767187395589445390:+:19182862064233791018103:-
+6249032151315502:43926039570209325153490:undef:undef:undef:undef
+7468428261650680:305649431589140241616132:undef:undef:undef:undef
+5089583892821482:473652824251288859352559:204541253053982878897775:+:269111571197305980454784:-
+8361210624654015:924937241207478801535706:340538030354554535421091:+:584399210852924266114615:-
+2238808446683188:5541231369181077700600015:4570022510913942981377462:+:971208858267134719222553:-
+6131847748931781:4577283379657311368838244:1240321299518111321938849:+:3336962080139200046899395:-
+5571401864223170:8995232292746528277772637:5040571643708551462640031:+:3954660649037976815132606:-
+5488728064061426:774:undef:undef:undef:undef
+8718720402635804:819:176:+:643:-
+9376608867284021:137:54:+:83:-
+8015720109507858:1200:undef:undef:undef:undef
+9496173251938585:7348:6241:+:1107:-
+2002481152019333:8088:5765:+:2323:-
+2395082373480034:18209:6466:+:11743:-
+6255018896569153:79813:70605:+:9208:-
+4871280884607389:44470:23239:+:21231:-
+9540373576019272:391839:undef:undef:undef:undef
+9006188315065533:265131:undef:undef:undef:undef
+8954758129680836:203389:65767:+:137622:-
+5701432136512144:4459584:undef:undef:undef:undef
+1275302325247675:9289453:4201078:+:5088375:-
+4119440556543504:5793912:undef:undef:undef:undef
+1345249960261091:38339028:10133891:+:28205137:-
+5210565711407721:92833603:51903318:+:40930285:-
+9156553227188736:10930657:7490062:+:3440595:-
+7605750152773616:166050708:undef:undef:undef:undef
+5112120248906878:347690512:undef:undef:undef:undef
+8325756032907520:897414928:undef:undef:undef:undef
+4297166330140605:8451124687:1879043015:+:6572081672:-
+4052795866210958:6719393806:undef:undef:undef:undef
+5599942494884300:5254913589:3675016142:+:1579897447:-
+4294165001010270:65299208227:41060667946:+:24238540281:-
+3521876006123819:51505483973:27929516537:+:23575967436:-
+2975686350001438:68975719872:undef:undef:undef:undef
+9987578698637948:933580676654:undef:undef:undef:undef
+4478813995882420:899559579484:undef:undef:undef:undef
+5165858021681371:944871700984:681251258947:+:263620442037:-
+6631110211690658:5509199572787:4542974354898:+:966225217889:-
+3200516254001157:4170270691953:undef:undef:undef:undef
+4725488680646020:7454286358510:undef:undef:undef:undef
+7995124056621538:44736024134162:undef:undef:undef:undef
+6504162480158739:76831874868831:undef:undef:undef:undef
+5542455301035590:24098329599047:16785730155033:+:7312599444014:-
+6920823137206661:407442625236757:63252097226088:+:344190528010669:-
+8037980967696072:851234068131819:undef:undef:undef:undef
+9219091854501731:974598538761173:214133199093150:+:760465339668023:-
+5898645543617277:1702267099774624:345956751806965:+:1356310347967659:-
+5427394238177464:1617335287837212:undef:undef:undef:undef
+7858414408880449:1370997827861660:494231516045669:+:876766311815991:-
+4307965389980085:45999514731450247:33865094732954127:+:12134419998496120:-
+3506104261251482:43601776461059844:undef:undef:undef:undef
+1190203419512405:25126719871266670:undef:undef:undef:undef
+4557460955130067:101730316098224713:44158272895555038:+:57572043202669675:-
+2489098116741103:541191016580188961:undef:undef:undef:undef
+2348212366514288:942563318071885939:313053493374155951:+:629509824697729988:-
+2830409913735330:7114495355770228431:undef:undef:undef:undef
+1035772148392020:3452915168200802716:undef:undef:undef:undef
+3460827696752293:4050339818955672472:2049422512624877061:+:2000917306330795411:-
+8963229771220449:22270265754077222943:undef:undef:undef:undef
+8313155627789908:64065344162590490500:undef:undef:undef:undef
+3363443326421517:73970563228805828520:undef:undef:undef:undef
+8923845510217141:385542532463723478331:15517894406759966535:+:370024638056963511796:-
+6397366318806880:574475474744016411405:undef:undef:undef:undef
+8675397679844558:562564176023446123792:undef:undef:undef:undef
+2910301871886134:3955964756594770607877:2631050206050423008834:+:1324914550544347599043:-
+1584670627015036:6273088882766402366721:3622531239479413500850:+:2650557643286988865871:-
+5363220656008849:2586623903413614439911:782911984926818975497:+:1803711918486795464414:-
+6917209535561867:40256744895225904319995:36867327456178728083643:+:3389417439047176236352:-
+1269024503328432:25294841853669594580214:undef:undef:undef:undef
+7432100573870595:54567896453627810319112:23203612842302240123459:+:31364283611325570195653:-
+1608747248547618:275565079805161504581379:34887313788098803213992:+:240677766017062701367387:-
+3404549828233218:825396479228178239259671:66024141064239540183677:+:759372338163938699075994:-
+3774208778004648:138650287251389136814825:26999089498391943065487:+:111651197752997193749338:-
+4238577793752036:9699877545727099583035941:undef:undef:undef:undef
+1929923068567981:5918633631450380694017363:5890956102390179715255422:+:27677529060200978761941:-
+1680477580056962:7214912248517969194342092:undef:undef:undef:undef
+1841496083602801:730:551:+:179:-
+8434627776439561:601:302:+:299:-
+2792920109380107:107:81:+:26:-
+3732100459735904:8358:undef:undef:undef:undef
+8168579180718854:5142:undef:undef:undef:undef
+8391127774917141:6694:4409:+:2285:-
+5582017437205135:52680:undef:undef:undef:undef
+8474984865860137:15181:14622:+:559:-
+8002292586438596:68277:27491:+:40786:-
+9108699884108801:872777:199191:+:673586:-
+2594412923170703:834457:248085:+:586372:-
+4382993700983297:886259:746683:+:139576:-
+4689917420119983:8773750:6780147:+:1993603:-
+8843943989430193:6007841:undef:undef:undef:undef
+4033114285249838:5188322:undef:undef:undef:undef
+8878559192189492:37892910:undef:undef:undef:undef
+2171021458249957:55548527:18532842:+:37015685:-
+9374733837743972:73016043:10924895:+:62091148:-
+6085111030150088:739954615:215570147:+:524384468:-
+9836471563372734:624803391:undef:undef:undef:undef
+4334547062456505:477326192:273113609:+:204212583:-
+5641861306250880:8832758427:undef:undef:undef:undef
+9282577429917227:8706626761:7153121728:+:1553505033:-
+8782255279233126:4479378289:122614048:+:4356764241:-
+4565103207928964:16631468392:undef:undef:undef:undef
+9321957127607023:20100023226:12040783975:+:8059239251:-
+3625564843880550:41923217660:undef:undef:undef:undef
+7900401309225411:161107386415:125105233316:+:36002153099:-
+4427656535510813:487927814719:404683134565:+:83244680154:-
+7812718803048309:602566056314:308458485965:+:294107570349:-
+7571221341805542:6030702615909:undef:undef:undef:undef
+2948534915241316:5252720022991:4758572766630:+:494147256361:-
+5845669995935470:4629995023092:undef:undef:undef:undef
+3579525232544162:39313951359940:undef:undef:undef:undef
+6208071235675697:17256859470592:9001694712785:+:8255164757807:-
+8493489755607416:38581143900936:undef:undef:undef:undef
+8104547175255898:566187098341508:undef:undef:undef:undef
+8498106976520476:649272916882489:537412539637276:+:111860377245213:-
+6056449049580070:987620164921142:undef:undef:undef:undef
+9200405987416644:1630468931967993:undef:undef:undef:undef
+1854670925859374:9513627892986071:5360708176851304:+:4152919716134767:-
+8660834948899312:5061850505225302:undef:undef:undef:undef
+1932762741080270:64945331340406576:undef:undef:undef:undef
+7639232039301626:92678803159372555:67941230624187431:+:24737572535185124:-
+8308435541995600:81464543657213580:undef:undef:undef:undef
+6416383750046724:692978472836400494:undef:undef:undef:undef
+4333088713722114:736729240226843093:625765443124600165:+:110963797102242928:-
+4069245031083072:989837201369577923:200648032759061798:+:789189168610516125:-
+5464948308777659:3773246659761710346:484043589062912105:+:3289203070698798241:-
+9052755996308153:5935018747613414191:3253842088745672734:+:2681176658867741457:-
+4767195926080263:2387490215566551629:987310242747406583:+:1400179972819145046:-
+3637936503902920:38490091045627145932:undef:undef:undef:undef
+2765129188212842:73182047176467825082:undef:undef:undef:undef
+6657932056404472:42189316897298808093:29263584725413709680:+:12925732171885098413:-
+6139779049542261:762726188214699430665:undef:undef:undef:undef
+3792903888814328:489339261115434009811:220070108379020419069:+:269269152736413590742:-
+3211142574336455:858751535436865059100:undef:undef:undef:undef
+3450677913282617:5403793078611106749350:5391783316670651866803:+:12009761940454882547:-
+6771447806101866:6085905690697813072939:4774799916319955714716:+:1311105774377857358223:-
+6822331428246822:8359862518235964521832:undef:undef:undef:undef
+6317960530647740:68474265611971391082695:undef:undef:undef:undef
+3318554932316905:80985070024981863847822:66850108520564448472131:+:14134961504417415375691:-
+8729037402547222:84561621551432649225705:52418781236523067498273:+:32142840314909581727432:-
+8118655713195858:515319522134590484525849:331192994432869448052106:+:184126527701721036473743:-
+2421322609601039:326679188338412179275138:116479631956383766942685:+:210199556382028412332453:-
+3286634122049957:838886646676329892591495:714196563700843058381753:+:124690082975486834209742:-
+6803870184899314:9739554545089514248279854:undef:undef:undef:undef
+8987447912806144:8608890406656831323180183:4626658738937045520188853:+:3982231667719785802991330:-
+1772711180643221:9902314582961863026124704:7468954682706445423572029:+:2433359900255417602552675:-
+18777857878295360:790:undef:undef:undef:undef
+75809979679217995:986:889:+:97:-
+22866702148073916:490:undef:undef:undef:undef
+73483902338991005:3586:2819:+:767:-
+38687357866460274:4227:undef:undef:undef:undef
+90142743294164177:2535:1883:+:652:-
+87704257155547192:10969:8917:+:2052:-
+11903610773811161:86735:33566:+:53169:-
+28543095733854604:37908:undef:undef:undef:undef
+71749918282618630:164346:undef:undef:undef:undef
+76418739681053999:637604:282331:+:355273:-
+11129705518878901:121644:46081:+:75563:-
+20938080520482539:6383818:1513541:+:4870277:-
+12247604817875019:4813387:4337813:+:475574:-
+63266108551418800:4329325:undef:undef:undef:undef
+41749736061008654:64644113:26583203:+:38060910:-
+86995843522210495:28427580:undef:undef:undef:undef
+13713199587315799:82855577:61085180:+:21770397:-
+78214750687323511:989749048:48537759:+:941211289:-
+86774105870039829:237940128:undef:undef:undef:undef
+34792635512106973:484742319:448157953:+:36584366:-
+46681416697256434:7231958622:undef:undef:undef:undef
+59828077309201612:3826217637:372734563:+:3453483074:-
+51754287857029799:7930068950:7660819649:+:269249301:-
+31885903829433215:29175165805:undef:undef:undef:undef
+10969315709785573:90850620535:63749809002:+:27100811533:-
+66299953094060171:71343248352:47297687459:+:24045560893:-
+82840724271832395:898974512616:undef:undef:undef:undef
+56497251668256360:563757295049:undef:undef:undef:undef
+45662002402811719:453066329892:234727412767:+:218338917125:-
+88181393350160099:6874242621875:5723406976774:+:1150835645101:-
+44200929083488529:2580710783209:249745227798:+:2330965555411:-
+41911412061920578:9843998117854:undef:undef:undef:undef
+72089859535700392:31728830349092:undef:undef:undef:undef
+67073616480032418:19358252185659:undef:undef:undef:undef
+25282244918188492:80954568589902:undef:undef:undef:undef
+69144384761784052:698148087605375:635940041908613:+:62208045696762:-
+33028935026922694:662899485291916:undef:undef:undef:undef
+75948842502745139:524597987228022:173554320236693:+:351043666991329:-
+85678624148787208:4349995716057139:2531559180051487:+:1818436536005652:-
+71044090148500051:7531275038393232:4686035531424811:+:2845239506968421:-
+68329207483625307:5059503112707484:3690126846012331:+:1369376266695153:-
+85881840717946907:77579074192953116:24957019494399099:+:52622054698554017:-
+56637960107128459:43484382926479372:39973370574620979:+:3511012351858393:-
+12255016666047012:51046491176991341:37825247893004932:+:13221243283986409:-
+80237919448700297:444882530036463174:436653873114780869:+:8228656921682305:-
+20214002634696644:317311849929769996:undef:undef:undef:undef
+75139735869521946:547956235353110173:255528464812415228:+:292427770540694945:-
+96217068708656452:8294875925040936662:undef:undef:undef:undef
+88992764620505470:4745194956805966064:undef:undef:undef:undef
+76681052104470570:4667476501948157920:undef:undef:undef:undef
+63428953609896758:86816220069575834171:18124155556302065384:+:68692064513273768787:-
+53958167650448494:49842513027450179446:undef:undef:undef:undef
+80805749044540444:96560693615440661618:undef:undef:undef:undef
+99885150542851309:461313333329818830769:20947175510113906213:+:440366157819704924556:-
+49540759584744708:208932018246435390606:undef:undef:undef:undef
+55304493965245217:651391776487117112825:undef:undef:undef:undef
+58260781049175593:9190941834165116577345:1339420552484048939222:+:7851521281681067638123:-
+99399663376107221:1302994212129995067117:905852763300789383981:+:397141448829205683136:-
+51599644923328960:5569963733400718975396:undef:undef:undef:undef
+47319956365139740:84608481430016788558747:4371117020818448105223:+:80237364409198340453524:-
+82393401545267769:72126010140224372341807:1640917274925737984283:+:70485092865298634357524:-
+36300969153089991:38561723767761932802970:31789799375515886901271:+:6771924392246045901699:-
+38573357102206622:964784204136472709553052:undef:undef:undef:undef
+11756151567175068:972615649806262488701593:142546357347680838302455:+:830069292458581650399138:-
+26126361201409438:210132523018916975469125:170574254286856108724877:+:39558268732060866744248:-
+19280435812491806:9160872983744441808454832:undef:undef:undef:undef
+30476572854480239:3010773395760369439421178:1120729230046912514768309:+:1890044165713456924652869:-
+16489348319896622:1960616646574107167388815:1614843307003134955986738:+:345773339570972211402077:-
+56796852737757856:324:undef:undef:undef:undef
+14224883309563304:320:undef:undef:undef:undef
+49614531212136907:621:37:+:584:-
+72027941762888670:3457:781:+:2676:-
+31909303812382508:7567:5272:+:2295:-
+43605089878314626:2166:undef:undef:undef:undef
+25955086048492185:16242:undef:undef:undef:undef
+41753708575470861:44361:undef:undef:undef:undef
+26632877646544846:71627:9472:+:62155:-
+12715461500422472:566189:296100:+:270089:-
+33449055928920850:793335:undef:undef:undef:undef
+40164270998180646:859691:242295:+:617396:-
+29446347330124339:5033393:3531313:+:1502080:-
+40061495291417857:8680501:8596333:+:84168:-
+44274952327461512:7556750:undef:undef:undef:undef
+96948602606349469:91315196:67529537:+:23785659:-
+33176426245472427:32431159:30803912:+:1627247:-
+43430641679126806:51532151:32282919:+:19249232:-
+33301494630792380:171270740:undef:undef:undef:undef
+90570682784220861:924188063:679831166:+:244356897:-
+79430639328556982:512662150:undef:undef:undef:undef
+57470169462146327:1470589749:687908813:+:782680936:-
+68483406845364308:9466550523:4027821677:+:5438728846:-
+70010934239091688:4341140166:undef:undef:undef:undef
+49819436279160535:85904509902:79882082971:+:6022426931:-
+93939925474315091:54581759721:39754230431:+:14827529290:-
+24918572925189973:52105238375:27182117787:+:24923120588:-
+39130177022959274:790758679262:undef:undef:undef:undef
+51488393012386966:186208945027:17629775407:+:168579169620:-
+72347642047909278:371269622185:279395670457:+:91873951728:-
+61743127891697265:9191136040714:7147317599809:+:2043818440905:-
+94530977048044534:6094678504209:5593753359589:+:500925144620:-
+96854619031136879:6295728848074:1461398441715:+:4834330406359:-
+68333595487310252:25375601707162:undef:undef:undef:undef
+38442808642087038:77260027424346:undef:undef:undef:undef
+41229185348028335:87463519154924:21667283325847:+:65796235829077:-
+88413445336742945:679619497367754:604690101318311:+:74929396049443:-
+77766978202972850:532019189388375:undef:undef:undef:undef
+98496978178709531:776203931382008:15332536063739:+:760871395318269:-
+12135128519994193:4455847532999167:1996975354881579:+:2458872178117588:-
+70050719911666950:6737065618201523:5420064790711085:+:1317000827490438:-
+99816374601370079:8074615437393557:3874990223148846:+:4199625214244711:-
+80053567320567819:33266399295159331:2437650441594990:+:30828748853564341:-
+29279386548565787:71796696258651927:16338945935201333:+:55457750323450594:-
+15326228583724151:98553224075843632:28034415758903719:+:70518808316939913:-
+89875622639855292:795874069109127227:211788693953700046:+:584085375155427181:-
+32932645784696979:265173237301416015:undef:undef:undef:undef
+23468588393511838:388700173410724183:43606211513805393:+:345093961896918790:-
+17030761113179844:3522642303698597018:undef:undef:undef:undef
+25443256387461272:4263945185892889838:undef:undef:undef:undef
+54666575539893269:7153721776751992625:3928884116985042204:+:3224837659766950421:-
+74986511551012014:89202256674285665390:undef:undef:undef:undef
+66006984685142039:98345273285790752900:undef:undef:undef:undef
+60227434648331826:80447948867125964627:64805254089895456604:+:15642694777230508023:-
+83197999838331470:206439239170170931186:undef:undef:undef:undef
+33095050621963840:479700065997411479690:undef:undef:undef:undef
+94992065168886975:623038807404702315030:undef:undef:undef:undef
+92232428828688029:8693752964100314956043:3383560292666666143290:+:5310192671433648812753:-
+88811946643767688:7182545366144332727506:undef:undef:undef:undef
+52846113871395631:5946343277588065327048:1997347915674367576591:+:3948995361913697750457:-
+36472330863434829:29832888877450801264149:undef:undef:undef:undef
+96006517877528028:22882643548120125836573:14983780620872265870535:+:7898862927247859966038:-
+34816311294894820:65235726487604145294478:undef:undef:undef:undef
+85238927115324946:497428028366600978783321:210338557119241795225303:+:287089471247359183558018:-
+42232182027548668:584846812665652023573192:undef:undef:undef:undef
+19774138567763467:978868828272500398176932:404217494869292525731887:+:574651333403207872445045:-
+10834206747351019:1297741647746812329275159:134217273110843180903028:+:1163524374635969148372131:-
+79991570797862058:4098378704356382612531249:2897909065962736070033105:+:1200469638393646542498144:-
+20160765916820901:9688953547468938268099867:4894015327897760918003740:+:4794938219571177350096127:-
+99345310811005534:522:undef:undef:undef:undef
+24449021684080449:376:313:+:63:-
+27217112835537620:998:undef:undef:undef:undef
+97266343556972814:2659:295:+:2364:-
+78416890282886204:1454:undef:undef:undef:undef
+53173514583689642:8157:647:+:7510:-
+57630912489621447:37888:15863:+:22025:-
+81145454762535477:53895:undef:undef:undef:undef
+15553323637705201:17102:2899:+:14203:-
+90462265847168301:519864:undef:undef:undef:undef
+32784389531362850:354724:undef:undef:undef:undef
+61814294669743836:130494:undef:undef:undef:undef
+14952225604902141:4552749:undef:undef:undef:undef
+66472449232349347:8123031:7843594:+:279437:-
+70964495787965198:6859465:6343177:+:516288:-
+92239078565249821:22113845:16215346:+:5898499:-
+32249467834212541:38978711:5664011:+:33314700:-
+58782909107539147:46231972:42798131:+:3433841:-
+20948767694083693:317341273:280940801:+:36400472:-
+98088779243778558:812664342:undef:undef:undef:undef
+17955727324816081:546925088:85189617:+:461735471:-
+13916230920273454:5430982456:undef:undef:undef:undef
+57085192554647291:6331757284:2850368415:+:3481388869:-
+73644026390874905:5198544666:undef:undef:undef:undef
+75754675227551541:50984810352:undef:undef:undef:undef
+49227526928437872:14437584861:undef:undef:undef:undef
+41633344583414913:94364328454:73401686181:+:20962642273:-
+23304947805992190:264077616045:undef:undef:undef:undef
+84404676686237561:731416658233:135112311368:+:596304346865:-
+58424978869604137:284169430556:210441825417:+:73727605139:-
+85282171878110428:7079991708223:3326310725558:+:3753680982665:-
+33273670046160765:6471656773786:5655031918089:+:816624855697:-
+48432794051350399:5520561444669:2635417198198:+:2885144246471:-
+70248691197431409:58766651880244:28749872541449:+:30016779338795:-
+16182915488102705:25353442103060:undef:undef:undef:undef
+11459182784692556:32862757434317:25337085262452:+:7525672171865:-
+52475419230856735:290741912888882:197418482050273:+:93323430838609:-
+36232260761342188:562683970264838:undef:undef:undef:undef
+47746526812211988:227532097988679:undef:undef:undef:undef
+12988437213394599:2317426182778187:552294338258473:+:1765131844519714:-
+73906096263761408:4459047733371868:undef:undef:undef:undef
+61516014387199789:4346955324090562:4308724219827691:+:38231104262871:-
+25476538467650465:40268304727221926:28241984461230661:+:12026320265991265:-
+32945929373304579:28101680114954157:undef:undef:undef:undef
+50702148816902914:31061406078158976:undef:undef:undef:undef
+44339949843554039:535985615359619194:27119109581542179:+:508866505778077015:-
+26876110452581283:362923925759693879:136882351792173550:+:226041573967520329:-
+72762877934098067:501865071020908804:58650312943382271:+:443214758077526533:-
+29949957083929573:9550336519238088976:9479389239358049309:+:70947279880039667:-
+20546840597400853:8880476186490221101:5034762524290054635:+:3845713662200166466:-
+97362418054391373:9437709569383448836:4154069307426224253:+:5283640261957224583:-
+20347662375082835:29164011715132253926:15426087777382241245:+:13737923937750012681:-
+60082481508459472:46452247849437497581:9699944804131926489:+:36752303045305571092:-
+46285048364241342:27750201480751298416:undef:undef:undef:undef
+49885308189279803:965742941017439487231:879257486593763460761:+:86485454423676026470:-
+45947044455251118:200533374427872344590:undef:undef:undef:undef
+77040110939061271:952699824074496863977:701129178619309401078:+:251570645455187462899:-
+12628364659709876:7747580791379386393485:undef:undef:undef:undef
+42048102653710734:8754132400302543755518:undef:undef:undef:undef
+16931849022276291:2019447833554034747657:657894404027592104454:+:1361553429526442643203:-
+21371712853616022:65228568521673389873709:undef:undef:undef:undef
+52799363362779200:68781782093587525271926:undef:undef:undef:undef
+11750725372935264:43166802878916533044335:undef:undef:undef:undef
+81914829780139643:973371029532900522325220:600317512899566983461187:+:373053516633333538864033:-
+30765282927580498:256467839165483949215717:25007602924652017154434:+:231460236240831932061283:-
+77604538819261036:955126528879719986642845:127263043096979276099311:+:827863485782740710543534:-
+54342840099349701:4207206876558598048853326:1878047670533526928050519:+:2329159206025071120802807:-
+39810143463392715:2015449810352967156851317:528654547790948124880307:+:1486795262562019031971010:-
+68616251362946099:3368537671378563823558444:1958114403431963337122839:+:1410423267946600486435605:-
+739944222209625484:205:39:+:166:-
+312146567644044979:871:534:+:337:-
+234995735919927648:852:undef:undef:undef:undef
+881263226289251457:6810:undef:undef:undef:undef
+671005619467629815:4721:1281:+:3440:-
+163036409710514668:3303:2920:+:383:-
+285780624801101379:27576:undef:undef:undef:undef
+896090930958559824:42740:undef:undef:undef:undef
+796712777144708071:51620:16891:+:34729:-
+908228407756368610:354237:77929:+:276308:-
+372770406414583885:114473:8911:+:105562:-
+666604792063950635:780404:708391:+:72013:-
+828469453953096645:7368623:6984403:+:384220:-
+750429865401289746:4106755:3408661:+:698094:-
+242743961663778672:6691039:5467072:+:1223967:-
+833148929164023225:59659076:43404625:+:16254451:-
+202481921150250925:16681346:6835463:+:9845883:-
+906071778290951527:46253994:29208679:+:17045315:-
+901537238852563081:608953684:586427557:+:22526127:-
+664522182923427217:120340172:79717233:+:40622939:-
+311780644074700991:557325991:159256188:+:398069803:-
+562157116867638256:8808712614:undef:undef:undef:undef
+827027313006382025:7617649399:855597065:+:6762052334:-
+724765870787062032:4129441951:1691471417:+:2437970534:-
+105336833433113634:36131529918:undef:undef:undef:undef
+834962892482436839:14998237399:8997276447:+:6000960952:-
+996997075327497658:74951986703:49403107751:+:25548878952:-
+829857708777346295:277636091705:undef:undef:undef:undef
+797219364501072188:707978536108:undef:undef:undef:undef
+877139979032848018:119112975165:28481990677:+:90630984488:-
+841028034609677137:2247069051237:1676672153338:+:570396897899:-
+733175820093125946:4116968796869:3995611623895:+:121357172974:-
+506257543138215883:2419221598350:421374220447:+:1997847377903:-
+678435520652452835:21710927384035:undef:undef:undef:undef
+751013114453216196:36101413264893:undef:undef:undef:undef
+113935549303883901:86443507710429:undef:undef:undef:undef
+205886532494178305:146795182999040:undef:undef:undef:undef
+546381004536017022:863110789314293:457137213828287:+:405973575486006:-
+344688333778363286:475024385790495:71687016663251:+:403337369127244:-
+187225701806494142:9330595506627888:undef:undef:undef:undef
+985627526044453786:3476940225646923:undef:undef:undef:undef
+125063969759197129:1016025397327886:282306028375647:+:733719368952239:-
+614276562355001110:86173070944037787:10915320915553978:+:75257750028483809:-
+435319051869297529:63518065647358657:24665703564912947:+:38852362082445710:-
+773110844108090999:16325920136436508:12311461352358555:+:4014458784077953:-
+806251846239181595:937484240885930727:undef:undef:undef:undef
+508800826806954868:915873656971571794:undef:undef:undef:undef
+704457075023099246:304998104112998959:209859717777732123:+:95138386335266836:-
+623450091203253565:8334627439350300264:1033517460058994245:+:7301109979291306019:-
+198202865519155748:8301375918345092606:undef:undef:undef:undef
+950569878122459278:6034426742841068379:802248276552555118:+:5232178466288513261:-
+439288797376507004:11850021366498989698:undef:undef:undef:undef
+611857385566830500:50683866719365423530:undef:undef:undef:undef
+453818827428727132:27375762610446687060:undef:undef:undef:undef
+806668777608681027:190692192811013315445:undef:undef:undef:undef
+764528714166777851:498893044164425465619:243872188860218207678:+:255020855304207257941:-
+347976294384733771:222068335639062180905:11023291776468980576:+:211045043862593200329:-
+838880478747206996:7042454656162207372364:undef:undef:undef:undef
+519647266407412226:4042951395655889924327:1011531208527057271429:+:3031420187128832652898:-
+429463306387728577:2904919838953885426448:1265294687955296659681:+:1639625150998588766767:-
+454739260236677400:43435723260864921208620:undef:undef:undef:undef
+235055100449954428:70371026613122378003611:26636398490735166000447:+:43734628122387212003164:-
+357907530028599162:24884942866930377270334:undef:undef:undef:undef
+601819786309569269:481586911497552481526182:114490489137964602805827:+:367096422359587878720355:-
+187307474587651239:647953927486869640668748:268953788893571607167967:+:379000138593298033500781:-
+967433485832737001:855829779915639694093261:619444618765346526822032:+:236385161150293167271229:-
+602385516947039571:8687594336791008251491315:905831341305032267415096:+:7781762995485975984076219:-
+797797541031493478:3214522432583205161683305:1506836251244780383860047:+:1707686181338424777823258:-
+116746909123726496:3835311690391940719271108:undef:undef:undef:undef
+681967180982108189:821:611:+:210:-
+107708843072655783:164:95:+:69:-
+766842904621101824:436:undef:undef:undef:undef
+203539646202080784:1049:158:+:891:-
+140781008874299874:5198:undef:undef:undef:undef
+277082549150592603:6761:4674:+:2087:-
+974530190267616268:23621:undef:undef:undef:undef
+257651217367991702:31708:undef:undef:undef:undef
+773577518971720767:91090:43333:+:47757:-
+492531976782122034:162901:8440:+:154461:-
+670962596278515952:620130:undef:undef:undef:undef
+840568880311046680:604775:undef:undef:undef:undef
+649351362475117207:9694565:3205168:+:6489397:-
+357938805759032260:8042113:4693011:+:3349102:-
+913722984348387908:8971139:1045654:+:7925485:-
+933649370374162764:46218886:undef:undef:undef:undef
+349410753181637707:98529556:1380271:+:97149285:-
+706053457495316397:51382718:28180947:+:23201771:-
+405201683720718793:977977364:489251489:+:488725875:-
+664598253138890656:967862390:undef:undef:undef:undef
+285292835017340308:347819476:undef:undef:undef:undef
+872960570171611437:6979466832:undef:undef:undef:undef
+542659342768117580:3110573897:322682024:+:2787891873:-
+924391825063557497:2217960093:1570985099:+:646974994:-
+992370052861293406:57201833091:undef:undef:undef:undef
+108901810098555137:70441428908:28156960021:+:42284468887:-
+702803944438852101:26812164169:19755973306:+:7056190863:-
+273678061334705784:432982040733:undef:undef:undef:undef
+807261622685427355:641090349479:569863472112:+:71226877367:-
+113016841865081910:314323641274:undef:undef:undef:undef
+174152365943648881:3588495242914:3345820006915:+:242675235999:-
+435583662090633735:6380155943484:undef:undef:undef:undef
+486859494777425717:7928718633119:822566729725:+:7106151903394:-
+176963388197987622:55068405765753:undef:undef:undef:undef
+325811567662029162:40058509885462:undef:undef:undef:undef
+955218985760083130:62518232745635:undef:undef:undef:undef
+443394278944930332:560762322993187:253844818353906:+:306917504639281:-
+396430035471051157:289019885467962:149311996773481:+:139707888694481:-
+167903502160975244:968908013604743:710639578903369:+:258268434701374:-
+774406386680166576:9013385182875468:undef:undef:undef:undef
+237662527672279155:1067553702374636:102195736886563:+:965357965488073:-
+598317780188527430:6048355888957008:undef:undef:undef:undef
+104201624575868217:73162203170505428:33472178232043165:+:39690024938462263:-
+249800345918568560:24994938428560314:undef:undef:undef:undef
+696656966910637972:25434496018832672:undef:undef:undef:undef
+955673121757712411:145050266275280522:85614369228848305:+:59435897046432217:-
+438970498459641004:624631386113542505:547290084930384659:+:77341301183157846:-
+909709124056023317:614703065809376721:398478752261875130:+:216224313547501591:-
+100155560151327465:7725277750251013137:undef:undef:undef:undef
+206948033775177015:5757364081707158095:undef:undef:undef:undef
+924103301676368290:4965215709746283461:4206883590964444248:+:758332118781839213:-
+413249971255617621:53186082903358573681:37536987354766582631:+:15649095548591991050:-
+349742873878469555:47010285173518596928:35377126292235048059:+:11633158881283548869:-
+572830987853789903:17723955576530834788:2970324334779977787:+:14753631241750857001:-
+373768487580965325:673733890110850740007:537313447996159520532:+:136420442114691219475:-
+416360599486706613:213562464926973212977:145572025736250100053:+:67990439190723112924:-
+255307733534768887:384491114741614726983:130140816678638446828:+:254350298062976280155:-
+243721910486372067:2806740610389779702552:2570038985185034779307:+:236701625204744923245:-
+182047561156981598:5901886460385054914320:undef:undef:undef:undef
+879512730478938210:6776533573818022764915:undef:undef:undef:undef
+334553986324389684:12517524758678396786266:undef:undef:undef:undef
+222461442037222140:81066691159855854800883:undef:undef:undef:undef
+581029766120709406:38912538998426697192431:7658465458579874902537:+:31254073539846822289894:-
+818243846439592136:885970918883970733985059:2159774719225611754611:+:883811144164745122230448:-
+282348932273257360:873329456614643181381202:undef:undef:undef:undef
+983316489831539150:924557337165720132867116:undef:undef:undef:undef
+809733838473777658:9547866968610146713102477:2103383893146127986438468:+:7444483075464018726664009:-
+396887650469626882:7845327974301986160954536:undef:undef:undef:undef
+452170280517345885:3958421076582645546044178:undef:undef:undef:undef
+781570723018926424:573:274:+:299:-
+401460158878978629:281:181:+:100:-
+814035689715571067:945:68:+:877:-
+615182183410788580:8509:3126:+:5383:-
+450845433131669747:4703:4623:+:80:-
+520181838750492251:3924:3887:+:37:-
+603769251917303493:94838:66131:+:28707:-
+524068448833342303:73325:66567:+:6758:-
+713183549787548521:71889:65626:+:6263:-
+538945463990590912:282376:undef:undef:undef:undef
+217847128784696569:264652:47833:+:216819:-
+304998980781206559:621589:84973:+:536616:-
+295808426943965107:5849600:4018043:+:1831557:-
+302407358774745669:3870624:undef:undef:undef:undef
+637390987317561085:2868477:1447483:+:1420994:-
+277457178799143027:28997888:3910587:+:25087301:-
+965362079672929927:50215844:29758271:+:20457573:-
+408923169530392581:62881687:49533335:+:13348352:-
+297018840451809570:951778007:194894641:+:756883366:-
+687051036050103995:609840170:undef:undef:undef:undef
+975142143309314227:785715963:333198112:+:452517851:-
+595844632862035773:5572417854:undef:undef:undef:undef
+138891110547373115:5257258377:3150032390:+:2107225987:-
+129272977679931354:5770902820:undef:undef:undef:undef
+348788865116431918:36403464432:undef:undef:undef:undef
+156759481853855521:71405067820:28926835741:+:42478232079:-
+391580558298948898:14260350331:8358043865:+:5902306466:-
+530357894657488407:432523414763:324599665371:+:107923749392:-
+249041103039299643:661116835748:496697677755:+:164419157993:-
+169454863252672806:955769873770:undef:undef:undef:undef
+677740582607616370:4148582049178:undef:undef:undef:undef
+194650133663085218:1087812926910:undef:undef:undef:undef
+426959158065157441:1557729832601:531111368478:+:1026618464123:-
+190672481619374176:16096133890936:undef:undef:undef:undef
+278274975276226306:20769753482723:undef:undef:undef:undef
+208631368712440107:40338347057249:13869691113085:+:26468655944164:-
+759149066424119080:758448226173320:undef:undef:undef:undef
+576796718957654618:713615321673676:undef:undef:undef:undef
+359107963616755855:110804624649059:65768022066249:+:45036602582810:-
+817707147713057474:6705651369913227:4763638317195305:+:1942013052717922:-
+217164771621955380:2119786950821631:undef:undef:undef:undef
+876211027396924498:7853424764924686:undef:undef:undef:undef
+126024995196609433:71949677735730773:27391852143934070:+:44557825591796703:-
+568489518079846089:40014513832833130:31300447427736299:+:8714066405096831:-
+378749987539961063:49011317327263342:31588616004329097:+:17422701322934245:-
+988405027394582532:878496535058181987:undef:undef:undef:undef
+487986828231244840:449692011945969628:undef:undef:undef:undef
+741797012196571282:354477086056442934:undef:undef:undef:undef
+377939215180915447:4624077780967689522:903350705581036663:+:3720727075386652859:-
+819081125992993587:4336987717545056996:2191187164402886183:+:2145800553142170813:-
+799453706990126977:4894371558723396340:413347913747964413:+:4481023644975431927:-
+38207395920143075