Recursion

  • A recursive function is a function that calls itself.

  • Why would we want that?

    • To solve problems that can be broken down to smaller (easier) versions of the same problem

A recursive approach to problem solving has two main parts:

  • Base case(s). When the problem is so small, we solve it directly, without having to reduce it any further

  • Recursive step. Does the following things:

    • Performs an action that contributes to the solution

    • Reduces the problem to a smaller version of the same problem, and calls the function on this smaller subproblem

  • The recursive step is a form of “wishful thinking”: assuming the recursion fairy will take care of the smaller problem

  • In CS136/256, the recursion fairy will be introduced more formally as the induction (or inductive) hypothesis

From Recursive Ideas to Recursive Programs

Writing recursive functions is easy once you pin down the underlying recursive ideas! Try to spend some time thinking of the recursive definition of the program you’re trying to implement with pen and paper first before you try to write any code.

Example: \(a^n\)

The recursive definition:

\[\begin{split}\begin{align*} a^0 &= 1 \\ a^n &= a * a^{n-1} \end{align*} \end{split}\]

which can be translated into the following recursive function.

def power(a, n):
    """
    Returns a^n. Assumes n >= 0.
    """
    if n == 0:
        return 1
    else:
        return a * power(a, n-1)
print(power(5, 0))
print(power(5, 4))
1
625
# what happens when we're given an input n < 0?
print(power(5, -1))
---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/730912060.py in <module>
      1 # what happens when we're given an input n < 0?
----> 2 print(power(5, -1))

/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/577988384.py in power(a, n)
      6         return 1
      7     else:
----> 8         return a * power(a, n-1)

... last 1 frames repeated, from the frame below ...

/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/577988384.py in power(a, n)
      6         return 1
      7     else:
----> 8         return a * power(a, n-1)

RecursionError: maximum recursion depth exceeded in comparison

Example: Fibonacci series

The recursive definition:

\[\begin{split}\begin{align*} F_0 &= 0 \\ F_1 &= 1 \\ F^n &= F_{n-1} + F_{n-2} \end{align*} \end{split}\]

which can be translated into the following recursive function.

def fibonacci(n):
    """
    Returns nth Fibonnaci number
    """
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(5))
print(fibonacci(6))
print(fibonacci(7))
5
8
13

Recursion vs Iteration

Example 1:countDown : Write a function that prints integers from n down to 1

  • Iterative approach: Using loops

def countDownIterative(n):
    for i in range(n, 0, -1):
        print(i)
countDownIterative(5)
5
4
3
2
1

First recursion: countDown

Notice the repeated printing, despite the lack of an explicit for or while loop in the body of the function.

def countDown(n):
    '''Prints numbers from n down to 1''' 
    if n < 1:  # Base case
        pass  # Do nothing
    else: # Recursive case: n >= 1: 
        print(n)
        countDown(n-1)
countDown(5)
5
4
3
2
1
countDown(-5)
countDown(10)
10
9
8
7
6
5
4
3
2
1

Side-note: simplifying the code by changing the base case

If the base case does nothing, we can re-write the conditional. The reason we prefer an explicit base case (for now) in recursion is pedagogical: to ensure that students never forget about the base case.

def countDown(n):
    '''Prints numbers from n down to 1''' 
    if n > 0:
        print(n)
        countDown(n-1)
countDown(6)
6
5
4
3
2
1

Recursive countUp

Define a recursive function countUp that counts up from 1 to n rather than n to 1. countUp(5) should print:

1  
2  
3  
4  
5
def countUp(n):
    '''Prints out integers from 1 up to n'''
    if n < 1:
        pass # do nothing
    else:
        countUp(n-1)
        print(n)        
countUp(5)
1
2
3
4
5
countUp(-5)

countDownUp

How about a recursive function that counts down and up? This one is a bit more complex, but very elegant.

def countDownUp(n):
    """Prints integers from n down to 1
    and then from 1 up to n."""
    if n < 1:
        pass # do nothing
    else:
        print(n)
        countDownUp(n-1)
        print(n)
countDownUp(4)
4
3
2
1
1
2
3
4
countDownUp(10)
10
9
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9
10

Gotcha-s in Recursion

Gotcha #1: Subproblem in not getting smaller

Below is an example of a common mistake when using recursion.

Can you figure out what is wrong in the code without running it?

def countDownGotcha(n):
    '''Prints numbers from n down to 1''' 
    if n <= 0:  # Base case
        pass  # Do nothing
    else: # Recursive case: n>0: 
        print(n)
        countDownGotcha(n)
