diff --git a/src/BigNumber.php b/src/BigNumber.php index f26d37e..2b86362 100644 --- a/src/BigNumber.php +++ b/src/BigNumber.php @@ -61,14 +61,12 @@ public static function of($value) : BigNumber return new BigInteger((string) $value); } - if (is_float($value)) { - $locData = localeconv(); - - $value = str_replace([$locData['thousands_sep'], $locData['decimal_point']], ['', '.'], (string) $value); - } else { - $value = (string) $value; + if (\is_float($value)) { + return self::convertFloat($value); } + $value = (string) $value; + if (\preg_match(self::PARSE_REGEXP, $value, $matches) !== 1) { throw new NumberFormatException(\sprintf('The given value "%s" does not represent a valid number.', $value)); } @@ -107,6 +105,78 @@ public static function of($value) : BigNumber return new BigInteger($integral); } + /** + * @param float $number + * + * @return BigDecimal + */ + private static function convertFloat(float $number) : BigDecimal + { + $bin = pack('E', $number); + $hex = bin2hex($bin); + + if ($hex === '0000000000000000' || $hex === '8000000000000000') { + return BigDecimal::zero(); + } + + $hex3 = substr($hex, 0, 3); + $hex13 = substr($hex, 3); + + if ($hex3 === '7ff' || $hex3 === 'fff') { + if ($hex13 === '0000000000000') { + $message = 'Cannot represent infinity as a BigNumber.'; + } else { + $message = 'Cannot represent NaN as a BigNumber.'; + } + + throw new NumberFormatException($message); + } + + $sign = ord($bin[0]) >> 7 & 1; + + $twoBytes = substr($bin, 0, 2); + $elevenBits = $twoBytes & "\x7F\xF0"; + + $exponent = unpack('nx', $elevenBits)['x'] >> 4; + $isSubnormal = ($exponent === 0); + $exponent -= 1023; + + $testBit = function(int $bit) use ($bin) : int { + $index = intdiv($bit, 8); + $ord = ord($bin[$index]); + $bit -= $index * 8; + + return $ord >> (7 - $bit) & 1; + }; + + $number = $isSubnormal ? BigDecimal::zero() : BigDecimal::one(); + + for ($bit = 0; $bit < 52; $bit++) { + if ($testBit($bit + 12)) { + $pow = $isSubnormal ? $bit : $bit + 1; + $delta = BigDecimal::one()->dividedBy(BigDecimal::of(2)->power($pow), $pow); + $number = $number->plus($delta); + } + } + + $exponentAbs = ($exponent < 0 ? -$exponent : $exponent); + $power = BigDecimal::of(2)->power($exponentAbs); + + if ($exponent < 0) { + $number = $number->dividedBy($power, $number->getScale() + $exponentAbs); + } else { + $number = $number->multipliedBy($power); + } + + $number = $number->stripTrailingZeros(); + + if ($sign === 1) { + $number = $number->negated(); + } + + return $number; + } + /** * Proxy method to access protected constructors from sibling classes. * diff --git a/tests/BigDecimalTest.php b/tests/BigDecimalTest.php index 99d0a1d..63acc7d 100644 --- a/tests/BigDecimalTest.php +++ b/tests/BigDecimalTest.php @@ -40,9 +40,19 @@ public function providerOf() [PHP_INT_MIN, (string) PHP_INT_MIN, 0], [0.0, '0', 0], - [0.1, '1', 1], + [0.5, '5', 1], + [0.25, '25', 2], + [0.125, '125', 3], + [0.0625, '625', 4], + [0.03125, '3125', 5], + [0.1, '1000000000000000055511151231257827021181583404541015625', 55], [1.0, '1', 0], - [1.1, '11', 1], + [1.1, '1100000000000000088817841970012523233890533447265625', 51], + [2.0, '2', 0], + [2.5, '25', 1], + [6.25, '625', 2], + [77.0, '77', 0], + [1125899906842624.0, '1125899906842624', 0], ['0', '0', 0], ['+0', '0', 0], @@ -313,8 +323,8 @@ public function providerMin() { return [ [[0, 1, -1], '-1'], - [[0, 1, -1, -1.2], '-1.2'], - [['1e30', '123456789123456789123456789', 2e25], '20000000000000000000000000'], + [[0, 1, -1, '-1.2'], '-1.2'], + [['1e30', '123456789123456789123456789', '2e25'], '20000000000000000000000000'], [['1e30', '123456789123456789123456789', 2e26], '123456789123456789123456789'], [[0, '10', '5989', '-3/3'], '-1'], [['-0.0000000000000000000000000000001', '0'], '-0.0000000000000000000000000000001'], @@ -360,11 +370,11 @@ public function testMax(array $values, $max) public function providerMax() { return [ - [[0, 0.9, -1.00], '0.9'], - [[0, 0.01, -1, -1.2], '0.01'], + [[0, '0.9', -1.00], '0.9'], + [[0, '1/100', -1, -1.2], '0.01'], [[0, 0.01, -1, -1.2, '2e-1'], '0.2'], - [['1e-30', '123456789123456789123456789', 2e25], '123456789123456789123456789'], - [['1e-30', '123456789123456789123456789', 2e26], '200000000000000000000000000'], + [['1e-30', '123456789123456789123456789', '2e25'], '123456789123456789123456789'], + [['1e-30', '123456789123456789123456789', '2e26'], '200000000000000000000000000'], [[0, '10', '5989', '-1'], '5989'], [[0, '10', '5989', '5989.000000000000000000000000000000001', '-1'], '5989.000000000000000000000000000000001'], [[0, '10', '5989', '5989.000000000000000000000000000000001', '-1', '5990'], '5990'], @@ -412,11 +422,11 @@ public function testSum(array $values, $sum) public function providerSum() { return [ - [[0, 0.9, -1.00], '-0.1'], - [[0, 0.01, -1, -1.2], '-2.19'], - [[0, 0.01, -1, -1.2, '2e-1'], '-1.99'], - [['1e-30', '123456789123456789123456789', 2e25], '143456789123456789123456789.000000000000000000000000000001'], - [['1e-30', '123456789123456789123456789', 2e26], '323456789123456789123456789.000000000000000000000000000001'], + [[0, '0.9', -1.00], '-0.1'], + [[0, '0.01', -1, '-1.2'], '-2.19'], + [[0, '0.01', -1, '-1.2', '2e-1'], '-1.99'], + [['1e-30', '123456789123456789123456789', '2e25'], '143456789123456789123456789.000000000000000000000000000001'], + [['1e-30', '123456789123456789123456789', '2e26'], '323456789123456789123456789.000000000000000000000000000001'], [[0, '10', '5989', '-1'], '5998'], [[0, '10', '5989', '5989.000000000000000000000000000000001', '-1'], '11987.000000000000000000000000000000001'], [[0, '10', '5989', '5989.000000000000000000000000000000001', '-1', '5990'], '17977.000000000000000000000000000000001'], diff --git a/tests/BigNumberTest.php b/tests/BigNumberTest.php index 08d0c9b..ee9a495 100644 --- a/tests/BigNumberTest.php +++ b/tests/BigNumberTest.php @@ -1,11 +1,14 @@ assertInstanceOf(BigDecimal::class, $result); + $this->assertSame($expected, (string) $result); + } + + /** + * @return array + */ + public function providerOfFloat() : array + { + return [ + [0.0, '0'], + [1.0, '1'], + [2.0, '2'], + [3.0, '3'], + + [-0.0, '0'], + [-1.0, '-1'], + [-2.0, '-2'], + [-3.0, '-3'], + + [0.5, '0.5'], + [0.25, '0.25'], + [0.125, '0.125'], + [0.0625, '0.0625'], + [0.03125, '0.03125'], + [0.015625, '0.015625'], + [0.0078125, '0.0078125'], + + [0.5, '0.5'], + [0.25, '0.25'], + [0.125, '0.125'], + [0.0625, '0.0625'], + [0.03125, '0.03125'], + [0.015625, '0.015625'], + [0.0078125, '0.0078125'], + [0.00390625, '0.00390625'], + [0.001953125, '0.001953125'], + [0.0009765625, '0.0009765625'], + [0.00048828125, '0.00048828125'], + [0.000244140625, '0.000244140625'], + [0.0001220703125, '0.0001220703125'], + [0.00006103515625, '0.00006103515625'], + [0.000030517578125, '0.000030517578125'], + [0.0000152587890625, '0.0000152587890625'], + [0.00000762939453125, '0.00000762939453125'], + [0.000003814697265625, '0.000003814697265625'], + [0.0000019073486328125, '0.0000019073486328125'], + [0.00000095367431640625, '0.00000095367431640625'], + [0.000000476837158203125, '0.000000476837158203125'], + [0.0000002384185791015625, '0.0000002384185791015625'], + [0.00000011920928955078125, '0.00000011920928955078125'], + [0.000000059604644775390625, '0.000000059604644775390625'], + [0.0000000298023223876953125, '0.0000000298023223876953125'], + [0.00000001490116119384765625, '0.00000001490116119384765625'], + [0.000000007450580596923828125, '0.000000007450580596923828125'], + [0.0000000037252902984619140625, '0.0000000037252902984619140625'], + [0.00000000186264514923095703125, '0.00000000186264514923095703125'], + [0.000000000931322574615478515625, '0.000000000931322574615478515625'], + [0.0000000004656612873077392578125, '0.0000000004656612873077392578125'], + [0.00000000023283064365386962890625, '0.00000000023283064365386962890625'], + [0.000000000116415321826934814453125, '0.000000000116415321826934814453125'], + [0.0000000000582076609134674072265625, '0.0000000000582076609134674072265625'], + [0.00000000002910383045673370361328125, '0.00000000002910383045673370361328125'], + [0.000000000014551915228366851806640625, '0.000000000014551915228366851806640625'], + [0.0000000000072759576141834259033203125, '0.0000000000072759576141834259033203125'], + [0.00000000000363797880709171295166015625, '0.00000000000363797880709171295166015625'], + [0.000000000001818989403545856475830078125, '0.000000000001818989403545856475830078125'], + [0.0000000000009094947017729282379150390625, '0.0000000000009094947017729282379150390625'], + [0.00000000000045474735088646411895751953125, '0.00000000000045474735088646411895751953125'], + [0.000000000000227373675443232059478759765625, '0.000000000000227373675443232059478759765625'], + [0.0000000000001136868377216160297393798828125, '0.0000000000001136868377216160297393798828125'], + [0.00000000000005684341886080801486968994140625, '0.00000000000005684341886080801486968994140625'], + [0.000000000000028421709430404007434844970703125, '0.000000000000028421709430404007434844970703125'], + [0.0000000000000142108547152020037174224853515625, '0.0000000000000142108547152020037174224853515625'], + [0.00000000000000710542735760100185871124267578125, '0.00000000000000710542735760100185871124267578125'], + [0.000000000000003552713678800500929355621337890625, '0.000000000000003552713678800500929355621337890625'], + [0.0000000000000017763568394002504646778106689453125, '0.0000000000000017763568394002504646778106689453125'], + [0.00000000000000088817841970012523233890533447265625, '0.00000000000000088817841970012523233890533447265625'], + [0.000000000000000444089209850062616169452667236328125, '0.000000000000000444089209850062616169452667236328125'], + [0.0000000000000002220446049250313080847263336181640625, '0.0000000000000002220446049250313080847263336181640625'], + [0.00000000000000011102230246251565404236316680908203125, '0.00000000000000011102230246251565404236316680908203125'], + [0.000000000000000055511151231257827021181583404541015625, '0.000000000000000055511151231257827021181583404541015625'], + [0.0000000000000000277555756156289135105907917022705078125, '0.0000000000000000277555756156289135105907917022705078125'], + [0.00000000000000001387778780781445675529539585113525390625, '0.00000000000000001387778780781445675529539585113525390625'], + [0.000000000000000006938893903907228377647697925567626953125, '0.000000000000000006938893903907228377647697925567626953125'], + [0.0000000000000000034694469519536141888238489627838134765625, '0.0000000000000000034694469519536141888238489627838134765625'], + [0.00000000000000000173472347597680709441192448139190673828125, '0.00000000000000000173472347597680709441192448139190673828125'], + [0.000000000000000000867361737988403547205962240695953369140625, '0.000000000000000000867361737988403547205962240695953369140625'], + [0.0000000000000000004336808689942017736029811203479766845703125, '0.0000000000000000004336808689942017736029811203479766845703125'], + [0.00000000000000000021684043449710088680149056017398834228515625, '0.00000000000000000021684043449710088680149056017398834228515625'], + [0.000000000000000000108420217248550443400745280086994171142578125, '0.000000000000000000108420217248550443400745280086994171142578125'], + [0.0000000000000000000542101086242752217003726400434970855712890625, '0.0000000000000000000542101086242752217003726400434970855712890625'], + [0.00000000000000000002710505431213761085018632002174854278564453125, '0.00000000000000000002710505431213761085018632002174854278564453125'], + [0.000000000000000000013552527156068805425093160010874271392822265625, '0.000000000000000000013552527156068805425093160010874271392822265625'], + [0.0000000000000000000067762635780344027125465800054371356964111328125, '0.0000000000000000000067762635780344027125465800054371356964111328125'], + [0.00000000000000000000338813178901720135627329000271856784820556640625, '0.00000000000000000000338813178901720135627329000271856784820556640625'], + [0.000000000000000000001694065894508600678136645001359283924102783203125, '0.000000000000000000001694065894508600678136645001359283924102783203125'], + + [0.1, '0.1000000000000000055511151231257827021181583404541015625'], + [0.01, '0.01000000000000000020816681711721685132943093776702880859375'], + [0.001, '0.001000000000000000020816681711721685132943093776702880859375'], + [0.0001, '0.000100000000000000004792173602385929598312941379845142364501953125'], + [1.0e-5, '0.000010000000000000000818030539140313095458623138256371021270751953125'], + [1.0e-6, '0.000000999999999999999954748111825886258685613938723690807819366455078125'], + [1.0e-7, '0.0000000999999999999999954748111825886258685613938723690807819366455078125'], + [1.0e-8, '0.000000010000000000000000209225608301284726753266340892878361046314239501953125'], + [1.0e-9, '0.0000000010000000000000000622815914577798564188970686927859787829220294952392578125'], + [1.0e-10, '0.00000000010000000000000000364321973154977415791655470655996396089904010295867919921875'], + [1.0e-11, '0.00000000000999999999999999939496969281939810930172340963650867706746794283390045166015625'], + [1.0e-12, '0.00000000000099999999999999997988664762925561536725284350612952266601496376097202301025390625'], + [1.0e-13, '0.00000000000010000000000000000303737455634003709136034716842278413651001756079494953155517578125'], + [1.0e-14, '0.000000000000009999999999999999988193093545598986971343290729163921781719182035885751247406005859375'], + [1.0e-15, '0.00000000000000100000000000000007770539987666107923830718560119501514549256171449087560176849365234375'], + [1.0e-16, '0.00000000000000009999999999999999790977867240346035618411149408467364363417573258630000054836273193359375'], + [1.0e-17, '0.0000000000000000100000000000000007154242405462192450852805618492324772617063644020163337700068950653076171875'], + [1.0e-18, '0.00000000000000000100000000000000007154242405462192450852805618492324772617063644020163337700068950653076171875'], + [1.0e-19, '0.000000000000000000099999999999999997524592683526013185572915905567688179926555402943222361500374972820281982421875'], + [1.0e-20, '0.00000000000000000000999999999999999945153271454209571651729503702787392447107715776066783064379706047475337982177734375'], + [1.0e-21, '0.00000000000000000000099999999999999990753745222789637139672993451167553075691041795935998237609965144656598567962646484375'], + [1.0e-22, '0.00000000000000000000010000000000000000485967743265708723529783189783450120951502847720104849571498561999760568141937255859375'], + [1.0e-23, '0.000000000000000000000009999999999999999604346980148993092553230786866765862587503680141039208439934782290947623550891876220703125'], + [1.0e-24, '0.000000000000000000000000999999999999999923700499551702824631300061898481408826917069364976185796844987407894222997128963470458984375'], + [1.0e-25, '0.0000000000000000000000001000000000000000038494869749191839081371989361591338301396127643500357819184021224145908490754663944244384765625'], + [1.0e-26, '0.00000000000000000000000001000000000000000038494869749191839081371989361591338301396127643500357819184021224145908490754663944244384765625'], + [1.0e-27, '0.000000000000000000000000001000000000000000038494869749191839081371989361591338301396127643500357819184021224145908490754663944244384765625'], + [1.0e-28, '0.00000000000000000000000000009999999999999999712325434616006196770329693636753639999435544334276007748447435974359365218333550728857517242431640625'], + [1.0e-29, '0.00000000000000000000000000000999999999999999943206574175104278258558377697877041374338315595897285339703377919640114868116143043152987957000732421875'], + [1.0e-30, '0.000000000000000000000000000001000000000000000083336420607585985350931336026868654502364509783548862515410206308619223136702203191816806793212890625'], + [1.0e-31, '0.0000000000000000000000000000001000000000000000083336420607585985350931336026868654502364509783548862515410206308619223136702203191816806793212890625'], + [1.0e-32, '0.000000000000000000000000000000010000000000000000559673099762419019344522426032374800632968937312731638482799663888967410529939883190309046767652034759521484375'], + [1.0e-33, '0.0000000000000000000000000000000010000000000000000559673099762419019344522426032374800632968937312731638482799663888967410529939883190309046767652034759521484375'], + [1.0e-34, '0.000000000000000000000000000000000099999999999999992767460389181651091970649217996634988016744348623082634610696676519760628561173110284698850591666996479034423828125'], + [1.0e-35, '0.0000000000000000000000000000000000100000000000000000785754519458238030392258619451080624462334988938228728496509153000956551522564186296193611269700340926647186279296875'], + [1.0e-36, '0.000000000000000000000000000000000000999999999999999941038427442277489150409174515723759274243427886756069835916654225999599490547382896199479773713392205536365509033203125'], + [1.0e-37, '0.0000000000000000000000000000000000001000000000000000066324273227849160063246821413449472343705781641680227552882474171018285786819118458879085409307663212530314922332763671875'], + [1.0e-38, '0.000000000000000000000000000000000000009999999999999999619194017398727676358821156653447114524871535125767627887442908835027138732593388233127473796457707067020237445831298828125'], + [1.0e-39, '0.00000000000000000000000000000000000000099999999999999992929287939988014500233064511906197367398133222223193004995110860615409765027190768719826674537642929863068275153636932373046875'], + [1.0e-40, '0.000000000000000000000000000000000000000099999999999999992929287939988014500233064511906197367398133222223193004995110860615409765027190768719826674537642929863068275153636932373046875'], + [1.0e-41, '0.000000000000000000000000000000000000000010000000000000000057612911342378542997169042119121403423543508714776317814976295686899169228986994124665807319451982237978882039897143840789794921875'], + [1.0e-42, '0.000000000000000000000000000000000000000001000000000000000037623129356886899840294512167266376454176441975330007502975346636413174953159862631328378226348851942617557142511941492557525634765625'], + [1.0e-43, '0.000000000000000000000000000000000000000000100000000000000007745042713519820676601652211145917159395405585514547715482249297106724749098631665490562509435341909114214331566472537815570831298828125'], + [1.0e-44, '0.0000000000000000000000000000000000000000000099999999999999995299012157797537262313524103585668678214901248072213449280016067527327081027864783122672863183914675200281152456227573566138744354248046875'], + [1.0e-45, '0.0000000000000000000000000000000000000000000009999999999999999841051979672810811588555613047573079851002733243279701583057437492217649804555650371464527474677148367876444723378881462849676609039306640625'], + [1.0e-46, '0.0000000000000000000000000000000000000000000001000000000000000022999043453913216828505961640883084488789349378835264740187722591657382693176711544546107892003424942768685657057403659564442932605743408203125'], + [1.0e-47, '0.0000000000000000000000000000000000000000000000099999999999999997438173659562304724144296122072586385917800431070114651283524903861286055227527841029653896133378731029238417615800926796509884297847747802734375'], + [1.0e-48, '0.00000000000000000000000000000000000000000000000099999999999999997438173659562304724144296122072586385917800431070114651283524903861286055227527841029653896133378731029238417615800926796509884297847747802734375'], + [1.0e-49, '0.00000000000000000000000000000000000000000000000009999999999999999363994656125838522515499921424780352422941409762213666477161290752968276296960337741640632342481329099202736442053573995281112729571759700775146484375'], + [1.0e-50, '0.000000000000000000000000000000000000000000000000010000000000000000076162237057823428575993091641927138989513847283709538948144790065143893595321174669124552225337349106179808916165796528474629667471162974834442138671875'], + [1.0e-51, '0.0000000000000000000000000000000000000000000000000010000000000000000076162237057823428575993091641927138989513847283709538948144790065143893595321174669124552225337349106179808916165796528474629667471162974834442138671875'], + [1.0e-52, '0.00000000000000000000000000000000000000000000000000010000000000000000076162237057823428575993091641927138989513847283709538948144790065143893595321174669124552225337349106179808916165796528474629667471162974834442138671875'], + [1.0e-53, '0.0000000000000000000000000000000000000000000000000000100000000000000003079876214757872651842265454886546085749866459560714766014597312474927273512980096064565573955378764522009913621658689676652276290269583114422857761383056640625'], + [1.0e-54, '0.00000000000000000000000000000000000000000000000000000100000000000000003079876214757872651842265454886546085749866459560714766014597312474927273512980096064565573955378764522009913621658689676652276290269583114422857761383056640625'], + [1.0e-55, '0.0000000000000000000000000000000000000000000000000000000999999999999999994576045832271877048386177385314293734768539803050594901815513565007267460758420501687529931709955247404289379029075578142991831409602809799253009259700775146484375'], + [1.0e-56, '0.0000000000000000000000000000000000000000000000000000000100000000000000003985444122640543888593177383975325263818119579374628584972858801468477405372264607538518719151474574467405157551346472642240549577596908648047246970236301422119140625'], + [1.0e-57, '0.00000000000000000000000000000000000000000000000000000000099999999999999995495744986240501044053378048768020469428246581119186532239157342153944919191472312470207982938076356229324745710523507339850487508903231770318598137237131595611572265625'], + [1.0e-58, '0.0000000000000000000000000000000000000000000000000000000001000000000000000025704942665738700811698774947741077980864740796653882428505752249160553243421325583604669297825748714277250889112093117585088725661479625017591388314031064510345458984375'], + [1.0e-59, '0.00000000000000000000000000000000000000000000000000000000001000000000000000025704942665738700811698774947741077980864740796653882428505752249160553243421325583604669297825748714277250889112093117585088725661479625017591388314031064510345458984375'], + [1.0e-60, '0.00000000000000000000000000000000000000000000000000000000000099999999999999997043346391313425520922612302581852072572233846426168156435405004008156570318179241258702127560310406428974820785673527056432009240175516617821216414085938595235347747802734375'], + [1.0e-61, '0.00000000000000000000000000000000000000000000000000000000000010000000000000000395228123538898122123169379282217172946503413797519326445436778014303001284812088763590813033814098767741265594259325793402808839764107397274361943573239841498434543609619140625'], + [1.0e-62, '0.000000000000000000000000000000000000000000000000000000000000010000000000000000395228123538898122123169379282217172946503413797519326445436778014303001284812088763590813033814098767741265594259325793402808839764107397274361943573239841498434543609619140625'], + [1.0e-63, '0.0000000000000000000000000000000000000000000000000000000000000010000000000000000665108390885599516666492874994729659543878425186153119727427511457071495133637934325200422517323105847758368530076502780808905681852605731451018311606304678207379765808582305908203125'], + [1.0e-64, '0.0000000000000000000000000000000000000000000000000000000000000000999999999999999965305738833546928712902976607280783480372213247877639491996226104668964320054101346916438695416432929769423252076208907803604252402073697828855693148231154054883518256247043609619140625'], + [1.0e-65, '0.0000000000000000000000000000000000000000000000000000000000000000099999999999999992313694706062483581550868040220070744953236771840360929168517400423638715617506297791493721361815057351675091835477500352140162082574583311375313564306477331911082728765904903411865234375'], + [1.0e-66, '0.0000000000000000000000000000000000000000000000000000000000000000009999999999999999758479367767774519372515506585508024880821746302461470420739891297771086110238609391668140658660035188325913355065673838741549102961556640076313325245227492388266909983940422534942626953125'], + [1.0e-67, '0.00000000000000000000000000000000000000000000000000000000000000000009999999999999999429035682041820668611622567483319930889885453103445609480809796763141577017433622133843910332110954280101910747866971461536841043771495196989574594736115142890042761791846714913845062255859375'], + [1.0e-68, '0.00000000000000000000000000000000000000000000000000000000000000000001000000000000000066444950351414760896497108911652528335589655259975508800554765126800223611545232435068477405667000768594192052486210537605449626573422560856484483414528645350838331751219811849296092987060546875'], + [1.0e-69, '0.0000000000000000000000000000000000000000000000000000000000000000000009999999999999999634937985620541825337180654422187489634220636352830522568266105847285020200436739169984054286204129847741912377366160447289783580765283598918786301304310361326432854411905282177031040191650390625'], + [1.0e-70, '0.000000000000000000000000000000000000000000000000000000000000000000000099999999999999999566603349622936327208651652641680501722443601799944492674165887912591501738791095389530292144747166721794149234586432375287562948180779769331795928171153901332923741307467935257591307163238525390625'], + [1.0e-71, '0.00000000000000000000000000000000000000000000000000000000000000000000000999999999999999915235446160791411426165388815921664882718505061208463251954038143132382524027318361653059189379824961108565855822743626193132450968609203189719636403510281811614357483364301515393890440464019775390625'], + [1.0e-72, '0.000000000000000000000000000000000000000000000000000000000000000000000000999999999999999965504563245440131329866093634981127466784711909202826798696301103128340332377688731804461521922104152426925628649694062167971937539358324754468588202386067562686157439433287663632654584944248199462890625'], + [1.0e-73, '0.0000000000000000000000000000000000000000000000000000000000000000000000000999999999999999996922761423345581269679034146893291581826091189199304015410215453125813962596670213149087979761028647000900486666538084652246616646076525732436683076683433657106032411976404006281882175244390964508056640625'], + [1.0e-74, '0.0000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995765001370096376884491285850700308643802436708920370749451782251562897192482294336146830490746237302878343191414548305654690326776267877450997656448381172603908118869629750857797034768736921250820159912109375'], + [1.0e-75, '0.00000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995765001370096376884491285850700308643802436708920370749451782251562897192482294336146830490746237302878343191414548305654690326776267877450997656448381172603908118869629750857797034768736921250820159912109375'], + [1.0e-76, '0.00000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999269681795428529778880642837883388636694292701360821477125706405332095640828122192585926931322290483270510345918634088158396037764475242813674295968331307044624992795434233715246019613687167293392121791839599609375'], + [1.0e-77, '0.000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999269681795428529778880642837883388636694292701360821477125706405332095640828122192585926931322290483270510345918634088158396037764475242813674295968331307044624992795434233715246019613687167293392121791839599609375'], + [1.0e-78, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999998878728350925144193178130785208135783324028619960803451509348304505051212524853874707408230432153096736340815962020317497336959217417624670274052264414348782613129120472130243434116803058486766531132161617279052734375'], + [1.0e-79, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999998878728350925144193178130785208135783324028619960803451509348304505051212524853874707408230432153096736340815962020317497336959217417624670274052264414348782613129120472130243434116803058486766531132161617279052734375'], + [1.0e-80, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999614253175133875575759313354743387232240038419096073369208121046736219849991328566788143274501180360291919104909106601603839342598580981750333758983939541173658871657990925684107090358476721547731358441524207592010498046875'], + [1.0e-81, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999614253175133875575759313354743387232240038419096073369208121046736219849991328566788143274501180360291919104909106601603839342598580981750333758983939541173658871657990925684107090358476721547731358441524207592010498046875'], + [1.0e-82, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999614253175133875575759313354743387232240038419096073369208121046736219849991328566788143274501180360291919104909106601603839342598580981750333758983939541173658871657990925684107090358476721547731358441524207592010498046875'], + [1.0e-83, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000345765105554531564377414825658805446289260815782664512385801586401904736971641012020430008491690459267396259695265979672460489070442689751054426051721967568516800629111620251152502095886610844477360160453827120363712310791015625'], + [1.0e-84, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000345765105554531564377414825658805446289260815782664512385801586401904736971641012020430008491690459267396259695265979672460489070442689751054426051721967568516800629111620251152502095886610844477360160453827120363712310791015625'], + [1.0e-85, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999977427140991339407326952305150613496656330581837126518177823866478808841901827191418270599756160444444280473251857896555635021838930073037549140490501694694753404362042357762064827417603513483139454631754006186383776366710662841796875'], + [1.0e-86, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000084582208924052686909682012804239211604947143851763892666741914281399401518083897262843851805551572223891384597486711702405697591644190420467206955508886061187671301171365755284370152575665235592482227300337171982391737401485443115234375'], + [1.0e-87, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000017610291466106887170475945520723139762061792592615533611168134404780301757923456109985569274682117361634565006468702235674025246197867056143415414879391457166254464215735759522155943218070390309339980083880305983257130719721317291259765625'], + [1.0e-88, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999993389539464367463749646836141632804995845510351868008479170090955900642705772290466891271611109529878381354051769619040225943481438996285073867598909252320213948341802119826481938818152107683370541217106330922348433887236751616001129150390625'], + [1.0e-89, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000385390156717149495889778415468219122129634648610993958160349406162237704329735939702537825655788220060898211286618301940276728541498431074946002713261085209229472257643701331978478836423187794603219323390230766079866953077726066112518310546875'], + [1.0e-90, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999994937506910031486217098891492449469606918314301758016222562427675716544026619140094695004876210687330141370874092813614124240337583226333846298487062114638096503972538048521373489674425134635395776198474142304473133435749332420527935028076171875'], + [1.0e-91, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000022188449886083650824523235276432246235696533401346378468482748263533560530590673766919240932065771502609152283198448976563885660437361817376487102227110814863031005804499528763713555185874725436117282139692787057416722973357536830008029937744140625'], + [1.0e-92, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998812477116601844506524280554645377544972375952686092566108234752876228990062625667663894586224691628702442552181640477351432900686969246296375133327086559390487221422143576952593370423494961288569092755775468382706261394332614145241677761077880859375'], + [1.0e-93, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999902965574365855430667041731221507598484791824840647293642581345691834113325715213950938208187699778248062608618361294265890437372950519076931911910880252541509475235263776371431484076857636831509625041102909425751177341368247653008438646793365478515625'], + [1.0e-94, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999956190072365957314665917402674598959087874284019530813654144471839914223685034615654501169234291739522413744183020738333155369644150002443201811549874385699256598347112313495240515093968457319869666220137187712048605636727671708285924978554248809814453125'], + [1.0e-95, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999989455383616020992165214697332781059464800821006333013661371425682464292659609241719228019888411715318883203910932890875195952313649679547120498824245718922848550292017649197621159479662720125094691957033611640984498321327311742834353935904800891876220703125'], + [1.0e-96, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999062921054908617984169714606873258085224844785393275136433040410760891202231726765574108932531117758277095545911525095200944956399004867873237806383173858638686704297543099416695485154270631120321276147925518186447666098282116564632815425284206867218017578125'], + [1.0e-97, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000003623472756142303864860151794584963811985376364402360742153432952355032715510480962275015362076793128266838165330935538744052169263360047450615280383040626852473271454077752909394064704527719494238439954420779105059740904555554141808215717901475727558135986328125'], + [1.0e-98, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999387777610085021084748789750019567659218267998155015370878616131879544219561557098237457083450258146914492613566917209869310021530837652091193736796956409650326860009509268385256465483316166327596918109804658117462243096325476277019816961910692043602466583251953125'], + [1.0e-99, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001999189980260288361964776078853415942018260300593659569925554346761767628861329298958274607481091185079852827053974965402226843604196126360835628314127871794272492894246908066589163059300043457860230145025079449986855914338755579873208034769049845635890960693359375'], + [1.0e-100, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001999189980260288361964776078853415942018260300593659569925554346761767628861329298958274607481091185079852827053974965402226843604196126360835628314127871794272492894246908066589163059300043457860230145025079449986855914338755579873208034769049845635890960693359375'], + [1.0e-101, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000005171617276904849891057306773641595375547783862720029046933129748311113501222953641373783893800821542866933565876163585210479432782250659739311511261223096517320888518916526900192486585135348216411421179001055338801084410855940271152519915887069146265275776386260986328125'], + [1.0e-102, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999327501491448774415696031666818592249981207050474614350815472199250106647986686235731562407010183270116538079529295626092953222336454615957002695020961600380588940492640545627418002336325295537184445480159114575574772754891649767885510036169449676890508271753787994384765625'], + [1.0e-103, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999575347373999130785156385627348918768225701078765736966206689027496149294264938137482774070003912204318653762249779112015472955865990126377196123376203414812077096400817859598793261986781178721446257279688487691888384356182054821891706276881794934752178960479795932769775390625'], + [1.0e-104, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999926554002081118532333094317668601062042008354340183369696766799218859598641712326029375949126175103656600915884917475461232328895407073835195433793215114677271690151559621713457418742371132474111899253027677129649636985456904850438396097599136336242509059957228600978851318359375'], + [1.0e-105, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996527992122961171506127462400146458051771054626067127835164442863230376212268918567800277146894524962568149130999302013662603725939699733835065697372164818219171451221232702148480306275486422165280734670414167907363879815853064012686426021044028278339510507066734135150909423828125'], + [1.0e-106, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999994107622176180347585616193254342488147039667631036633544234591024890115994707864839761100750471390839500613166932080471450496953190329514887864248590506474161669928680438620396768786251503187943973978815635133568363766522001452157157165857837531619534132687476812861859798431396484375'], + [1.0e-107, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001585470431324073868943661188524129088681351186128692715592206207407665386104991598590417415292261471694530771001343269807638850637550622558678705446523343054237350324238247760475863114612734972408684525827194158640497566304817959803162658537732665475772364516160450875759124755859375'], + [1.0e-108, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000039403750849774447626932241591711158850109272983480166011371141181474231285496456099202548609403732144624780209551679866871807174846460293608701342659934968952698640024145775130968363489350769680326744756749605705517267782736253202447852708639242959309800795608680346049368381500244140625'], + [1.0e-109, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999213090032671148042944651608772737164832437073679082439164747246389102391125712547343738461676439380346196841136375912054159676958532320479617304614317043657962202789926136591785273802092822629542916946809659127192130501219695914914199014601235509201726525674303047708235681056976318359375'], + [1.0e-110, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000512219634805401894263036729677071056505554985451525014163020583608700331290562887556438396075635667299154831590986600534543597761617445658118334167891261020459677930553668774342472698564564055265511385789128593139162584753710767157743183492959649261329346803250928132911212742328643798828125'], + [1.0e-111, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000881538779516831325493393960176944394019499534253785495567111745464819138901807658070228739768130498089489298764329731365248366552720079164466211484428483929624338962779328221319938522536615175460023692731730268401631043898549001949195234763482210724552280700638817734215990640223026275634765625'], + [1.0e-112, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999949659198684897095837955434580241937834220747624530869030176988850437361035963976864351495092127488262573504686429299075010548358608520351566167154741389802025686009193310529515444168264142347473060254169697398616737432210540562148125004249902260523746627858543423172932307352311909198760986328125'], + [1.0e-113, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999978512256865477520152827093213044542327497665499707469139871610870446642880592474560741365693103646918068384934346731171159358420413413594249595070095860341804175152335940173810558685761958841238256528149588154496617780581231049241207195755411835638060919569276852048034243125584907829761505126953125'], + [1.0e-114, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000506449023169285809400062397950510535606899601876489694141081659204698474921637188017160421955440435568055855541403114115313835749256467009581648584820366912503980101925142845483449795065000756512472130993150441963186515079572669739126745191857734238466488461104242357890825587674044072628021240234375'], + [1.0e-115, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000506449023169285809400062397950510535606899601876489694141081659204698474921637188017160421955440435568055855541403114115313835749256467009581648584820366912503980101925142845483449795065000756512472130993150441963186515079572669739126745191857734238466488461104242357890825587674044072628021240234375'], + [1.0e-116, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999994291273057982439700022531527858466659758479962694672324860857287639218889373684238454576178012483682792147569926576848740738922962964586342094711305336418245536402492065760534449437518577236266098240482340911618427346096452409370236519234987384528701547848584195964105614251593578956089913845062255859375'], + [1.0e-117, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000029512291344823777975012349194853833472840655103291108005640425183158361766117455840492992438969708604050546310060160950484891830439640907977138553290774088873574907304846088043134151261029010881816348367949744479609411978642945372534116287611377588167235972038088633907781943577219863072969019412994384765625'], + [1.0e-118, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998548601848627210513127507711110962495648793617754556340466596531375943317018774133794497211277317745247754788489318082330470069609379550593333375080897700058852677628887067865727825908296429261216871351093870340313182962590477536966211997183138626383512581772072279665507232859766872934415005147457122802734375'], + [1.0e-119, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001300243902286690065861087216344975527920838550613652878027500273213376354264381290203748481664600942221067190062254340279232015505994888221071175236010018076668185817385530952343819169425474153069848529657060407593031859636613162145711766919388084154269466416907644493801583795988818792466190643608570098876953125'], + [1.0e-120, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999786069133521234062494411283480245923758078238453978220607637059591658505770737234469218439368049694600442668809608401784327958313522571618639892504211962055439880058176245209407382759301416803825362705645307282349322073832894363067133705474907626194082336061086343845843364512571138646990220877341926097869873046875'], + [1.0e-121, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999786069133521234062494411283480245923758078238453978220607637059591658505770737234469218439368049694600442668809608401784327958313522571618639892504211962055439880058176245209407382759301416803825362705645307282349322073832894363067133705474907626194082336061086343845843364512571138646990220877341926097869873046875'], + [1.0e-122, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000059221426642928471270932715415427317930652890237754165934618307770809396590128620607349127248932406871371778645792957110525430965042159631426620114340502397472176722277540431681441203502281667448541461342749187237271530538937940950644027863982445952535876710937795463538272513841741184759115412816754542291164398193359375'], + [1.0e-123, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000059221426642928471270932715415427317930652890237754165934618307770809396590128620607349127248932406871371778645792957110525430965042159631426620114340502397472176722277540431681441203502281667448541461342749187237271530538937940950644027863982445952535876710937795463538272513841741184759115412816754542291164398193359375'], + [1.0e-124, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999332612496260455571748521106226105592512074739996973786317204924401163559447303437941814970737332859161725415132427744041306885686516870227350093894665864725843818528089218211490928791708129376579083507517828450461163381082371524445023758069641907445239343596422312776727474160532609971652195923752515227533876895904541015625'], + [1.0e-125, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000119863602615973784849024886181210334258608591484828706960316270217995063481042668024112659332327365131720647210866385956274025663957324031672660925127839256392536462268084527318105818779808937770540448711368089155883333774251452608409083426006002495313983292019588938387006021710611144114044801511909099644981324672698974609375'], + [1.0e-126, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999994638210139863752739319384028852897161364970485782829397577234820373021434529266429555312521698319434900579538121675176938014090160902791947371883997428604809352715171190292641287916295534093034443263310500850569102833731976848458055879789623692566202517835456885254703373961373956101670625040700457475395523943006992340087890625'], + [1.0e-127, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000283874249773373412578296507005190488789136477211465148760964467263168293488071674291258011122951220542136320560541103021892179825924085240906529056474083950256852698555348343115434366086408846352093978126688847217283323918393104309114359541915188964079533228602354805399408492789361388376929984378449489668128080666065216064453125'], + [1.0e-128, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000005401408859568103309052834145426594802430862986593345890744772751462514653740544965836726232958009946209108101694078484369205457039971496303344480117025912844198468177541980552987602212529712035107713678381275316882208085186144350914663534730232928215257050045129264726062873538499086450376880826074188490792948869056999683380126953125'], + [1.0e-129, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999925880770503962573927034887685531452297333719141998738750691323573083560594414038512159956243155212422703836212507412136177871631363182768319485323556005461360487622175994949438213094542015941771738441928093410933353338551750778117970638381748277353429484612496006813657189304854717236173389759146257205202346085570752620697021484375'], + [1.0e-130, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000860474181186106478814017048964495719560523575469171389466368285000105430231533024449190888511863212219378922180491280205706003051588480117119346705738225452123589466752760195527917540211174149959118104977425887276892664268891098569406345886908422643333419724401141056614885930175592715863635705393630548343253394705243408679962158203125'], + [1.0e-131, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999859432633594556016599224441396257471693532085438431388241708879206811790051912624869446309711668782224166072145855555928251448840365572345916538286876868678049393688632253507311800918466789942308034551417118526062293115049276525200843869593517391950184311224750470481588015379157829994532549384186718988143383057831670157611370086669921875'], + [1.0e-132, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999859432633594556016599224441396257471693532085438431388241708879206811790051912624869446309711668782224166072145855555928251448840365572345916538286876868678049393688632253507311800918466789942308034551417118526062293115049276525200843869593517391950184311224750470481588015379157829994532549384186718988143383057831670157611370086669921875'], + [1.0e-133, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000064149634265045481520453116605894360283961918702494701419847403998282244644224106204112176189932068065792611123541471552001281931788346904216873236411230365779485914028889935748064202920459010453544357763610865201119901287710041064503330419772913467920705224010255686832775799714045712057246057262961864454953175851414926000870764255523681640625'], + [1.0e-134, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000397101433570486440640372814601854186856466967779160881086984927240319116320263425424973183090679462397376099019927478147587391043659126324589921714976230226624401186646197529302879182099027553839378256942674237652165919805905446443724105883912965076387445672805029872471588429020886143684988326241212501922610289550874540509539656341075897216796875'], + [1.0e-135, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000397101433570486440640372814601854186856466967779160881086984927240319116320263425424973183090679462397376099019927478147587391043659126324589921714976230226624401186646197529302879182099027553839378256942674237652165919805905446443724105883912965076387445672805029872471588429020886143684988326241212501922610289550874540509539656341075897216796875'], + [1.0e-136, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000152343881330358553838753904501519743827916252076200481002831885801576630046733682122410287021775588652667049332286697531726593651835908283730300757011154904205606340794759227751247334965860683767761933591829652161767118821633148791784835185752000719818104114026439414463234788340564922983129412593279040680454942957577912920896778814494609832763671875'], + [1.0e-137, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997765674847346292395985645003553380915867445361004070274835946019175567546824295824542834322093638691576983336290419145066634520661363811432374728011541687802931602887252749186952782031200601399626499036195009199436834569298244826513374695402390969442282883730261527345555328849672879601816408256456500304089424972613098230311834413441829383373260498046875'], + [1.0e-138, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000671568372478654048793480338210890152071921120252455854796176801902310160890843779046624419057415205561079726019742246681072979437563417462495812580705218943270911583803528683994702692032032371515623490143308589715533163001095103505741271958999483673303996016937994760395997611967669955619161259196942056630578736140489704009581828358932398259639739990234375'], + [1.0e-139, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000029865133591864371162893207243774346020309754352243551008260088524199624163733786379981567453739381539300414585695044160840234303280215232947150433922561470869684854418758961511994248831871060836855116242505539397726245213806567814973968761784932253618911783197472724962913730905084412418686107855057037903823030327416475360191583376945345662534236907958984375'], + [1.0e-140, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998325050402186307901732467402213100953670680726099100791906309894166038425704554697413047438873670776829096706534606852675640475268505709131911190373761094154792697446676657790264922336770584044347107527772388993044240635592788964547377071914116211147955201007706428611705619304048118348964858527426057820477947621912585655923333405326047795824706554412841796875'], + [1.0e-141, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000415187909843646941992853405491851801412104911250566867805593359198344341404058462314443407199900499820527764657822880693611916909290047683541600664687991032001243244067570574143305051979123659352011264837009517645472049282762373573490182724458747891537517264775748346743781153712352196509454885002561528285839188544891300604311457078665625886060297489166259765625'], + [1.0e-142, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000415187909843646941992853405491851801412104911250566867805593359198344341404058462314443407199900499820527764657822880693611916909290047683541600664687991032001243244067570574143305051979123659352011264837009517645472049282762373573490182724458747891537517264775748346743781153712352196509454885002561528285839188544891300604311457078665625886060297489166259765625'], + [1.0e-143, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995047459260545592047747179910066303857167348508745406355947146564143748119765537864189142457740670277304994927760069503404121209992283652298689731220131760061856596512552193317732850233821466985437292147436179264875845715898194405754394397040726123028781466960177710255356261172943203814891907720963806747888947723673401521480956499754455535367014817893505096435546875'], + [1.0e-144, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995047459260545592047747179910066303857167348508745406355947146564143748119765537864189142457740670277304994927760069503404121209992283652298689731220131760061856596512552193317732850233821466985437292147436179264875845715898194405754394397040726123028781466960177710255356261172943203814891907720963806747888947723673401521480956499754455535367014817893505096435546875'], + [1.0e-145, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999991491045261369468074238838447233407702107309210401553886373401631393867145439347723972231670921008276953321990721726025461934507218605205214031029881558263867264473103128946277224959497114525732279940389258868361915347756160136073730758682117342780885580800675966861344386905561935267037469001029924037788916508597979842347823863503257502127752331944066099822521209716796875'], + [1.0e-146, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000002604839008794855491452405518586208186669932017726092853791354546237245190208691912150077879732452028052299918966549394031267953386350352353589471564600439475364858757576593278812118049323717148396664633562964933666903880341568361304620291252915725083082882814125764191166141846335069466915584439423315785705380865772214765502279117310481526548215924776741303503513336181640625'], + [1.0e-147, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999970479421350821617828456219829098079443886206140638233700823780888155561678240198180611547753267301525028109548441377097466012303024777787838102507230793516713146659303527697780185387732191214403383025114109166477911258182508522175176894866851292529843318417450463127677765237041351682521922927346736767873109447318760285566630713102839918271502739344214205630123615264892578125'], + [1.0e-148, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999935748815890117282149663822731120577929628009867749049427642678029270005288335997592555778350731539802843803522676304070686845283750574203026982376971286717937832954133378800900225517256537491228018261850658864691187645294441546276508577338302627079226124410768716556281580123652602299929902354192051524133144221481909121761385664308924357650265601904493451002053916454315185546875'], + [1.0e-149, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997916207271599770174815431910359245482245075520886052976911905660287695077571624832762549010390124195557418605488264535416080405784332868404088253979567021640697508559606492200017535535110464519722421592997174192459216140452526614984397424898845889249761691912089977052681151538853902816992807063540807880810075377797307651794197530131880842681202370414439428714103996753692626953125'], + [1.0e-150, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000629535823217296399721087933638737788046497104705520498254179321138129170532890503704405994963230580103067513751160865633202829165130023467457014156090990295018891776024374768764400416020911642797793722954229019546998397332759107067859731816710377579229973684101427943008113522349948331994414341250592547994858646301304824078966967156534016215353732892623384032049216330051422119140625'], + [1.0e-151, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999938462144441734808374569478754400070235429431451568516948984951690120439381297263263497635335304646187389452430939200400903967707131371358090351137147810686592154337349796683468972382137447938351093633980615919518275427551321778768592039645220491567555592692540728007171907085636098345444903961469761308800329004750413118933670433745949010823799753266971634957371861673891544342041015625'], + [1.0e-152, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000065649420298806350167022104845626272069871068193106057011904029542484537488856591588897181487169007962966745005762465879831581303106238001685761770422371717263469175619384928878981673430125147245251702572352864538015220842582676835004335281995389457999418400603764767655983428612475478960604302612407465074615720461537986384519001106479628333213098383136507862900543841533362865447998046875'], + [1.0e-153, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000039152071161916445626927807743287480021029060538619069498795888323242017049781731521105609372197265926388142386007618905054995137278140784270051221823504835873611917646554044418563071077484062058968771615741000992236097240236656404501773691000619064156954711423965442555134190492396909478166731541022849184139321355053638998925549573035749685418651483935492674248735056607984006404876708984375'], + [1.0e-154, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999729086983196916842766920649874404998989240414024016007160255352751357159520945813516266790847679108349416358366205014681135297227078977407307748503263376323989687727144768332675165651958813490932614442242113421277882882343716053282453697135136930795507954884744671298030110951922004857720728038625613094579483235888427705349419207394260530659325342359329547026192130942945368587970733642578125'], + [1.0e-155, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000143108063460821601205894042098448624752396783625375187052570059302021541381490502075510105144112577670957024299874498662019456068142996429428225825120671345706207382970250902369206313718830446968285238439173789180681688630372622509056221994430218199296450028179035752730880297548232505883815086615997717868176971927245633249316887604321134531113575159345409348876643207404413260519504547119140625'], + [1.0e-156, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000401871238625762075230252412238475890854369514626224674485266750896186780044330932425037176579383495996919940508417926150072055343808008318253524151281480734279032167861177508427981727318841044490579486062336519119930942559532978275682800031488522826664259492825513536918861138564624785985744491609988107423610556951506838186752937735609011950981220659355323300554463372691316180862486362457275390625'], + [1.0e-157, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999943150933175723529763890852421337364297197177337303909661265415741806713505867931861431065869711755227455900472638007306987480806006421373515865542817844552713093922452020273570757392631880130378197605747547628184774624032518164415083313239251988047403497400040122184621393298475315373560350922288252414659073461311052731967136774974327947162647755003431814598176263775286543022957630455493927001953125'], + [1.0e-158, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006444617153428937696280883842447514528249689499395210689534198992657166912907438358777188060499499819275101744539273894201213671647439569640272413320572395360660554036964212016080836775688509796677303432090515784379771181181208118068952169412306834148215808659315864595950931770174925485813033087918540976318295429117517178155992347336913970321071383156146176302524197776477876686840318143367767333984375'], + [1.0e-159, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998863664756018572246348509717251403216668457145854698362404413106109357186457035125880887139544297133944156933742103167012172677243191174459843751421329932804816077917112846604202650830375699322391339146255670180690828194975338320218564140982864315768299515749751085762318680568522807904701820050985228782311452117859864689754545566146839436535886456398043228499463060121588142692417022772133350372314453125'], + [1.0e-160, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998863664756018572246348509717251403216668457145854698362404413106109357186457035125880887139544297133944156933742103167012172677243191174459843751421329932804816077917112846604202650830375699322391339146255670180690828194975338320218564140982864315768299515749751085762318680568522807904701820050985228782311452117859864689754545566146839436535886456398043228499463060121588142692417022772133350372314453125'], + [1.0e-161, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000028120774630031375848549545741243778581170156633237151994511765886863414189832868096810438692084651992206906893656295874231315284954038802829836794938520487193184092295354327562225393435594547777486122117946522659454860002908955065989745724565322940911725849734827414048354780693832858115305768410546622166900163424732253607969657646833365895490036057512218471468907359835098791478458224446512758731842041015625'], + [1.0e-162, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999954088036374070775751553704674875504054009684430693086299884950588544959829965649025557500010881500768271898975715175491525836823975050568645963143578730813796265380187430837211852483813399132989537252139090608560930026153242257821357050134434048347357855801789858870751164827552698897362266578596744745272302084213231741025924278924274044276494089507140119371829638437424066232939168230586801655590534210205078125'], + [1.0e-163, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999992324106210075385904447210423055538966769282101296639226045711088091227051335430774586877556038018775829897900990637533206522079856713880440268245551215178321421591680912938289919710480415104349455855631456731101987801204921446730276009363854601726671040994847945531104400234707722641371516691617432729656621955120843986078340537112320766026857911177781841141364660971975280266688113073314525536261498928070068359375'], + [1.0e-164, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999617997799424000049283241047859555326505889002851247598097419105154531321591184843454796811235068290207651289671673755313909908303270285097067833155953755714417777460320062007900163285657111553632819260952214329461930296792492054510062892584060561175197172651174597606779554476715670182740414942023491074488227174644297110865540058745406402784728339394705463613753956168418821244536776049471882288344204425811767578125'], + [1.0e-165, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000009998177244457687283139105480205711379208999375322719246347910058629209216323705094993313077415130598847816413743625780548203370026890641336909390699405306726230032560602223153540358267661295199186138321039085354086801716792628136314033783231104681031351410914965322720396823414492773972634716737376371052076675284417023965489799313706865290839986641535715046036377988203231446419361194699604311608709394931793212890625'], + [1.0e-166, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040122175558243738754898480914112073084596561306696443894226659773114257377076968063439333048607819085149496067853782186271461207339304473605738187639423891279012711640974737130742876831380132596626270962175118109020409240257267314631374111246760033226122752038406298996922683253821371284255480821768410804110398921909094514824670213185755923569457080326445473949491970304074772647913438294864363342639990150928497314453125'], + [1.0e-167, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000246717766601117441519926162172912095286210889247928808437822263000794717613538935288180808461695847727239650021608667911738891069878718326970219146440066058803436279050909465923972862673158584982610516075507716535339983592646834173469870122719084298265857563410507865126535845466062464472952571627836111406824437504400632815608158883714263265761903183803243905809949267802061486222313380078929867522674612700939178466796875'], + [1.0e-168, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000495359250313018798398232857372078111175301744102507328466887690588908349273123627410787142896055342371187709597632060630599792814994337961897471866831796989517572988535911477486186638825422692833263124125301283449371615913399670578555429637516523307869887961394816040833370144536115579441369695981409232266209375586253665614918173692729092462974165924485487326723400897105883120943360144183831295094933011569082736968994140625'], + [1.0e-169, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000201179579279951889494332706650336297646126334616435798702446775408390300828267543734556479114876743872147869225462564480958602997490296631147190646714427999744304638141648645677568293476605921373886828801707213576973104942065303602800152996738639009092824083236212756882922294542672246320073171719768219062755043188870164156569825065005551127725431170669760491634397165652335013242654640323869852380767042632214725017547607421875'], + [1.0e-170, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999983345499048861825336445751824815903073465707275884638649689563143274274027219743913926814938840349574834806876025069429390711572561024496770933912156771676252771920014882010591679536179058495704966645964721462623647496622789734488310605719576628363562149423553795865194486248205086807991845251639271695255843712769214078733363438928035112445866451272840010194777314250133539987861677276049891804898805958146112971007823944091796875'], + [1.0e-171, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999983345499048861825336445751824815903073465707275884638649689563143274274027219743913926814938840349574834806876025069429390711572561024496770933912156771676252771920014882010591679536179058495704966645964721462623647496622789734488310605719576628363562149423553795865194486248205086807991845251639271695255843712769214078733363438928035112445866451272840010194777314250133539987861677276049891804898805958146112971007823944091796875'], + [1.0e-172, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000408024660475077059817387500126561010283827794411329843068069293894692053641056977569406164586017945941785256987144241461175064587922825691830982129609453070678633947012614699293003067549992713806260786451109293956003307968784780382628081884785588906670447122566480690910580939069312089920984790341234556471433870655780438619471007693873666129072197794446443422556352914330611026469713197725405241789164989540950045920908451080322265625'], + [1.0e-173, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000408024660475077059817387500126561010283827794411329843068069293894692053641056977569406164586017945941785256987144241461175064587922825691830982129609453070678633947012614699293003067549992713806260786451109293956003307968784780382628081884785588906670447122566480690910580939069312089920984790341234556471433870655780438619471007693873666129072197794446443422556352914330611026469713197725405241789164989540950045920908451080322265625'], + [1.0e-174, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999995914210579815611727603595178405946376103816812032714262183987009629415257163546317086084021288165672816245368488365773674697953924112200111094852957684657993573180102527517321784079742545540384017146863556658480012179098371647139862650009648925666366345267957544784796861339452365270710650645131895517841440516521543696105241114955830918044906619383659773914538196977917810231720960348114221212241330138947859040854382328689098358154296875'], + [1.0e-175, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999995914210579815611727603595178405946376103816812032714262183987009629415257163546317086084021288165672816245368488365773674697953924112200111094852957684657993573180102527517321784079742545540384017146863556658480012179098371647139862650009648925666366345267957544784796861339452365270710650645131895517841440516521543696105241114955830918044906619383659773914538196977917810231720960348114221212241330138947859040854382328689098358154296875'], + [1.0e-176, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999995914210579815611727603595178405946376103816812032714262183987009629415257163546317086084021288165672816245368488365773674697953924112200111094852957684657993573180102527517321784079742545540384017146863556658480012179098371647139862650009648925666366345267957544784796861339452365270710650645131895517841440516521543696105241114955830918044906619383659773914538196977917810231720960348114221212241330138947859040854382328689098358154296875'], + [1.0e-177, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999520780235996475509325497330355835297234876423695519817967318948418171202308528515516031421879740749292983934835019806443360177733887895740642165717045004303819616424084513917285065143006961937076412369206325657890081247052985700906437455381356119707601934668842017337283098214303282216076742448367510473280588070058851533740829256847796987402185330596511113874703861248755730530822777586041437591772809592542692325167763556237332522869110107421875'], + [1.0e-178, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999520780235996475509325497330355835297234876423695519817967318948418171202308528515516031421879740749292983934835019806443360177733887895740642165717045004303819616424084513917285065143006961937076412369206325657890081247052985700906437455381356119707601934668842017337283098214303282216076742448367510473280588070058851533740829256847796987402185330596511113874703861248755730530822777586041437591772809592542692325167763556237332522869110107421875'], + [1.0e-179, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000002057206575616014592482139263374355574320041493592812627400078885402383120946331212267023880252734171604503705379320740892770555547523117726246388616260078602510467005544533796800271030358579788947859620645146061870195969447525298004828377487516462014480565606130025102292156833976111083107487029791428250521772812410162639151759642079722890379366794091464658601384058275406864470521930471363977958985780252550330804428568853836623020470142364501953125'], + [1.0e-180, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000002057206575616014592482139263374355574320041493592812627400078885402383120946331212267023880252734171604503705379320740892770555547523117726246388616260078602510467005544533796800271030358579788947859620645146061870195969447525298004828377487516462014480565606130025102292156833976111083107487029791428250521772812410162639151759642079722890379366794091464658601384058275406864470521930471363977958985780252550330804428568853836623020470142364501953125'], + [1.0e-181, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000004732755097354787834367750966427481590715071671966880771043395057754207768548302328324332341758721155461794469843821786384633359535274742851177924337279623744820741523005234821780591186721454952300881467747446641155111398712239473372193152360155237381066979245860435934112928197625833318396573961868117124629543168590493616395301467705407662394020500390821502294487748036285598518293084616266166256352063192832911879721902170814473720383830368518829345703125'], + [1.0e-182, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000004732755097354787834367750966427481590715071671966880771043395057754207768548302328324332341758721155461794469843821786384633359535274742851177924337279623744820741523005234821780591186721454952300881467747446641155111398712239473372193152360155237381066979245860435934112928197625833318396573961868117124629543168590493616395301467705407662394020500390821502294487748036285598518293084616266166256352063192832911879721902170814473720383830368518829345703125'], + [1.0e-183, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000005522105321379546439214826804069721900978370182573992966007135384544817566702224594847878706556164931847776503680389028035977283044128285934723997731865844599609375894728894702488409424044625095617848316501019860224310404861235743606856916216571508707757079337816690093929729419231423257573756304982907588361519870587264644522673651652752061211240842980764340240132327849125765686506562648564970417172460986413789495760688630365820017686928622424602508544921875'], + [1.0e-184, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000005777891238658996131979318037932608940869380335394251139654065437579139271517822295534218459534497321031048674712767507279892267342990221415604305478302883566035692506388321159663528747800703062985655626771782804938281488268768448125070017544779759008639797073880127665292917011551506066556373544710573716077890963973435404381059993340440776462244604414007769362106376849128854005703691704118583560010767466380795112258360497758946650037614745087921619415283203125'], + [1.0e-185, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999924579035550769427190702384102556300240495118897318633583737556367331737795832250047243022343589628622320989428185675168452409354476848038793942334690750968344224886024403154789516899105540237120581713286968178129346842854046235591958961014087649883630968564875705434541798692451605139055762615194522001952571724283004922947006920812148381353584395426909360018948994676885850720938739740504097541214386575670652490890549595435599083970146239153109490871429443359375'], + [1.0e-186, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999910806642515685669468166560948917555793244147559468553310665132212910400110089477566451949283126449927134114187432183071903138762969913041033583206826632923302004443025636695331847192951237765064810190154920555017374521038800797406627391008859974236208970463673532126955743243157217330455591919109885278988355000914008165108313307265977876098778431415879508887237194091685205737139920295311939652273102386196136871547144152751022960767812719495850615203380584716796875'], + [1.0e-187, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001287071881492476103179615777559014858175085297229769087030091149268886719695666186429239047216709109600659513166516362808076647856712774459084699012968564021752699999664122051572781415038308837387016662214088351182472509705558009733802237454596267640162845469108014757878902576714630976807234712184393049698271530687357409129753828502407864450344157439379278055932581168942990583236239373502727958352272540979734347453266124169414530431510002017603255808353424072265625'], + [1.0e-188, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999994908067112790032880452765975891977808893416208927947989552854944282732526766467167814211472901669036546129454151955078046974915631886855486755712556527769214532540188976339227580242590091726130570768133012817820279334756064634091564387777099221990128121721030511263468938541163594069769777207961436977330409039381133269347693239389812020205342531022532236534723299348668678980039958608222059751251451001340125954851991484343502465496900111219247264671139419078826904296875'], + [1.0e-189, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006868701054107113923065609354017672276296545749493862547322672828631771638508715327717388174742369173523373314804257486974040663553435453559872562162354259478070339834015932022566252886866568705851234125265200065722718044141366438132039890265548760463198829352880172135701718813195122032958508119088381804076349661547184462886703962356497066169680650483129178471986659606673999808604166631015332576890884841726791405982325182252994934771483936941649517393670976161956787109375'], + [1.0e-190, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000188510357855833015531025794646529958154524177425806481491858204348633867528277859442439788230874411644952170619913148325442993525279020436274054149325988853492958998191610169132208192987705096615103996182670746345464167410939462706218484311291260615691670088522646019121706145919468358996629972006696327338163704470805316488942705712963170749170163883692391024336694671584274157166851729395050702462426671605977617515280816610694100232507863790232249812106601893901824951171875'], + [1.0e-191, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000188510357855833015531025794646529958154524177425806481491858204348633867528277859442439788230874411644952170619913148325442993525279020436274054149325988853492958998191610169132208192987705096615103996182670746345464167410939462706218484311291260615691670088522646019121706145919468358996629972006696327338163704470805316488942705712963170749170163883692391024336694671584274157166851729395050702462426671605977617515280816610694100232507863790232249812106601893901824951171875'], + [1.0e-192, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000009671974634103304792427994520765881917094154235563998771799973895276077680323304740194695214236283268127414844644640864066321698222548406233259323788719843133587011625822086583891099050173172434432593342199352154498511002284350581858833354288906597260482526615935385104474338574820368657141625343537929727592125508519195818010172221546608830426043844534119641850585248107766582566880469383114296950040857537414487473323928503835150271772586917651270965734511264599859714508056640625'], + [1.0e-193, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000004805180224387695644229409161828017957376083947247790048749103987907490802172975899088259381781571298328731633116197501058889346366449530064185084854057371509426123098380846026035463349988096516756622479466449222596092672175003110110928034803910352820753885534242307033688540377554315490157046828868575693710570218637231659809706493785998128592079965973372309596073809737814181944872999327386928246655488274067792911966978292755019478367894242808178173476107986061833798885345458984375'], + [1.0e-194, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001763433718315439926605293312491852982552290017050159596842310295802124003329020373396736986497376317204554625910920399179244126456387732458513685519893326744325567768730070677375691037372424068209140690258384890157081215856660940268487210125787700045923484858184133239447416504263032260791685257200229422534598162461004060934415413935616439945852541872905226937004160756593931556118330542557322807039632484476108811118884410829937732489961321031245178314605936975567601621150970458984375'], + [1.0e-195, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000093677999834960792206655829358322654196117748425442357266092945260655410004389091876255429747078637700149971439241131538783571762315422264726921838553034386570769560928570090490251218189116051895778451632785457212546098566525163648745892718210943319829994865483295677250502261874912403342050891863710951004745283029015730581226431135615706615614211021240729335846782832096445575280050025046313364060792719584553190632391191156426420971847936254735776662183610596912330947816371917724609375'], + [1.0e-196, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000046150710677581796618779019212445076464495968266104381455049293821509053772452286787325392320763091120084705701658676821914115201220706677138306223956721187116073383902776725667442275804496169887224048676409452018186544561551067244957754832615276870223269854919886711715484701354736102883217117306393040517620719651262174348800008012953492730516907519670931169298819566764879162955758325283350779066794972872183126556639724251347018692505234351971198612785141079939421615563333034515380859375'], + [1.0e-197, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998674159923085805213393300653009810429996874306693191169124472952257610848253128042616284553786865789500312352968060842582729449985231219265253670571132968779770316262053501963893109782372131737653104498093944552523710205533344674022258247562069380821486359171562550479671275070451572730967489910974565240871501542907022905826697910962572537414527814270868346111386548510042114755039370057964754782429778948172054646195039061999776584332685697351547605103705418372328495024703443050384521484375'], + [1.0e-198, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999124802099224533715278754906771643890943097115679663244864890241489099268701300224747096620592506163636511458147080229307187686231418190870453248079045903136497403860177328871032921253477527517381647903616019374090502989225614211093036170293774649807043557627102989961482478123917402578427471263639364172725828851513302974451006929804660161786807414215058738258826728830198486282936879197000185087711763102436423213435887235808111997818538852504458228488519455634531141186016611754894256591796875'], + [1.0e-199, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998210026239908275959605441178928974709961505359824656249094749793672197213175620180419702157045503029929362492249482183238301163255790637355208596209840847691345548908285988635545366204397328202413315406723085126797542685953519513829014713523049200649545685240279259800618369205996726046799191331313257521270675728671148333244408622655324354942874459763350785891191594747038536509684958927467073288347769702934065739205278643004860546448479624082362272590048489495639927326919860206544399261474609375'], + [1.0e-200, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998210026239908275959605441178928974709961505359824656249094749793672197213175620180419702157045503029929362492249482183238301163255790637355208596209840847691345548908285988635545366204397328202413315406723085126797542685953519513829014713523049200649545685240279259800618369205996726046799191331313257521270675728671148333244408622655324354942874459763350785891191594747038536509684958927467073288347769702934065739205278643004860546448479624082362272590048489495639927326919860206544399261474609375'], + [1.0e-201, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999945839818400838286643877890376724456471851854624142271863625376172236531891325900070089021825036064707813167053855864071099551731820360911829814527622461516880270539569772907578286195014691755833524631303882458633118589392361354498192996038432040430562591701521285513705175421399432363267343586777092909618892240549533782349452735577549479293830826276733698466709185184735730814678536219704539366158320724745122774033477753696070790004781196766668518623271037326465104921879856192390434443950653076171875'], + [1.0e-202, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000364909283964494690243191939081376830412598520594029984319306805834501324924016544053590211885834786865143117254532584743082014836642245661354931138123289169632329133524903545212048625878955713100459382122534402202606830602959560984358737804281693703947545787250532244576960980507696062689644031171920736034285323924780348069311122000588899328256220789832219472160120915723671907243196436298677829712131554556674824299153355310153286540401954520562788798446562476933408003532122165779583156108856201171875'], + [1.0e-203, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000364909283964494690243191939081376830412598520594029984319306805834501324924016544053590211885834786865143117254532584743082014836642245661354931138123289169632329133524903545212048625878955713100459382122534402202606830602959560984358737804281693703947545787250532244576960980507696062689644031171920736034285323924780348069311122000588899328256220789832219472160120915723671907243196436298677829712131554556674824299153355310153286540401954520562788798446562476933408003532122165779583156108856201171875'], + [1.0e-204, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010803385544138509069593097161793914125848530612542771161864210478198197576064378681441776871977701010841770881105262855548226743502153261723374160819119638058257360936163518091272580671128308895298027011710255377833027212590023483409996624609315032728159548173314624449927087338409957214562717343408376719690433913279361907286213318911514019682799687295018376430328310893061063314354936590363701536770497093609557125569051267401182441733990905766850296205863565885611603245575196297068032436072826385498046875'], + [1.0e-205, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010803385544138509069593097161793914125848530612542771161864210478198197576064378681441776871977701010841770881105262855548226743502153261723374160819119638058257360936163518091272580671128308895298027011710255377833027212590023483409996624609315032728159548173314624449927087338409957214562717343408376719690433913279361907286213318911514019682799687295018376430328310893061063314354936590363701536770497093609557125569051267401182441733990905766850296205863565885611603245575196297068032436072826385498046875'], + [1.0e-206, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000028744861868504177561146719241146806747487196028557965644111623810031001581665200787843274172655354933451469773534535808018399869126785044893552804933800208460050093327111666427937886598974346843058033569204162008468756111131622465602620067122836086961830504745239089017417231637691472711696999377193365743421769173476450734636817322647197129200578492365220673246922878341697578513376235823748411417377132323662929710493178880080126376881833747982617725108140959014170254096944001620528297280543483793735504150390625'], + [1.0e-207, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999992500289944066545260794393352251899924160340990116913366439211345173906974144483983897166235218941181207412220319450009877998538871464859968899509673921929100670875370150423660739802960449366201732716781407990024339830589910929702587154354964069389812802594251558548937082527074825218399829427071649638547547404749041952119498108235731202565207945902873127503973233520114522955783109845270607825667850182252003052721823215230505509587922520378271037011702981119991813615245049469415494769464203272946178913116455078125'], + [1.0e-208, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000979061701537299941966152430535653450847430534468171869639246307155589561418121080870910153862993170143697014870945596141773428560682093416965912770635208200956109864108499529749644579286281367268786107392870031851823895858131727587566710787775975461843668795650081554484785388973176651872988184843246859220535836288477370944073072995373114472813248014545177622566479964726762589682280912355285145766273388594178647053338632634301467086529203914974494638270274650781929885279102065975820323728839866816997528076171875'], + [1.0e-209, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000043873898055897324950155458825113362008761914838802170307820719070615241641697336759553717563139971638652332960875791015615668647520221609819217470712176592255329038689179416610099949077336113380143784825159783515874863433718211592230068725922315156166760336737063572299211892600734702315734897306878342032497478585588919625836612005091909636280741747478504411467800247932849164862875079195075308983463115003359321740614578588937943324456758951251487167952897382215675227253717858959258801831992968800477683544158935546875'], + [1.0e-210, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000043873898055897324950155458825113362008761914838802170307820719070615241641697336759553717563139971638652332960875791015615668647520221609819217470712176592255329038689179416610099949077336113380143784825159783515874863433718211592230068725922315156166760336737063572299211892600734702315734897306878342032497478585588919625836612005091909636280741747478504411467800247932849164862875079195075308983463115003359321740614578588937943324456758951251487167952897382215675227253717858959258801831992968800477683544158935546875'], + [1.0e-211, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000008608661063232909779895216525359147378687217937631390207040190004322751859491200185919223148748321021343152712198420398324197662294833702534841575692416427025554931034673452314515034661740800661978036757057167388252136824004240000357897681409050452336801544832139527788457646001994014205914421072675829819621318565063487077315746770387737980112494725839726484177158755147958908213268211985167937585312266489090505843180151974088497721836001007644364521160456150945201722824918063055169882569206407652018242515623569488525390625'], + [1.0e-212, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995417188383097980764646245766459737448027760269658974031233570950381415311611617342282187547391058966724654536852041345940976419973547635181967111251170277650486096141687481522311785430468334024591604649115951648675104072027931121811363903856491275086409322462035869793031218683492314286099010628963343518460160107236627343777979364517278553598680503677613849707225222789602684066453511779979166688543657149232463127184232864105049629991235031021815132519311111183844847513835946932532375112934186489610510761849582195281982421875'], + [1.0e-213, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995417188383097980764646245766459737448027760269658974031233570950381415311611617342282187547391058966724654536852041345940976419973547635181967111251170277650486096141687481522311785430468334024591604649115951648675104072027931121811363903856491275086409322462035869793031218683492314286099010628963343518460160107236627343777979364517278553598680503677613849707225222789602684066453511779979166688543657149232463127184232864105049629991235031021815132519311111183844847513835946932532375112934186489610510761849582195281982421875'], + [1.0e-214, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999912948531705558154473809424043036718446966797484175939762940024960247476403992477036456139219669145746563738570562978920712197817481457391341938411132808559707770852376293656497482700456956882004083446153843217300572813370353345972655720983713165321956617529713784766694604601464605330611566948653031915493472980891657336770474270501827599828131135592519536514353709939276163640205739179658576757833034667305268247784355081422352221012897456633272684485689532862584208239791227856442081540328491173763580945887952111661434173583984375'], + [1.0e-215, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000041771507097500820638350154110413768551063063772969066479801539158893341129379028243849065014173657998697509814179961854142092762025266642834853102941852987198677443128109777515092556231102064009810322207956652257379773838871987364711714905124876037292479076296828301806190805746848493891014316267411664528249918956372763855804030324781305165180102605821417710349154591213236141639476486349873348621790617889819446182752728980784331284818999373727268359138214891503708975251014146702213449081149583552718951295901206322014331817626953125'], + [1.0e-216, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000041771507097500820638350154110413768551063063772969066479801539158893341129379028243849065014173657998697509814179961854142092762025266642834853102941852987198677443128109777515092556231102064009810322207956652257379773838871987364711714905124876037292479076296828301806190805746848493891014316267411664528249918956372763855804030324781305165180102605821417710349154591213236141639476486349873348621790617889819446182752728980784331284818999373727268359138214891503708975251014146702213449081149583552718951295901206322014331817626953125'], + [1.0e-217, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000820286869074829038147691322564690967085931469882169185788207623459701738560623254961593543249563180774893133278102690208389349321952070339263889441321793707895857527380523153330956361605224333865999709748671006813819489852840627997292130055660356358349358096040294065285614945850494824158416186469053361016177121015963348199695802694543380830079047974782555840977310449435712983375193946909035332432768524474916956822519938427943657447944814801193258195909280255410529550821973624085046705663553366118245779858852984034456312656402587890625'], + [1.0e-218, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000031707212145005299844245409573899936511680542969157103455046733362124132947708203930771492686477992978999558935772385062467882219482781545061969142644271391300950365725624143060591786248746971665612910016229040151379230052268968505957340380014586137656864892970028025625598133537298246759807490672538246634907970670066871114762642838613046935723152057907208241912010477780652352464965759264615802466419059250401383807877912765281822669825128847129253994025036607994372980293218342775640643709848145287942544623405183301656506955623626708984375'], + [1.0e-219, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000031707212145005299844245409573899936511680542969157103455046733362124132947708203930771492686477992978999558935772385062467882219482781545061969142644271391300950365725624143060591786248746971665612910016229040151379230052268968505957340380014586137656864892970028025625598133537298246759807490672538246634907970670066871114762642838613046935723152057907208241912010477780652352464965759264615802466419059250401383807877912765281822669825128847129253994025036607994372980293218342775640643709848145287942544623405183301656506955623626708984375'], + [1.0e-220, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999239355998681967174227375122814278010784257107926662288959827321849441348805654645781222578141680149580443831699278821999049728767619913188664117273184328232545396962216463347269815350517239219609176864229305536231460588585092608894806489130251621720524698934971444679515800771874259390353082819256395798904098517668447759506972297076828822690693898011732750582941628468462192600203323158782851279699890831517457765602316192347514839250532210260576038030168393803602924998932848368746562272820190206615970605896759337838375358842313289642333984375'], + [1.0e-221, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001696459258568568930600603769424100286024130351044817324300356080826298815033883237841176759708004617280138870373003624653886287005531314012122115392711085043513921718682682696513167396990650436454248200100304585547999598986220259957886207174755991748750817911241043356418308635533987693870374224254788839270785111004847354487779788817126241991707215373600296588103765536964094254136606138582056884038650264969133150093238119960431981583020131793294388887877935675999408142925964561757501084173080407977398016174108708042922444292344152927398681640625'], + [1.0e-222, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000476783833342682112606713957768637813007397190494251111847601702954737064781916897791611948666591020190475766871515962797243198480292056504144461304211953105722457766426545688306735745508241445751058736993905339719367336198762982378673585473038645428403346663157804170254644346510864807326698848050278013972914335267534684821378915349249801611797386207593472909455643687259147132155320986333106388946209955678372738070689052947657840949863003370919232746001486301649501207291735980302117459836419315967918227902079542079860630110488273203372955322265625'], + [1.0e-223, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997089390646281190637400800057030683519949368020198276633036864657744691065855954627728762669271146240343210672859769619676067740309447437468138368918598416022947937800308521416681882309853004404869739445342181368079488954484105914214611735841310297945826844830735545837226106391171997124775452839882801888583247748499098113898765741804068580802307245320098647828424758533523028653011700551458546375903476327247241804172759505686212339709605278919447481029672544665256002247938871699861990812886411280424721621904078638909396659073536284267902374267578125'], + [1.0e-224, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001888420450747209692817262257440492651277245448163423186436334890121365804582963596595860680142873716319177545269388374861295393117868142201454771495799112919370837715281606083172804275621385687770269398215226386275854209173808357697189310146982895657205983456262105753051317062382403967582662615270288295549432501109253572845655374109336977874598880792496198619757057495440805320850143871378869821877615845707545289506591395555191133327745750663038010048636493634780383388550426764336480678810024954958759532602026627590152685343127814121544361114501953125'], + [1.0e-225, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999588963319516468587354668450692823123711739866320698999468699709965052238117420238551198816655321437134921895475736493087976082710734226128480926827429824179884221282156525025005915181841090908414460695712392011353039764081168030334396734226489214851798206017435390585826980372336939541407365039603593028684170156034655924916204333372775148153423433645199926013059168379304358448605208972147846551440994144763216593283930153321896764130507016098354984877493155742287490696278598293374336834640550786179121214422959164173920765250613840180449187755584716796875'], + [1.0e-226, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999214039116042560848650257341285806785326749442260921924984366098060624524154372662858456784555967728074299483568735027839130172335076358571190582876086019734851182226299252785436311903265436120687856793144185369306448728558535026937320361233858543155596710812316128092403135788648626506813051775901445653139936972236987529685978580848926054632150649623918867357486332522904532146430330587779071282224264494883505383492224536925882795879089791743386974797886597229043398419668320553962267313865268467856149502649681977558236700698302001910633407533168792724609375'], + [1.0e-227, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999448366743213753185340514284665191996817368457298282596537074605500891845381277397666420554618063796237188491010610943619658866319862525794497047845675897512996831636210047935167313952375220363016984232249314520585568125760180654060493094354252712965722645315515667150793038653453822153434497565715287762855082712110530276704869676176331738082946139637219529017219354933154423585289629578009555825484720526058324889612040547173391526036225556965241981097640696299820956092549744141094810764349819916808006822507980219193039241043496900829268270172178745269775390625'], + [1.0e-228, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000032709534510572444792897782233788653990718976368838511485973150840189429998217015319628469235092405184802226891764562779664146876281065288189629148163793918104301692337552974665857163653691127175121212889354883788226586526635175577239084355573084975369489970251393861975517439647330582826491927751719567428687923663631557802571128365410305102342922718709701024121818897159151648101200079137387286271143064296389803756135058560154926412548467654719825472171856781523679736585508259284184870366688785037747177197659862532354876733797777177414900506846606731414794921875'], + [1.0e-229, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006932322625607124740075042963681759328612819746842611641608385512773119893992088013337280830729491583525363430455767462037175531140390391683126429966221232093955941263611471681132623382709491503904737524953131367558899233939230481523482390563467400820166723637632183984893976227314240261109283241013239707167944551887261202427286201031744314152971803328792940845510364876069718542296554636090049615558931916745535158735631016132816549960093097063467020650843476133267312297323069477364478450489994893647488342551896278779277366273448013345159779419191181659698486328125'], + [1.0e-230, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000004643966891513449577084252500992450622649743428118386333476466494801759335135596462478259638716834667872150467156197971992950003945212977393024232997570081916752333744951362797040806496871754762409352377442104499598748870641909904148748668684618086268155644504824185367805081063201001524571726699862437854480974435934695313570927848225048186703797096167653666824680067900973122459686212934620473997781040987303938419284302791059489107019314139818789224754807352395205225648090417259273233816851797149977006703310702512814408808214904078592866198960109613835811614990234375'], + [1.0e-231, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999989230775562792616696072763442691788577420526313078230631466689498733579379943675853307066586851923787391180589072742468823861859572694416677687405759422064737433149483010905868112642822774129086708895086645373296983729623986084607119143639874947998881279466728041888250828431529179046832278353469854332227635491460532805914300319662083078680808603282648054817726043254632316322531603586809465349533363136636999465706559822283761704996673667467070947350147170430500500090250087867140451222327563027908008026052077180979022374130685442417121322478124056942760944366455078125'], + [1.0e-232, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000024986333908006291117803864422212237108093593793144251071027924154536088112076356335479272712049688094472633140628515750764885721997341514960534233394596286256239516962075107182047281663988765672574288016505168108861079050506718628599358044231968538756452578178166866642842418468448402090677674425335611175869399522291647927680918924687705672201958082040855974301516644868200636322390175894927468561142682409524414760486825800532446292623338674019037911022734863907720194144348058048126919728159867652859301665220833572223445350350191397625909672797206440009176731109619140625'], + [1.0e-233, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999957944662010730651577058050085611396113081592268020462746850609174906384239327580431406386227303880018694909606461440847125465979951128205680196431578644620908477577938829729718419833836711322074076676273018052836591048875780529838323956036062555026490502994209182532157816192957318360981178947633808213147930821906493819152592295307304030063339417833179353805722504038175917547964665321359685995384056034086040135284373694206587306362717705160991368109381051551269182499342610200096234987102040793131263159890576484959971436813478787059179808682785051132668741047382354736328125'], + [1.0e-234, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999957944662010730651577058050085611396113081592268020462746850609174906384239327580431406386227303880018694909606461440847125465979951128205680196431578644620908477577938829729718419833836711322074076676273018052836591048875780529838323956036062555026490502994209182532157816192957318360981178947633808213147930821906493819152592295307304030063339417833179353805722504038175917547964665321359685995384056034086040135284373694206587306362717705160991368109381051551269182499342610200096234987102040793131263159890576484959971436813478787059179808682785051132668741047382354736328125'], + [1.0e-235, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999957944662010730651577058050085611396113081592268020462746850609174906384239327580431406386227303880018694909606461440847125465979951128205680196431578644620908477577938829729718419833836711322074076676273018052836591048875780529838323956036062555026490502994209182532157816192957318360981178947633808213147930821906493819152592295307304030063339417833179353805722504038175917547964665321359685995384056034086040135284373694206587306362717705160991368109381051551269182499342610200096234987102040793131263159890576484959971436813478787059179808682785051132668741047382354736328125'], + [1.0e-236, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000004523850562697497389573749583639374115867013592052539546062315472129922782363588238983462383764998428403048712490815296123929376907380178547230294435983168516337593604201381495751807319514549342628710823068356751402598399912192149232838573419981220392012484833546421768519409075826893534250541481027617933014251151039724203682227397577235767904585044888443475439309336980649448593045289236911499691672094075724362418556266763620337397978233213107947983026866003126727845611570636930442760770896667141459146949297798054884123959586342812486483601353004502243493334390223026275634765625'], + [1.0e-237, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999067985336682227244656284224215477550517729613770981251451531375480370058344319366581697533118366911819575117587895788991815140087213079810223637387158977000406446222752376168308167359612413633115558825714262084062914954703355170857561717286402646802661118950653816423058290463267482636667637282498370046626020550795760273417853730797965291922933006406875916147397503753738389970183566048822187095880537408774144362231955924269333171911694027477441000471390473126846848313252126354930721982963799748751127599147704580579761285687302745881169393181442384133106315857730805873870849609375'], + [1.0e-238, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999067985336682227244656284224215477550517729613770981251451531375480370058344319366581697533118366911819575117587895788991815140087213079810223637387158977000406446222752376168308167359612413633115558825714262084062914954703355170857561717286402646802661118950653816423058290463267482636667637282498370046626020550795760273417853730797965291922933006406875916147397503753738389970183566048822187095880537408774144362231955924269333171911694027477441000471390473126846848313252126354930721982963799748751127599147704580579761285687302745881169393181442384133106315857730805873870849609375'], + [1.0e-239, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000075927747523310868460898238483153159338759858298359160867808815264952961896244269797094551122537286564812526096237075188857436351187241715867965390259467762440488640062664469924388547969595006792298588215800350017811703378421629495689318049951191680360226281426735122753412882953915621641409250927003198691076308636769539144559375851405754106442643165343252275410097431707869190684050085302117380268048447008838600752386916107552772751406615050251081607143209887516609065918747991291682825891089050498574078337572256341803279636545528499519728434495081936805860323147499002516269683837890625'], + [1.0e-240, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996936787982770012344297899318190517954678165559754747542619193837726638525524292463299758138334526475654155744578942856518333016329335306866080411977462027189495841776873858462275495500275641871586983826747818854633351108918653226179719195359223516494320741652648892459987541005236462754799315329947882591005617972575461863158332767212312762242600178875013588298994443899476257695628205428474799363149460585746715433980272002647847146104452158090524210410657844220643333743596458161371331831427523423474557540495324317179619616195490219863468530614425931746236386743476032279431819915771484375'], + [1.0e-241, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996936787982770012344297899318190517954678165559754747542619193837726638525524292463299758138334526475654155744578942856518333016329335306866080411977462027189495841776873858462275495500275641871586983826747818854633351108918653226179719195359223516494320741652648892459987541005236462754799315329947882591005617972575461863158332767212312762242600178875013588298994443899476257695628205428474799363149460585746715433980272002647847146104452158090524210410657844220643333743596458161371331831427523423474557540495324317179619616195490219863468530614425931746236386743476032279431819915771484375'], + [1.0e-242, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996936787982770012344297899318190517954678165559754747542619193837726638525524292463299758138334526475654155744578942856518333016329335306866080411977462027189495841776873858462275495500275641871586983826747818854633351108918653226179719195359223516494320741652648892459987541005236462754799315329947882591005617972575461863158332767212312762242600178875013588298994443899476257695628205428474799363149460585746715433980272002647847146104452158090524210410657844220643333743596458161371331831427523423474557540495324317179619616195490219863468530614425931746236386743476032279431819915771484375'], + [1.0e-243, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999538347252682384048836943392928017461318258399130032831721168371117424088048739366720094313607769195582646190146512354166626624432213447667036497682658499126642575719596658396397409391067599588296670104783027874933111662855056967241538680133612103296494053784002559407095389464746985071533106775932364348354742213567037070994662068464330010387537712483243968973314585323136087132341292123234794154080950848231369887412503352283450204951182955681975370152763104115911295864758162499212384262502079484603183100373718193400495677586862932287419778865178437101302218181775316452331026084721088409423828125'], + [1.0e-244, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999930344490779014547874893332060842686947180263006918196089662320376404601817376221081692538754246623957614200762275886100458926041750180956646462834196673192837757408627896585610926246640877052965224544096950053241837102780140476145869899681976406362910607734556183920393257683159706792796986281609711599549819316110880990514038388153342868900251938784626680172875142317639865135405585753863348071767522251920197337538319249781944425578343559617033474707974999543777413905618539016546097531848156893317816192006777335028483055241084311512275416582382971737136376395860271060200830106623470783233642578125'], + [1.0e-245, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999930344490779014547874893332060842686947180263006918196089662320376404601817376221081692538754246623957614200762275886100458926041750180956646462834196673192837757408627896585610926246640877052965224544096950053241837102780140476145869899681976406362910607734556183920393257683159706792796986281609711599549819316110880990514038388153342868900251938784626680172875142317639865135405585753863348071767522251920197337538319249781944425578343559617033474707974999543777413905618539016546097531848156893317816192006777335028483055241084311512275416582382971737136376395860271060200830106623470783233642578125'], + [1.0e-246, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999955750343024252552802032434353201080566712419641442466491048790429048992076404022872906759215899384894415865269771681975930543308379850300405799608661482489098955982287298928717585561980642265042467574155887641330701951939675668929676730587976294905900581485838934574173607765772114237296339713699403804211431857526814342153065041485882099839167344386269554984147799948730293157248486991116863645897712586514774041185118384055729611699893665062262489939831496222442140098208008785470326559495369354852275425989964775225952548028109435657040565491081726672244441155999912507201798916867119260132312774658203125'], + [1.0e-247, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000192649736373475651198801900840970646155428112277531424945149655606599677239735273509423103700312872364200265385111716646095864749540236598041415448235057297519524164358047864842338503300552952355751493032316115528640748385136508891938078529760162633755158640458112086244829723031328485447232939236343158654632110666477212506316748172301771864558583903767420123294440264563632118557400842506525812231884230012158003021162197401925770037689286753350280194727379191039555796816832077808991286134005086884235109479333757196262799956722460189534377628286140100146030563490161247042209424762404523789882659912109375'], + [1.0e-248, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999795683295041631824212253427522870745850238164863089699923486061034031079442425870521700908986988482726674257455489906091851844958451653101801778347222412043438296450929886253800786701116721513648829148361416301640127480267399121644956345623511904149536818776665133120926859682212462165144835562834902460816936151042518593146525289851376288444005371378097501197159164778775694277262069010420344966447660251971897008539925724374032236888468889171646917196969618586903209037606366938367912729146310375408309578492030004110801975159454895427578925929868094239082518686308263637652071764705397072248160839080810546875'], + [1.0e-249, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000539995372538838999812031814994308058922469316265167934339105300857597200312381001123680024074471713297035522323530800881059382066742747157251097911621121894840598413607689274503696330211405461224308544619353452681089857988156722733047094822727388807446206021276968680898053508747836515711830643587603769262616075337441004446134274203111569857542644863728599183662806314628077729690816195581934052293080210797386373192244111301332611543257134637340722817765419719658859211125989074819935023498237959425669949093224541146041021654331579356245397864401930228576603456024321655258579877312286043888889253139495849609375'], + [1.0e-250, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000539995372538838999812031814994308058922469316265167934339105300857597200312381001123680024074471713297035522323530800881059382066742747157251097911621121894840598413607689274503696330211405461224308544619353452681089857988156722733047094822727388807446206021276968680898053508747836515711830643587603769262616075337441004446134274203111569857542644863728599183662806314628077729690816195581934052293080210797386373192244111301332611543257134637340722817765419719658859211125989074819935023498237959425669949093224541146041021654331579356245397864401930228576603456024321655258579877312286043888889253139495849609375'], + [1.0e-251, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001523328321757102625204805715196011250306822582432521872476369467828231790259460372684825682997408640416390302047595015116804564895078023367045773051634605139018994747130002012209308983912575718620796924016778531805886195919288054996664962814693238814517334980416376600797233907606623747915207056955718377804911147671689152275879281865827774546586482566290689823588263480382946815508437033102730700819239822424439957691616181100303330772215901239585323902676066296819580790845192120845067451899423427499614227384357197735206849382499731433982770651655573173817676384638747710885235686628647044926765374839305877685546875'], + [1.0e-252, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999994254655689948438800988219900045256239835815244521601614511337828926218891138804800399873387221205216877706074820633151940949710321922807981798511680553454246418389642854581888157457137284802793079005944935361041171487975990014606870778740166104521452120975169753919960453544195347108605659395721480119662515068136979087479428135294055912916992511546183174498549138639106824514662883952803009087284360060537019270381008819433763385609534049441613669253387092070859752684565067632194555787233618880614830079358232066797000450535955969614943099255665973581088914504805380368632696679899451996931247776956297457218170166015625'], + [1.0e-253, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000636911007629621184134919625862984792395416080770646871111972389376290705633989742087479388018154425610884645353223625723404113461051483362387728063235537240075273148331361542824387688166442433564865757673772352556215167587213702041392244458041905038944824152085801436102636038244630050941908128060611752133147315480009026750770860707243767958263644015503481733988801306275523491725809318649849297845869267936121967548014734599158181159766020765686270424639872992153084494136356540503792093075311863594597080681921746489171105833351980909457178064211023456375312410414433376301093954474641378737942432053387165069580078125'], + [1.0e-254, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999122604209336149554089797581039910831880622885372538484035924131271704684983853164528114326398112045706992098014273237561767685424977480157127881944260297470783480418273982350313585220118989740743659303698477042007382205101948400348499281406252588921778915858197789636031034014857231062971947433169862019781096688252383678240824196580178172634498032269020941885145129561784183459929041770713673586083540250143378305739098745570633655901814675010287089067226540609430814447099364889193525380933532110955110649608527913002763540536158206640523112442193941772020484998068937735011811498812839271721486511523835361003875732421875'], + [1.0e-255, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000069045958269569322867998859054332057202368632496356225958454292587070947890188525502717489910638533146924940101117230162790452947523732160415285768619822326590850874559844345632836762648647673756913337433036611100402806655239213906557383313620911495007608541877797011075785279474355430453172867476580602501128330269649521059540861659594169711851539610572529290672424402091270979802021488173783405934995886263843094369671238713461484188034266107411577415609873348632233226497484671262442076022144456354789669029399058931768268846904315558606903455954617824742252130784872510817613033601465588606771461854805238544940948486328125'], + [1.0e-256, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997732829117278756451248109596748254242893230865201631816076636171760189907319587251981540013129740058219459269489784824749708380967280284093879720735074708091510476069705124720955706556081295696902714518909867457588338686698358346696642264675683106908736420782277947063743005092815040656152899192557310454011184421392539451786919038222766706251785685663376582264451447644953061298417153264674990872314159999761978479226173346063277878485906438895601748067400818676317898579355722393659056088069530984173899754603768258289542912497961565217057187641544065582666999018111428933783000539800198645801199148763771518133580684661865234375'], + [1.0e-257, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997732829117278756451248109596748254242893230865201631816076636171760189907319587251981540013129740058219459269489784824749708380967280284093879720735074708091510476069705124720955706556081295696902714518909867457588338686698358346696642264675683106908736420782277947063743005092815040656152899192557310454011184421392539451786919038222766706251785685663376582264451447644953061298417153264674990872314159999761978479226173346063277878485906438895601748067400818676317898579355722393659056088069530984173899754603768258289542912497961565217057187641544065582666999018111428933783000539800198645801199148763771518133580684661865234375'], + [1.0e-258, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999542218031617177459387945413284585867326006253726262365708608402011134649202091693710213775846048593849306072923870085843861763994543884853897883249200946186151201304166346945894581509482724800888207478811260288460733135868739444640841447681589716312643980778501230405826265532568338936835693865958192328916735717037382401521778655511872374463715309938029165207517582547623458590810226137634464463244244213813974999135856472022629587583400314031863766518560557273100193476246578151946736493795084850028796464859578206217380871252055407274126668223685491506332674722925416629753836788650765392684298393799480209054308943450450897216796875'], + [1.0e-259, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006975424321706683880722731452357836521425904176957664452038844778355563568514268511499149031806756537125053430494120689994071345054646026313483273707335693011504328181871745768995272401097486448985273442098925749512367998742213947849553416114826882037922872771340519085664404161341645807336741324458859113386493425467401198063448970638938552710316030795716303021553936319826962859676720817996375831801031446250892430696607849411205889093519633203458079594581802457581753846915485890425820688544260919717640178635713042752479712407591535120219209260300667660028006173540479478761531152970377521634059991839649228495545685291290283203125'], + [1.0e-260, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996144258066517706424307158965315357288770427639743563706770631567501610059301751410501950963044627850907560273067164597910833496514764297149885360067967351308386532737926486728323906176469137911388524703986748063663896148690820665248485660522080270558407499346657817497475264627912030395793176326136731778181053186317172589145640456088737170141725782593755692759324457403959109467575665091447877832402353969896696393817192415800352751662722921123938941086166587088913173455243888042652268422362936776502319369223277748459975650013493914139951215175820274600620575913272060871364815590661574151517426191360105036665117950178682804107666015625'], + [1.0e-261, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998400751036348743394393736566782540462240318584996501362034842653096183707054359139876367227370071327202871347531113783761508048293906324058968258742835755829869406788748415695130440806600043856721180691093451748215661117451527599123708109603902481283306535476800046995014668697376533606531419034120508306348853236140136882670183896620029124843515417635830819897288932178098245590930051701145481582277078444137153901500403964469280488627472236140505428275419756957385794370175470927605091811150712639672177871184201768104247329678930918510840380610087023154663790550827981414572464666142574853625058233126676743296457061660476028919219970703125'], + [1.0e-262, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000122136724863753960700195856861651942907768226656267343111510651008940076674511880159438755777687567257201019061105026607485123801783385769532188208642126148172299935227582690363860909426367628838700067497683135390536732840241126646773617095618024468943033063947783386693892378420716261995422241910022896655860329841884224957586319728414406822075246143842472881974452564577216574512303496326748626962048403693772578610441840030544015983340887991121353726198621929297657051383994953379612104713543246863450099863535679265958692926072717397445183740292045884721780884777288209358202601049382573125959828533489137658563095101271755993366241455078125'], + [1.0e-263, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000122136724863753960700195856861651942907768226656267343111510651008940076674511880159438755777687567257201019061105026607485123801783385769532188208642126148172299935227582690363860909426367628838700067497683135390536732840241126646773617095618024468943033063947783386693892378420716261995422241910022896655860329841884224957586319728414406822075246143842472881974452564577216574512303496326748626962048403693772578610441840030544015983340887991121353726198621929297657051383994953379612104713543246863450099863535679265958692926072717397445183740292045884721780884777288209358202601049382573125959828533489137658563095101271755993366241455078125'], + [1.0e-264, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000122136724863753960700195856861651942907768226656267343111510651008940076674511880159438755777687567257201019061105026607485123801783385769532188208642126148172299935227582690363860909426367628838700067497683135390536732840241126646773617095618024468943033063947783386693892378420716261995422241910022896655860329841884224957586319728414406822075246143842472881974452564577216574512303496326748626962048403693772578610441840030544015983340887991121353726198621929297657051383994953379612104713543246863450099863535679265958692926072717397445183740292045884721780884777288209358202601049382573125959828533489137658563095101271755993366241455078125'], + [1.0e-265, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998466859228824262055626741769950524344275569296283208519903911337244462231890861319447883328863980804047460539165799795065727029303060875628570296789951041118584725364456089395329851000842160241838348346965718457724013606770688935077083767291846491363137561925925307624825393425974126474033515988455970509322519253224794039707035755229344318828919410849954114637658985149996853094543949746351466067136689512718417305045810552809190480921361376228881399579792408418376203186042607144937694058869104510663482319483838213992263101544129268248268774128669056803708025354662627524236751260150807296069617765600306773764172074692169189802370965480804443359375'], + [1.0e-266, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998466859228824262055626741769950524344275569296283208519903911337244462231890861319447883328863980804047460539165799795065727029303060875628570296789951041118584725364456089395329851000842160241838348346965718457724013606770688935077083767291846491363137561925925307624825393425974126474033515988455970509322519253224794039707035755229344318828919410849954114637658985149996853094543949746351466067136689512718417305045810552809190480921361376228881399579792408418376203186042607144937694058869104510663482319483838213992263101544129268248268774128669056803708025354662627524236751260150807296069617765600306773764172074692169189802370965480804443359375'], + [1.0e-267, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999998466859228824262055626741769950524344275569296283208519903911337244462231890861319447883328863980804047460539165799795065727029303060875628570296789951041118584725364456089395329851000842160241838348346965718457724013606770688935077083767291846491363137561925925307624825393425974126474033515988455970509322519253224794039707035755229344318828919410849954114637658985149996853094543949746351466067136689512718417305045810552809190480921361376228881399579792408418376203186042607144937694058869104510663482319483838213992263101544129268248268774128669056803708025354662627524236751260150807296069617765600306773764172074692169189802370965480804443359375'], + [1.0e-268, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999957769099907253581968618816150032635192735058487446685675492285512630769439472504970391877928162319090039550201762973819708791692300403853290082017738668415452075046732258769848720794252352109776306800578923660200469103629897100958283997793383955603804297799790966687165113989355121771127828261147799368596779059278399813347570089563477039385634574473846507804754660745095912743342128118392069150881486089226604988665120138267386341538588149859141039213745250149861492819674905149683181364531402686142074093906249333520124546760396391259375431263999079219955930024121721445463605063867689533554544024142970014975713411407853836720960316597484052181243896484375'], + [1.0e-269, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999957769099907253581968618816150032635192735058487446685675492285512630769439472504970391877928162319090039550201762973819708791692300403853290082017738668415452075046732258769848720794252352109776306800578923660200469103629897100958283997793383955603804297799790966687165113989355121771127828261147799368596779059278399813347570089563477039385634574473846507804754660745095912743342128118392069150881486089226604988665120138267386341538588149859141039213745250149861492819674905149683181364531402686142074093906249333520124546760396391259375431263999079219955930024121721445463605063867689533554544024142970014975713411407853836720960316597484052181243896484375'], + [1.0e-270, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000041830013597844327555020695992134535974049541223026059186576122574549059687710343170663613429654472060149097670184924228922787319582294175151397486991299652120113193333202907675526155990069274282796434612465923877878579998052689684805372416929297197013915985629361653049926317182057688666912319700175420148173225696675210377258427028528301268930260832137236997323189202608587079602476177990336368974863607665914939869301285957091226759292724556477835407659856194618584107754658030202542539710428807906326372933090110456993560057411708206585607755522864682709524491074549038522237716160872469198769503871198304856739378092440884149283419901621527969837188720703125'], + [1.0e-271, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999630229070129155035677689336401640039915672136584203965199350253290006625799873698579088613970055786506713969185393457202846664190055219984064142345669578677438274308948177784628961293609594325579624027060200516803071959029068252536915837073555394533798989364058663725329147598443052659740210148073228718187411946795420256619256106550427432533405548712396783792901937736904548893583998721169608520123221841290618606153814599979928968648821857777245889758649130276588110251798897047156414379800918187523398613454268820786788600914598485685760672947193158113780296783062731700297696046360134670323081166259842830932775343256405271852305105539926444180309772491455078125'], + [1.0e-272, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999930186612602528493573080699326842948998866243839834703742167901476688830451769464310927714716735206396722354938687021341685449377098533591429337879390148790920375029878823974624300284932163665172614889411667604931319119196596048407394171745033140393532391832562743338984159944286908423185316304435300976681477848422403198697203603832757094080178177387532362288443112344974566476756701411336387719944596590988706410926248199181701926075544461286577402962617020041425572240773736235762765978925784739938178814850567203587714401772313240386072092102717837114989906839652824891491241224833988882796282538607145107358501766089473711783541798325813942938111722469329833984375'], + [1.0e-273, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000094368084654463543546521870893448223962371092932763167631003520738247991092858992045833448118087067666467564837948643234681534586633475626314719655274194175037637034958792993817279507076142502099352455883429838676259502728149932638881231556645135692769927351778358506727934022073892637128839856295410452367794579708097333520813637944185339945990064806068942742678519488554008539765193715239253380283224556690483659371914503263156780022233083742313333028856484972591766162804503580527143274197320134008984047324865596042536693368046281298591968062725230596930521032920066284183883123844111803976410428701340986032380607270307788791985359466707450337707996368408203125'], + [1.0e-274, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996610130961388928575477095560703785289713292957891280521785069319015489684200779850293834389828092604947911960415050113077834301668430216156051514286478371869602609349006719757276448977615903575033873207736559356302482809412346058303196607882326436524060272739115915692811052380281121998546208140469992448785963339114879068986829879463202286332452776033723926280710765763256942803980910281513958314367145848597018402373770319952017537638259744876963766460690299511817716121796659242997351226643310739116745945431997693720677805887984308568581496896945443916441619443003394614275664024245327180443551456525045581841276259778116612913882732538439768177340738475322723388671875'], + [1.0e-275, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999999340346158537457213068332267854352601308233887404502146145624863031316232792950001172145678433293906452320082957009656048025451241970087953719640147624311046106233581228857485116357354511631691630853011258495322847161594356168425690696497093677965333582715712943593194781546492350408656996176376820222925178758968119116549821319640072436935926581434989043133928392546999022096501084629497091111338587831839348418151866935031836110242149199758753837138235445075007497799108213323454056810717837113507367133124866835721608742992315882335324592766955305103997228899848075258616324750193420386387614417860312278232649208014296495104634271942900536345177897601388394832611083984375'], + [1.0e-276, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000094368084654463543546521870893448223962371092932763167631003520738247991092858992045833448118087067666467564837948643234681534586633475626314719655274194175037637034958792993817279507076142502099352455883429838676259502728149932638881231556645135692769927351778358506727934022073892637128839856295410452367794579708097333520813637944185339945990064806068942742678519488554008539765193715239253380283224556690483659371914503263156780022233083742313333028856484972591766162804503580527143274197320134008984047324865596042536693368046281298591968062725230596930521032920066284183883123844111803976410428701340986032380607270307788791985359466707450337707996368408203125'], + [1.0e-277, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999969107562153902744921765117684063095968974449032518673086908962585813328738512123351599947903432632493627286289317645086338574069104985914640691811124379276266532599930740458422245310494127398242893741229070224307866265780858456021840933238459714474479571273275234141689043887043539690699759998003700952485045608695452272162468580180949678732449501284846576063116593872419790657220872804668829750264129734225138468602210596951011658297769718221274568024706502572715214403442651053088500928561688272077522535732535889884987947948938431481300802932104355442862059276582144079065595542201867143652216176615315077620302633957293508847799292922446656728396874314057640731334686279296875'], + [1.0e-278, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999993779243152876254526557592938171681397062528805745754945088532304770466314992540617804157284976902370041721665215989554925283393972286348672218485008692555157375649117372732457348676134862362227877906256548032071576795654403558686758085865891335916990698225364945305042932135328595145409249003343077357751435836594229100682288231574014076342906436040454098439322611246838623618658479257702622384275935602860880217090978462037297537786665387684101487677366900697274607646360218792122884034215278030659465715783445346334560076159416146902697801164944913665434494383749766352778602364679130597857116761359380860051728314062903993886175277628638145832606909380047000013291835784912109375'], + [1.0e-279, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000552241713730382939762853855155153714644346417139367630859739713156121591071255955788854793010075566749549777915014563133243594249058225914165859539773770191716668990125265765063313206442627821442091075539424591861366161821213461960561383322121915620541910772461321426532808548769073413697524005792512336544355262666457518463308073931741958167586387056869531553154177335120654514700934306859959959022574246700632872563820325406114294833382820169887189650596154726303437380039246657025675411861851771554023249522625628683027104245750782306884789594062071112841267340644655950844182545809103476250997249244578896536062406099908263094272136716259523347982707264236523769795894622802734375'], + [1.0e-280, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999995736438816947517005069417207068324021959351366687075172340009775902257914279210441151555725830877919617351017538348900993142152058669000417125170073533412950674155914686053322896085456456348225635073673022401046082939981704988008899340527112983123526485039091556623246664793688444410197203376128885318687103789266301679766012373101564633549368007345473197918690766334590720773073234271930285253494983959461901235696755085573424805313610127770367718380556744172272678767600247737864112820865834778502144801902075497993271775306589707056092975620110864839716814098692546387233575608142290670674682296548225014870667032395919842010303184918392220732752395662146227550692856311798095703125'], + [1.0e-281, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001852675267170212250418868047370332224761921869628700882500876873189106662050053639112175853499551512041192743545721857455200771078614787119958560901161093554731989656290181027731739586437554468626221849504804091414641004521954640590761343430630643950818831987216992633329351062973362659560791084535196611066141366528489402650315375160124819560417673657883791716250983816024380619343691391731719804510073840091918839807034123822516335312440539949689328025005031641651021475338193305452779148824615510516946022794721926745835141507082535452895792504462259349063207888733994905366993964665898229574594013362998679850527186594367398202895198873704795707040293706313605071045458316802978515625'], + [1.0e-282, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001852675267170212250418868047370332224761921869628700882500876873189106662050053639112175853499551512041192743545721857455200771078614787119958560901161093554731989656290181027731739586437554468626221849504804091414641004521954640590761343430630643950818831987216992633329351062973362659560791084535196611066141366528489402650315375160124819560417673657883791716250983816024380619343691391731719804510073840091918839807034123822516335312440539949689328025005031641651021475338193305452779148824615510516946022794721926745835141507082535452895792504462259349063207888733994905366993964665898229574594013362998679850527186594367398202895198873704795707040293706313605071045458316802978515625'], + [1.0e-283, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999994685210677065491259774980343891416362102659561493983253406110743556080785756096766502074141387824645919503220880831674101225826914615818327575681025034905346851715740347843873627457402865828402620970080189488022666553868408321869077377574308387455953552668437614997258331822889697246492735695433382995918922759999075196859715226773290408487303686820316455034264511160505121715526246715460349142098034158553149712031543031916325198731755042763095817123960636837068636661465466565835132515535945900266330839631326881379705921272463283145577989340480715283217521283049451642164986463704069928438685182921404423903463619228772657959257922213934465659432066116096837760096605052240192890167236328125'], + [1.0e-284, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000364454141469639249807983997324006119042673744666238028977456840559736313112354285726470128152748322857161512421194440329369450711961452931805428087019264060670205813527576531625781013233048598512753479183363310860166278855036283346910728571119144095013537287461749147707873310629239170126706499732324678410198670839181253838408752562755390262460038699324098107918593964375004689261793537457736423112905266182747054187303467569684573620178998416315737904109708028490461147780610017303284505204429432156347262066168206350581360876803238292162240551039900338194868909855458309046212652981489067729694678635264237394725417604979475793913844510851457977578383810868256631465555983595550060272216796875'], + [1.0e-285, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000073775958887092680140401981521353298688951032321492123882614257647812307750266453950824625899190076380099950839332413737905564572050306588974203641390083636316397007998290659173537904362740933111719367550186935610746248386095465686323279987956931013653781663900351974015566123632070355381551356489650179779266645039404024044961128391013644923416477064419017922519670976181785182952726103388391234532519252071098699211772024921016986547212679929412158186579555149583495906496142394804913156837519585112437363662178490150891020822283445651481361826061005534504601082856808084760769860405419582767185150634144000699821020707486017573896452080977016299189995556136179022388432713341899216175079345703125'], + [1.0e-286, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000050444368424512208165649742903257869448523746162199423267071399152913134975872063089463617721743048821110076091074307672300177384016455779103165620959985367410536741344832530416688027463093387323941855280280307782790235573225567341553150531178795636058514204428991311987579378276353831401000914916889109817862408817225337381760970181802328737684931317864887852689788738841607236686134384861755239394251298663083703091120976068486655806465942374549292938974189932874464786672341524133297715389346683926935715252452446703495467863156494512565650719212870846576404712937269176100676988463375410270800348902508015099603221365618473827330784812294597235794897321730333172862259516477934084832668304443359375'], + [1.0e-287, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000002127988034628661819720944463063858289798963846308354749764282603428916900787907451276235749993426437237273265575167509029344339897414226676436809542236253127821140802800986947062568133853395508921996494289702299784521955713819441059048871020612641406442988008979048445259594658170817642531286295093777236610711353950197905276077242028818350552049913467222526540243594216638480385289473670346024547141635690306495794030716500282374238053252043097071137946748341198817588689259043579377841357913055744505865474029489239425102666424780558892101183565270248666615925053784554027556089853582019465031934673796303309933097218828404414412370072644157340655102452872302586095454302039797767065465450286865234375'], + [1.0e-288, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000577354904440686056577598174714126910861572730869783922094285424325691264678703102336389327771952449332944119499049658178018608802770341571878650023443910764436180746740381956532036139942332453826223278646261289790264895772474105742938159864219629415570352855137915188713252362000152451449229279083769441808012326366561769640110196221808650457260393636630534995116269380104128448944442969013289878749600341030883893788244288349023841629492978604439383288508665630960370116172792962181775408419007155474049803804918352808065781628836667434768104401029129365539660785371250850569560109452642141759205994436442605996712836599520812481325558337578531931058655199821600008391886404979231883771717548370361328125'], + [1.0e-289, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000012165977821841121332071851420445055850947729807109836319696396934719179642881265582543213680619019232142312832213352408416339028648419294158493868691855394986859741366502787924981198174609132515869374212464746502549902052110890369664656891152167282191278528733790225847913624177131409245410346711577979412433583765213429574948210619815013120469114077424518206875138193205377793592507346653993059870530437603059100080677849044804081934928326073602404642121637624211210605711418220687678631763438017919472073330245656672612138789588840300282062184540149874194207543538025654080212120433459189768919033561542726224245894320367034868121486949612503459912314280908242325983381615372991291224025189876556396484375'], + [1.0e-290, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006912786859962547673918180898415459989495965890694553118186157880703161317411757139641286255133930135858243672932786917014824134318418787294520778575752499680780765800092204758525921794913927359931056627766647459814563645853154062545110576023941185639847447470879184212717813920573620411980107320757668537289314485451686381127672187277232802704027068522268732267074912421167160771992853446316296987606743322809571170336107378242695971995454080715432175053317379781724361309374456510080226811151638995438820714305337993285518800620737335427549750399360370214390571228689994280114198357321547027767099091416964419352763099484834284313532305479419062640425332975063941955314039677915616266545839607715606689453125'], + [1.0e-291, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996232432339127981035085063855219920481243729184475360331530186279644580030304949799540727091873877237150720442223815024190092450342962178772011919125939449339353031431138593572223793087189525906785833115541323441890363444649282139585151413070082827975998207600566381160355717352710221373031846102757911169703146781207292461816076327347736257721935204560112023055397862857487070623101380732096938861568556643115206491083002739938406387303038818174447717226154347230593172425188266932619544995886944238892045624403889881989947072504762387803780628001837777473822164588276065144939849018617244432376107087799417300112437473019589038998438035757852718923186761317114486910984268164259702871277113445103168487548828125'], + [1.0e-292, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000051327277731567865674459947245495367381205931063246876537434959471933977695606225829578597279239213194069898011479582682107021869891760192074359686674503246238761434052666028941422336769598604510735193757290934568271969456525087420517840488649647926958725741591603837039907978259297205721553971177577089760249532014109540612424062106223167118736784245285759473984620708272204790805109413272797372999337122095271770571272566051919810412133848702919347654154568743565358298286767582471701131752741898693476915326550966414029235126014081774902548966664399380909625034552876727575851401342041632618686004241473732328127088284072934100943499271924913386875522376987390327812590777589729640340010519139468669891357421875'], + [1.0e-293, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000051327277731567865674459947245495367381205931063246876537434959471933977695606225829578597279239213194069898011479582682107021869891760192074359686674503246238761434052666028941422336769598604510735193757290934568271969456525087420517840488649647926958725741591603837039907978259297205721553971177577089760249532014109540612424062106223167118736784245285759473984620708272204790805109413272797372999337122095271770571272566051919810412133848702919347654154568743565358298286767582471701131752741898693476915326550966414029235126014081774902548966664399380909625034552876727575851401342041632618686004241473732328127088284072934100943499271924913386875522376987390327812590777589729640340010519139468669891357421875'], + [1.0e-294, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000016560498692392844063675061037176553877780681368522941685039218583071408401638754019355422919668728497756345828182148135151515086117487377873484493152976389658593027903728492527678428215808235197111419303432457947424963593231233504632556755075890252271716497222096014603833445160783536974977600025234129579304975685188987489664960999681837219706537292283947269519526145890433664018353317197864566599473233163975010547662199390773034420296559436835413872165105746979644792804390663274237974802010470449509548497444690010072295906886559158939758854693297190998920585853612635338955732921780230940980952146364529466016653302089713901350093446008356278420969734871669445506829802610380963923120134495547972619533538818359375'], + [1.0e-295, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000006001897249136162107715616879757507075706224348692786025053389469414962001909809378213439086913183436814828605730394131884589856583532839562457848505488496038380353558990041304485831390804619683914113737075555372348372092234855089948916142204308734563047805268398079264892661153392562290819806396566282980548567109633967889311383738285849959349434598353621252510089434886764757250179843729153057459930309432809596057717515771720650441009317101944033109965193449271178667465736181227106692099042475575446875703382753551501846993079596242889324649465717492838730114672769275063507531844710698303811226726525103304365469702956873915084185072840405266398916053751632054838903102133456680944423311530044884420931339263916015625'], + [1.0e-296, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000056958802426506498103047840970769246579602908389217120436655495553018554972739190786606809323029520301583607709016998392279192161880271234357109951774992469772904009821855123983834567927487447866039897866016840034102742609519041559184055883340909789320261083566248200925601535674980154916724840401269545227598018324013146388027419038876716262595851194708809556241840951461301868974920371744480645995157678729447730402839598091646669228474065411841845652933985605466093223411478760250307382549068991232697463633489786338357524009092083414513869447023277566518254456350926065149258365404485429166981233666429035716071423702199575889771541254094321820289220342105066697862794979293345025428418892943227547220885753631591796875'], + [1.0e-297, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000396478128980950068520868995348882659698990112439255546729582652670817083234140282683317496428210034914020640749031007639891563097175904185537531763508653178563611101120073253024302424898096523194397070266978525784561784243248083706501279844022137081185585735612223029402891897965152701270009714935868765744634701223627922977471765782444391057813106595117131865471280037220785529001835372476246333493828469074142652508409585016908153523760093400942761492674835181498451675387815861788033524646055595177691280323980766845749508570884296461025491634241072389864977588179676965900192627321100679925819633032729844916368640323129460651425895022810699832540710987766403439129992000576046943562114055481515606516040861606597900390625'], + [1.0e-298, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999912328065440178667945403966643095736050128809725161144813110581347907260225388618807065241978378310511738176684897847296134517208981728061861094996950742552059845950875175526912254796125831249071305767376337220422034037811676417565406168999146753473669061829043981742261305303937700565244519143543112168880574714035007251076705546549406561057574839884358592320586088346562272180390090411973212500537381300528153669461252213404717758741643748844181432709364664927137710748047655173102156049178235583038396446773463958994302956646416349753660690843217434180231476584382186108808418914513379348958017563540910181041525407799464239279522206839012428228659762106653639065937800317076591475056075719596293538415920920670032501220703125'], + [1.0e-299, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999991902907601376379762080799700466067249985185674388900975515383797391290286654499720356809268654993624028106303651130713543666646941642034794006359075819280682667925398195400906114450103317751101389479657812615519797875694581661818683643364931416120199997294367257092685670232599459755796070286012158861189255186589604464339856565317430234837703884118829292861811738132287151163208898615269720083544882267015191541829745179090325919123351411654126959859303926546520294760229609181275060613732216818338004372560297782550722953028086399686436852293346604841953364818404549601171919132150086048354620313392386933197845067944994681020534946003555329325281205226730514864672299618939724737118660523316204802313222899101674556732177734375'], + [1.0e-300, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000002505909183520875968569614680770370524992534231990046604318405148467630281218195010089496230627027825414891031146499880413081224609160619018271942662793458427551041478278701507022263926060379361392435977509403014386614147912551359088259101734169222292122040491862182202915561954185941852588326204092831631787205015401996986616948980410676557942431921652541808732242554300585073938340203330993157646467433638479065531661724812599598594906293782493759617177861888792970476530542335134710418229637566637950767497147854236589795152044892049176025289756709261767081824924720105632337755616538050643653812583050224659631159300563236507929025398878153811554013986009587978081167432804936359631140419153283449560376539011485874652862548828125'], + [1.0e-301, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000665043221274992345902153306917507527498505381267899223777698860937825684690912630765676536032893840417999153212323339173647442450290613844186107610680787137665635265135265327753578757072113467545929599216957984239514737098053283061312755828545373513227492931078277337085123532198589969381494820768901352286431296095393517740606454124524290065748630886455746192107848064042252096015313058601959426144144230967895471752073344205835694812023455384508915623719843146914672716501910639371586430015742264313868029854544921348666996359020714984145036528427023373176350378005153752627005861844985790389353913781463883443947493314294701527343889703142991033638081518025859259858927144364121703023337768036216122169435038813389837741851806640625'], + [1.0e-302, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999996289124639677304732891737098163313400003754860956628154130529957101690432681798063738592536074161957267240279681399613427991424768542339882888242496771839003893074718667773851251978459069246390292145955519137772373814313310579151800956416907242453031892707263481295451012051902486005090748393198698558795171543097074089700433275639158827043869850340834518328948988664790828903405620812448453502724006420631679231752873211868411461065085382625466765308588857074778706100578827178246202249123857782630168898295051461771244482934726919398177887676465367803820059306641722957791439301113670339753294222750903603397418685851693670746912405151648239663380463742253582056305034674846879073532500981362665382068399821946513839066028594970703125'], + [1.0e-303, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999930512160230921113809761758572221378140720989385433893779910116282652634282357579875141635284945443176070055132933265577065904873515536528332092319936355788874045503647037490305382881116780313011774115690658746254921477327887186271721529352265514273755232628736995836010623070838922880272900947583890416927675525146116379888792791072568220886237141008251310998952105973378308979198294630304640991185579763573043183264208613766468061016369913978485391061987504008129434047706422007001042443812641451261158414189595906955437994882071419757830243362094607944726517450359952766243046893934267403312319363799939048233496892637407719130495821062159927112067396569639956387132988634103909036894596075133851385829952818085075705312192440032958984375'], + [1.0e-304, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999997098601793823603070870627408398607296486668841559937848165409539310797183793308082794699787969066367182298971278417877358341659122789511645307995122555904033015205807158780056430401045917050162570829552132453559094230958441044282958157287327415209445985068360926723413499488107134434356612967808775938070772540742689702628321774772134328282681384400836865136212433181654078404777068649802950853625368531700272960109486299491352624805947480432371321859186383743270146774530873422632726750309506192006182162514074429540169653796356863753776603511529344556156911197043154878083222954043731239608809794343631028040935934998681895455378110913006301401423894763575978660702968627706001115993261324824985442939750956981015406199730932712554931640625'], + [1.0e-305, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999999628217900530785377054659627883900722995775030945280642024408233714255781016776892345034950140642648166857382519099952140686141479811923402869722078131107249021865458693174447612971629816436950941715791549065392595532974473747817824410007390455073240023696790443685796272726246660775812439763465267748307025658385238493027973334562682769653967428338344198908910697296851733096562843141535755075192125128789628361223902198313043761496141536078948061079803654582305898880631017936340615816514657471306223613198521203818060812738950439865022590496104271907209573354547629628995046869450171551657295955570904230051927338583020097669333441417250244332809616705208468049446512230390757498683137398144735633162723253963832803492550738155841827392578125'], + [1.0e-306, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000279023803391476325978469990224051750613215776767695913434815660171857902754611290428295390285511299939755539656995254561861674442608993809982188077260011126903019002311116743659118485969067043640532359081983018447216049451462723640722590746925490298257198232733988877473927392106870263222325803588251110234205543842448102753778430086832136807498326022836612478352744084880146129506125620176035215057087515132261261692207184015768235888410563716898510557524313110058901325619857847547714927109657043127542655407967166542476141719241000408007422682293109602540105142822306763482676370822194171790365710499573256566659306344285043677760454755517299704176913224907978537594173374670297704548248979442337094143862519235455010857549495995044708251953125'], + [1.0e-307, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999909326625337248461995470488734032045693707225049331647881341002217023668530611028595157578301758491822824378438792553200763769833775473829862512856683413461939989729065436937279228852476622948659167943435544622149348072943613294167216662821737555414480159115639791276054897201420389770580351533960771506199055664889770260291710977826725024401716523031627390652604144008597950935492433262042405635563993262949691698930975461134804791235994697938405200089317860731205010159117711704697471514344499487123311264707354172378099538737850219826145102366279591379660471881259976727356521602405329789906247763521525981391443887618575275588619928089116905061711975308467857756405810961619074331866883961080943542712559830853980002984826569445431232452392578125'], + [1.0e-308, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999999999909326625337248461995470488734032045693707225049331647881341002217023668530611028595157578301758491822824378438792553200763769833775473829862512856683413461939989729065436937279228852476622948659167943435544622149348072943613294167216662821737555414480159115639791276054897201420389770580351533960771506199055664889770260291710977826725024401716523031627390652604144008597950935492433262042405635563993262949691698930975461134804791235994697938405200089317860731205010159117711704697471514344499487123311264707354172378099538737850219826145102366279591379660471881259976727356521602405329789906247763521525981391443887618575275588619928089116905061711975308467857756405810961619074331866883961080943542712559830853980002984826569445431232452392578125'], + [1.0e-309, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000001885589208702234638701745660206917535153946435506630705583683732219725697611446036056356923748302461342010637220575424124470396675199233015457612040726540974445192581826682555390612121148018877073922817979772617072240272969162930781476600370987449003572837576199918137596489497925344032945035640594998253271803823131012760019492064192694845718938349209231900573122984006765678893128754928295703734592584739008598819568396415581005330450100671826482716196560703727886343049855613038985804487118936440280694611931396576980567462639081556737072434065441584389552782431630875877218955513686823577786061222328715052478477937882795755241221884529697320206807242208850192712299250559084998308332566242135779654409666848680071638000299572013318538665771484375'], + [1.0e-310, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999999999999694493275028976919693605773152470381150334840936338306132782690721297062490935851740335856013194253754404499026611824681520382957163983505146986408061872219318218544992356851011215394946952905603703563161920262976500977290528883924582675649786271503084114142479960098374250875666295837703332537400943138558993342752790651070003934827777029242588378376522062577182588401134635899903795076266245848702110604886133101797484402946550398241483573710628892592845359623618301082301085970326497205518284405738723624387129056547439765288600321445975410481753660186482200605570362800256287073548308910808652757531074237476089281222224455610971699342824628234406907495789435532256565156542018836716836053949868937516689930411484255046161706559360027313232421875'], + [1.0e-311, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999999475383681661651147792791784447025665749973681479309066187692586571454198978884833308733749239683432995643885207215464737225381585360458554115923844795405343805521141308924280573275722326846308456681637680135027566927047722665479238893283177666153753035241799107964294452027013440391018179162227081537627087712294714968440175055121891285247594953381293251078777588548840571531600581299091063300060113063191473886530020393201683104905020621863899043510232473825213191496885545633263460566477358219202284526525632702304504126995553552197916865708123384867766175142422964311492560020229534457444110911911051310155975850415556167325647946680824137359037166874024483359814252296616287720889555263035131277865827392238584625516750747920013964176177978515625'], + [1.0e-312, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999999998465341430642425482249572799840038449479817960304956613342012211155118898087262227734973865839060366160174694434384393280942568027468226466215267996447194900001649974559958214473790120729137684534602007859842506564523554753104320463194375155829195183484015334490701283289008478965323405044403142732483702404210110790564969221669697414651158771578968496121725437369724885431357191830888659416356431739862712103208312523973604333660086091482705973846213942815250273808150020501137325629806918154994205360415142145238426998561756629431717108491072037966992019198281329518256786859176589492325403501231096999739212282309503857451372825343200751978424544895237227161584764505149963529329106606264592722000702809908960488893825413470040075480937957763671875'], + [1.0e-313, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000001328731080587982180754663658588667962043161203873469954610958268617538411619352478369396895668814013755407163529775592520874226933814642035817851187677065124379067137026930035030916463576460714764526356694155246848621505494472659507014390677520339710167910378869165274485095070275248037277953394248918430544982129759988371718002784515942481865074266482815554984126102487168931687410330115631609217445429878254501171730463076268016413019727751013442758474713657274891814670103539733279230421396327135404079024632555646151707118588866674394044605978168193959339061045730000041082743092410352881259983203805365724543506488083910497021985787405633153813310973898002909693370594694452375893009888170063327154053821159418458108802951755933463573455810546875'], + [1.0e-314, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999999999638807462217551673898897572990645423839256317773022231035510144361078333891726495971639853205245408995744151657531841521160765983025524407183010322756924634311606000512381598975245829189797089372763917033358525954139100543059856797136454680439560573743621422746884812063111432901286238136624312766335156286311173415688212239855006860101792857201970103880428018282900249174961179331952594999836396987395118810723337013691069015251506498446281629324896820660654978318848244325878639755839798946023475251062065657244963464553730883578833211672627673026321143460828466980275216642665831420661841156044955678739304682592136242335929789048089630418211595057280664704707230363699570078756595184568246742623687481105361485322902126426924951374530792236328125'], + [1.0e-315, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000999999998481683808698015534860183378694400425288746223934327929826793966934081311578546394001264476235616563760184721079416030959336106467234733051521976644243346829052258460480303946313987131415432762626210235795164856403244760035143758219018692306106535865554853296854593335050116920911412927040149351300963455324069998660636946428149685911532813297803827377184660361439160026291700149705954009810010065427295904836891993223303391066874746239265147746874352601633933250320885156379161863259334250313774632657068696147692692894604430162434380637971763992931137356926849933919853159267441149680945843205744401462482127152983675926068233239453341632606509800684277891183719506116290258908432677169195113883135284975280272778963563951037940569221973419189453125'], + [1.0e-316, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999998365971443346061920956311959264775925433695214550458499705922349191381609347228383804226938538653679236628778021604449903153640515655653915955873276391989048526323706477096181047861261637996329951554867671345489448155325984352148361206916068673233394735976484265364187348817469712425595930501855154426285227845881185131819846979153816675915341864013104515083595754786004003374046743354151291027432271285983439508858844264623272037070213347034358629298179731261077521088847584490185609683695450549748397669359196737465837609500090319935380601677624921618978273452080613810953529918681506974243410714346040856409400022829894441463584493866832825339621246977613831620733691549327791400285367657800597186444724697763908327630133499042131006717681884765625'], + [1.0e-317, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000002306925373540838912978475160267584454368668534526669672098520647422515697285766597706921875662045329822645701279389033644948647603345264373589461307693108295484135936599266640744015212003044543513599079947419542598430782630372260603945613543429690325839445724126694995661872117602435387548905318808226062363719785920066306644424273339129868180713684032457145760224028598109997351719737497945725367012867943417584786681202655384954381038967170795959824952026679853603774998180825686421384585513101166286496119949726752336845854885571164676719332386444653160192733396025005032681034257252564659190838258113071979798794845819719745924201832234008052893493781386861080768235954429611544999118868631378263784093853548673447306782691157422959804534912109375'], + [1.0e-318, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099999874849559983034425876814113742209432834168744560969267393309501724022504791795040417479267848129655584287487604160175017171489462926670704816262174273696519516951145408899245049086406969675750804029375208657095806767392824387499859969960819240554884076443572699257435340999298938152784198137745190515254593181085991107475586860661255943562083015499877004233213563327286118520376694473250010459896242984318729757813819005454970384503369331723666353784541477053573784937783176465656792588872897048240176061210157694087178183364256263361378447643446427297055860004042682432614087127799226413612500922373170591539466460394688380661485296871589296549393052792796339935685990351574486171151756262515234669929463655509149777600441666436381638050079345703125'], + [1.0e-319, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999888671826830054133752367652800576668810404913933231973854213813672267149025137753668687959512485767082469435821326873955531817604221479111201871258225213276326434971902827643599339477263397778659665193793654309834532129281161268155283999204461560808953010434241919400457020315068567565301579569187340188105680700687048622572297011807295865142440458678820197825330390728703465639787631241688381084672868858070030425350029497774728423376227873672231502648785563207544427133780751498964842238650982976359736953654567288487694940230564769292298397759684630055091384876749698303915591084358566671856101564376699700392294336955627042165899589336900634182050515934614876820804363177575320916352342137470725187361510200023673178293392993509769439697265625'], + [1.0e-320, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999888671826830054133752367652800576668810404913933231973854213813672267149025137753668687959512485767082469435821326873955531817604221479111201871258225213276326434971902827643599339477263397778659665193793654309834532129281161268155283999204461560808953010434241919400457020315068567565301579569187340188105680700687048622572297011807295865142440458678820197825330390728703465639787631241688381084672868858070030425350029497774728423376227873672231502648785563207544427133780751498964842238650982976359736953654567288487694940230564769292298397759684630055091384876749698303915591084358566671856101564376699700392294336955627042165899589336900634182050515934614876820804363177575320916352342137470725187361510200023673178293392993509769439697265625'], + [1.0e-321, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099801260459931801923666896159380717217742080128093602413968307865136452468582167876790566945050470460718906068480034981647184655491899838872552508794177939381512744064442903714624855067905494384945121164483513743606056101290256649020126846237119626249180262258286406507850410973500190249416547385028450727173781991182746236252944861481475976519702221969027750986201419907470261860634244145791554000943869540974809592189758199533127230312351681347914563415763571332407310982264017381560815125109066134447859034814141432424630157012182514001830250807680646999561682793730407068052912519715436287930579669763048089895219538343134222456398800249310964827310978469307915272618699672029160811516955193269223640703904400217627568281386629678308963775634765625'], + [1.0e-322, '0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000988131291682493088353137585736442744730119605228649528851171365001351014540417503730599672723271984759593129390891435461853313420711879592797549592021563756252601426380622809055691634335697964207377437272113997461446100012774818307129968774624946794546339230280063430770796148252477131182342053317113373536374079120621249863890543182984910658610913088802254960259419999083863978818160833126649049514295738029453560318710477223100269607052986944038758053621421498340666445368950667144166486387218476578691673612021202301233961950615668455463665849580996504946155275185449574931216955640746893939906729403594535543517025132110239826300978220290207572547633450191167477946719798732961988232841140527418055848553508913045817507736501283943653106689453125'], + [1.0e-323, '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000988131291682493088353137585736442744730119605228649528851171365001351014540417503730599672723271984759593129390891435461853313420711879592797549592021563756252601426380622809055691634335697964207377437272113997461446100012774818307129968774624946794546339230280063430770796148252477131182342053317113373536374079120621249863890543182984910658610913088802254960259419999083863978818160833126649049514295738029453560318710477223100269607052986944038758053621421498340666445368950667144166486387218476578691673612021202301233961950615668455463665849580996504946155275185449574931216955640746893939906729403594535543517025132110239826300978220290207572547633450191167477946719798732961988232841140527418055848553508913045817507736501283943653106689453125'], + [5.0e-324, '0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625'], + + [9.99, '9.9900000000000002131628207280300557613372802734375'], + [9.999, '9.9990000000000005542233338928781449794769287109375'], + [9.9999, '9.999900000000000233058017329312860965728759765625'], + [9.99999, '9.999990000000000378577169612981379032135009765625'], + [9.999999, '9.9999990000000007484004527213983237743377685546875'], + [9.9999999, '9.9999999000000006077470970922149717807769775390625'], + [9.99999999, '9.99999998999999917259629000909626483917236328125'], + [9.999999999, '9.999999998999999917259629000909626483917236328125'], + [9.9999999999, '9.9999999998999999917259629000909626483917236328125'], + [9.99999999999, '9.9999999999900008873510159901343286037445068359375'], + [9.999999999999, '9.9999999999989999110994176589883863925933837890625'], + [9.9999999999999, '9.9999999999999005240169935859739780426025390625'], + [9.99999999999999, '9.999999999999989341858963598497211933135986328125'], + [9.999999999999999, '9.9999999999999982236431605997495353221893310546875'], + + [-3.77, '-3.770000000000000017763568394002504646778106689453125'], + [-3.777, '-3.77700000000000013500311979441903531551361083984375'], + [-3.7777, '-3.777699999999999835864628039416857063770294189453125'], + [-3.77777, '-3.777769999999999850359699848922900855541229248046875'], + [-3.777777, '-3.777776999999999940627048999886028468608856201171875'], + [-3.7777777, '-3.777777700000000127289467855007387697696685791015625'], + [-3.77777777, '-3.77777777000000014595570974051952362060546875'], + [-3.777777777, '-3.77777777699999983695988703402690589427947998046875'], + [-3.7777777777, '-3.77777777769999989487814673339016735553741455078125'], + [-3.77777777777, '-3.7777777777699999006699727033264935016632080078125'], + [-3.777777777777, '-3.777777777777000078884839240345172584056854248046875'], + [-3.7777777777777, '-3.777777777777699963479562939028255641460418701171875'], + [-3.77777777777777, '-3.777777777777770129574719248921610414981842041015625'], + ]; + } + + /** + * @return iterable + */ + public function providerOfFloatHex() : iterable + { + $tests = [ + // PHP_FLOAT_MIN + '0010000000000000' => '0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002225073858507201383090232717332404064219215980462331830553327416887204434813918195854283159012511020564067339731035811005152434161553460108856012385377718821130777993532002330479610147442583636071921565046942503734208375250806650616658158948720491179968591639648500635908770118304874799780887753749949451580451605050915399856582470818645113537935804992115981085766051992433352114352390148795699609591288891602992641511063466313393663477586513029371762047325631781485664350872122828637642044846811407613911477062801689853244110024161447421618567166150540154285084716752901903161322778896729707373123334086988983175067838846926092773977972858659654941091369095406136467568702398678315290680984617210924625396728515625', + + // PHP_FLOAT_MAX + '7fefffffffffffff' => '179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368', + + // PHP_FLOAT_EPSLLON + '3cb0000000000000' => '0.0000000000000002220446049250313080847263336181640625', + ]; + + foreach ($tests as $hex => $expected) { + $float = unpack('Ef', hex2bin($hex))['f']; + yield [$float, $expected]; + } + } + + /** + * @dataProvider providerOfInfinity + * + * @param float $number + */ + public function testOfInfinity(float $number) : void + { + $this->expectException(NumberFormatException::class); + $this->expectExceptionMessage('Cannot represent infinity as a BigNumber.'); + + BigNumber::of($number); + } + + /** + * @return array + */ + public function providerOfInfinity() : array + { + return [ + [INF], + [-INF] + ]; + } + + /** + * @dataProvider providerOfNaN + * + * @param float $number + */ + public function testOfNaN(float $number) : void + { + $this->expectException(NumberFormatException::class); + $this->expectExceptionMessage('Cannot represent NaN as a BigNumber.'); + + BigNumber::of($number); + } + + /** + * @return array + */ + public function providerOfNaN() : iterable + { + yield [NAN]; + + // FFF followed by any non-zero value is NaN + + $tests = [ + 'FFF0000000000001', + 'FFF0000000000010', + 'FFF0000000000100', + 'FFF0000000001000', + 'FFF0000000010000', + 'FFF0000000100000', + 'FFF0000001000000', + 'FFF0000010000000', + 'FFF0000100000000', + 'FFF0001000000000', + 'FFF0010000000000', + 'FFF0100000000000', + 'FFF1000000000000', + 'FFF8000000000000', + 'FFFF000000000000', + ]; + + foreach ($tests as $hex) { + yield [unpack('Ex', hex2bin($hex))['x']]; + } + } + /** * @dataProvider providerSum * diff --git a/tests/BigRationalTest.php b/tests/BigRationalTest.php index 8b04e75..5dd3711 100644 --- a/tests/BigRationalTest.php +++ b/tests/BigRationalTest.php @@ -191,10 +191,10 @@ public function providerMax() [['-5532146515641651651321321064580/32453', '-1/2', '-1/99'], '-1/99'], [['1e-30', '123456789123456789123456789/2', 2e25], '123456789123456789123456789/2'], [['999/1000', '1'], '1'], - [[0, 0.9, -1.00], '9/10'], - [[0, 0.01, -1, -1.2], '1/100'], - [['1e-30', '15185185062185185062185185047/123', 2e25], '15185185062185185062185185047/123'], - [['1e-30', '15185185062185185062185185047/123', 2e26], '200000000000000000000000000'], + [[0, '0.9', -1.00], '9/10'], + [[0, '0.01', -1, '-1.2'], '1/100'], + [['1e-30', '15185185062185185062185185047/123', '2e25'], '15185185062185185062185185047/123'], + [['1e-30', '15185185062185185062185185047/123', '2e26'], '200000000000000000000000000'], ]; } @@ -224,12 +224,12 @@ public function providerSum() { return [ [['-5532146515641651651321321064580/32453', '-1/2', '-1/99'], '-1095365010097047026961621574064593/6425694'], - [['1e-30', '123456789123456789123456789/2', 2e25], '163456789123456789123456789000000000000000000000000000002/2000000000000000000000000000000'], + [['1e-30', '123456789123456789123456789/2', '2e25'], '163456789123456789123456789000000000000000000000000000002/2000000000000000000000000000000'], [['999/1000', '1'], '1999/1000'], - [[0, 0.9, -1.00], '-1/10'], - [[0, 0.01, -1, -1.2], '-2190/1000'], - [['1e-30', '15185185062185185062185185047/123', 2e25], '17645185062185185062185185047000000000000000000000000000123/123000000000000000000000000000000'], - [['1e-30', '15185185062185185062185185047/123', 2e26], '39785185062185185062185185047000000000000000000000000000123/123000000000000000000000000000000'], + [[0, '0.9', -1.00], '-1/10'], + [[0, '0.01', -1, '-1.2'], '-2190/1000'], + [['1e-30', '15185185062185185062185185047/123', '2e25'], '17645185062185185062185185047000000000000000000000000000123/123000000000000000000000000000000'], + [['1e-30', '15185185062185185062185185047/123', '2e26'], '39785185062185185062185185047000000000000000000000000000123/123000000000000000000000000000000'], ]; }