95 minute read

100 numpy exercises

This is a collection of exercises that have been collected in the numpy mailing list, on stack overflow and in the numpy documentation. The goal of this collection is to offer a quick reference for both old and new users but also to provide a set of exercises for those who teach.

If you find an error or think you’ve a better way to solve some of them, feel free to open an issue at https://github.com/rougier/numpy-100.

File automatically generated. See the documentation to update questions/answers/hints programmatically.

Run the initialize.py module, then for each question you can query the answer or an hint with hint(n) or answer(n) for n question number.

pip install mdutils
Requirement already satisfied: mdutils in c:\anaconda\envs\test3\lib\site-packages (1.3.0)Note: you may need to restart the kernel to use updated packages.
%run initialise.py

1. Import the numpy package under the name np (★☆☆)

import numpy as np

2. Print the numpy version and the configuration (★☆☆)

print(np.__version__)
np.show_config()
1.16.4
mkl_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/anaconda/envs/test3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/anaconda/envs/test3\\Library\\include']
blas_mkl_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/anaconda/envs/test3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/anaconda/envs/test3\\Library\\include']
blas_opt_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/anaconda/envs/test3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/anaconda/envs/test3\\Library\\include']
lapack_mkl_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/anaconda/envs/test3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/anaconda/envs/test3\\Library\\include']
lapack_opt_info:
    libraries = ['mkl_rt']
    library_dirs = ['C:/anaconda/envs/test3\\Library\\lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\include', 'C:\\Program Files (x86)\\IntelSWTools\\compilers_and_libraries_2019.0.117\\windows\\mkl\\lib', 'C:/anaconda/envs/test3\\Library\\include']

3. Create a null vector of size 10 (★☆☆)

null = np.zeros(10)
print(null)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

4. How to find the memory size of any array (★☆☆)

print("%d bytes" % (null.size*null.itemsize))
80 bytes

5. How to get the documentation of the numpy add function from the command line? (★☆☆)

%run python -c "import numpy; http://numpy.info(numpy.add)"

6. Create a null vector of size 10 but the fifth value which is 1 (★☆☆)