countDownGotcha(10)
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/905308095.py in <module>
----> 1 countDownGotcha(10)

/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/2020836085.py in countDownGotcha(n)
      5     else: # Recursive case: n>0:
      6         print(n)
----> 7         countDownGotcha(n)

... last 1 frames repeated, from the frame below ...

/var/folders/md/kwd9nc_d2ns0hw9wsvdrnt2c0000gn/T/ipykernel_93581/2020836085.py in countDownGotcha(n)
      5     else: # Recursive case: n>0:
      6         print(n)
----> 7         countDownGotcha(n)

RecursionError: maximum recursion depth exceeded while calling a Python object

If you run the line above, you should see toward the end of the output, the dreaded error:

RuntimeError: maximum recursion depth exceeded while calling a Python object

It means that the memory allocated to your program doesn’t have space anymore for all the opened execution frames that are opened while your function is recursively invoking itself, endlessly!

Restart the kernel if you ran this code and got the error.

Gotcha #2: Missing/Unreachable the base case

The following example will also lead to infinite recursion. Can you explain why?
How can you fix the problem?

def printHalvesGotcha(n): 
   """Prints n, n/2, down to ... 1"""
   if n > 0:
        print(n)
        printHalvesGotcha(n/2)
printHalvesGotcha(10)
10
5.0
2.5
1.25
0.625
0.3125
0.15625
0.078125
0.0390625
0.01953125
0.009765625
0.0048828125
0.00244140625
0.001220703125
0.0006103515625
0.00030517578125
0.000152587890625
7.62939453125e-05
3.814697265625e-05
1.9073486328125e-05
9.5367431640625e-06
4.76837158203125e-06
2.384185791015625e-06
1.1920928955078125e-06
5.960464477539062e-07
2.980232238769531e-07
1.4901161193847656e-07
7.450580596923828e-08
3.725290298461914e-08
1.862645149230957e-08
9.313225746154785e-09
4.6566128730773926e-09
2.3283064365386963e-09
1.1641532182693481e-09
5.820766091346741e-10
2.9103830456733704e-10
1.4551915228366852e-10
7.275957614183426e-11
3.637978807091713e-11
1.8189894035458565e-11
9.094947017729282e-12
4.547473508864641e-12
2.2737367544323206e-12
1.1368683772161603e-12
5.684341886080801e-13
2.8421709430404007e-13
1.4210854715202004e-13
7.105427357601002e-14
3.552713678800501e-14
1.7763568394002505e-14
8.881784197001252e-15
4.440892098500626e-15
2.220446049250313e-15
1.1102230246251565e-15
5.551115123125783e-16
2.7755575615628914e-16
1.3877787807814457e-16
6.938893903907228e-17
3.469446951953614e-17
1.734723475976807e-17
8.673617379884035e-18
4.336808689942018e-18
2.168404344971009e-18
1.0842021724855044e-18
5.421010862427522e-19
2.710505431213761e-19
1.3552527156068805e-19
6.776263578034403e-20
3.3881317890172014e-20
1.6940658945086007e-20
8.470329472543003e-21
4.235164736271502e-21
2.117582368135751e-21
1.0587911840678754e-21
5.293955920339377e-22
2.6469779601696886e-22
1.3234889800848443e-22
6.617444900424221e-23
3.3087224502121107e-23
1.6543612251060553e-23
8.271806125530277e-24
4.1359030627651384e-24
2.0679515313825692e-24
1.0339757656912846e-24
5.169878828456423e-25
2.5849394142282115e-25
1.2924697071141057e-25
6.462348535570529e-26
3.2311742677852644e-26
1.6155871338926322e-26
8.077935669463161e-27
4.0389678347315804e-27
2.0194839173657902e-27
1.0097419586828951e-27
5.048709793414476e-28
2.524354896707238e-28
1.262177448353619e-28
6.310887241768094e-29
3.155443620884047e-29
1.5777218104420236e-29
7.888609052210118e-30
3.944304526105059e-30
1.9721522630525295e-30
9.860761315262648e-31
4.930380657631324e-31
2.465190328815662e-31
1.232595164407831e-31
6.162975822039155e-32
3.0814879110195774e-32
1.5407439555097887e-32
7.703719777548943e-33
3.851859888774472e-33
1.925929944387236e-33
9.62964972193618e-34
4.81482486096809e-34
2.407412430484045e-34
1.2037062152420224e-34
6.018531076210112e-35
3.009265538105056e-35
1.504632769052528e-35
7.52316384526264e-36
3.76158192263132e-36
1.88079096131566e-36
9.4039548065783e-37
4.70197740328915e-37
2.350988701644575e-37
1.1754943508222875e-37
5.877471754111438e-38
2.938735877055719e-38
1.4693679385278594e-38
7.346839692639297e-39
3.6734198463196485e-39
1.8367099231598242e-39
9.183549615799121e-40
4.5917748078995606e-40
2.2958874039497803e-40
1.1479437019748901e-40
5.739718509874451e-41
2.8698592549372254e-41
1.4349296274686127e-41
7.174648137343063e-42
3.587324068671532e-42
1.793662034335766e-42
8.96831017167883e-43
4.484155085839415e-43
2.2420775429197073e-43
1.1210387714598537e-43
5.605193857299268e-44
2.802596928649634e-44
1.401298464324817e-44
7.006492321624085e-45
3.5032461608120427e-45
1.7516230804060213e-45
8.758115402030107e-46
4.379057701015053e-46
2.1895288505075267e-46
1.0947644252537633e-46
5.473822126268817e-47
2.7369110631344083e-47
1.3684555315672042e-47
6.842277657836021e-48
3.4211388289180104e-48
1.7105694144590052e-48
8.552847072295026e-49
4.276423536147513e-49
2.1382117680737565e-49
1.0691058840368783e-49
5.345529420184391e-50
2.6727647100921956e-50
1.3363823550460978e-50
6.681911775230489e-51
3.3409558876152446e-51
1.6704779438076223e-51
8.352389719038111e-52
4.176194859519056e-52
2.088097429759528e-52
1.044048714879764e-52
5.22024357439882e-53
2.61012178719941e-53
1.305060893599705e-53
6.525304467998525e-54
3.262652233999262e-54
1.631326116999631e-54
8.156630584998156e-55
4.078315292499078e-55
2.039157646249539e-55
1.0195788231247695e-55
5.097894115623847e-56
2.5489470578119236e-56
1.2744735289059618e-56
6.372367644529809e-57
3.1861838222649046e-57
1.5930919111324523e-57
7.965459555662261e-58
3.982729777831131e-58
1.9913648889155653e-58
9.956824444577827e-59
4.978412222288913e-59
2.4892061111444567e-59
1.2446030555722283e-59
6.223015277861142e-60
3.111507638930571e-60
1.5557538194652854e-60
7.778769097326427e-61
3.8893845486632136e-61
1.9446922743316068e-61
9.723461371658034e-62
4.861730685829017e-62
2.4308653429145085e-62
1.2154326714572542e-62
6.077163357286271e-63
3.0385816786431356e-63
1.5192908393215678e-63
7.596454196607839e-64
3.7982270983039195e-64
1.8991135491519597e-64
9.495567745759799e-65
4.747783872879899e-65
2.3738919364399497e-65
1.1869459682199748e-65
5.934729841099874e-66
2.967364920549937e-66
1.4836824602749686e-66
7.418412301374843e-67
3.7092061506874214e-67
1.8546030753437107e-67
9.273015376718553e-68
4.636507688359277e-68
2.3182538441796384e-68
1.1591269220898192e-68
5.795634610449096e-69
2.897817305224548e-69
1.448908652612274e-69
7.24454326306137e-70
3.622271631530685e-70
1.8111358157653425e-70
9.055679078826712e-71
4.527839539413356e-71
2.263919769706678e-71
1.131959884853339e-71
5.659799424266695e-72
2.8298997121333476e-72
1.4149498560666738e-72
7.074749280333369e-73
3.5373746401666845e-73
1.7686873200833423e-73
8.843436600416711e-74
4.421718300208356e-74
2.210859150104178e-74
1.105429575052089e-74
5.527147875260445e-75
2.7635739376302223e-75
1.3817869688151111e-75
6.908934844075556e-76
3.454467422037778e-76
1.727233711018889e-76
8.636168555094445e-77
4.318084277547222e-77
2.159042138773611e-77
1.0795210693868056e-77
5.397605346934028e-78
2.698802673467014e-78
1.349401336733507e-78
6.747006683667535e-79
3.3735033418337674e-79
1.6867516709168837e-79
8.433758354584419e-80
4.216879177292209e-80
2.1084395886461046e-80
1.0542197943230523e-80
5.271098971615262e-81
2.635549485807631e-81
1.3177747429038154e-81
6.588873714519077e-82
3.2944368572595385e-82
1.6472184286297693e-82
8.236092143148846e-83
4.118046071574423e-83
2.0590230357872116e-83
1.0295115178936058e-83
5.147557589468029e-84
2.5737787947340145e-84
1.2868893973670072e-84
6.434446986835036e-85
3.217223493417518e-85
1.608611746708759e-85
8.043058733543795e-86
4.0215293667718976e-86
2.0107646833859488e-86
1.0053823416929744e-86
5.026911708464872e-87
2.513455854232436e-87
1.256727927116218e-87
6.28363963558109e-88
3.141819817790545e-88
1.5709099088952725e-88
7.854549544476362e-89
3.927274772238181e-89
1.9636373861190906e-89
9.818186930595453e-90
4.9090934652977266e-90
2.4545467326488633e-90
1.2272733663244316e-90
6.136366831622158e-91
3.068183415811079e-91
1.5340917079055395e-91
7.670458539527698e-92
3.835229269763849e-92
1.9176146348819244e-92
9.588073174409622e-93
4.794036587204811e-93
2.3970182936024055e-93
1.1985091468012028e-93
5.992545734006014e-94
2.996272867003007e-94
1.4981364335015035e-94
7.490682167507517e-95
3.7453410837537587e-95
1.8726705418768793e-95
9.363352709384397e-96
4.681676354692198e-96
2.340838177346099e-96
1.1704190886730496e-96
5.852095443365248e-97
2.926047721682624e-97
1.463023860841312e-97
7.31511930420656e-98
3.65755965210328e-98
1.82877982605164e-98
9.1438991302582e-99
4.5719495651291e-99
2.28597478256455e-99
1.142987391282275e-99
5.714936956411375e-100
2.8574684782056875e-100
1.4287342391028437e-100
7.143671195514219e-101
3.5718355977571093e-101
1.7859177988785547e-101
8.929588994392773e-102
4.464794497196387e-102
2.2323972485981933e-102
1.1161986242990967e-102
5.580993121495483e-103
2.7904965607477417e-103
1.3952482803738708e-103
6.976241401869354e-104
3.488120700934677e-104
1.7440603504673385e-104
8.720301752336693e-105
4.360150876168346e-105
2.180075438084173e-105
1.0900377190420866e-105
5.450188595210433e-106
2.7250942976052165e-106
1.3625471488026082e-106
6.812735744013041e-107
3.4063678720065206e-107
1.7031839360032603e-107
8.515919680016301e-108
4.257959840008151e-108
2.1289799200040754e-108
1.0644899600020377e-108
5.322449800010188e-109
2.661224900005094e-109
1.330612450002547e-109
6.653062250012735e-110
3.326531125006368e-110
1.663265562503184e-110
8.31632781251592e-111
4.15816390625796e-111
2.07908195312898e-111
1.03954097656449e-111
5.19770488282245e-112
2.598852441411225e-112
1.2994262207056124e-112
6.497131103528062e-113
3.248565551764031e-113
1.6242827758820155e-113
8.121413879410078e-114
4.060706939705039e-114
2.0303534698525194e-114
1.0151767349262597e-114
5.075883674631298e-115
2.537941837315649e-115
1.2689709186578246e-115
6.344854593289123e-116
3.1724272966445615e-116
1.5862136483222808e-116
7.931068241611404e-117
3.965534120805702e-117
1.982767060402851e-117
9.913835302014255e-118
4.956917651007127e-118
2.4784588255035637e-118
1.2392294127517818e-118
6.196147063758909e-119
3.0980735318794546e-119
1.5490367659397273e-119
7.745183829698637e-120
3.872591914849318e-120
1.936295957424659e-120
9.681479787123296e-121
4.840739893561648e-121
2.420369946780824e-121
1.210184973390412e-121
6.05092486695206e-122
3.02546243347603e-122
1.512731216738015e-122
7.563656083690075e-123
3.7818280418450374e-123
1.8909140209225187e-123
9.454570104612593e-124
4.727285052306297e-124
2.3636425261531484e-124
1.1818212630765742e-124
5.909106315382871e-125
2.9545531576914354e-125
1.4772765788457177e-125
7.386382894228589e-126
3.693191447114294e-126
1.846595723557147e-126
9.232978617785736e-127
4.616489308892868e-127
2.308244654446434e-127
1.154122327223217e-127
5.770611636116085e-128
2.8853058180580424e-128
1.4426529090290212e-128
7.213264545145106e-129
3.606632272572553e-129
1.8033161362862765e-129
9.016580681431383e-130
4.508290340715691e-130
2.2541451703578456e-130
1.1270725851789228e-130
5.635362925894614e-131
2.817681462947307e-131
1.4088407314736535e-131
7.044203657368268e-132
3.522101828684134e-132
1.761050914342067e-132
8.805254571710335e-133
4.402627285855167e-133
2.2013136429275836e-133
1.1006568214637918e-133
5.503284107318959e-134
2.7516420536594796e-134
1.3758210268297398e-134
6.879105134148699e-135
3.4395525670743494e-135
1.7197762835371747e-135
8.598881417685874e-136
4.299440708842937e-136
2.1497203544214684e-136
1.0748601772107342e-136
5.374300886053671e-137
2.6871504430268355e-137
1.3435752215134178e-137
6.717876107567089e-138
3.3589380537835444e-138
1.6794690268917722e-138
8.397345134458861e-139
4.1986725672294305e-139
2.0993362836147152e-139
1.0496681418073576e-139
5.248340709036788e-140
2.624170354518394e-140
1.312085177259197e-140
6.560425886295985e-141
3.2802129431479926e-141
1.6401064715739963e-141
8.200532357869981e-142
4.100266178934991e-142
2.0501330894674953e-142
1.0250665447337477e-142
5.125332723668738e-143
2.562666361834369e-143
1.2813331809171846e-143
6.406665904585923e-144
3.2033329522929615e-144
1.6016664761464807e-144
8.008332380732404e-145
4.004166190366202e-145
2.002083095183101e-145
1.0010415475915505e-145
5.005207737957752e-146
2.502603868978876e-146
1.251301934489438e-146
6.25650967244719e-147
3.128254836223595e-147
1.5641274181117976e-147
7.820637090558988e-148
3.910318545279494e-148
1.955159272639747e-148
9.775796363198735e-149
4.8878981815993675e-149
2.4439490907996837e-149
1.2219745453998419e-149
6.109872726999209e-150
3.0549363634996047e-150
1.5274681817498023e-150
7.637340908749012e-151
3.818670454374506e-151
1.909335227187253e-151
9.546676135936265e-152
4.773338067968132e-152
2.386669033984066e-152
1.193334516992033e-152
5.966672584960165e-153
2.9833362924800827e-153
1.4916681462400413e-153
7.458340731200207e-154
3.7291703656001034e-154
1.8645851828000517e-154
9.322925914000258e-155
4.661462957000129e-155
2.3307314785000646e-155
1.1653657392500323e-155
5.826828696250162e-156
2.913414348125081e-156
1.4567071740625404e-156
7.283535870312702e-157
3.641767935156351e-157
1.8208839675781755e-157
9.104419837890877e-158
4.552209918945439e-158
2.2761049594727193e-158
1.1380524797363597e-158
5.690262398681798e-159
2.845131199340899e-159
1.4225655996704496e-159
7.112827998352248e-160
3.556413999176124e-160
1.778206999588062e-160
8.89103499794031e-161
4.445517498970155e-161
2.2227587494850775e-161
1.1113793747425387e-161
5.556896873712694e-162
2.778448436856347e-162
1.3892242184281734e-162
6.946121092140867e-163
3.4730605460704336e-163
1.7365302730352168e-163
8.682651365176084e-164
4.341325682588042e-164
2.170662841294021e-164
1.0853314206470105e-164
5.426657103235052e-165
2.713328551617526e-165
1.356664275808763e-165
6.783321379043816e-166
3.391660689521908e-166
1.695830344760954e-166
8.47915172380477e-167
4.239575861902385e-167
2.1197879309511924e-167
1.0598939654755962e-167
5.299469827377981e-168
2.6497349136889905e-168
1.3248674568444952e-168
6.624337284222476e-169
3.312168642111238e-169
1.656084321055619e-169
8.280421605278095e-170
4.1402108026390476e-170
2.0701054013195238e-170
1.0350527006597619e-170
5.1752635032988095e-171
2.5876317516494047e-171
1.2938158758247024e-171
6.469079379123512e-172
3.234539689561756e-172
1.617269844780878e-172
8.08634922390439e-173
4.043174611952195e-173
2.0215873059760975e-173
1.0107936529880487e-173
5.053968264940244e-174
2.526984132470122e-174
1.263492066235061e-174
6.317460331175305e-175
3.158730165587652e-175
1.579365082793826e-175
7.89682541396913e-176
3.948412706984565e-176
1.9742063534922827e-176
9.871031767461413e-177
4.935515883730707e-177
2.4677579418653533e-177
1.2338789709326767e-177
6.169394854663383e-178
3.0846974273316917e-178
1.5423487136658458e-178
7.711743568329229e-179
3.8558717841646146e-179
1.9279358920823073e-179
9.639679460411536e-180
4.819839730205768e-180
2.409919865102884e-180
1.204959932551442e-180
6.02479966275721e-181
3.012399831378605e-181
1.5061999156893026e-181
7.530999578446513e-182
3.7654997892232564e-182
1.8827498946116282e-182
9.413749473058141e-183
4.7068747365290705e-183
2.3534373682645353e-183
1.1767186841322676e-183
5.883593420661338e-184
2.941796710330669e-184
1.4708983551653345e-184
7.354491775826673e-185
3.6772458879133364e-185
1.8386229439566682e-185
9.193114719783341e-186
4.5965573598916705e-186
2.2982786799458352e-186
1.1491393399729176e-186
5.745696699864588e-187
2.872848349932294e-187
1.436424174966147e-187
7.182120874830735e-188
3.5910604374153675e-188
1.7955302187076838e-188
8.977651093538419e-189
4.4888255467692094e-189
2.2444127733846047e-189
1.1222063866923024e-189
5.611031933461512e-190
2.805515966730756e-190
1.402757983365378e-190
7.01378991682689e-191
3.506894958413445e-191
1.7534474792067224e-191
8.767237396033612e-192
4.383618698016806e-192
2.191809349008403e-192
1.0959046745042015e-192
5.479523372521008e-193
2.739761686260504e-193
1.369880843130252e-193
6.84940421565126e-194
3.42470210782563e-194
1.712351053912815e-194
8.561755269564074e-195
4.280877634782037e-195
2.1404388173910186e-195
1.0702194086955093e-195
5.3510970434775465e-196
2.6755485217387732e-196
1.3377742608693866e-196
6.688871304346933e-197
3.3444356521734666e-197
1.6722178260867333e-197
8.361089130433666e-198
4.180544565216833e-198
2.0902722826084166e-198
1.0451361413042083e-198
5.2256807065210415e-199
2.6128403532605207e-199
1.3064201766302604e-199
6.532100883151302e-200
3.266050441575651e-200
1.6330252207878255e-200
8.165126103939127e-201
4.082563051969564e-201
2.041281525984782e-201
1.020640762992391e-201
5.103203814961955e-202
2.5516019074809773e-202
1.2758009537404886e-202
6.379004768702443e-203
3.1895023843512216e-203
1.5947511921756108e-203
7.973755960878054e-204
3.986877980439027e-204
1.9934389902195135e-204
9.967194951097568e-205
4.983597475548784e-205
2.491798737774392e-205
1.245899368887196e-205
6.22949684443598e-206
3.11474842221799e-206
1.557374211108995e-206
7.786871055544975e-207
3.893435527772487e-207
1.9467177638862437e-207
9.733588819431218e-208
4.866794409715609e-208
2.4333972048578046e-208
1.2166986024289023e-208
6.083493012144511e-209
3.0417465060722557e-209
1.5208732530361279e-209
7.604366265180639e-210
3.8021831325903196e-210
1.9010915662951598e-210
9.505457831475799e-211
4.7527289157378996e-211
2.3763644578689498e-211
1.1881822289344749e-211
5.940911144672374e-212
2.970455572336187e-212
1.4852277861680936e-212
7.426138930840468e-213
3.713069465420234e-213
1.856534732710117e-213
9.282673663550585e-214
4.6413368317752925e-214
2.3206684158876463e-214
1.1603342079438231e-214
5.801671039719116e-215
2.900835519859558e-215
1.450417759929779e-215
7.252088799648895e-216
3.626044399824447e-216
1.8130221999122236e-216
9.065110999561118e-217
4.532555499780559e-217
2.2662777498902796e-217
1.1331388749451398e-217
5.665694374725699e-218
2.8328471873628494e-218
1.4164235936814247e-218
7.082117968407124e-219
3.541058984203562e-219
1.770529492101781e-219
8.852647460508905e-220
4.426323730254452e-220
2.213161865127226e-220
1.106580932563613e-220
5.532904662818065e-221
2.7664523314090327e-221
1.3832261657045163e-221
6.916130828522582e-222
3.458065414261291e-222
1.7290327071306454e-222
8.645163535653227e-223
4.3225817678266135e-223
2.1612908839133068e-223
1.0806454419566534e-223
5.403227209783267e-224
2.7016136048916335e-224
1.3508068024458167e-224
6.754034012229084e-225
3.377017006114542e-225
1.688508503057271e-225
8.442542515286355e-226
4.221271257643177e-226
2.1106356288215886e-226
1.0553178144107943e-226
5.276589072053972e-227
2.638294536026986e-227
1.319147268013493e-227
6.595736340067465e-228
3.297868170033732e-228
1.648934085016866e-228
8.24467042508433e-229
4.122335212542165e-229
2.0611676062710827e-229
1.0305838031355413e-229
5.152919015677707e-230
2.5764595078388533e-230
1.2882297539194267e-230
6.441148769597133e-231
3.2205743847985667e-231
1.6102871923992833e-231
8.051435961996417e-232
4.025717980998208e-232
2.012858990499104e-232
1.006429495249552e-232
5.03214747624776e-233
2.51607373812388e-233
1.25803686906194e-233
6.2901843453097e-234
3.14509217265485e-234
1.572546086327425e-234
7.862730431637126e-235
3.931365215818563e-235
1.9656826079092814e-235
9.828413039546407e-236
4.9142065197732035e-236
2.4571032598866018e-236
1.2285516299433009e-236
6.142758149716504e-237
3.071379074858252e-237
1.535689537429126e-237
7.67844768714563e-238
3.839223843572815e-238
1.9196119217864076e-238
9.598059608932038e-239
4.799029804466019e-239
2.3995149022330095e-239
1.1997574511165048e-239
5.998787255582524e-240
2.999393627791262e-240
1.499696813895631e-240
7.498484069478155e-241
3.7492420347390774e-241
1.8746210173695387e-241
9.373105086847693e-242
4.686552543423847e-242
2.3432762717119234e-242
1.1716381358559617e-242
5.858190679279808e-243
2.929095339639904e-243
1.464547669819952e-243
7.32273834909976e-244
3.66136917454988e-244
1.83068458727494e-244
9.1534229363747e-245
4.57671146818735e-245
2.288355734093675e-245
1.1441778670468376e-245
5.720889335234188e-246
2.860444667617094e-246
1.430222333808547e-246
7.151111669042735e-247
3.5755558345213674e-247
1.7877779172606837e-247
8.938889586303419e-248
4.469444793151709e-248
2.2347223965758547e-248
1.1173611982879273e-248
5.586805991439637e-249
2.7934029957198183e-249
1.3967014978599092e-249
6.983507489299546e-250
3.491753744649773e-250
1.7458768723248864e-250
8.729384361624432e-251
4.364692180812216e-251
2.182346090406108e-251
1.091173045203054e-251
5.45586522601527e-252
2.727932613007635e-252
1.3639663065038175e-252
6.819831532519088e-253
3.409915766259544e-253
1.704957883129772e-253
8.52478941564886e-254
4.26239470782443e-254
2.131197353912215e-254
1.0655986769561075e-254
5.327993384780537e-255
2.6639966923902686e-255
1.3319983461951343e-255
6.659991730975672e-256
3.329995865487836e-256
1.664997932743918e-256
8.32498966371959e-257
4.162494831859795e-257
2.0812474159298974e-257
1.0406237079649487e-257
5.203118539824743e-258
2.6015592699123717e-258
1.3007796349561859e-258
6.503898174780929e-259
3.2519490873904646e-259
1.6259745436952323e-259
8.129872718476162e-260
4.064936359238081e-260
2.0324681796190404e-260
1.0162340898095202e-260
5.081170449047601e-261
2.5405852245238005e-261
1.2702926122619002e-261
6.351463061309501e-262
3.1757315306547506e-262
1.5878657653273753e-262
7.939328826636877e-263
3.969664413318438e-263
1.984832206659219e-263
9.924161033296096e-264
4.962080516648048e-264
2.481040258324024e-264
1.240520129162012e-264
6.20260064581006e-265
3.10130032290503e-265
1.550650161452515e-265
7.753250807262575e-266
3.8766254036312874e-266
1.9383127018156437e-266
9.691563509078218e-267
4.845781754539109e-267
2.4228908772695546e-267
1.2114454386347773e-267
6.057227193173887e-268
3.028613596586943e-268
1.5143067982934716e-268
7.571533991467358e-269
3.785766995733679e-269
1.8928834978668395e-269
9.464417489334198e-270
4.732208744667099e-270
2.3661043723335494e-270
1.1830521861667747e-270
5.915260930833874e-271
2.957630465416937e-271
1.4788152327084684e-271
7.394076163542342e-272
3.697038081771171e-272
1.8485190408855855e-272
9.242595204427927e-273
4.621297602213964e-273
2.310648801106982e-273
1.155324400553491e-273
5.776622002767455e-274
2.8883110013837273e-274
1.4441555006918637e-274
7.220777503459318e-275
3.610388751729659e-275
1.8051943758648296e-275
9.025971879324148e-276
4.512985939662074e-276
2.256492969831037e-276
1.1282464849155185e-276
5.641232424577592e-277
2.820616212288796e-277
1.410308106144398e-277
7.05154053072199e-278
3.525770265360995e-278
1.7628851326804976e-278
8.814425663402488e-279
4.407212831701244e-279
2.203606415850622e-279
1.101803207925311e-279
5.509016039626555e-280
2.7545080198132776e-280
1.3772540099066388e-280
6.886270049533194e-281
3.443135024766597e-281
1.7215675123832985e-281
8.607837561916492e-282
4.303918780958246e-282
2.151959390479123e-282
1.0759796952395615e-282
5.379898476197808e-283
2.689949238098904e-283
1.344974619049452e-283
6.72487309524726e-284
3.36243654762363e-284
1.681218273811815e-284
8.406091369059075e-285
4.203045684529537e-285
2.1015228422647686e-285
1.0507614211323843e-285
5.253807105661922e-286
2.626903552830961e-286
1.3134517764154804e-286
6.567258882077402e-287
3.283629441038701e-287
1.6418147205193505e-287
8.209073602596752e-288
4.104536801298376e-288
2.052268400649188e-288
1.026134200324594e-288
5.13067100162297e-289
2.565335500811485e-289
1.2826677504057426e-289
6.413338752028713e-290
3.2066693760143564e-290
1.6033346880071782e-290
8.016673440035891e-291
4.0083367200179456e-291
2.0041683600089728e-291
1.0020841800044864e-291
5.010420900022432e-292
2.505210450011216e-292
1.252605225005608e-292
6.26302612502804e-293
3.13151306251402e-293
1.56575653125701e-293
7.82878265628505e-294
3.914391328142525e-294
1.9571956640712625e-294
9.785978320356312e-295
4.892989160178156e-295
2.446494580089078e-295
1.223247290044539e-295
6.116236450222695e-296
3.0581182251113476e-296
1.5290591125556738e-296
7.645295562778369e-297
3.8226477813891845e-297
1.9113238906945923e-297
9.556619453472961e-298
4.778309726736481e-298
2.3891548633682403e-298
1.1945774316841202e-298
5.972887158420601e-299
2.9864435792103004e-299
1.4932217896051502e-299
7.466108948025751e-300
3.7330544740128755e-300
1.8665272370064378e-300
9.332636185032189e-301
4.666318092516094e-301
2.333159046258047e-301
1.1665795231290236e-301
5.832897615645118e-302
2.916448807822559e-302
1.4582244039112795e-302
7.291122019556397e-303
3.645561009778199e-303
1.8227805048890994e-303
9.113902524445497e-304
4.5569512622227484e-304
2.2784756311113742e-304
1.1392378155556871e-304
5.696189077778436e-305
2.848094538889218e-305
1.424047269444609e-305
7.120236347223044e-306
3.560118173611522e-306
1.780059086805761e-306
8.900295434028806e-307
4.450147717014403e-307
2.2250738585072014e-307
1.1125369292536007e-307
5.562684646268003e-308
2.7813423231340017e-308
1.390671161567001e-308
6.953355807835004e-309
3.4766779039175e-309
1.73833895195875e-309
8.69169475979376e-310
4.3458473798969e-310
2.17292368994844e-310
1.0864618449742e-310
5.432309224871e-311
2.7161546124355e-311
1.358077306218e-311
6.79038653109e-312
3.395193265544e-312
1.69759663277e-312
8.48798316386e-313
4.24399158193e-313
2.12199579097e-313
1.0609978955e-313
5.3049894774e-314
2.6524947387e-314
1.3262473694e-314
6.631236847e-315
3.315618423e-315
1.65780921e-315
8.28904606e-316
4.14452303e-316
2.0722615e-316
1.03613076e-316
5.180654e-317
2.590327e-317
1.2951634e-317
6.475817e-318
3.23791e-318
1.618954e-318
8.09477e-319
4.0474e-319
2.0237e-319
1.01185e-319
5.059e-320
2.5296e-320
1.265e-320
6.324e-321
3.16e-321
1.58e-321
7.9e-322
3.95e-322
2e-322
1e-322
5e-323
2.5e-323
1e-323
5e-324