null = np.zeros(10)
null[4] = 1
print(null)
[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

7. Create a vector with values ranging from 10 to 49 (★☆☆)

A = np.arange(10,50)
print(A)
[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]

8. Reverse a vector (first element becomes last) (★☆☆)

revA = A[::-1]
print(revA)
[49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26
 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10]

9. Create a 3x3 matrix with values ranging from 0 to 8 (★☆☆)

B = np.arange(9).reshape(3,3)
print(B)
[[0 1 2]
 [3 4 5]
 [6 7 8]]

10. Find indices of non-zero elements from [1,2,0,0,4,0] (★☆☆)

C = np.nonzero([1,2,0,0,4,0])
print(C)
(array([0, 1, 4], dtype=int64),)

11. Create a 3x3 identity matrix (★☆☆)

D = np.eye(3,3)
print(D)
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

12. Create a 3x3x3 array with random values (★☆☆)

E = np.random.random((3,3,3))
print(E)
[[[0.88955393 0.98112763 0.46640694]
  [0.0579536  0.73861599 0.41378595]
  [0.32624121 0.82390778 0.57127886]]

 [[0.51582513 0.72181427 0.30160183]
  [0.47112808 0.21488492 0.42788323]
  [0.52347864 0.44673036 0.71306405]]

 [[0.83378212 0.39816917 0.1342307 ]
  [0.48785532 0.1660874  0.73683994]
  [0.28179303 0.84379035 0.78937268]]]

13. Create a 10x10 array with random values and find the minimum and maximum values (★☆☆)

F = np.random.random((10,10))
print("Minimum: ", F.min())
print("Maximum: ", F.max())
Minimum:  0.009520292609272674
Maximum:  0.9959038892108142

14. Create a random vector of size 30 and find the mean value (★☆☆)

G = np.random.random((30))
print("Mean Value: ", G.mean())
Mean Value:  0.5404396263808025

15. Create a 2d array with 1 on the border and 0 inside (★☆☆)

H = np.ones((3,3))
H[1:-1, 1:-1] = 0
print(H)
[[1. 1. 1.]
 [1. 0. 1.]
 [1. 1. 1.]]

16. How to add a border (filled with 0’s) around an existing array? (★☆☆)

H = np.pad(H, pad_width=1, mode='constant', constant_values=0)
print(H)
[[0. 0. 0. 0. 0.]
 [0. 1. 1. 1. 0.]
 [0. 1. 0. 1. 0.]
 [0. 1. 1. 1. 0.]
 [0. 0. 0. 0. 0.]]

17. What is the result of the following expression? (★☆☆)

0 * np.nan
np.nan == np.nan
np.inf > np.nan
np.nan - np.nan
np.nan in set([np.nan])
0.3 == 3 * 0.1
print(0 * np.nan)
print(np.nan == np.nan)
print(np.inf > np.nan)
print(np.nan - np.nan)
print(np.nan in set([np.nan]))
print(0.3 == 3 * 0.1)
nan
False
False
nan
True
False

18. Create a 5x5 matrix with values 1,2,3,4 just below the diagonal (★☆☆)

I = np.diag(1+np.arange(4), k=-1)
print(I)
[[0 0 0 0 0]
 [1 0 0 0 0]
 [0 2 0 0 0]
 [0 0 3 0 0]
 [0 0 0 4 0]]

19. Create a 8x8 matrix and fill it with a checkerboard pattern (★☆☆)

J = np.zeros((8,8),dtype=int)
J[1::2,::2] = 1
J[::2,1::2] = 1
print(J)
[[0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]]

20. Consider a (6,7,8) shape array, what is the index (x,y,z) of the 100th element?

print(np.unravel_index(99,(6,7,8)))
(1, 5, 3)

21. Create a checkerboard 8x8 matrix using the tile function (★☆☆)

K = np.tile(np.array([[0,1],[1,0]]), (4,4))
print(K)
[[0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]]

22. Normalize a 5x5 random matrix (★☆☆)

L = np.random.random((5,5))
normal = (L-np.mean(L)) / (np.std(L))
print(normal)
[[ 1.13778282 -0.70827067  0.06760223 -0.62703166  0.93941535]
 [ 1.56049203 -1.14490728 -0.96309582 -0.95953784  1.95886235]
 [ 0.20738374 -1.20366983  0.90856391  0.87263304  0.05733884]
 [-1.48357459  0.95218281 -1.39065995 -1.35269869  0.07898545]
 [ 0.60931897  1.32125095 -0.00665355 -0.60241605 -0.22929656]]

23. Create a custom dtype that describes a color as four unsigned bytes (RGBA) (★☆☆)

color = np.dtype([("R", np.ubyte, 1),
                  ("G", np.ubyte, 1),
                  ("B", np.ubyte, 1),
                  ("A", np.ubyte, 1)])
print(color)
[('R', 'u1'), ('G', 'u1'), ('B', 'u1'), ('A', 'u1')]

24. Multiply a 5x3 matrix by a 3x2 matrix (real matrix product) (★☆☆)

M = np.dot(np.ones((5,3)), np.ones((3,2)))
print(M)
[[3. 3.]
 [3. 3.]
 [3. 3.]
 [3. 3.]
 [3. 3.]]

25. Given a 1D array, negate all elements which are between 3 and 8, in place. (★☆☆)

N = np.arange(11)
N[ (3<N) & (N<8) ] *= -1
print(N)
[ 0  1  2  3 -4 -5 -6 -7  8  9 10]

26. What is the output of the following script? (★☆☆)

# Author: Jake VanderPlas

print(sum(range(5),-1))
from numpy import *
print(sum(range(5),-1))
print(sum(range(5),-1))
from numpy import *
print(sum(range(5),-1))
9
10
Z**Z
2 << Z >> 2
Z <- Z
1j*Z
Z/1/1
Z<Z>Z
Z=np.ones((3,3))
print(Z**Z) #legal
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
print(2 << Z >> 2)
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-42-7913fb4e850f> in <module>
----> 1 print(2 << Z >> 2)


TypeError: ufunc 'left_shift' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
print(Z <- Z) #legal
[[False False False]
 [False False False]
 [False False False]]
print(1j*Z) #legal
[[0.+1.j 0.+1.j 0.+1.j]
 [0.+1.j 0.+1.j 0.+1.j]
 [0.+1.j 0.+1.j 0.+1.j]]
print(Z/1/1) #legal
[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
print(Z<Z>Z)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-46-20f36d1d6fd9> in <module>
----> 1 print(Z<Z>Z)


ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

28. What are the result of the following expressions?

np.array(0) / np.array(0)
np.array(0) // np.array(0)
np.array([np.nan]).astype(int).astype(float)
print(np.array(0) / np.array(0))
print(np.array(0) // np.array(0))
print(np.array([np.nan]).astype(int).astype(float))
nan
0
[-2.14748365e+09]


C:\anaconda\envs\test3\lib\site-packages\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in true_divide
  """Entry point for launching an IPython kernel.
C:\anaconda\envs\test3\lib\site-packages\ipykernel_launcher.py:2: RuntimeWarning: divide by zero encountered in floor_divide

29. How to round away from zero a float array ? (★☆☆)

O = np.random.uniform(-10,+10,10)

print(np.copysign(np.ceil(np.abs(O)), O))
[ -6.  -6.   3.   9.   4. -10.  -6.  -1.  -1.  -6.]

30. How to find common values between two arrays? (★☆☆)

P1 = np.random.randint(0,10,10)
P2 = np.random.randint(0,10,10)
print(np.intersect1d(P1,P2))
[0 2 4 7]
defaults = np.seterr(all="ignore")
Q = np.ones(1) / 0

_ = np.seterr(**defaults)

with np.errstate(all="ignore"):
    np.arange(3) / 0

32. Is the following expressions true? (★☆☆)

np.sqrt(-1) == np.emath.sqrt(-1)
np.sqrt(-1) == np.emath.sqrt(-1) #False
C:\anaconda\envs\test3\lib\site-packages\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in sqrt
  """Entry point for launching an IPython kernel.





False

33. How to get the dates of yesterday, today and tomorrow? (★☆☆)

yesterday = np.datetime64('today') - np.timedelta64(1)
today = np.datetime64('today')
tomorrow = np.datetime64('today') + np.timedelta64(1)

print(yesterday)
print(today)
print(tomorrow)
2021-03-17
2021-03-18
2021-03-19

34. How to get all the dates corresponding to the month of July 2016? (★★☆)

R = np.arange('2016-07', '2016-08', dtype='datetime64[D]')
print(R)
['2016-07-01' '2016-07-02' '2016-07-03' '2016-07-04' '2016-07-05'
 '2016-07-06' '2016-07-07' '2016-07-08' '2016-07-09' '2016-07-10'
 '2016-07-11' '2016-07-12' '2016-07-13' '2016-07-14' '2016-07-15'
 '2016-07-16' '2016-07-17' '2016-07-18' '2016-07-19' '2016-07-20'
 '2016-07-21' '2016-07-22' '2016-07-23' '2016-07-24' '2016-07-25'
 '2016-07-26' '2016-07-27' '2016-07-28' '2016-07-29' '2016-07-30'
 '2016-07-31']

35. How to compute ((A+B)*(-A/2)) in place (without copy)? (★★☆)

A = np.ones(3)*1
B = np.ones(3)*2
C = np.ones(3)*3

np.add(A,B,out=B)
np.negative(A,out=A)
np.divide(A,2,out=A)
print(np.multiply(A,B))
[-1.5 -1.5 -1.5]

36. Extract the integer part of a random array of positive numbers using 4 different methods (★★☆)

S = np.random.uniform(0,10,10)

print(S.astype(int))
print(S - S%1)
print(S//1)
print(np.trunc(S))
[6 3 0 5 3 1 9 2 5 7]
[6. 3. 0. 5. 3. 1. 9. 2. 5. 7.]
[6. 3. 0. 5. 3. 1. 9. 2. 5. 7.]
[6. 3. 0. 5. 3. 1. 9. 2. 5. 7.]

37. Create a 5x5 matrix with row values ranging from 0 to 4 (★★☆)

T = np.zeros((5,5))
T += np.arange(5)
print(T)
[[0. 1. 2. 3. 4.]
 [0. 1. 2. 3. 4.]
 [0. 1. 2. 3. 4.]
 [0. 1. 2. 3. 4.]
 [0. 1. 2. 3. 4.]]

38. Consider a generator function that generates 10 integers and use it to build an array (★☆☆)

def generator():
    for n in range(15):
        yield n
U = np.fromiter(generator(), dtype=float, count=-1)
print("New array:")
print(U)
New array:
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14.]

39. Create a vector of size 10 with values ranging from 0 to 1, both excluded (★★☆)

V = np.linspace(0,1,11, endpoint=False)[1:]
print(V)
[0.09090909 0.18181818 0.27272727 0.36363636 0.45454545 0.54545455
 0.63636364 0.72727273 0.81818182 0.90909091]

40. Create a random vector of size 10 and sort it (★★☆)

W = np.random.random(10)
W.sort()
print(W)
[0.5584296  0.61552445 0.61715017 0.63253334 0.64167466 0.88979863
 0.95315703 0.99116861 0.99556807 0.9996095 ]

41. How to sum a small array faster than np.sum? (★★☆)

import timeit

x = range(10)

def pure_sum():
    return sum(x)

def numpy_sum():
    return np.sum(x)

n = 10

t1 = timeit.timeit(pure_sum, number = n)
print('Pure Python Sum:', t1)
t2 = timeit.timeit(numpy_sum, number = n)
print('Numpy Sum:', t2)
Pure Python Sum: 0.0002090000002681336
Numpy Sum: 0.00012800000013157842

42. Consider two random array A and B, check if they are equal (★★☆)

A = np.random.randint(0,2,5)
B = np.random.randint(0,2,5)

equal = np.array_equal(A,B)
print(equal)
False

43. Make an array immutable (read-only) (★★☆)

Y = np.zeros(10)
Y.flags.writeable = False
Y[0] = 1 #False b/c it's read-only
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-95-3f51ce5e8326> in <module>
      1 Y = np.zeros(10)
      2 Y.flags.writeable = False
----> 3 Y[0] = 1 #False b/c it's read-only


ValueError: assignment destination is read-only

44. Consider a random 10x2 matrix representing cartesian coordinates, convert them to polar coordinates (★★☆)

Z = np.random.random((10,2))
X,Y = Z[:,0], Z[:,1] #cartesian coordinates

#polar coordinates
r = np.sqrt(X**2+Y**2)
t = np.arctan2(Y,X)
print(r)
print(t)
[0.52876165 0.76571798 0.3440532  0.78717041 0.75241364 0.46443636
 0.15386324 0.50034923 0.78066439 0.71660423]
[0.61278737 0.28355119 1.31721709 1.23009356 0.30895321 0.86647182
 0.17920324 0.53640291 1.1402757  0.34880996]

45. Create random vector of size 10 and replace the maximum value by 0 (★★☆)

AA = np.random.random(10)
AA[AA.argmax()] = 0 #maximum value=0
print(AA)
[0.60039572 0.31895738 0.         0.63321949 0.3610798  0.6650984
 0.07804473 0.63399538 0.31730633 0.17490917]

46. Create a structured array with x and y coordinates covering the [0,1]x[0,1] area (★★☆)

BB = np.zeros((5,5), [('x',float),('y',float)])
BB['x'], BB['y'] = np.meshgrid(np.linspace(0,1,5),
                               np.linspace(0,1,5))
print(BB)
[[(0.  , 0.  ) (0.25, 0.  ) (0.5 , 0.  ) (0.75, 0.  ) (1.  , 0.  )]
 [(0.  , 0.25) (0.25, 0.25) (0.5 , 0.25) (0.75, 0.25) (1.  , 0.25)]
 [(0.  , 0.5 ) (0.25, 0.5 ) (0.5 , 0.5 ) (0.75, 0.5 ) (1.  , 0.5 )]
 [(0.  , 0.75) (0.25, 0.75) (0.5 , 0.75) (0.75, 0.75) (1.  , 0.75)]
 [(0.  , 1.  ) (0.25, 1.  ) (0.5 , 1.  ) (0.75, 1.  ) (1.  , 1.  )]]

47. Given two arrays, X and Y, construct the Cauchy matrix C (Cij =1/(xi - yj))

X = np.arange(8)
Y = X + 0.5
C = 1.0 / np.subtract.outer(X, Y) #Cauchy
print(C)
print(np.linalg.det(C))
[[-2.         -0.66666667 -0.4        -0.28571429 -0.22222222 -0.18181818
  -0.15384615 -0.13333333]
 [ 2.         -2.         -0.66666667 -0.4        -0.28571429 -0.22222222
  -0.18181818 -0.15384615]
 [ 0.66666667  2.         -2.         -0.66666667 -0.4        -0.28571429
  -0.22222222 -0.18181818]
 [ 0.4         0.66666667  2.         -2.         -0.66666667 -0.4
  -0.28571429 -0.22222222]
 [ 0.28571429  0.4         0.66666667  2.         -2.         -0.66666667
  -0.4        -0.28571429]
 [ 0.22222222  0.28571429  0.4         0.66666667  2.         -2.
  -0.66666667 -0.4       ]
 [ 0.18181818  0.22222222  0.28571429  0.4         0.66666667  2.
  -2.         -0.66666667]
 [ 0.15384615  0.18181818  0.22222222  0.28571429  0.4         0.66666667
   2.         -2.        ]]
3638.1636371179666

48. Print the minimum and maximum representable value for each numpy scalar type (★★☆)

for dtype in [np.int8, np.int32, np.int64]:
    print(np.iinfo(dtype).min)
    print(np.iinfo(dtype).max)
-128
127
-2147483648
2147483647
-9223372036854775808
9223372036854775807

49. How to print all the values of an array? (★★☆)

np.set_printoptions(threshold=float("inf"))
CC = np.zeros((10,10))
print(CC)
[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

50. How to find the closest value (to a given scalar) in a vector? (★★☆)

DD = np.arange(100)
rand = np.random.uniform(0,100)
index = (np.abs(DD-rand)).argmin()
print(DD[index])
63

51. Create a structured array representing a position (x,y) and a color (r,g,b) (★★☆)

EE = np.ones(10, [ ('position', [ ('x', float, 1),
                                  ('y', float, 1)]),
                   ('color',    [ ('r', float, 1),
                                  ('g', float, 1),
                                  ('b', float, 1)])])
print(EE)
[((1., 1.), (1., 1., 1.)) ((1., 1.), (1., 1., 1.))
 ((1., 1.), (1., 1., 1.)) ((1., 1.), (1., 1., 1.))
 ((1., 1.), (1., 1., 1.)) ((1., 1.), (1., 1., 1.))
 ((1., 1.), (1., 1., 1.)) ((1., 1.), (1., 1., 1.))
 ((1., 1.), (1., 1., 1.)) ((1., 1.), (1., 1., 1.))]

52. Consider a random vector with shape (100,2) representing coordinates, find point by point distances (★★☆)

FF = np.random.random((100,2))
X,Y = np.atleast_2d(FF[:,0], FF[:,1])
dist = np.sqrt( (X-X.T)**2 + (Y-Y.T)**2)
print(dist)
[[0.         0.91854126 0.44995083 0.43690496 0.53557062 0.8089086
  0.26371791 0.50149768 0.48143974 0.27536152 0.94079421 0.55587673
  0.12572354 0.14916603 0.87482577 0.83404339 0.62458091 0.99277894
  0.46138186 0.69389721 0.62048006 0.73102603 0.99089598 0.01899664
  0.47857725 0.87209275 0.73736255 0.47852969 0.95982844 0.949522
  0.84013565 0.237863   0.71316254 0.96184572 0.44410298 0.7686839
  0.52506073 0.44510861 0.18455109 0.48331246 0.76920867 0.603923
  0.42434667 0.07473332 0.39638668 0.79487484 0.79685475 0.17861037
  0.62781959 0.5063502  0.94798491 0.71747491 0.22745595 0.87924405
  0.19043443 0.63890733 0.3401459  0.08542128 0.9677003  0.65457805
  0.79748203 0.5597721  0.25851529 0.04025251 0.6582398  0.05696231
  0.44790438 0.63455942 0.62989905 0.80393708 0.67132107 0.06409746
  0.4842931  1.12365258 0.22957671 0.62721207 0.51719004 0.6354869
  0.25107651 0.23196116 0.86181871 0.86127632 0.17192532 0.5449139
  0.77426494 0.81591414 0.90621223 0.82990998 0.477394   0.66801588
  0.55354684 0.39666186 0.86614298 0.3583906  0.75628932 0.3377061
  0.7312605  0.15469025 0.63639499 0.26363147]
 [0.91854126 0.         0.49761057 0.61344787 0.40586638 0.4470463
  0.77595231 0.49434227 0.61094385 0.78088818 0.045303   0.38302368
  0.80096858 0.86071772 0.22743494 0.15811871 0.63979271 0.26264512
  0.59679352 0.68103247 0.44721724 0.41137395 0.2953584  0.92501129
  0.48781223 0.54673092 0.20581628 0.450617   0.08638827 0.38261408
  0.25853903 0.91529677 0.3359363  0.39772805 0.47807209 0.58904707
  0.60746625 0.54514064 0.87714066 0.49696294 0.60010903 0.95097425
  0.49717856 0.85259491 0.54301268 0.21234155 0.59285161 1.03237914
  0.5171555  0.44755718 0.43790083 0.20155891 0.79962459 0.58494091
  0.72814396 0.77223738 0.76803769 0.83656358 0.51052279 0.51959816
  0.6146094  0.38964763 0.90647141 0.87924314 0.28953701 0.86158581
  0.49770576 0.32598877 0.56203358 0.47517078 0.87772227 0.92694751
  0.67907566 0.36957236 0.88845673 0.34060025 0.86790601 0.28574433
  0.9060904  0.79479134 0.5886902  0.21098747 0.80047281 0.58081063
  0.36126574 0.16856414 0.47264938 0.39476834 0.5638906  0.28119458
  0.65152829 0.94033057 0.55947894 0.56150033 0.45097929 0.6433421
  0.21839209 0.92166002 0.83338997 0.81856525]
 [0.44995083 0.49761057 0.         0.37404341 0.09212924 0.57785371
  0.27887906 0.08128147 0.18409816 0.28477814 0.5288305  0.11480725
  0.35322751 0.36694397 0.42493701 0.45929267 0.31848575 0.54283283
  0.15322932 0.39677363 0.19625467 0.30128184 0.54160687 0.46092925
  0.03926597 0.47723746 0.29888181 0.19013876 0.55678745 0.50908766
  0.39038178 0.41801158 0.42213066 0.52292513 0.15724405 0.40582157
  0.44688041 0.30151292 0.38023331 0.05762816 0.4114524  0.53693283
  0.15359769 0.37716461 0.2192365  0.44098011 0.43108742 0.59848623
  0.46499645 0.25073422 0.51674692 0.30111825 0.41807919 0.49680382
  0.26909    0.42101847 0.28201423 0.37885986 0.55052223 0.4906254
  0.44138322 0.11251901 0.53502574 0.40974883 0.30974958 0.39545352
  0.00418152 0.18662087 0.27137831 0.392299   0.51373461 0.47622228
  0.47542242 0.67438119 0.39100808 0.31457703 0.43498425 0.21676674
  0.53126615 0.41544292 0.48360885 0.41181974 0.38602803 0.4413568
  0.33381892 0.44328275 0.48594171 0.39603612 0.36116974 0.22458183
  0.27448864 0.46207572 0.47651733 0.16026474 0.5353303  0.31125265
  0.36148397 0.42649819 0.46364995 0.45811005]
 [0.43690496 0.61344787 0.37404341 0.         0.38988525 0.37680129
  0.48999896 0.45455274 0.54317062 0.50468573 0.61837898 0.39391816
  0.31761011 0.48027593 0.675819   0.48194524 0.69029394 0.78712488
  0.51030046 0.76944844 0.55514484 0.6425417  0.80101141 0.43220243
  0.41149342 0.8336559  0.50351609 0.21363728 0.62271964 0.81147047
  0.65948822 0.58375015 0.31692455 0.82790702 0.22530251 0.77625842
  0.09436473 0.08110414 0.51968947 0.43142552 0.78269242 0.85284313
  0.22255745 0.40701172 0.15499082 0.42989629 0.80018427 0.47351591
  0.19195796 0.1790571  0.83688498 0.44470999 0.22993579 0.85831457
  0.3039221  0.77992972 0.54731583 0.35742607 0.88637    0.21803834
  0.81222443 0.41360938 0.30998874 0.41057873 0.32437741 0.39100403
  0.3698669  0.46360469 0.64522489 0.74281778 0.86079058 0.40932839
  0.10139094 0.92363647 0.55931808 0.27299294 0.74715859 0.39516581
  0.31166786 0.22439658 0.84725855 0.65512315 0.26751875 0.10901453
  0.65371307 0.4647818  0.8224161  0.72174516 0.05223683 0.46798795
  0.638824   0.70596549 0.83563765 0.22567956 0.32438379 0.10739572
  0.39558595 0.53375612 0.81230313 0.22703049]
 [0.53557062 0.40586638 0.09212924 0.38988525 0.         0.52777539
  0.37012135 0.10977787 0.2385079  0.37535569 0.43789598 0.02286291
  0.43171134 0.45864304 0.34154815 0.37636461 0.34101686 0.46026929
  0.21384623 0.41327489 0.1686265  0.25350775 0.46223967 0.54541618
  0.08597583 0.44379177 0.20696411 0.1798931  0.46690215 0.44240596
  0.31041831 0.50944229 0.3649897  0.45747803 0.1656144  0.39374902
  0.44769119 0.31033396 0.47236244 0.10101226 0.40138743 0.59904582
  0.17306933 0.46416967 0.244404   0.36408609 0.41565267 0.67626038
  0.44144349 0.23333564 0.45806777 0.21158352 0.47826481 0.46906513
  0.34958601 0.45994133 0.36740985 0.46074457 0.50094447 0.46430868
  0.42980914 0.02667794 0.59555673 0.49532817 0.24299151 0.47996638
  0.09264489 0.0995527  0.27752064 0.35304171 0.55985753 0.55723019
  0.48931666 0.59444454 0.48259157 0.26103304 0.50157117 0.12926617
  0.59261294 0.47489719 0.45870768 0.32666856 0.45505947 0.43635938
  0.2721627  0.36130429 0.4363075  0.33880497 0.36504273 0.13355287
  0.31415346 0.54526657 0.44600295 0.2104007  0.49031076 0.35040009
  0.28342008 0.51847476 0.51006429 0.51354958]
 [0.8089086  0.4470463  0.57785371 0.37680129 0.52777539 0.
  0.80226601 0.63456659 0.75912775 0.8143996  0.42372033 0.51435161
  0.68535906 0.8275221  0.6258713  0.29146964 0.86724275 0.70003973
  0.72999697 0.93585026 0.67699532 0.71369498 0.72824496 0.80590464
  0.59945662 0.8992812  0.4816565  0.39898847 0.40306317 0.79035278
  0.63492776 0.92094943 0.16569681 0.80729749 0.44089382 0.89132488
  0.3049306  0.36713963 0.86177993 0.6195799  0.90094701 1.11461564
  0.45591721 0.76969237 0.43797754 0.24472343 0.90684578 0.84732729
  0.18651846 0.34261505 0.83653358 0.40623448 0.60627025 0.93379425
  0.65125229 0.98763313 0.837667   0.72614555 0.90398658 0.16425031
  0.92535602 0.53592946 0.67295491 0.77914398 0.29232223 0.75921408
  0.57478493 0.53295372 0.79872974 0.80945661 1.08642951 0.78548685
  0.37344022 0.81619183 0.89414258 0.26684721 1.01174221 0.43221359
  0.6761446  0.60074583 0.93010682 0.60364434 0.64296272 0.27796248
  0.69185612 0.28587433 0.8505349  0.75153756 0.33199    0.50443143
  0.84130932 1.01490736 0.90755135 0.50822694 0.05264568 0.47121407
  0.29417966 0.88645659 1.03641207 0.597711  ]
 [0.26371791 0.77595231 0.27887906 0.48999896 0.37012135 0.80226601
  0.         0.2939338  0.2313389  0.0155864  0.80769281 0.39297918
  0.24892692 0.12277834 0.67847435 0.73298311 0.36333376 0.79094248
  0.21960451 0.43060053 0.39598344 0.5023076  0.7822995  0.28157869
  0.2897349  0.62046692 0.57438286 0.40799041 0.83550193 0.72308529
  0.63847834 0.13937414 0.66558419 0.73333956 0.36536233 0.51153065
  0.58329754 0.45242805 0.11369055 0.2842989  0.51106196 0.37868171
  0.34834282 0.19716304 0.36846791 0.70864664 0.53956634 0.44199439
  0.6495547  0.46035167 0.71262535 0.57988984 0.38305704 0.623897
  0.19989407 0.37764708 0.07884542 0.24130719 0.72300562 0.67782835
  0.5383997  0.38706648 0.4718638  0.2332264  0.57100961 0.23204288
  0.27915677 0.45660258 0.37775932 0.56100157 0.4218016  0.31866812
  0.57560403 0.91271321 0.1128695  0.56103222 0.27811908 0.49522511
  0.4653009  0.38421949 0.60579598 0.669485   0.32135188 0.59143529
  0.55356622 0.71621273 0.66460005 0.60021283 0.50712697 0.49862278
  0.29219324 0.21693421 0.61303962 0.29441806 0.75321087 0.38598574
  0.63192071 0.16647556 0.38186664 0.43171472]
 [0.50149768 0.49434227 0.08128147 0.45455274 0.10977787 0.63456659
  0.2939338  0.         0.12888269 0.2956269  0.53035929 0.1284992
  0.41640094 0.39950906 0.38529478 0.48208558 0.24246228 0.49963218
  0.10610221 0.31921223 0.12242732 0.23211059 0.4937025  0.51438068
  0.04307859 0.39920011 0.28878843 0.26249393 0.56249492 0.44818956
  0.34637684 0.43126959 0.47330476 0.46082507 0.23413654 0.3246231
  0.52510091 0.38063178 0.4045195  0.02392833 0.33018566 0.48936727
  0.23280209 0.42702254 0.300049   0.47276836 0.35005267 0.65976176
  0.53559365 0.32184332 0.44979523 0.31142662 0.49322479 0.41728617
  0.33182124 0.35396314 0.27451608 0.43747383 0.47807277 0.56016585
  0.36013479 0.11219636 0.60927222 0.46195333 0.35257155 0.44979551
  0.08544171 0.16851405 0.19070049 0.31699494 0.4518784  0.53469574
  0.55593969 0.62579619 0.40595724 0.3678546  0.39270058 0.23442047
  0.60514108 0.49092336 0.40360647 0.37569232 0.45669953 0.51813127
  0.27276932 0.46774671 0.4141159  0.33003295 0.43967183 0.21315133
  0.20700863 0.44645178 0.39771618 0.2409851  0.59524359 0.39218648
  0.3920559  0.45483482 0.40189297 0.53487455]
 [0.48143974 0.61094385 0.18409816 0.54317062 0.2385079  0.75912775
  0.2313389  0.12888269 0.         0.22642396 0.64933387 0.25733349
  0.42568876 0.35253278 0.47169859 0.60952846 0.15654135 0.5769125
  0.03287354 0.23534612 0.17951366 0.27698061 0.56399728 0.49744344
  0.15974526 0.39130959 0.40571128 0.37390863 0.68337751 0.49576697
  0.42896417 0.35290303 0.59984838 0.50507789 0.33888552 0.28818349
  0.62313804 0.47711723 0.34405553 0.14008898 0.28954455 0.36053793
  0.3320837  0.40818285 0.38984728 0.60151308 0.31631461 0.65424058
  0.64860498 0.43459307 0.4822332  0.43683264 0.53120129 0.39783816
  0.34715964 0.23864178 0.18204075 0.43540539 0.49178127 0.67447581
  0.31867805 0.24023107 0.64053467 0.44535201 0.48075676 0.43816212
  0.18769063 0.28727316 0.14852972 0.32969002 0.32964238 0.52724015
  0.64319788 0.69130753 0.3315893  0.49334328 0.26433853 0.36246251
  0.63524763 0.53017063 0.38054907 0.46682394 0.48237364 0.62026956
  0.33233384 0.59557091 0.43329887 0.37262856 0.53754638 0.33251435
  0.09597626 0.33364546 0.38488513 0.31792561 0.71797999 0.46324187
  0.52081331 0.39721659 0.27955256 0.57753106]
 [0.27536152 0.78088818 0.28477814 0.50468573 0.37535569 0.8143996
  0.0155864  0.2956269  0.22642396 0.         0.81322074 0.39821523
  0.26404081 0.13162038 0.6790981  0.74078186 0.3541917  0.79072852
  0.21678976 0.42010322 0.39448259 0.49968493 0.78138589 0.29344808
  0.29367412 0.6136792  0.57844216 0.41909021 0.84155777 0.72017011
  0.63867424 0.13573674 0.67639282 0.73013181 0.37645242 0.50357013
  0.59783828 0.46616986 0.11767922 0.2871688  0.50281096 0.36310768
  0.35974608 0.21023258 0.38165378 0.71737298 0.53152566 0.45388198
  0.6630018  0.47217465 0.70849816 0.58588464 0.39852172 0.61625703
  0.21545763 0.36461021 0.06528042 0.25562752 0.71738627 0.6912502
  0.52981891 0.39148649 0.48673725 0.24589886 0.58021946 0.24542754
  0.28526822 0.45999366 0.37142624 0.55598062 0.40707406 0.33136533
  0.59073944 0.91131792 0.1104171  0.57138268 0.26269617 0.5014824
  0.48013985 0.39970959 0.59800834 0.67058938 0.33669054 0.6056948
  0.55183692 0.7241444  0.65958997 0.59713934 0.52123377 0.50252577
  0.28316905 0.2030872  0.60594052 0.30702282 0.7655831  0.40096649
  0.64017516 0.17087918 0.3675792  0.4471642 ]
 [0.94079421 0.045303   0.5288305  0.61837898 0.43789598 0.42372033
  0.80769281 0.53035929 0.64933387 0.81322074 0.         0.41504798
  0.82129607 0.88875854 0.27215762 0.14473295 0.68277623 0.30011373
  0.63400563 0.72522554 0.48861887 0.45591392 0.33404168 0.94649877
  0.52141441 0.59181698 0.24364967 0.46752408 0.04114254 0.42522795
  0.30380044 0.94682925 0.32694554 0.44001502 0.49772858 0.63415874
  0.6054414  0.55363966 0.90674632 0.53166402 0.64521569 0.9924819
  0.51721886 0.87643948 0.55859418 0.20093016 0.6381058  1.04880499
  0.50903581 0.45876024 0.48109909 0.22865825 0.81268358 0.63004284
  0.75078981 0.81533348 0.80283841 0.8578239  0.55381176 0.50903491
  0.65985307 0.4233185  0.9169059  0.90190952 0.29809427 0.88385468
  0.52865706 0.36282411 0.6049432  0.52046971 0.9209178  0.94645591
  0.67844031 0.39861958 0.91976523 0.34596795 0.9080485  0.31377193
  0.91688447 0.80771106 0.63390309 0.25608617 0.8169593  0.5779551
  0.40633459 0.15887879 0.51708606 0.44002214 0.56770567 0.31764019
  0.69276432 0.97680084 0.60462893 0.58258994 0.43244054 0.65545121
  0.22377122 0.95012438 0.87621172 0.8291875 ]
 [0.55587673 0.38302368 0.11480725 0.39391816 0.02286291 0.51435161
  0.39297918 0.1284992  0.25733349 0.39821523 0.41504798 0.
  0.45032646 0.48093911 0.32343347 0.35505241 0.35298953 0.44220568
  0.23381802 0.4233819  0.17221258 0.2487531  0.4453597  0.56540148
  0.10804453 0.44131324 0.18474008 0.18134052 0.4441586  0.42995482
  0.29380032 0.53229496 0.35041434 0.44537237 0.17234176 0.39727222
  0.44758388 0.31351333 0.49500977 0.12194692 0.40535183 0.61766145
  0.18201968 0.48492553 0.25257038 0.34428505 0.41815334 0.69432231
  0.43521463 0.23124185 0.44811295 0.18898039 0.49235256 0.46799357
  0.36890152 0.47449917 0.38987554 0.48014972 0.4935653  0.4572378
  0.43318641 0.02251493 0.6093897  0.51566025 0.22665246 0.50002773
  0.11518742 0.08175847 0.28670987 0.34960777 0.57550998 0.5762736
  0.49219558 0.57714289 0.50543318 0.24834873 0.52114067 0.10743072
  0.60665343 0.48882287 0.45845475 0.3078611  0.47133523 0.43487548
  0.26257084 0.34024096 0.42922146 0.33002391 0.36636562 0.11228668
  0.32975083 0.56736771 0.44431574 0.22464603 0.47831235 0.36031922
  0.26357057 0.54092519 0.52591628 0.52637616]
 [0.12572354 0.80096858 0.35322751 0.31761011 0.43171134 0.68535906
  0.24892692 0.41640094 0.42568876 0.26404081 0.82129607 0.45032646
  0.         0.18145532 0.77325942 0.7108184  0.57924011 0.89196987
  0.39975404 0.65464023 0.53864559 0.64847423 0.89307205 0.12716655
  0.38664213 0.80608443 0.62691558 0.35587016 0.83881197 0.86163595
  0.74128421 0.28962146 0.58744278 0.87508817 0.3235675  0.71200464
  0.40882115 0.32007605 0.2245017  0.39543652 0.71420265 0.62412847
  0.30411959 0.09164131 0.27139635 0.6705014  0.7398951  0.24530508
  0.50636052 0.38116928 0.86605774 0.60114651 0.13972336 0.81800188
  0.08465298 0.61918259 0.32645959 0.04086889 0.89315461 0.53361409
  0.74372844 0.45728669 0.22370722 0.09380836 0.53485113 0.07391901
  0.35049303 0.53122383 0.56976615 0.73031898 0.67031126 0.1268232
  0.3763339  1.02562521 0.27044995 0.50233723 0.52619964 0.52129455
  0.21738794 0.14213049 0.80183013 0.75814704 0.07520221 0.42654133
  0.68594147 0.69265092 0.82976149 0.74591289 0.35505055 0.56094485
  0.51061527 0.43658515 0.80204226 0.23953851 0.63282256 0.21468336
  0.60855003 0.22409914 0.62913233 0.18692566]
 [0.14916603 0.86071772 0.36694397 0.48027593 0.45864304 0.8275221
  0.12277834 0.39950906 0.35253278 0.13162038 0.88875854 0.48093911
  0.18145532 0.         0.78404395 0.79955181 0.48572017 0.8991172
  0.33797108 0.55146061 0.5099277  0.61846505 0.89284391 0.16800613
  0.38669096 0.74283117 0.66560539 0.45312168 0.91310525 0.83936382
  0.74579497 0.1082154  0.70729393 0.85028161 0.41240769 0.63430865
  0.57433051 0.46255352 0.04313044 0.38579352 0.63382239 0.45855613
  0.39310733 0.0988504  0.39090869 0.76837485 0.66234434 0.32693345
  0.65916323 0.49597897 0.83150814 0.66029546 0.32047728 0.74663332
  0.17801156 0.49110195 0.19428337 0.15626097 0.84421728 0.68732286
  0.66108431 0.4793025  0.38715957 0.12747136 0.6288411  0.13402772
  0.36609819 0.55249653 0.49993084 0.68154936 0.52227509 0.21008798
  0.55101418 1.02448545 0.08988949 0.60905355 0.36883332 0.57532796
  0.38000937 0.32320385 0.72855876 0.77325599 0.2558278  0.58814123
  0.66727565 0.78197815 0.78502293 0.71711224 0.5089853  0.59151754
  0.41464022 0.25886374 0.73558443 0.32928645 0.77613134 0.37294346
  0.69631174 0.06211541 0.4872665  0.3663757 ]
 [0.87482577 0.22743494 0.42493701 0.675819   0.34154815 0.6258713
  0.67847435 0.38529478 0.47169859 0.6790981  0.27215762 0.32343347
  0.77325942 0.78404395 0.         0.34390021 0.45470851 0.11877445
  0.4684787  0.48035533 0.29224866 0.21547524 0.12564    0.88549597
  0.39879129 0.32034684 0.17301967 0.4711262  0.31320373 0.16500574
  0.04408983 0.8139008  0.47949173 0.18174019 0.48006803 0.37487134
  0.70077552 0.5963951  0.78978022 0.39826764 0.38590279 0.7735349
  0.49461047 0.80207169 0.55937965 0.38216701 0.37448747 1.01767137
  0.64073538 0.4967884  0.21542981 0.24181357 0.81144453 0.35862356
  0.690885   0.5826081  0.64916708 0.80187385 0.28688901 0.65209584
  0.39644318 0.31612888 0.92731542 0.83460096 0.37905333 0.81998238
  0.42692687 0.24206909 0.38087535 0.25541937 0.6853636  0.89862672
  0.76231478 0.25454989 0.78944975 0.43204412 0.70383402 0.281249
  0.92512156 0.80756298 0.36348621 0.0225915  0.79409266 0.67928975
  0.15640099 0.34429147 0.24540622 0.17154766 0.63499727 0.21710121
  0.48417093 0.80348963 0.3335893  0.54592889 0.61494985 0.66907426
  0.33932784 0.84008014 0.64549463 0.8419928 ]
 [0.83404339 0.15811871 0.45929267 0.48194524 0.37636461 0.29146964
  0.73298311 0.48208558 0.60952846 0.74078186 0.14473295 0.35505241
  0.7108184  0.79955181 0.34390021 0.         0.67537475 0.40914346
  0.58813559 0.73073597 0.47466761 0.4753953  0.43833739 0.83774581
  0.46220528 0.64275337 0.23328385 0.35553471 0.14131645 0.50863572
  0.36067822 0.86941282 0.1822695  0.5251322  0.39168558 0.65951588
  0.46272404 0.42281708 0.82268702 0.47699663 0.67013987 0.96693012
  0.41155601 0.77458571 0.44103654 0.05620777 0.66942196 0.92803295
  0.36433086 0.33452461 0.55885239 0.17572327 0.68696891 0.6796815
  0.64717421 0.80628527 0.74118648 0.74929141 0.62926114 0.36445604
  0.6900369  0.36988923 0.78627107 0.79659084 0.17597221 0.77766043
  0.4580595  0.32974263 0.59902021 0.55939686 0.91125805 0.83292883
  0.53643365 0.52526281 0.84180862 0.21479928 0.873817   0.24782104
  0.78680057 0.68178467 0.6795235  0.32265702 0.69783141 0.43482926
  0.43908565 0.0181885  0.58163253 0.48943185 0.43033376 0.28767107
  0.67031332 0.92062469 0.65331196 0.47791699 0.29295337 0.52945829
  0.10350767 0.86164844 0.86348308 0.69928679]
 [0.62458091 0.63979271 0.31848575 0.69029394 0.34101686 0.86724275
  0.36333376 0.24246228 0.15654135 0.3541917  0.68277623 0.35298953
  0.57924011 0.48572017 0.45470851 0.67537475 0.         0.53856448
  0.18716221 0.07969879 0.20070809 0.23924091 0.51686889 0.6416262
  0.28427608 0.27127917 0.44803508 0.50493051 0.72109285 0.42510277
  0.41086638 0.46001421 0.7027324  0.42971666 0.47528207 0.15375648
  0.76534694 0.61978009 0.46827741 0.26322166 0.15107608 0.31887835
  0.47202508 0.55359499 0.53543882 0.67955022 0.18066047 0.80085683
  0.77772869 0.56426682 0.39528465 0.50014928 0.68766487 0.26685442
  0.50254347 0.1326327  0.29488078 0.58603483 0.38438619 0.80196693
  0.1764092  0.33131333 0.79632457 0.59076606 0.57734601 0.58563342
  0.32257664 0.34750328 0.07786633 0.24011516 0.23833208 0.67468869
  0.79131543 0.63110042 0.44450378 0.60127825 0.2578641  0.4427441
  0.79092182 0.68667235 0.24787824 0.45744237 0.63806911 0.75960959
  0.29862415 0.664341   0.33642235 0.31043376 0.67960913 0.38782542
  0.07115823 0.38757692 0.2608528  0.46764755 0.83108015 0.61608194
  0.60125331 0.52060749 0.19370575 0.73406799]
 [0.99277894 0.26264512 0.54283283 0.78712488 0.46026929 0.70003973
  0.79094248 0.49963218 0.5769125  0.79072852 0.30011373 0.44220568
  0.89196987 0.8991172  0.11877445 0.40914346 0.53856448 0.
  0.57695662 0.55034544 0.39833253 0.30587794 0.03644722 1.0036654
  0.51557381 0.34907882 0.28423159 0.5862589  0.33713954 0.14868372
  0.15341071 0.92450915 0.5667218  0.15844779 0.59712893 0.43277691
  0.80609819 0.70878661 0.90320798 0.5139128  0.44317833 0.85529069
  0.61212864 0.91974813 0.67580035 0.45621041 0.42504694 1.13643857
  0.73728623 0.60827307 0.2063454  0.34512926 0.92928109 0.38541482
  0.809465   0.65934118 0.75721753 0.92037785 0.27579065 0.74592721
  0.44625443 0.43475088 1.04480084 0.9525814  0.47928701 0.93816098
  0.54492861 0.36082519 0.47026555 0.31185248 0.7576859  1.01722324
  0.87035384 0.13725949 0.90073134 0.53353599 0.7943038  0.39531903
  1.04273049 0.92533093 0.39572223 0.13560225 0.91269938 0.78317383
  0.24670476 0.41420033 0.26004648 0.23031834 0.74436183 0.33508619
  0.57763146 0.90430087 0.36433612 0.66438342 0.6962277  0.78526924
  0.42897038 0.9541508  0.72216118 0.95907303]
 [0.46138186 0.59679352 0.15322932 0.51030046 0.21384623 0.72999697
  0.21960451 0.10610221 0.03287354 0.21678976 0.63400563 0.23381802
  0.39975404 0.33797108 0.4684787  0.58813559 0.18716221 0.57695662
  0.         0.26649663 0.17885231 0.2829056  0.56602338 0.47681093
  0.13181802 0.41091266 0.39100068 0.34239986 0.66700604 0.50353114
  0.42665016 0.34809173 0.57189144 0.51373524 0.30679577 0.31230117
  0.59035498 0.44435258 0.33327426 0.11339672 0.31445865 0.38674672
  0.2996324  0.38737571 0.35699618 0.57788602 0.34025239 0.6319411
  0.6168692  0.40310408 0.49362922 0.41731513 0.50172469 0.41979868
  0.31969728 0.2712451  0.18069975 0.41149042 0.50752911 0.6428964
  0.34404902 0.21826551 0.61219333 0.42434141 0.45439399 0.41609094
  0.15667423 0.27118359 0.17040822 0.34418139 0.36090967 0.50484291
  0.61035482 0.6951325  0.32519054 0.46494003 0.28780936 0.34038771
  0.60704923 0.50054243 0.40306785 0.46207635 0.45428822 0.58764132
  0.33547865 0.57370239 0.44741736 0.38061332 0.50479115 0.31637723
  0.12872019 0.34389626 0.40543437 0.2850936  0.68819583 0.43080349
  0.49719192 0.38605001 0.31090469 0.54764091]
 [0.69389721 0.68103247 0.39677363 0.76944844 0.41327489 0.93585026
  0.43060053 0.31921223 0.23534612 0.42010322 0.72522554 0.4233819
  0.65464023 0.55146061 0.48035533 0.73073597 0.07969879 0.55034544
  0.26649663 0.         0.26065878 0.27030928 0.52455025 0.71140271
  0.36163405 0.2417278  0.49922584 0.58147195 0.76476595 0.42257876
  0.43792435 0.51509713 0.77054908 0.42402576 0.55300355 0.12495064
  0.84357384 0.69827594 0.53040728 0.34074544 0.11707362 0.31118547
  0.55036737 0.62446603 0.61451396 0.739272   0.14472773 0.8714213
  0.85285098 0.64023976 0.38360516 0.55748227 0.76576614 0.22674237
  0.57945839 0.11355648 0.35770456 0.65958699 0.3583618  0.87659068
  0.13168758 0.40120294 0.87335642 0.6614381  0.64429311 0.65742016
  0.40089694 0.40840641 0.13712138 0.23933437 0.20734438 0.7461144
  0.87056216 0.6282815  0.50237607 0.67136855 0.27596579 0.5068403
  0.86782791 0.76489099 0.20746872 0.48661694 0.71511107 0.83724271
  0.32535494 0.72091438 0.32110879 0.32035021 0.75791068 0.44560531
  0.14408731 0.42268126 0.22836278 0.54722955 0.90141369 0.69578005
  0.66272553 0.58156232 0.1742287  0.81246175]
 [0.62048006 0.44721724 0.19625467 0.55514484 0.1686265  0.67699532
  0.39598344 0.12242732 0.17951366 0.39448259 0.48861887 0.17221258
  0.53864559 0.5099277  0.29224866 0.47466761 0.20070809 0.39833253
  0.17885231 0.26065878 0.         0.11060418 0.38721766 0.63402537
  0.1576626  0.28194412 0.24905578 0.34816032 0.52560116 0.33007929
  0.24945204 0.52689602 0.51136299 0.34177022 0.32986054 0.22530555
  0.61609265 0.47690701 0.50941223 0.14454863 0.23320733 0.5038715
  0.33371887 0.5457733  0.40456344 0.47975672 0.24703656 0.78143417
  0.60738125 0.40184091 0.32817285 0.29950942 0.61376943 0.30387033
  0.45412453 0.33206285 0.35888502 0.55890729 0.35582517 0.62916721
  0.26131724 0.14980358 0.73034124 0.58137875 0.38479264 0.57000965
  0.20004913 0.14794952 0.1250703  0.19606471 0.43747812 0.65586401
  0.65558725 0.51684185 0.50372066 0.41514287 0.4221203  0.24633282
  0.72637561 0.61126846 0.29221546 0.28798331 0.57878972 0.60498588
  0.15764076 0.46368493 0.29173519 0.2094313  0.53287322 0.18715685
  0.20431738 0.51168909 0.28222899 0.35492268 0.6445075  0.50430735
  0.40239084 0.56153274 0.39067401 0.65430949]
 [0.73102603 0.41137395 0.30128184 0.6425417  0.25350775 0.71369498
  0.5023076  0.23211059 0.27698061 0.49968493 0.45591392 0.2487531
  0.64847423 0.61846505 0.21547524 0.4753953  0.23924091 0.30587794
  0.2829056  0.27030928 0.11060418 0.         0.28923668 0.74462034
  0.26414297 0.19445872 0.24265529 0.43001665 0.49590643 0.22094714
  0.17163349 0.62950346 0.54970626 0.23191482 0.41910108 0.18412641
  0.6946826  0.56225807 0.61599467 0.25324891 0.19478901 0.55806159
  0.4261756  0.65630883 0.4976233  0.49311905 0.19515063 0.89175833
  0.67036568 0.47742199 0.21772777 0.3116413  0.71913523 0.22453913
  0.56386258 0.36807628 0.45901769 0.66931425 0.24981305 0.68937033
  0.21515595 0.22900371 0.83623022 0.69196562 0.42544694 0.68060992
  0.30478622 0.18980505 0.16610421 0.10177165 0.47191139 0.76635649
  0.74092907 0.41453617 0.60745368 0.46566951 0.49028739 0.28682022
  0.83252252 0.7163839  0.21818166 0.21867917 0.68663747 0.6803562
  0.06001507 0.46810016 0.18503874 0.09900911 0.61469469 0.20985241
  0.2720548  0.59893148 0.19935759 0.4557611  0.68784048 0.60188861
  0.4236192  0.66857707 0.43076544 0.75820336]
 [0.99089598 0.2953584  0.54160687 0.80101141 0.46223967 0.72824496
  0.7822995  0.4937025  0.56399728 0.78138589 0.33404168 0.4453597
  0.89307205 0.89284391 0.12564    0.43833739 0.51686889 0.03644722
  0.56602338 0.52455025 0.38721766 0.28923668 0.         1.00234342
  0.51246601 0.31673039 0.2976024  0.59675267 0.37170821 0.11434029
  0.15185182 0.91410512 0.59118462 0.12299183 0.60516759 0.40494135
  0.82374296 0.72180863 0.89522203 0.50931936 0.41511556 0.83172176
  0.6193781  0.91731375 0.68473406 0.48376906 0.39574501 1.13811255
  0.75885579 0.62195433 0.17128619 0.36289867 0.93570332 0.35247077
  0.80983088 0.63486219 0.74536787 0.92027587 0.23988392 0.76853001
  0.416635   0.436174   1.0519108  0.95080543 0.49889313 0.9369276
  0.54394042 0.36360249 0.45098243 0.28526646 0.73166875 1.01747323
  0.88647686 0.1327824  0.89089178 0.55272596 0.77386185 0.40681175
  1.04959742 0.93190584 0.36348255 0.14588938 0.91669305 0.80154923
  0.23174349 0.44246766 0.22685599 0.20662237 0.75958532 0.34183891
  0.55917633 0.88802592 0.33214118 0.66925515 0.72265669 0.79447246
  0.4522247  0.94671897 0.69743956 0.96692929]
 [0.01899664 0.92501129 0.46092925 0.43220243 0.54541618 0.80590464
  0.28157869 0.51438068 0.49744344 0.29344808 0.94649877 0.56540148
  0.12716655 0.16800613 0.88549597 0.83774581 0.6416262  1.0036654
  0.47681093 0.71140271 0.63402537 0.74462034 1.00234342 0.
  0.49040966 0.88768179 0.74593229 0.48249875 0.96483193 0.96255855
  0.85130175 0.25652857 0.71356518 0.97505221 0.44910162 0.78502573
  0.51900626 0.44384187 0.20354641 0.49576128 0.7856868  0.62288628
  0.42945373 0.0894362  0.39854682 0.79766275 0.81319707 0.16044197
  0.62370531 0.50824857 0.96183873 0.72430027 0.21773634 0.89528042
  0.19784814 0.65730815 0.35836488 0.08872817 0.98245871 0.65018185
  0.81408214 0.56993537 0.24227489 0.05274567 0.66180429 0.06551414
  0.45875924 0.64465851 0.64579297 0.81868137 0.69022357 0.04587335
  0.47605258 1.13512386 0.24851559 0.62948354 0.53616519 0.64293266
  0.23482985 0.22246459 0.87795321 0.87162115 0.16535494 0.53957696
  0.78710427 0.8195881  0.92071264 0.84340571 0.4740048  0.67734567
  0.57065764 0.41537579 0.88190946 0.36391863 0.7532605  0.33512747
  0.7352824  0.17305558 0.65516757 0.25170773]
 [0.47857725 0.48781223 0.03926597 0.41149342 0.08597583 0.59945662
  0.2897349  0.04307859 0.15974526 0.29367412 0.52141441 0.10804453
  0.38664213 0.38669096 0.39879129 0.46220528 0.28427608 0.51557381
  0.13181802 0.36163405 0.1576626  0.26414297 0.51246601 0.49040966
  0.         0.43814477 0.2847748  0.22092726 0.55146596 0.47501713
  0.3623502  0.42893549 0.44028264 0.4884521  0.1914046  0.36691182
  0.48225627 0.3376183  0.39617672 0.02115784 0.37268332 0.51856411
  0.18974689 0.4048528  0.25706612 0.44852456 0.39203014 0.63145351
  0.49497723 0.28079343 0.48063208 0.29682956 0.45615542 0.45754861
  0.30207802 0.39213858 0.28204854 0.41039569 0.51275551 0.51993843
  0.40255574 0.0981908  0.57286051 0.43857012 0.32274922 0.42517668
  0.04330829 0.16715372 0.23377798 0.35370843 0.48783714 0.5078829
  0.51287771 0.64517366 0.40260404 0.33361449 0.41901474 0.21522761
  0.56897674 0.45362473 0.44434376 0.38706513 0.42249961 0.47561033
  0.29929954 0.44700013 0.44831135 0.36006045 0.39676001 0.20891249
  0.24496631 0.45934609 0.4373215  0.19952143 0.55876029 0.35044573
  0.36805559 0.44453112 0.43772216 0.49669414]
 [0.87209275 0.54673092 0.47723746 0.8336559  0.44379177 0.8992812
  0.62046692 0.39920011 0.39130959 0.6136792  0.59181698 0.44131324
  0.80608443 0.74283117 0.32034684 0.64275337 0.27127917 0.34907882
  0.41091266 0.2417278  0.28194412 0.19445872 0.31673039 0.88768179
  0.43814477 0.         0.4188504  0.62253201 0.63295088 0.20353557
  0.28894376 0.72848524 0.73756221 0.19936131 0.60881481 0.11951069
  0.88846928 0.75403715 0.73069704 0.42275093 0.12541245 0.55018666
  0.6141735  0.79825428 0.6854235  0.66885388 0.09700165 1.04247522
  0.86435952 0.67136109 0.15270463 0.49322634 0.89217446 0.0382783
  0.72307576 0.35453779 0.55946858 0.82101518 0.11663478 0.88292053
  0.11249155 0.42063808 1.00769299 0.83524823 0.61563254 0.82687129
  0.48115013 0.38399455 0.24299878 0.0927659  0.43740433 0.91541834
  0.93299548 0.39940611 0.71124735 0.65813346 0.51639497 0.47915008
  1.00335426 0.88996945 0.04676689 0.33574482 0.85316899 0.87456869
  0.20750011 0.63848045 0.09074051 0.15391912 0.80767505 0.40040013
  0.33683661 0.65693991 0.01564533 0.63671885 0.87653788 0.7862369
  0.60578565 0.78376907 0.41254026 0.93407433]
 [0.73736255 0.20581628 0.29888181 0.50351609 0.20696411 0.4816565
  0.57438286 0.28878843 0.40571128 0.57844216 0.24364967 0.18474008
  0.62691558 0.66560539 0.17301967 0.23328385 0.44803508 0.28423159
  0.39100068 0.49922584 0.24905578 0.24265529 0.2976024  0.74593229
  0.2847748  0.4188504  0.         0.30283704 0.27853544 0.32325862
  0.16406139 0.71366771 0.32354441 0.34042463 0.31702944 0.42661609
  0.52808784 0.42470115 0.67883199 0.29245969 0.4371624  0.7513928
  0.33345568 0.66769734 0.39377705 0.25142015 0.43745444 0.86754018
  0.47285659 0.32447975 0.36192415 0.07633664 0.6501794  0.45434587
  0.54823846 0.58033017 0.56297007 0.65916538 0.42567112 0.48630809
  0.4577354  0.18750585 0.76423894 0.69730072 0.21116484 0.68095142
  0.29956624 0.12028715 0.37055484 0.33119953 0.68596779 0.75368833
  0.58929773 0.4213232  0.68722568 0.26221669 0.66497528 0.11186491
  0.76254509 0.64597254 0.45222266 0.15180101 0.63893876 0.50705764
  0.21156561 0.2254785  0.36971687 0.269891   0.46207623 0.07605009
  0.45162951 0.7345244  0.42794926 0.39088259 0.46246194 0.50259665
  0.18749702 0.72537556 0.63960158 0.67763955]
 [0.47852969 0.450617   0.19013876 0.21363728 0.1798931  0.39898847
  0.40799041 0.26249393 0.37390863 0.41909021 0.46752408 0.18134052
  0.35587016 0.45312168 0.4711262  0.35553471 0.50493051 0.5862589
  0.34239986 0.58147195 0.34816032 0.43001665 0.59675267 0.48249875
  0.22092726 0.62253201 0.30283704 0.         0.48336477 0.59971564
  0.45090993 0.53505444 0.25783383 0.61594296 0.04263851 0.5726607
  0.26793562 0.13269424 0.4813001  0.24207703 0.57995174 0.71990278
  0.06046781 0.41981046 0.09315684 0.31820002 0.59512052 0.58184539
  0.27485861 0.06070427 0.62361357 0.25751956 0.35158773 0.64862844
  0.29232429 0.61113351 0.43888669 0.39391646 0.67275104 0.30056835
  0.60875859 0.20193558 0.46313465 0.44108736 0.1799489  0.42212681
  0.18639967 0.25017792 0.44971547 0.53094454 0.70330872 0.47963602
  0.31093036 0.72351638 0.50752968 0.15601038 0.6156595  0.19107531
  0.46186067 0.34702911 0.63851718 0.45159377 0.34990746 0.25773333
  0.44008487 0.33742053 0.60886    0.5081101  0.18527541 0.25761503
  0.46442615 0.6171707  0.62526254 0.1245005  0.35282293 0.20001635
  0.2527938  0.51492231 0.65328982 0.37585776]
 [0.95982844 0.08638827 0.55678745 0.62271964 0.46690215 0.40306317
  0.83550193 0.56249492 0.68337751 0.84155777 0.04114254 0.4441586
  0.83881197 0.91310525 0.31320373 0.14131645 0.72109285 0.33713954
  0.66700604 0.76476595 0.52560116 0.49590643 0.37170821 0.96483193
  0.55146596 0.63295088 0.27853544 0.48336477 0.         0.4651574
  0.34492282 0.97427723 0.32109955 0.47974044 0.5157783  0.67479844
  0.60353843 0.56151234 0.93248698 0.56264494 0.68584728 1.0292255
  0.53549689 0.89701564 0.57273864 0.19611729 0.6789812  1.06240161
  0.50209584 0.46966095 0.52133878 0.25567335 0.82368274 0.67117917
  0.77054287 0.85371209 0.83342936 0.87610526 0.59407919 0.4998325
  0.70070637 0.45378033 0.92530346 0.9213798  0.30861413 0.90299716
  0.55638108 0.39620138 0.64322819 0.56147237 0.95936857 0.96299987
  0.67748588 0.42944518 0.94703875 0.35290984 0.94350963 0.34031849
  0.92560721 0.81859722 0.6750428  0.29722556 0.83103239 0.57543418
  0.44694599 0.15802677 0.55797998 0.48114914 0.57129328 0.35093057
  0.72939425 1.0087684  0.64577073 0.60148625 0.41630596 0.66608219
  0.23339029 0.9747739  0.91429524 0.83794954]
 [0.949522   0.38261408 0.50908766 0.81147047 0.44240596 0.79035278
  0.72308529 0.44818956 0.49576697 0.72017011 0.42522795 0.42995482
  0.86163595 0.83936382 0.16500574 0.50863572 0.42510277 0.14868372
  0.50353114 0.42257876 0.33007929 0.22094714 0.11434029 0.96255855
  0.47501713 0.20353557 0.32325862 0.59971564 0.4651574  0.
  0.15937382 0.84865203 0.64121497 0.01719559 0.60005436 0.29953153
  0.84658196 0.73055329 0.83677425 0.4674004  0.30908711 0.73299068
  0.61142186 0.87493017 0.68083317 0.5470612  0.28727541 1.10643288
  0.79611351 0.63471172 0.0582238  0.39772411 0.92041197 0.23857279
  0.77709406 0.53507262 0.67743303 0.88489294 0.13009383 0.80934468
  0.30738071 0.41575216 1.03779006 0.91008908 0.53432446 0.89796617
  0.51208976 0.35143622 0.36705431 0.18570398 0.62802981 0.98231221
  0.90344654 0.20647366 0.8272095  0.58534855 0.68280438 0.41951695
  1.03472233 0.91713583 0.25027685 0.18689575 0.89395581 0.82715665
  0.17578865 0.50928152 0.11302726 0.12314795 0.77506063 0.34361163
  0.47543021 0.80684583 0.21908659 0.65272846 0.77801879 0.7897047
  0.5012923  0.88943539 0.59673927 0.95590592]
 [0.84013565 0.25853903 0.39038178 0.65948822 0.31041831 0.63492776
  0.63847834 0.34637684 0.42896417 0.63867424 0.30380044 0.29380032
  0.74128421 0.74579497 0.04408983 0.36067822 0.41086638 0.15341071
  0.42665016 0.43792435 0.24945204 0.17163349 0.15185182 0.85130175
  0.3623502  0.28894376 0.16406139 0.45090993 0.34492282 0.15937382
  0.         0.77306285 0.48285923 0.17656388 0.45639323 0.33510449
  0.68999723 0.57916415 0.75036733 0.36050211 0.34617769 0.72963884
  0.46984207 0.76686074 0.53662152 0.39406713 0.33635701 0.98628084
  0.63686899 0.48114204 0.20165586 0.23837389 0.78513762 0.32701254
  0.65816447 0.53919761 0.6073294  0.76875221 0.26973394 0.64997315
  0.35827034 0.28432383 0.90170249 0.79998078 0.37498732 0.78583363
  0.39261496 0.21206687 0.33682812 0.21766567 0.64229178 0.86586565
  0.74892662 0.28435098 0.74889945 0.42627374 0.65975093 0.26465405
  0.89923157 0.78143593 0.33023442 0.04945823 0.76509179 0.66979149
  0.11302004 0.35894164 0.2211521  0.13623214 0.62083123 0.19352837
  0.44011496 0.7601511  0.30130544 0.51809559 0.62044617 0.64636826
  0.34339774 0.80109158 0.60202898 0.81733537]
 [0.237863   0.91529677 0.41801158 0.58375015 0.50944229 0.92094943
  0.13937414 0.43126959 0.35290303 0.13573674 0.94682925 0.53229496
  0.28962146 0.1082154  0.8139008  0.86941282 0.46001421 0.92450915
  0.34809173 0.51509713 0.52689602 0.62950346 0.91410512 0.25652857
  0.42893549 0.72848524 0.71366771 0.53505444 0.97427723 0.84865203
  0.77306285 0.         0.79249165 0.85779686 0.49289251 0.61344533
  0.67808105 0.56007548 0.0654983  0.42285871 0.61108909 0.36956398
  0.47461648 0.20416517 0.48300105 0.84297998 0.6406341  0.40503805
  0.75797375 0.58316647 0.83343907 0.71878738 0.42831912 0.72673313
  0.27983217 0.43699841 0.17157909 0.26279432 0.83679737 0.78627698
  0.63583944 0.52641576 0.48957497 0.2269523  0.70428017 0.23738078
  0.41817861 0.59556705 0.49067127 0.67850605 0.44911504 0.30190569
  0.65764797 1.04304035 0.02768177 0.69037478 0.29194732 0.63396008
  0.48227966 0.43115253 0.70784136 0.80578934 0.3637364  0.69053142
  0.68340203 0.85239461 0.781636   0.72552318 0.60951352 0.63784796
  0.39180934 0.15888923 0.71929105 0.41487114 0.87038916 0.47641206
  0.76752391 0.0845597  0.42096268 0.47372469]
 [0.71316254 0.3359363  0.42213066 0.31692455 0.3649897  0.16569681
  0.66558419 0.47330476 0.59984838 0.67639282 0.32694554 0.35041434
  0.58744278 0.70729393 0.47949173 0.1822695  0.7027324  0.5667218
  0.57189144 0.77054908 0.51136299 0.54970626 0.59118462 0.71356518
  0.44028264 0.73756221 0.32354441 0.25783383 0.32109955 0.64121497
  0.48285923 0.79249165 0.         0.65836788 0.30036653 0.72606053
  0.28398156 0.27344367 0.73745906 0.45977196 0.73560423 0.95831379
  0.31807072 0.66328099 0.31978206 0.12607052 0.74199401 0.78290372
  0.1820987  0.21148264 0.68389549 0.2472215  0.53776537 0.7713607
  0.53803696 0.82473055 0.69255002 0.6279068  0.74901771 0.18372568
  0.76028005 0.37162659 0.62674142 0.67902621 0.1266268  0.65923763
  0.41941128 0.36737998 0.63345109 0.64680323 0.92478538 0.70114522
  0.35866401 0.69260787 0.76503624 0.10765183 0.85706892 0.26661314
  0.62820557 0.53232169 0.76698218 0.45691457 0.55999698 0.25538136
  0.5307271  0.16852462 0.69314901 0.5924644  0.26477248 0.33996062
  0.67913654 0.87238706 0.74526098 0.37858253 0.13917104 0.38480157
  0.14016836 0.76844601 0.87492768 0.54233336]
 [0.96184572 0.39772805 0.52292513 0.82790702 0.45747803 0.80729749
  0.73333956 0.46082507 0.50507789 0.73013181 0.44001502 0.44537237
  0.87508817 0.85028161 0.18174019 0.5251322  0.42971666 0.15844779
  0.51373524 0.42402576 0.34177022 0.23191482 0.12299183 0.97505221
  0.4884521  0.19936131 0.34042463 0.61594296 0.47974044 0.01719559
  0.17656388 0.85779686 0.65836788 0.         0.61584294 0.30007472
  0.86345612 0.74695546 0.8470002  0.48038265 0.30929803 0.73496447
  0.62702309 0.88720008 0.69661315 0.56387964 0.28635293 1.11969644
  0.81327602 0.65133799 0.04861957 0.41491822 0.9352358  0.2331313
  0.79049699 0.53700372 0.68639638 0.89792444 0.11771476 0.82653193
  0.30591451 0.43085046 1.05263946 0.9225191  0.55150345 0.91060226
  0.52598385 0.36727774 0.3738317  0.18964234 0.6284322  0.99529303
  0.92011115 0.20427832 0.83665807 0.60249211 0.68701559 0.43633165
  1.04951516 0.93200169 0.24585773 0.2037385  0.90818799 0.84411064
  0.18918404 0.52593833 0.10869346 0.1331957  0.79171591 0.36016658
  0.48182286 0.81316902 0.2149996  0.66768749 0.79511708 0.8053471
  0.51842639 0.89977569 0.59825124 0.97102711]
 [0.44410298 0.47807209 0.15724405 0.22530251 0.1656144  0.44089382
  0.36536233 0.23413654 0.33888552 0.37645242 0.49772858 0.17234176
  0.3235675  0.41240769 0.48006803 0.39168558 0.47528207 0.59712893
  0.30679577 0.55300355 0.32986054 0.41910108 0.60516759 0.44910162
  0.1914046  0.60881481 0.31702944 0.04263851 0.5157783  0.60005436
  0.45639323 0.49289251 0.30036653 0.61584294 0.         0.55186451
  0.29101069 0.1476944  0.43976094 0.21225897 0.55859315 0.68045503
  0.01987524 0.38296195 0.08077975 0.35682531 0.57538799 0.55569466
  0.31057551 0.09963401 0.62019246 0.28026497 0.33316519 0.63307362
  0.25566581 0.57717264 0.39678305 0.36037492 0.66570724 0.33709949
  0.58790869 0.19041837 0.44779807 0.4058955  0.21755749 0.38733477
  0.15325703 0.24862517 0.42404702 0.51851267 0.6673065  0.44901312
  0.32581427 0.7341621  0.46533312 0.19760092 0.57579656 0.20595462
  0.4458896  0.32899238 0.62195636 0.46162498 0.32455027 0.28432863
  0.43486253 0.37370748 0.60123713 0.50236567 0.20577749 0.26339338
  0.43126059 0.57473296 0.61053603 0.08625975 0.39415332 0.19014002
  0.28830201 0.47435856 0.61743208 0.36197283]
 [0.7686839  0.58904707 0.40582157 0.77625842 0.39374902 0.89132488
  0.51153065 0.3246231  0.28818349 0.50357013 0.63415874 0.39727222
  0.71200464 0.63430865 0.37487134 0.65951588 0.15375648 0.43277691
  0.31230117 0.12495064 0.22530555 0.18412641 0.40494135 0.78502573
  0.36691182 0.11951069 0.42661609 0.5726607  0.67479844 0.29953153
  0.33510449 0.61344533 0.72606053 0.30007472 0.55186451 0.
  0.84047784 0.69952909 0.61935671 0.34848529 0.01108422 0.43600647
  0.55372428 0.69596716 0.6230931  0.67628713 0.02817165 0.94237754
  0.83201333 0.62706919 0.25879804 0.49399327 0.80859475 0.11332109
  0.63119287 0.23850553 0.44658326 0.72332444 0.2354135  0.85328145
  0.03609932 0.37496089 0.9216527  0.73318181 0.60000397 0.72630567
  0.4099603  0.35910134 0.1425098  0.12174108 0.32851154 0.81540774
  0.87734114 0.50431157 0.59735592 0.63535879 0.39734925 0.45973028
  0.91681017 0.80691375 0.0946258  0.38456271 0.76462859 0.82998181
  0.22785422 0.65209459 0.19617187 0.20639361 0.75658302 0.38758868
  0.22209061 0.53758218 0.10782471 0.56546667 0.8623991  0.71671945
  0.60493481 0.67209325 0.29870994 0.85276111]
 [0.52506073 0.60746625 0.44688041 0.09436473 0.44769119 0.3049306
  0.58329754 0.52510091 0.62313804 0.59783828 0.6054414  0.44758388
  0.40882115 0.57433051 0.70077552 0.46272404 0.76534694 0.80609819
  0.59035498 0.84357384 0.61609265 0.6946826  0.82374296 0.51900626
  0.48225627 0.88846928 0.52808784 0.26793562 0.60353843 0.84658196
  0.68999723 0.67808105 0.28398156 0.86345612 0.29101069 0.84047784
  0.         0.14606172 0.61393932 0.50296726 0.84765351 0.94255388
  0.29332579 0.49919537 0.23399706 0.40742138 0.86305174 0.54417836
  0.12014018 0.21730171 0.87723167 0.4611143  0.30815203 0.91557714
  0.39826387 0.86141968 0.63878234 0.44793008 0.93156909 0.14072064
  0.87657706 0.46890714 0.36802491 0.50079536 0.32831874 0.48149643
  0.44277934 0.50858235 0.71498852 0.79625569 0.94568888 0.49272193
  0.07497985 0.94028333 0.65368132 0.27382328 0.83672608 0.42722337
  0.37123411 0.30275453 0.90590215 0.67905105 0.35365779 0.0291956
  0.6986881  0.44709673 0.8688866  0.76655465 0.0857874  0.50504963
  0.71784096 0.79963328 0.89181605 0.3098319  0.25453034 0.20167463
  0.39072285 0.62720637 0.89665159 0.2943121 ]
 [0.44510861 0.54514064 0.30151292 0.08110414 0.31033396 0.36713963
  0.45242805 0.38063178 0.47711723 0.46616986 0.55363966 0.31351333
  0.32007605 0.46255352 0.5963951  0.42281708 0.61978009 0.70878661
  0.44435258 0.69827594 0.47690701 0.56225807 0.72180863 0.44384187
  0.3376183  0.75403715 0.42470115 0.13269424 0.56151234 0.73055329
  0.57916415 0.56007548 0.27344367 0.74695546 0.1476944  0.69952909
  0.14606172 0.         0.49865061 0.35810251 0.70628488 0.80140381
  0.14797516 0.40268293 0.08923638 0.37408496 0.7229347  0.51031865
  0.19812511 0.10104266 0.75578088 0.36864567 0.26600096 0.77930421
  0.28505608 0.71548895 0.50161894 0.3609417  0.80543228 0.22646572
  0.73558151 0.3335507  0.36379226 0.41350282 0.25596791 0.39354442
  0.29738341 0.38251485 0.57110585 0.66285063 0.80065787 0.42872038
  0.1789827  0.84563035 0.53408133 0.20860333 0.69558544 0.31529795
  0.36412763 0.2606602  0.76862455 0.57595375 0.28684213 0.14482923
  0.57269095 0.40503792 0.74155408 0.64073701 0.06045769 0.38719524
  0.57177985 0.66924885 0.75633568 0.16659331 0.31501637 0.11137376
  0.32988286 0.52038141 0.75142736 0.27652282]
 [0.18455109 0.87714066 0.38023331 0.51968947 0.47236244 0.86177993
  0.11369055 0.4045195  0.34405553 0.11767922 0.90674632 0.49500977
  0.2245017  0.04313044 0.78978022 0.82268702 0.46827741 0.90320798
  0.33327426 0.53040728 0.50941223 0.61599467 0.89522203 0.20354641
  0.39617672 0.73069704 0.67883199 0.4813001  0.93248698 0.83677425
  0.75036733 0.0654983  0.73745906 0.8470002  0.43976094 0.61935671
  0.61393932 0.49865061 0.         0.39299666 0.61815896 0.41967545
  0.42089971 0.14120218 0.42404146 0.79363856 0.64716228 0.35927721
  0.69608518 0.52683236 0.82595761 0.67809799 0.36360521 0.73237524
  0.2160621  0.46347198 0.17346955 0.1991403  0.83500244 0.72433357
  0.64456038 0.49148494 0.42894541 0.16749741 0.65429365 0.17573209
  0.37984135 0.56321403 0.4888479  0.6736562  0.48840146 0.24740952
  0.59241703 1.02594877 0.04719777 0.63724573 0.33316905 0.59298345
  0.42174235 0.36632097 0.71394308 0.78009132 0.29895242 0.62697633
  0.66703962 0.80534366 0.77726651 0.71388756 0.54674734 0.60378546
  0.39778457 0.21671521 0.72268125 0.35888662 0.81077719 0.41229532
  0.71992077 0.05320942 0.45550587 0.40948045]
 [0.48331246 0.49696294 0.05762816 0.43142552 0.10101226 0.6195799
  0.2842989  0.02392833 0.14008898 0.2871688  0.53166402 0.12194692
  0.39543652 0.38579352 0.39826764 0.47699663 0.26322166 0.5139128
  0.11339672 0.34074544 0.14454863 0.25324891 0.50931936 0.49576128
  0.02115784 0.42275093 0.29245969 0.24207703 0.56264494 0.4674004
  0.36050211 0.42285871 0.45977196 0.48038265 0.21225897 0.34848529
  0.50296726 0.35810251 0.39299666 0.         0.35398792 0.49985191
  0.21014812 0.40909673 0.27674329 0.46499725 0.37396209 0.63945625
  0.51612278 0.30194999 0.47065649 0.30922473 0.46996249 0.4411005
  0.31078763 0.37118875 0.27120427 0.4175425  0.50037209 0.54105812
  0.38395972 0.10904374 0.58620286 0.4435437  0.34113013 0.43086229
  0.06180468 0.17304409 0.21383891 0.33990152 0.46730882 0.51492858
  0.53281578 0.64177644 0.39697994 0.35341494 0.40116627 0.22932444
  0.58213929 0.46760364 0.42748407 0.38759797 0.43424178 0.49653776
  0.29166436 0.46212273 0.43622221 0.35048621 0.41740464 0.216413
  0.22400402 0.44654626 0.42141084 0.21707021 0.57922359 0.36828417
  0.38436712 0.44240411 0.4172093  0.51135707]
 [0.76920867 0.60010903 0.4114524  0.78269242 0.40138743 0.90094701
  0.51106196 0.33018566 0.28954455 0.50281096 0.64521569 0.40535183
  0.71420265 0.63382239 0.38590279 0.67013987 0.15107608 0.44317833
  0.31445865 0.11707362 0.23320733 0.19478901 0.41511556 0.7856868
  0.37268332 0.12541245 0.4371624  0.57995174 0.68584728 0.30908711
  0.34617769 0.61108909 0.73560423 0.30929803 0.55859315 0.01108422
  0.84765351 0.70628488 0.61815896 0.35398792 0.         0.42766292
  0.56013503 0.69676098 0.62923025 0.68662538 0.02977654 0.94342807
  0.8403184  0.63472069 0.26743782 0.50424211 0.8122036  0.1159974
  0.6338075  0.23053591 0.44509822 0.72492438 0.24184965 0.86174611
  0.03015952 0.38298574 0.92486624 0.73398989 0.60944906 0.72739789
  0.41560388 0.36847103 0.14561911 0.13248621 0.31913689 0.81654024
  0.88385496 0.51344447 0.5954076  0.64439439 0.39098257 0.46916615
  0.91995882 0.81059102 0.09688433 0.39563589 0.76760433 0.83742854
  0.23890136 0.66263593 0.20456735 0.21723491 0.7635727  0.39746582
  0.22046503 0.53268632 0.11290575 0.57078395 0.8717354  0.72203708
  0.61502319 0.67076689 0.29019273 0.8566253 ]
 [0.603923   0.95097425 0.53693283 0.85284313 0.59904582 1.11461564
  0.37868171 0.48936727 0.36053793 0.36310768 0.9924819  0.61766145
  0.62412847 0.45855613 0.7735349  0.96693012 0.31887835 0.85529069
  0.38674672 0.31118547 0.5038715  0.55806159 0.83172176 0.62288628
  0.51856411 0.55018666 0.7513928  0.71990278 1.0292255  0.73299068
  0.72963884 0.36956398 0.95831379 0.73496447 0.68045503 0.43600647
  0.94255388 0.80140381 0.41967545 0.49985191 0.42766292 0.
  0.6691372  0.55580048 0.71238399 0.96142476 0.45387503 0.77457329
  0.98899805 0.77981722 0.69477241 0.79217895 0.7609921  0.52987512
  0.57798291 0.19796397 0.30856611 0.60941757 0.66625712 1.01625887
  0.43781247 0.59986842 0.84292722 0.58601821 0.84097679 0.59169853
  0.53991545 0.63893481 0.39358639 0.54813904 0.12269231 0.66707701
  0.94513297 0.93911304 0.37442768 0.85106411 0.10585146 0.72158142
  0.83598518 0.76237288 0.5113701  0.7758239  0.69823753 0.94582421
  0.61750159 0.95368034 0.63215258 0.62536619 0.86046978 0.68313766
  0.29983714 0.21496726 0.53591854 0.63482825 1.07115692 0.75464329
  0.88080247 0.45393367 0.13765956 0.80946693]
 [0.42434667 0.49717856 0.15359769 0.22255745 0.17306933 0.45591721
  0.34834282 0.23280209 0.3320837  0.35974608 0.51721886 0.18201968
  0.30411959 0.39310733 0.49461047 0.41155601 0.47202508 0.61212864
  0.2996324  0.55036737 0.33371887 0.4261756  0.6193781  0.42945373
  0.18974689 0.6141735  0.33345568 0.06046781 0.53549689 0.61142186
  0.46984207 0.47461648 0.31807072 0.62702309 0.01987524 0.55372428
  0.29332579 0.14797516 0.42089971 0.21014812 0.56013503 0.6691372
  0.         0.3630868  0.07145642 0.37651485 0.57777586 0.53735439
  0.32023532 0.1134207  0.63006157 0.29873974 0.31731068 0.63750573
  0.23579749 0.5707088  0.38204785 0.34073357 0.67400955 0.34724663
  0.58967759 0.19873411 0.43272083 0.38608241 0.2373234  0.36755529
  0.14948283 0.26038212 0.42342822 0.52463805 0.659148   0.42978502
  0.32377432 0.74898077 0.4471045  0.21634797 0.56410039 0.22301006
  0.43060302 0.31327705 0.62590478 0.47653875 0.30663046 0.28858362
  0.44434904 0.39357436 0.60937657 0.5114762  0.20758584 0.27757628
  0.42564076 0.55907074 0.61540611 0.06638494 0.40843349 0.1783512
  0.30817672 0.45500619 0.60943669 0.34758801]
 [0.07473332 0.85259491 0.37716461 0.40701172 0.46416967 0.76969237
  0.19716304 0.42702254 0.40818285 0.21023258 0.87643948 0.48492553
  0.09164131 0.0988504  0.80207169 0.77458571 0.55359499 0.91974813
  0.38737571 0.62446603 0.5457733  0.65630883 0.91731375 0.0894362
  0.4048528  0.79825428 0.66769734 0.41981046 0.89701564 0.87493017
  0.76686074 0.20416517 0.66328099 0.88720008 0.38296195 0.69596716
  0.49919537 0.40268293 0.14120218 0.40909673 0.69676098 0.55580048
  0.3630868  0.         0.34363688 0.7378921  0.72413538 0.24726267
  0.59358351 0.45322481 0.8732518  0.65110019 0.22566614 0.80599613
  0.12749231 0.57475652 0.27550716 0.05890082 0.89319714 0.62118585
  0.72529028 0.48788309 0.28839464 0.03723431 0.59964425 0.03604282
  0.37527321 0.56267166 0.5564566  0.72942301 0.61407727 0.12182715
  0.46797022 1.05002633 0.18837366 0.57225758 0.46331425 0.56803639
  0.28127286 0.22889002 0.78872754 0.78891438 0.16174191 0.51602132
  0.69976416 0.75656967 0.83159558 0.75520456 0.44200283 0.59720671
  0.4828076  0.35767617 0.79251702 0.29670272 0.71739609 0.3019763
  0.67125542 0.13318668 0.57657261 0.26998662]
 [0.39638668 0.54301268 0.2192365  0.15499082 0.244404   0.43797754
  0.36846791 0.300049   0.38984728 0.38165378 0.55859418 0.25257038
  0.27139635 0.39090869 0.55937965 0.44103654 0.53543882 0.67580035
  0.35699618 0.61451396 0.40456344 0.4976233  0.68473406 0.39854682
  0.25706612 0.6854235  0.39377705 0.09315684 0.57273864 0.68083317
  0.53662152 0.48300105 0.31978206 0.69661315 0.08077975 0.6230931
  0.23399706 0.08923638 0.42404146 0.27674329 0.62923025 0.71238399
  0.07145642 0.34363688 0.         0.39929842 0.64753499 0.49021269
  0.28168185 0.11003307 0.70065178 0.35064694 0.25845935 0.70842951
  0.21839364 0.62772714 0.41415259 0.31099644 0.7452822  0.30983858
  0.65893856 0.26988036 0.37070985 0.3607819  0.26537793 0.34121131
  0.21505604 0.3294049  0.49058082 0.59605009 0.71180668 0.39192443
  0.25629045 0.81299066 0.45627444 0.23094103 0.60659428 0.28195862
  0.36924415 0.25393038 0.69660809 0.54052755 0.25843606 0.23405857
  0.51512837 0.4228483  0.68068548 0.58244644 0.14924905 0.34330119
  0.48508789 0.58452464 0.68650516 0.07762324 0.3874302  0.10977816
  0.34010933 0.45104456 0.66269453 0.28386869]
 [0.79487484 0.21234155 0.44098011 0.42989629 0.36408609 0.24472343
  0.70864664 0.47276836 0.60151308 0.71737298 0.20093016 0.34428505
  0.6705014  0.76837485 0.38216701 0.05620777 0.67955022 0.45621041
  0.57788602 0.739272   0.47975672 0.49311905 0.48376906 0.79766275
  0.44852456 0.66885388 0.25142015 0.31820002 0.19611729 0.5470612
  0.39406713 0.84297998 0.12607052 0.56387964 0.35682531 0.67628713
  0.40742138 0.37408496 0.79363856 0.46499725 0.68662538 0.96142476
  0.37651485 0.7378921  0.39929842 0.         0.68824882 0.88229691
  0.30812309 0.29055309 0.5948839  0.18278051 0.63958729 0.70493294
  0.61044337 0.80846848 0.72242985 0.70968244 0.66380071 0.30844714
  0.7082209  0.36155929 0.73633692 0.7582257  0.1395343  0.73898509
  0.43928451 0.33208494 0.60482654 0.58242095 0.91239886 0.79070824
  0.48142758 0.57624045 0.81530175 0.169053   0.86541924 0.24022342
  0.73712019 0.63431904 0.70336139 0.36016562 0.6535284  0.37933881
  0.46238152 0.04382174 0.61308327 0.51725985 0.37795446 0.29370957
  0.66858893 0.90289476 0.67850891 0.44234208 0.24098298 0.48261023
  0.08071462 0.83045675 0.86375924 0.64988066]
 [0.79685475 0.59285161 0.43108742 0.80018427 0.41565267 0.90684578
  0.53956634 0.35005267 0.31631461 0.53152566 0.6381058  0.41815334
  0.7398951  0.66234434 0.37448747 0.66942196 0.18066047 0.42504694
  0.34025239 0.14472773 0.24703656 0.19515063 0.39574501 0.81319707
  0.39203014 0.09700165 0.43745444 0.59512052 0.6789812  0.28727541
  0.33635701 0.6406341  0.74199401 0.28635293 0.57538799 0.02817165
  0.86305174 0.7229347  0.64716228 0.37396209 0.02977654 0.45387503
  0.57777586 0.72413538 0.64753499 0.68824882 0.         0.97052594
  0.85198425 0.64873412 0.24296775 0.50670391 0.83572557 0.08625724
  0.65892003 0.25764285 0.47425487 0.7513877  0.21363643 0.87280492
  0.02195574 0.39601055 0.94903686 0.76134926 0.61642685 0.75445192
  0.43520662 0.37616199 0.17021489 0.11906834 0.34304967 0.84354833
  0.90110923 0.48990904 0.62479605 0.65323979 0.41977636 0.47635033
  0.94423404 0.8339953  0.06721778 0.3856645  0.7921628  0.85200377
  0.23322944 0.66266581 0.17975275 0.20360247 0.77954218 0.40245499
  0.24966033 0.56227645 0.08383279 0.59103163 0.87907892 0.74223758
  0.61841821 0.69984723 0.31622773 0.87969621]
 [0.17861037 1.03237914 0.59848623 0.47351591 0.67626038 0.84732729
  0.44199439 0.65976176 0.65424058 0.45388198 1.04880499 0.69432231
  0.24530508 0.32693345 1.01767137 0.92803295 0.80085683 1.13643857
  0.6319411  0.8714213  0.78143417 0.89175833 1.13811255 0.16044197
  0.63145351 1.04247522 0.86754018 0.58184539 1.06240161 1.10643288
  0.98628084 0.40503805 0.78290372 1.11969644 0.55569466 0.94237754
  0.54417836 0.51031865 0.35927721 0.63945625 0.94342807 0.77457329
  0.53735439 0.24726267 0.49021269 0.88229691 0.97052594 0.
  0.66080908 0.59357324 1.10948605 0.83595931 0.24530367 1.05158938
  0.32949287 0.81747181 0.51874397 0.22263862 1.13393874 0.68412775
  0.97213865 0.7020649  0.18661058 0.21011618 0.75400367 0.21607848
  0.5957789  0.77561749 0.80195986 0.97040435 0.84766339 0.1270986
  0.48419684 1.27056699 0.40163859 0.71379056 0.69223446 0.75935515
  0.18109157 0.25078989 1.03459212 1.00212089 0.23194115 0.56984436
  0.930662   0.9099246  1.07123667 0.98976505 0.5231448  0.80387752
  0.73006049 0.56247907 1.03732978 0.47677061 0.7955926  0.39993836
  0.82916876 0.32065232 0.81392656 0.2498867 ]
 [0.62781959 0.5171555  0.46499645 0.19195796 0.44144349 0.18651846
  0.6495547  0.53559365 0.64860498 0.6630018  0.50903581 0.43521463
  0.50636052 0.65916323 0.64073538 0.36433086 0.77772869 0.73728623
  0.6168692  0.85285098 0.60738125 0.67036568 0.75885579 0.62370531
  0.49497723 0.86435952 0.47285659 0.27485861 0.50209584 0.79611351
  0.63686899 0.75797375 0.1820987  0.81327602 0.31057551 0.83201333
  0.12014018 0.19812511 0.69608518 0.51612278 0.8403184  0.98899805
  0.32023532 0.59358351 0.28168185 0.30812309 0.85198425 0.66080908
  0.         0.21436075 0.83300722 0.39935591 0.42031761 0.89480295
  0.48118039 0.88598434 0.69532007 0.54677934 0.89306765 0.02834255
  0.86776864 0.45768682 0.48740297 0.60000074 0.26205377 0.58021357
  0.46124742 0.48056242 0.71848159 0.77164379 0.97768453 0.60127722
  0.19255967 0.86721457 0.73210058 0.2110564  0.88367983 0.38674124
  0.49038182 0.41480813 0.88741291 0.6183068  0.4593918  0.09206112
  0.66412089 0.35055557 0.83304471 0.73024519 0.15158083 0.46656661
  0.73920007 0.8660196  0.86972255 0.35826642 0.13507727 0.2918483
  0.30940548 0.7158071  0.92773897 0.41122265]
 [0.5063502  0.44755718 0.25073422 0.1790571  0.23333564 0.34261505
  0.46035167 0.32184332 0.43459307 0.47217465 0.45876024 0.23124185
  0.38116928 0.49597897 0.4967884  0.33452461 0.56426682 0.60827307
  0.40310408 0.64023976 0.40184091 0.47742199 0.62195433 0.50824857
  0.28079343 0.67136109 0.32447975 0.06070427 0.46966095 0.63471172
  0.48114204 0.58316647 0.21148264 0.65133799 0.09963401 0.62706919
  0.21730171 0.10104266 0.52683236 0.30194999 0.63472069 0.77981722
  0.1134207  0.45322481 0.11003307 0.29055309 0.64873412 0.59357324
  0.21436075 0.         0.66259301 0.2676298  0.35415928 0.69890779
  0.32710136 0.67165273 0.49546008 0.42094072 0.71523099 0.23990138
  0.66311856 0.25300484 0.45893611 0.4708112  0.16112242 0.45124427
  0.2470247  0.29169345 0.50734308 0.5790449  0.76401275 0.50019732
  0.26884122 0.74496413 0.55590372 0.12157826 0.67530773 0.21652009
  0.45863591 0.34912568 0.68963328 0.47606621 0.36342872 0.20363726
  0.48215494 0.31639345 0.65218156 0.5501561  0.14044447 0.29123576
  0.52483946 0.6722925  0.67493076 0.16830064 0.29502618 0.19671852
  0.23630431 0.55701364 0.71399243 0.37104568]
 [0.94798491 0.43790083 0.51674692 0.83688498 0.45806777 0.83653358
  0.71262535 0.44979523 0.4822332  0.70849816 0.48109909 0.44811295
  0.86605774 0.83150814 0.21542981 0.55885239 0.39528465 0.2063454
  0.49362922 0.38360516 0.32817285 0.21772777 0.17128619 0.96183873
  0.48063208 0.15270463 0.36192415 0.62361357 0.52133878 0.0582238
  0.20165586 0.83343907 0.68389549 0.04861957 0.62019246 0.25879804
  0.87723167 0.75578088 0.82595761 0.47065649 0.26743782 0.69477241
  0.63006157 0.8732518  0.70065178 0.5948839  0.24296775 1.10948605
  0.83300722 0.66259301 0.         0.43781358 0.93286935 0.18534327
  0.78142093 0.49706619 0.66186864 0.88703154 0.07274983 0.84757608
  0.26170195 0.43177855 1.05024849 0.90913555 0.57257294 0.89805864
  0.52005605 0.37344699 0.34483306 0.15670559 0.58596044 0.98403423
  0.93123828 0.24727809 0.81323336 0.62196569 0.65097223 0.45061821
  1.04681507 0.92987391 0.19877124 0.23623075 0.90276436 0.85909358
  0.185906   0.55846404 0.06325223 0.1207229  0.80295351 0.37218209
  0.45120112 0.78150019 0.16833413 0.66667543 0.8218711  0.80818357
  0.54483384 0.87900979 0.55750376 0.97030285]
 [0.71747491 0.20155891 0.30111825 0.44470999 0.21158352 0.40623448
  0.57988984 0.31142662 0.43683264 0.58588464 0.22865825 0.18898039
  0.60114651 0.66029546 0.24181357 0.17572327 0.50014928 0.34512926
  0.41731513 0.55748227 0.29950942 0.3116413  0.36289867 0.72430027
  0.29682956 0.49322634 0.07633664 0.25751956 0.25567335 0.39772411
  0.23837389 0.71878738 0.2472215  0.41491822 0.28026497 0.49399327
  0.4611143  0.36864567 0.67809799 0.30922473 0.50424211 0.79217895
  0.29873974 0.65110019 0.35064694 0.18278051 0.50670391 0.83595931
  0.39935591 0.2676298  0.43781358 0.         0.60910235 0.52813716
  0.52704049 0.63070675 0.57882671 0.63605894 0.501979   0.411749
  0.52636465 0.20025547 0.72008677 0.67803885 0.13736005 0.66054504
  0.30073993 0.15404451 0.42427509 0.40420714 0.73558429 0.7275809
  0.52539183 0.48028108 0.69161393 0.19027411 0.70055892 0.08511522
  0.71900967 0.60454861 0.52518937 0.21956162 0.60467382 0.43866064
  0.28573155 0.16419306 0.44596581 0.34571366 0.4002032  0.11235913
  0.49478791 0.75572293 0.50181245 0.36167089 0.3861923  0.45618209
  0.11266746 0.7215613  0.68776178 0.63248264]
 [0.22745595 0.79962459 0.41807919 0.22993579 0.47826481 0.60627025
  0.38305704 0.49322479 0.53120129 0.39852172 0.81268358 0.49235256
  0.13972336 0.32047728 0.81144453 0.68696891 0.68766487 0.92928109
  0.50172469 0.76576614 0.61376943 0.71913523 0.93570332 0.21773634
  0.45615542 0.89217446 0.6501794  0.35158773 0.82368274 0.92041197
  0.78513762 0.42831912 0.53776537 0.9352358  0.33316519 0.80859475
  0.30815203 0.26600096 0.36360521 0.46996249 0.8122036  0.7609921
  0.31731068 0.22566614 0.25845935 0.63958729 0.83572557 0.24530367
  0.42031761 0.35415928 0.93286935 0.60910235 0.         0.90859189
  0.19007204 0.74227972 0.45822289 0.16690382 0.96859121 0.44507143
  0.84227295 0.50494225 0.11742771 0.21320115 0.51527362 0.1969665
  0.41447687 0.57355418 0.66661019 0.80970189 0.80085324 0.18612089
  0.25927567 1.06596022 0.4099058  0.47217578 0.66116188 0.53884564
  0.11434921 0.00554139 0.89385865 0.793679   0.06467448 0.33148466
  0.7478103  0.66898981 0.90397661 0.81229184 0.27841145 0.59435487
  0.62245714 0.57628178 0.89011286 0.26790274 0.55401884 0.15762144
  0.59041927 0.35833137 0.75768575 0.04875176]
 [0.87924405 0.58494091 0.49680382 0.85831457 0.46906513 0.93379425
  0.623897   0.41728617 0.39783816 0.61625703 0.63004284 0.46799357
  0.81800188 0.74663332 0.35862356 0.6796815  0.26685442 0.38541482
  0.41979868 0.22674237 0.30387033 0.22453913 0.35247077 0.89528042
  0.45754861 0.0382783  0.45434587 0.64862844 0.67117917 0.23857279
  0.32701254 0.72673313 0.7713607  0.2331313  0.63307362 0.11332109
  0.91557714 0.77930421 0.73237524 0.4411005  0.1159974  0.52987512
  0.63750573 0.80599613 0.70842951 0.70493294 0.08625724 1.05158938
  0.89480295 0.69890779 0.18534327 0.52813716 0.90859189 0.
  0.73586658 0.33713245 0.55979152 0.83121595 0.13855827 0.91390819
  0.09511507 0.44680273 1.02326717 0.84314436 0.64854764 0.83558609
  0.50080678 0.41426804 0.24963918 0.12458892 0.41416675 0.92450034
  0.9582602  0.42983505 0.71067143 0.68996025 0.50270357 0.51097226
  1.01872199 0.90658369 0.01935792 0.37396122 0.86756396 0.90244644
  0.2427805  0.67512546 0.1256249  0.19160222 0.83390377 0.4329111
  0.33538874 0.64750122 0.02642513 0.65693632 0.91013936 0.80733025
  0.6407899  0.78518676 0.39269809 0.951392  ]
 [0.19043443 0.72814396 0.26909    0.3039221  0.34958601 0.65125229
  0.19989407 0.33182124 0.34715964 0.21545763 0.75078981 0.36890152
  0.08465298 0.17801156 0.690885   0.64717421 0.50254347 0.809465
  0.31969728 0.57945839 0.45412453 0.56386258 0.80983088 0.19784814
  0.30207802 0.72307576 0.54823846 0.29232429 0.77054287 0.77709406
  0.65816447 0.27983217 0.53803696 0.79049699 0.25566581 0.63119287
  0.39826387 0.28505608 0.2160621  0.31078763 0.6338075  0.57798291
  0.23579749 0.12749231 0.21839364 0.61044337 0.65892003 0.32949287
  0.48118039 0.32710136 0.78142093 0.52704049 0.19007204 0.73586658
  0.         0.55229115 0.27115774 0.1112568  0.80892629 0.50932472
  0.66355082 0.37475798 0.29389893 0.15115421 0.47215368 0.13351535
  0.26645755 0.44912109 0.48871154 0.64632101 0.61175879 0.20776222
  0.3810763  0.9424984  0.2555182  0.44523655 0.47575678 0.44520612
  0.28840929 0.19021312 0.7199929  0.67625391 0.13565986 0.4109203
  0.60137032 0.62914308 0.74540756 0.66126063 0.33102945 0.48039247
  0.43550374 0.40836851 0.71938055 0.16943093 0.59951016 0.19661791
  0.54389499 0.23535081 0.56801026 0.23850906]
 [0.63890733 0.77223738 0.42101847 0.77992972 0.45994133 0.98763313
  0.37764708 0.35396314 0.23864178 0.36461021 0.81533348 0.47449917
  0.61918259 0.49110195 0.5826081  0.80628527 0.1326327  0.65934118
  0.2712451  0.11355648 0.33206285 0.36807628 0.63486219 0.65730815
  0.39213858 0.35453779 0.58033017 0.61113351 0.85371209 0.53507262
  0.53919761 0.43699841 0.82473055 0.53700372 0.57717264 0.23850553
  0.86141968 0.71548895 0.46347198 0.37118875 0.23053591 0.19796397
  0.5707088  0.57475652 0.62772714 0.80846848 0.25764285 0.81747181
  0.88598434 0.67165273 0.49706619 0.63070675 0.74227972 0.33713245
  0.55229115 0.         0.29934677 0.61729334 0.47110249 0.91144426
  0.24302411 0.45380115 0.84242402 0.61050009 0.70094054 0.60967647
  0.42480509 0.47717048 0.2104969  0.35050899 0.1057131  0.69596031
  0.87906061 0.74115097 0.42889467 0.72079639 0.16981132 0.56974988
  0.83630504 0.7422191  0.31812714 0.58674047 0.68611459 0.85888381
  0.42623686 0.79481094 0.43465029 0.42905044 0.77594179 0.51862462
  0.1471858  0.32428568 0.34077649 0.55425051 0.94909391 0.6950986
  0.72933965 0.51131371 0.06300833 0.79049703]
 [0.3401459  0.76803769 0.28201423 0.54731583 0.36740985 0.837667
  0.07884542 0.27451608 0.18204075 0.06528042 0.80283841 0.38987554
  0.32645959 0.19428337 0.64916708 0.74118648 0.29488078 0.75721753
  0.18069975 0.35770456 0.35888502 0.45901769 0.74536787 0.35836488
  0.28204854 0.55946858 0.56297007 0.43888669 0.83342936 0.67743303
  0.6073294  0.17157909 0.69255002 0.68639638 0.39678305 0.44658326
  0.63878234 0.50161894 0.17346955 0.27120427 0.44509822 0.30856611
  0.38204785 0.27550716 0.41415259 0.72242985 0.47425487 0.51874397
  0.69532007 0.49546008 0.66186864 0.57882671 0.45822289 0.55979152
  0.27115774 0.29934677 0.         0.32009095 0.66621138 0.7232845
  0.47123744 0.37969556 0.54989411 0.31115332 0.58853019 0.31064473
  0.28343943 0.44283589 0.3196994  0.50711256 0.34385768 0.3966144
  0.63755042 0.87324272 0.15212187 0.58568616 0.20488865 0.49636132
  0.54340939 0.45906974 0.54120898 0.64254407 0.39770327 0.64427083
  0.51395341 0.72526907 0.61037639 0.5543571  0.55901144 0.48705742
  0.22463321 0.18073657 0.55090956 0.33707068 0.79048127 0.44695787
  0.64333041 0.22573886 0.30320624 0.50697281]
 [0.08542128 0.83656358 0.37885986 0.35742607 0.46074457 0.72614555
  0.24130719 0.43747383 0.43540539 0.25562752 0.8578239  0.48014972
  0.04086889 0.15626097 0.80187385 0.74929141 0.58603483 0.92037785
  0.41149042 0.65958699 0.55890729 0.66931425 0.92027587 0.08872817
  0.41039569 0.82101518 0.65916538 0.39391646 0.87610526 0.88489294
  0.76875221 0.26279432 0.6279068  0.89792444 0.36037492 0.72332444
  0.44793008 0.3609417  0.1991403  0.4175425  0.72492438 0.60941757
  0.34073357 0.05890082 0.31099644 0.70968244 0.7513877  0.22263862
  0.54677934 0.42094072 0.88703154 0.63605894 0.16690382 0.83121595
  0.1112568  0.61729334 0.32009095 0.         0.91138485 0.57393952
  0.75407674 0.48578833 0.23351614 0.05322668 0.57339332 0.03358993
  0.37641072 0.56025277 0.58188487 0.74792527 0.66247346 0.09748746
  0.4129949  1.05300832 0.24614041 0.5418642  0.51445798 0.5551374
  0.2266033  0.17023517 0.81455744 0.78739315 0.10340344 0.46622007
  0.70911375 0.73114393 0.84861169 0.76750239 0.39559544 0.59163541
  0.51620819 0.41486227 0.81626641 0.27527853 0.67359602 0.25528811
  0.64671023 0.19149386 0.62315609 0.21110628]
 [0.9677003  0.51052279 0.55052223 0.88637    0.50094447 0.90398658
  0.72300562 0.47807277 0.49178127 0.71738627 0.55381176 0.4935653
  0.89315461 0.84421728 0.28688901 0.62926114 0.38438619 0.27579065
  0.50752911 0.3583618  0.35582517 0.24981305 0.23988392 0.98245871
  0.51275551 0.11663478 0.42567112 0.67275104 0.59407919 0.13009383
  0.26973394 0.83679737 0.74901771 0.11771476 0.66570724 0.2354135
  0.93156909 0.80543228 0.83500244 0.50037209 0.24184965 0.66625712
  0.67400955 0.89319714 0.7452822  0.66380071 0.21363643 1.13393874
  0.89306765 0.71523099 0.07274983 0.501979   0.96859121 0.13855827
  0.80892629 0.47110249 0.66621138 0.91138485 0.         0.90874455
  0.22849034 0.47543095 1.08552441 0.92974294 0.63461886 0.91996082
  0.55411435 0.42370562 0.34659447 0.16377735 0.55207293 1.0074269
  0.98270715 0.2960844  0.81833316 0.68247357 0.63272424 0.50765784
  1.08170232 0.9659131  0.15589043 0.30714662 0.93461383 0.91467432
  0.23310487 0.62827832 0.06481198 0.16507492 0.85495227 0.4280795
  0.44704894 0.77153231 0.13040775 0.70552907 0.88761913 0.85085024
  0.61097935 0.88821041 0.52868039 1.00796855]
 [0.65457805 0.51959816 0.4906254  0.21803834 0.46430868 0.16425031
  0.67782835 0.56016585 0.67447581 0.6912502  0.50903491 0.4572378
  0.53361409 0.68732286 0.65209584 0.36445604 0.80196693 0.74592721
  0.6428964  0.87659068 0.62916721 0.68937033 0.76853001 0.65018185
  0.51993843 0.88292053 0.48630809 0.30056835 0.4998325  0.80934468
  0.64997315 0.78627698 0.18372568 0.82653193 0.33709949 0.85328145
  0.14072064 0.22646572 0.72433357 0.54105812 0.86174611 1.01625887
  0.34724663 0.62118585 0.30983858 0.30844714 0.87280492 0.68412775
  0.02834255 0.23990138 0.84757608 0.411749   0.44507143 0.91390819
  0.50932472 0.91144426 0.7232845  0.57393952 0.90874455 0.
  0.88891957 0.47974695 0.50872468 0.6271662  0.27515658 0.60741549
  0.48692447 0.49972207 0.74170213 0.79031476 1.00379216 0.62705637
  0.21001845 0.87428133 0.76042082 0.22636599 0.91102902 0.40420834
  0.51195453 0.43958383 0.90693214 0.62957523 0.48554309 0.1142847
  0.68120087 0.35166412 0.84939995 0.74676576 0.17926235 0.4838035
  0.76451065 0.89425043 0.88863857 0.38627324 0.11462627 0.31929867
  0.31700467 0.74383026 0.95380105 0.43428362]
 [0.79748203 0.6146094  0.44138322 0.81222443 0.42980914 0.92535602
  0.5383997  0.36013479 0.31867805 0.52981891 0.65985307 0.43318641
  0.74372844 0.66108431 0.39644318 0.6900369  0.1764092  0.44625443
  0.34404902 0.13168758 0.26131724 0.21515595 0.416635   0.81408214
  0.40255574 0.11249155 0.4577354  0.60875859 0.70070637 0.30738071
  0.35827034 0.63583944 0.76028005 0.30591451 0.58790869 0.03609932
  0.87657706 0.73558151 0.64456038 0.38395972 0.03015952 0.43781247
  0.58967759 0.72529028 0.65893856 0.7082209  0.02195574 0.97213865
  0.86776864 0.66311856 0.26170195 0.52636465 0.84227295 0.09511507
  0.66355082 0.24302411 0.47123744 0.75407674 0.22849034 0.88891957
  0.         0.41090221 0.95482614 0.76252435 0.63443862 0.7561707
  0.4455302  0.39375681 0.17566406 0.14102408 0.32516525 0.84533214
  0.91333403 0.50892756 0.62078507 0.67042427 0.40764798 0.49422433
  0.94989753 0.8406747  0.07580405 0.40759058 0.79748754 0.86606524
  0.25465876 0.68308614 0.19846026 0.22553061 0.79267175 0.42117716
  0.24683144 0.55272512 0.09810826 0.60082228 0.89698367 0.75207875
  0.63780374 0.69697592 0.30020347 0.88674126]
 [0.5597721  0.38964763 0.11251901 0.41360938 0.02667794 0.53592946
  0.38706648 0.11219636 0.24023107 0.39148649 0.4233185  0.02251493
  0.45728669 0.4793025  0.31612888 0.36988923 0.33131333 0.43475088
  0.21826551 0.40120294 0.14980358 0.22900371 0.436174   0.56993537
  0.0981908  0.42063808 0.18750585 0.20193558 0.45378033 0.41575216
  0.28432383 0.52641576 0.37162659 0.43085046 0.19041837 0.37496089
  0.46890714 0.3335507  0.49148494 0.10904374 0.38298574 0.59986842
  0.19873411 0.48788309 0.26988036 0.36155929 0.39601055 0.7020649
  0.45768682 0.25300484 0.43177855 0.20025547 0.50494225 0.44680273
  0.37475798 0.45380115 0.37969556 0.48578833 0.47543095 0.47974695
  0.41090221 0.         0.62223442 0.51951962 0.24714233 0.50444033
  0.11370703 0.07480044 0.2644221  0.32930078 0.55537101 0.58249819
  0.51243611 0.56851457 0.49986016 0.27028913 0.50450763 0.12229669
  0.61929022 0.50157501 0.43699657 0.30171926 0.48150564 0.45658417
  0.24589868 0.35559073 0.41088704 0.3127833  0.3871774  0.11234615
  0.30976428 0.55558797 0.42333649 0.23707785 0.50031661 0.37648324
  0.2809389  0.53852026 0.50592399 0.5401793 ]
 [0.25851529 0.90647141 0.53502574 0.30998874 0.59555673 0.67295491
  0.4718638  0.60927222 0.64053467 0.48673725 0.9169059  0.6093897
  0.22370722 0.38715957 0.92731542 0.78627107 0.79632457 1.04480084
  0.61219333 0.87335642 0.73034124 0.83623022 1.0519108  0.24227489
  0.57286051 1.00769299 0.76423894 0.46313465 0.92530346 1.03779006
  0.90170249 0.48957497 0.62674142 1.05263946 0.44779807 0.9216527
  0.36802491 0.36379226 0.42894541 0.58620286 0.92486624 0.84292722
  0.43272083 0.28839464 0.37070985 0.73633692 0.94903686 0.18661058
  0.48740297 0.45893611 1.05024849 0.72008677 0.11742771 1.02326717
  0.29389893 0.84242402 0.54989411 0.23351614 1.08552441 0.50872468
  0.95482614 0.62223442 0.         0.26263006 0.6188285  0.25323897
  0.53147093 0.69040627 0.77928591 0.92609603 0.89362567 0.1978312
  0.30280725 1.18169942 0.47610886 0.57239362 0.74752516 0.65253199
  0.00744505 0.12066166 1.00819798 0.90922982 0.15826549 0.39536884
  0.86523363 0.76859492 1.02096659 0.92964809 0.36200703 0.71023869
  0.72938199 0.64565968 1.00527118 0.38515834 0.62235235 0.2640367
  0.69332871 0.41013099 0.85279032 0.08791826]
 [0.04025251 0.87924314 0.40974883 0.41057873 0.49532817 0.77914398
  0.2332264  0.46195333 0.44535201 0.24589886 0.90190952 0.51566025
  0.09380836 0.12747136 0.83460096 0.79659084 0.59076606 0.9525814
  0.42434141 0.6614381  0.58137875 0.69196562 0.95080543 0.05274567
  0.43857012 0.83524823 0.69730072 0.44108736 0.9213798  0.91008908
  0.79998078 0.2269523  0.67902621 0.9225191  0.4058955  0.73318181
  0.50079536 0.41350282 0.16749741 0.4435437  0.73398989 0.58601821
  0.38608241 0.03723431 0.3607819  0.7582257  0.76134926 0.21011618
  0.60000074 0.4708112  0.90913555 0.67803885 0.21320115 0.84314436
  0.15115421 0.61050009 0.31115332 0.05322668 0.92974294 0.6271662
  0.76252435 0.51951962 0.26263006 0.         0.62098518 0.0199587
  0.40768669 0.59430715 0.59357902 0.76596605 0.64767993 0.08546876
  0.46441143 1.08357044 0.2143694  0.59115949 0.49558811 0.59579817
  0.2553291  0.21709944 0.82590084 0.82102883 0.15232854 0.5193177
  0.73471268 0.77849156 0.86797102 0.79077888 0.44878765 0.62781732
  0.51994665 0.38377278 0.82958067 0.31991449 0.72661665 0.30845201
  0.69359423 0.14878944 0.61100784 0.25415436]
 [0.6582398  0.28953701 0.30974958 0.32437741 0.24299151 0.29232223
  0.57100961 0.35257155 0.48075676 0.58021946 0.29809427 0.22665246
  0.53485113 0.6288411  0.37905333 0.17597221 0.57734601 0.47928701
  0.45439399 0.64429311 0.38479264 0.42544694 0.49889313 0.66180429
  0.32274922 0.61563254 0.21116484 0.1799489  0.30861413 0.53432446
  0.37498732 0.70428017 0.1266268  0.55150345 0.21755749 0.60000397
  0.32831874 0.25596791 0.65429365 0.34113013 0.60944906 0.84097679
  0.2373234  0.59964425 0.26537793 0.1395343  0.61642685 0.75400367
  0.26205377 0.16112242 0.57257294 0.13736005 0.51527362 0.64854764
  0.47215368 0.70094054 0.58853019 0.57339332 0.63461886 0.27515658
  0.63443862 0.24714233 0.6188285  0.62098518 0.         0.60196061
  0.30758372 0.24102055 0.50725267 0.52399962 0.80215821 0.65711784
  0.39601919 0.61238158 0.67659864 0.05451002 0.74173093 0.14028293
  0.61879028 0.5102289  0.64339175 0.35671854 0.52300372 0.30436412
  0.4103259  0.15780072 0.57635407 0.47428079 0.27578037 0.21572719
  0.5563882  0.76926667 0.62266053 0.30340621 0.26268388 0.35776773
  0.07522424 0.69092245 0.75253561 0.5310941 ]
 [0.05696231 0.86158581 0.39545352 0.39100403 0.47996638 0.75921408
  0.23204288 0.44979551 0.43816212 0.24542754 0.88385468 0.50002773
  0.07391901 0.13402772 0.81998238 0.77766043 0.58563342 0.93816098
  0.41609094 0.65742016 0.57000965 0.68060992 0.9369276  0.06551414
  0.42517668 0.82687129 0.68095142 0.42212681 0.90299716 0.89796617
  0.78583363 0.23738078 0.65923763 0.91060226 0.38733477 0.72630567
  0.48149643 0.39354442 0.17573209 0.43086229 0.72739789 0.59169853
  0.36755529 0.03604282 0.34121131 0.73898509 0.75445192 0.21607848
  0.58021357 0.45124427 0.89805864 0.66054504 0.1969665  0.83558609
  0.13351535 0.60967647 0.31064473 0.03358993 0.91996082 0.60741549
  0.7561707  0.50444033 0.25323897 0.0199587  0.60196061 0.
  0.39326701 0.57917362 0.58594737 0.75622726 0.64997436 0.08916887
  0.44600619 1.06970974 0.22291625 0.57173017 0.49935572 0.57866181
  0.24605668 0.20064084 0.81854289 0.80611647 0.13485496 0.49980812
  0.722389   0.75954716 0.85782077 0.77925994 0.42895215 0.61203938
  0.51510035 0.39244291 0.82152531 0.30152262 0.70669213 0.28859626
  0.67475827 0.16220469 0.6122422  0.23932697]
 [0.44790438 0.49770576 0.00418152 0.3698669  0.09264489 0.57478493
  0.27915677 0.08544171 0.18769063 0.28526822 0.52865706 0.11518742
  0.35049303 0.36609819 0.42692687 0.4580595  0.32257664 0.54492861
  0.15667423 0.40089694 0.20004913 0.30478622 0.54394042 0.45875924
  0.04330829 0.48115013 0.29956624 0.18639967 0.55638108 0.51208976
  0.39261496 0.41817861 0.41941128 0.52598385 0.15325703 0.4099603
  0.44277934 0.29738341 0.37984135 0.06180468 0.41560388 0.53991545
  0.14948283 0.37527321 0.21505604 0.43928451 0.43520662 0.5957789
  0.46124742 0.2470247  0.52005605 0.30073993 0.41447687 0.50080678
  0.26645755 0.42480509 0.28343943 0.37641072 0.55411435 0.48692447
  0.4455302  0.11370703 0.53147093 0.40768669 0.30758372 0.39326701
  0.         0.18805944 0.27555982 0.39607146 0.51730528 0.47373073
  0.47124517 0.67670415 0.39111361 0.31182169 0.43779164 0.21621439
  0.52773827 0.41181594 0.48764497 0.4136469  0.38275928 0.43731727
  0.33691854 0.44197389 0.48951162 0.39933753 0.35706159 0.22553187
  0.27834587 0.46365876 0.48047606 0.1562143  0.53210794 0.30716193
  0.35992716 0.42583288 0.46723016 0.45437916]
 [0.63455942 0.32598877 0.18662087 0.46360469 0.0995527  0.53295372
  0.45660258 0.16851405 0.28727316 0.45999366 0.36282411 0.08175847
  0.53122383 0.55249653 0.24206909 0.32974263 0.34750328 0.36082519
  0.27118359 0.40840641 0.14794952 0.18980505 0.36360249 0.64465851
  0.16715372 0.38399455 0.12028715 0.25017792 0.39620138 0.35143622
  0.21206687 0.59556705 0.36737998 0.36727774 0.24862517 0.35910134
  0.50858235 0.38251485 0.56321403 0.17304409 0.36847103 0.63893481
  0.26038212 0.56267166 0.3294049  0.33208494 0.37616199 0.77561749
  0.48056242 0.29169345 0.37344699 0.15404451 0.57355418 0.41426804
  0.44912109 0.47717048 0.44283589 0.56025277 0.42370562 0.49972207
  0.39375681 0.07480044 0.69040627 0.59430715 0.24102055 0.57917362
  0.18805944 0.         0.27294211 0.29123179 0.58179482 0.65678164
  0.55907757 0.49544993 0.56944619 0.27732792 0.54911693 0.10077122
  0.68778326 0.56994565 0.40724258 0.2271404  0.55309366 0.49283395
  0.19060742 0.31777767 0.36049264 0.25867685 0.43124667 0.04527152
  0.34084737 0.61437486 0.38916262 0.30613262 0.503298   0.43844901
  0.25444155 0.61110854 0.53380692 0.6067963 ]
 [0.62989905 0.56203358 0.27137831 0.64522489 0.27752064 0.79872974
  0.37775932 0.19070049 0.14852972 0.37142624 0.6049432  0.28670987
  0.56976615 0.49993084 0.38087535 0.59902021 0.07786633 0.47026555
  0.17040822 0.13712138 0.1250703  0.16610421 0.45098243 0.64579297
  0.23377798 0.24299878 0.37055484 0.44971547 0.64322819 0.36705431
  0.33682812 0.49067127 0.63345109 0.3738317  0.42404702 0.1425098
  0.71498852 0.57110585 0.4888479  0.21383891 0.14561911 0.39358639
  0.42342822 0.5564566  0.49058082 0.60482654 0.17021489 0.80195986
  0.71848159 0.50734308 0.34483306 0.42427509 0.66661019 0.24963918
  0.48871154 0.2104969  0.3196994  0.58188487 0.34659447 0.74170213
  0.17566406 0.2644221  0.77928591 0.59357902 0.50725267 0.58594737
  0.27555982 0.27294211 0.         0.18851257 0.31618791 0.67487583
  0.74661522 0.57049855 0.47180523 0.53439525 0.32436485 0.37031296
  0.77440396 0.66502114 0.23270737 0.38238346 0.622146   0.70700008
  0.22610173 0.5883604  0.29109324 0.24704081 0.6298154  0.31193535
  0.10868235 0.43988913 0.23635978 0.4285884  0.76442225 0.57955713
  0.52734527 0.54202803 0.27136008 0.71115434]
 [0.80393708 0.47517078 0.392299   0.74281778 0.35304171 0.80945661
  0.56100157 0.31699494 0.32969002 0.55598062 0.52046971 0.34960777
  0.73031898 0.68154936 0.25541937 0.55939686 0.24011516 0.31185248
  0.34418139 0.23933437 0.19606471 0.10177165 0.28526646 0.81868137
  0.35370843 0.0927659  0.33119953 0.53094454 0.56147237 0.18570398
  0.21766567 0.67850605 0.64680323 0.18964234 0.51851267 0.12174108
  0.79625569 0.66285063 0.6736562  0.33990152 0.13248621 0.54813904
  0.52463805 0.72942301 0.59605009 0.58242095 0.11906834 0.97040435
  0.77164379 0.5790449  0.15670559 0.40420714 0.80970189 0.12458892
  0.64632101 0.35050899 0.50711256 0.74792527 0.16377735 0.79031476
  0.14102408 0.32930078 0.92609603 0.76596605 0.52399962 0.75622726
  0.39607146 0.29123179 0.18851257 0.         0.44640426 0.84379809
  0.84170628 0.39216385 0.65896282 0.56581037 0.49740633 0.38679456
  0.92204044 0.80724677 0.12104759 0.26684053 0.77355034 0.78208831
  0.12035891 0.55396507 0.10361251 0.08493497 0.71589589 0.3084283
  0.29449824 0.62504546 0.09867455 0.55027911 0.7855552  0.69852082
  0.51687029 0.72684362 0.41273729 0.85037418]
 [0.67132107 0.87772227 0.51373461 0.86079058 0.55985753 1.08642951
  0.4218016  0.4518784  0.32964238 0.40707406 0.9209178  0.57550998
  0.67031126 0.52227509 0.6853636  0.91125805 0.23833208 0.7576859
  0.36090967 0.20734438 0.43747812 0.47191139 0.73166875 0.69022357
  0.48783714 0.43740433 0.68596779 0.70330872 0.95936857 0.62802981
  0.64229178 0.44911504 0.92478538 0.6284322  0.6673065  0.32851154
  0.94568888 0.80065787 0.48840146 0.46730882 0.31913689 0.12269231
  0.659148   0.61407727 0.71180668 0.91239886 0.34304967 0.84766339
  0.97768453 0.76401275 0.58596044 0.73558429 0.80085324 0.41416675
  0.61175879 0.1057131  0.34385768 0.66247346 0.55207293 1.00379216
  0.32516525 0.55537101 0.89362567 0.64767993 0.80215821 0.64997436
  0.51730528 0.58179482 0.31618791 0.44640426 0.         0.73202561
  0.95790612 0.83252326 0.44747932 0.81972838 0.15721131 0.67300635
  0.88708815 0.80142283 0.39625232 0.69029985 0.74124685 0.94517232
  0.52927995 0.89956378 0.52278348 0.52766458 0.86097957 0.6236832
  0.24578251 0.30960598 0.42257348 0.63612879 1.04653175 0.77026308
  0.83289973 0.5303995  0.05012638 0.84957045]
 [0.06409746 0.92694751 0.47622228 0.40932839 0.55723019 0.78548685
  0.31866812 0.53469574 0.52724015 0.33136533 0.94645591 0.5762736
  0.1268232  0.21008798 0.89862672 0.83292883 0.67468869 1.01722324
  0.50484291 0.7461144  0.65586401 0.76635649 1.01747323 0.04587335
  0.5078829  0.91541834 0.75368833 0.47963602 0.96299987 0.98231221
  0.86586565 0.30190569 0.70114522 0.99529303 0.44901312 0.81540774
  0.49272193 0.42872038 0.24740952 0.51492858 0.81654024 0.66707701
  0.42978502 0.12182715 0.39192443 0.79070824 0.84354833 0.1270986
  0.60127722 0.50019732 0.98403423 0.7275809  0.18612089 0.92450034
  0.20776222 0.69596031 0.3966144  0.09748746 1.0074269  0.62705637
  0.84533214 0.58249819 0.1978312  0.08546876 0.65711784 0.08916887
  0.47373073 0.65678164 0.67487583 0.84379809 0.73202561 0.
  0.44531856 1.15017477 0.29303614 0.62177386 0.57891339 0.64806037
  0.19039615 0.191258   0.90752361 0.88388121 0.14280218 0.51476448
  0.8065422  0.81474041 0.94493909 0.86468063 0.45382447 0.68730401
  0.60407593 0.46064626 0.91023814 0.36591377 0.73289639 0.31796139
  0.73149526 0.21876309 0.69595238 0.21485718]
 [0.4842931  0.67907566 0.47542242 0.10139094 0.48931666 0.37344022
  0.57560403 0.55593969 0.64319788 0.59073944 0.67844031 0.49219558
  0.3763339  0.55101418 0.76231478 0.53643365 0.79131543 0.87035384
  0.61035482 0.87056216 0.65558725 0.74092907 0.88647686 0.47605258
  0.51287771 0.93299548 0.58929773 0.31093036 0.67748588 0.90344654
  0.74892662 0.65764797 0.35866401 0.92011115 0.32581427 0.87734114
  0.07497985 0.1789827  0.59241703 0.53281578 0.88385496 0.94513297
  0.32377432 0.46797022 0.25629045 0.48142758 0.90110923 0.48419684
  0.19255967 0.26884122 0.93123828 0.52539183 0.25927567 0.9582602
  0.3810763  0.87906061 0.63755042 0.4129949  0.98270715 0.21001845
  0.91333403 0.51243611 0.30280725 0.46441143 0.39601919 0.44600619
  0.47124517 0.55907757 0.74661522 0.84170628 0.95790612 0.44531856
  0.         1.00562863 0.63483698 0.34189455 0.83986894 0.48444728
  0.30674823 0.25424415 0.94749101 0.74099432 0.31286167 0.10408742
  0.74965957 0.52053931 0.91915265 0.81773871 0.12840437 0.56006834
  0.73901902 0.78887462 0.93531805 0.32528229 0.32464343 0.19059324
  0.46133956 0.59960238 0.90985215 0.23672924]
 [1.12365258 0.36957236 0.67438119 0.92363647 0.59444454 0.81619183
  0.91271321 0.62579619 0.69130753 0.91131792 0.39861958 0.57714289
  1.02562521 1.02448545 0.25454989 0.52526281 0.63110042 0.13725949
  0.6951325  0.6282815  0.51684185 0.41453617 0.1327824  1.13512386
  0.64517366 0.39940611 0.4213232  0.72351638 0.42944518 0.20647366
  0.28435098 1.04304035 0.69260787 0.20427832 0.7341621  0.50431157
  0.94028333 0.84563035 1.02594877 0.64177644 0.51344447 0.93911304
  0.74898077 1.05002633 0.81299066 0.57624045 0.48990904 1.27056699
  0.86721457 0.74496413 0.24727809 0.48028108 1.06596022 0.42983505
  0.9424984  0.74115097 0.87324272 1.05300832 0.2960844  0.87428133
  0.50892756 0.56851457 1.18169942 1.08357044 0.61238158 1.06970974
  0.67670415 0.49544993 0.57049855 0.39216385 0.83252326 1.15017477
  1.00562863 0.         1.0203185  0.66684878 0.88893505 0.53255616
  1.17956225 1.06205864 0.44469499 0.27253978 1.04830885 0.9167362
  0.35966064 0.53291347 0.31048016 0.32350472 0.88027776 0.47160642
  0.67917761 1.01012729 0.41495094 0.80037348 0.81719191 0.9224964
  0.557827   1.07773749 0.80251008 1.09613292]
 [0.22957671 0.88845673 0.39100808 0.55931808 0.48259157 0.89414258
  0.1128695  0.40595724 0.3315893  0.1104171  0.91976523 0.50543318
  0.27044995 0.08988949 0.78944975 0.84180862 0.44450378 0.90073134
  0.32519054 0.50237607 0.50372066 0.60745368 0.89089178 0.24851559
  0.40260404 0.71124735 0.68722568 0.50752968 0.94703875 0.8272095
  0.74889945 0.02768177 0.76503624 0.83665807 0.46533312 0.59735592
  0.65368132 0.53408133 0.04719777 0.39697994 0.5954076  0.37442768
  0.4471045  0.18837366 0.45627444 0.81530175 0.62479605 0.40163859
  0.73210058 0.55590372 0.81323336 0.69161393 0.4099058  0.71067143
  0.2555182  0.42889467 0.15212187 0.24614041 0.81833316 0.76042082
  0.62078507 0.49986016 0.47610886 0.2143694  0.67659864 0.22291625
  0.39111361 0.56944619 0.47180523 0.65896282 0.44747932 0.29303614
  0.63483698 1.0203185  0.         0.66278444 0.29105449 0.60673478
  0.4688979  0.41250293 0.69192378 0.78100471 0.34523132 0.66563465
  0.66066892 0.82477555 0.76232806 0.70406309 0.58413845 0.61148632
  0.37529953 0.16955777 0.70244342 0.38763069 0.84370258 0.45210456
  0.73988    0.08319599 0.4167505  0.45610482]
 [0.62721207 0.34060025 0.31457703 0.27299294 0.26103304 0.26684721
  0.56103222 0.3678546  0.49334328 0.57138268 0.34596795 0.24834873
  0.50233723 0.60905355 0.43204412 0.21479928 0.60127825 0.53353599
  0.46494003 0.67136855 0.41514287 0.46566951 0.55272596 0.62948354
  0.33361449 0.65813346 0.26221669 0.15601038 0.35290984 0.58534855
  0.42627374 0.69037478 0.10765183 0.60249211 0.19760092 0.63535879
  0.27382328 0.20860333 0.63724573 0.35341494 0.64439439 0.85106411
  0.21634797 0.57225758 0.23094103 0.169053   0.65323979 0.71379056
  0.2110564  0.12157826 0.62196569 0.19027411 0.47217578 0.68996025
  0.44523655 0.72079639 0.58568616 0.5418642  0.68247357 0.22636599
  0.67042427 0.27028913 0.57239362 0.59115949 0.05451002 0.57173017
  0.31182169 0.27732792 0.53439525 0.56581037 0.81972838 0.62177386
  0.34189455 0.66684878 0.66278444 0.         0.74955528 0.1790161
  0.57271607 0.46698722 0.68380338 0.40982879 0.48453049 0.24988746
  0.45509568 0.19685236 0.62303715 0.52042946 0.22332213 0.25803294
  0.57448118 0.76584284 0.66439558 0.27997102 0.23004761 0.31470567
  0.12261196 0.67078474 0.76974716 0.48507899]
 [0.51719004 0.86790601 0.43498425 0.74715859 0.50157117 1.01174221
  0.27811908 0.39270058 0.26433853 0.26269617 0.9080485  0.52114067
  0.52619964 0.36883332 0.70383402 0.873817   0.2578641  0.7943038
  0.28780936 0.27596579 0.4221203  0.49028739 0.77386185 0.53616519
  0.41901474 0.51639497 0.66497528 0.6156595  0.94350963 0.68280438
  0.65975093 0.29194732 0.85706892 0.68701559 0.57579656 0.39734925
  0.83672608 0.69558544 0.33316905 0.40116627 0.39098257 0.10585146
  0.56410039 0.46331425 0.60659428 0.86541924 0.41977636 0.69223446
  0.88367983 0.67530773 0.65097223 0.70055892 0.66116188 0.50270357
  0.47575678 0.16981132 0.20488865 0.51445798 0.63272424 0.91102902
  0.40764798 0.50450763 0.74752516 0.49558811 0.74173093 0.49935572
  0.43779164 0.54911693 0.32436485 0.49740633 0.15721131 0.57891339
  0.83986894 0.88893505 0.29105449 0.74955528 0.         0.6267767
  0.74075151 0.66227793 0.48343451 0.70372128 0.59933993 0.83997971
  0.55029988 0.85990803 0.59041073 0.56786176 0.75462195 0.59403196
  0.21998661 0.15776778 0.5036083  0.52902209 0.96762352 0.64949262
  0.78470505 0.37368536 0.13422123 0.7098309 ]
 [0.6354869  0.28574433 0.21676674 0.39516581 0.12926617 0.43221359
  0.49522511 0.23442047 0.36246251 0.5014824  0.31377193 0.10743072
  0.52129455 0.57532796 0.281249   0.24782104 0.4427441  0.39531903
  0.34038771 0.5068403  0.24633282 0.28682022 0.40681175 0.64293266
  0.21522761 0.47915008 0.11186491 0.19107531 0.34031849 0.41951695
  0.26465405 0.63396008 0.26661314 0.43633165 0.20595462 0.45973028
  0.42722337 0.31529795 0.59298345 0.22932444 0.46916615 0.72158142
  0.22301006 0.56803639 0.28195862 0.24022342 0.47635033 0.75935515
  0.38674124 0.21652009 0.45061821 0.08511522 0.53884564 0.51097226
  0.44520612 0.56974988 0.49636132 0.5551374  0.50765784 0.40420834
  0.49422433 0.12229669 0.65253199 0.59579817 0.14028293 0.57866181
  0.21621439 0.10077122 0.37031296 0.38679456 0.67300635 0.64806037
  0.48444728 0.53255616 0.60673478 0.1790161  0.6267767  0.
  0.6509052  0.53457493 0.50500078 0.26115097 0.5294472  0.40852222
  0.27739421 0.2333278  0.44672495 0.34384653 0.35623746 0.07986112
  0.42855307 0.67452819 0.48538302 0.28285222 0.40276602 0.39073651
  0.16005044 0.6365239  0.62409083 0.56582724]
 [0.25107651 0.9060904  0.53126615 0.31166786 0.59261294 0.6761446
  0.4653009  0.60514108 0.63524763 0.48013985 0.91688447 0.60665343
  0.21738794 0.38000937 0.92512156 0.78680057 0.79092182 1.04273049
  0.60704923 0.86782791 0.72637561 0.83252252 1.04959742 0.23482985
  0.56897674 1.00335426 0.76254509 0.46186067 0.92560721 1.03472233
  0.89923157 0.48227966 0.62820557 1.04951516 0.4458896  0.91681017
  0.37123411 0.36412763 0.42174235 0.58213929 0.91995882 0.83598518
  0.43060302 0.28127286 0.36924415 0.73712019 0.94423404 0.18109157
  0.49038182 0.45863591 1.04681507 0.71900967 0.11434921 1.01872199
  0.28840929 0.83630504 0.54340939 0.2266033  1.08170232 0.51195453
  0.94989753 0.61929022 0.00744505 0.2553291  0.61879028 0.24605668
  0.52773827 0.68778326 0.77440396 0.92204044 0.88708815 0.19039615
  0.30674823 1.17956225 0.4688979  0.57271607 0.74075151 0.6509052
  0.         0.11783924 1.00358268 0.90714176 0.15287853 0.39839317
  0.86193157 0.76908428 1.01718062 0.926181   0.36357068 0.70802458
  0.72382068 0.63845294 1.00083988 0.38225029 0.6253934  0.26321119
  0.69340401 0.40275465 0.84637588 0.08770459]
 [0.23196116 0.79479134 0.41544292 0.22439658 0.47489719 0.60074583
  0.38421949 0.49092336 0.53017063 0.39970959 0.80771106 0.48882287
  0.14213049 0.32320385 0.80756298 0.68178467 0.68667235 0.92533093
  0.50054243 0.76489099 0.61126846 0.7163839  0.93190584 0.22246459
  0.45362473 0.88996945 0.64597254 0.34702911 0.81859722 0.91713583
  0.78143593 0.43115253 0.53232169 0.93200169 0.32899238 0.80691375
  0.30275453 0.2606602  0.36632097 0.46760364 0.81059102 0.76237288
  0.31327705 0.22889002 0.25393038 0.63431904 0.8339953  0.25078989
  0.41480813 0.34912568 0.92987391 0.60454861 0.00554139 0.90658369
  0.19021312 0.7422191  0.45906974 0.17023517 0.9659131  0.43958383
  0.8406747  0.50157501 0.12066166 0.21709944 0.5102289  0.20064084
  0.41181594 0.56994565 0.66502114 0.80724677 0.80142283 0.191258
  0.25424415 1.06205864 0.41250293 0.46698722 0.66227793 0.53457493
  0.11783924 0.         0.89192293 0.78972931 0.06742259 0.32602586
  0.74471926 0.66381366 0.90127316 0.80932999 0.27287692 0.59046408
  0.62170532 0.57853598 0.8879968  0.26450142 0.54848995 0.15251613
  0.58535964 0.36172222 0.75807591 0.04830062]
 [0.86181871 0.5886902  0.48360885 0.84725855 0.45870768 0.93010682
  0.60579598 0.40360647 0.38054907 0.59800834 0.63390309 0.45845475
  0.80183013 0.72855876 0.36348621 0.6795235  0.24787824 0.39572223
  0.40306785 0.20746872 0.29221546 0.21818166 0.36348255 0.87795321
  0.44434376 0.04676689 0.45222266 0.63851718 0.6750428  0.25027685
  0.33023442 0.70784136 0.76698218 0.24585773 0.62195636 0.0946258
  0.90590215 0.76862455 0.71394308 0.42748407 0.09688433 0.5113701
  0.62590478 0.78872754 0.69660809 0.70336139 0.06721778 1.03459212
  0.88741291 0.68963328 0.19877124 0.52518937 0.89385865 0.01935792
  0.7199929  0.31812714 0.54120898 0.81455744 0.15589043 0.90693214
  0.07580405 0.43699657 1.00819798 0.82590084 0.64339175 0.81854289
  0.48764497 0.40724258 0.23270737 0.12104759 0.39625232 0.90752361
  0.94749101 0.44469499 0.69192378 0.68380338 0.48343451 0.50500078
  1.00358268 0.89192293 0.         0.37795569 0.8521454  0.89326122
  0.2410337  0.67446613 0.13738246 0.19408016 0.82374155 0.42766895
  0.31669769 0.62814581 0.03138686 0.64385447 0.90549039 0.79454046
  0.63784092 0.76670243 0.37406253 0.93697705]
 [0.86127632 0.21098747 0.41181974 0.65512315 0.32666856 0.60364434
  0.669485   0.37569232 0.46682394 0.67058938 0.25608617 0.3078611
  0.75814704 0.77325599 0.0225915  0.32265702 0.45744237 0.13560225
  0.46207635 0.48661694 0.28798331 0.21867917 0.14588938 0.87162115
  0.38706513 0.33574482 0.15180101 0.45159377 0.29722556 0.18689575
  0.04945823 0.80578934 0.45691457 0.2037385  0.46162498 0.38456271
  0.67905105 0.57595375 0.78009132 0.38759797 0.39563589 0.7758239
  0.47653875 0.78891438 0.54052755 0.36016562 0.3856645  1.00212089
  0.6183068  0.47606621 0.23623075 0.21956162 0.793679   0.37396122
  0.67625391 0.58674047 0.64254407 0.78739315 0.30714662 0.62957523
  0.40759058 0.30171926 0.90922982 0.82102883 0.35671854 0.80611647
  0.4136469  0.2271404  0.38238346 0.26684053 0.69029985 0.88388121
  0.74099432 0.27253978 0.78100471 0.40982879 0.70372128 0.26115097
  0.90714176 0.78972931 0.37795569 0.         0.77747896 0.65739481
  0.16129289 0.32266045 0.2635704  0.1844771  0.61387333 0.19956143
  0.4837612  0.79966779 0.34855406 0.52901414 0.59246099 0.65011112
  0.31674873 0.82994032 0.64944452 0.82359399]
 [0.17192532 0.80047281 0.38602803 0.26751875 0.45505947 0.64296272
  0.32135188 0.45669953 0.48237364 0.33669054 0.8169593  0.47133523
  0.07520221 0.2558278  0.79409266 0.69783141 0.63806911 0.91269938
  0.45428822 0.71511107 0.57878972 0.68663747 0.91669305 0.16535494
  0.42249961 0.85316899 0.63893876 0.34990746 0.83103239 0.89395581
  0.76509179 0.3637364  0.55999698 0.90818799 0.32455027 0.76462859
  0.35365779 0.28684213 0.29895242 0.43424178 0.76760433 0.69823753
  0.30663046 0.16174191 0.25843606 0.6535284  0.7921628  0.23194115
  0.4593918  0.36342872 0.90276436 0.60467382 0.06467448 0.86756396
  0.13565986 0.68611459 0.39770327 0.10340344 0.93461383 0.48554309
  0.79748754 0.48150564 0.15826549 0.15232854 0.52300372 0.13485496
  0.38275928 0.55309366 0.622146   0.77355034 0.74124685 0.14280218
  0.31286167 1.04830885 0.34523132 0.48453049 0.59933993 0.5294472
  0.15287853 0.06742259 0.8521454  0.77747896 0.         0.3743429
  0.71940804 0.67967405 0.87041903 0.78206062 0.31112737 0.57810653
  0.57116357 0.51177327 0.85019917 0.24866697 0.59034587 0.17564627
  0.59804389 0.29479631 0.69899491 0.11178802]
 [0.5449139  0.58081063 0.4413568  0.10901453 0.43635938 0.27796248
  0.59143529 0.51813127 0.62026956 0.6056948  0.5779551  0.43487548
  0.42654133 0.58814123 0.67928975 0.43482926 0.75960959 0.78317383
  0.58764132 0.83724271 0.60498588 0.6803562  0.80154923 0.53957696
  0.47561033 0.87456869 0.50705764 0.25773333 0.57543418 0.82715665
  0.66979149 0.69053142 0.25538136 0.84411064 0.28432863 0.82998181
  0.0291956  0.14482923 0.62697633 0.49653776 0.83742854 0.94582421
  0.28858362 0.51602132 0.23405857 0.37933881 0.85200377 0.56984436
  0.09206112 0.20363726 0.85909358 0.43866064 0.33148466 0.90244644
  0.4109203  0.85888381 0.64427083 0.46622007 0.91467432 0.1142847
  0.86606524 0.45658417 0.39536884 0.5193177  0.30436412 0.49980812
  0.43731727 0.49283395 0.70700008 0.78208831 0.94517232 0.51476448
  0.10408742 0.9167362  0.66563465 0.24988746 0.83997971 0.40852222
  0.39839317 0.32602586 0.89326122 0.65739481 0.3743429  0.
  0.68220462 0.41939342 0.85245765 0.74985463 0.08539851 0.48714605
  0.71420549 0.80824711 0.87836027 0.31123993 0.22700046 0.21542234
  0.36486616 0.64233149 0.8958302  0.32001169]
 [0.77426494 0.36126574 0.33381892 0.65371307 0.2721627  0.69185612
  0.55356622 0.27276932 0.33233384 0.55183692 0.40633459 0.26257084
  0.68594147 0.66727565 0.15640099 0.43908565 0.29862415 0.24670476
  0.33547865 0.32535494 0.15764076 0.06001507 0.23174349 0.78710427
  0.29929954 0.20750011 0.21156561 0.44008487 0.44694599 0.17578865
  0.11302004 0.68340203 0.5307271  0.18918404 0.43486253 0.22785422
  0.6986881  0.57269095 0.66703962 0.29166436 0.23890136 0.61750159
  0.44434904 0.69976416 0.51512837 0.46238152 0.23322944 0.930662
  0.66412089 0.48215494 0.185906   0.28573155 0.7478103  0.2427805
  0.60137032 0.42623686 0.51395341 0.70911375 0.23310487 0.68120087
  0.25465876 0.24589868 0.86523363 0.73471268 0.4103259  0.722389
  0.33691854 0.19060742 0.22610173 0.12035891 0.52927995 0.8065422
  0.74965957 0.35966064 0.66066892 0.45509568 0.55029988 0.27739421
  0.86193157 0.74471926 0.2410337  0.16129289 0.71940804 0.68220462
  0.         0.43360916 0.17025551 0.06808072 0.62185189 0.19755428
  0.33188916 0.65761465 0.21638425 0.4810559  0.66984433 0.62235694
  0.39828755 0.71917188 0.48910458 0.78471529]
 [0.81591414 0.16856414 0.44328275 0.4647818  0.36130429 0.28587433
  0.71621273 0.46774671 0.59557091 0.7241444  0.15887879 0.34024096
  0.69265092 0.78197815 0.34429147 0.0181885  0.664341   0.41420033
  0.57370239 0.72091438 0.46368493 0.46810016 0.44246766 0.8195881
  0.44700013 0.63848045 0.2254785  0.33742053 0.15802677 0.50928152
  0.35894164 0.85239461 0.16852462 0.52593833 0.37370748 0.65209459
  0.44709673 0.40503792 0.80534366 0.46212273 0.66263593 0.95368034
  0.39357436 0.75656967 0.4228483  0.04382174 0.66266581 0.9099246
  0.35055557 0.31639345 0.55846404 0.16419306 0.66898981 0.67512546
  0.62914308 0.79481094 0.72526907 0.73114393 0.62827832 0.35166412
  0.68308614 0.35559073 0.76859492 0.77849156 0.15780072 0.75954716
  0.44197389 0.31777767 0.5883604  0.55396507 0.89956378 0.81474041
  0.52053931 0.53291347 0.82477555 0.19685236 0.85990803 0.2333278
  0.76908428 0.66381366 0.67446613 0.32266045 0.67967405 0.41939342
  0.43360916 0.         0.57935328 0.48566621 0.41328676 0.27652835
  0.65780649 0.90493435 0.64871977 0.459923   0.28430761 0.51145423
  0.08571823 0.84408252 0.85155653 0.68153988]
 [0.90621223 0.47264938 0.48594171 0.8224161  0.4363075  0.8505349
  0.66460005 0.4141159  0.43329887 0.65958997 0.51708606 0.42922146
  0.82976149 0.78502293 0.24540622 0.58163253 0.33642235 0.26004648
  0.44741736 0.32110879 0.29173519 0.18503874 0.22685599 0.92071264
  0.44831135 0.09074051 0.36971687 0.60886    0.55797998 0.11302726
  0.2211521  0.781636   0.69314901 0.10869346 0.60123713 0.19617187
  0.8688866  0.74155408 0.77726651 0.43622221 0.20456735 0.63215258
  0.60937657 0.83159558 0.68068548 0.61308327 0.17975275 1.07123667
  0.83304471 0.65218156 0.06325223 0.44596581 0.90397661 0.1256249
  0.74540756 0.43465029 0.61037639 0.84861169 0.06481198 0.84939995
  0.19846026 0.41088704 1.02096659 0.86797102 0.57635407 0.85782077
  0.48951162 0.36049264 0.29109324 0.10361251 0.52278348 0.94493909
  0.91915265 0.31048016 0.76232806 0.62303715 0.59041073 0.44672495
  1.01718062 0.90127316 0.13738246 0.2635704  0.87041903 0.85245765
  0.17025551 0.57935328 0.         0.10288278 0.7916046  0.36691025
  0.39515892 0.72373212 0.10636126 0.64072416 0.83215761 0.78609462
  0.55657936 0.83045508 0.49474991 0.94323085]
 [0.82990998 0.39476834 0.39603612 0.72174516 0.33880497 0.75153756
  0.60021283 0.33003295 0.37262856 0.59713934 0.44002214 0.33002391
  0.74591289 0.71711224 0.17154766 0.48943185 0.31043376 0.23031834
  0.38061332 0.32035021 0.2094313  0.09900911 0.20662237 0.84340571
  0.36006045 0.15391912 0.269891   0.5081101  0.48114914 0.12314795
  0.13623214 0.72552318 0.5924644  0.1331957  0.50236567 0.20639361
  0.76655465 0.64073701 0.71388756 0.35048621 0.21723491 0.62536619
  0.5114762  0.75520456 0.58244644 0.51725985 0.20360247 0.98976505
  0.73024519 0.5501561  0.1207229  0.34571366 0.81229184 0.19160222
  0.66126063 0.42905044 0.5543571  0.76750239 0.16507492 0.74676576
  0.22553061 0.3127833  0.92964809 0.79077888 0.47428079 0.77925994
  0.39933753 0.25867685 0.24704081 0.08493497 0.52766458 0.86468063
  0.81773871 0.32350472 0.70406309 0.52042946 0.56786176 0.34384653
  0.926181   0.80932999 0.19408016 0.1844771  0.78206062 0.74985463
  0.06808072 0.48566621 0.10288278 0.         0.68991309 0.2640276
  0.35572171 0.68664067 0.16558989 0.54647341 0.73161304 0.68920196
  0.45736079 0.7666275  0.49184783 0.85000583]
 [0.477394   0.5638906  0.36116974 0.05223683 0.36504273 0.33199
  0.50712697 0.43967183 0.53754638 0.52123377 0.56770567 0.36636562
  0.35505055 0.5089853  0.63499727 0.43033376 0.67960913 0.74436183
  0.50479115 0.75791068 0.53287322 0.61469469 0.75958532 0.4740048
  0.39676001 0.80767505 0.46207623 0.18527541 0.57129328 0.77506063
  0.62083123 0.60951352 0.26477248 0.79171591 0.20577749 0.75658302
  0.0857874  0.06045769 0.54674734 0.41740464 0.7635727  0.86046978
  0.20758584 0.44200283 0.14924905 0.37795446 0.77954218 0.5231448
  0.15158083 0.14044447 0.80295351 0.4002032  0.27841145 0.83390377
  0.33102945 0.77594179 0.55901144 0.39559544 0.85495227 0.17926235
  0.79267175 0.3871774  0.36200703 0.44878765 0.27578037 0.42895215
  0.35706159 0.43124667 0.6298154  0.71589589 0.86097957 0.45382447
  0.12840437 0.88027776 0.58413845 0.22332213 0.75462195 0.35623746
  0.36357068 0.27287692 0.82374155 0.61387333 0.31112737 0.08539851
  0.62185189 0.41328676 0.7916046  0.68991309 0.         0.43166434
  0.63212935 0.72404535 0.81051383 0.22607539 0.27934776 0.14038893
  0.34563682 0.56487884 0.81179287 0.2783443 ]
 [0.66801588 0.28119458 0.22458183 0.46798795 0.13355287 0.50443143
  0.49862278 0.21315133 0.33251435 0.50252577 0.31764019 0.11228668
  0.56094485 0.59151754 0.21710121 0.28767107 0.38782542 0.33508619
  0.31637723 0.44560531 0.18715685 0.20985241 0.34183891 0.67734567
  0.20891249 0.40040013 0.07605009 0.25761503 0.35093057 0.34361163
  0.19352837 0.63784796 0.33996062 0.36016658 0.26339338 0.38758868
  0.50504963 0.38719524 0.60378546 0.216413   0.39746582 0.68313766
  0.27757628 0.59720671 0.34330119 0.29370957 0.40245499 0.80387752
  0.46656661 0.29123576 0.37218209 0.11235913 0.59435487 0.4329111
  0.48039247 0.51862462 0.48705742 0.59163541 0.4280795  0.4838035
  0.42117716 0.11234615 0.71023869 0.62781732 0.21572719 0.61203938
  0.22553187 0.04527152 0.31193535 0.3084283  0.6236832  0.68730401
  0.56006834 0.47160642 0.61148632 0.25803294 0.59403196 0.07986112
  0.70802458 0.59046408 0.42766895 0.19956143 0.57810653 0.48714605
  0.19755428 0.27652835 0.36691025 0.2640276  0.43166434 0.
  0.38439381 0.65935659 0.40710265 0.32952952 0.47798901 0.45307815
  0.21851248 0.65085334 0.57613163 0.6250933 ]
 [0.55354684 0.65152829 0.27448864 0.638824   0.31415346 0.84130932
  0.29219324 0.20700863 0.09597626 0.28316905 0.69276432 0.32975083
  0.51061527 0.41464022 0.48417093 0.67031332 0.07115823 0.57763146
  0.12872019 0.14408731 0.20431738 0.2720548  0.55917633 0.57065764
  0.24496631 0.33683661 0.45162951 0.46442615 0.72939425 0.47543021
  0.44011496 0.39180934 0.67913654 0.48182286 0.43126059 0.22209061
  0.71784096 0.57177985 0.39778457 0.22400402 0.22046503 0.29983714
  0.42564076 0.4828076  0.48508789 0.66858893 0.24966033 0.73006049
  0.73920007 0.52483946 0.45120112 0.49478791 0.62245714 0.33538874
  0.43550374 0.1471858  0.22463321 0.51620819 0.44704894 0.76451065
  0.24683144 0.30976428 0.72938199 0.51994665 0.5563882  0.51510035
  0.27834587 0.34084737 0.10868235 0.29449824 0.24578251 0.60407593
  0.73901902 0.67917761 0.37529953 0.57448118 0.21998661 0.42855307
  0.72382068 0.62170532 0.31669769 0.4837612  0.57116357 0.71420549
  0.33188916 0.65780649 0.39515892 0.35572171 0.63212935 0.38439381
  0.         0.33141922 0.32748341 0.41378913 0.80225207 0.5591017
  0.58860333 0.45032035 0.19617868 0.6694607 ]
 [0.39666186 0.94033057 0.46207572 0.70596549 0.54526657 1.01490736
  0.21693421 0.44645178 0.33364546 0.2030872  0.97680084 0.56736771
  0.43658515 0.25886374 0.80348963 0.92062469 0.38757692 0.90430087
  0.34389626 0.42268126 0.51168909 0.59893148 0.88802592 0.41537579
  0.45934609 0.65693991 0.7345244  0.6171707  1.0087684  0.80684583
  0.7601511  0.15888923 0.87238706 0.81316902 0.57473296 0.53758218
  0.79963328 0.66924885 0.21671521 0.44654626 0.53268632 0.21496726
  0.55907074 0.35767617 0.58452464 0.90289476 0.56227645 0.56247907
  0.8660196  0.6722925  0.78150019 0.75572293 0.57628178 0.64750122
  0.40836851 0.32428568 0.18073657 0.41486227 0.77153231 0.89425043
  0.55272512 0.55558797 0.64565968 0.38377278 0.76926667 0.39244291
  0.46365876 0.61437486 0.43988913 0.62504546 0.30960598 0.46064626
  0.78887462 1.01012729 0.16955777 0.76584284 0.15776778 0.67452819
  0.63845294 0.57853598 0.62814581 0.79966779 0.51177327 0.80824711
  0.65761465 0.90493435 0.72373212 0.68664067 0.72404535 0.65935659
  0.33141922 0.         0.64534957 0.50923756 0.96678591 0.60079571
  0.8235589  0.24316022 0.29184923 0.62332703]
 [0.86614298 0.55947894 0.47651733 0.83563765 0.44600295 0.90755135
  0.61303962 0.39771618 0.38488513 0.60594052 0.60462893 0.44431574
  0.80204226 0.73558443 0.3335893  0.65331196 0.2608528  0.36433612
  0.40543437 0.22836278 0.28222899 0.19935759 0.33214118 0.88190946
  0.4373215  0.01564533 0.42794926 0.62526254 0.64577073 0.21908659
  0.30130544 0.71929105 0.74526098 0.2149996  0.61053603 0.10782471
  0.89181605 0.75633568 0.72268125 0.42141084 0.11290575 0.53591854
  0.61540611 0.79251702 0.68650516 0.67850891 0.08383279 1.03732978
  0.86972255 0.67493076 0.16833413 0.50181245 0.89011286 0.02642513
  0.71938055 0.34077649 0.55090956 0.81626641 0.13040775 0.88863857
  0.09810826 0.42333649 1.00527118 0.82958067 0.62266053 0.82152531
  0.48047606 0.38916262 0.23635978 0.09867455 0.42257348 0.91023814
  0.93531805 0.41495094 0.70244342 0.66439558 0.5036083  0.48538302
  1.00083988 0.8879968  0.03138686 0.34855406 0.85019917 0.87836027
  0.21638425 0.64871977 0.10636126 0.16558989 0.81051383 0.40710265
  0.32748341 0.64534957 0.         0.63638361 0.88409214 0.78637086
  0.61445709 0.77567677 0.39831141 0.9324312 ]
 [0.3583906  0.56150033 0.16026474 0.22567956 0.2104007  0.50822694
  0.29441806 0.2409851  0.31792561 0.30702282 0.58258994 0.22464603
  0.23953851 0.32928645 0.54592889 0.47791699 0.46764755 0.66438342
  0.2850936  0.54722955 0.35492268 0.4557611  0.66925515 0.36391863
  0.19952143 0.63671885 0.39088259 0.1245005  0.60148625 0.65272846
  0.51809559 0.41487114 0.37858253 0.66768749 0.08625975 0.56546667
  0.3098319  0.16659331 0.35888662 0.21707021 0.57078395 0.63482825
  0.06638494 0.29670272 0.07762324 0.44234208 0.59103163 0.47677061
  0.35826642 0.16830064 0.66667543 0.36167089 0.26790274 0.65693632
  0.16943093 0.55425051 0.33707068 0.27527853 0.70552907 0.38627324
  0.60082228 0.23707785 0.38515834 0.31991449 0.30340621 0.30152262
  0.1562143  0.30613262 0.4285884  0.55027911 0.63612879 0.36591377
  0.32528229 0.80037348 0.38763069 0.27997102 0.52902209 0.28285222
  0.38225029 0.26450142 0.64385447 0.52901414 0.24866697 0.31123993
  0.4810559  0.459923   0.64072416 0.54647341 0.22607539 0.32952952
  0.41378913 0.50923756 0.63638361 0.         0.45885312 0.15125733
  0.37455594 0.39088536 0.58731241 0.30365943]
 [0.75628932 0.45097929 0.5353303  0.32438379 0.49031076 0.05264568
  0.75321087 0.59524359 0.71797999 0.7655831  0.43244054 0.47831235
  0.63282256 0.77613134 0.61494985 0.29295337 0.83108015 0.6962277
  0.68819583 0.90141369 0.6445075  0.68784048 0.72265669 0.7532605
  0.55876029 0.87653788 0.46246194 0.35282293 0.41630596 0.77801879
  0.62044617 0.87038916 0.13917104 0.79511708 0.39415332 0.8623991
  0.25453034 0.31501637 0.81077719 0.57922359 0.8717354  1.07115692
  0.40843349 0.71739609 0.3874302  0.24098298 0.87907892 0.7955926
  0.13507727 0.29502618 0.8218711  0.3861923  0.55401884 0.91013936
  0.59951016 0.94909391 0.79048127 0.67359602 0.88761913 0.11462627
  0.89698367 0.50031661 0.62235235 0.72661665 0.26268388 0.70669213
  0.53210794 0.503298   0.76442225 0.7855552  1.04653175 0.73289639
  0.32464343 0.81719191 0.84370258 0.23004761 0.96762352 0.40276602
  0.6253934  0.54848995 0.90549039 0.59246099 0.59034587 0.22700046
  0.66984433 0.28430761 0.83215761 0.73161304 0.27934776 0.47798901
  0.80225207 0.96678591 0.88409214 0.45885312 0.         0.41860501
  0.27705377 0.83480546 0.99643264 0.54617841]
 [0.3377061  0.6433421  0.31125265 0.10739572 0.35040009 0.47121407
  0.38598574 0.39218648 0.46324187 0.40096649 0.65545121 0.36031922
  0.21468336 0.37294346 0.66907426 0.52945829 0.61608194 0.78526924
  0.43080349 0.69578005 0.50430735 0.60188861 0.79447246 0.33512747
  0.35044573 0.7862369  0.50259665 0.20001635 0.66608219 0.7897047
  0.64636826 0.47641206 0.38480157 0.8053471  0.19014002 0.71671945
  0.20167463 0.11137376 0.41229532 0.36828417 0.72203708 0.75464329
  0.1783512  0.3019763  0.10977816 0.48261023 0.74223758 0.39993836
  0.2918483  0.19671852 0.80818357 0.45618209 0.15762144 0.80733025
  0.19661791 0.6950986  0.44695787 0.25528811 0.85085024 0.31929867
  0.75207875 0.37648324 0.2640367  0.30845201 0.35776773 0.28859626
  0.30716193 0.43844901 0.57955713 0.69852082 0.77026308 0.31796139
  0.19059324 0.9224964  0.45210456 0.31470567 0.64949262 0.39073651
  0.26321119 0.15251613 0.79454046 0.65011112 0.17564627 0.21542234
  0.62235694 0.51145423 0.78609462 0.68920196 0.14038893 0.45307815
  0.5591017  0.60079571 0.78637086 0.15125733 0.41860501 0.
  0.43286867 0.42693672 0.72285173 0.17631094]
 [0.7312605  0.21839209 0.36148397 0.39558595 0.28342008 0.29417966
  0.63192071 0.3920559  0.52081331 0.64017516 0.22377122 0.26357057
  0.60855003 0.69631174 0.33932784 0.10350767 0.60125331 0.42897038
  0.49719192 0.66272553 0.40239084 0.4236192  0.4522247  0.7352824
  0.36805559 0.60578565 0.18749702 0.2527938  0.23339029 0.5012923
  0.34339774 0.76752391 0.14016836 0.51842639 0.28830201 0.60493481
  0.39072285 0.32988286 0.71992077 0.38436712 0.61502319 0.88080247
  0.30817672 0.67125542 0.34010933 0.08071462 0.61841821 0.82916876
  0.30940548 0.23630431 0.54483384 0.11266746 0.59041927 0.6407899
  0.54389499 0.72933965 0.64333041 0.64671023 0.61097935 0.31700467
  0.63780374 0.2809389  0.69332871 0.69359423 0.07522424 0.67475827
  0.35992716 0.25444155 0.52734527 0.51687029 0.83289973 0.73149526
  0.46133956 0.557827   0.73988    0.12261196 0.78470505 0.16005044
  0.69340401 0.58535964 0.63784092 0.31674873 0.59804389 0.36486616
  0.39828755 0.08571823 0.55657936 0.45736079 0.34563682 0.21851248
  0.58860333 0.8235589  0.61445709 0.37455594 0.27705377 0.43286867
  0.         0.75842025 0.78407444 0.60569959]
 [0.15469025 0.92166002 0.42649819 0.53375612 0.51847476 0.88645659
  0.16647556 0.45483482 0.39721659 0.17087918 0.95012438 0.54092519
  0.22409914 0.06211541 0.84008014 0.86164844 0.52060749 0.9541508
  0.38605001 0.58156232 0.56153274 0.66857707 0.94671897 0.17305558
  0.44453112 0.78376907 0.72537556 0.51492231 0.9747739  0.88943539
  0.80109158 0.0845597  0.76844601 0.89977569 0.47435856 0.67209325
  0.62720637 0.52038141 0.05320942 0.44240411 0.67076689 0.45393367
  0.45500619 0.13318668 0.45104456 0.83045675 0.69984723 0.32065232
  0.7158071  0.55701364 0.87900979 0.7215613  0.35833137 0.78518676
  0.23535081 0.51131371 0.22573886 0.19149386 0.88821041 0.74383026
  0.69697592 0.53852026 0.41013099 0.14878944 0.69092245 0.16220469
  0.42583288 0.61110854 0.54202803 0.72684362 0.5303995  0.21876309
  0.59960238 1.07773749 0.08319599 0.67078474 0.37368536 0.6365239
  0.40275465 0.36172222 0.76670243 0.82994032 0.29479631 0.64233149
  0.71917188 0.84408252 0.83045508 0.7666275  0.56487884 0.65085334
  0.45032035 0.24316022 0.77567677 0.39088536 0.83480546 0.42693672
  0.75842025 0.         0.49994617 0.40149838]
 [0.63639499 0.83338997 0.46364995 0.81230313 0.51006429 1.03641207
  0.38186664 0.40189297 0.27955256 0.3675792  0.87621172 0.52591628
  0.62913233 0.4872665  0.64549463 0.86348308 0.19370575 0.72216118
  0.31090469 0.1742287  0.39067401 0.43076544 0.69743956 0.65516757
  0.43772216 0.41254026 0.63960158 0.65328982 0.91429524 0.59673927
  0.60202898 0.42096268 0.87492768 0.59825124 0.61743208 0.29870994
  0.89665159 0.75142736 0.45550587 0.4172093  0.29019273 0.13765956
  0.60943669 0.57657261 0.66269453 0.86375924 0.31622773 0.81392656
  0.92773897 0.71399243 0.55750376 0.68776178 0.75768575 0.39269809
  0.56801026 0.06300833 0.30320624 0.62315609 0.52868039 0.95380105
  0.30020347 0.50592399 0.85279032 0.61100784 0.75253561 0.6122422
  0.46723016 0.53380692 0.27136008 0.41273729 0.05012638 0.69595238
  0.90985215 0.80251008 0.4167505  0.76974716 0.13422123 0.62409083
  0.84637588 0.75807591 0.37406253 0.64944452 0.69899491 0.8958302
  0.48910458 0.85155653 0.49474991 0.49184783 0.81179287 0.57613163
  0.19617868 0.29184923 0.39831141 0.58731241 0.99643264 0.72285173
  0.78407444 0.49994617 0.         0.8063205 ]
 [0.26363147 0.81856525 0.45811005 0.22703049 0.51354958 0.597711
  0.43171472 0.53487455 0.57753106 0.4471642  0.8291875  0.52637616
  0.18692566 0.3663757  0.8419928  0.69928679 0.73406799 0.95907303
  0.54764091 0.81246175 0.65430949 0.75820336 0.96692929 0.25170773
  0.49669414 0.93407433 0.67763955 0.37585776 0.83794954 0.95590592
  0.81733537 0.47372469 0.54233336 0.97102711 0.36197283 0.85276111
  0.2943121  0.27652282 0.40948045 0.51135707 0.8566253  0.80946693
  0.34758801 0.26998662 0.28386869 0.64988066 0.87969621 0.2498867
  0.41122265 0.37104568 0.97030285 0.63248264 0.04875176 0.951392
  0.23850906 0.79049703 0.50697281 0.21110628 1.00796855 0.43428362
  0.88674126 0.5401793  0.08791826 0.25415436 0.5310941  0.23932697
  0.45437916 0.6067963  0.71115434 0.85037418 0.84957045 0.21485718
  0.23672924 1.09613292 0.45610482 0.48507899 0.7098309  0.56582724
  0.08770459 0.04830062 0.93697705 0.82359399 0.11178802 0.32001169
  0.78471529 0.68153988 0.94323085 0.85000583 0.2783443  0.6250933
  0.6694607  0.62332703 0.9324312  0.30365943 0.54617841 0.17631094
  0.60569959 0.40149838 0.8063205  0.        ]]

53. How to convert a float (32 bits) array into an integer (32 bits) in place?

G = (np.random.rand(10)*100).astype(np.float32)
GG = G.view(np.int32)
GG[:] = G
print(GG)
[48 20  1 10 21 46 12 35 51 75]

54. How to read the following file? (★★☆)

1, 2, 3, 4, 5
6,  ,  , 7, 8
 ,  , 9,10,11
from io import StringIO

s = StringIO('''1, 2, 3, 4, 5

                6,  ,  , 7, 8

                 ,  , 9,10,11
''')
HH = np.genfromtxt(s, delimiter=",", dtype=np.int)
print(HH)
[[ 1  2  3  4  5]
 [ 6 -1 -1  7  8]
 [-1 -1  9 10 11]]

55. What is the equivalent of enumerate for numpy arrays? (★★☆)

II = np.arange(9).reshape(3,3)

for index, value in np.ndenumerate(II):
    print(index, value)
(0, 0) 0
(0, 1) 1
(0, 2) 2
(1, 0) 3
(1, 1) 4
(1, 2) 5
(2, 0) 6
(2, 1) 7
(2, 2) 8

56. Generate a generic 2D Gaussian-like array (★★☆)

X, Y = np.meshgrid(np.linspace(-1,1,10), np.linspace(-1,1,10))
D = np.sqrt(X**2+Y**2)
sigma, mu = (1.0, 0.0)
Gaussian = np.exp(-( (D-mu)**2 / ( 2.0 * sigma**2 ) ) )
print(Gaussian)
[[0.36787944 0.44822088 0.51979489 0.57375342 0.60279818 0.60279818
  0.57375342 0.51979489 0.44822088 0.36787944]
 [0.44822088 0.54610814 0.63331324 0.69905581 0.73444367 0.73444367
  0.69905581 0.63331324 0.54610814 0.44822088]
 [0.51979489 0.63331324 0.73444367 0.81068432 0.85172308 0.85172308
  0.81068432 0.73444367 0.63331324 0.51979489]
 [0.57375342 0.69905581 0.81068432 0.89483932 0.9401382  0.9401382
  0.89483932 0.81068432 0.69905581 0.57375342]
 [0.60279818 0.73444367 0.85172308 0.9401382  0.98773022 0.98773022
  0.9401382  0.85172308 0.73444367 0.60279818]
 [0.60279818 0.73444367 0.85172308 0.9401382  0.98773022 0.98773022
  0.9401382  0.85172308 0.73444367 0.60279818]
 [0.57375342 0.69905581 0.81068432 0.89483932 0.9401382  0.9401382
  0.89483932 0.81068432 0.69905581 0.57375342]
 [0.51979489 0.63331324 0.73444367 0.81068432 0.85172308 0.85172308
  0.81068432 0.73444367 0.63331324 0.51979489]
 [0.44822088 0.54610814 0.63331324 0.69905581 0.73444367 0.73444367
  0.69905581 0.63331324 0.54610814 0.44822088]
 [0.36787944 0.44822088 0.51979489 0.57375342 0.60279818 0.60279818
  0.57375342 0.51979489 0.44822088 0.36787944]]

57. How to randomly place p elements in a 2D array? (★★☆)

n = 5
p = 3
out = np.zeros((n,n),dtype=bool)
np.put(out,np.random.choice(range(n*n), p, replace=False),1)
print(out)
[[False False False False False]
 [ True False False False False]
 [False False False False False]
 [ True False False False False]
 [False False False False  True]]

58. Subtract the mean of each row of a matrix (★★☆)

X = np.random.rand(5, 10)
Y = X - X.mean(axis=1).reshape(-1, 1)
print(Y)
[[ 0.22912809  0.29042889  0.23488493  0.46221904 -0.13732101 -0.13707458
  -0.04228463 -0.45018358 -0.01939715 -0.4304    ]
 [-0.03698973 -0.11223178 -0.29723432  0.48031381 -0.30312297  0.07384592
   0.0349981   0.02515311 -0.07757645  0.2128443 ]
 [-0.04524787  0.30987995 -0.12940049  0.02014424  0.13105117 -0.35837574
  -0.17263158  0.4108267  -0.18361852  0.01737213]
 [-0.30744895  0.32515614  0.12169629  0.3134796  -0.19528196 -0.09636294
  -0.24450892 -0.34056596  0.45926822 -0.03543152]
 [-0.21719634  0.19320923  0.28517109  0.28977779 -0.04063178 -0.12799435
  -0.11810656  0.01952228  0.30193847 -0.58568983]]

59. How to sort an array by the nth column? (★★☆)

JJ = np.random.randint(0,10,(3,3))
print(JJ[JJ[:,1].argsort()]) #1th column sort
[[0 0 5]
 [5 4 3]
 [5 9 0]]

60. How to tell if a given 2D array has null columns? (★★☆)

KK = np.random.randint(0,3,(3,10))

print((~KK.any(axis=0)).any()) #KK has null column
True

61. Find the nearest value from a given value in an array (★★☆)

Z = np.random.uniform(0,1,10)
z = 0.5

LL = Z.flat[np.abs(Z - z).argmin()]
print(LL)
0.5052663766905205

62. Considering two arrays with shape (1,3) and (3,1), how to compute their sum using an iterator? (★★☆)

A = np.arange(3).reshape(3,1)
B = np.arange(3).reshape(1,3)

MM = np.nditer([A,B,None])
for x,y,z in MM: 
    z[...] = x + y
print(MM.operands[2])
[[0 1 2]
 [1 2 3]
 [2 3 4]]

63. Create an array class that has a name attribute (★★☆)

class NamedArray(np.ndarray):
    def __new__(cls, array, name="no name"):
        obj = np.asarray(array).view(cls)
        obj.name = name
        return obj
    def __array_finalize__(self, obj):
        if obj is None: return
        self.info = getattr(obj, 'name', "no name")

Z = NamedArray(np.arange(10), "range_10")
print (Z.name)
range_10

64. Consider a given vector, how to add 1 to each element indexed by a second vector (be careful with repeated indices)? (★★★)

Z = np.ones(10)
I = np.random.randint(0,len(Z),20)
Z += np.bincount(I, minlength=len(Z))
print(Z)
[4. 6. 3. 3. 3. 3. 3. 2. 1. 2.]

65. How to accumulate elements of a vector (X) to an array (F) based on an index list (I)? (★★★)

X = [1,2,3,4,5,6]
I = [1,3,9,3,4,1]
F = np.bincount(I,X)
print(F)
[0. 7. 0. 6. 5. 0. 0. 0. 0. 3.]

66. Considering a (w,h,3) image of (dtype=ubyte), compute the number of unique colors (★★☆)

w = 256
h = 256
I = np.random.randint(0, 4, (w, h, 3)).astype(np.ubyte)
colors = np.unique(I.reshape(-1, 3), axis=0)
num = len(colors)
print(num)
64

67. Considering a four dimensions array, how to get sum over the last two axis at once? (★★★)

A = np.random.randint(0,10,(3,4,3,4))

sum = A.sum(axis=(-2,-1))
print(sum)
[[62 54 44 74]
 [41 70 66 63]
 [57 54 63 69]]

68. Considering a one-dimensional vector D, how to compute means of subsets of D using a vector S of same size describing subset indices? (★★★)

D = np.random.uniform(0,1,100)
S = np.random.randint(0,10,100)

D_sum = np.bincount(S, weights=D)
D_count = np.bincount(S)
D_mean = D_sum / D_count
print(D_mean)
[0.52887457 0.62078144 0.52496113 0.52517822 0.50669445 0.53260253
 0.46096442 0.50142084 0.40550489 0.62887479]

69. How to get the diagonal of a dot product? (★★★)

A = np.random.uniform(0,1,(5,5))
B = np.random.uniform(0,1,(5,5))

np.diag(np.dot(A, B))
array([1.42702726, 1.30717856, 1.21652205, 1.9493525 , 0.82901742])

70. Consider the vector [1, 2, 3, 4, 5], how to build a new vector with 3 consecutive zeros interleaved between each value? (★★★)

MM = np.array([1,2,3,4,5])
newMM = 3
MM0 = np.zeros(len(MM) + (len(MM)-1)*(newMM))
MM0[::newMM+1] = MM
print(MM0)
[1. 0. 0. 0. 2. 0. 0. 0. 3. 0. 0. 0. 4. 0. 0. 0. 5.]

71. Consider an array of dimension (5,5,3), how to mulitply it by an array with dimensions (5,5)? (★★★)

M = np.ones((5,5,3))
N = 2*np.ones((5,5))
print(M*N[:,:,None])
[[[2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]]

 [[2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]]

 [[2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]]

 [[2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]]

 [[2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]
  [2. 2. 2.]]]

72. How to swap two rows of an array? (★★★)

NN = np.arange(25).reshape(5,5)
NN[[0,1]] = NN[[1,0]] #swap
print(NN)
[[ 5  6  7  8  9]
 [ 0  1  2  3  4]
 [10 11 12 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]]

73. Consider a set of 10 triplets describing 10 triangles (with shared vertices), find the set of unique line segments composing all the triangles (★★★)

faces = np.random.randint(0,100,(10,3))
OO = np.roll(faces.repeat(2,axis=1),-1,axis=1)
OO = OO.reshape(len(OO)*3,2)
OO = np.sort(OO,axis=1)

PP = OO.view( dtype=[('p0',OO.dtype),('p1',OO.dtype)] )
PP = np.unique(PP)
print(PP)
[( 2,  2) ( 2, 39) ( 3, 25) ( 3, 93) ( 5, 88) ( 5, 89) ( 9, 83) ( 9, 97)
 (10, 47) (10, 90) (12, 14) (12, 64) (14, 64) (25, 93) (34, 50) (34, 52)
 (45, 49) (45, 91) (47, 90) (49, 91) (50, 52) (50, 91) (50, 95) (75, 77)
 (75, 96) (77, 96) (83, 97) (88, 89) (91, 95)]

74. Given a sorted array C that corresponds to a bincount, how to produce an array A such that np.bincount(A) == C? (★★★)

C = np.bincount([1,1,2,3,4,4,6])
A = np.repeat(np.arange(len(C)), C)
print(A)
[1 1 2 3 4 4 6]

75. How to compute averages using a sliding window over an array? (★★★)

def averages(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n
QQ = np.arange(20)
print(averages(QQ, n=3))
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17. 18.]

76. Consider a one-dimensional array Z, build a two-dimensional array whose first row is (Z[0],Z[1],Z[2]) and each subsequent row is shifted by 1 (last row should be (Z[-3],Z[-2],Z[-1]) (★★★)

from numpy.lib import stride_tricks

def rolling(a, window):
    shape = (a.size - window + 1, window)
    strides = (a.itemsize, a.itemsize)
    return stride_tricks.as_strided(a, shape=shape, strides=strides)
RR = rolling(np.arange(10), 3)
print(RR)
[[0 1 2]
 [1 2 3]
 [2 3 4]
 [3 4 5]
 [4 5 6]
 [5 6 7]
 [6 7 8]
 [7 8 9]]

77. How to negate a boolean, or to change the sign of a float inplace? (★★★)

SS = np.random.uniform(-1.0,1.0,100)
print(np.negative(SS, out=SS)) #negate

SS = np.random.randint(0,2,100)
print(np.logical_not(SS, out=SS)) #change sign
[-0.43142588  0.59859061  0.99627396  0.5061813   0.2986948  -0.75969152
  0.09852039  0.87043876  0.13050159 -0.26983961  0.29544981  0.19388506
 -0.88774356  0.84948479  0.12381086 -0.86133151  0.81037492 -0.1238283
 -0.59918499  0.52416698  0.18695595 -0.47251299 -0.92117043 -0.59976303
  0.71169079 -0.2194166  -0.25086565  0.97415259 -0.45587028 -0.0324917
  0.90116924  0.2811058  -0.64532039  0.20115784 -0.69115601  0.14410459
  0.24122662 -0.79970774 -0.76669329  0.818251   -0.59007297  0.70438253
 -0.11152939 -0.27525082  0.54086191  0.1070056  -0.0055339  -0.2172159
 -0.17467491  0.0604967   0.16020891  0.1573619  -0.52369539  0.7920129
 -0.62214378  0.52645377 -0.53538175 -0.23886017  0.36976027  0.50107766
  0.09816686 -0.33300007  0.45323223  0.90179019 -0.61841695  0.43110295
  0.59279946  0.52638756 -0.15583409  0.25777017 -0.86229103  0.18841807
  0.2287678   0.05469322  0.85113725 -0.20106931  0.31634615  0.843137
 -0.8115738   0.94390636  0.58514223 -0.46873879  0.32093915  0.56064315
 -0.25036866 -0.87978798 -0.16159554 -0.4467953  -0.06028119  0.23601978
  0.5767654   0.26049789  0.1563624  -0.39939618 -0.44685844 -0.19481331
 -0.08709067 -0.27862611  0.52935558 -0.84561232]
[1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0
 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1
 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0]

78. Consider 2 sets of points P0,P1 describing lines (2d) and a point p, how to compute distance from p to each line i (P0[i],P1[i])? (★★★)

def distance(P0, P1, p):
    T = P1 - P0
    L = (T**2).sum(axis=1)
    U = -((P0[:,0]-p[...,0])*T[:,0] + (P0[:,1]-p[...,1])*T[:,1]) / L
    U = U.reshape(len(U),1)
    D = P0 + U*T - p
    return np.sqrt((D**2).sum(axis=1))

P0 = np.random.uniform(-10,10,(10,2))
P1 = np.random.uniform(-10,10,(10,2))
p = np.random.uniform(-10,10,(1,2))
 
print("Distance from p to (PO, P1):", [x for x in distance(P0, P1, p)])
Distance from p to (PO, P1): [1.8313287239123373, 2.5640799000521093, 5.099403702870596, 7.142537274796611, 6.469783494437534, 2.080045169655839, 10.956626653403658, 1.1927409378556184, 5.977329582321501, 4.483721602433141]

79. Consider 2 sets of points P0,P1 describing lines (2d) and a set of points P, how to compute distance from each point j (P[j]) to each line i (P0[i],P1[i])? (★★★)

P0 = np.random.uniform(-10, 10, (10,2))
P1 = np.random.uniform(-10,10,(10,2))
P = np.random.uniform(-10, 10,(10,2))

print("Distance from p to (PO, P1):", np.array([distance(P0,P1,P_j) for P_j in P]))
Distance from p to (PO, P1): [[ 4.29916349  4.23818085  8.03233455  6.6405848   8.71025014  3.18622955
   3.9033785  10.72694093  1.42601259  0.18769035]
 [12.28269988  7.45993477  0.42597785  1.27891201  0.1327635   2.0244737
   3.20704788 16.55014636  7.53225981  6.51210984]
 [ 2.01866776  8.64473252  6.01658513  3.25237841 11.95744441 14.59577906
   9.39764654  0.01900807 10.21144718  9.82550706]
 [ 6.17706285  2.15642733  3.64946483  1.49487768  5.71967553  3.96273991
   0.06692718 10.42050327  6.60443098  0.29905605]
 [11.4834466   0.34026901  5.30804075  7.48274352  1.33751753  3.28982012
   5.83492792 11.9548802  15.87844125  2.58455606]
 [10.51736023  2.35087248  2.26130727  3.55010431  0.52294888  2.22780331
   2.53278978 12.66719162 11.97610471  2.98268618]
 [ 2.84661972  2.9788588   3.98254353  1.45488219  7.99883084  8.80968331
   4.8587401   5.75330625  9.05341657  4.17680613]
 [12.5804987   4.20244099  3.58830069  3.54171873  1.3445298   0.16274503
   1.34676222 14.77354974 12.21124597  5.11094778]
 [ 1.78826947  9.78092657  4.73649841  5.08861028 11.28873682 15.31208779
  11.06547106  0.53850886 12.00751364 10.23873834]
 [10.9819553   7.75975908  1.64723933  3.28071894  1.81287162  1.75702387
   4.42607988 16.08821801  5.45050815  5.88141323]]

80. Consider an arbitrary array, write a function that extract a subpart with a fixed shape and centered on a given element (pad with a fill value when necessary) (★★★)

Z = np.random.randint(0,10,(10,10))
shape = (5,5)
fill  = 0
position = (1,1)

R = np.ones(shape, dtype=Z.dtype)*fill
P  = np.array(list(position)).astype(int)
Rs = np.array(list(R.shape)).astype(int)
Zs = np.array(list(Z.shape)).astype(int)

R_start = np.zeros((len(shape),)).astype(int)
R_stop  = np.array(list(shape)).astype(int)
Z_start = (P-Rs//2)
Z_stop  = (P+Rs//2)+Rs%2

R_start = (R_start - np.minimum(Z_start,0)).tolist()
Z_start = (np.maximum(Z_start,0)).tolist()
R_stop = np.maximum(R_start, (R_stop - np.maximum(Z_stop-Zs,0))).tolist()
Z_stop = (np.minimum(Z_stop,Zs)).tolist()

r = [slice(start,stop) for start,stop in zip(R_start,R_stop)]
z = [slice(start,stop) for start,stop in zip(Z_start,Z_stop)]
R[r] = Z[z]
print(Z)
print(R)
[[8 4 9 2 3 8 4 0 7 2]
 [1 3 3 8 5 2 3 7 7 4]
 [9 7 0 3 7 7 0 0 1 5]
 [3 8 8 7 3 7 2 5 5 7]
 [5 5 0 3 3 1 3 3 0 7]
 [3 9 8 8 3 8 4 5 1 9]
 [6 7 8 2 7 2 7 8 8 5]
 [7 6 6 5 7 4 0 9 3 6]
 [7 5 4 5 9 4 9 8 3 3]
 [9 4 1 8 3 6 3 6 4 9]]
[[0 0 0 0 0]
 [0 8 4 9 2]
 [0 1 3 3 8]
 [0 9 7 0 3]
 [0 3 8 8 7]]


C:\anaconda\envs\test3\lib\site-packages\ipykernel_launcher.py:23: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.

81. Consider an array Z = [1,2,3,4,5,6,7,8,9,10,11,12,13,14], how to generate an array R = [[1,2,3,4], [2,3,4,5], [3,4,5,6], …, [11,12,13,14]]? (★★★)

Z = np.arange(1,15,dtype=np.uint32)
R = stride_tricks.as_strided(Z,(11,4),(4,4))
print(R)
[[ 1  2  3  4]
 [ 2  3  4  5]
 [ 3  4  5  6]
 [ 4  5  6  7]
 [ 5  6  7  8]
 [ 6  7  8  9]
 [ 7  8  9 10]
 [ 8  9 10 11]
 [ 9 10 11 12]
 [10 11 12 13]
 [11 12 13 14]]

82. Compute a matrix rank (★★★)

TT = np.random.uniform(0,1,(10,10))
U,S,V = np.linalg.svd(TT)
rank = np.sum(S>1e-10)
print(rank)
10

83. How to find the most frequent value in an array?

UU = np.random.randint(0,10,50)
print(np.bincount(UU).argmax())
3

84. Extract all the contiguous 3x3 blocks from a random 10x10 matrix (★★★)

VV = np.random.randint(0,5,(10,10))
n = 3
i = 1+(VV.shape[0]-3)
j = 1+(VV.shape[1]-3)
C = stride_tricks.as_strided(VV, shape=(i,j,n,n), strides=VV.strides+VV.strides)
print(C)
[[[[4 4 0]
   [0 3 0]
   [3 3 0]]

  [[4 0 1]
   [3 0 1]
   [3 0 0]]

  [[0 1 4]
   [0 1 0]
   [0 0 4]]

  [[1 4 2]
   [1 0 3]
   [0 4 4]]

  [[4 2 0]
   [0 3 0]
   [4 4 2]]

  [[2 0 3]
   [3 0 0]
   [4 2 2]]

  [[0 3 3]
   [0 0 0]
   [2 2 0]]

  [[3 3 4]
   [0 0 1]
   [2 0 4]]]


 [[[0 3 0]
   [3 3 0]
   [2 2 4]]

  [[3 0 1]
   [3 0 0]
   [2 4 2]]

  [[0 1 0]
   [0 0 4]
   [4 2 2]]

  [[1 0 3]
   [0 4 4]
   [2 2 3]]

  [[0 3 0]
   [4 4 2]
   [2 3 2]]

  [[3 0 0]
   [4 2 2]
   [3 2 3]]

  [[0 0 0]
   [2 2 0]
   [2 3 1]]

  [[0 0 1]
   [2 0 4]
   [3 1 4]]]


 [[[3 3 0]
   [2 2 4]
   [2 3 1]]

  [[3 0 0]
   [2 4 2]
   [3 1 2]]

  [[0 0 4]
   [4 2 2]
   [1 2 2]]

  [[0 4 4]
   [2 2 3]
   [2 2 4]]

  [[4 4 2]
   [2 3 2]
   [2 4 3]]

  [[4 2 2]
   [3 2 3]
   [4 3 2]]

  [[2 2 0]
   [2 3 1]
   [3 2 2]]

  [[2 0 4]
   [3 1 4]
   [2 2 3]]]


 [[[2 2 4]
   [2 3 1]
   [3 2 1]]

  [[2 4 2]
   [3 1 2]
   [2 1 4]]

  [[4 2 2]
   [1 2 2]
   [1 4 4]]

  [[2 2 3]
   [2 2 4]
   [4 4 3]]

  [[2 3 2]
   [2 4 3]
   [4 3 3]]

  [[3 2 3]
   [4 3 2]
   [3 3 0]]

  [[2 3 1]
   [3 2 2]
   [3 0 3]]

  [[3 1 4]
   [2 2 3]
   [0 3 2]]]


 [[[2 3 1]
   [3 2 1]
   [2 0 3]]

  [[3 1 2]
   [2 1 4]
   [0 3 3]]

  [[1 2 2]
   [1 4 4]
   [3 3 4]]

  [[2 2 4]
   [4 4 3]
   [3 4 0]]

  [[2 4 3]
   [4 3 3]
   [4 0 4]]

  [[4 3 2]
   [3 3 0]
   [0 4 1]]

  [[3 2 2]
   [3 0 3]
   [4 1 0]]

  [[2 2 3]
   [0 3 2]
   [1 0 4]]]


 [[[3 2 1]
   [2 0 3]
   [0 2 4]]

  [[2 1 4]
   [0 3 3]
   [2 4 4]]

  [[1 4 4]
   [3 3 4]
   [4 4 0]]

  [[4 4 3]
   [3 4 0]
   [4 0 4]]

  [[4 3 3]
   [4 0 4]
   [0 4 2]]

  [[3 3 0]
   [0 4 1]
   [4 2 3]]

  [[3 0 3]
   [4 1 0]
   [2 3 0]]

  [[0 3 2]
   [1 0 4]
   [3 0 0]]]


 [[[2 0 3]
   [0 2 4]
   [0 0 0]]

  [[0 3 3]
   [2 4 4]
   [0 0 0]]

  [[3 3 4]
   [4 4 0]
   [0 0 4]]

  [[3 4 0]
   [4 0 4]
   [0 4 1]]

  [[4 0 4]
   [0 4 2]
   [4 1 3]]

  [[0 4 1]
   [4 2 3]
   [1 3 0]]

  [[4 1 0]
   [2 3 0]
   [3 0 1]]

  [[1 0 4]
   [3 0 0]
   [0 1 3]]]


 [[[0 2 4]
   [0 0 0]
   [4 4 1]]

  [[2 4 4]
   [0 0 0]
   [4 1 4]]

  [[4 4 0]
   [0 0 4]
   [1 4 2]]

  [[4 0 4]
   [0 4 1]
   [4 2 2]]

  [[0 4 2]
   [4 1 3]
   [2 2 4]]

  [[4 2 3]
   [1 3 0]
   [2 4 2]]

  [[2 3 0]
   [3 0 1]
   [4 2 0]]

  [[3 0 0]
   [0 1 3]
   [2 0 0]]]]

85. Create a 2D array subclass such that Z[i,j] == Z[j,i] (★★★)

class Symetric(np.ndarray):
    def __setitem__(self, index, value):
        i,j = index
        super(Symetric, self).__setitem__((i,j), value)
        super(Symetric, self).__setitem__((j,i), value)

def symetric(WW):
    return np.asarray(WW + WW.T - np.diag(WW.diagonal())).view(Symetric)

S = symetric(np.random.randint(0,10,(5,5)))
S[2,3] = 42
print(S)
[[ 7  7  7 11  2]
 [ 7  8  6  4  8]
 [ 7  6  8 42  7]
 [11  4 42  7  8]
 [ 2  8  7  8  1]]

86. Consider a set of p matrices wich shape (n,n) and a set of p vectors with shape (n,1). How to compute the sum of of the p matrix products at once? (result has shape (n,1)) (★★★)

p = 10
n = 20

M = np.ones((p,n,n))
V = np.ones((p,n,1))

s = np.tensordot(M, V, axes=[[0, 2], [0, 1]])
print(s)
[[200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]
 [200.]]

87. Consider a 16x16 array, how to get the block-sum (block size is 4x4)? (★★★)

WW = np.ones((16,16))
k = 4
b_s = np.add.reduceat(np.add.reduceat(WW, np.arange(0, WW.shape[0], k), axis=0),
                                          np.arange(0, WW.shape[1], k), axis=1)
print(b_s)
[[16. 16. 16. 16.]
 [16. 16. 16. 16.]
 [16. 16. 16. 16.]
 [16. 16. 16. 16.]]

88. How to implement the Game of Life using numpy arrays? (★★★)

def iterate(X):
    N = (X[0:-2,0:-2] + X[0:-2,1:-1] + X[0:-2,2:] +
         X[1:-1,0:-2]                + X[1:-1,2:] +
         X[2:  ,0:-2] + X[2:  ,1:-1] + X[2:  ,2:])

    birth = (N==3) & (X[1:-1,1:-1]==0)
    survive = ((N==2) | (N==3)) & (X[1:-1,1:-1]==1)
    X[...] = 0
    X[1:-1,1:-1][birth | survive] = 1
    return X

XX = np.random.randint(0,2,(50,50))
for i in range(100): XX = iterate(XX)
print(XX)
[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 1 1 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 1 1 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 1 1 0 0]
 [0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 1 1 0 0]
 [0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
  0 0 0 0 0 0 0 0 0 1 1 0 0 0]
 [0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 1 1 0 1 0 0 1 0 0]
 [0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 1 0 0 1 0 1 1 0 0 0]
 [0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 1 1 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
  0 0 0 0 1 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
  0 0 0 1 1 1 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 1 1 0 0 1 1 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1 0 0 0 1 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 1 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
  0 0 0 1 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
  0 1 0 1 0 1 1 1 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  1 1 1 1 0 0 0 0 1 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 1 1 0 0 0 0 0 0 1 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 1 1 0 0 0 0 0 0 1 0 0 0 0]
 [0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 1 0 0 0 0 0 1 1 0 0 0 0 0]
 [0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 1 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 1 1 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0
  1 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1
  0 1 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
  1 0 0 0 1 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 1 0 1 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 1 0 1 0 0 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 1 0 0 0 0 0 0 0 0 0]
 [0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  0 0 0 0 0 0 0 0 0 0 0 0 0 0]]

89. How to get the n largest values of an array (★★★)

YY = np.arange(10000)
np.random.shuffle(YY)
n = 5

print(YY[np.argsort(YY)[-n:]])
[9995 9996 9997 9998 9999]

90. Given an arbitrary number of vectors, build the cartesian product (every combinations of every item) (★★★)

def cartesian_product(arrays):
    arrays = [np.asarray(a) for a in arrays]
    shape = (len(x) for x in arrays)

    ix = np.indices(shape, dtype=int)
    ix = ix.reshape(len(arrays), -1).T

    for n, arr in enumerate(arrays):
        ix[:, n] = arrays[n][ix[:, n]]

    return ix

print (cartesian_product(([1, 2, 3], [4, 5], [6, 7])))
[[1 4 6]
 [1 4 7]
 [1 5 6]
 [1 5 7]
 [2 4 6]
 [2 4 7]
 [2 5 6]
 [2 5 7]
 [3 4 6]
 [3 4 7]
 [3 5 6]
 [3 5 7]]

91. How to create a record array from a regular array? (★★★)

ZZ = np.array([("Hello", 2.5, 3),
               ("World", 3.6, 2)])
regular= np.core.records.fromarrays(ZZ.T,
                                    names='col1, col2, col3',
                                    formats='S8, f8, i8')
print(regular)
[(b'Hello', 2.5, 3) (b'World', 3.6, 2)]

92. Consider a large vector Z, compute Z to the power of 3 using 3 different methods (★★★)

Z = np.random.rand(int(5e7))

%timeit np.power(Z,3)
%timeit Z*Z*Z
%timeit np.einsum('i,i,i->i',Z,Z,Z)
4.6 s ± 193 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
557 ms ± 16.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
593 ms ± 19.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

93. Consider two arrays A and B of shape (8,3) and (2,2). How to find rows of A that contain elements of each row of B regardless of the order of the elements in B? (★★★)

A = np.random.randint(0,5,(8,3))
B = np.random.randint(0,5,(2,2))

C = (A[..., np.newaxis, np.newaxis] == B)
row = np.where(C.any((3,1)).all(1))[0]
print(row)
[0 2 3 6 7]

94. Considering a 10x3 matrix, extract rows with unequal values (e.g. [2,2,3]) (★★★)

Z = np.random.randint(0,5,(10,3))
print(Z)

E = np.all(Z[:,1:] == Z[:,:-1], axis=1)
U = Z[~E]
print(U)

U = Z[Z.max(axis=1) != Z.min(axis=1),:]
print(U)
[[2 2 3]
 [2 1 1]
 [4 4 3]
 [3 3 2]
 [3 3 0]
 [2 0 3]
 [4 4 4]
 [1 4 0]
 [3 1 2]
 [3 3 1]]
[[2 2 3]
 [2 1 1]
 [4 4 3]
 [3 3 2]
 [3 3 0]
 [2 0 3]
 [1 4 0]
 [3 1 2]
 [3 3 1]]
[[2 2 3]
 [2 1 1]
 [4 4 3]
 [3 3 2]
 [3 3 0]
 [2 0 3]
 [1 4 0]
 [3 1 2]
 [3 3 1]]

95. Convert a vector of ints into a matrix binary representation (★★★)

I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128])
binary = ((I.reshape(-1,1) & (2**np.arange(8))) != 0).astype(int)
print(binary[:,::-1])
[[0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 1]
 [0 0 0 0 0 0 1 0]
 [0 0 0 0 0 0 1 1]
 [0 0 0 0 1 1 1 1]
 [0 0 0 1 0 0 0 0]
 [0 0 1 0 0 0 0 0]
 [0 1 0 0 0 0 0 0]
 [1 0 0 0 0 0 0 0]]

96. Given a two dimensional array, how to extract unique rows? (★★★)

Z = np.random.randint(0,2,(6,3))
T = np.ascontiguousarray(Z).view(np.dtype((np.void, Z.dtype.itemsize * Z.shape[1])))
_, idx = np.unique(T, return_index=True)
uZ = Z[idx]
print(uZ)
[[0 0 1]
 [0 1 0]
 [0 1 1]
 [1 0 0]]

97. Considering 2 vectors A & B, write the einsum equivalent of inner, outer, sum, and mul function (★★★)

A = np.random.uniform(0,1,10)
B = np.random.uniform(0,1,10)

print(np.einsum('i->', A))
print(np.einsum('i,i->i', A, B))
print(np.einsum('i,i', A, B))
print(np.einsum('i,j->ij', A, B))
4.075983517837068
[0.11852559 0.97144867 0.29852673 0.00153444 0.01007951 0.09154318
 0.02183748 0.05792591 0.31107278 0.07007961]
1.9525738919183642
[[0.11852559 0.22352757 0.08831299 0.01113801 0.03249977 0.04809327
  0.13463387 0.022667   0.07743695 0.22089436]
 [0.51511109 0.97144867 0.3838074  0.04840568 0.14124367 0.2090129
  0.58511752 0.09851057 0.33654025 0.96000479]
 [0.40065518 0.75559613 0.29852673 0.0376501  0.10985981 0.16257095
  0.45510643 0.07662187 0.26176217 0.74669505]
 [0.0163288  0.03079451 0.01216653 0.00153444 0.00447736 0.00662562
  0.01854798 0.00312274 0.01066818 0.03043175]
 [0.03675965 0.06932508 0.02738949 0.00345435 0.01007951 0.0149157
  0.04175549 0.00702997 0.02401638 0.06850842]
 [0.22560763 0.42547372 0.16809943 0.02120065 0.0618617  0.09154318
  0.25626895 0.04314552 0.14739743 0.42046155]
 [0.01922474 0.03625595 0.01432428 0.00180657 0.00527143 0.00780068
  0.02183748 0.00367657 0.0125602  0.03582885]
 [0.30289416 0.57122849 0.22568534 0.02846337 0.0830537  0.12290317
  0.34405914 0.05792591 0.19789144 0.56449929]
 [0.47613038 0.8979349  0.35476302 0.04474261 0.13055514 0.19319598
  0.54083912 0.09105585 0.31107278 0.88735703]
 [0.03760271 0.070915   0.02801764 0.00353358 0.01031068 0.01525778
  0.04271313 0.0071912  0.02456718 0.07007961]]

98. Considering a path described by two vectors (X,Y), how to sample it using equidistant samples (★★★)?

phi = np.arange(0, 10*np.pi, 0.1)
a = 1
X = a*phi*np.cos(phi)
Y = a*phi*np.sin(phi)

dr = (np.diff(X)**2 + np.diff(Y)**2)**.5
r = np.zeros_like(X)
r[1:] = np.cumsum(dr)
r_int = np.linspace(0, r.max(), 200)
X_int = np.interp(r_int, r, X)
Y_int = np.interp(r_int, r, Y)

99. Given an integer n and a 2D array X, select from X the rows which can be interpreted as draws from a multinomial distribution with n degrees, i.e., the rows which only contain integers and which sum to n. (★★★)

X = np.asarray([[1.0, 0.0, 3.0, 8.0],
                [2.0, 0.0, 1.0, 1.0],
                [1.5, 2.5, 1.0, 0.0]])
n = 4
M = np.logical_and.reduce(np.mod(X, 1) == 0, axis=-1)
M &= (X.sum(axis=-1) == n)
print(X[M])
[[2. 0. 1. 1.]]

100. Compute bootstrapped 95% confidence intervals for the mean of a 1D array X (i.e., resample the elements of an array with replacement N times, compute the mean of each sample, and then compute percentiles over the means). (★★★)

X = np.random.randn(100)
N = 1000

ind = np.random.randint(0, X.size, (N, X.size))
means = X[ind].mean(axis=1)
conf = np.percentile(means, [2.5, 97.5])
print(conf)
[-0.1795802   0.19789334]