diff --git a/examples/only-model/analytical_function.py b/examples/only-model/analytical_function.py
new file mode 100644
index 0000000000000000000000000000000000000000..c7dfaca489abd3dcd2a147f3192c22af8be0c810
--- /dev/null
+++ b/examples/only-model/analytical_function.py
@@ -0,0 +1,135 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Nov 20 14:48:43 2019
+
+@author: farid
+"""
+import numpy as np
+import scipy.stats as stats
+import scipy.stats as st
+import seaborn as sns
+
+
+def analytical_function(xx, t=None):
+    """
+    Analytical Non-Gaussian Function
+
+    Authors: Farid Mohammadi, University of Stuttgart
+             Sergey Oladyshkin, University of Stuttgart
+    Questions/Comments: Please email Farid Mohammadi at:
+       farid.mohammadi@iws.uni-stuttgart.de
+
+    For function details and reference information, see:
+        https://doi.org/10.3390/e21111081
+
+    Parameters
+    ----------
+    xx : array
+        [x1, x2, ..., xn] where xn ~ Uinform(-5, 5).
+    t : array, optional
+        vector of times. The default is None. ( k − 1 ) /9 and k = 1,..., 10
+
+    Returns
+    -------
+    array
+        row vector of time vectors (s, t).
+
+    """
+    nParamSets, nParams = xx.shape
+
+    if t is None:
+        t = np.arange(0, 10, 1.) / 9
+
+    term1 = (xx[:, 0]**2 + xx[:, 1] - 1)**2
+
+    term2 = xx[:, 0]**2
+
+    term3 = 0.1 * xx[:, 0] * np.exp(xx[:, 1])
+
+    term5 = 0
+    if nParams > 2:
+        for i in range(2, nParams):
+            term5 = term5 + xx[:, i]**3/i
+
+    const = term1 + term2 + term3 + 1 + term5
+
+    # Compute time dependent term
+    term4 = np.zeros((nParamSets, len(t)))
+    for idx in range(nParamSets):
+        term4[idx] = -2 * xx[idx, 0] * np.sqrt(0.5*t)
+
+    Output = term4 + np.repeat(const[:, None], len(t), axis=1)
+
+    return {'x_values': t, 'Z': Output[0]}
+
+
+if __name__ == "__main__":
+
+    MCSize = 10000
+    ndim = 10
+    sigma = 2
+
+    # -------------------------------------------------------------------------
+    # ----------------------- Synthetic data generation -----------------------
+    # -------------------------------------------------------------------------
+    t = np.arange(0, 10, 1.) / 9
+
+    MAP = np.zeros((1, ndim))
+    synthethicData = analytical_function(MAP, t=t)
+
+    # -------------------------------------------------------------------------
+    # ---------------------- Generate Prior distribution ----------------------
+    # -------------------------------------------------------------------------
+
+    xx = np.zeros((MCSize, ndim))
+
+    params = (-5, 5)
+
+    for idxDim in range(ndim):
+        lower, upper = params
+        xx[:, idxDim] = stats.uniform(
+            loc=lower, scale=upper-lower).rvs(size=MCSize)
+
+    # -------------------------------------------------------------------------
+    # ------------- BME and Kullback-Leibler Divergence -----------------------
+    # -------------------------------------------------------------------------
+    Outputs = analytical_function(xx, t=t)
+
+    cov_matrix = np.diag(np.repeat(sigma**2, synthethicData.shape[1]))
+
+    Likelihoods = st.multivariate_normal.pdf(
+        Outputs['Z'], mean=synthethicData[1], cov=cov_matrix)
+
+    sns.kdeplot(np.log(Likelihoods[Likelihoods > 0]),
+                shade=True, color="g", label='Ref. Likelihood')
+
+    normLikelihood = Likelihoods / np.nanmax(Likelihoods)
+    # Random numbers between 0 and 1
+    unif = np.random.rand(1, MCSize)[0]
+
+    # Reject the poorly performed prior
+    accepted = normLikelihood >= unif
+
+    # Prior-based estimation of BME
+    logBME = np.log(np.nanmean(Likelihoods))
+    print(f'\nThe Naive MC-Estimation of BME is {logBME:.5f}.')
+
+    # Posterior-based expectation of likelihoods
+    postExpLikelihoods = np.mean(np.log(Likelihoods[accepted]))
+
+    # Calculate Kullback-Leibler Divergence
+    KLD = postExpLikelihoods - logBME
+    print("The Kullback-Leibler divergence estimation is {KLD:.5f}.")
+
+    # -------------------------------------------------------------------------
+    # ----------------- Save the arrays as .npy files -------------------------
+    # -------------------------------------------------------------------------
+    if MCSize > 500000:
+        np.save(f"data/refBME_KLD_{ndim}.npy", (logBME, KLD))
+        np.save(f"data/mean_{ndim}.npy", np.mean(Outputs['Z'], axis=0))
+        np.save(f"data/std_{ndim}.npy", np.std(Outputs['Z'], axis=0))
+    else:
+        np.save(f"data/Prior_{ndim}.npy", xx)
+        np.save(f"data/origModelOutput_{ndim}.npy", Outputs[1:])
+        np.save(f"data/validLikelihoods_{ndim}.npy", Likelihoods)
diff --git a/examples/only-model/bayesvalidrox/__init__.py b/examples/only-model/bayesvalidrox/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..55c14687472fe6ff00a2438f31b9ba9ecd2992cd
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/__init__.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+__version__ = "0.0.5"
+
+from .pylink.pylink import PyLinkForwardModel
+from .surrogate_models.surrogate_models import MetaModel
+from .surrogate_models.meta_model_engine import MetaModelEngine
+from .surrogate_models.inputs import Input
+from .post_processing.post_processing import PostProcessing
+from .bayes_inference.bayes_inference import BayesInference
+from .bayes_inference.bayes_model_comparison import BayesModelComparison
+from .bayes_inference.discrepancy import Discrepancy
+
+__all__ = [
+    "__version__",
+    "PyLinkForwardModel",
+    "Input",
+    "Discrepancy",
+    "MetaModel",
+    "MetaModelEngine",
+    "PostProcessing",
+    "BayesInference",
+    "BayesModelComparison"
+    ]
diff --git a/examples/only-model/bayesvalidrox/__pycache__/__init__.cpython-311.pyc b/examples/only-model/bayesvalidrox/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..278aab3ea132ca1f0dbb5897698da7ba6551a21c
Binary files /dev/null and b/examples/only-model/bayesvalidrox/__pycache__/__init__.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__init__.py b/examples/only-model/bayesvalidrox/bayes_inference/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..df8d935680f96ab487cf087866e8bfd504762945
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayes_inference/__init__.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+
+from .bayes_inference import BayesInference
+from .mcmc import MCMC
+
+__all__ = [
+    "BayesInference",
+    "MCMC"
+    ]
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/__init__.cpython-311.pyc b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cb05638998140eeacbfda327b1cbbcff8e50b2e7
Binary files /dev/null and b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/__init__.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_inference.cpython-311.pyc b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_inference.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7f5bbe1146a0ace3a1e790b0274a9167756c5c79
Binary files /dev/null and b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_inference.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_model_comparison.cpython-311.pyc b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_model_comparison.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..919edf1404e4ac63d005a49146a39ded9defe066
Binary files /dev/null and b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/bayes_model_comparison.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/discrepancy.cpython-311.pyc b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/discrepancy.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..277082acf177169ba1aeb1049190f4e2821cf92f
Binary files /dev/null and b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/discrepancy.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/mcmc.cpython-311.pyc b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/mcmc.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..28789e25211ee767120c61154597194c2f92b447
Binary files /dev/null and b/examples/only-model/bayesvalidrox/bayes_inference/__pycache__/mcmc.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/bayes_inference.py b/examples/only-model/bayesvalidrox/bayes_inference/bayes_inference.py
new file mode 100644
index 0000000000000000000000000000000000000000..d566503a5718387be88925915229157bd8125a1a
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayes_inference/bayes_inference.py
@@ -0,0 +1,1537 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import numpy as np
+import os
+import copy
+import pandas as pd
+from tqdm import tqdm
+from scipy import stats
+import scipy.linalg as spla
+import joblib
+import seaborn as sns
+import corner
+import h5py
+import multiprocessing
+import gc
+from sklearn.metrics import mean_squared_error, r2_score
+from sklearn import preprocessing
+from matplotlib.patches import Patch
+import matplotlib.lines as mlines
+from matplotlib.backends.backend_pdf import PdfPages
+import matplotlib.pylab as plt
+
+from .mcmc import MCMC
+
+# Load the mplstyle
+#plt.style.use(os.path.join(os.path.split(__file__)[0],
+#                           '../', 'bayesvalidrox.mplstyle'))
+
+
+class BayesInference:
+    """
+    A class to perform Bayesian Analysis.
+
+
+    Attributes
+    ----------
+    MetaModel : obj
+        Meta model object.
+    discrepancy : obj
+        The discrepancy object for the sigma2s, i.e. the diagonal entries
+        of the variance matrix for a multivariate normal likelihood.
+    name : str, optional
+        The type of analysis, either calibration (`Calib`) or validation
+        (`Valid`). The default is `'Calib'`.
+    emulator : bool, optional
+        Analysis with emulator (MetaModel). The default is `True`.
+    bootstrap : bool, optional
+        Bootstrap the analysis. The default is `False`.
+    req_outputs : list, optional
+        The list of requested output to be used for the analysis.
+        The default is `None`. If None, all the defined outputs for the model
+        object is used.
+    selected_indices : dict, optional
+        A dictionary with the selected indices of each model output. The
+        default is `None`. If `None`, all measurement points are used in the
+        analysis.
+    samples : array of shape (n_samples, n_params), optional
+        The samples to be used in the analysis. The default is `None`. If
+        None the samples are drawn from the probablistic input parameter
+        object of the MetaModel object.
+    n_samples : int, optional
+        Number of samples to be used in the analysis. The default is `500000`.
+        If samples is not `None`, this argument will be assigned based on the
+        number of samples given.
+    measured_data : dict, optional
+        A dictionary containing the observation data. The default is `None`.
+        if `None`, the observation defined in the Model object of the
+        MetaModel is used.
+    inference_method : str, optional
+        A method for approximating the posterior distribution in the Bayesian
+        inference step. The default is `'rejection'`, which stands for
+        rejection sampling. A Markov Chain Monte Carlo sampler can be simply
+        selected by passing `'MCMC'`.
+    mcmc_params : dict, optional
+        A dictionary with args required for the Bayesian inference with
+        `MCMC`. The default is `None`.
+
+        Pass the mcmc_params like the following:
+
+            >>> mcmc_params:{
+                'init_samples': None,  # initial samples
+                'n_walkers': 100,  # number of walkers (chain)
+                'n_steps': 100000,  # number of maximum steps
+                'n_burn': 200,  # number of burn-in steps
+                'moves': None,  # Moves for the emcee sampler
+                'multiprocessing': False,  # multiprocessing
+                'verbose': False # verbosity
+                }
+        The items shown above are the default values. If any parmeter is
+        not defined, the default value will be assigned to it.
+    bayes_loocv : bool, optional
+        Bayesian Leave-one-out Cross Validation. The default is `False`. If
+        `True`, the LOOCV procedure is used to estimate the bayesian Model
+        Evidence (BME).
+    n_bootstrap_itrs : int, optional
+        Number of bootstrap iteration. The default is `1`. If bayes_loocv is
+        `True`, this is qualt to the total length of the observation data
+        set.
+    perturbed_data : array of shape (n_bootstrap_itrs, n_obs), optional
+        User defined perturbed data. The default is `[]`.
+    bootstrap_noise : float, optional
+        A noise level to perturb the data set. The default is `0.05`.
+    just_analysis : bool, optional
+        Justifiability analysis. The default is False.
+    valid_metrics : list, optional
+        List of the validation metrics. The following metrics are supported:
+
+        1. log_BME : logarithm of the Bayesian model evidence
+        2. KLD : Kullback-Leibler Divergence
+        3. inf_entropy: Information entropy
+        The default is `['log_BME']`.
+    plot_post_pred : bool, optional
+        Plot posterior predictive plots. The default is `True`.
+    plot_map_pred : bool, optional
+        Plot the model outputs vs the metamodel predictions for the maximum
+        a posteriori (defined as `max_a_posteriori`) parameter set. The
+        default is `False`.
+    max_a_posteriori : str, optional
+        Maximum a posteriori. `'mean'` and `'mode'` are available. The default
+        is `'mean'`.
+    corner_title_fmt : str, optional
+        Title format for the posterior distribution plot with python
+        package `corner`. The default is `'.2e'`.
+
+    """
+
+    def __init__(self, MetaModel, discrepancy=None, emulator=True,
+                 name='Calib', bootstrap=False, req_outputs=None,
+                 selected_indices=None, samples=None, n_samples=100000,
+                 measured_data=None, inference_method='rejection',
+                 mcmc_params=None, bayes_loocv=False, n_bootstrap_itrs=1,
+                 perturbed_data=[], bootstrap_noise=0.05, just_analysis=False,
+                 valid_metrics=['BME'], plot_post_pred=True,
+                 plot_map_pred=False, max_a_posteriori='mean',
+                 corner_title_fmt='.2e'):
+
+        self.MetaModel = MetaModel
+        self.Discrepancy = discrepancy
+        self.emulator = emulator
+        self.name = name
+        self.bootstrap = bootstrap
+        self.req_outputs = req_outputs
+        self.selected_indices = selected_indices
+        self.samples = samples
+        self.n_samples = n_samples
+        self.measured_data = measured_data
+        self.inference_method = inference_method
+        self.mcmc_params = mcmc_params
+        self.perturbed_data = perturbed_data
+        self.bayes_loocv = bayes_loocv
+        self.n_bootstrap_itrs = n_bootstrap_itrs
+        self.bootstrap_noise = bootstrap_noise
+        self.just_analysis = just_analysis
+        self.valid_metrics = valid_metrics
+        self.plot_post_pred = plot_post_pred
+        self.plot_map_pred = plot_map_pred
+        self.max_a_posteriori = max_a_posteriori
+        self.corner_title_fmt = corner_title_fmt
+
+    # -------------------------------------------------------------------------
+    def create_inference(self):
+        """
+        Starts the inference.
+
+        Returns
+        -------
+        BayesInference : obj
+            The Bayes inference object.
+
+        """
+
+        # Set some variables
+        if self.MetaModel is not None:
+            MetaModel = self.MetaModel
+            Model = MetaModel.ModelObj
+            n_params = MetaModel.n_params
+            output_names = Model.Output.names
+            par_names = MetaModel.ExpDesign.par_names
+        else:
+            
+
+        # If the prior is set by the user, take it.
+        if self.samples is None:
+            self.samples = MetaModel.ExpDesign.generate_samples(
+                self.n_samples, 'random')
+        else:
+            try:
+                samples = self.samples.values
+            except AttributeError:
+                samples = self.samples
+
+            # Take care of an additional Sigma2s
+            self.samples = samples[:, :n_params]
+
+            # Update number of samples
+            self.n_samples = self.samples.shape[0]
+
+        # ---------- Preparation of observation data ----------
+        # Read observation data and perturb it if requested.
+        if self.measured_data is None:
+            self.measured_data = Model.read_observation(case=self.name)
+        # Convert measured_data to a data frame
+        if not isinstance(self.measured_data, pd.DataFrame):
+            self.measured_data = pd.DataFrame(self.measured_data)
+
+        # Extract the total number of measurement points
+        if self.name.lower() == 'calib':
+            self.n_tot_measurement = Model.n_obs
+        else:
+            self.n_tot_measurement = Model.n_obs_valid
+
+        # Find measurement error (if not given) for post predictive plot
+        if not hasattr(self, 'measurement_error'):
+            if isinstance(self.Discrepancy, dict):
+                Disc = self.Discrepancy['known']
+            else:
+                Disc = self.Discrepancy
+            if isinstance(Disc.parameters, dict):
+                self.measurement_error = {k: np.sqrt(Disc.parameters[k]) for k
+                                          in Disc.parameters.keys()}
+            else:
+                try:
+                    self.measurement_error = np.sqrt(Disc.parameters)
+                except TypeError:
+                    pass
+
+        # ---------- Preparation of variance for covariance matrix ----------
+        # Independent and identically distributed
+        total_sigma2 = dict()
+        opt_sigma_flag = isinstance(self.Discrepancy, dict)
+        opt_sigma = None
+        for key_idx, key in enumerate(output_names):
+
+            # Find opt_sigma
+            if opt_sigma_flag and opt_sigma is None:
+                # Option A: known error with unknown bias term
+                opt_sigma = 'A'
+                known_discrepancy = self.Discrepancy['known']
+                self.Discrepancy = self.Discrepancy['infer']
+                sigma2 = np.array(known_discrepancy.parameters[key])
+
+            elif opt_sigma == 'A' or self.Discrepancy.parameters is not None:
+                # Option B: The sigma2 is known (no bias term)
+                if opt_sigma == 'A':
+                    sigma2 = np.array(known_discrepancy.parameters[key])
+                else:
+                    opt_sigma = 'B'
+                    sigma2 = np.array(self.Discrepancy.parameters[key])
+
+            elif not isinstance(self.Discrepancy.InputDisc, str):
+                # Option C: The sigma2 is unknown (bias term including error)
+                opt_sigma = 'C'
+                self.Discrepancy.opt_sigma = opt_sigma
+                n_measurement = self.measured_data[key].values.shape
+                sigma2 = np.zeros((n_measurement[0]))
+
+            total_sigma2[key] = sigma2
+
+            self.Discrepancy.opt_sigma = opt_sigma
+            self.Discrepancy.total_sigma2 = total_sigma2
+
+        # If inferred sigma2s obtained from e.g. calibration are given
+        try:
+            self.sigma2s = self.Discrepancy.get_sample(self.n_samples)
+        except:
+            pass
+        
+        # ---------------- Bootstrap & TOM --------------------
+        if self.bootstrap or self.bayes_loocv or self.just_analysis:
+            if len(self.perturbed_data) == 0:
+                # zero mean noise Adding some noise to the observation function
+                self.perturbed_data = self._perturb_data(
+                    self.measured_data, output_names
+                    )
+            else:
+                self.n_bootstrap_itrs = len(self.perturbed_data)
+
+            # -------- Model Discrepancy -----------
+            if hasattr(self, 'error_model') and self.error_model \
+               and self.name.lower() != 'calib':
+                # Select posterior mean as MAP
+                MAP_theta = self.samples.mean(axis=0).reshape((1, n_params))
+                # MAP_theta = stats.mode(self.samples,axis=0)[0]
+
+                # Evaluate the (meta-)model at the MAP
+                y_MAP, y_std_MAP = MetaModel.eval_metamodel(samples=MAP_theta)
+
+                # Train a GPR meta-model using MAP
+                print('Create error meta model')
+                self.error_MetaModel = MetaModel.create_model_error(
+                    self.bias_inputs, y_MAP, Name=self.name
+                    )
+
+            # -----------------------------------------------------
+            # ----- Loop over the perturbed observation data ------
+            # -----------------------------------------------------
+            # Initilize arrays
+            logLikelihoods = np.zeros((self.n_samples, self.n_bootstrap_itrs),
+                                      dtype=np.float16)
+            BME_Corr = np.zeros((self.n_bootstrap_itrs))
+            log_BME = np.zeros((self.n_bootstrap_itrs))
+            KLD = np.zeros((self.n_bootstrap_itrs))
+            inf_entropy = np.zeros((self.n_bootstrap_itrs))
+
+            # Compute the prior predtions
+            # Evaluate the MetaModel
+            if self.emulator:
+                y_hat, y_std = MetaModel.eval_metamodel(samples=self.samples)
+                self.__mean_pce_prior_pred = y_hat
+                self._std_pce_prior_pred = y_std
+
+                # Correct the predictions with Model discrepancy
+                if hasattr(self, 'error_model') and self.error_model:
+                    y_hat_corr, y_std = self.error_MetaModel.eval_model_error(
+                        self.bias_inputs, self.__mean_pce_prior_pred
+                        )
+                    self.__mean_pce_prior_pred = y_hat_corr
+                    self._std_pce_prior_pred = y_std
+
+                # Surrogate model's error using RMSE of test data
+                if hasattr(MetaModel, 'rmse'):
+                    surrError = MetaModel.rmse
+                else:
+                    surrError = None
+
+            else:
+                # Evaluate the original model
+                self.__model_prior_pred = self._eval_model(
+                    samples=self.samples, key='PriorPred'
+                    )
+                surrError = None
+
+            # Start the likelihood-BME computations for the perturbed data
+            for itr_idx, data in tqdm(
+                    enumerate(self.perturbed_data),
+                    total=self.n_bootstrap_itrs,
+                    desc="Boostraping the BME calculations", ascii=True
+                    ):
+
+                # ---------------- Likelihood calculation ----------------
+                if self.emulator:
+                    model_evals = self.__mean_pce_prior_pred
+                else:
+                    model_evals = self.__model_prior_pred
+                
+                # Leave one out
+                if self.bayes_loocv or self.just_analysis:
+                    self.selected_indices = np.nonzero(data)[0]
+
+                # Prepare data dataframe
+                nobs = list(self.measured_data.count().values[1:])
+                numbers = list(np.cumsum(nobs))
+                indices = list(zip([0] + numbers, numbers))
+                data_dict = {
+                    output_names[i]: data[j:k] for i, (j, k) in
+                    enumerate(indices)
+                    }
+                
+                # Unknown sigma2
+                if opt_sigma == 'C' or hasattr(self, 'sigma2s'):
+                    logLikelihoods[:, itr_idx] = self.normpdf(
+                        model_evals, data_dict, total_sigma2,
+                        sigma2=self.sigma2s, std=surrError
+                        )
+                else:
+                    # known sigma2
+                    logLikelihoods[:, itr_idx] = self.normpdf(
+                        model_evals, data_dict, total_sigma2,
+                        std=surrError
+                        )
+
+                # ---------------- BME Calculations ----------------
+                # BME (log)
+                log_BME[itr_idx] = np.log(
+                    np.nanmean(np.exp(logLikelihoods[:, itr_idx],
+                                      dtype=np.longdouble)) # changed for windows
+                    )
+
+                # BME correction when using Emulator
+                if self.emulator:
+                    BME_Corr[itr_idx] = self.__corr_factor_BME(
+                        data_dict, total_sigma2, log_BME[itr_idx]
+                        )
+
+                # Rejection Step
+                if 'kld' in list(map(str.lower, self.valid_metrics)) and\
+                   'inf_entropy' in list(map(str.lower, self.valid_metrics)):
+                    # Random numbers between 0 and 1
+                    unif = np.random.rand(1, self.n_samples)[0]
+
+                    # Reject the poorly performed prior
+                    Likelihoods = np.exp(logLikelihoods[:, itr_idx],
+                                         dtype=np.float64)
+                    accepted = (Likelihoods/np.max(Likelihoods)) >= unif
+                    posterior = self.samples[accepted]
+
+                    # Posterior-based expectation of likelihoods
+                    postExpLikelihoods = np.mean(
+                        logLikelihoods[:, itr_idx][accepted]
+                        )
+
+                    # Calculate Kullback-Leibler Divergence
+                    KLD[itr_idx] = postExpLikelihoods - log_BME[itr_idx]
+
+                # Posterior-based expectation of prior densities
+                if 'inf_entropy' in list(map(str.lower, self.valid_metrics)):
+                    n_thread = int(0.875 * multiprocessing.cpu_count())
+                    with multiprocessing.Pool(n_thread) as p:
+                        postExpPrior = np.mean(np.concatenate(
+                            p.map(
+                                MetaModel.ExpDesign.JDist.pdf,
+                                np.array_split(posterior.T, n_thread, axis=1))
+                            )
+                            )
+                    # Information Entropy based on Entropy paper Eq. 38
+                    inf_entropy[itr_idx] = log_BME[itr_idx] - postExpPrior - \
+                        postExpLikelihoods
+
+                # Clear memory
+                gc.collect(generation=2)
+
+            # ---------- Store metrics for perturbed data set ----------------
+            # Likelihoods (Size: n_samples, n_bootstrap_itr)
+            self.log_likes = logLikelihoods
+
+            # BME (log), KLD, infEntropy (Size: 1,n_bootstrap_itr)
+            self.log_BME = log_BME
+
+            # BMECorrFactor (log) (Size: 1,n_bootstrap_itr)
+            if self.emulator:
+                self.log_BME_corr_factor = BME_Corr
+
+            if 'kld' in list(map(str.lower, self.valid_metrics)):
+                self.KLD = KLD
+            if 'inf_entropy' in list(map(str.lower, self.valid_metrics)):
+                self.inf_entropy = inf_entropy
+
+            # BME = BME + BMECorrFactor
+            if self.emulator:
+                self.log_BME += self.log_BME_corr_factor
+
+        # ---------------- Parameter Bayesian inference ----------------
+        if self.inference_method.lower() == 'mcmc':
+            # Instantiate the MCMC object
+            MCMC_Obj = MCMC(self)
+            self.MCMC_Obj = MCMC_Obj
+            self.posterior_df = MCMC_Obj.run_sampler(
+                self.measured_data, total_sigma2
+                )
+
+        elif self.name.lower() == 'valid':
+            # Convert to a dataframe if samples are provided after calibration.
+            self.posterior_df = pd.DataFrame(self.samples, columns=par_names)
+
+        else:
+            # Rejection sampling
+            self.posterior_df = self._rejection_sampling()
+        # Provide posterior's summary
+        print('\n')
+        print('-'*15 + 'Posterior summary' + '-'*15)
+        pd.options.display.max_columns = None
+        pd.options.display.max_rows = None
+        print(self.posterior_df.describe())
+        print('-'*50)
+
+        # -------- Model Discrepancy -----------
+        if hasattr(self, 'error_model') and self.error_model \
+           and self.name.lower() == 'calib':
+            if self.inference_method.lower() == 'mcmc':
+                self.error_MetaModel = MCMC_Obj.error_MetaModel
+            else:
+                # Select posterior mean as MAP
+                if opt_sigma == "B":
+                    posterior_df = self.posterior_df.values
+                else:
+                    posterior_df = self.posterior_df.values[:, :-Model.n_outputs]
+
+                # Select posterior mean as Maximum a posteriori
+                map_theta = posterior_df.mean(axis=0).reshape((1, n_params))
+                # map_theta = stats.mode(Posterior_df,axis=0)[0]
+
+                # Evaluate the (meta-)model at the MAP
+                y_MAP, y_std_MAP = MetaModel.eval_metamodel(samples=map_theta)
+
+                # Train a GPR meta-model using MAP
+                self.error_MetaModel = MetaModel.create_model_error(
+                    self.bias_inputs, y_MAP, Name=self.name
+                    )
+
+        # -------- Posterior perdictive -----------
+        self._posterior_predictive()
+
+        # -----------------------------------------------------
+        # ------------------ Visualization --------------------
+        # -----------------------------------------------------
+        # Create Output directory, if it doesn't exist already.
+        out_dir = f'Outputs_Bayes_{Model.name}_{self.name}'
+        os.makedirs(out_dir, exist_ok=True)
+
+        # -------- Posteior parameters --------
+        if opt_sigma != "B":
+            par_names.extend(
+                [self.Discrepancy.InputDisc.Marginals[i].name for i
+                 in range(len(self.Discrepancy.InputDisc.Marginals))]
+                )
+        # Pot with corner
+        figPosterior = corner.corner(self.posterior_df.to_numpy(),
+                                     labels=par_names,
+                                     quantiles=[0.15, 0.5, 0.85],
+                                     show_titles=True,
+                                     title_fmt=self.corner_title_fmt,
+                                     labelpad=0.2,
+                                     use_math_text=True,
+                                     title_kwargs={"fontsize": 28},
+                                     plot_datapoints=False,
+                                     plot_density=False,
+                                     fill_contours=True,
+                                     smooth=0.5,
+                                     smooth1d=0.5)
+
+        # Loop over axes and set x limits
+        if opt_sigma == "B":
+            axes = np.array(figPosterior.axes).reshape(
+                (len(par_names), len(par_names))
+                )
+            for yi in range(len(par_names)):
+                ax = axes[yi, yi]
+                ax.set_xlim(MetaModel.bound_tuples[yi])
+                for xi in range(yi):
+                    ax = axes[yi, xi]
+                    ax.set_xlim(MetaModel.bound_tuples[xi])
+        plt.close()
+
+        # Turn off gridlines
+        for ax in figPosterior.axes:
+            ax.grid(False)
+
+        if self.emulator:
+            plotname = f'/Posterior_Dist_{Model.name}_emulator'
+        else:
+            plotname = f'/Posterior_Dist_{Model.name}'
+
+        figPosterior.set_size_inches((24, 16))
+        figPosterior.savefig(f'./{out_dir}{plotname}.pdf',
+                             bbox_inches='tight')
+
+        # -------- Plot MAP --------
+        if self.plot_map_pred:
+            self._plot_max_a_posteriori()
+
+        # -------- Plot log_BME dist --------
+        if self.bootstrap:
+
+            # Computing the TOM performance
+            self.log_BME_tom = stats.chi2.rvs(
+                self.n_tot_measurement, size=self.log_BME.shape[0]
+                )
+
+            fig, ax = plt.subplots()
+            sns.kdeplot(self.log_BME_tom, ax=ax, color="green", shade=True)
+            sns.kdeplot(
+                self.log_BME, ax=ax, color="blue", shade=True,
+                label='Model BME')
+
+            ax.set_xlabel('log$_{10}$(BME)')
+            ax.set_ylabel('Probability density')
+
+            legend_elements = [
+                Patch(facecolor='green', edgecolor='green', label='TOM BME'),
+                Patch(facecolor='blue', edgecolor='blue', label='Model BME')
+                ]
+            ax.legend(handles=legend_elements)
+
+            if self.emulator:
+                plotname = f'/BME_hist_{Model.name}_emulator'
+            else:
+                plotname = f'/BME_hist_{Model.name}'
+
+            plt.savefig(f'./{out_dir}{plotname}.pdf', bbox_inches='tight')
+            plt.show()
+            plt.close()
+
+        # -------- Posteior perdictives --------
+        if self.plot_post_pred:
+            # Plot the posterior predictive
+            self._plot_post_predictive()
+
+        return self
+
+    # -------------------------------------------------------------------------
+    def _perturb_data(self, data, output_names):
+        """
+        Returns an array with n_bootstrap_itrs rowsof perturbed data.
+        The first row includes the original observation data.
+        If `self.bayes_loocv` is True, a 2d-array will be returned with
+        repeated rows and zero diagonal entries.
+
+        Parameters
+        ----------
+        data : pandas DataFrame
+            Observation data.
+        output_names : list
+            List of the output names.
+
+        Returns
+        -------
+        final_data : array
+            Perturbed data set.
+
+        """
+        noise_level = self.bootstrap_noise
+        obs_data = data[output_names].values
+        n_measurement, n_outs = obs_data.shape
+        self.n_tot_measurement = obs_data[~np.isnan(obs_data)].shape[0]
+        # Number of bootstrap iterations
+        if self.bayes_loocv:
+            self.n_bootstrap_itrs = self.n_tot_measurement
+
+        # Pass loocv dataset
+        if self.bayes_loocv:
+            obs = obs_data.T[~np.isnan(obs_data.T)]
+            final_data = np.repeat(np.atleast_2d(obs), self.n_bootstrap_itrs,
+                                   axis=0)
+            np.fill_diagonal(final_data, 0)
+            return final_data
+
+        else:
+            final_data = np.zeros(
+                (self.n_bootstrap_itrs, self.n_tot_measurement)
+                )
+            final_data[0] = obs_data.T[~np.isnan(obs_data.T)]
+            for itrIdx in range(1, self.n_bootstrap_itrs):
+                data = np.zeros((n_measurement, n_outs))
+                for idx in range(len(output_names)):
+                    std = np.nanstd(obs_data[:, idx])
+                    if std == 0:
+                        std = 0.001
+                    noise = std * noise_level
+                    data[:, idx] = np.add(
+                        obs_data[:, idx],
+                        np.random.normal(0, 1, obs_data.shape[0]) * noise,
+                    )
+
+                final_data[itrIdx] = data.T[~np.isnan(data.T)]
+
+            return final_data
+
+    # -------------------------------------------------------------------------
+    def _logpdf(self, x, mean, cov):
+        """
+        computes the likelihood based on a multivariate normal distribution.
+
+        Parameters
+        ----------
+        x : TYPE
+            DESCRIPTION.
+        mean : array_like
+            Observation data.
+        cov : 2d array
+            Covariance matrix of the distribution.
+
+        Returns
+        -------
+        log_lik : float
+            Log likelihood.
+
+        """
+        n = len(mean)
+        L = spla.cholesky(cov, lower=True)
+        beta = np.sum(np.log(np.diag(L)))
+        dev = x - mean
+        alpha = dev.dot(spla.cho_solve((L, True), dev))
+        log_lik = -0.5 * alpha - beta - n / 2. * np.log(2 * np.pi)
+        return log_lik
+
+    # -------------------------------------------------------------------------
+    def _eval_model(self, samples=None, key='MAP'):
+        """
+        Evaluates Forward Model.
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params), optional
+            Parameter sets. The default is None.
+        key : str, optional
+            Key string to be passed to the run_model_parallel method.
+            The default is 'MAP'.
+
+        Returns
+        -------
+        model_outputs : dict
+            Model outputs.
+
+        """
+        MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+
+        if samples is None:
+            self.samples = MetaModel.ExpDesign.generate_samples(
+                self.n_samples, 'random')
+        else:
+            self.samples = samples
+            self.n_samples = len(samples)
+
+        model_outputs, _ = Model.run_model_parallel(
+            self.samples, key_str=key+self.name)
+
+        # Clean up
+        # Zip the subdirectories
+        try:
+            dir_name = f'{Model.name}MAP{self.name}'
+            key = dir_name + '_'
+            Model.zip_subdirs(dir_name, key)
+        except:
+            pass
+
+        return model_outputs
+
+    # -------------------------------------------------------------------------
+    def _kernel_rbf(self, X, hyperparameters):
+        """
+        Isotropic squared exponential kernel.
+
+        Higher l values lead to smoother functions and therefore to coarser
+        approximations of the training data. Lower l values make functions
+        more wiggly with wide uncertainty regions between training data points.
+
+        sigma_f controls the marginal variance of b(x)
+
+        Parameters
+        ----------
+        X : ndarray of shape (n_samples_X, n_features)
+
+        hyperparameters : Dict
+            Lambda characteristic length
+            sigma_f controls the marginal variance of b(x)
+            sigma_0 unresolvable error nugget term, interpreted as random
+                    error that cannot be attributed to measurement error.
+        Returns
+        -------
+        var_cov_matrix : ndarray of shape (n_samples_X,n_samples_X)
+            Kernel k(X, X).
+
+        """
+        from sklearn.gaussian_process.kernels import RBF
+        min_max_scaler = preprocessing.MinMaxScaler()
+        X_minmax = min_max_scaler.fit_transform(X)
+
+        nparams = len(hyperparameters)
+        # characteristic length (0,1]
+        Lambda = hyperparameters[0]
+        # sigma_f controls the marginal variance of b(x)
+        sigma2_f = hyperparameters[1]
+
+        # cov_matrix = sigma2_f*rbf_kernel(X_minmax, gamma = 1/Lambda**2)
+
+        rbf = RBF(length_scale=Lambda)
+        cov_matrix = sigma2_f * rbf(X_minmax)
+        if nparams > 2:
+            # (unresolvable error) nugget term that is interpreted as random
+            # error that cannot be attributed to measurement error.
+            sigma2_0 = hyperparameters[2:]
+            for i, j in np.ndindex(cov_matrix.shape):
+                cov_matrix[i, j] += np.sum(sigma2_0) if i == j else 0
+
+        return cov_matrix
+
+    # -------------------------------------------------------------------------
+    def normpdf(self, outputs, obs_data, total_sigma2s, sigma2=None, std=None):
+        """
+        Calculates the likelihood of simulation outputs compared with
+        observation data.
+
+        Parameters
+        ----------
+        outputs : dict
+            A dictionary containing the simulation outputs as array of shape
+            (n_samples, n_measurement) for each model output.
+        obs_data : dict
+            A dictionary/dataframe containing the observation data.
+        total_sigma2s : dict
+            A dictionary with known values of the covariance diagonal entries,
+            a.k.a sigma^2.
+        sigma2 : array, optional
+            An array of the sigma^2 samples, when the covariance diagonal
+            entries are unknown and are being jointly inferred. The default is
+            None.
+        std : dict, optional
+            A dictionary containing the root mean squared error as array of
+            shape (n_samples, n_measurement) for each model output. The default
+            is None.
+
+        Returns
+        -------
+        logLik : array of shape (n_samples)
+            Likelihoods.
+
+        """
+        Model = self.MetaModel.ModelObj
+        logLik = 0.0
+
+        # Extract the requested model outputs for likelihood calulation
+        if self.req_outputs is None:
+            req_outputs = Model.Output.names
+        else:
+            req_outputs = list(self.req_outputs)
+
+        # Loop over the outputs
+        for idx, out in enumerate(req_outputs):
+            
+            # (Meta)Model Output
+            nsamples, nout = outputs[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout]
+
+            # Add the std of the PCE is chosen as emulator.
+            if self.emulator:
+                if std is not None:
+                    tot_sigma2s += std[out]**2
+
+            # Covariance Matrix
+            covMatrix = np.diag(tot_sigma2s)
+
+            # Select the data points to compare
+            try:
+                indices = self.selected_indices[out]
+            except:
+                indices = list(range(nout))
+            covMatrix = np.diag(covMatrix[indices, indices])
+
+            # If sigma2 is not given, use given total_sigma2s
+            if sigma2 is None:
+                logLik += stats.multivariate_normal.logpdf(
+                    outputs[out][:, indices], data[indices], covMatrix)
+                continue
+
+            # Loop over each run/sample and calculate logLikelihood
+            logliks = np.zeros(nsamples)
+            for s_idx in range(nsamples):
+
+                # Simulation run
+                tot_outputs = outputs[out]
+
+                # Covariance Matrix
+                covMatrix = np.diag(tot_sigma2s)
+
+                if sigma2 is not None:
+                    # Check the type error term
+                    if hasattr(self, 'bias_inputs') and \
+                       not hasattr(self, 'error_model'):
+                        # Infer a Bias model usig Gaussian Process Regression
+                        bias_inputs = np.hstack(
+                            (self.bias_inputs[out],
+                             tot_outputs[s_idx].reshape(-1, 1)))
+
+                        params = sigma2[s_idx, idx*3:(idx+1)*3]
+                        covMatrix = self._kernel_rbf(bias_inputs, params)
+                    else:
+                        # Infer equal sigma2s
+                        try:
+                            sigma_2 = sigma2[s_idx, idx]
+                        except TypeError:
+                            sigma_2 = 0.0
+
+                        covMatrix += sigma_2 * np.eye(nout)
+                        # covMatrix = np.diag(sigma2 * total_sigma2s)
+
+                # Select the data points to compare
+                try:
+                    indices = self.selected_indices[out]
+                except:
+                    indices = list(range(nout))
+                covMatrix = np.diag(covMatrix[indices, indices])
+
+                # Compute loglikelihood
+                logliks[s_idx] = self._logpdf(
+                    tot_outputs[s_idx, indices], data[indices], covMatrix
+                    )
+
+            logLik += logliks
+        return logLik
+
+    # -------------------------------------------------------------------------
+    def _corr_factor_BME_old(self, Data, total_sigma2s, posterior):
+        """
+        Calculates the correction factor for BMEs.
+        """
+        MetaModel = self.MetaModel
+        OrigModelOutput = MetaModel.ExpDesign.Y
+        Model = MetaModel.ModelObj
+
+        # Posterior with guassian-likelihood
+        postDist = stats.gaussian_kde(posterior.T)
+
+        # Remove NaN
+        Data = Data[~np.isnan(Data)]
+        total_sigma2s = total_sigma2s[~np.isnan(total_sigma2s)]
+
+        # Covariance Matrix
+        covMatrix = np.diag(total_sigma2s[:self.n_tot_measurement])
+
+        # Extract the requested model outputs for likelihood calulation
+        if self.req_outputs is None:
+            OutputType = Model.Output.names
+        else:
+            OutputType = list(self.req_outputs)
+
+        # SampleSize = OrigModelOutput[OutputType[0]].shape[0]
+
+
+        # Flatten the OutputType for OrigModel
+        TotalOutputs = np.concatenate([OrigModelOutput[x] for x in OutputType], 1)
+
+        NrofBayesSamples = self.n_samples
+        # Evaluate MetaModel on the experimental design
+        Samples = MetaModel.ExpDesign.X
+        OutputRS, stdOutputRS = MetaModel.eval_metamodel(samples=Samples)
+
+        # Reset the NrofSamples to NrofBayesSamples
+        self.n_samples = NrofBayesSamples
+
+        # Flatten the OutputType for MetaModel
+        TotalPCEOutputs = np.concatenate([OutputRS[x] for x in OutputRS], 1)
+        TotalPCEstdOutputRS= np.concatenate([stdOutputRS[x] for x in stdOutputRS], 1)
+
+        logweight = 0
+        for i, sample in enumerate(Samples):
+            # Compute likelilhood output vs RS
+            covMatrix = np.diag(TotalPCEstdOutputRS[i]**2)
+            logLik = self._logpdf(TotalOutputs[i], TotalPCEOutputs[i], covMatrix)
+            # Compute posterior likelihood of the collocation points
+            logpostLik = np.log(postDist.pdf(sample[:, None]))[0]
+            if logpostLik != -np.inf:
+                logweight += logLik + logpostLik
+        return logweight
+
+    # -------------------------------------------------------------------------
+    def __corr_factor_BME(self, obs_data, total_sigma2s, logBME):
+        """
+        Calculates the correction factor for BMEs.
+        """
+        MetaModel = self.MetaModel
+        samples = MetaModel.ExpDesign.X
+        model_outputs = MetaModel.ExpDesign.Y
+        Model = MetaModel.ModelObj
+        n_samples = samples.shape[0]
+
+        # Extract the requested model outputs for likelihood calulation
+        output_names = Model.Output.names
+
+        # Evaluate MetaModel on the experimental design and ValidSet
+        OutputRS, stdOutputRS = MetaModel.eval_metamodel(samples=samples)
+
+        logLik_data = np.zeros((n_samples))
+        logLik_model = np.zeros((n_samples))
+        # Loop over the outputs
+        for idx, out in enumerate(output_names):
+
+            # (Meta)Model Output
+            nsamples, nout = model_outputs[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout]
+
+            # Covariance Matrix
+            covMatrix_data = np.diag(tot_sigma2s)
+
+            for i, sample in enumerate(samples):
+
+                # Simulation run
+                y_m = model_outputs[out][i]
+
+                # Surrogate prediction
+                y_m_hat = OutputRS[out][i]
+
+                # CovMatrix with the surrogate error
+                covMatrix = np.eye(len(y_m)) * 1/(2*np.pi)
+
+                # Select the data points to compare
+                try:
+                    indices = self.selected_indices[out]
+                except:
+                    indices = list(range(nout))
+                covMatrix = np.diag(covMatrix[indices, indices])
+                covMatrix_data = np.diag(covMatrix_data[indices, indices])
+
+                # Compute likelilhood output vs data
+                logLik_data[i] += self._logpdf(
+                    y_m_hat[indices], data[indices],
+                    covMatrix_data
+                    )
+
+                # Compute likelilhood output vs surrogate
+                logLik_model[i] += self._logpdf(
+                    y_m_hat[indices], y_m[indices],
+                    covMatrix
+                    )
+
+        # Weight
+        logLik_data -= logBME
+        weights = np.mean(np.exp(logLik_model+logLik_data))
+
+        return np.log(weights)
+
+    # -------------------------------------------------------------------------
+    def _rejection_sampling(self):
+        """
+        Performs rejection sampling to update the prior distribution on the
+        input parameters.
+
+        Returns
+        -------
+        posterior : pandas.dataframe
+            Posterior samples of the input parameters.
+
+        """
+
+        MetaModel = self.MetaModel
+        try:
+            sigma2_prior = self.Discrepancy.sigma2_prior
+        except:
+            sigma2_prior = None
+            
+        # Check if the discrepancy is defined as a distribution:
+        samples = self.samples
+
+        if sigma2_prior is not None:
+            samples = np.hstack((samples, sigma2_prior))
+
+        # Take the first column of Likelihoods (Observation data without noise)
+        if self.just_analysis or self.bayes_loocv:
+            index = self.n_tot_measurement-1
+            # account for numerical overflow, especially for windows
+            scale = 0
+            if np.max(self.log_likes[:, index])>709:
+                scale = np.max(self.log_likes[:, index])-709
+                    
+            self.log_likes[:, 0]-=scale
+            likelihoods = np.exp(self.log_likes[:, index], dtype=np.longdouble)
+        else:
+            # account for numerical overflow, especially for windows
+            scale = 0
+            if np.max(self.log_likes[:, 0])>709:            
+                scale = np.max(self.log_likes[:, 0])-709
+                
+            self.log_likes[:, 0]-=scale
+            likelihoods = np.exp(self.log_likes[:, 0], dtype=np.longdouble)
+
+        n_samples = len(likelihoods)
+        norm_ikelihoods = likelihoods / np.max(likelihoods)
+
+        # Normalize based on min if all Likelihoods are zero
+        if all(likelihoods == 0.0):
+            likelihoods = self.log_likes[:, 0]
+            norm_ikelihoods = likelihoods / np.min(likelihoods)
+
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, n_samples)[0]
+
+        # Reject the poorly performed prior
+        accepted_samples = samples[norm_ikelihoods >= unif]
+
+        # Output the Posterior
+        par_names = MetaModel.ExpDesign.par_names
+        if sigma2_prior is not None:
+            for name in self.Discrepancy.name:
+                par_names.append(name)
+
+        return pd.DataFrame(accepted_samples, columns=sigma2_prior)
+
+    # -------------------------------------------------------------------------
+    def _posterior_predictive(self):
+        """
+        Stores the prior- and posterior predictive samples, i.e. model
+        evaluations using the samples, into hdf5 files.
+
+        priorPredictive.hdf5 : Prior predictive samples.
+        postPredictive_wo_noise.hdf5 : Posterior predictive samples without
+        the additive noise.
+        postPredictive.hdf5 : Posterior predictive samples with the additive
+        noise.
+
+        Returns
+        -------
+        None.
+
+        """
+
+        MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+
+        # Make a directory to save the prior/posterior predictive
+        out_dir = f'Outputs_Bayes_{Model.name}_{self.name}'
+        os.makedirs(out_dir, exist_ok=True)
+
+        # Read observation data and perturb it if requested
+        if self.measured_data is None:
+            self.measured_data = Model.read_observation(case=self.name)
+
+        if not isinstance(self.measured_data, pd.DataFrame):
+            self.measured_data = pd.DataFrame(self.measured_data)
+
+        # X_values
+        x_values = MetaModel.ExpDesign.x_values
+
+        try:
+            sigma2_prior = self.Discrepancy.sigma2_prior
+        except:
+            sigma2_prior = None
+
+        # Extract posterior samples
+        posterior_df = self.posterior_df
+
+        # Take care of the sigma2
+        if sigma2_prior is not None:
+            try:
+                sigma2s = posterior_df[self.Discrepancy.name].values
+                posterior_df = posterior_df.drop(
+                    labels=self.Discrepancy.name, axis=1
+                    )
+            except:
+                sigma2s = self.sigma2s
+
+        # Posterior predictive
+        if self.emulator:
+            if self.inference_method == 'rejection':
+                prior_pred = self.__mean_pce_prior_pred
+            if self.name.lower() != 'calib':
+                post_pred = self.__mean_pce_prior_pred
+                post_pred_std = self._std_pce_prior_pred
+            else:
+                post_pred, post_pred_std = MetaModel.eval_metamodel(
+                    samples=posterior_df.values
+                    )
+
+        else:
+            if self.inference_method == 'rejection':
+                prior_pred = self.__model_prior_pred
+            if self.name.lower() != 'calib':
+                post_pred = self.__mean_pce_prior_pred,
+                post_pred_std = self._std_pce_prior_pred
+            else:
+                post_pred = self._eval_model(
+                    samples=posterior_df.values, key='PostPred'
+                    )
+        # Correct the predictions with Model discrepancy
+        if hasattr(self, 'error_model') and self.error_model:
+            y_hat, y_std = self.error_MetaModel.eval_model_error(
+                self.bias_inputs, post_pred
+                )
+            post_pred, post_pred_std = y_hat, y_std
+
+        # Add discrepancy from likelihood Sample to the current posterior runs
+        total_sigma2 = self.Discrepancy.total_sigma2
+        post_pred_withnoise = copy.deepcopy(post_pred)
+        for varIdx, var in enumerate(Model.Output.names):
+            for i in range(len(post_pred[var])):
+                pred = post_pred[var][i]
+
+                # Known sigma2s
+                clean_sigma2 = total_sigma2[var][~np.isnan(total_sigma2[var])]
+                tot_sigma2 = clean_sigma2[:len(pred)]
+                cov = np.diag(tot_sigma2)
+
+                # Check the type error term
+                if sigma2_prior is not None:
+                    # Inferred sigma2s
+                    if hasattr(self, 'bias_inputs') and \
+                       not hasattr(self, 'error_model'):
+                        # TODO: Infer a Bias model usig GPR
+                        bias_inputs = np.hstack((
+                            self.bias_inputs[var], pred.reshape(-1, 1)))
+                        params = sigma2s[i, varIdx*3:(varIdx+1)*3]
+                        cov = self._kernel_rbf(bias_inputs, params)
+                    else:
+                        # Infer equal sigma2s
+                        try:
+                            sigma2 = sigma2s[i, varIdx]
+                        except TypeError:
+                            sigma2 = 0.0
+
+                        # Convert biasSigma2s to a covMatrix
+                        cov += sigma2 * np.eye(len(pred))
+
+                if self.emulator:
+                    if hasattr(MetaModel, 'rmse') and \
+                       MetaModel.rmse is not None:
+                        stdPCE = MetaModel.rmse[var]
+                    else:
+                        stdPCE = post_pred_std[var][i]
+                    # Expected value of variance (Assump: i.i.d stds)
+                    cov += np.diag(stdPCE**2)
+
+                # Sample a multivariate normal distribution with mean of
+                # prediction and variance of cov
+                post_pred_withnoise[var][i] = np.random.multivariate_normal(
+                    pred, cov, 1
+                    )
+
+        # ----- Prior Predictive -----
+        if self.inference_method.lower() == 'rejection':
+            # Create hdf5 metadata
+            hdf5file = f'{out_dir}/priorPredictive.hdf5'
+            hdf5_exist = os.path.exists(hdf5file)
+            if hdf5_exist:
+                os.remove(hdf5file)
+            file = h5py.File(hdf5file, 'a')
+
+            # Store x_values
+            if type(x_values) is dict:
+                grp_x_values = file.create_group("x_values/")
+                for varIdx, var in enumerate(Model.Output.names):
+                    grp_x_values.create_dataset(var, data=x_values[var])
+            else:
+                file.create_dataset("x_values", data=x_values)
+
+            # Store posterior predictive
+            grpY = file.create_group("EDY/")
+            for varIdx, var in enumerate(Model.Output.names):
+                grpY.create_dataset(var, data=prior_pred[var])
+
+        # ----- Posterior Predictive only model evaluations -----
+        # Create hdf5 metadata
+        hdf5file = out_dir+'/postPredictive_wo_noise.hdf5'
+        hdf5_exist = os.path.exists(hdf5file)
+        if hdf5_exist:
+            os.remove(hdf5file)
+        file = h5py.File(hdf5file, 'a')
+
+        # Store x_values
+        if type(x_values) is dict:
+            grp_x_values = file.create_group("x_values/")
+            for varIdx, var in enumerate(Model.Output.names):
+                grp_x_values.create_dataset(var, data=x_values[var])
+        else:
+            file.create_dataset("x_values", data=x_values)
+
+        # Store posterior predictive
+        grpY = file.create_group("EDY/")
+        for varIdx, var in enumerate(Model.Output.names):
+            grpY.create_dataset(var, data=post_pred[var])
+
+        # ----- Posterior Predictive with noise -----
+        # Create hdf5 metadata
+        hdf5file = out_dir+'/postPredictive.hdf5'
+        hdf5_exist = os.path.exists(hdf5file)
+        if hdf5_exist:
+            os.remove(hdf5file)
+        file = h5py.File(hdf5file, 'a')
+
+        # Store x_values
+        if type(x_values) is dict:
+            grp_x_values = file.create_group("x_values/")
+            for varIdx, var in enumerate(Model.Output.names):
+                grp_x_values.create_dataset(var, data=x_values[var])
+        else:
+            file.create_dataset("x_values", data=x_values)
+
+        # Store posterior predictive
+        grpY = file.create_group("EDY/")
+        for varIdx, var in enumerate(Model.Output.names):
+            grpY.create_dataset(var, data=post_pred_withnoise[var])
+
+        return
+
+    # -------------------------------------------------------------------------
+    def _plot_max_a_posteriori(self):
+        """
+        Plots the response of the model output against that of the metamodel at
+        the maximum a posteriori sample (mean or mode of posterior.)
+
+        Returns
+        -------
+        None.
+
+        """
+
+        MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+        out_dir = f'Outputs_Bayes_{Model.name}_{self.name}'
+        opt_sigma = self.Discrepancy.opt_sigma
+
+        # -------- Find MAP and run MetaModel and origModel --------
+        # Compute the MAP
+        if self.max_a_posteriori.lower() == 'mean':
+            if opt_sigma == "B":
+                Posterior_df = self.posterior_df.values
+            else:
+                Posterior_df = self.posterior_df.values[:, :-Model.n_outputs]
+            map_theta = Posterior_df.mean(axis=0).reshape(
+                (1, MetaModel.n_params))
+        else:
+            map_theta = stats.mode(Posterior_df.values, axis=0)[0]
+        # Prin report
+        print("\nPoint estimator:\n", map_theta[0])
+
+        # Run the models for MAP
+        # MetaModel
+        map_metamodel_mean, map_metamodel_std = MetaModel.eval_metamodel(
+            samples=map_theta)
+        self.map_metamodel_mean = map_metamodel_mean
+        self.map_metamodel_std = map_metamodel_std
+
+        # origModel
+        map_orig_model = self._eval_model(samples=map_theta)
+        self.map_orig_model = map_orig_model
+
+        # Extract slicing index
+        x_values = map_orig_model['x_values']
+
+        # List of markers and colors
+        Color = ['k', 'b', 'g', 'r']
+        Marker = 'x'
+
+        # Create a PdfPages object
+        pdf = PdfPages(f'./{out_dir}MAP_PCE_vs_Model_{self.name}.pdf')
+        fig = plt.figure()
+        for i, key in enumerate(Model.Output.names):
+
+            y_val = map_orig_model[key]
+            y_pce_val = map_metamodel_mean[key]
+            y_pce_val_std = map_metamodel_std[key]
+
+            plt.plot(x_values, y_val, color=Color[i], marker=Marker,
+                     lw=2.0, label='$Y_{MAP}^{M}$')
+
+            plt.plot(
+                x_values, y_pce_val[i], color=Color[i], lw=2.0,
+                marker=Marker, linestyle='--', label='$Y_{MAP}^{PCE}$'
+                )
+            # plot the confidence interval
+            plt.fill_between(
+                x_values, y_pce_val[i] - 1.96*y_pce_val_std[i],
+                y_pce_val[i] + 1.96*y_pce_val_std[i],
+                color=Color[i], alpha=0.15
+                )
+
+            # Calculate the adjusted R_squared and RMSE
+            R2 = r2_score(y_pce_val.reshape(-1, 1), y_val.reshape(-1, 1))
+            rmse = np.sqrt(mean_squared_error(y_pce_val, y_val))
+
+            plt.ylabel(key)
+            plt.xlabel("Time [s]")
+            plt.title(f'Model vs MetaModel {key}')
+
+            ax = fig.axes[0]
+            leg = ax.legend(loc='best', frameon=True)
+            fig.canvas.draw()
+            p = leg.get_window_extent().inverse_transformed(ax.transAxes)
+            ax.text(
+                p.p0[1]-0.05, p.p1[1]-0.25,
+                f'RMSE = {rmse:.3f}\n$R^2$ = {R2:.3f}',
+                transform=ax.transAxes, color='black',
+                bbox=dict(facecolor='none', edgecolor='black',
+                          boxstyle='round,pad=1'))
+
+            plt.show()
+
+            # save the current figure
+            pdf.savefig(fig, bbox_inches='tight')
+
+            # Destroy the current plot
+            plt.clf()
+
+        pdf.close()
+
+    # -------------------------------------------------------------------------
+    def _plot_post_predictive(self):
+        """
+        Plots the posterior predictives against the observation data.
+
+        Returns
+        -------
+        None.
+
+        """
+
+        Model = self.MetaModel.ModelObj
+        out_dir = f'Outputs_Bayes_{Model.name}_{self.name}'
+        # Plot the posterior predictive
+        for out_idx, out_name in enumerate(Model.Output.names):
+            fig, ax = plt.subplots()
+            with sns.axes_style("ticks"):
+                x_key = list(self.measured_data)[0]
+
+                # --- Read prior and posterior predictive ---
+                if self.inference_method == 'rejection' and \
+                   self.name.lower() != 'valid':
+                    #  --- Prior ---
+                    # Load posterior predictive
+                    f = h5py.File(
+                        f'{out_dir}/priorPredictive.hdf5', 'r+')
+
+                    try:
+                        x_coords = np.array(f[f"x_values/{out_name}"])
+                    except:
+                        x_coords = np.array(f["x_values"])
+
+                    X_values = np.repeat(x_coords, 10000)
+
+                    prior_pred_df = {}
+                    prior_pred_df[x_key] = X_values
+                    prior_pred_df[out_name] = np.array(
+                        f[f"EDY/{out_name}"])[:10000].flatten('F')
+                    prior_pred_df = pd.DataFrame(prior_pred_df)
+
+                    tags_post = ['prior'] * len(prior_pred_df)
+                    prior_pred_df.insert(
+                        len(prior_pred_df.columns), "Tags", tags_post,
+                        True)
+                    f.close()
+
+                    # --- Posterior ---
+                    f = h5py.File(f"{out_dir}/postPredictive.hdf5", 'r+')
+
+                    X_values = np.repeat(
+                        x_coords, np.array(f[f"EDY/{out_name}"]).shape[0])
+
+                    post_pred_df = {}
+                    post_pred_df[x_key] = X_values
+                    post_pred_df[out_name] = np.array(
+                        f[f"EDY/{out_name}"]).flatten('F')
+
+                    post_pred_df = pd.DataFrame(post_pred_df)
+
+                    tags_post = ['posterior'] * len(post_pred_df)
+                    post_pred_df.insert(
+                        len(post_pred_df.columns), "Tags", tags_post, True)
+                    f.close()
+                    # Concatenate two dataframes based on x_values
+                    frames = [prior_pred_df, post_pred_df]
+                    all_pred_df = pd.concat(frames)
+
+                    # --- Plot posterior predictive ---
+                    sns.violinplot(
+                        x_key, y=out_name, data=all_pred_df, hue="Tags",
+                        legend=False, ax=ax, split=True, inner=None,
+                        color=".8")
+
+                    # --- Plot Data ---
+                    # Find the x,y coordinates for each point
+                    x_coords = np.arange(x_coords.shape[0])
+                    first_header = list(self.measured_data)[0]
+                    obs_data = self.measured_data.round({first_header: 6})
+                    sns.pointplot(
+                        x=first_header, y=out_name, color='g', markers='x',
+                        linestyles='', capsize=16, data=obs_data, ax=ax)
+
+                    ax.errorbar(
+                        x_coords, obs_data[out_name].values,
+                        yerr=1.96*self.measurement_error[out_name],
+                        ecolor='g', fmt=' ', zorder=-1)
+
+                    # Add labels to the legend
+                    handles, labels = ax.get_legend_handles_labels()
+                    labels.append('Data')
+
+                    data_marker = mlines.Line2D(
+                        [], [], color='lime', marker='+', linestyle='None',
+                        markersize=10)
+                    handles.append(data_marker)
+
+                    # Add legend
+                    ax.legend(handles=handles, labels=labels, loc='best',
+                              fontsize='large', frameon=True)
+
+                else:
+                    # Load posterior predictive
+                    f = h5py.File(f"{out_dir}/postPredictive.hdf5", 'r+')
+
+                    try:
+                        x_coords = np.array(f[f"x_values/{out_name}"])
+                    except:
+                        x_coords = np.array(f["x_values"])
+
+                    mu = np.mean(np.array(f[f"EDY/{out_name}"]), axis=0)
+                    std = np.std(np.array(f[f"EDY/{out_name}"]), axis=0)
+
+                    # --- Plot posterior predictive ---
+                    plt.plot(
+                        x_coords, mu, marker='o', color='b',
+                        label='Mean Post. Predictive')
+                    plt.fill_between(
+                        x_coords, mu-1.96*std, mu+1.96*std, color='b',
+                        alpha=0.15)
+
+                    # --- Plot Data ---
+                    ax.plot(
+                        x_coords, self.measured_data[out_name].values,
+                        'ko', label='data', markeredgecolor='w')
+
+                    # --- Plot ExpDesign ---
+                    orig_ED_Y = self.MetaModel.ExpDesign.Y[out_name]
+                    for output in orig_ED_Y:
+                        plt.plot(
+                            x_coords, output, color='grey', alpha=0.15
+                            )
+
+                    # Add labels for axes
+                    plt.xlabel('Time [s]')
+                    plt.ylabel(out_name)
+
+                    # Add labels to the legend
+                    handles, labels = ax.get_legend_handles_labels()
+
+                    patch = Patch(color='b', alpha=0.15)
+                    handles.insert(1, patch)
+                    labels.insert(1, '95 $\\%$ CI')
+
+                    # Add legend
+                    ax.legend(handles=handles, labels=labels, loc='best',
+                              frameon=True)
+
+                # Save figure in pdf format
+                if self.emulator:
+                    plotname = f'/Post_Prior_Perd_{Model.name}_emulator'
+                else:
+                    plotname = f'/Post_Prior_Perd_{Model.name}'
+
+                fig.savefig(f'./{out_dir}{plotname}_{out_name}.pdf',
+                            bbox_inches='tight')
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/bayes_model_comparison.py b/examples/only-model/bayesvalidrox/bayes_inference/bayes_model_comparison.py
new file mode 100644
index 0000000000000000000000000000000000000000..718abb8bdac3fd653bb3751a31cc0667c5032e95
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayes_inference/bayes_model_comparison.py
@@ -0,0 +1,714 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Sat Aug 24 16:04:06 2019
+
+@author: farid
+"""
+import numpy as np
+import os
+from scipy import stats
+import seaborn as sns
+import matplotlib.patches as patches
+import matplotlib.colors as mcolors
+import matplotlib.pylab as plt
+from .bayes_inference import BayesInference
+
+# Load the mplstyle
+plt.style.use(os.path.join(os.path.split(__file__)[0],
+                           '../', 'bayesvalidrox.mplstyle'))
+
+
+class BayesModelComparison:
+    """
+    A class to perform Bayesian Analysis.
+
+
+    Attributes
+    ----------
+    justifiability : bool, optional
+        Whether to perform the justifiability analysis. The default is
+        `True`.
+    perturbed_data : array of shape (n_bootstrap_itrs, n_obs), optional
+        User defined perturbed data. The default is `None`.
+    n_bootstarp : int
+        Number of bootstrap iteration. The default is `1000`.
+    data_noise_level : float
+        A noise level to perturb the data set. The default is `0.01`.
+    just_n_meas : int
+        Number of measurements considered for visualization of the
+        justifiability results.
+
+    """
+
+    def __init__(self, justifiability=True, perturbed_data=None,
+                 n_bootstarp=1000, data_noise_level=0.01, just_n_meas=2,
+                 emulator=True):
+
+        self.justifiability = justifiability
+        self.perturbed_data = perturbed_data
+        self.n_bootstarp = n_bootstarp
+        self.data_noise_level = data_noise_level
+        self.just_n_meas = just_n_meas
+        self.emulator = emulator
+
+    # --------------------------------------------------------------------------
+    def create_model_comparison(self, model_dict, opts_dict):
+        """
+        Starts the two-stage model comparison.
+        Stage I: Compare models using Bayes factors.
+        Stage II: Compare models via justifiability analysis.
+
+        Parameters
+        ----------
+        model_dict : dict
+            A dictionary including the metamodels.
+        opts_dict : dict
+            A dictionary given the `BayesInference` options.
+
+            Example:
+
+                >>> opts_bootstrap = {
+                    "bootstrap": True,
+                    "n_samples": 10000,
+                    "Discrepancy": DiscrepancyOpts,
+                    "emulator": True,
+                    "plot_post_pred": True
+                    }
+
+        Returns
+        -------
+        output : dict
+            A dictionary containing the objects and the model weights for the
+            comparison using Bayes factors and justifiability analysis.
+
+        """
+
+        # Bayes factor
+        bayes_dict_bf, model_weights_dict_bf = self.compare_models(
+            model_dict, opts_dict
+            )
+
+        output = {
+            'Bayes objects BF': bayes_dict_bf,
+            'Model weights BF': model_weights_dict_bf
+            }
+
+        # Justifiability analysis
+        if self.justifiability:
+            bayes_dict_ja, model_weights_dict_ja = self.compare_models(
+                model_dict, opts_dict, justifiability=True
+                )
+
+            output['Bayes objects JA'] = bayes_dict_ja
+            output['Model weights JA'] = model_weights_dict_ja
+
+        return output
+
+    # --------------------------------------------------------------------------
+    def compare_models(self, model_dict, opts_dict, justifiability=False):
+        """
+        Passes the options to instantiates the BayesInference class for each
+        model and passes the options from `opts_dict`. Then, it starts the
+        computations.
+        It also creates a folder and saves the diagrams, e.g., Bayes factor
+        plot, confusion matrix, etc.
+
+        Parameters
+        ----------
+        model_dict : dict
+            A dictionary including the metamodels.
+        opts_dict : dict
+            A dictionary given the `BayesInference` options.
+        justifiability : bool, optional
+            Whether to perform the justifiability analysis. The default is
+            `False`.
+
+        Returns
+        -------
+        bayes_dict : dict
+            A dictionary with `BayesInference` objects.
+        model_weights_dict : dict
+            A dictionary containing the model weights.
+
+        """
+
+        if not isinstance(model_dict, dict):
+            raise Exception("To run model comparsion, you need to pass a "
+                            "dictionary of models.")
+
+        # Extract model names
+        self.model_names = [*model_dict]
+
+        # Compute total number of the measurement points
+        MetaModel = list(model_dict.items())[0][1]
+        MetaModel.ModelObj.read_observation()
+        self.n_meas = MetaModel.ModelObj.n_obs
+
+        # ----- Generate data -----
+        # Find n_bootstrap
+        if self.perturbed_data is None:
+            n_bootstarp = self.n_bootstarp
+        else:
+            n_bootstarp = self.perturbed_data.shape[0]
+
+        # Create dataset
+        justData = self.generate_dataset(
+            model_dict, justifiability, n_bootstarp=n_bootstarp)
+
+        # Run create Interface for each model
+        bayes_dict = {}
+        for model in model_dict.keys():
+            print("-"*20)
+            print("Bayesian inference of {}.\n".format(model))
+
+            BayesOpts = BayesInference(model_dict[model])
+
+            # Set BayesInference options
+            for key, value in opts_dict.items():
+                if key in BayesOpts.__dict__.keys():
+                    if key == "Discrepancy" and isinstance(value, dict):
+                        setattr(BayesOpts, key, value[model])
+                    else:
+                        setattr(BayesOpts, key, value)
+
+            # Pass justifiability data as perturbed data
+            BayesOpts.perturbed_data = justData
+            BayesOpts.just_analysis = justifiability
+
+            bayes_dict[model] = BayesOpts.create_inference()
+            print("-"*20)
+
+        # Compute model weights
+        BME_Dict = dict()
+        for modelName, bayesObj in bayes_dict.items():
+            BME_Dict[modelName] = np.exp(bayesObj.log_BME, dtype=np.longdouble)
+
+        # BME correction in BayesInference class
+        model_weights = self.cal_model_weight(
+            BME_Dict, justifiability, n_bootstarp=n_bootstarp)
+
+        # Plot model weights
+        if justifiability:
+            model_names = self.model_names
+            model_names.insert(0, 'Observation')
+
+            # Split the model weights and save in a dict
+            list_ModelWeights = np.split(
+                model_weights, model_weights.shape[1]/self.n_meas, axis=1)
+            model_weights_dict = {key: weights for key, weights in
+                                  zip(model_names, list_ModelWeights)}
+
+            self.plot_just_analysis(model_weights_dict)
+        else:
+            # Create box plot for model weights
+            self.plot_model_weights(model_weights, 'model_weights')
+
+            # Create kde plot for bayes factors
+            self.plot_bayes_factor(BME_Dict, 'kde_plot')
+
+            # Store model weights in a dict
+            model_weights_dict = {key: weights for key, weights in
+                                  zip(self.model_names, model_weights)}
+
+        return bayes_dict, model_weights_dict
+
+    # -------------------------------------------------------------------------
+    def generate_dataset(self, model_dict, justifiability=False,
+                         n_bootstarp=1):
+        """
+        Generates the perturbed data set for the Bayes factor calculations and
+        the data set for the justifiability analysis.
+
+        Parameters
+        ----------
+        model_dict : dict
+            A dictionary including the metamodels.
+        bool, optional
+            Whether to perform the justifiability analysis. The default is
+            `False`.
+        n_bootstarp : int, optional
+            Number of bootstrap iterations. The default is `1`.
+
+        Returns
+        -------
+        all_just_data: array
+            Created data set.
+
+        """
+        # Compute some variables
+        all_just_data = []
+        metaModel = list(model_dict.items())[0][1]
+        out_names = metaModel.ModelObj.Output.names
+
+        # Perturb observations for Bayes Factor
+        if self.perturbed_data is None:
+            self.perturbed_data = self.__perturb_data(
+                    metaModel.ModelObj.observations, out_names, n_bootstarp,
+                    noise_level=self.data_noise_level)
+
+        # Only for Bayes Factor
+        if not justifiability:
+            return self.perturbed_data
+
+        # Evaluate metamodel
+        runs = {}
+        for key, metaModel in model_dict.items():
+            if self.emulator:
+                y_hat, _ = metaModel.eval_metamodel(nsamples=n_bootstarp)
+                runs[key] = y_hat
+            if not self.emulator:
+               # y_hat_ = metaModel.model.                                       # TODO: run the model instead of the surrogate
+                samples = metaModel.ExpDesign.generate_samples(
+                    n_bootstarp,
+                    sampling_method = 'random'
+                    )
+                y_hat = self._eval_model(metaModel,
+                    samples=samples, key='PriorPred'
+                    )
+                #print(y_hat)
+                runs[key] = y_hat
+        # Generate data
+        for i in range(n_bootstarp):
+            y_data = self.perturbed_data[i].reshape(1, -1)
+            justData = np.tril(np.repeat(y_data, y_data.shape[1], axis=0))
+            # Use surrogate runs for data-generating process
+            for key, metaModel in model_dict.items():
+                model_data = np.array(
+                    [runs[key][out][i] for out in out_names]).reshape(y_data.shape)
+                justData = np.vstack((
+                    justData,
+                    np.tril(np.repeat(model_data, model_data.shape[1], axis=0))
+                    ))
+            # Save in a list
+            all_just_data.append(justData)
+
+        # Squeeze the array
+        all_just_data = np.array(all_just_data).transpose(1, 0, 2).reshape(
+            -1, np.array(all_just_data).shape[2]
+            )
+
+        return all_just_data
+
+    # -------------------------------------------------------------------------
+    def __perturb_data(self, data, output_names, n_bootstrap, noise_level):
+        """
+        Returns an array with n_bootstrap_itrs rowsof perturbed data.
+        The first row includes the original observation data.
+        If `self.bayes_loocv` is True, a 2d-array will be returned with
+        repeated rows and zero diagonal entries.
+
+        Parameters
+        ----------
+        data : pandas DataFrame
+            Observation data.
+        output_names : list
+            List of the output names.
+
+        Returns
+        -------
+        final_data : array
+            Perturbed data set.
+
+        """
+        obs_data = data[output_names].values
+        n_measurement, n_outs = obs_data.shape
+        n_tot_measurement = obs_data[~np.isnan(obs_data)].shape[0]
+        final_data = np.zeros(
+            (n_bootstrap, n_tot_measurement)
+            )
+        final_data[0] = obs_data.T[~np.isnan(obs_data.T)]
+        for itrIdx in range(1, n_bootstrap):
+            data = np.zeros((n_measurement, n_outs))
+            for idx in range(len(output_names)):
+                std = np.nanstd(obs_data[:, idx])
+                if std == 0:
+                    std = 0.001
+                noise = std * noise_level
+                data[:, idx] = np.add(
+                    obs_data[:, idx],
+                    np.random.normal(0, 1, obs_data.shape[0]) * noise,
+                )
+
+            final_data[itrIdx] = data.T[~np.isnan(data.T)]
+
+        return final_data
+
+    # -------------------------------------------------------------------------
+    def cal_model_weight(self, BME_Dict, justifiability=False, n_bootstarp=1):
+        """
+        Normalize the BME (Asumption: Model Prior weights are equal for models)
+
+        Parameters
+        ----------
+        BME_Dict : dict
+            A dictionary containing the BME values.
+
+        Returns
+        -------
+        model_weights : array
+            Model weights.
+
+        """
+        # Stack the BME values for all models
+        all_BME = np.vstack(list(BME_Dict.values()))
+
+        if justifiability:
+            # Compute expected log_BME for justifiabiliy analysis
+            all_BME = all_BME.reshape(
+                all_BME.shape[0], -1, n_bootstarp).mean(axis=2)
+
+        # Model weights
+        model_weights = np.divide(all_BME, np.nansum(all_BME, axis=0))
+
+        return model_weights
+
+    # -------------------------------------------------------------------------
+    def plot_just_analysis(self, model_weights_dict):
+        """
+        Visualizes the confusion matrix and the model wights for the
+        justifiability analysis.
+
+        Parameters
+        ----------
+        model_weights_dict : dict
+            Model weights.
+
+        Returns
+        -------
+        None.
+
+        """
+
+        directory = 'Outputs_Comparison/'
+        os.makedirs(directory, exist_ok=True)
+        Color = [*mcolors.TABLEAU_COLORS]
+        names = [*model_weights_dict]
+
+        model_names = [model.replace('_', '$-$') for model in self.model_names]
+        for name in names:
+            fig, ax = plt.subplots()
+            for i, model in enumerate(model_names[1:]):
+                plt.plot(list(range(1, self.n_meas+1)),
+                         model_weights_dict[name][i],
+                         color=Color[i], marker='o',
+                         ms=10, linewidth=2, label=model
+                         )
+
+            plt.title(f"Data generated by: {name.replace('_', '$-$')}")
+            plt.ylabel("Weights")
+            plt.xlabel("No. of measurement points")
+            ax.set_xticks(list(range(1, self.n_meas+1)))
+            plt.legend(loc="best")
+            fig.savefig(
+                f'{directory}modelWeights_{name}.svg', bbox_inches='tight'
+                )
+            plt.close()
+
+        # Confusion matrix for some measurement points
+        epsilon = 1 if self.just_n_meas != 1 else 0
+        for index in range(0, self.n_meas+epsilon, self.just_n_meas):
+            weights = np.array(
+                [model_weights_dict[key][:, index] for key in model_weights_dict]
+                )
+            g = sns.heatmap(
+                weights.T, annot=True, cmap='Blues', xticklabels=model_names,
+                yticklabels=model_names[1:], annot_kws={"size": 24}
+                )
+
+            # x axis on top
+            g.xaxis.tick_top()
+            g.xaxis.set_label_position('top')
+            g.set_xlabel(r"\textbf{Data generated by:}", labelpad=15)
+            g.set_ylabel(r"\textbf{Model weight for:}", labelpad=15)
+            g.figure.savefig(
+                f"{directory}confusionMatrix_ND_{index+1}.pdf",
+                bbox_inches='tight'
+                )
+            plt.close()
+
+    # -------------------------------------------------------------------------
+    def plot_model_weights(self, model_weights, plot_name):
+        """
+        Visualizes the model weights resulting from BMS via the observation
+        data.
+
+        Parameters
+        ----------
+        model_weights : array
+            Model weights.
+        plot_name : str
+            Plot name.
+
+        Returns
+        -------
+        None.
+
+        """
+        font_size = 40
+        # mkdir for plots
+        directory = 'Outputs_Comparison/'
+        os.makedirs(directory, exist_ok=True)
+
+        # Create figure
+        fig, ax = plt.subplots()
+
+        # Filter data using np.isnan
+        mask = ~np.isnan(model_weights.T)
+        filtered_data = [d[m] for d, m in zip(model_weights, mask.T)]
+
+        # Create the boxplot
+        bp = ax.boxplot(filtered_data, patch_artist=True, showfliers=False)
+
+        # change outline color, fill color and linewidth of the boxes
+        for box in bp['boxes']:
+            # change outline color
+            box.set(color='#7570b3', linewidth=4)
+            # change fill color
+            box.set(facecolor='#1b9e77')
+
+        # change color and linewidth of the whiskers
+        for whisker in bp['whiskers']:
+            whisker.set(color='#7570b3', linewidth=2)
+
+        # change color and linewidth of the caps
+        for cap in bp['caps']:
+            cap.set(color='#7570b3', linewidth=2)
+
+        # change color and linewidth of the medians
+        for median in bp['medians']:
+            median.set(color='#b2df8a', linewidth=2)
+
+        # change the style of fliers and their fill
+        # for flier in bp['fliers']:
+        #     flier.set(marker='o', color='#e7298a', alpha=0.75)
+
+        # Custom x-axis labels
+        model_names = [model.replace('_', '$-$') for model in self.model_names]
+        ax.set_xticklabels(model_names)
+
+        ax.set_ylabel('Weight', fontsize=font_size)
+
+        # Title
+        plt.title('Posterior Model Weights')
+
+        # Set y lim
+        ax.set_ylim((-0.05, 1.05))
+
+        # Set size of the ticks
+        for t in ax.get_xticklabels():
+            t.set_fontsize(font_size)
+        for t in ax.get_yticklabels():
+            t.set_fontsize(font_size)
+
+        # Save the figure
+        fig.savefig(
+            f'./{directory}{plot_name}.pdf', bbox_inches='tight'
+            )
+
+        plt.close()
+
+    # -------------------------------------------------------------------------
+    def plot_bayes_factor(self, BME_Dict, plot_name=''):
+        """
+        Plots the Bayes factor distibutions in a :math:`N_m \\times N_m`
+        matrix, where :math:`N_m` is the number of the models.
+
+        Parameters
+        ----------
+        BME_Dict : dict
+            A dictionary containing the BME values of the models.
+        plot_name : str, optional
+            Plot name. The default is ''.
+
+        Returns
+        -------
+        None.
+
+        """
+
+        font_size = 40
+
+        # mkdir for plots
+        directory = 'Outputs_Comparison/'
+        os.makedirs(directory, exist_ok=True)
+
+        Colors = ["blue", "green", "gray", "brown"]
+
+        model_names = list(BME_Dict.keys())
+        nModels = len(model_names)
+
+        # Plots
+        fig, axes = plt.subplots(
+            nrows=nModels, ncols=nModels, sharex=True, sharey=True
+            )
+
+        for i, key_i in enumerate(model_names):
+
+            for j, key_j in enumerate(model_names):
+                ax = axes[i, j]
+                # Set size of the ticks
+                for t in ax.get_xticklabels():
+                    t.set_fontsize(font_size)
+                for t in ax.get_yticklabels():
+                    t.set_fontsize(font_size)
+
+                if j != i:
+
+                    # Null hypothesis: key_j is the better model
+                    BayesFactor = np.log10(
+                        np.divide(BME_Dict[key_i], BME_Dict[key_j])
+                        )
+
+                    # sns.kdeplot(BayesFactor, ax=ax, color=Colors[i], shade=True)
+                    # sns.histplot(BayesFactor, ax=ax, stat="probability",
+                    #              kde=True, element='step',
+                    #              color=Colors[j])
+
+                    # taken from seaborn's source code (utils.py and
+                    # distributions.py)
+                    def seaborn_kde_support(data, bw, gridsize, cut, clip):
+                        if clip is None:
+                            clip = (-np.inf, np.inf)
+                        support_min = max(data.min() - bw * cut, clip[0])
+                        support_max = min(data.max() + bw * cut, clip[1])
+                        return np.linspace(support_min, support_max, gridsize)
+
+                    kde_estim = stats.gaussian_kde(
+                        BayesFactor, bw_method='scott'
+                        )
+
+                    # manual linearization of data
+                    # linearized = np.linspace(
+                    #     quotient.min(), quotient.max(), num=500)
+
+                    # or better: mimic seaborn's internal stuff
+                    bw = kde_estim.scotts_factor() * np.std(BayesFactor)
+                    linearized = seaborn_kde_support(
+                        BayesFactor, bw, 100, 3, None)
+
+                    # computes values of the estimated function on the
+                    # estimated linearized inputs
+                    Z = kde_estim.evaluate(linearized)
+
+                    # https://stackoverflow.com/questions/29661574/normalize-
+                    # numpy-array-columns-in-python
+                    def normalize(x):
+                        return (x - x.min(0)) / x.ptp(0)
+
+                    # normalize so it is between 0;1
+                    Z2 = normalize(Z)
+                    ax.plot(linearized, Z2, "-", color=Colors[i], linewidth=4)
+                    ax.fill_between(
+                        linearized, 0, Z2, color=Colors[i], alpha=0.25
+                        )
+
+                    # Draw BF significant levels according to Jeffreys 1961
+                    # Strong evidence for both models
+                    ax.axvline(
+                        x=np.log10(3), ymin=0, linewidth=4, color='dimgrey'
+                        )
+                    # Strong evidence for one model
+                    ax.axvline(
+                        x=np.log10(10), ymin=0, linewidth=4, color='orange'
+                        )
+                    # Decisive evidence for one model
+                    ax.axvline(
+                        x=np.log10(100), ymin=0, linewidth=4, color='r'
+                        )
+
+                    # legend
+                    BF_label = key_i.replace('_', '$-$') + \
+                        '/' + key_j.replace('_', '$-$')
+                    legend_elements = [
+                        patches.Patch(facecolor=Colors[i], edgecolor=Colors[i],
+                                      label=f'BF({BF_label})')
+                        ]
+                    ax.legend(
+                        loc='upper left', handles=legend_elements,
+                        fontsize=font_size-(nModels+1)*5
+                        )
+
+                elif j == i:
+                    # build a rectangle in axes coords
+                    left, width = 0, 1
+                    bottom, height = 0, 1
+
+                    # axes coordinates are 0,0 is bottom left and 1,1 is upper
+                    # right
+                    p = patches.Rectangle(
+                        (left, bottom), width, height, color='white',
+                        fill=True, transform=ax.transAxes, clip_on=False
+                        )
+                    ax.grid(False)
+                    ax.add_patch(p)
+                    # ax.text(0.5*(left+right), 0.5*(bottom+top), key_i,
+                    fsize = font_size+20 if nModels < 4 else font_size
+                    ax.text(0.5, 0.5, key_i.replace('_', '$-$'),
+                            horizontalalignment='center',
+                            verticalalignment='center',
+                            fontsize=fsize, color=Colors[i],
+                            transform=ax.transAxes)
+
+        # Defining custom 'ylim' values.
+        custom_ylim = (0, 1.05)
+
+        # Setting the values for all axes.
+        plt.setp(axes, ylim=custom_ylim)
+
+        # set labels
+        for i in range(nModels):
+            axes[-1, i].set_xlabel('log$_{10}$(BF)', fontsize=font_size)
+            axes[i, 0].set_ylabel('Probability', fontsize=font_size)
+
+        # Adjust subplots
+        plt.subplots_adjust(wspace=0.2, hspace=0.1)
+
+        plt.savefig(
+            f'./{directory}Bayes_Factor{plot_name}.pdf', bbox_inches='tight'
+            )
+
+        plt.close()
+
+    def _eval_model(self, MetaModel, samples=None, key='MAP'):
+        """
+        Evaluates Forward Model. - mostly copy paste from BayesInference
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params), optional
+            Parameter sets. The default is None.
+        key : str, optional
+            Key string to be passed to the run_model_parallel method.
+            The default is 'MAP'.
+
+        Returns
+        -------
+        model_outputs : dict
+            Model outputs.
+
+        """
+        #MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+
+        if samples is None:
+            self.samples = MetaModel.ExpDesign.generate_samples(
+                self.n_samples, 'random')
+        else:
+            self.samples = samples
+            self.n_samples = len(samples)
+
+        self.name = 'ModelComp'
+        model_outputs, _ = Model.run_model_parallel(
+            self.samples, key_str=key+self.name)
+
+        # Clean up
+        # Zip the subdirectories
+        try:
+            dir_name = f'{Model.name}MAP{self.name}'
+            key = dir_name + '_'
+            Model.zip_subdirs(dir_name, key)
+        except:
+            pass
+
+        return model_outputs
\ No newline at end of file
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/discrepancy.py b/examples/only-model/bayesvalidrox/bayes_inference/discrepancy.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f52c4f0d0afe314fdc73c388f6da5a8aa93ca06
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayes_inference/discrepancy.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import scipy.stats as stats
+from bayesvalidrox.surrogate_models.exp_designs import ExpDesigns
+
+
+class Discrepancy:
+    """
+    Discrepancy class for Bayesian inference method.
+    We define the reference or reality to be equal to what we can model and a
+    descripancy term \\( \\epsilon \\). We consider the followin format:
+
+    $$\\textbf{y}_{\\text{reality}} = \\mathcal{M}(\\theta) + \\epsilon,$$
+
+    where \\( \\epsilon \\in R^{N_{out}} \\) represents the the effects of
+    measurement error and model inaccuracy. For simplicity, it can be defined
+    as an additive Gaussian disrepancy with zeromean and given covariance
+    matrix \\( \\Sigma \\):
+
+    $$\\epsilon \\sim \\mathcal{N}(\\epsilon|0, \\Sigma). $$
+
+    In the context of model inversion or calibration, an observation point
+    \\( \\textbf{y}_i \\in \\mathcal{y} \\) is a realization of a Gaussian
+    distribution with mean value of \\(\\mathcal{M}(\\theta) \\) and covariance
+    matrix of \\( \\Sigma \\).
+
+    $$ p(\\textbf{y}|\\theta) = \\mathcal{N}(\\textbf{y}|\\mathcal{M}
+                                             (\\theta))$$
+
+    The following options are available:
+
+    * Option A: With known redidual covariance matrix \\(\\Sigma\\) for
+    independent measurements.
+
+    * Option B: With unknown redidual covariance matrix \\(\\Sigma\\),
+    paramethrized as \\(\\Sigma(\\theta_{\\epsilon})=\\sigma^2 \\textbf{I}_
+    {N_{out}}\\) with unknown residual variances \\(\\sigma^2\\).
+    This term will be jointly infer with the uncertain input parameters. For
+    the inversion, you need to define a prior marginal via `Input` class. Note
+    that \\(\\sigma^2\\) is only a single scalar multiplier for the diagonal
+    entries of the covariance matrix \\(\\Sigma\\).
+
+    Attributes
+    ----------
+    InputDisc : obj
+        Input object. When the \\(\\sigma^2\\) is expected to be inferred
+        jointly with the parameters (`Option B`).If multiple output groups are
+        defined by `Model.Output.names`, each model output needs to have.
+        a prior marginal using the `Input` class. The default is `''`.
+    disc_type : str
+        Type of the noise definition. `'Gaussian'` is only supported so far.
+    parameters : dict or pandas.DataFrame
+        Known residual variance \\(\\sigma^2\\), i.e. diagonal entry of the
+        covariance matrix of the multivariate normal likelihood in case of
+        `Option A`.
+
+    """
+
+    def __init__(self, InputDisc='', disc_type='Gaussian', parameters=None):
+        self.InputDisc = InputDisc
+        self.disc_type = disc_type
+        self.parameters = parameters
+
+    # -------------------------------------------------------------------------
+    def get_sample(self, n_samples):
+        """
+        Generate samples for the \\(\\sigma^2\\), i.e. the diagonal entries of
+        the variance-covariance matrix in the multivariate normal distribution.
+
+        Parameters
+        ----------
+        n_samples : int
+            Number of samples (parameter sets).
+
+        Returns
+        -------
+        sigma2_prior: array of shape (n_samples, n_params)
+            \\(\\sigma^2\\) samples.
+
+        """
+        self.n_samples = n_samples
+        ExpDesign = ExpDesigns(self.InputDisc)
+        self.sigma2_prior = ExpDesign.generate_ED(
+            n_samples, sampling_method='random', max_pce_deg=1
+            )
+        # Store BoundTuples
+        self.ExpDesign = ExpDesign
+
+        # Naive approach: Fit a gaussian kernel to the provided data
+        self.ExpDesign.JDist = stats.gaussian_kde(ExpDesign.raw_data)
+
+        # Save the names of sigmas
+        if len(self.InputDisc.Marginals) != 0:
+            self.name = []
+            for Marginalidx in range(len(self.InputDisc.Marginals)):
+                self.name.append(self.InputDisc.Marginals[Marginalidx].name)
+
+        return self.sigma2_prior
diff --git a/examples/only-model/bayesvalidrox/bayes_inference/mcmc.py b/examples/only-model/bayesvalidrox/bayes_inference/mcmc.py
new file mode 100644
index 0000000000000000000000000000000000000000..6b9ca94823fb7064baa2f0588d0f97fb4c9d1d44
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayes_inference/mcmc.py
@@ -0,0 +1,909 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import os
+import numpy as np
+import emcee
+import pandas as pd
+import matplotlib.pyplot as plt
+from matplotlib.backends.backend_pdf import PdfPages
+import multiprocessing
+import scipy.stats as st
+from scipy.linalg import cholesky as chol
+import warnings
+import shutil
+os.environ["OMP_NUM_THREADS"] = "1"
+
+
+class MCMC:
+    """
+    A class for bayesian inference via a Markov-Chain Monte-Carlo (MCMC)
+    Sampler to approximate the posterior distribution of the Bayes theorem:
+    $$p(\\theta|\\mathcal{y}) = \\frac{p(\\mathcal{y}|\\theta) p(\\theta)}
+                                         {p(\\mathcal{y})}.$$
+
+    This class make inference with emcee package [1] using an Affine Invariant
+    Ensemble sampler (AIES) [2].
+
+    [1] Foreman-Mackey, D., Hogg, D.W., Lang, D. and Goodman, J., 2013.emcee:
+        the MCMC hammer. Publications of the Astronomical Society of the
+        Pacific, 125(925), p.306. https://emcee.readthedocs.io/en/stable/
+
+    [2] Goodman, J. and Weare, J., 2010. Ensemble samplers with affine
+        invariance. Communications in applied mathematics and computational
+        science, 5(1), pp.65-80.
+
+
+    Attributes
+    ----------
+    BayesOpts : obj
+        Bayes object.
+    """
+
+    def __init__(self, BayesOpts):
+
+        self.BayesOpts = BayesOpts
+
+    def run_sampler(self, observation, total_sigma2):
+
+        BayesObj = self.BayesOpts
+        MetaModel = BayesObj.MetaModel
+        Model = MetaModel.ModelObj
+        Discrepancy = self.BayesOpts.Discrepancy
+        n_cpus = Model.n_cpus
+        priorDist = MetaModel.ExpDesign.JDist
+        ndim = MetaModel.n_params
+        self.counter = 0
+        output_dir = f'Outputs_Bayes_{Model.name}_{self.BayesOpts.name}'
+        if not os.path.exists(output_dir):
+            os.makedirs(output_dir)
+
+        self.observation = observation
+        self.total_sigma2 = total_sigma2
+
+        # Unpack mcmc parameters given to BayesObj.mcmc_params
+        self.initsamples = None
+        self.nwalkers = 100
+        self.nburn = 200
+        self.nsteps = 100000
+        self.moves = None
+        self.mp = False
+        self.verbose = False
+
+        # Extract initial samples
+        if 'init_samples' in BayesObj.mcmc_params:
+            self.initsamples = BayesObj.mcmc_params['init_samples']
+            if isinstance(self.initsamples, pd.DataFrame):
+                self.initsamples = self.initsamples.values
+
+        # Extract number of steps per walker
+        if 'n_steps' in BayesObj.mcmc_params:
+            self.nsteps = int(BayesObj.mcmc_params['n_steps'])
+        # Extract number of walkers (chains)
+        if 'n_walkers' in BayesObj.mcmc_params:
+            self.nwalkers = int(BayesObj.mcmc_params['n_walkers'])
+        # Extract moves
+        if 'moves' in BayesObj.mcmc_params:
+            self.moves = BayesObj.mcmc_params['moves']
+        # Extract multiprocessing
+        if 'multiprocessing' in BayesObj.mcmc_params:
+            self.mp = BayesObj.mcmc_params['multiprocessing']
+        # Extract verbose
+        if 'verbose' in BayesObj.mcmc_params:
+            self.verbose = BayesObj.mcmc_params['verbose']
+
+        # Set initial samples
+        np.random.seed(0)
+        if self.initsamples is None:
+            try:
+                initsamples = priorDist.sample(self.nwalkers).T
+            except:
+                # when aPCE selected - gaussian kernel distribution
+                inputSamples = MetaModel.ExpDesign.raw_data.T
+                random_indices = np.random.choice(
+                    len(inputSamples), size=self.nwalkers, replace=False
+                    )
+                initsamples = inputSamples[random_indices]
+
+        else:
+            if self.initsamples.ndim == 1:
+                # When MAL is given.
+                theta = self.initsamples
+                initsamples = [theta + 1e-1*np.multiply(
+                    np.random.randn(ndim), theta) for i in
+                               range(self.nwalkers)]
+            else:
+                # Pick samples based on a uniform dist between min and max of
+                # each dim
+                initsamples = np.zeros((self.nwalkers, ndim))
+                bound_tuples = []
+                for idx_dim in range(ndim):
+                    lower = np.min(self.initsamples[:, idx_dim])
+                    upper = np.max(self.initsamples[:, idx_dim])
+                    bound_tuples.append((lower, upper))
+                    dist = st.uniform(loc=lower, scale=upper-lower)
+                    initsamples[:, idx_dim] = dist.rvs(size=self.nwalkers)
+
+                # Update lower and upper
+                MetaModel.ExpDesign.bound_tuples = bound_tuples
+
+        # Check if sigma^2 needs to be inferred
+        if Discrepancy.opt_sigma != 'B':
+            sigma2_samples = Discrepancy.get_sample(self.nwalkers)
+
+            # Update initsamples
+            initsamples = np.hstack((initsamples, sigma2_samples))
+
+            # Update ndim
+            ndim = initsamples.shape[1]
+
+            # Discrepancy bound
+            disc_bound_tuple = Discrepancy.ExpDesign.bound_tuples
+
+            # Update bound_tuples
+            MetaModel.ExpDesign.bound_tuples += disc_bound_tuple
+
+        print("\n>>>> Bayesian inference with MCMC for "
+              f"{self.BayesOpts.name} started. <<<<<<")
+
+        # Set up the backend
+        filename = f"{output_dir}/emcee_sampler.h5"
+        backend = emcee.backends.HDFBackend(filename)
+        # Clear the backend in case the file already exists
+        backend.reset(self.nwalkers, ndim)
+
+        # Define emcee sampler
+        # Here we'll set up the computation. emcee combines multiple "walkers",
+        # each of which is its own MCMC chain. The number of trace results will
+        # be nwalkers * nsteps.
+        if self.mp:
+            # Run in parallel
+            if n_cpus is None:
+                n_cpus = multiprocessing.cpu_count()
+
+            with multiprocessing.Pool(n_cpus) as pool:
+                sampler = emcee.EnsembleSampler(
+                    self.nwalkers, ndim, self.log_posterior, moves=self.moves,
+                    pool=pool, backend=backend
+                    )
+
+                # Check if a burn-in phase is needed!
+                if self.initsamples is None:
+                    # Burn-in
+                    print("\n Burn-in period is starting:")
+                    pos = sampler.run_mcmc(
+                        initsamples, self.nburn, progress=True
+                        )
+
+                    # Reset sampler
+                    sampler.reset()
+                    pos = pos.coords
+                else:
+                    pos = initsamples
+
+                # Production run
+                print("\n Production run is starting:")
+                pos, prob, state = sampler.run_mcmc(
+                    pos, self.nsteps, progress=True
+                    )
+
+        else:
+            # Run in series and monitor the convergence
+            sampler = emcee.EnsembleSampler(
+                self.nwalkers, ndim, self.log_posterior, moves=self.moves,
+                backend=backend, vectorize=True
+                )
+
+            # Check if a burn-in phase is needed!
+            if self.initsamples is None:
+                # Burn-in
+                print("\n Burn-in period is starting:")
+                pos = sampler.run_mcmc(
+                    initsamples, self.nburn, progress=True
+                    )
+
+                # Reset sampler
+                sampler.reset()
+                pos = pos.coords
+            else:
+                pos = initsamples
+
+            # Production run
+            print("\n Production run is starting:")
+
+            # Track how the average autocorrelation time estimate changes
+            autocorrIdx = 0
+            autocorr = np.empty(self.nsteps)
+            tauold = np.inf
+            autocorreverynsteps = 50
+
+            # sample step by step using the generator sampler.sample
+            for sample in sampler.sample(pos,
+                                         iterations=self.nsteps,
+                                         tune=True,
+                                         progress=True):
+
+                # only check convergence every autocorreverynsteps steps
+                if sampler.iteration % autocorreverynsteps:
+                    continue
+
+                # Train model discrepancy/error
+                if hasattr(BayesObj, 'errorModel') and BayesObj.errorModel \
+                   and not sampler.iteration % 3 * autocorreverynsteps:
+                    try:
+                        self.error_MetaModel = self.train_error_model(sampler)
+                    except:
+                        pass
+
+                # Print the current mean acceptance fraction
+                if self.verbose:
+                    print("\nStep: {}".format(sampler.iteration))
+                    acc_fr = np.mean(sampler.acceptance_fraction)
+                    print(f"Mean acceptance fraction: {acc_fr:.3f}")
+
+                # compute the autocorrelation time so far
+                # using tol=0 means that we'll always get an estimate even if
+                # it isn't trustworthy
+                tau = sampler.get_autocorr_time(tol=0)
+                # average over walkers
+                autocorr[autocorrIdx] = np.nanmean(tau)
+                autocorrIdx += 1
+
+                # output current autocorrelation estimate
+                if self.verbose:
+                    print(f"Mean autocorr time estimate: {np.nanmean(tau):.3f}")
+                    list_gr = np.round(self.gelman_rubin(sampler.chain), 3)
+                    print("Gelman-Rubin Test*: ", list_gr)
+
+                # check convergence
+                converged = np.all(tau*autocorreverynsteps < sampler.iteration)
+                converged &= np.all(np.abs(tauold - tau) / tau < 0.01)
+                converged &= np.all(self.gelman_rubin(sampler.chain) < 1.1)
+
+                if converged:
+                    break
+                tauold = tau
+
+        # Posterior diagnostics
+        try:
+            tau = sampler.get_autocorr_time(tol=0)
+        except emcee.autocorr.AutocorrError:
+            tau = 5
+
+        if all(np.isnan(tau)):
+            tau = 5
+
+        burnin = int(2*np.nanmax(tau))
+        thin = int(0.5*np.nanmin(tau)) if int(0.5*np.nanmin(tau)) != 0 else 1
+        finalsamples = sampler.get_chain(discard=burnin, flat=True, thin=thin)
+        acc_fr = np.nanmean(sampler.acceptance_fraction)
+        list_gr = np.round(self.gelman_rubin(sampler.chain[:, burnin:]), 3)
+
+        # Print summary
+        print('\n')
+        print('-'*15 + 'Posterior diagnostics' + '-'*15)
+        print(f"mean auto-correlation time: {np.nanmean(tau):.3f}")
+        print(f"thin: {thin}")
+        print(f"burn-in: {burnin}")
+        print(f"flat chain shape: {finalsamples.shape}")
+        print(f"Mean acceptance fraction: {acc_fr:.3f}")
+        print("Gelman-Rubin Test*: ", list_gr)
+
+        print("\n* This value must lay between 0.234 and 0.5.")
+        print("* These values must be smaller than 1.1.")
+        print('-'*50)
+
+        print(f"\n>>>> Bayesian inference with MCMC for {self.BayesOpts.name} "
+              "successfully completed. <<<<<<\n")
+
+        # Extract parameter names and their prior ranges
+        par_names = MetaModel.ExpDesign.par_names
+
+        if Discrepancy.opt_sigma != 'B':
+            for i in range(len(Discrepancy.InputDisc.Marginals)):
+                par_names.append(Discrepancy.InputDisc.Marginals[i].name)
+
+        params_range = MetaModel.ExpDesign.bound_tuples
+
+        # Plot traces
+        if self.verbose and self.nsteps < 10000:
+            pdf = PdfPages(output_dir+'/traceplots.pdf')
+            fig = plt.figure()
+            for parIdx in range(ndim):
+                # Set up the axes with gridspec
+                fig = plt.figure()
+                grid = plt.GridSpec(4, 4, hspace=0.2, wspace=0.2)
+                main_ax = fig.add_subplot(grid[:-1, :3])
+                y_hist = fig.add_subplot(grid[:-1, -1], xticklabels=[],
+                                         sharey=main_ax)
+
+                for i in range(self.nwalkers):
+                    samples = sampler.chain[i, :, parIdx]
+                    main_ax.plot(samples, '-')
+
+                    # histogram on the attached axes
+                    y_hist.hist(samples[burnin:], 40, histtype='stepfilled',
+                                orientation='horizontal', color='gray')
+
+                main_ax.set_ylim(params_range[parIdx])
+                main_ax.set_title('traceplot for ' + par_names[parIdx])
+                main_ax.set_xlabel('step number')
+
+                # save the current figure
+                pdf.savefig(fig, bbox_inches='tight')
+
+                # Destroy the current plot
+                plt.clf()
+
+            pdf.close()
+
+        # plot development of autocorrelation estimate
+        if not self.mp:
+            fig1 = plt.figure()
+            steps = autocorreverynsteps*np.arange(1, autocorrIdx+1)
+            taus = autocorr[:autocorrIdx]
+            plt.plot(steps, steps / autocorreverynsteps, "--k")
+            plt.plot(steps, taus)
+            plt.xlim(0, steps.max())
+            plt.ylim(0, np.nanmax(taus)+0.1*(np.nanmax(taus)-np.nanmin(taus)))
+            plt.xlabel("number of steps")
+            plt.ylabel(r"mean $\hat{\tau}$")
+            fig1.savefig(f"{output_dir}/autocorrelation_time.pdf",
+                         bbox_inches='tight')
+
+        # logml_dict = self.marginal_llk_emcee(sampler, self.nburn, logp=None,
+        # maxiter=5000)
+        # print('\nThe Bridge Sampling Estimation is "
+        #       f"{logml_dict['logml']:.5f}.')
+
+        # # Posterior-based expectation of posterior probablity
+        # postExpPostLikelihoods = np.mean(sampler.get_log_prob(flat=True)
+        # [self.nburn*self.nwalkers:])
+
+        # # Posterior-based expectation of prior densities
+        # postExpPrior = np.mean(self.log_prior(emcee_trace.T))
+
+        # # Posterior-based expectation of likelihoods
+        # postExpLikelihoods_emcee = postExpPostLikelihoods - postExpPrior
+
+        # # Calculate Kullback-Leibler Divergence
+        # KLD_emcee = postExpLikelihoods_emcee - logml_dict['logml']
+        # print("Kullback-Leibler divergence: %.5f"%KLD_emcee)
+
+        # # Information Entropy based on Entropy paper Eq. 38
+        # infEntropy_emcee = logml_dict['logml'] - postExpPrior -
+        #                    postExpLikelihoods_emcee
+        # print("Information Entropy: %.5f" %infEntropy_emcee)
+
+        Posterior_df = pd.DataFrame(finalsamples, columns=par_names)
+
+        return Posterior_df
+
+    # -------------------------------------------------------------------------
+    def log_prior(self, theta):
+        """
+        Calculates the log prior likelihood \\( p(\\theta)\\) for the given
+        parameter set(s) \\( \\theta \\).
+
+        Parameters
+        ----------
+        theta : array of shape (n_samples, n_params)
+            Parameter sets, i.e. proposals of MCMC chains.
+
+        Returns
+        -------
+        logprior: float or array of shape n_samples
+            Log prior likelihood. If theta has only one row, a single value is
+            returned otherwise an array.
+
+        """
+
+        MetaModel = self.BayesOpts.MetaModel
+        Discrepancy = self.BayesOpts.Discrepancy
+
+        # Find the number of sigma2 parameters
+        if Discrepancy.opt_sigma != 'B':
+            disc_bound_tuples = Discrepancy.ExpDesign.bound_tuples
+            disc_marginals = Discrepancy.ExpDesign.InputObj.Marginals
+            disc_prior_space = Discrepancy.ExpDesign.prior_space
+            n_sigma2 = len(disc_bound_tuples)
+        else:
+            n_sigma2 = -len(theta)
+        prior_dist = MetaModel.ExpDesign.prior_space
+        params_range = MetaModel.ExpDesign.bound_tuples
+        theta = theta if theta.ndim != 1 else theta.reshape((1, -1))
+        nsamples = theta.shape[0]
+        logprior = -np.inf*np.ones(nsamples)
+
+        for i in range(nsamples):
+            # Check if the sample is within the parameters' range
+            if self._check_ranges(theta[i], params_range):
+                # Check if all dists are uniform, if yes priors are equal.
+                if all(MetaModel.input_obj.Marginals[i].dist_type == 'uniform'
+                       for i in range(MetaModel.n_params)):
+                    logprior[i] = 0.0
+                else:
+                    logprior[i] = np.log(
+                        prior_dist.pdf(theta[i, :-n_sigma2].T)
+                        )
+
+                # Check if bias term needs to be inferred
+                if Discrepancy.opt_sigma != 'B':
+                    if self._check_ranges(theta[i, -n_sigma2:],
+                                          disc_bound_tuples):
+                        if all('unif' in disc_marginals[i].dist_type for i in
+                               range(Discrepancy.ExpDesign.ndim)):
+                            logprior[i] = 0.0
+                        else:
+                            logprior[i] += np.log(
+                                disc_prior_space.pdf(theta[i, -n_sigma2:])
+                                )
+
+        if nsamples == 1:
+            return logprior[0]
+        else:
+            return logprior
+
+    # -------------------------------------------------------------------------
+    def log_likelihood(self, theta):
+        """
+        Computes likelihood \\( p(\\mathcal{Y}|\\theta)\\) of the performance
+        of the (meta-)model in reproducing the observation data.
+
+        Parameters
+        ----------
+        theta : array of shape (n_samples, n_params)
+            Parameter set, i.e. proposals of the MCMC chains.
+
+        Returns
+        -------
+        log_like : array of shape (n_samples)
+            Log likelihood.
+
+        """
+
+        BayesOpts = self.BayesOpts
+        MetaModel = BayesOpts.MetaModel
+        Discrepancy = self.BayesOpts.Discrepancy
+
+        # Find the number of sigma2 parameters
+        if Discrepancy.opt_sigma != 'B':
+            disc_bound_tuples = Discrepancy.ExpDesign.bound_tuples
+            n_sigma2 = len(disc_bound_tuples)
+        else:
+            n_sigma2 = -len(theta)
+        # Check if bias term needs to be inferred
+        if Discrepancy.opt_sigma != 'B':
+            sigma2 = theta[:, -n_sigma2:]
+            theta = theta[:, :-n_sigma2]
+        else:
+            sigma2 = None
+        theta = theta if theta.ndim != 1 else theta.reshape((1, -1))
+
+        # Evaluate Model/MetaModel at theta
+        mean_pred, BayesOpts._std_pce_prior_pred = self.eval_model(theta)
+
+        # Surrogate model's error using RMSE of test data
+        surrError = MetaModel.rmse if hasattr(MetaModel, 'rmse') else None
+
+        # Likelihood
+        log_like = BayesOpts.normpdf(
+            mean_pred, self.observation, self.total_sigma2, sigma2,
+            std=surrError
+            )
+        return log_like
+
+    # -------------------------------------------------------------------------
+    def log_posterior(self, theta):
+        """
+        Computes the posterior likelihood \\(p(\\theta| \\mathcal{Y})\\) for
+        the given parameterset.
+
+        Parameters
+        ----------
+        theta : array of shape (n_samples, n_params)
+            Parameter set, i.e. proposals of the MCMC chains.
+
+        Returns
+        -------
+        log_like : array of shape (n_samples)
+            Log posterior likelihood.
+
+        """
+
+        nsamples = 1 if theta.ndim == 1 else theta.shape[0]
+
+        if nsamples == 1:
+            if self.log_prior(theta) == -np.inf:
+                return -np.inf
+            else:
+                # Compute log prior
+                log_prior = self.log_prior(theta)
+                # Compute log Likelihood
+                log_likelihood = self.log_likelihood(theta)
+
+                return log_prior + log_likelihood
+        else:
+            # Compute log prior
+            log_prior = self.log_prior(theta)
+
+            # Initialize log_likelihood
+            log_likelihood = -np.inf*np.ones(nsamples)
+
+            # find the indices for -inf sets
+            non_inf_idx = np.where(log_prior != -np.inf)[0]
+
+            # Compute loLikelihoods
+            if non_inf_idx.size != 0:
+                log_likelihood[non_inf_idx] = self.log_likelihood(
+                    theta[non_inf_idx]
+                    )
+
+            return log_prior + log_likelihood
+
+    # -------------------------------------------------------------------------
+    def eval_model(self, theta):
+        """
+        Evaluates the (meta-) model at the given theta.
+
+        Parameters
+        ----------
+        theta : array of shape (n_samples, n_params)
+            Parameter set, i.e. proposals of the MCMC chains.
+
+        Returns
+        -------
+        mean_pred : dict
+            Mean model prediction.
+        std_pred : dict
+            Std of model prediction.
+
+        """
+
+        BayesObj = self.BayesOpts
+        MetaModel = BayesObj.MetaModel
+        Model = MetaModel.ModelObj
+
+        if BayesObj.emulator:
+            # Evaluate the MetaModel
+            mean_pred, std_pred = MetaModel.eval_metamodel(samples=theta)
+        else:
+            # Evaluate the origModel
+            mean_pred, std_pred = dict(), dict()
+
+            model_outs, _ = Model.run_model_parallel(
+                theta, prevRun_No=self.counter,
+                key_str='_MCMC', mp=False, verbose=False)
+
+            # Save outputs in respective dicts
+            for varIdx, var in enumerate(Model.Output.names):
+                mean_pred[var] = model_outs[var]
+                std_pred[var] = np.zeros((mean_pred[var].shape))
+
+            # Remove the folder
+            if Model.link_type.lower() != 'function':
+                shutil.rmtree(f"{Model.name}_MCMC_{self.counter+1}")
+
+            # Add one to the counter
+            self.counter += 1
+
+        if hasattr(self, 'error_MetaModel') and BayesObj.error_model:
+            meanPred, stdPred = self.error_MetaModel.eval_model_error(
+                BayesObj.BiasInputs, mean_pred
+                )
+
+        return mean_pred, std_pred
+
+    # -------------------------------------------------------------------------
+    def train_error_model(self, sampler):
+        """
+        Trains an error model using a Gaussian Process Regression.
+
+        Parameters
+        ----------
+        sampler : obj
+            emcee sampler.
+
+        Returns
+        -------
+        error_MetaModel : obj
+            A error model.
+
+        """
+        BayesObj = self.BayesOpts
+        MetaModel = BayesObj.MetaModel
+
+        # Prepare the poster samples
+        try:
+            tau = sampler.get_autocorr_time(tol=0)
+        except emcee.autocorr.AutocorrError:
+            tau = 5
+
+        if all(np.isnan(tau)):
+            tau = 5
+
+        burnin = int(2*np.nanmax(tau))
+        thin = int(0.5*np.nanmin(tau)) if int(0.5*np.nanmin(tau)) != 0 else 1
+        finalsamples = sampler.get_chain(discard=burnin, flat=True, thin=thin)
+        posterior = finalsamples[:, :MetaModel.n_params]
+
+        # Select posterior mean as MAP
+        map_theta = posterior.mean(axis=0).reshape((1, MetaModel.n_params))
+        # MAP_theta = st.mode(Posterior_df,axis=0)[0]
+
+        # Evaluate the (meta-)model at the MAP
+        y_map, y_std_map = MetaModel.eval_metamodel(samples=map_theta)
+
+        # Train a GPR meta-model using MAP
+        error_MetaModel = MetaModel.create_model_error(
+            BayesObj.BiasInputs, y_map, name='Calib')
+
+        return error_MetaModel
+
+    # -------------------------------------------------------------------------
+    def gelman_rubin(self, chain, return_var=False):
+        """
+        The potential scale reduction factor (PSRF) defined by the variance
+        within one chain, W, with the variance between chains B.
+        Both variances are combined in a weighted sum to obtain an estimate of
+        the variance of a parameter \\( \\theta \\).The square root of the
+        ratio of this estimates variance to the within chain variance is called
+        the potential scale reduction.
+        For a well converged chain it should approach 1. Values greater than
+        1.1 typically indicate that the chains have not yet fully converged.
+
+        Source: http://joergdietrich.github.io/emcee-convergence.html
+
+        https://github.com/jwalton3141/jwalton3141.github.io/blob/master/assets/posts/ESS/rwmh.py
+
+        Parameters
+        ----------
+        chain : array (n_walkers, n_steps, n_params)
+            The emcee ensamples.
+
+        Returns
+        -------
+        R_hat : float
+            The Gelman-Robin values.
+
+        """
+        m_chains, n_iters = chain.shape[:2]
+
+        # Calculate between-chain variance
+        θb = np.mean(chain, axis=1)
+        θbb = np.mean(θb, axis=0)
+        B_over_n = ((θbb - θb)**2).sum(axis=0)
+        B_over_n /= (m_chains - 1)
+
+        # Calculate within-chain variances
+        ssq = np.var(chain, axis=1, ddof=1)
+        W = np.mean(ssq, axis=0)
+
+        # (over) estimate of variance
+        var_θ = W * (n_iters - 1) / n_iters + B_over_n
+
+        if return_var:
+            return var_θ
+        else:
+            # The square root of the ratio of this estimates variance to the
+            # within chain variance
+            R_hat = np.sqrt(var_θ / W)
+            return R_hat
+
+    # -------------------------------------------------------------------------
+    def marginal_llk_emcee(self, sampler, nburn=None, logp=None, maxiter=1000):
+        """
+        The Bridge Sampling Estimator of the Marginal Likelihood based on
+        https://gist.github.com/junpenglao/4d2669d69ddfe1d788318264cdcf0583
+
+        Parameters
+        ----------
+        sampler : TYPE
+            MultiTrace, result of MCMC run.
+        nburn : int, optional
+            Number of burn-in step. The default is None.
+        logp : TYPE, optional
+            Model Log-probability function. The default is None.
+        maxiter : int, optional
+            Maximum number of iterations. The default is 1000.
+
+        Returns
+        -------
+        marg_llk : dict
+            Estimated Marginal log-Likelihood.
+
+        """
+        r0, tol1, tol2 = 0.5, 1e-10, 1e-4
+
+        if logp is None:
+            logp = sampler.log_prob_fn
+
+        # Split the samples into two parts
+        # Use the first 50% for fiting the proposal distribution
+        # and the second 50% in the iterative scheme.
+        if nburn is None:
+            mtrace = sampler.chain
+        else:
+            mtrace = sampler.chain[:, nburn:, :]
+
+        nchain, len_trace, nrofVars = mtrace.shape
+
+        N1_ = len_trace // 2
+        N1 = N1_*nchain
+        N2 = len_trace*nchain - N1
+
+        samples_4_fit = np.zeros((nrofVars, N1))
+        samples_4_iter = np.zeros((nrofVars, N2))
+        effective_n = np.zeros((nrofVars))
+
+        # matrix with already transformed samples
+        for var in range(nrofVars):
+
+            # for fitting the proposal
+            x = mtrace[:, :N1_, var]
+
+            samples_4_fit[var, :] = x.flatten()
+            # for the iterative scheme
+            x2 = mtrace[:, N1_:, var]
+            samples_4_iter[var, :] = x2.flatten()
+
+            # effective sample size of samples_4_iter, scalar
+            effective_n[var] = self._my_ESS(x2)
+
+        # median effective sample size (scalar)
+        neff = np.median(effective_n)
+
+        # get mean & covariance matrix and generate samples from proposal
+        m = np.mean(samples_4_fit, axis=1)
+        V = np.cov(samples_4_fit)
+        L = chol(V, lower=True)
+
+        # Draw N2 samples from the proposal distribution
+        gen_samples = m[:, None] + np.dot(
+            L, st.norm.rvs(0, 1, size=samples_4_iter.shape)
+            )
+
+        # Evaluate proposal distribution for posterior & generated samples
+        q12 = st.multivariate_normal.logpdf(samples_4_iter.T, m, V)
+        q22 = st.multivariate_normal.logpdf(gen_samples.T, m, V)
+
+        # Evaluate unnormalized posterior for posterior & generated samples
+        q11 = logp(samples_4_iter.T)
+        q21 = logp(gen_samples.T)
+
+        # Run iterative scheme:
+        tmp = self._iterative_scheme(
+            N1, N2, q11, q12, q21, q22, r0, neff, tol1, maxiter, 'r'
+            )
+        if ~np.isfinite(tmp['logml']):
+            warnings.warn(
+                "logml could not be estimated within maxiter, rerunning with "
+                "adjusted starting value. Estimate might be more variable than"
+                " usual.")
+            # use geometric mean as starting value
+            r0_2 = np.sqrt(tmp['r_vals'][-2]*tmp['r_vals'][-1])
+            tmp = self._iterative_scheme(
+                q11, q12, q21, q22, r0_2, neff, tol2, maxiter, 'logml'
+                )
+
+        marg_llk = dict(
+            logml=tmp['logml'], niter=tmp['niter'], method="normal",
+            q11=q11, q12=q12, q21=q21, q22=q22
+            )
+        return marg_llk
+
+    # -------------------------------------------------------------------------
+    def _iterative_scheme(self, N1, N2, q11, q12, q21, q22, r0, neff, tol,
+                          maxiter, criterion):
+        """
+        Iterative scheme as proposed in Meng and Wong (1996) to estimate the
+        marginal likelihood
+
+        """
+        l1 = q11 - q12
+        l2 = q21 - q22
+        # To increase numerical stability,
+        # subtracting the median of l1 from l1 & l2 later
+        lstar = np.median(l1)
+        s1 = neff/(neff + N2)
+        s2 = N2/(neff + N2)
+        r = r0
+        r_vals = [r]
+        logml = np.log(r) + lstar
+        criterion_val = 1 + tol
+
+        i = 0
+        while (i <= maxiter) & (criterion_val > tol):
+            rold = r
+            logmlold = logml
+            numi = np.exp(l2 - lstar)/(s1 * np.exp(l2 - lstar) + s2 * r)
+            deni = 1/(s1 * np.exp(l1 - lstar) + s2 * r)
+            if np.sum(~np.isfinite(numi))+np.sum(~np.isfinite(deni)) > 0:
+                warnings.warn(
+                    """Infinite value in iterative scheme, returning NaN.
+                     Try rerunning with more samples.""")
+            r = (N1/N2) * np.sum(numi)/np.sum(deni)
+            r_vals.append(r)
+            logml = np.log(r) + lstar
+            i += 1
+            if criterion == 'r':
+                criterion_val = np.abs((r - rold)/r)
+            elif criterion == 'logml':
+                criterion_val = np.abs((logml - logmlold)/logml)
+
+        if i >= maxiter:
+            return dict(logml=np.NaN, niter=i, r_vals=np.asarray(r_vals))
+        else:
+            return dict(logml=logml, niter=i)
+
+    # -------------------------------------------------------------------------
+    def _my_ESS(self, x):
+        """
+        Compute the effective sample size of estimand of interest.
+        Vectorised implementation.
+        https://github.com/jwalton3141/jwalton3141.github.io/blob/master/assets/posts/ESS/rwmh.py
+
+
+        Parameters
+        ----------
+        x : array of shape (n_walkers, n_steps)
+            MCMC Samples.
+
+        Returns
+        -------
+        int
+            Effective sample size.
+
+        """
+        m_chains, n_iters = x.shape
+
+        def variogram(t):
+            variogram = ((x[:, t:] - x[:, :(n_iters - t)])**2).sum()
+            variogram /= (m_chains * (n_iters - t))
+            return variogram
+
+        post_var = self.gelman_rubin(x, return_var=True)
+
+        t = 1
+        rho = np.ones(n_iters)
+        negative_autocorr = False
+
+        # Iterate until the sum of consecutive estimates of autocorrelation is
+        # negative
+        while not negative_autocorr and (t < n_iters):
+            rho[t] = 1 - variogram(t) / (2 * post_var)
+
+            if not t % 2:
+                negative_autocorr = sum(rho[t-1:t+1]) < 0
+
+            t += 1
+
+        return int(m_chains*n_iters / (1 + 2*rho[1:t].sum()))
+
+    # -------------------------------------------------------------------------
+    def _check_ranges(self, theta, ranges):
+        """
+        This function checks if theta lies in the given ranges.
+
+        Parameters
+        ----------
+        theta : array
+            Proposed parameter set.
+        ranges : nested list
+            List of the praremeter ranges.
+
+        Returns
+        -------
+        c : bool
+            If it lies in the given range, it return True else False.
+
+        """
+        c = True
+        # traverse in the list1
+        for i, bounds in enumerate(ranges):
+            x = theta[i]
+            # condition check
+            if x < bounds[0] or x > bounds[1]:
+                c = False
+                return c
+        return c
diff --git a/examples/only-model/bayesvalidrox/bayesvalidrox.mplstyle b/examples/only-model/bayesvalidrox/bayesvalidrox.mplstyle
new file mode 100644
index 0000000000000000000000000000000000000000..1f31c01f24597de0e0be741be4d3a706c4213a6c
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/bayesvalidrox.mplstyle
@@ -0,0 +1,16 @@
+figure.titlesize : 30
+axes.titlesize : 30
+axes.labelsize : 30
+axes.linewidth : 3
+axes.grid : True
+lines.linewidth : 3
+lines.markersize : 10
+xtick.labelsize : 30
+ytick.labelsize : 30
+legend.fontsize : 30
+font.family : serif
+font.serif : Arial
+font.size : 30
+text.usetex : True
+grid.linestyle : -
+figure.figsize : 24, 16
diff --git a/examples/only-model/bayesvalidrox/desktop.ini b/examples/only-model/bayesvalidrox/desktop.ini
new file mode 100644
index 0000000000000000000000000000000000000000..632de13ae6b61cecf0d9fdbf9c97cfb16bfb51a4
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/desktop.ini
@@ -0,0 +1,2 @@
+[LocalizedFileNames]
+exploration.py=@exploration.py,0
diff --git a/examples/only-model/bayesvalidrox/post_processing/__init__.py b/examples/only-model/bayesvalidrox/post_processing/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..81c9825420b6ed3f027fb3c141be8af05a89f695
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/post_processing/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+from .post_processing import PostProcessing
+
+__all__ = [
+    "PostProcessing"
+    ]
diff --git a/examples/only-model/bayesvalidrox/post_processing/__pycache__/__init__.cpython-311.pyc b/examples/only-model/bayesvalidrox/post_processing/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e9108fe43d767221eb456e5fec28ee23ba4afbe5
Binary files /dev/null and b/examples/only-model/bayesvalidrox/post_processing/__pycache__/__init__.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/post_processing/__pycache__/post_processing.cpython-311.pyc b/examples/only-model/bayesvalidrox/post_processing/__pycache__/post_processing.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e253baea5f0711c774d08f539558c911df465f70
Binary files /dev/null and b/examples/only-model/bayesvalidrox/post_processing/__pycache__/post_processing.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/post_processing/post_processing.py b/examples/only-model/bayesvalidrox/post_processing/post_processing.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a89cf739e9b2a221ec1c078947d3624c747af96
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/post_processing/post_processing.py
@@ -0,0 +1,1352 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import numpy as np
+import math
+import os
+from itertools import combinations, cycle
+import pandas as pd
+import scipy.stats as stats
+from sklearn.linear_model import LinearRegression
+from sklearn.metrics import mean_squared_error, r2_score
+import matplotlib.pyplot as plt
+import matplotlib.ticker as ticker
+from matplotlib.offsetbox import AnchoredText
+from matplotlib.patches import Patch
+# Load the mplstyle
+#plt.style.use(os.path.join(os.path.split(__file__)[0],
+#                           '../', 'bayesvalidrox.mplstyle'))
+
+
+class PostProcessing:
+    """
+    This class provides many helper functions to post-process the trained
+    meta-model.
+
+    Attributes
+    ----------
+    MetaModel : obj
+        MetaModel object to do postprocessing on.
+    name : str
+        Type of the anaylsis. The default is `'calib'`. If a validation is
+        expected to be performed change this to `'valid'`.
+    """
+
+    def __init__(self, MetaModel, name='calib'):
+        self.MetaModel = MetaModel
+        self.name = name
+
+    # -------------------------------------------------------------------------
+    def plot_moments(self, xlabel='Time [s]', plot_type=None):
+        """
+        Plots the moments in a pdf format in the directory
+        `Outputs_PostProcessing`.
+
+        Parameters
+        ----------
+        xlabel : str, optional
+            String to be displayed as x-label. The default is `'Time [s]'`.
+        plot_type : str, optional
+            Options: bar or line. The default is `None`.
+
+        Returns
+        -------
+        pce_means: dict
+            Mean of the model outputs.
+        pce_means: dict
+            Standard deviation of the model outputs.
+
+        """
+        
+        bar_plot = True if plot_type == 'bar' else False
+        meta_model_type = self.MetaModel.meta_model_type
+        Model = self.MetaModel.ModelObj
+
+        # Read Monte-Carlo reference
+        self.mc_reference = Model.read_mc_reference()
+
+        # Set the x values
+        x_values_orig = self.MetaModel.ExpDesign.x_values
+
+        # Compute the moments with the PCEModel object
+        self.pce_means, self.pce_stds = self.compute_pce_moments()
+
+        # Get the variables
+        out_names = Model.Output.names
+
+        # Open a pdf for the plots
+        newpath = (f'Outputs_PostProcessing_{self.name}/')
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        # Plot the best fit line, set the linewidth (lw), color and
+        # transparency (alpha) of the line
+        for key in out_names:
+            fig, ax = plt.subplots(nrows=1, ncols=2)
+
+            # Extract mean and std
+            mean_data = self.pce_means[key]
+            std_data = self.pce_stds[key]
+
+            # Extract a list of x values
+            if type(x_values_orig) is dict:
+                x = x_values_orig[key]
+            else:
+                x = x_values_orig
+
+            # Plot: bar plot or line plot
+            if bar_plot:
+                ax[0].bar(list(map(str, x)), mean_data, color='b',
+                          width=0.25)
+                ax[1].bar(list(map(str, x)), std_data, color='b',
+                          width=0.25)
+                ax[0].legend(labels=[meta_model_type])
+                ax[1].legend(labels=[meta_model_type])
+            else:
+                #print(x)
+                #print(mean_data)
+                ax[0].plot(x, mean_data, lw=3, color='k', marker='x',
+                           label=meta_model_type)
+                ax[1].plot(x, std_data, lw=3, color='k', marker='x',
+                           label=meta_model_type)
+
+            if self.mc_reference is not None:
+                if bar_plot:
+                    ax[0].bar(list(map(str, x)), self.mc_reference['mean'],
+                              color='r', width=0.25)
+                    ax[1].bar(list(map(str, x)), self.mc_reference['std'],
+                              color='r', width=0.25)
+                    ax[0].legend(labels=[meta_model_type])
+                    ax[1].legend(labels=[meta_model_type])
+                else:
+                    ax[0].plot(x, self.mc_reference['mean'], lw=3, marker='x',
+                               color='r', label='Ref.')
+                    ax[1].plot(x, self.mc_reference['std'], lw=3, marker='x',
+                               color='r', label='Ref.')
+
+            # Label the axes and provide a title
+            ax[0].set_xlabel(xlabel)
+            ax[1].set_xlabel(xlabel)
+            ax[0].set_ylabel(key)
+            ax[1].set_ylabel(key)
+
+            # Provide a title
+            ax[0].set_title('Mean of ' + key)
+            ax[1].set_title('Std of ' + key)
+
+            if not bar_plot:
+                ax[0].legend(loc='best')
+                ax[1].legend(loc='best')
+
+            plt.tight_layout()
+
+            # save the current figure
+            fig.savefig(
+                f'./{newpath}Mean_Std_PCE_{key}.pdf',
+                bbox_inches='tight'
+                )
+
+        return self.pce_means, self.pce_stds
+
+    # -------------------------------------------------------------------------
+    def valid_metamodel(self, n_samples=1, samples=None, model_out_dict=None,
+                        x_axis='Time [s]'):
+        """
+        Evaluates and plots the meta model and the PCEModel outputs for the
+        given number of samples or the given samples.
+
+        Parameters
+        ----------
+        n_samples : int, optional
+            Number of samples to be evaluated. The default is 1.
+        samples : array of shape (n_samples, n_params), optional
+            Samples to be evaluated. The default is None.
+        model_out_dict: dict
+            The model runs using the samples provided.
+        x_axis : str, optional
+            Label of x axis. The default is `'Time [s]'`.
+
+        Returns
+        -------
+        None.
+
+        """
+        MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+
+        if samples is None:
+            self.n_samples = n_samples
+            samples = self._get_sample()
+        else:
+            self.n_samples = samples.shape[0]
+
+        # Extract x_values
+        x_values = MetaModel.ExpDesign.x_values
+
+        if model_out_dict is not None:
+            self.model_out_dict = model_out_dict
+        else:
+            self.model_out_dict = self._eval_model(samples, key_str='valid')
+        self.pce_out_mean, self.pce_out_std = MetaModel.eval_metamodel(samples)
+
+        try:
+            key = Model.Output.names[1]
+        except IndexError:
+            key = Model.Output.names[0]
+
+        n_obs = self.model_out_dict[key].shape[1]
+
+        if n_obs == 1:
+            self._plot_validation()
+        else:
+            print(x_values)
+            self._plot_validation_multi(x_values=x_values, x_axis=x_axis)
+
+    # -------------------------------------------------------------------------
+    def check_accuracy(self, n_samples=None, samples=None, outputs=None):
+        """
+        Checks accuracy of the metamodel by computing the root mean square
+        error and validation error for all outputs.
+
+        Parameters
+        ----------
+        n_samples : int, optional
+            Number of samples. The default is None.
+        samples : array of shape (n_samples, n_params), optional
+            Parameter sets to be checked. The default is None.
+        outputs : dict, optional
+            Output dictionary with model outputs for all given output types in
+            `Model.Output.names`. The default is None.
+
+        Raises
+        ------
+        Exception
+            When neither n_samples nor samples are provided.
+
+        Returns
+        -------
+        rmse: dict
+            Root mean squared error for each output.
+        valid_error : dict
+            Validation error for each output.
+
+        """
+        MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+
+        # Set the number of samples
+        if n_samples:
+            self.n_samples = n_samples
+        elif samples is not None:
+            self.n_samples = samples.shape[0]
+        else:
+            raise Exception("Please provide either samples or pass number of "
+                            "samples!")
+
+        # Generate random samples if necessary
+        Samples = self._get_sample() if samples is None else samples
+
+        # Run the original model with the generated samples
+        if outputs is None:
+            outputs = self._eval_model(Samples, key_str='validSet')
+
+        # Run the PCE model with the generated samples
+        pce_outputs, _ = MetaModel.eval_metamodel(samples=Samples)
+
+        self.rmse = {}
+        self.valid_error = {}
+        # Loop over the keys and compute RMSE error.
+        for key in Model.Output.names:
+            # Root mena square
+            self.rmse[key] = mean_squared_error(outputs[key], pce_outputs[key],
+                                                squared=False,
+                                                multioutput='raw_values')
+            # Validation error
+            self.valid_error[key] = (self.rmse[key]**2) / \
+                np.var(outputs[key], ddof=1, axis=0)
+
+            # Print a report table
+            print("\n>>>>> Errors of {} <<<<<".format(key))
+            print("\nIndex  |  RMSE   |  Validation Error")
+            print('-'*35)
+            print('\n'.join(f'{i+1}  |  {k:.3e}  |  {j:.3e}' for i, (k, j)
+                            in enumerate(zip(self.rmse[key],
+                                             self.valid_error[key]))))
+        # Save error dicts in PCEModel object
+        self.MetaModel.rmse = self.rmse
+        self.MetaModel.valid_error = self.valid_error
+
+        return
+
+    # -------------------------------------------------------------------------
+    def plot_seq_design_diagnostics(self, ref_BME_KLD=None):
+        """
+        Plots the Bayesian Model Evidence (BME) and Kullback-Leibler divergence
+        (KLD) for the sequential design.
+
+        Parameters
+        ----------
+        ref_BME_KLD : array, optional
+            Reference BME and KLD . The default is `None`.
+
+        Returns
+        -------
+        None.
+
+        """
+        PCEModel = self.MetaModel
+        n_init_samples = PCEModel.ExpDesign.n_init_samples
+        n_total_samples = PCEModel.ExpDesign.X.shape[0]
+
+        newpath = f'Outputs_PostProcessing_{self.name}/seq_design_diagnostics/'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        plotList = ['Modified LOO error', 'Validation error', 'KLD', 'BME',
+                    'RMSEMean', 'RMSEStd', 'Hellinger distance']
+        seqList = [PCEModel.SeqModifiedLOO, PCEModel.seqValidError,
+                   PCEModel.SeqKLD, PCEModel.SeqBME, PCEModel.seqRMSEMean,
+                   PCEModel.seqRMSEStd, PCEModel.SeqDistHellinger]
+
+        markers = ('x', 'o', 'd', '*', '+')
+        colors = ('k', 'darkgreen', 'b', 'navy', 'darkred')
+
+        # Plot the evolution of the diagnostic criteria of the
+        # Sequential Experimental Design.
+        for plotidx, plot in enumerate(plotList):
+            fig, ax = plt.subplots()
+            seq_dict = seqList[plotidx]
+            name_util = list(seq_dict.keys())
+
+            if len(name_util) == 0:
+                continue
+
+            # Box plot when Replications have been detected.
+            if any(int(name.split("rep_", 1)[1]) > 1 for name in name_util):
+                # Extract the values from dict
+                sorted_seq_opt = {}
+                # Number of replications
+                n_reps = PCEModel.ExpDesign.n_replication
+
+                # Get the list of utility function names
+                # Handle if only one UtilityFunction is provided
+                if not isinstance(PCEModel.ExpDesign.util_func, list):
+                    util_funcs = [PCEModel.ExpDesign.util_func]
+                else:
+                    util_funcs = PCEModel.ExpDesign.util_func
+
+                for util in util_funcs:
+                    sortedSeq = {}
+                    # min number of runs available from reps
+                    n_runs = min([seq_dict[f'{util}_rep_{i+1}'].shape[0]
+                                 for i in range(n_reps)])
+
+                    for runIdx in range(n_runs):
+                        values = []
+                        for key in seq_dict.keys():
+                            if util in key:
+                                values.append(seq_dict[key][runIdx].mean())
+                        sortedSeq['SeqItr_'+str(runIdx)] = np.array(values)
+                    sorted_seq_opt[util] = sortedSeq
+
+                # BoxPlot
+                def draw_plot(data, labels, edge_color, fill_color, idx):
+                    pos = labels - (idx-1)
+                    bp = plt.boxplot(data, positions=pos, labels=labels,
+                                     patch_artist=True, sym='', widths=0.75)
+                    elements = ['boxes', 'whiskers', 'fliers', 'means',
+                                'medians', 'caps']
+                    for element in elements:
+                        plt.setp(bp[element], color=edge_color[idx])
+
+                    for patch in bp['boxes']:
+                        patch.set(facecolor=fill_color[idx])
+
+                if PCEModel.ExpDesign.n_new_samples != 1:
+                    step1 = PCEModel.ExpDesign.n_new_samples
+                    step2 = 1
+                else:
+                    step1 = 5
+                    step2 = 5
+                edge_color = ['red', 'blue', 'green']
+                fill_color = ['tan', 'cyan', 'lightgreen']
+                plot_label = plot
+                # Plot for different Utility Functions
+                for idx, util in enumerate(util_funcs):
+                    all_errors = np.empty((n_reps, 0))
+
+                    for key in list(sorted_seq_opt[util].keys()):
+                        errors = sorted_seq_opt.get(util, {}).get(key)[:, None]
+                        all_errors = np.hstack((all_errors, errors))
+
+                    # Special cases for BME and KLD
+                    if plot == 'KLD' or plot == 'BME':
+                        # BME convergence if refBME is provided
+                        if ref_BME_KLD is not None:
+                            if plot == 'BME':
+                                refValue = ref_BME_KLD[0]
+                                plot_label = r'BME/BME$^{Ref.}$'
+                            if plot == 'KLD':
+                                refValue = ref_BME_KLD[1]
+                                plot_label = '$D_{KL}[p(\\theta|y_*),p(\\theta)]'\
+                                    ' / D_{KL}^{Ref.}[p(\\theta|y_*), '\
+                                    'p(\\theta)]$'
+
+                            # Difference between BME/KLD and the ref. values
+                            all_errors = np.divide(all_errors,
+                                                   np.full((all_errors.shape),
+                                                           refValue))
+
+                            # Plot baseline for zero, i.e. no difference
+                            plt.axhline(y=1.0, xmin=0, xmax=1, c='green',
+                                        ls='--', lw=2)
+
+                    # Plot each UtilFuncs
+                    labels = np.arange(n_init_samples, n_total_samples+1, step1)
+                    draw_plot(all_errors[:, ::step2], labels, edge_color,
+                              fill_color, idx)
+
+                plt.xticks(labels, labels)
+                # Set the major and minor locators
+                ax.xaxis.set_major_locator(ticker.AutoLocator())
+                ax.xaxis.set_minor_locator(ticker.AutoMinorLocator())
+                ax.xaxis.grid(True, which='major', linestyle='-')
+                ax.xaxis.grid(True, which='minor', linestyle='--')
+
+                # Legend
+                legend_elements = []
+                for idx, util in enumerate(util_funcs):
+                    legend_elements.append(Patch(facecolor=fill_color[idx],
+                                                 edgecolor=edge_color[idx],
+                                                 label=util))
+                plt.legend(handles=legend_elements[::-1], loc='best')
+
+                if plot != 'BME' and plot != 'KLD':
+                    plt.yscale('log')
+                plt.autoscale(True)
+                plt.xlabel('\\# of training samples')
+                plt.ylabel(plot_label)
+                plt.title(plot)
+
+                # save the current figure
+                plot_name = plot.replace(' ', '_')
+                fig.savefig(
+                    f'./{newpath}/seq_{plot_name}.pdf',
+                    bbox_inches='tight'
+                    )
+                # Destroy the current plot
+                plt.clf()
+                # Save arrays into files
+                f = open(f'./{newpath}/seq_{plot_name}.txt', 'w')
+                f.write(str(sorted_seq_opt))
+                f.close()
+            else:
+                for idx, name in enumerate(name_util):
+                    seq_values = seq_dict[name]
+                    if PCEModel.ExpDesign.n_new_samples != 1:
+                        step = PCEModel.ExpDesign.n_new_samples
+                    else:
+                        step = 1
+                    x_idx = np.arange(n_init_samples, n_total_samples+1, step)
+                    if n_total_samples not in x_idx:
+                        x_idx = np.hstack((x_idx, n_total_samples))
+
+                    if plot == 'KLD' or plot == 'BME':
+                        # BME convergence if refBME is provided
+                        if ref_BME_KLD is not None:
+                            if plot == 'BME':
+                                refValue = ref_BME_KLD[0]
+                                plot_label = r'BME/BME$^{Ref.}$'
+                            if plot == 'KLD':
+                                refValue = ref_BME_KLD[1]
+                                plot_label = '$D_{KL}[p(\\theta|y_*),p(\\theta)]'\
+                                    ' / D_{KL}^{Ref.}[p(\\theta|y_*), '\
+                                    'p(\\theta)]$'
+
+                            # Difference between BME/KLD and the ref. values
+                            values = np.divide(seq_values,
+                                               np.full((seq_values.shape),
+                                                       refValue))
+
+                            # Plot baseline for zero, i.e. no difference
+                            plt.axhline(y=1.0, xmin=0, xmax=1, c='green',
+                                        ls='--', lw=2)
+
+                            # Set the limits
+                            plt.ylim([1e-1, 1e1])
+
+                            # Create the plots
+                            plt.semilogy(x_idx, values, marker=markers[idx],
+                                         color=colors[idx], ls='--', lw=2,
+                                         label=name.split("_rep", 1)[0])
+                        else:
+                            plot_label = plot
+
+                            # Create the plots
+                            plt.plot(x_idx, seq_values, marker=markers[idx],
+                                     color=colors[idx], ls='--', lw=2,
+                                     label=name.split("_rep", 1)[0])
+
+                    else:
+                        plot_label = plot
+                        seq_values = np.nan_to_num(seq_values)
+
+                        # Plot the error evolution for each output
+                        plt.semilogy(x_idx, seq_values.mean(axis=1),
+                                     marker=markers[idx], ls='--', lw=2,
+                                     color=colors[idx],
+                                     label=name.split("_rep", 1)[0])
+
+                # Set the major and minor locators
+                ax.xaxis.set_major_locator(ticker.AutoLocator())
+                ax.xaxis.set_minor_locator(ticker.AutoMinorLocator())
+                ax.xaxis.grid(True, which='major', linestyle='-')
+                ax.xaxis.grid(True, which='minor', linestyle='--')
+
+                ax.tick_params(axis='both', which='major', direction='in',
+                               width=3, length=10)
+                ax.tick_params(axis='both', which='minor', direction='in',
+                               width=2, length=8)
+                plt.xlabel('Number of runs')
+                plt.ylabel(plot_label)
+                plt.title(plot)
+                plt.legend(frameon=True)
+
+                # save the current figure
+                plot_name = plot.replace(' ', '_')
+                fig.savefig(
+                    f'./{newpath}/seq_{plot_name}.pdf',
+                    bbox_inches='tight'
+                    )
+                # Destroy the current plot
+                plt.clf()
+
+                # ---------------- Saving arrays into files ---------------
+                np.save(f'./{newpath}/seq_{plot_name}.npy', seq_values)
+
+        return
+
+    # -------------------------------------------------------------------------
+    def sobol_indices(self, xlabel=None, plot_type=None):
+        """
+        Provides Sobol indices as a sensitivity measure to infer the importance
+        of the input parameters. See Eq. 27 in [1] for more details. For the
+        case with Principal component analysis refer to [2].
+
+        [1] Global sensitivity analysis: A flexible and efficient framework
+        with an example from stochastic hydrogeology S. Oladyshkin, F.P.
+        de Barros, W. Nowak  https://doi.org/10.1016/j.advwatres.2011.11.001
+
+        [2] Nagel, J.B., Rieckermann, J. and Sudret, B., 2020. Principal
+        component analysis and sparse polynomial chaos expansions for global
+        sensitivity analysis and model calibration: Application to urban
+        drainage simulation. Reliability Engineering & System Safety, 195,
+        p.106737.
+
+        Parameters
+        ----------
+        xlabel : str, optional
+            Label of the x-axis. The default is `'Time [s]'`.
+        plot_type : str, optional
+            Plot type. The default is `None`. This corresponds to line plot.
+            Bar chart can be selected by `bar`.
+
+        Returns
+        -------
+        sobol_cell: dict
+            Sobol indices.
+        total_sobol: dict
+            Total Sobol indices.
+
+        """
+        #print('arrived')
+        if not xlabel:
+            xlabel = 'Time [s]' # test workaround
+        
+        # Extract the necessary variables
+        PCEModel = self.MetaModel
+        basis_dict = PCEModel.basis_dict
+        coeffs_dict = PCEModel.coeffs_dict
+        n_params = PCEModel.n_params
+        max_order = np.max(PCEModel.pce_deg)
+        sobol_cell_b = {}
+        total_sobol_b = {}
+        cov_Z_p_q = np.zeros((n_params))
+        #print('init done')
+        for b_i in range(PCEModel.n_bootstrap_itrs):
+
+            sobol_cell_, total_sobol_ = {}, {}
+
+            for output in PCEModel.ModelObj.Output.names:
+                #print(coeffs_dict[f'b_{b_i+1}'][output])
+                n_meas_points = len(coeffs_dict[f'b_{b_i+1}'][output])
+                #print(n_meas_points)
+                # Initialize the (cell) array containing the (total) Sobol indices.
+                sobol_array = dict.fromkeys(range(1, max_order+1), [])
+                sobol_cell_array = dict.fromkeys(range(1, max_order+1), [])
+
+                for i_order in range(1, max_order+1):
+                    n_comb = math.comb(n_params, i_order)
+
+                    sobol_cell_array[i_order] = np.zeros((n_comb, n_meas_points))
+
+                total_sobol_array = np.zeros((n_params, n_meas_points))
+
+                # Initialize the cell to store the names of the variables
+                TotalVariance = np.zeros((n_meas_points))
+                #print('stop1')
+                # Loop over all measurement points and calculate sobol indices
+                for pIdx in range(n_meas_points):
+
+                    # Extract the basis indices (alpha) and coefficients
+                    Basis = basis_dict[f'b_{b_i+1}'][output][f'y_{pIdx+1}']
+
+                    try:
+                        clf_poly = PCEModel.clf_poly[f'b_{b_i+1}'][output][f'y_{pIdx+1}']
+                        PCECoeffs = clf_poly.coef_
+                    except:
+                        PCECoeffs = coeffs_dict[f'b_{b_i+1}'][output][f'y_{pIdx+1}']
+
+                    # Compute total variance
+                    TotalVariance[pIdx] = np.sum(np.square(PCECoeffs[1:]))
+
+                    nzidx = np.where(PCECoeffs != 0)[0]
+                    # Set all the Sobol indices equal to zero in the presence of a
+                    # null output.
+                    if len(nzidx) == 0:
+                        # This is buggy.
+                        for i_order in range(1, max_order+1):
+                            sobol_cell_array[i_order][:, pIdx] = 0
+
+                    # Otherwise compute them by summing well-chosen coefficients
+                    else:
+                        nz_basis = Basis[nzidx]
+                        for i_order in range(1, max_order+1):
+                            idx = np.where(np.sum(nz_basis > 0, axis=1) == i_order)
+                            subbasis = nz_basis[idx]
+                            Z = np.array(list(combinations(range(n_params), i_order)))
+
+                            for q in range(Z.shape[0]):
+                                Zq = Z[q]
+                                subsubbasis = subbasis[:, Zq]
+                                subidx = np.prod(subsubbasis, axis=1) > 0
+                                sum_ind = nzidx[idx[0][subidx]]
+                                if TotalVariance[pIdx] == 0.0:
+                                    sobol_cell_array[i_order][q, pIdx] = 0.0
+                                else:
+                                    sobol = np.sum(np.square(PCECoeffs[sum_ind]))
+                                    sobol /= TotalVariance[pIdx]
+                                    sobol_cell_array[i_order][q, pIdx] = sobol
+
+                        # Compute the TOTAL Sobol indices.
+                        for ParIdx in range(n_params):
+                            idx = nz_basis[:, ParIdx] > 0
+                            sum_ind = nzidx[idx]
+
+                            if TotalVariance[pIdx] == 0.0:
+                                total_sobol_array[ParIdx, pIdx] = 0.0
+                            else:
+                                sobol = np.sum(np.square(PCECoeffs[sum_ind]))
+                                sobol /= TotalVariance[pIdx]
+                                total_sobol_array[ParIdx, pIdx] = sobol
+
+                    # ----- if PCA selected: Compute covariance -----
+                    if PCEModel.dim_red_method.lower() == 'pca':
+                        # Extract the basis indices (alpha) and coefficients for
+                        # next component
+                        if pIdx < n_meas_points-1:
+                            nextBasis = basis_dict[f'b_{b_i+1}'][output][f'y_{pIdx+2}']
+                            if PCEModel.bootstrap_method != 'fast' or b_i == 0:
+                                clf_poly = PCEModel.clf_poly[f'b_{b_i+1}'][output][f'y_{pIdx+2}']
+                                nextPCECoeffs = clf_poly.coef_
+                            else:
+                                nextPCECoeffs = coeffs_dict[f'b_{b_i+1}'][output][f'y_{pIdx+2}']
+
+                            # Choose the common non-zero basis
+                            mask = (Basis[:, None] == nextBasis).all(-1).any(-1)
+                            n_mask = (nextBasis[:, None] == Basis).all(-1).any(-1)
+
+                            # Compute the covariance in Eq 17.
+                            for ParIdx in range(n_params):
+                                idx = (mask) & (Basis[:, ParIdx] > 0)
+                                n_idx = (n_mask) & (nextBasis[:, ParIdx] > 0)
+                                try:
+                                    cov_Z_p_q[ParIdx] += np.sum(np.dot(
+                                        PCECoeffs[idx], nextPCECoeffs[n_idx])
+                                        )
+                                except:
+                                    pass
+
+                # Compute the sobol indices according to Ref. 2
+                if PCEModel.dim_red_method.lower() == 'pca':
+                    n_c_points = PCEModel.ExpDesign.Y[output].shape[1]
+                    PCA = PCEModel.pca[f'b_{b_i+1}'][output]
+                    compPCA = PCA.components_
+                    nComp = compPCA.shape[0]
+                    var_Z_p = PCA.explained_variance_
+
+                    # Extract the sobol index of the components
+                    for i_order in range(1, max_order+1):
+                        n_comb = math.comb(n_params, i_order)
+                        sobol_array[i_order] = np.zeros((n_comb, n_c_points))
+                        Z = np.array(list(combinations(range(n_params), i_order)))
+
+                        # Loop over parameters
+                        for q in range(Z.shape[0]):
+                            S_Z_i = sobol_cell_array[i_order][q]
+
+                            for tIdx in range(n_c_points):
+                                var_Y_t = np.var(
+                                    PCEModel.ExpDesign.Y[output][:, tIdx])
+                                if var_Y_t == 0.0:
+                                    term1, term2 = 0.0, 0.0
+                                else:
+                                    # Eq. 17
+                                    term1 = 0.0
+                                    for i in range(nComp):
+                                        a = S_Z_i[i] * var_Z_p[i]
+                                        a *= compPCA[i, tIdx]**2
+                                        term1 += a
+
+                                    # TODO: Term 2
+                                    # term2 = 0.0
+                                    # for i in range(nComp-1):
+                                    #     term2 += cov_Z_p_q[q] * compPCA[i, tIdx]
+                                    #     term2 *= compPCA[i+1, tIdx]
+                                    # term2 *= 2
+
+                                sobol_array[i_order][q, tIdx] = term1 #+ term2
+
+                                # Devide over total output variance Eq. 18
+                                sobol_array[i_order][q, tIdx] /= var_Y_t
+
+                    # Compute the TOTAL Sobol indices.
+                    total_sobol = np.zeros((n_params, n_c_points))
+                    for ParIdx in range(n_params):
+                        S_Z_i = total_sobol_array[ParIdx]
+
+                        for tIdx in range(n_c_points):
+                            var_Y_t = np.var(PCEModel.ExpDesign.Y[output][:, tIdx])
+                            if var_Y_t == 0.0:
+                                term1, term2 = 0.0, 0.0
+                            else:
+                                term1 = 0
+                                for i in range(nComp):
+                                    term1 += S_Z_i[i] * var_Z_p[i] * \
+                                        (compPCA[i, tIdx]**2)
+
+                                # Term 2
+                                term2 = 0
+                                for i in range(nComp-1):
+                                    term2 += cov_Z_p_q[ParIdx] * compPCA[i, tIdx] \
+                                        * compPCA[i+1, tIdx]
+                                term2 *= 2
+
+                            total_sobol[ParIdx, tIdx] = term1 #+ term2
+
+                            # Devide over total output variance Eq. 18
+                            total_sobol[ParIdx, tIdx] /= var_Y_t
+
+                    sobol_cell_[output] = sobol_array
+                    total_sobol_[output] = total_sobol
+                else:
+                    sobol_cell_[output] = sobol_cell_array
+                    total_sobol_[output] = total_sobol_array
+
+            # Save for each bootsrtap iteration
+            sobol_cell_b[b_i] = sobol_cell_
+            total_sobol_b[b_i] = total_sobol_
+
+        # Average total sobol indices
+        total_sobol_all = {}
+        for i in sorted(total_sobol_b):
+            for k, v in total_sobol_b[i].items():
+                if k not in total_sobol_all:
+                    total_sobol_all[k] = [None] * len(total_sobol_b)
+                total_sobol_all[k][i] = v
+
+        self.total_sobol = {}
+        for output in PCEModel.ModelObj.Output.names:
+            self.total_sobol[output] = np.mean(total_sobol_all[output], axis=0)
+
+        # ---------------- Plot -----------------------
+        par_names = PCEModel.ExpDesign.par_names
+        x_values_orig = PCEModel.ExpDesign.x_values
+
+        newpath = (f'Outputs_PostProcessing_{self.name}/')
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        fig = plt.figure()
+
+        # Do the plots and save sobol results - uses self.total_sobol
+        for outIdx, output in enumerate(PCEModel.ModelObj.Output.names):
+
+            # Extract total Sobol indices
+            total_sobol = self.total_sobol[output]
+
+            # Compute quantiles
+            q_5 = np.quantile(total_sobol_all[output], q=0.05, axis=0)
+            q_97_5 = np.quantile(total_sobol_all[output], q=0.975, axis=0)
+
+            # Extract a list of x values
+            if type(x_values_orig) is dict:
+                x = x_values_orig[output]
+            else:
+                x = x_values_orig
+
+            if plot_type == 'bar':
+                ax = fig.add_axes([0, 0, 1, 1])
+                dict1 = {xlabel: x}
+                dict2 = {param: sobolIndices for param, sobolIndices
+                         in zip(par_names, total_sobol)}
+
+                df = pd.DataFrame({**dict1, **dict2})
+                df.plot(x=xlabel, y=par_names, kind="bar", ax=ax, rot=0,
+                        colormap='Dark2', yerr=q_97_5-q_5)
+                ax.set_ylabel('Total Sobol indices, $S^T$')
+
+            else:
+                for i, sobolIndices in enumerate(total_sobol):
+                    plt.plot(x, sobolIndices, label=par_names[i],
+                             marker='x', lw=2.5)
+                    plt.fill_between(x, q_5[i], q_97_5[i], alpha=0.15)
+
+                plt.ylabel('Total Sobol indices, $S^T$')
+                plt.xlabel(xlabel)
+
+            plt.title(f'Sensitivity analysis of {output}')
+            if plot_type != 'bar':
+                plt.legend(loc='best', frameon=True)
+
+            # Save indices
+            np.savetxt(f'./{newpath}totalsobol_' +
+                       output.replace('/', '_') + '.csv',
+                       total_sobol.T, delimiter=',',
+                       header=','.join(par_names), comments='')
+
+            # save the current figure
+            fig.savefig(
+                f'./{newpath}Sobol_indices_{output}.pdf',
+                bbox_inches='tight'
+                )
+
+            # Destroy the current plot
+            plt.clf()
+
+        return self.total_sobol
+
+    # -------------------------------------------------------------------------
+    def check_reg_quality(self, n_samples=1000, samples=None):
+        """
+        Checks the quality of the metamodel for single output models based on:
+        https://towardsdatascience.com/how-do-you-check-the-quality-of-your-regression-model-in-python-fa61759ff685
+
+
+        Parameters
+        ----------
+        n_samples : int, optional
+            Number of parameter sets to use for the check. The default is 1000.
+        samples : array of shape (n_samples, n_params), optional
+            Parameter sets to use for the check. The default is None.
+
+        Returns
+        -------
+        None.
+
+        """
+        MetaModel = self.MetaModel
+
+        if samples is None:
+            self.n_samples = n_samples
+            samples = self._get_sample()
+        else:
+            self.n_samples = samples.shape[0]
+
+        # Evaluate the original and the surrogate model
+        y_val = self._eval_model(samples, key_str='valid')
+        y_pce_val, _ = MetaModel.eval_metamodel(samples=samples)
+
+        # Open a pdf for the plots
+        newpath = f'Outputs_PostProcessing_{self.name}/'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        # Fit the data(train the model)
+        for key in y_pce_val.keys():
+            print(key)
+            y_pce_val_ = y_pce_val[key]
+            y_val_ = y_val[key]
+            residuals = y_val_ - y_pce_val_
+            if residuals.shape[1] != 0:
+                sum_residuals = np.mean(residuals, axis = 1)            # TODO: mean here? or sum?
+
+            # ------ Residuals vs. predicting variables ------
+            # Check the assumptions of linearity and independence
+            fig1 = plt.figure()
+            for i, par in enumerate(MetaModel.ExpDesign.par_names):
+                plt.title(f"{key}: Residuals vs. {par}")
+                #print(samples[:, i].shape)
+                #print(residuals.shape)
+                #print(MetaModel.ExpDesign.par_names)
+                plt.scatter(
+                    x=samples[:, i], y=sum_residuals, color='blue', edgecolor='k')  # TODO: issues here with sizes for different times
+                plt.grid(True)
+                xmin, xmax = min(samples[:, i]), max(samples[:, i])
+                plt.hlines(y=0, xmin=xmin*0.9, xmax=xmax*1.1, color='red',
+                           lw=3, linestyle='--')
+                plt.xlabel(par)
+                plt.ylabel('Residuals')
+                plt.show()
+
+                # save the current figure
+                fig1.savefig(f'./{newpath}/Residuals_vs_Par_{i+1}.pdf',
+                             bbox_inches='tight')
+                # Destroy the current plot
+                plt.clf()
+
+            # ------ Fitted vs. residuals ------
+            # Check the assumptions of linearity and independence
+            fig2 = plt.figure()
+            plt.title(f"{key}: Residuals vs. fitted values")
+            plt.scatter(x=y_pce_val_, y=residuals, color='blue', edgecolor='k')
+            plt.grid(True)
+            xmin, xmax = np.min(y_val_), np.max(y_val_)                # TODO: changed this here to np
+            plt.hlines(y=0, xmin=xmin*0.9, xmax=xmax*1.1, color='red', lw=3,
+                       linestyle='--')
+            plt.xlabel(key)
+            plt.ylabel('Residuals')
+            plt.show()
+
+            # save the current figure
+            fig2.savefig(f'./{newpath}/Fitted_vs_Residuals.pdf',
+                         bbox_inches='tight')
+            # Destroy the current plot
+            plt.clf()
+
+            # ------ Histogram of normalized residuals ------
+            fig3 = plt.figure()
+            resid_pearson = residuals / (np.max(residuals)-np.min(residuals)) # TODO: changed this here to np
+            plt.hist(resid_pearson, bins=20, edgecolor='k')
+            plt.ylabel('Count')
+            plt.xlabel('Normalized residuals')
+            plt.title(f"{key}: Histogram of normalized residuals")
+
+            # Normality (Shapiro-Wilk) test of the residuals
+            ax = plt.gca()
+            _, p = stats.shapiro(residuals)
+            if p < 0.01:
+                annText = "The residuals seem to come from Gaussian process."
+            else:
+                annText = "The normality assumption may not hold."
+            at = AnchoredText(annText, prop=dict(size=30), frameon=True,
+                              loc='upper left')
+            at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
+            ax.add_artist(at)
+
+            plt.show()
+
+            # save the current figure
+            fig3.savefig(f'./{newpath}/Hist_NormResiduals.pdf',
+                         bbox_inches='tight')
+            # Destroy the current plot
+            plt.clf()
+
+            # ------ Q-Q plot of the normalized residuals ------
+            plt.figure()
+            stats.probplot(residuals[:, 0], plot=plt)
+            plt.xticks()
+            plt.yticks()
+            plt.xlabel("Theoretical quantiles")
+            plt.ylabel("Sample quantiles")
+            plt.title(f"{key}: Q-Q plot of normalized residuals")
+            plt.grid(True)
+            plt.show()
+
+            # save the current figure
+            plt.savefig(f'./{newpath}/QQPlot_NormResiduals.pdf',
+                        bbox_inches='tight')
+            # Destroy the current plot
+            plt.clf()
+
+    # -------------------------------------------------------------------------
+    def eval_pce_model_3d(self):
+
+        self.n_samples = 1000
+
+        PCEModel = self.MetaModel
+        Model = self.MetaModel.ModelObj
+        n_samples = self.n_samples
+
+        # Create 3D-Grid
+        # TODO: Make it general
+        x = np.linspace(-5, 10, n_samples)
+        y = np.linspace(0, 15, n_samples)
+
+        X, Y = np.meshgrid(x, y)
+        PCE_Z = np.zeros((self.n_samples, self.n_samples))
+        Model_Z = np.zeros((self.n_samples, self.n_samples))
+
+        for idxMesh in range(self.n_samples):
+            sample_mesh = np.vstack((X[:, idxMesh], Y[:, idxMesh])).T
+
+            univ_p_val = PCEModel.univ_basis_vals(sample_mesh)
+
+            for Outkey, ValuesDict in PCEModel.coeffs_dict.items():
+
+                pce_out_mean = np.zeros((len(sample_mesh), len(ValuesDict)))
+                pce_out_std = np.zeros((len(sample_mesh), len(ValuesDict)))
+                model_outs = np.zeros((len(sample_mesh), len(ValuesDict)))
+
+                for Inkey, InIdxValues in ValuesDict.items():
+                    print(Inkey.split('_'))
+                    idx = int(Inkey.split('_')[1]) - 1
+                    basis_deg_ind = PCEModel.basis_dict[Outkey][Inkey]
+                    clf_poly = PCEModel.clf_poly[Outkey][Inkey]
+
+                    PSI_Val = PCEModel.create_psi(basis_deg_ind, univ_p_val)
+
+                    # Perdiction with error bar
+                    y_mean, y_std = clf_poly.predict(PSI_Val, return_std=True)
+
+                    pce_out_mean[:, idx] = y_mean
+                    pce_out_std[:, idx] = y_std
+
+                    # Model evaluation
+                    model_out_dict, _ = Model.run_model_parallel(sample_mesh,
+                                                                 key_str='Valid3D')
+                    model_outs[:, idx] = model_out_dict[Outkey].T
+
+                PCE_Z[:, idxMesh] = y_mean
+                Model_Z[:, idxMesh] = model_outs[:, 0]
+
+        # ---------------- 3D plot for PCEModel -----------------------
+        fig_PCE = plt.figure()
+        ax = plt.axes(projection='3d')
+        ax.plot_surface(X, Y, PCE_Z, rstride=1, cstride=1,
+                        cmap='viridis', edgecolor='none')
+        ax.set_title('PCEModel')
+        ax.set_xlabel('$x_1$')
+        ax.set_ylabel('$x_2$')
+        ax.set_zlabel('$f(x_1,x_2)$')
+
+        plt.grid()
+        plt.show()
+
+        #  Saving the figure
+        newpath = f'Outputs_PostProcessing_{self.name}/'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        # save the figure to file
+        fig_PCE.savefig(f'./{newpath}/3DPlot_PCEModel.pdf',
+                        bbox_inches='tight')
+        plt.close(fig_PCE)
+
+        # ---------------- 3D plot for Model -----------------------
+        fig_Model = plt.figure()
+        ax = plt.axes(projection='3d')
+        ax.plot_surface(X, Y, PCE_Z, rstride=1, cstride=1,
+                        cmap='viridis', edgecolor='none')
+        ax.set_title('Model')
+        ax.set_xlabel('$x_1$')
+        ax.set_ylabel('$x_2$')
+        ax.set_zlabel('$f(x_1,x_2)$')
+
+        plt.grid()
+        plt.show()
+
+        # Save the figure
+        fig_Model.savefig(f'./{newpath}/3DPlot_Model.pdf',
+                          bbox_inches='tight')
+        plt.close(fig_Model)
+
+        return
+
+    # -------------------------------------------------------------------------
+    def compute_pce_moments(self):
+        """
+        Computes the first two moments using the PCE-based meta-model.
+
+        Returns
+        -------
+        pce_means: dict
+            The first moments (mean) of outpust.
+        pce_means: dict
+            The first moments (mean) of outpust.
+
+        """
+
+        MetaModel = self.MetaModel
+        outputs = MetaModel.ModelObj.Output.names
+        pce_means_b = {}
+        pce_stds_b = {}
+
+        # Loop over bootstrap iterations
+        for b_i in range(MetaModel.n_bootstrap_itrs):
+            # Loop over the metamodels
+            coeffs_dicts = MetaModel.coeffs_dict[f'b_{b_i+1}'].items()
+            means = {}
+            stds = {}
+            for output, coef_dict in coeffs_dicts:
+
+                pce_mean = np.zeros((len(coef_dict)))
+                pce_var = np.zeros((len(coef_dict)))
+
+                for index, values in coef_dict.items():
+                    idx = int(index.split('_')[1]) - 1
+                    coeffs = MetaModel.coeffs_dict[f'b_{b_i+1}'][output][index]
+
+                    # Mean = c_0
+                    if coeffs[0] != 0:
+                        pce_mean[idx] = coeffs[0]
+                    else:
+                        clf_poly = MetaModel.clf_poly[f'b_{b_i+1}'][output]
+                        pce_mean[idx] = clf_poly[index].intercept_
+                    # Var = sum(coeffs[1:]**2)
+                    pce_var[idx] = np.sum(np.square(coeffs[1:]))
+
+                # Save predictions for each output
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    PCA = MetaModel.pca[f'b_{b_i+1}'][output]
+                    means[output] = PCA.inverse_transform(pce_mean)
+                    stds[output] = np.sqrt(np.dot(pce_var,
+                                                  PCA.components_**2))
+                else:
+                    means[output] = pce_mean
+                    stds[output] = np.sqrt(pce_var)
+
+            # Save predictions for each bootstrap iteration
+            pce_means_b[b_i] = means
+            pce_stds_b[b_i] = stds
+
+        # Change the order of nesting
+        mean_all = {}
+        for i in sorted(pce_means_b):
+            for k, v in pce_means_b[i].items():
+                if k not in mean_all:
+                    mean_all[k] = [None] * len(pce_means_b)
+                mean_all[k][i] = v
+        std_all = {}
+        for i in sorted(pce_stds_b):
+            for k, v in pce_stds_b[i].items():
+                if k not in std_all:
+                    std_all[k] = [None] * len(pce_stds_b)
+                std_all[k][i] = v
+
+        # Back transformation if PCA is selected.
+        pce_means, pce_stds = {}, {}
+        for output in outputs:
+            pce_means[output] = np.mean(mean_all[output], axis=0)
+            pce_stds[output] = np.mean(std_all[output], axis=0)
+
+            # Print a report table
+            print("\n>>>>> Moments of {} <<<<<".format(output))
+            print("\nIndex  |  Mean   |  Std. deviation")
+            print('-'*35)
+            print('\n'.join(f'{i+1}  |  {k:.3e}  |  {j:.3e}' for i, (k, j)
+                            in enumerate(zip(pce_means[output],
+                                             pce_stds[output]))))
+        print('-'*40)
+
+        return pce_means, pce_stds
+
+    # -------------------------------------------------------------------------
+    def _get_sample(self, n_samples=None):
+        """
+        Generates random samples taken from the input parameter space.
+
+        Returns
+        -------
+        samples : array of shape (n_samples, n_params)
+            Generated samples.
+
+        """
+        if n_samples is None:
+            n_samples = self.n_samples
+        MetaModel = self.MetaModel
+        self.samples = MetaModel.ExpDesign.generate_samples(
+            n_samples,
+            sampling_method='random')
+        return self.samples
+
+    # -------------------------------------------------------------------------
+    def _eval_model(self, samples=None, key_str='Valid'):
+        """
+        Evaluates Forward Model for the given number of self.samples or given
+        samples.
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params), optional
+            Samples to evaluate the model at. The default is None.
+        key_str : str, optional
+            Key string pass to the model. The default is 'Valid'.
+
+        Returns
+        -------
+        model_outs : dict
+            Dictionary of results.
+
+        """
+        Model = self.MetaModel.ModelObj
+
+        if samples is None:
+            samples = self._get_sample()
+            self.samples = samples
+        else:
+            self.n_samples = len(samples)
+
+        model_outs, _ = Model.run_model_parallel(samples, key_str=key_str)
+
+        return model_outs
+
+    # -------------------------------------------------------------------------
+    def _plot_validation(self):
+        """
+        Plots outputs for visual comparison of metamodel outputs with that of
+        the (full) original model.
+
+        Returns
+        -------
+        None.
+
+        """
+        PCEModel = self.MetaModel
+
+        # get the samples
+        x_val = self.samples
+        y_pce_val = self.pce_out_mean
+        y_val = self.model_out_dict
+
+        # Open a pdf for the plots
+        newpath = f'Outputs_PostProcessing_{self.name}/'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        fig = plt.figure()
+        # Fit the data(train the model)
+        for key in y_pce_val.keys():
+
+            y_pce_val_ = y_pce_val[key]
+            y_val_ = y_val[key]
+
+            regression_model = LinearRegression()
+            regression_model.fit(y_pce_val_, y_val_)
+
+            # Predict
+            x_new = np.linspace(np.min(y_pce_val_), np.max(y_val_), 100)
+            y_predicted = regression_model.predict(x_new[:, np.newaxis])
+
+            plt.scatter(y_pce_val_, y_val_, color='gold', linewidth=2)
+            plt.plot(x_new, y_predicted, color='k')
+
+            # Calculate the adjusted R_squared and RMSE
+            # the total number of explanatory variables in the model
+            # (not including the constant term)
+            length_list = []
+            for key, value in PCEModel.coeffs_dict['b_1'][key].items():
+                length_list.append(len(value))
+            n_predictors = min(length_list)
+            n_samples = x_val.shape[0]
+
+            R2 = r2_score(y_pce_val_, y_val_)
+            AdjR2 = 1 - (1 - R2) * (n_samples - 1) / \
+                (n_samples - n_predictors - 1)
+            rmse = mean_squared_error(y_pce_val_, y_val_, squared=False)
+
+            plt.annotate(f'RMSE = {rmse:.3f}\n Adjusted $R^2$ = {AdjR2:.3f}',
+                         xy=(0.05, 0.85), xycoords='axes fraction')
+
+            plt.ylabel("Original Model")
+            plt.xlabel("PCE Model")
+            plt.grid()
+            plt.show()
+
+            # save the current figure
+            plot_name = key.replace(' ', '_')
+            fig.savefig(f'./{newpath}/Model_vs_PCEModel_{plot_name}.pdf',
+                        bbox_inches='tight')
+
+            # Destroy the current plot
+            plt.clf()
+
+    # -------------------------------------------------------------------------
+    def _plot_validation_multi(self, x_values=[], x_axis="x [m]"):
+        """
+        Plots outputs for visual comparison of metamodel outputs with that of
+        the (full) multioutput original model
+
+        Parameters
+        ----------
+        x_values : list or array, optional
+            List of x values. The default is [].
+        x_axis : str, optional
+            Label of the x axis. The default is "x [m]".
+
+        Returns
+        -------
+        None.
+
+        """
+        Model = self.MetaModel.ModelObj
+
+        newpath = f'Outputs_PostProcessing_{self.name}/'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        # List of markers and colors
+        color = cycle((['b', 'g', 'r', 'y', 'k']))
+        marker = cycle(('x', 'd', '+', 'o', '*'))
+
+        fig = plt.figure()
+        # Plot the model vs PCE model
+        for keyIdx, key in enumerate(Model.Output.names):
+
+            y_pce_val = self.pce_out_mean[key]
+            y_pce_val_std = self.pce_out_std[key]
+            y_val = self.model_out_dict[key]
+            try:
+                x = self.model_out_dict['x_values'][key]
+            except (TypeError, IndexError):
+                x = x_values
+
+            for idx in range(y_val.shape[0]):
+                Color = next(color)
+                Marker = next(marker)
+
+                plt.plot(x, y_val[idx], color=Color, marker=Marker,
+                         label='$Y_{%s}^M$'%(idx+1))
+
+                plt.plot(x, y_pce_val[idx], color=Color, marker=Marker,
+                         linestyle='--',
+                         label='$Y_{%s}^{PCE}$'%(idx+1))
+                plt.fill_between(x, y_pce_val[idx]-1.96*y_pce_val_std[idx],
+                                 y_pce_val[idx]+1.96*y_pce_val_std[idx],
+                                 color=Color, alpha=0.15)
+
+            # Calculate the RMSE
+            print(y_pce_val.shape)
+            print(y_val.shape)
+            rmse = mean_squared_error(y_pce_val, y_val, squared=False)
+            R2 = r2_score(y_pce_val[idx].reshape(-1, 1),
+                          y_val[idx].reshape(-1, 1))
+
+            plt.annotate(f'RMSE = {rmse:.3f}\n $R^2$ = {R2:.3f}',
+                         xy=(0.85, 0.1), xycoords='axes fraction')
+
+            plt.ylabel(key)
+            plt.xlabel(x_axis)
+            plt.legend(loc='best')
+            plt.grid()
+
+            # save the current figure
+            plot_name = key.replace(' ', '_')
+            fig.savefig(f'./{newpath}/Model_vs_PCEModel_{plot_name}.pdf',
+                        bbox_inches='tight')
+
+            # Destroy the current plot
+            plt.clf()
+
+        # Zip the subdirectories
+        Model.zip_subdirs(f'{Model.name}valid', f'{Model.name}valid_')
diff --git a/examples/only-model/bayesvalidrox/pylink/__init__.py b/examples/only-model/bayesvalidrox/pylink/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4bd81739faf43956324b30f6d8e5365b29d55677
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/pylink/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+from .pylink import PyLinkForwardModel
+
+__all__ = [
+    "PyLinkForwardModel"
+    ]
diff --git a/examples/only-model/bayesvalidrox/pylink/__pycache__/__init__.cpython-311.pyc b/examples/only-model/bayesvalidrox/pylink/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..0e142124f5bff161ebaf8f9c632cd82465101bbd
Binary files /dev/null and b/examples/only-model/bayesvalidrox/pylink/__pycache__/__init__.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/pylink/__pycache__/pylink.cpython-311.pyc b/examples/only-model/bayesvalidrox/pylink/__pycache__/pylink.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..006f78d91ff411531d6e30040c2f8ef05bf10ab2
Binary files /dev/null and b/examples/only-model/bayesvalidrox/pylink/__pycache__/pylink.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/pylink/pylink.py b/examples/only-model/bayesvalidrox/pylink/pylink.py
new file mode 100644
index 0000000000000000000000000000000000000000..2decb7da4b33565b0d1e4739f0351db66d0c55d6
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/pylink/pylink.py
@@ -0,0 +1,664 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+from dataclasses import dataclass
+
+import os
+import shutil
+import h5py
+import numpy as np
+import time
+import zipfile
+import pandas as pd
+import multiprocessing
+from functools import partial
+import tqdm
+
+
+class PyLinkForwardModel(object):
+    """
+    A forward model binder
+
+    This calss serves as a code wrapper. This wrapper allows the execution of
+    a third-party software/solver within the scope of BayesValidRox.
+
+    Attributes
+    ----------
+    link_type : str
+        The type of the wrapper. The default is `'pylink'`. This runs the
+        third-party software or an executable using a sell command with given
+        input files.
+        Second option is `'function'` which assumed that model can be run using
+        a function written separately in a Python script.
+    name : str
+        Name of the model.
+    py_file : str
+        Python file name without `.py` extension to be run for the `'function'`
+        wrapper. Note that the name of the python file and that of the function
+        must be simillar. This function must recieve the parameters in an array
+        of shape `(n_samples, n_params)` and returns a dictionary with the
+        x_values and output arrays for given output names.
+    func_args : dict
+        Additional arguments for the python file. The default is `{}`.
+    shell_command : str
+        Shell command to be executed for the `'pylink'` wrapper.
+    input_file : str or list
+        The input file to be passed to the `'pylink'` wrapper.
+    input_template : str or list
+        A template input file to be passed to the `'pylink'` wrapper. This file
+        must be a copy of `input_file` with `<Xi>` place holder for the input
+        parameters defined using `inputs` class, with i being the number of
+        parameter. The file name ending should include `.tpl` before the actual
+        extension of the input file, for example, `params.tpl.input`.
+    aux_file : str or list
+        The list of auxiliary files needed for the `'pylink'` wrapper.
+    exe_path : str
+        Execution path if you wish to run the model for the `'pylink'` wrapper
+        in another directory. The default is `None`, which corresponds to the
+        currecnt working directory.
+    output_file_names : list of str
+        List of the name of the model output text files for the `'pylink'`
+        wrapper.
+    output_names : list of str
+        List of the model outputs to be used for the analysis.
+    output_parser : str
+        Name of the model parser file (without `.py` extension) that recieves
+        the `output_file_names` and returns a 2d-array with the first row being
+        the x_values, e.g. x coordinates or time and the rest of raws pass the
+        simulation output for each model output defined in `output_names`. Note
+        that again here the name of the file and that of the function must be
+        the same.
+    multi_process: bool
+        Whether the model runs to be executed in parallel for the `'pylink'`
+        wrapper. The default is `True`.
+    n_cpus: int
+        The number of cpus to be used for the parallel model execution for the
+        `'pylink'` wrapper. The default is `None`, which corresponds to all
+        available cpus.
+    meas_file : str
+        The name of the measurement text-based file. This file must contain
+        x_values as the first column and one column for each model output. The
+        default is `None`. Only needed for the Bayesian Inference.
+    meas_file_valid : str
+        The name of the measurement text-based file for the validation. The
+        default is `None`. Only needed for the validation with Bayesian
+        Inference.
+    mc_ref_file : str
+        The name of the text file for the Monte-Carlo reference (mean and
+        standard deviation) values. It must contain `x_values` as the first
+        column, `mean` as the second column and `std` as the third. It can be
+        used to compare the estimated moments using meta-model in the post-
+        processing step. This is only available for one output.
+    obs_dict : dict
+        A dictionary containing the measurement text-based file. It must
+        contain `x_values` as the first item and one item for each model output
+        . The default is `{}`. Only needed for the Bayesian Inference.
+    obs_dict_valid : dict
+        A dictionary containing the validation measurement text-based file. It
+        must contain `x_values` as the first item and one item for each model
+        output. The default is `{}`.
+    mc_ref_dict : dict
+        A dictionary containing the Monte-Carlo reference (mean and standard
+        deviation) values. It must contain `x_values` as the first item and
+        `mean` as the second item and `std` as the third. The default is `{}`.
+        This is only available for one output.
+    """
+
+    # Nested class
+    @dataclass
+    class OutputData(object):
+        parser: str = ""
+        names: list = None
+        file_names: list = None
+
+    def __init__(self, link_type='pylink', name=None, py_file=None,
+                 func_args={}, shell_command='', input_file=None,
+                 input_template=None, aux_file=None, exe_path='',
+                 output_file_names=[], output_names=[], output_parser='',
+                 multi_process=True, n_cpus=None, meas_file=None,
+                 meas_file_valid=None, mc_ref_file=None, obs_dict={},
+                 obs_dict_valid={}, mc_ref_dict={}):
+        self.link_type = link_type
+        self.name = name
+        self.shell_command = shell_command
+        self.py_file = py_file
+        self.func_args = func_args
+        self.input_file = input_file
+        self.input_template = input_template
+        self.aux_file = aux_file
+        self.exe_path = exe_path
+        self.multi_process = multi_process
+        self.n_cpus = n_cpus
+        self.Output = self.OutputData(
+            parser=output_parser,
+            names=output_names,
+            file_names=output_file_names,
+        )
+        self.n_outputs = len(self.Output.names)
+        self.meas_file = meas_file
+        self.meas_file_valid = meas_file_valid
+        self.mc_ref_file = mc_ref_file
+        self.observations = obs_dict
+        self.observations_valid = obs_dict_valid
+        self.mc_reference = mc_ref_dict
+        
+        # added by Rebecca Kohlhaas
+        self.cellID = None
+
+    # -------------------------------------------------------------------------
+    def within_range(self, out, minout, maxout):
+        inside = False
+        if (out > minout).all() and (out < maxout).all():
+            inside = True
+        return inside
+
+    # -------------------------------------------------------------------------
+    def read_observation(self, case='calib'):
+        """
+        Reads/prepare the observation/measurement data for
+        calibration.
+
+        Returns
+        -------
+        DataFrame
+            A dataframe with the calibration data.
+
+        """
+        if case.lower() == 'calib':
+            if isinstance(self.observations, dict) and bool(self.observations):
+                obs = pd.DataFrame.from_dict(self.observations)
+            elif self.meas_file is not None:
+                file_path = os.path.join(os.getcwd(), self.meas_file)
+                obs = pd.read_csv(file_path, delimiter=',')
+            elif isinstance(self.observations, pd.DataFrame):
+                obs = self.observations
+            else:
+                raise Exception("Please provide the observation data as a "
+                                "dictionary via observations attribute or pass"
+                                " the csv-file path to MeasurementFile "
+                                "attribute")
+        elif case.lower() == 'valid':
+            if isinstance(self.observations_valid, dict) and \
+              bool(self.observations_valid):
+                obs = pd.DataFrame.from_dict(self.observations_valid)
+            elif self.meas_file_valid is not None:
+                file_path = os.path.join(os.getcwd(), self.meas_file_valid)
+                obs = pd.read_csv(file_path, delimiter=',')
+            elif isinstance(self.observations_valid, pd.DataFrame):
+                obs = self.observations_valid
+            else:
+                raise Exception("Please provide the observation data as a "
+                                "dictionary via Observations attribute or pass"
+                                " the csv-file path to MeasurementFile "
+                                "attribute")
+
+        # Compute the number of observation
+        n_obs = obs[self.Output.names].notnull().sum().values.sum()
+
+        if case.lower() == 'calib':
+            self.observations = obs
+            self.n_obs = n_obs
+            return self.observations
+        elif case.lower() == 'valid':
+            self.observations_valid = obs
+            self.n_obs_valid = n_obs
+            return self.observations_valid
+
+    # -------------------------------------------------------------------------
+    def read_mc_reference(self):
+        """
+        Is used, if a Monte-Carlo reference is available for
+        further in-depth post-processing after meta-model training.
+
+        Returns
+        -------
+        None
+
+        """
+        if self.mc_ref_file is None and \
+           isinstance(self.mc_reference, pd.DataFrame):
+            return self.mc_reference
+        elif isinstance(self.mc_reference, dict) and bool(self.mc_reference):
+            self.mc_reference = pd.DataFrame.from_dict(self.mc_reference)
+        elif self.mc_ref_file is not None:
+            file_path = os.path.join(os.getcwd(), self.mc_ref_file)
+            self.mc_reference = pd.read_csv(file_path, delimiter=',')
+        else:
+            self.mc_reference = None
+        return self.mc_reference
+
+    # -------------------------------------------------------------------------
+    def read_output(self):
+        """
+        Reads the the parser output file and returns it as an
+         executable function. It is required when the models returns the
+         simulation outputs in csv files.
+
+        Returns
+        -------
+        Output : func
+            Output parser function.
+
+        """
+        output_func_name = self.Output.parser
+
+        output_func = getattr(__import__(output_func_name), output_func_name)
+
+        file_names = []
+        for File in self.Output.file_names:
+            file_names.append(os.path.join(self.exe_path, File))
+        try:
+            output = output_func(self.name, file_names)
+        except TypeError:
+            output = output_func(file_names)
+        return output
+
+    # -------------------------------------------------------------------------
+    def update_input_params(self, new_input_file, param_set):
+        """
+        Finds this pattern with <X1> in the new_input_file and replace it with
+         the new value from the array param_sets.
+
+        Parameters
+        ----------
+        new_input_file : list
+            List of the input files with the adapted names.
+        param_set : array of shape (n_params)
+            Parameter set.
+
+        Returns
+        -------
+        None.
+
+        """
+        NofPa = param_set.shape[0]
+        text_to_search_list = [f'<X{i+1}>' for i in range(NofPa)]
+
+        for filename in new_input_file:
+            # Read in the file
+            with open(filename, 'r') as file:
+                filedata = file.read()
+
+            # Replace the target string
+            for text_to_search, params in zip(text_to_search_list, param_set):
+                filedata = filedata.replace(text_to_search, f'{params:0.4e}')
+
+            # Write the file out again
+            with open(filename, 'w') as file:
+                file.write(filedata)
+
+    # -------------------------------------------------------------------------
+    def run_command(self, command, output_file_names):
+        """
+        Runs the execution command given by the user to run the given model.
+        It checks if the output files have been generated. If yes, the jobe is
+        done and it extracts and returns the requested output(s). Otherwise,
+        it executes the command again.
+
+        Parameters
+        ----------
+        command : str
+            The shell command to be executed.
+        output_file_names : list
+            Name of the output file names.
+
+        Returns
+        -------
+        simulation_outputs : array of shape (n_obs, n_outputs)
+            Simulation outputs.
+
+        """
+
+        # Check if simulation is finished
+        while True:
+            time.sleep(3)
+            files = os.listdir(".")
+            if all(elem in files for elem in output_file_names):
+                break
+            else:
+                # Run command
+                Process = os.system(f'./../{command}')
+                if Process != 0:
+                    print('\nMessage 1:')
+                    print(f'\tIf value of \'{Process}\' is a non-zero value, '
+                          'then compilation problems \n' % Process)
+
+        os.chdir("..")
+
+        # Read the output
+        simulation_outputs = self.read_output()
+
+        return simulation_outputs
+
+    # -------------------------------------------------------------------------
+    def run_forwardmodel(self, xx):
+        """
+        This function creates subdirectory for the current run and copies the
+        necessary files to this directory and renames them. Next, it executes
+        the given command.
+
+        Parameters
+        ----------
+        xx : tuple
+            A tuple including parameter set, simulation number and key string.
+
+        Returns
+        -------
+        output : array of shape (n_outputs+1, n_obs)
+            An array passed by the output paraser containing the x_values as
+            the first row and the simulations results stored in the the rest of
+            the array.
+
+        """
+        c_points, run_no, key_str = xx
+
+        # Handle if only one imput file is provided
+        if not isinstance(self.input_template, list):
+            self.input_template = [self.input_template]
+        if not isinstance(self.input_file, list):
+            self.input_file = [self.input_file]
+
+        new_input_file = []
+        # Loop over the InputTemplates:
+        for in_temp in self.input_template:
+            if '/' in in_temp:
+                in_temp = in_temp.split('/')[-1]
+            new_input_file.append(in_temp.split('.tpl')[0] + key_str +
+                                  f"_{run_no+1}" + in_temp.split('.tpl')[1])
+
+        # Create directories
+        newpath = self.name + key_str + f'_{run_no+1}'
+        if not os.path.exists(newpath):
+            os.makedirs(newpath)
+
+        # Copy the necessary files to the directories
+        for in_temp in self.input_template:
+            # Input file(s) of the model
+            shutil.copy2(in_temp, newpath)
+        # Auxiliary file
+        if self.aux_file is not None:
+            shutil.copy2(self.aux_file, newpath)  # Auxiliary file
+
+        # Rename the Inputfile and/or auxiliary file
+        os.chdir(newpath)
+        for input_tem, input_file in zip(self.input_template, new_input_file):
+            if '/' in input_tem:
+                input_tem = input_tem.split('/')[-1]
+            os.rename(input_tem, input_file)
+
+        # Update the parametrs in Input file
+        self.update_input_params(new_input_file, c_points)
+
+        # Update the user defined command and the execution path
+        try:
+            new_command = self.shell_command.replace(self.input_file[0],
+                                                     new_input_file[0])
+            new_command = new_command.replace(self.input_file[1],
+                                              new_input_file[1])
+        except:
+            new_command = self.shell_command.replace(self.input_file[0],
+                                                     new_input_file[0])
+        # Set the exe path if not provided
+        if not bool(self.exe_path):
+            self.exe_path = os.getcwd()
+
+        # Run the model
+        output = self.run_command(new_command, self.Output.file_names)
+
+        return output
+
+    # -------------------------------------------------------------------------
+    def run_model_parallel(self, c_points, prevRun_No=0, key_str='',
+                           mp=True, verbose=True):
+        """
+        Runs model simulations. If mp is true (default), then the simulations
+         are started in parallel.
+
+        Parameters
+        ----------
+        c_points : array of shape (n_samples, n_params)
+            Collocation points (training set).
+        prevRun_No : int, optional
+            Previous run number, in case the sequential design is selected.
+            The default is `0`.
+        key_str : str, optional
+            A descriptive string for validation runs. The default is `''`.
+        mp : bool, optional
+            Multiprocessing. The default is `True`.
+        verbose: bool, optional
+            Verbosity. The default is `True`.
+
+        Returns
+        -------
+        all_outputs : dict
+            A dictionary with x values (time step or point id) and all outputs.
+            Each key contains an array of the shape `(n_samples, n_obs)`.
+        new_c_points : array
+            Updated collocation points (training set). If a simulation does not
+            executed successfully, the parameter set is removed.
+
+        """
+
+        # Initilization
+        n_c_points = len(c_points)
+        all_outputs = {}
+
+        # Extract the function
+        if self.link_type.lower() == 'function':
+            # Prepare the function
+            Function = getattr(__import__(self.py_file), self.py_file)
+        # ---------------------------------------------------------------
+        # -------------- Multiprocessing with Pool Class ----------------
+        # ---------------------------------------------------------------
+        # Start a pool with the number of CPUs
+        if self.n_cpus is None:
+            n_cpus = multiprocessing.cpu_count()
+        else:
+            n_cpus = self.n_cpus
+
+        # Run forward model
+        if n_c_points == 1 or not mp:
+            if self.link_type.lower() == 'function':
+                group_results = Function(c_points, **self.func_args)
+            else:
+                group_results = self.run_forwardmodel(
+                    (c_points[0], prevRun_No, key_str)
+                    )
+
+        elif self.multi_process or mp:
+            with multiprocessing.Pool(n_cpus) as p:
+
+                if self.link_type.lower() == 'function':
+                    imap_var = p.imap(partial(Function, **self.func_args),
+                                      c_points[:, np.newaxis])
+                else:
+                    args = zip(c_points,
+                               [prevRun_No+i for i in range(n_c_points)],
+                               [key_str]*n_c_points)
+                    imap_var = p.imap(self.run_forwardmodel, args)
+
+                if verbose:
+                    desc = f'Running forward model {key_str}'
+                    group_results = list(tqdm.tqdm(imap_var, total=n_c_points,
+                                                   desc=desc))
+                else:
+                    group_results = list(imap_var)
+
+        # Check for NaN
+        for var_i, var in enumerate(self.Output.names):
+            # If results are given as one dictionary
+            if isinstance(group_results, dict):
+                Outputs = np.asarray(group_results[var])
+            # If results are given as list of dictionaries
+            elif isinstance(group_results, list):
+                Outputs = np.asarray([item[var] for item in group_results],
+                                     dtype=np.float64)
+            NaN_idx = np.unique(np.argwhere(np.isnan(Outputs))[:, 0])
+            new_c_points = np.delete(c_points, NaN_idx, axis=0)
+            all_outputs[var] = np.atleast_2d(
+                np.delete(Outputs, NaN_idx, axis=0)
+                )
+
+        # Print the collocation points whose simulations crashed
+        if len(NaN_idx) != 0:
+            print('\n')
+            print('*'*20)
+            print("\nThe following parametersets have been removed:\n",
+                  c_points[NaN_idx])
+            print("\n")
+            print('*'*20)
+
+        # Save time steps or x-values
+        if isinstance(group_results, dict):
+            all_outputs["x_values"] = group_results["x_values"]
+        elif any(isinstance(i, dict) for i in group_results):
+            all_outputs["x_values"] = group_results[0]["x_values"]
+
+        # Store simulations in a hdf5 file
+        self._store_simulations(
+            c_points, all_outputs, NaN_idx, key_str, prevRun_No
+            )
+
+        return all_outputs, new_c_points
+
+    # -------------------------------------------------------------------------
+    def _store_simulations(self, c_points, all_outputs, NaN_idx, key_str,
+                           prevRun_No):
+
+        # Create hdf5 metadata
+        if key_str == '':
+            hdf5file = f'ExpDesign_{self.name}.hdf5'    # added _{self.ModelObj.func_args}
+        else:
+            hdf5file = f'ValidSet_{self.name}.hdf5'
+        hdf5_exist = os.path.exists(hdf5file)
+        file = h5py.File(hdf5file, 'a')
+
+        # ---------- Save time steps or x-values ----------
+        if not hdf5_exist:
+            if type(all_outputs["x_values"]) is dict:
+                grp_x_values = file.create_group("x_values/")
+                for varIdx, var in enumerate(self.Output.names):
+                    grp_x_values.create_dataset(
+                        var, data=all_outputs["x_values"][var]
+                        )
+            else:
+                file.create_dataset("x_values", data=all_outputs["x_values"])
+
+        # ---------- Save outputs ----------
+        for varIdx, var in enumerate(self.Output.names):
+
+            if not hdf5_exist:
+                grpY = file.create_group("EDY/"+var)
+            else:
+                grpY = file.get("EDY/"+var)
+
+            if prevRun_No == 0 and key_str == '':
+                grpY.create_dataset(f'init_{key_str}', data=all_outputs[var])
+            else:
+                try:
+                    oldEDY = np.array(file[f'EDY/{var}/adaptive_{key_str}'])
+                    del file[f'EDY/{var}/adaptive_{key_str}']
+                    data = np.vstack((oldEDY, all_outputs[var]))
+                except KeyError:
+                    data = all_outputs[var]
+                grpY.create_dataset('adaptive_'+key_str, data=data)
+
+            if prevRun_No == 0 and key_str == '':
+                grpY.create_dataset(f"New_init_{key_str}",
+                                    data=all_outputs[var])
+            else:
+                try:
+                    name = f'EDY/{var}/New_adaptive_{key_str}'
+                    oldEDY = np.array(file[name])
+                    del file[f'EDY/{var}/New_adaptive_{key_str}']
+                    data = np.vstack((oldEDY, all_outputs[var]))
+                except KeyError:
+                    data = all_outputs[var]
+                grpY.create_dataset(f'New_adaptive_{key_str}', data=data)
+
+        # ---------- Save CollocationPoints ----------
+        new_c_points = np.delete(c_points, NaN_idx, axis=0)
+        grpX = file.create_group("EDX") if not hdf5_exist else file.get("EDX")
+        if prevRun_No == 0 and key_str == '':
+            grpX.create_dataset("init_"+key_str, data=c_points)
+            if len(NaN_idx) != 0:
+                grpX.create_dataset("New_init_"+key_str, data=new_c_points)
+
+        else:
+            try:
+                name = f'EDX/adaptive_{key_str}'
+                oldCollocationPoints = np.array(file[name])
+                del file[f'EDX/adaptive_{key_str}']
+                data = np.vstack((oldCollocationPoints, new_c_points))
+            except KeyError:
+                data = new_c_points
+            grpX.create_dataset('adaptive_'+key_str, data=data)
+
+            if len(NaN_idx) != 0:
+                try:
+                    name = f'EDX/New_adaptive_{key_str}'
+                    oldCollocationPoints = np.array(file[name])
+                    del file[f'EDX/New_adaptive_{key_str}']
+                    data = np.vstack((oldCollocationPoints, new_c_points))
+                except KeyError:
+                    data = new_c_points
+                grpX.create_dataset('New_adaptive_'+key_str, data=data)
+
+        # Close h5py file
+        file.close()
+
+    # -------------------------------------------------------------------------
+    def zip_subdirs(self, dir_name, key):
+        """
+        Zips all the files containing the key(word).
+
+        Parameters
+        ----------
+        dir_name : str
+            Directory name.
+        key : str
+            Keyword to search for.
+
+        Returns
+        -------
+        None.
+
+        """
+        # setup file paths variable
+        dir_list = []
+        file_paths = []
+
+        # Read all directory, subdirectories and file lists
+        dir_path = os.getcwd()
+
+        for root, directories, files in os.walk(dir_path):
+            for directory in directories:
+                # Create the full filepath by using os module.
+                if key in directory:
+                    folderPath = os.path.join(dir_path, directory)
+                    dir_list.append(folderPath)
+
+        # Loop over the identified directories to store the file paths
+        for direct_name in dir_list:
+            for root, directories, files in os.walk(direct_name):
+                for filename in files:
+                    # Create the full filepath by using os module.
+                    filePath = os.path.join(root, filename)
+                    file_paths.append('.'+filePath.split(dir_path)[1])
+
+        # writing files to a zipfile
+        if len(file_paths) != 0:
+            zip_file = zipfile.ZipFile(dir_name+'.zip', 'w')
+            with zip_file:
+                # writing each file one by one
+                for file in file_paths:
+                    zip_file.write(file)
+
+            file_paths = [path for path in os.listdir('.') if key in path]
+
+            for path in file_paths:
+                shutil.rmtree(path)
+
+            print("\n")
+            print(f'{dir_name}.zip file has been created successfully!\n')
+
+        return
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__init__.py b/examples/only-model/bayesvalidrox/surrogate_models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..70bfb20f570464c2907a0a4128f4ed99b6c13736
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/__init__.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+from .surrogate_models import MetaModel
+
+__all__ = [
+    "MetaModel"
+    ]
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/__init__.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..61571bd1e2bf0c8b5ec4faf4c27e71b0526bc80a
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/__init__.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/apoly_construction.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/apoly_construction.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3820b6ebf286b68cd5bedabe083f98a933a04823
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/apoly_construction.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/bayes_linear.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/bayes_linear.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..2111e7b45606ee6d23ec37bdc6af982cf6812b80
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/bayes_linear.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/eval_rec_rule.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/eval_rec_rule.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fa3d7416568a694823e30bb7eaea6b06ebab9d3d
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/eval_rec_rule.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exp_designs.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exp_designs.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..af55ca5d94d223a3244bc9ce745720acc2da05dd
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exp_designs.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exploration.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exploration.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..092cdd70d05ca0bbad7579aae82369478a7b8ae1
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/exploration.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/glexindex.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/glexindex.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a8a22b9f5698e86415d782ab9609abda6c9b4508
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/glexindex.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/inputs.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/inputs.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5f8c85996a9c8d48326d736211a004c9f09844fd
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/inputs.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/meta_model_engine.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/meta_model_engine.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ad054a2ed1f2ab163a883333d0bcc716526bc051
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/meta_model_engine.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/orthogonal_matching_pursuit.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/orthogonal_matching_pursuit.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..def10cfc2a4359d25ec4f385e263aff0d27884ed
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/orthogonal_matching_pursuit.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_ard.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_ard.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..87e325f39519c87f046e35417898743d42e70b28
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_ard.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_laplace.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_laplace.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9ea9fec9d079257a40ae2d8117854c9516d47a2c
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/reg_fast_laplace.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/surrogate_models.cpython-311.pyc b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/surrogate_models.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..62a8185dbf2cc3a241d95a03e74c778ad96ec8c5
Binary files /dev/null and b/examples/only-model/bayesvalidrox/surrogate_models/__pycache__/surrogate_models.cpython-311.pyc differ
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/adaptPlot.py b/examples/only-model/bayesvalidrox/surrogate_models/adaptPlot.py
new file mode 100644
index 0000000000000000000000000000000000000000..102f0373c1086ba4420ada2fb2fc723b78bbd53f
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/adaptPlot.py
@@ -0,0 +1,109 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Aug 13 13:46:24 2020
+
+@author: farid
+"""
+import os
+from sklearn.metrics import mean_squared_error, r2_score
+from itertools import cycle
+from matplotlib.backends.backend_pdf import PdfPages
+import matplotlib.pyplot as plt
+
+
+def adaptPlot(PCEModel, Y_Val, Y_PC_Val, Y_PC_Val_std, x_values=[],
+              plotED=False, SaveFig=True):
+
+    NrofSamples = PCEModel.ExpDesign.n_new_samples
+    initNSamples = PCEModel.ExpDesign.n_init_samples
+    itrNr = 1 + (PCEModel.ExpDesign.X.shape[0] - initNSamples)//NrofSamples
+
+    oldEDY = PCEModel.ExpDesign.Y
+
+    if SaveFig:
+        newpath = 'adaptivePlots'
+        os.makedirs(newpath, exist_ok=True)
+
+        # create a PdfPages object
+        pdf = PdfPages(f'./{newpath}/Model_vs_PCEModel_itr_{itrNr}.pdf')
+
+    # List of markers and colors
+    color = cycle((['b', 'g', 'r', 'y', 'k']))
+    marker = cycle(('x', 'd', '+', 'o', '*'))
+
+    OutNames = list(Y_Val.keys())
+    x_axis = 'Time [s]'
+
+    if len(OutNames) == 1:
+        OutNames.insert(0, x_axis)
+    try:
+        x_values = Y_Val['x_values']
+    except KeyError:
+        x_values = x_values
+
+    fig = plt.figure(figsize=(24, 16))
+
+    # Plot the model vs PCE model
+    for keyIdx, key in enumerate(PCEModel.ModelObj.Output.names):
+        Y_PC_Val_ = Y_PC_Val[key]
+        Y_PC_Val_std_ = Y_PC_Val_std[key]
+        Y_Val_ = Y_Val[key]
+        if Y_Val_.ndim == 1:
+            Y_Val_ = Y_Val_.reshape(1, -1)
+        old_EDY = oldEDY[key]
+        if isinstance(x_values, dict):
+            x = x_values[key]
+        else:
+            x = x_values
+
+        for idx, y in enumerate(Y_Val_):
+            Color = next(color)
+            Marker = next(marker)
+
+            plt.plot(
+                x, y, color=Color, marker=Marker,
+                lw=2.0, label='$Y_{%s}^{M}$'%(idx+itrNr)
+                )
+
+            plt.plot(
+                x, Y_PC_Val_[idx], color=Color, marker=Marker,
+                lw=2.0, linestyle='--', label='$Y_{%s}^{PCE}$'%(idx+itrNr)
+                )
+            plt.fill_between(
+                x, Y_PC_Val_[idx]-1.96*Y_PC_Val_std_[idx],
+                Y_PC_Val_[idx]+1.96*Y_PC_Val_std_[idx], color=Color,
+                alpha=0.15
+                )
+
+            if plotED:
+                for output in old_EDY:
+                    plt.plot(x, output, color='grey', alpha=0.1)
+
+        # Calculate the RMSE
+        RMSE = mean_squared_error(Y_PC_Val_, Y_Val_, squared=False)
+        R2 = r2_score(Y_PC_Val_.reshape(-1, 1), Y_Val_.reshape(-1, 1))
+
+        plt.ylabel(key)
+        plt.xlabel(x_axis)
+        plt.title(key)
+
+        ax = fig.axes[0]
+        ax.legend(loc='best', frameon=True)
+        fig.canvas.draw()
+        ax.text(0.65, 0.85,
+                f'RMSE = {round(RMSE, 3)}\n$R^2$ = {round(R2, 3)}',
+                transform=ax.transAxes, color='black',
+                bbox=dict(facecolor='none',
+                          edgecolor='black',
+                          boxstyle='round,pad=1')
+                )
+        plt.grid()
+
+        if SaveFig:
+            # save the current figure
+            pdf.savefig(fig, bbox_inches='tight')
+
+            # Destroy the current plot
+            plt.clf()
+    pdf.close()
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/apoly_construction.py b/examples/only-model/bayesvalidrox/surrogate_models/apoly_construction.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7914c7deac51c2180aa6858207ccf0bac5c1f02
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/apoly_construction.py
@@ -0,0 +1,122 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import numpy as np
+
+
+def apoly_construction(Data, degree):
+    """
+    Construction of Data-driven Orthonormal Polynomial Basis
+    Author: Dr.-Ing. habil. Sergey Oladyshkin
+    Department of Stochastic Simulation and Safety Research for Hydrosystems
+    Institute for Modelling Hydraulic and Environmental Systems
+    Universitaet Stuttgart, Pfaffenwaldring 5a, 70569 Stuttgart
+    E-mail: Sergey.Oladyshkin@iws.uni-stuttgart.de
+    http://www.iws-ls3.uni-stuttgart.de
+    The current script is based on definition of arbitrary polynomial chaos
+    expansion (aPC), which is presented in the following manuscript:
+    Oladyshkin, S. and W. Nowak. Data-driven uncertainty quantification using
+    the arbitrary polynomial chaos expansion. Reliability Engineering & System
+    Safety, Elsevier, V. 106, P.  179-190, 2012.
+    DOI: 10.1016/j.ress.2012.05.002.
+
+    Parameters
+    ----------
+    Data : array
+        Raw data.
+    degree : int
+        Maximum polynomial degree.
+
+    Returns
+    -------
+    Polynomial : array
+        The coefficients of the univariate orthonormal polynomials.
+
+    """
+
+    # Initialization
+    dd = degree + 1
+    nsamples = len(Data)
+
+    # Forward linear transformation (Avoiding numerical issues)
+    MeanOfData = np.mean(Data)
+    Data = Data/MeanOfData
+
+    # Compute raw moments of input data
+    raw_moments = [np.sum(np.power(Data, p))/nsamples for p in range(2*dd+2)]
+
+    # Main Loop for Polynomial with degree up to dd
+    PolyCoeff_NonNorm = np.empty((0, 1))
+    Polynomial = np.zeros((dd+1, dd+1))
+
+    for degree in range(dd+1):
+        Mm = np.zeros((degree+1, degree+1))
+        Vc = np.zeros((degree+1))
+
+        # Define Moments Matrix Mm
+        for i in range(degree+1):
+            for j in range(degree+1):
+                if (i < degree):
+                    Mm[i, j] = raw_moments[i+j]
+
+                elif (i == degree) and (j == degree):
+                    Mm[i, j] = 1
+
+            # Numerical Optimization for Matrix Solver
+            Mm[i] = Mm[i] / max(abs(Mm[i]))
+
+        # Defenition of Right Hand side ortogonality conditions: Vc
+        for i in range(degree+1):
+            Vc[i] = 1 if i == degree else 0
+
+        # Solution: Coefficients of Non-Normal Orthogonal Polynomial: Vp Eq.(4)
+        try:
+            Vp = np.linalg.solve(Mm, Vc)
+        except:
+            inv_Mm = np.linalg.pinv(Mm)
+            Vp = np.dot(inv_Mm, Vc.T)
+
+        if degree == 0:
+            PolyCoeff_NonNorm = np.append(PolyCoeff_NonNorm, Vp)
+
+        if degree != 0:
+            if degree == 1:
+                zero = [0]
+            else:
+                zero = np.zeros((degree, 1))
+            PolyCoeff_NonNorm = np.hstack((PolyCoeff_NonNorm, zero))
+
+            PolyCoeff_NonNorm = np.vstack((PolyCoeff_NonNorm, Vp))
+
+        if 100*abs(sum(abs(np.dot(Mm, Vp)) - abs(Vc))) > 0.5:
+            print('\n---> Attention: Computational Error too high !')
+            print('\n---> Problem: Convergence of Linear Solver')
+
+        # Original Numerical Normalization of Coefficients with Norm and
+        # orthonormal Basis computation Matrix Storrage
+        # Note: Polynomial(i,j) correspont to coefficient number "j-1"
+        # of polynomial degree "i-1"
+        P_norm = 0
+        for i in range(nsamples):
+            Poly = 0
+            for k in range(degree+1):
+                if degree == 0:
+                    Poly += PolyCoeff_NonNorm[k] * (Data[i]**k)
+                else:
+                    Poly += PolyCoeff_NonNorm[degree, k] * (Data[i]**k)
+
+            P_norm += Poly**2 / nsamples
+
+        P_norm = np.sqrt(P_norm)
+
+        for k in range(degree+1):
+            if degree == 0:
+                Polynomial[degree, k] = PolyCoeff_NonNorm[k]/P_norm
+            else:
+                Polynomial[degree, k] = PolyCoeff_NonNorm[degree, k]/P_norm
+
+    # Backward linear transformation to the real data space
+    Data *= MeanOfData
+    for k in range(len(Polynomial)):
+        Polynomial[:, k] = Polynomial[:, k] / (MeanOfData**(k))
+
+    return Polynomial
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/bayes_linear.py b/examples/only-model/bayesvalidrox/surrogate_models/bayes_linear.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7d6b5929a83fc89d15d7ab8f369187d0542923c
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/bayes_linear.py
@@ -0,0 +1,523 @@
+import numpy as np
+from sklearn.base import RegressorMixin
+from sklearn.linear_model._base import LinearModel
+from sklearn.utils import check_X_y, check_array, as_float_array
+from sklearn.utils.validation import check_is_fitted
+from scipy.linalg import svd
+import warnings
+from sklearn.preprocessing import normalize as f_normalize
+
+
+
+class BayesianLinearRegression(RegressorMixin,LinearModel):
+    '''
+    Superclass for Empirical Bayes and Variational Bayes implementations of 
+    Bayesian Linear Regression Model
+    '''
+    def __init__(self, n_iter, tol, fit_intercept,copy_X, verbose):
+        self.n_iter        = n_iter
+        self.fit_intercept = fit_intercept
+        self.copy_X        = copy_X
+        self.verbose       = verbose
+        self.tol           = tol
+        
+        
+    def _check_convergence(self, mu, mu_old):
+        '''
+        Checks convergence of algorithm using changes in mean of posterior
+        distribution of weights
+        '''
+        return np.sum(abs(mu-mu_old)>self.tol) == 0
+        
+        
+    def _center_data(self,X,y):
+        ''' Centers data'''
+        X     = as_float_array(X,self.copy_X)
+        # normalisation should be done in preprocessing!
+        X_std = np.ones(X.shape[1], dtype = X.dtype)
+        if self.fit_intercept:
+            X_mean = np.average(X,axis = 0)
+            y_mean = np.average(y,axis = 0)
+            X     -= X_mean
+            y      = y - y_mean
+        else:
+            X_mean = np.zeros(X.shape[1],dtype = X.dtype)
+            y_mean = 0. if y.ndim == 1 else np.zeros(y.shape[1], dtype=X.dtype)
+        return X,y, X_mean, y_mean, X_std
+        
+        
+    def predict_dist(self,X):
+        '''
+        Calculates  mean and variance of predictive distribution for each data 
+        point of test set.(Note predictive distribution for each data point is 
+        Gaussian, therefore it is uniquely determined by mean and variance)                    
+                    
+        Parameters
+        ----------
+        x: array-like of size (n_test_samples, n_features)
+            Set of features for which corresponding responses should be predicted
+
+        Returns
+        -------
+        :list of two numpy arrays [mu_pred, var_pred]
+        
+            mu_pred : numpy array of size (n_test_samples,)
+                      Mean of predictive distribution
+                      
+            var_pred: numpy array of size (n_test_samples,)
+                      Variance of predictive distribution        
+        '''
+        # Note check_array and check_is_fitted are done within self._decision_function(X)
+        mu_pred     = self._decision_function(X)
+        data_noise  = 1./self.beta_
+        model_noise = np.sum(np.dot(X,self.eigvecs_)**2 * self.eigvals_,1)
+        var_pred    =  data_noise + model_noise
+        return [mu_pred,var_pred]
+    
+        
+        
+
+class EBLinearRegression(BayesianLinearRegression):
+    '''
+    Bayesian Regression with type II maximum likelihood (Empirical Bayes)
+    
+    Parameters:
+    -----------  
+    n_iter: int, optional (DEFAULT = 300)
+       Maximum number of iterations
+         
+    tol: float, optional (DEFAULT = 1e-3)
+       Threshold for convergence
+       
+    optimizer: str, optional (DEFAULT = 'fp')
+       Method for optimization , either Expectation Maximization or 
+       Fixed Point Gull-MacKay {'em','fp'}. Fixed point iterations are
+       faster, but can be numerically unstable (especially in case of near perfect fit).
+       
+    fit_intercept: bool, optional (DEFAULT = True)
+       If True includes bias term in model
+       
+    perfect_fit_tol: float (DEAFAULT = 1e-5)
+       Prevents overflow of precision parameters (this is smallest value RSS can have).
+       ( !!! Note if using EM instead of fixed-point, try smaller values
+       of perfect_fit_tol, for better estimates of variance of predictive distribution )
+
+    alpha: float (DEFAULT = 1)
+       Initial value of precision paramter for coefficients ( by default we define 
+       very broad distribution )
+       
+    copy_X : boolean, optional (DEFAULT = True)
+        If True, X will be copied, otherwise will be 
+        
+    verbose: bool, optional (Default = False)
+       If True at each iteration progress report is printed out
+    
+    Attributes
+    ----------
+    coef_  : array, shape = (n_features)
+        Coefficients of the regression model (mean of posterior distribution)
+        
+    intercept_: float
+        Value of bias term (if fit_intercept is False, then intercept_ = 0)
+        
+    alpha_ : float
+        Estimated precision of coefficients
+       
+    beta_  : float 
+        Estimated precision of noise
+        
+    eigvals_ : array, shape = (n_features, )
+        Eigenvalues of covariance matrix (from posterior distribution of weights)
+        
+    eigvecs_ : array, shape = (n_features, n_featues)
+        Eigenvectors of covariance matrix (from posterior distribution of weights)
+
+    '''
+    
+    def __init__(self,n_iter = 300, tol = 1e-3, optimizer = 'fp', fit_intercept = True,
+                 normalize=True, perfect_fit_tol = 1e-6, alpha = 1, copy_X = True, verbose = False):
+        super(EBLinearRegression,self).__init__(n_iter, tol, fit_intercept, copy_X, verbose)
+        if optimizer not in ['em','fp']:
+            raise ValueError('Optimizer can be either "em" of "fp" ')
+        self.optimizer     =  optimizer 
+        self.alpha         =  alpha 
+        self.perfect_fit   =  False
+        self.normalize     = True
+        self.scores_       =  [np.NINF]
+        self.perfect_fit_tol = perfect_fit_tol
+    
+    def _check_convergence(self, mu, mu_old):
+        '''
+        Checks convergence of algorithm using changes in mean of posterior
+        distribution of weights
+        '''
+        return np.sum(abs(mu-mu_old)>self.tol) == 0
+        
+        
+    def _center_data(self,X,y):
+        ''' Centers data'''
+        X     = as_float_array(X,self.copy_X)
+        # normalisation should be done in preprocessing!
+        X_std = np.ones(X.shape[1], dtype = X.dtype)
+        if self.fit_intercept:
+            X_mean = np.average(X, axis=0)
+            X -= X_mean
+            if self.normalize:
+                X, X_std = f_normalize(X, axis=0, copy=False,
+                                         return_norm=True)
+            else:
+                X_std = np.ones(X.shape[1], dtype=X.dtype)
+            y_mean = np.average(y, axis=0)
+            y = y - y_mean
+        else:
+            X_mean = np.zeros(X.shape[1],dtype = X.dtype)
+            y_mean = 0. if y.ndim == 1 else np.zeros(y.shape[1], dtype=X.dtype)
+        return X,y, X_mean, y_mean, X_std
+            
+    def fit(self, X, y):
+        '''
+        Fits Bayesian Linear Regression using Empirical Bayes
+        
+        Parameters
+        ----------
+        X: array-like of size [n_samples,n_features]
+           Matrix of explanatory variables (should not include bias term)
+       
+        y: array-like of size [n_features]
+           Vector of dependent variables.
+           
+        Returns
+        -------
+        object: self
+          self
+    
+        '''
+        # preprocess data
+        X, y = check_X_y(X, y, dtype=np.float64, y_numeric=True)
+        n_samples, n_features = X.shape
+        X, y, X_mean, y_mean, X_std = self._center_data(X, y)
+        self._x_mean_ = X_mean
+        self._y_mean  = y_mean
+        self._x_std   = X_std
+        
+        #  precision of noise & and coefficients
+        alpha   =  self.alpha
+        var_y  = np.var(y)
+        # check that variance is non zero !!!
+        if var_y == 0 :
+            beta = 1e-2
+        else:
+            beta = 1. / np.var(y)
+
+        # to speed all further computations save svd decomposition and reuse it later
+        u,d,vt   = svd(X, full_matrices = False)
+        Uy      = np.dot(u.T,y)
+        dsq     = d**2
+        mu      = 0
+    
+        for i in range(self.n_iter):
+            
+            # find mean for posterior of w ( for EM this is E-step)
+            mu_old  =  mu
+            if n_samples > n_features:
+                 mu =  vt.T *  d/(dsq+alpha/beta) 
+            else:
+                 # clever use of SVD here , faster for large n_features
+                 mu =  u * 1./(dsq + alpha/beta)
+                 mu =  np.dot(X.T,mu)
+            mu =  np.dot(mu,Uy)
+
+            # precompute errors, since both methods use it in estimation
+            error   = y - np.dot(X,mu)
+            sqdErr  = np.sum(error**2)
+            
+            if sqdErr / n_samples < self.perfect_fit_tol:
+                self.perfect_fit = True
+                warnings.warn( ('Almost perfect fit!!! Estimated values of variance '
+                                'for predictive distribution are computed using only RSS'))
+                break
+            
+            if self.optimizer == "fp":           
+                gamma      =  np.sum(beta*dsq/(beta*dsq + alpha))
+                # use updated mu and gamma parameters to update alpha and beta
+                # !!! made computation numerically stable for perfect fit case
+                alpha      =   gamma  / (np.sum(mu**2) + np.finfo(np.float32).eps )
+                beta       =  ( n_samples - gamma ) / (sqdErr + np.finfo(np.float32).eps )
+            else:             
+                # M-step, update parameters alpha and beta to maximize ML TYPE II
+                eigvals    = 1. / (beta * dsq + alpha)
+                alpha      = n_features / ( np.sum(mu**2) + np.sum(1/eigvals) )
+                beta       = n_samples / ( sqdErr + np.sum(dsq/eigvals) )
+
+            # if converged or exceeded maximum number of iterations => terminate
+            converged = self._check_convergence(mu_old,mu)
+            if self.verbose:
+                print( "Iteration {0} completed".format(i) )
+                if converged is True:
+                    print("Algorithm converged after {0} iterations".format(i))
+            if converged or i==self.n_iter -1:
+                break
+        eigvals       = 1./(beta * dsq + alpha)
+        self.coef_    = beta*np.dot(vt.T*d*eigvals ,Uy)
+        self._set_intercept(X_mean,y_mean,X_std)
+        self.beta_    = beta
+        self.alpha_   = alpha
+        self.eigvals_ = eigvals
+        self.eigvecs_ = vt.T
+        
+        # set intercept_
+        if self.fit_intercept:
+            self.coef_ = self.coef_ / X_std
+            self.intercept_ = y_mean - np.dot(X_mean, self.coef_.T)
+        else:
+            self.intercept_ = 0.
+
+        return self
+    
+    def predict(self,X, return_std=False):
+        '''
+        Computes predictive distribution for test set.
+        Predictive distribution for each data point is one dimensional
+        Gaussian and therefore is characterised by mean and variance.
+        
+        Parameters
+        -----------
+        X: {array-like, sparse} (n_samples_test, n_features)
+           Test data, matrix of explanatory variables
+           
+        Returns
+        -------
+        : list of length two [y_hat, var_hat]
+        
+             y_hat: numpy array of size (n_samples_test,)
+                    Estimated values of targets on test set (i.e. mean of predictive
+                    distribution)
+           
+             var_hat: numpy array of size (n_samples_test,)
+                    Variance of predictive distribution
+        '''
+        y_hat     = np.dot(X,self.coef_) + self.intercept_
+        
+        if return_std:
+            if self.normalize:
+                X   = (X - self._x_mean_) / self._x_std
+            data_noise  = 1./self.beta_
+            model_noise = np.sum(np.dot(X,self.eigvecs_)**2 * self.eigvals_,1)
+            var_pred    =  data_noise + model_noise
+            std_hat = np.sqrt(var_pred)
+            return y_hat, std_hat
+        else:
+            return y_hat
+            
+            
+# ==============================  VBLR  =========================================
+
+def gamma_mean(a,b):
+    '''
+    Computes mean of gamma distribution
+    
+    Parameters
+    ----------
+    a: float
+      Shape parameter of Gamma distribution
+    
+    b: float
+      Rate parameter of Gamma distribution
+      
+    Returns
+    -------
+    : float
+      Mean of Gamma distribution
+    '''
+    return float(a) / b 
+    
+
+
+class VBLinearRegression(BayesianLinearRegression):
+    '''
+    Implements Bayesian Linear Regression using mean-field approximation.
+    Assumes gamma prior on precision parameters of coefficients and noise.
+
+    Parameters:
+    -----------
+    n_iter: int, optional (DEFAULT = 100)
+       Maximum number of iterations for KL minimization
+
+    tol: float, optional (DEFAULT = 1e-3)
+       Convergence threshold
+       
+    fit_intercept: bool, optional (DEFAULT = True)
+       If True will use bias term in model fitting
+
+    a: float, optional (Default = 1e-4)
+       Shape parameter of Gamma prior for precision of coefficients
+       
+    b: float, optional (Default = 1e-4)
+       Rate parameter of Gamma prior for precision coefficients
+       
+    c: float, optional (Default = 1e-4)
+       Shape parameter of  Gamma prior for precision of noise
+       
+    d: float, optional (Default = 1e-4)
+       Rate parameter of  Gamma prior for precision of noise
+       
+    verbose: bool, optional (Default = False)
+       If True at each iteration progress report is printed out
+       
+    Attributes
+    ----------
+    coef_  : array, shape = (n_features)
+        Coefficients of the regression model (mean of posterior distribution)
+        
+    intercept_: float
+        Value of bias term (if fit_intercept is False, then intercept_ = 0)
+        
+    alpha_ : float
+        Mean of precision of coefficients
+       
+    beta_  : float 
+        Mean of precision of noise
+
+    eigvals_ : array, shape = (n_features, )
+        Eigenvalues of covariance matrix (from posterior distribution of weights)
+        
+    eigvecs_ : array, shape = (n_features, n_featues)
+        Eigenvectors of covariance matrix (from posterior distribution of weights)
+
+    '''
+    
+    def __init__(self, n_iter = 100, tol =1e-4, fit_intercept = True, 
+                 a = 1e-4, b = 1e-4, c = 1e-4, d = 1e-4, copy_X = True,
+                 verbose = False):
+        super(VBLinearRegression,self).__init__(n_iter, tol, fit_intercept, copy_X,
+                                                verbose)
+        self.a,self.b   =  a, b
+        self.c,self.d   =  c, d
+
+        
+    def fit(self,X,y):
+        '''
+        Fits Variational Bayesian Linear Regression Model
+        
+        Parameters
+        ----------
+        X: array-like of size [n_samples,n_features]
+           Matrix of explanatory variables (should not include bias term)
+       
+        Y: array-like of size [n_features]
+           Vector of dependent variables.
+           
+        Returns
+        -------
+        object: self
+          self
+        '''
+        # preprocess data
+        X, y = check_X_y(X, y, dtype=np.float64, y_numeric=True)
+        n_samples, n_features = X.shape
+        X, y, X_mean, y_mean, X_std = self._center_data(X, y)
+        self._x_mean_ = X_mean
+        self._y_mean  = y_mean
+        self._x_std   = X_std
+        
+        # SVD decomposition, done once , reused at each iteration
+        u,D,vt = svd(X, full_matrices = False)
+        dsq    = D**2
+        UY     = np.dot(u.T,y)
+        
+        # some parameters of Gamma distribution have closed form solution
+        a      = self.a + 0.5 * n_features
+        c      = self.c + 0.5 * n_samples
+        b,d    = self.b,  self.d
+        
+        # initial mean of posterior for coefficients
+        mu     = 0
+                
+        for i in range(self.n_iter):
+            
+            # update parameters of distribution Q(weights)
+            e_beta       = gamma_mean(c,d)
+            e_alpha      = gamma_mean(a,b)
+            mu_old       = np.copy(mu)
+            mu,eigvals   = self._posterior_weights(e_beta,e_alpha,UY,dsq,u,vt,D,X)
+            
+            # update parameters of distribution Q(precision of weights) 
+            b            = self.b + 0.5*( np.sum(mu**2) + np.sum(eigvals))
+            
+            # update parameters of distribution Q(precision of likelihood)
+            sqderr       = np.sum((y - np.dot(X,mu))**2)
+            xsx          = np.sum(dsq*eigvals)
+            d            = self.d + 0.5*(sqderr + xsx)
+ 
+            # check convergence 
+            converged = self._check_convergence(mu,mu_old)
+            if self.verbose is True:
+                print("Iteration {0} is completed".format(i))
+                if converged is True:
+                    print("Algorithm converged after {0} iterations".format(i))
+               
+            # terminate if convergence or maximum number of iterations are achieved
+            if converged or i==(self.n_iter-1):
+                break
+            
+        # save necessary parameters    
+        self.beta_   = gamma_mean(c,d)
+        self.alpha_  = gamma_mean(a,b)
+        self.coef_, self.eigvals_ = self._posterior_weights(self.beta_, self.alpha_, UY,
+                                                            dsq, u, vt, D, X)
+        self._set_intercept(X_mean,y_mean,X_std)
+        self.eigvecs_ = vt.T
+        return self
+        
+
+    def _posterior_weights(self, e_beta, e_alpha, UY, dsq, u, vt, d, X):
+        '''
+        Calculates parameters of approximate posterior distribution 
+        of weights
+        '''
+        # eigenvalues of covariance matrix
+        sigma = 1./ (e_beta*dsq + e_alpha)
+        
+        # mean of approximate posterior distribution
+        n_samples, n_features = X.shape
+        if n_samples > n_features:
+             mu =  vt.T *  d/(dsq + e_alpha/e_beta)# + np.finfo(np.float64).eps) 
+        else:
+             mu =  u * 1./(dsq + e_alpha/e_beta)# + np.finfo(np.float64).eps)
+             mu =  np.dot(X.T,mu)
+        mu =  np.dot(mu,UY)
+        return mu,sigma
+        
+    def predict(self,X, return_std=False):
+        '''
+        Computes predictive distribution for test set.
+        Predictive distribution for each data point is one dimensional
+        Gaussian and therefore is characterised by mean and variance.
+        
+        Parameters
+        -----------
+        X: {array-like, sparse} (n_samples_test, n_features)
+           Test data, matrix of explanatory variables
+           
+        Returns
+        -------
+        : list of length two [y_hat, var_hat]
+        
+             y_hat: numpy array of size (n_samples_test,)
+                    Estimated values of targets on test set (i.e. mean of predictive
+                    distribution)
+           
+             var_hat: numpy array of size (n_samples_test,)
+                    Variance of predictive distribution
+        '''
+        x         = (X - self._x_mean_) / self._x_std
+        y_hat     = np.dot(x,self.coef_) + self._y_mean
+        
+        if return_std:
+            data_noise  = 1./self.beta_
+            model_noise = np.sum(np.dot(X,self.eigvecs_)**2 * self.eigvals_,1)
+            var_pred    =  data_noise + model_noise
+            std_hat = np.sqrt(var_pred)
+            return y_hat, std_hat
+        else:
+            return y_hat
\ No newline at end of file
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/desktop.ini b/examples/only-model/bayesvalidrox/surrogate_models/desktop.ini
new file mode 100644
index 0000000000000000000000000000000000000000..632de13ae6b61cecf0d9fdbf9c97cfb16bfb51a4
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/desktop.ini
@@ -0,0 +1,2 @@
+[LocalizedFileNames]
+exploration.py=@exploration.py,0
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/eval_rec_rule.py b/examples/only-model/bayesvalidrox/surrogate_models/eval_rec_rule.py
new file mode 100644
index 0000000000000000000000000000000000000000..b583c7eb2ec58d55d19b34130812730d21a12368
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/eval_rec_rule.py
@@ -0,0 +1,197 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+
+
+Based on the implementation in UQLab [1].
+
+References:
+1. S. Marelli, and B. Sudret, UQLab: A framework for uncertainty quantification
+in Matlab, Proc. 2nd Int. Conf. on Vulnerability, Risk Analysis and Management
+(ICVRAM2014), Liverpool, United Kingdom, 2014, 2554-2563.
+
+2. S. Marelli, N. Lüthen, B. Sudret, UQLab user manual – Polynomial chaos
+expansions, Report # UQLab-V1.4-104, Chair of Risk, Safety and Uncertainty
+Quantification, ETH Zurich, Switzerland, 2021.
+
+Author: Farid Mohammadi, M.Sc.
+E-Mail: farid.mohammadi@iws.uni-stuttgart.de
+Department of Hydromechanics and Modelling of Hydrosystems (LH2)
+Institute for Modelling Hydraulic and Environmental Systems (IWS), University
+of Stuttgart, www.iws.uni-stuttgart.de/lh2/
+Pfaffenwaldring 61
+70569 Stuttgart
+
+Created on Fri Jan 14 2022
+"""
+import numpy as np
+from numpy.polynomial.polynomial import polyval
+
+
+def poly_rec_coeffs(n_max, poly_type, params=None):
+    """
+    Computes the recurrence coefficients for classical Wiener-Askey orthogonal
+    polynomials.
+
+    Parameters
+    ----------
+    n_max : int
+        Maximum polynomial degree.
+    poly_type : string
+        Polynomial type.
+    params : list, optional
+        Parameters required for `laguerre` poly type. The default is None.
+
+    Returns
+    -------
+    AB : dict
+        The 3 term recursive coefficients and the applicable ranges.
+
+    """
+
+    if poly_type == 'legendre':
+
+        def an(n):
+            return np.zeros((n+1, 1))
+
+        def sqrt_bn(n):
+            sq_bn = np.zeros((n+1, 1))
+            sq_bn[0, 0] = 1
+            for i in range(1, n+1):
+                sq_bn[i, 0] = np.sqrt(1./(4-i**-2))
+            return sq_bn
+
+        bounds = [-1, 1]
+
+    elif poly_type == 'hermite':
+
+        def an(n):
+            return np.zeros((n+1, 1))
+
+        def sqrt_bn(n):
+            sq_bn = np.zeros((n+1, 1))
+            sq_bn[0, 0] = 1
+            for i in range(1, n+1):
+                sq_bn[i, 0] = np.sqrt(i)
+            return sq_bn
+
+        bounds = [-np.inf, np.inf]
+
+    elif poly_type == 'laguerre':
+
+        def an(n):
+            a = np.zeros((n+1, 1))
+            for i in range(1, n+1):
+                a[i] = 2*n + params[1]
+            return a
+
+        def sqrt_bn(n):
+            sq_bn = np.zeros((n+1, 1))
+            sq_bn[0, 0] = 1
+            for i in range(1, n+1):
+                sq_bn[i, 0] = -np.sqrt(i * (i+params[1]-1))
+            return sq_bn
+
+        bounds = [0, np.inf]
+
+    AB = {'alpha_beta': np.concatenate((an(n_max), sqrt_bn(n_max)), axis=1),
+          'bounds': bounds}
+
+    return AB
+
+
+def eval_rec_rule(x, max_deg, poly_type):
+    """
+    Evaluates the polynomial that corresponds to the Jacobi matrix defined
+    from the AB.
+
+    Parameters
+    ----------
+    x : array (n_samples)
+        Points where the polynomials are evaluated.
+    max_deg : int
+        Maximum degree.
+    poly_type : string
+        Polynomial type.
+
+    Returns
+    -------
+    values : array of shape (n_samples, max_deg+1)
+        Polynomials corresponding to the Jacobi matrix.
+
+    """
+    AB = poly_rec_coeffs(max_deg, poly_type)
+    AB = AB['alpha_beta']
+
+    values = np.zeros((len(x), AB.shape[0]+1))
+    values[:, 1] = 1 / AB[0, 1]
+
+    for k in range(AB.shape[0]-1):
+        values[:, k+2] = np.multiply((x - AB[k, 0]), values[:, k+1]) - \
+                         np.multiply(values[:, k], AB[k, 1])
+        values[:, k+2] = np.divide(values[:, k+2], AB[k+1, 1])
+    return values[:, 1:]
+
+
+def eval_rec_rule_arbitrary(x, max_deg, poly_coeffs):
+    """
+    Evaluates the polynomial at sample array x.
+
+    Parameters
+    ----------
+    x : array (n_samples)
+        Points where the polynomials are evaluated.
+    max_deg : int
+        Maximum degree.
+    poly_coeffs : dict
+        Polynomial coefficients computed based on moments.
+
+    Returns
+    -------
+    values : array of shape (n_samples, max_deg+1)
+        Univariate Polynomials evaluated at samples.
+
+    """
+    values = np.zeros((len(x), max_deg+1))
+
+    for deg in range(max_deg+1):
+        values[:, deg] = polyval(x, poly_coeffs[deg]).T
+
+    return values
+
+
+def eval_univ_basis(x, max_deg, poly_types, apoly_coeffs=None):
+    """
+    Evaluates univariate regressors along input directions.
+
+    Parameters
+    ----------
+    x : array of shape (n_samples, n_params)
+        Training samples.
+    max_deg : int
+        Maximum polynomial degree.
+    poly_types : list of strings
+        List of polynomial types for all parameters.
+    apoly_coeffs : dict , optional
+        Polynomial coefficients computed based on moments. The default is None.
+
+    Returns
+    -------
+    univ_vals : array of shape (n_samples, n_params, max_deg+1)
+        Univariate polynomials for all degrees and parameters evaluated at x.
+
+    """
+    # Initilize the output array
+    n_samples, n_params = x.shape
+    univ_vals = np.zeros((n_samples, n_params, max_deg+1))
+
+    for i in range(n_params):
+
+        if poly_types[i] == 'arbitrary':
+            polycoeffs = apoly_coeffs[f'p_{i+1}']
+            univ_vals[:, i] = eval_rec_rule_arbitrary(x[:, i], max_deg,
+                                                      polycoeffs)
+        else:
+            univ_vals[:, i] = eval_rec_rule(x[:, i], max_deg, poly_types[i])
+
+    return univ_vals
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/exp_designs.py b/examples/only-model/bayesvalidrox/surrogate_models/exp_designs.py
new file mode 100644
index 0000000000000000000000000000000000000000..a078aec9c19c5a85a637ba50d02c48459ceea6d3
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/exp_designs.py
@@ -0,0 +1,737 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import numpy as np
+import math
+import itertools
+import chaospy
+import scipy.stats as st
+from tqdm import tqdm
+
+from .apoly_construction import apoly_construction
+
+
+class ExpDesigns:
+    """
+    This class generates samples from the prescribed marginals for the model
+    parameters using the `Input` object.
+
+    Attributes
+    ----------
+    Input : obj
+        Input object containing the parameter marginals, i.e. name,
+        distribution type and distribution parameters or available raw data.
+    method : str
+        Type of the experimental design. The default is `'normal'`. Other
+        option is `'sequential'`.
+    meta_Model : str
+        Type of the meta_model.
+    sampling_method : str
+        Name of the sampling method for the experimental design. The following
+        sampling method are supported:
+
+        * random
+        * latin_hypercube
+        * sobol
+        * halton
+        * hammersley
+        * chebyshev(FT)
+        * grid(FT)
+        * user
+    hdf5_file : str
+        Name of the hdf5 file that contains the experimental design.
+    n_new_samples : int
+        Number of (initial) training points.
+    n_max_samples : int
+        Number of maximum training points.
+    mod_LOO_threshold : float
+        The modified leave-one-out cross validation threshold where the
+        sequential design stops.
+    tradeoff_scheme : str
+        Trade-off scheme to assign weights to the exploration and exploitation
+        scores in the sequential design.
+    n_canddidate : int
+        Number of candidate training sets to calculate the scores for.
+    explore_method : str
+        Type of the exploration method for the sequential design. The following
+        methods are supported:
+
+        * Voronoi
+        * random
+        * latin_hypercube
+        * LOOCV
+        * dual annealing
+    exploit_method : str
+        Type of the exploitation method for the sequential design. The
+        following methods are supported:
+
+        * BayesOptDesign
+        * BayesActDesign
+        * VarOptDesign
+        * alphabetic
+        * Space-filling
+    util_func : str or list
+        The utility function to be specified for the `exploit_method`. For the
+        available utility functions see Note section.
+    n_cand_groups : int
+        Number of candidate groups. Each group of candidate training sets will
+        be evaulated separately in parallel.
+    n_replication : int
+        Number of replications. Only for comparison. The default is 1.
+    post_snapshot : int
+        Whether to plot the posterior in the sequential design. The default is
+        `True`.
+    step_snapshot : int
+        The number of steps to plot the posterior in the sequential design. The
+        default is 1.
+    max_a_post : list or array
+        Maximum a posteriori of the posterior distribution, if known. The
+        default is `[]`.
+    adapt_verbose : bool
+        Whether to plot the model response vs that of metamodel for the new
+        trining point in the sequential design.
+
+    Note
+    ----------
+    The following utiliy functions for the **exploitation** methods are
+    supported:
+
+    #### BayesOptDesign (when data is available)
+    - DKL (Kullback-Leibler Divergence)
+    - DPP (D-Posterior-percision)
+    - APP (A-Posterior-percision)
+
+    #### VarBasedOptDesign -> when data is not available
+    - Entropy (Entropy/MMSE/active learning)
+    - EIGF (Expected Improvement for Global fit)
+    - LOOCV (Leave-one-out Cross Validation)
+
+    #### alphabetic
+    - D-Opt (D-Optimality)
+    - A-Opt (A-Optimality)
+    - K-Opt (K-Optimality)
+    """
+
+    def __init__(self, Input, method='normal', meta_Model='pce',
+                 sampling_method='random', hdf5_file=None,
+                 n_new_samples=1, n_max_samples=None, mod_LOO_threshold=1e-16,
+                 tradeoff_scheme=None, n_canddidate=1, explore_method='random',
+                 exploit_method='Space-filling', util_func='Space-filling',
+                 n_cand_groups=4, n_replication=1, post_snapshot=False,
+                 step_snapshot=1, max_a_post=[], adapt_verbose=False):
+
+        self.InputObj = Input
+        self.method = method
+        self.meta_Model = meta_Model
+        self.sampling_method = sampling_method
+        self.hdf5_file = hdf5_file
+        self.n_new_samples = n_new_samples
+        self.n_max_samples = n_max_samples
+        self.mod_LOO_threshold = mod_LOO_threshold
+        self.explore_method = explore_method
+        self.exploit_method = exploit_method
+        self.util_func = util_func
+        self.tradeoff_scheme = tradeoff_scheme
+        self.n_canddidate = n_canddidate
+        self.n_cand_groups = n_cand_groups
+        self.n_replication = n_replication
+        self.post_snapshot = post_snapshot
+        self.step_snapshot = step_snapshot
+        self.max_a_post = max_a_post
+        self.adapt_verbose = adapt_verbose
+
+    # -------------------------------------------------------------------------
+    def generate_samples(self, n_samples, sampling_method='random',
+                         transform=False):
+        """
+        Generates samples with given sampling method
+
+        Parameters
+        ----------
+        n_samples : int
+            Number of requested samples.
+        sampling_method : str, optional
+            Sampling method. The default is `'random'`.
+        transform : bool, optional
+            Transformation via an isoprobabilistic transformation method. The
+            default is `False`.
+
+        Returns
+        -------
+        samples: array of shape (n_samples, n_params)
+            Generated samples from defined model input object.
+
+        """
+        try:
+            samples = chaospy.generate_samples(
+                int(n_samples), domain=self.origJDist, rule=sampling_method
+                )
+        except:
+            samples = self.random_sampler(int(n_samples)).T
+
+        return samples.T
+
+    # -------------------------------------------------------------------------
+    def generate_ED(self, n_samples, sampling_method='random', transform=False,
+                    max_pce_deg=None):
+        """
+        Generates experimental designs (training set) with the given method.
+
+        Parameters
+        ----------
+        n_samples : int
+            Number of requested training points.
+        sampling_method : str, optional
+            Sampling method. The default is `'random'`.
+        transform : bool, optional
+            Isoprobabilistic transformation. The default is `False`.
+        max_pce_deg : int, optional
+            Maximum PCE polynomial degree. The default is `None`.
+
+        Returns
+        -------
+        samples : array of shape (n_samples, n_params)
+            Selected training samples.
+
+        """
+        Inputs = self.InputObj
+        self.ndim = len(Inputs.Marginals)
+        if not hasattr(self, 'n_init_samples'):
+            self.n_init_samples = self.ndim + 1
+        n_samples = int(n_samples)
+
+        # Check if PCE or aPCE metamodel is selected.
+        if self.meta_Model.lower() == 'apce':
+            self.apce = True
+        else:
+            self.apce = False
+
+        # Check if input is given as dist or input_data.
+        if len(Inputs.Marginals[0].input_data):
+            self.input_data_given = True
+        else:
+            self.input_data_given = False
+
+        # Get the bounds if input_data are directly defined by user:
+        if self.input_data_given:
+            for i in range(self.ndim):
+                low_bound = np.min(Inputs.Marginals[i].input_data)
+                up_bound = np.max(Inputs.Marginals[i].input_data)
+                Inputs.Marginals[i].parameters = [low_bound, up_bound]
+
+        # Generate the samples based on requested method
+        self.raw_data, self.bound_tuples = self.init_param_space(max_pce_deg)
+
+        # Pass user-defined samples as ED
+        if sampling_method == 'user':
+            samples = self.X
+            self.n_samples = len(samples)
+
+        # Sample the distribution of parameters
+        elif self.input_data_given:
+            # Case II: Input values are directly given by the user.
+
+            if sampling_method == 'random':
+                samples = self.random_sampler(n_samples)
+
+            elif sampling_method == 'PCM' or \
+                    sampling_method == 'LSCM':
+                samples = self.pcm_sampler(max_pce_deg)
+
+            else:
+                # Create ExpDesign in the actual space using chaospy
+                try:
+                    samples = chaospy.generate_samples(n_samples,
+                                                       domain=self.JDist,
+                                                       rule=sampling_method).T
+                except:
+                    samples = self.JDist.resample(n_samples).T
+
+        elif not self.input_data_given:
+            # Case I = User passed known distributions
+            samples = chaospy.generate_samples(n_samples, domain=self.JDist,
+                                               rule=sampling_method).T
+
+        # Transform samples to the original space
+        if transform:
+            tr_samples = self.transform(
+                samples,
+                method=sampling_method
+                )
+            if sampling_method == 'user' or not self.apce:
+                return samples, tr_samples
+            else:
+                return tr_samples, samples
+        else:
+            return samples
+
+    # -------------------------------------------------------------------------
+    def init_param_space(self, max_deg=None):
+        """
+        Initializes parameter space.
+
+        Parameters
+        ----------
+        max_deg : int, optional
+            Maximum degree. The default is `None`.
+
+        Returns
+        -------
+        raw_data : array of shape (n_params, n_samples)
+            Raw data.
+        bound_tuples : list of tuples
+            A list containing lower and upper bounds of parameters.
+
+        """
+        Inputs = self.InputObj
+        ndim = self.ndim
+        rosenblatt_flag = Inputs.Rosenblatt
+        mc_size = 50000
+
+        # Save parameter names
+        self.par_names = []
+        for parIdx in range(ndim):
+            self.par_names.append(Inputs.Marginals[parIdx].name)
+
+        # Create a multivariate probability distribution
+        if max_deg is not None:
+            JDist, poly_types = self.build_dist(rosenblatt=rosenblatt_flag)
+            self.JDist, self.poly_types = JDist, poly_types
+
+        if self.input_data_given:
+
+            self.MCSize = len(Inputs.Marginals[0].input_data)
+            self.raw_data = np.zeros((ndim, self.MCSize))
+
+            for parIdx in range(ndim):
+                # Save parameter names
+                try:
+                    self.raw_data[parIdx] = np.array(
+                        Inputs.Marginals[parIdx].input_data)
+                except:
+                    self.raw_data[parIdx] = self.JDist[parIdx].sample(mc_size)
+
+        else:
+            # Generate random samples based on parameter distributions
+            self.raw_data = chaospy.generate_samples(mc_size,
+                                                     domain=self.JDist)
+
+        # Create orthogonal polynomial coefficients if necessary
+        if self.apce and max_deg is not None and Inputs.poly_coeffs_flag:
+            self.polycoeffs = {}
+            for parIdx in tqdm(range(ndim), ascii=True,
+                               desc="Computing orth. polynomial coeffs"):
+                poly_coeffs = apoly_construction(
+                    self.raw_data[parIdx],
+                    max_deg
+                    )
+                self.polycoeffs[f'p_{parIdx+1}'] = poly_coeffs
+
+        # Extract moments
+        for parIdx in range(ndim):
+            mu = np.mean(self.raw_data[parIdx])
+            std = np.std(self.raw_data[parIdx])
+            self.InputObj.Marginals[parIdx].moments = [mu, std]
+
+        # Generate the bounds based on given inputs for marginals
+        bound_tuples = []
+        for i in range(ndim):
+            if Inputs.Marginals[i].dist_type == 'unif':
+                low_bound, up_bound = Inputs.Marginals[i].parameters
+            else:
+                low_bound = np.min(self.raw_data[i])
+                up_bound = np.max(self.raw_data[i])
+
+            bound_tuples.append((low_bound, up_bound))
+
+        self.bound_tuples = tuple(bound_tuples)
+
+        return self.raw_data, self.bound_tuples
+
+    # -------------------------------------------------------------------------
+    def build_dist(self, rosenblatt):
+        """
+        Creates the polynomial types to be passed to univ_basis_vals method of
+        the MetaModel object.
+
+        Parameters
+        ----------
+        rosenblatt : bool
+            Rosenblatt transformation flag.
+
+        Returns
+        -------
+        orig_space_dist : object
+            A chaospy JDist object or a gaussian_kde object.
+        poly_types : list
+            List of polynomial types for the parameters.
+
+        """
+        Inputs = self.InputObj
+        all_data = []
+        all_dist_types = []
+        orig_joints = []
+        poly_types = []
+
+        for parIdx in range(self.ndim):
+
+            if Inputs.Marginals[parIdx].dist_type is None:
+                data = Inputs.Marginals[parIdx].input_data
+                all_data.append(data)
+                dist_type = None
+            else:
+                dist_type = Inputs.Marginals[parIdx].dist_type
+                params = Inputs.Marginals[parIdx].parameters
+
+            if rosenblatt:
+                polytype = 'hermite'
+                dist = chaospy.Normal()
+
+            elif dist_type is None:
+                polytype = 'arbitrary'
+                dist = None
+
+            elif 'unif' in dist_type.lower():
+                polytype = 'legendre'
+                dist = chaospy.Uniform(lower=params[0], upper=params[1])
+
+            elif 'norm' in dist_type.lower() and \
+                 'log' not in dist_type.lower():
+                polytype = 'hermite'
+                dist = chaospy.Normal(mu=params[0], sigma=params[1])
+
+            elif 'gamma' in dist_type.lower():
+                polytype = 'laguerre'
+                dist = chaospy.Gamma(shape=params[0],
+                                     scale=params[1],
+                                     shift=params[2])
+
+            elif 'beta' in dist_type.lower():
+                polytype = 'jacobi'
+                dist = chaospy.Beta(alpha=params[0], beta=params[1],
+                                    lower=params[2], upper=params[3])
+
+            elif 'lognorm' in dist_type.lower():
+                polytype = 'hermite'
+                mu = np.log(params[0]**2/np.sqrt(params[0]**2 + params[1]**2))
+                sigma = np.sqrt(np.log(1 + params[1]**2 / params[0]**2))
+                dist = chaospy.LogNormal(mu, sigma)
+                # dist = chaospy.LogNormal(mu=params[0], sigma=params[1])
+
+            elif 'expon' in dist_type.lower():
+                polytype = 'arbitrary'
+                dist = chaospy.Exponential(scale=params[0], shift=params[1])
+
+            elif 'weibull' in dist_type.lower():
+                polytype = 'arbitrary'
+                dist = chaospy.Weibull(shape=params[0], scale=params[1],
+                                       shift=params[2])
+
+            else:
+                message = (f"DistType {dist_type} for parameter"
+                           f"{parIdx+1} is not available.")
+                raise ValueError(message)
+
+            if self.input_data_given or self.apce:
+                polytype = 'arbitrary'
+
+            # Store dists and poly_types
+            orig_joints.append(dist)
+            poly_types.append(polytype)
+            all_dist_types.append(dist_type)
+
+        # Prepare final output to return
+        if None in all_dist_types:
+            # Naive approach: Fit a gaussian kernel to the provided data
+            Data = np.asarray(all_data)
+            orig_space_dist = st.gaussian_kde(Data)
+            self.prior_space = orig_space_dist
+        else:
+            orig_space_dist = chaospy.J(*orig_joints)
+            self.prior_space = st.gaussian_kde(orig_space_dist.sample(10000))
+
+        return orig_space_dist, poly_types
+
+    # -------------------------------------------------------------------------
+    def random_sampler(self, n_samples):
+        """
+        Samples the given raw data randomly.
+
+        Parameters
+        ----------
+        n_samples : int
+            Number of requested samples.
+
+        Returns
+        -------
+        samples: array of shape (n_samples, n_params)
+            The sampling locations in the input space.
+
+        """
+        samples = np.zeros((n_samples, self.ndim))
+        sample_size = self.raw_data.shape[1]
+
+        # Use a combination of raw data
+        if n_samples < sample_size:
+            for pa_idx in range(self.ndim):
+                # draw random indices
+                rand_idx = np.random.randint(0, sample_size, n_samples)
+                # store the raw data with given random indices
+                samples[:, pa_idx] = self.raw_data[pa_idx, rand_idx]
+        else:
+            try:
+                samples = self.JDist.resample(int(n_samples)).T
+            except AttributeError:
+                samples = self.JDist.sample(int(n_samples)).T
+            # Check if all samples are in the bound_tuples
+            for idx, param_set in enumerate(samples):
+                if not self._check_ranges(param_set, self.bound_tuples):
+                    try:
+                        proposed_sample = chaospy.generate_samples(
+                            1, domain=self.JDist, rule='random').T[0]
+                    except:
+                        proposed_sample = self.JDist.resample(1).T[0]
+                    while not self._check_ranges(proposed_sample,
+                                                 self.bound_tuples):
+                        try:
+                            proposed_sample = chaospy.generate_samples(
+                                1, domain=self.JDist, rule='random').T[0]
+                        except:
+                            proposed_sample = self.JDist.resample(1).T[0]
+                    samples[idx] = proposed_sample
+
+        return samples
+
+    # -------------------------------------------------------------------------
+    def pcm_sampler(self, max_deg):
+        """
+        Generates collocation points based on the root of the polynomial
+        degrees.
+
+        Parameters
+        ----------
+        max_deg : int
+            Maximum degree defined by user.
+
+        Returns
+        -------
+        opt_col_points: array of shape (n_samples, n_params)
+            Collocation points.
+
+        """
+
+        raw_data = self.raw_data
+
+        # Guess the closest degree to self.n_samples
+        def M_uptoMax(deg):
+            result = []
+            for d in range(1, deg+1):
+                result.append(math.factorial(self.ndim+d) //
+                              (math.factorial(self.ndim) * math.factorial(d)))
+            return np.array(result)
+
+        guess_Deg = np.where(M_uptoMax(max_deg) > self.n_samples)[0][0]
+
+        c_points = np.zeros((guess_Deg+1, self.ndim))
+
+        def PolynomialPa(parIdx):
+            return apoly_construction(self.raw_data[parIdx], max_deg)
+
+        for i in range(self.ndim):
+            poly_coeffs = PolynomialPa(i)[guess_Deg+1][::-1]
+            c_points[:, i] = np.trim_zeros(np.roots(poly_coeffs))
+
+        #  Construction of optimal integration points
+        Prod = itertools.product(np.arange(1, guess_Deg+2), repeat=self.ndim)
+        sort_dig_unique_combos = np.array(list(filter(lambda x: x, Prod)))
+
+        # Ranking relatively mean
+        Temp = np.empty(shape=[0, guess_Deg+1])
+        for j in range(self.ndim):
+            s = abs(c_points[:, j]-np.mean(raw_data[j]))
+            Temp = np.append(Temp, [s], axis=0)
+        temp = Temp.T
+
+        index_CP = np.sort(temp, axis=0)
+        sort_cpoints = np.empty((0, guess_Deg+1))
+
+        for j in range(self.ndim):
+            sort_cp = c_points[index_CP[:, j], j]
+            sort_cpoints = np.vstack((sort_cpoints, sort_cp))
+
+        # Mapping of Combination to Cpoint Combination
+        sort_unique_combos = np.empty(shape=[0, self.ndim])
+        for i in range(len(sort_dig_unique_combos)):
+            sort_un_comb = []
+            for j in range(self.ndim):
+                SortUC = sort_cpoints[j, sort_dig_unique_combos[i, j]-1]
+                sort_un_comb.append(SortUC)
+                sort_uni_comb = np.asarray(sort_un_comb)
+            sort_unique_combos = np.vstack((sort_unique_combos, sort_uni_comb))
+
+        # Output the collocation points
+        if self.sampling_method.lower() == 'lscm':
+            opt_col_points = sort_unique_combos
+        else:
+            opt_col_points = sort_unique_combos[0:self.n_samples]
+
+        return opt_col_points
+
+    # -------------------------------------------------------------------------
+    def transform(self, X, params=None, method=None):
+        """
+        Transform the samples via either a Rosenblatt or an isoprobabilistic
+        transformation.
+
+        Parameters
+        ----------
+        X : array of shape (n_samples,n_params)
+            Samples to be transformed.
+        method : string
+            If transformation method is 'user' transform X, else just pass X.
+
+        Returns
+        -------
+        tr_X: array of shape (n_samples,n_params)
+            Transformed samples.
+
+        """
+        if self.InputObj.Rosenblatt:
+            self.origJDist, _ = self.build_dist(False)
+            if method == 'user':
+                tr_X = self.JDist.inv(self.origJDist.fwd(X.T)).T
+            else:
+                # Inverse to original spcace -- generate sample ED
+                tr_X = self.origJDist.inv(self.JDist.fwd(X.T)).T
+        else:
+            # Transform samples via an isoprobabilistic transformation
+            n_samples, n_params = X.shape
+            Inputs = self.InputObj
+            origJDist = self.JDist
+            poly_types = self.poly_types
+
+            disttypes = []
+            for par_i in range(n_params):
+                disttypes.append(Inputs.Marginals[par_i].dist_type)
+
+            # Pass non-transformed X, if arbitrary PCE is selected.
+            if None in disttypes or self.input_data_given or self.apce:
+                return X
+
+            cdfx = np.zeros((X.shape))
+            tr_X = np.zeros((X.shape))
+
+            for par_i in range(n_params):
+
+                # Extract the parameters of the original space
+                disttype = disttypes[par_i]
+                if disttype is not None:
+                    dist = origJDist[par_i]
+                else:
+                    dist = None
+                polytype = poly_types[par_i]
+                cdf = np.vectorize(lambda x: dist.cdf(x))
+
+                # Extract the parameters of the transformation space based on
+                # polyType
+                if polytype == 'legendre' or disttype == 'uniform':
+                    # Generate Y_Dists based
+                    params_Y = [-1, 1]
+                    dist_Y = st.uniform(loc=params_Y[0],
+                                        scale=params_Y[1]-params_Y[0])
+                    inv_cdf = np.vectorize(lambda x: dist_Y.ppf(x))
+
+                elif polytype == 'hermite' or disttype == 'norm':
+                    params_Y = [0, 1]
+                    dist_Y = st.norm(loc=params_Y[0], scale=params_Y[1])
+                    inv_cdf = np.vectorize(lambda x: dist_Y.ppf(x))
+
+                elif polytype == 'laguerre' or disttype == 'gamma':
+                    params_Y = [1, params[1]]
+                    dist_Y = st.gamma(loc=params_Y[0], scale=params_Y[1])
+                    inv_cdf = np.vectorize(lambda x: dist_Y.ppf(x))
+
+                # Compute CDF_x(X)
+                cdfx[:, par_i] = cdf(X[:, par_i])
+
+                # Compute invCDF_y(cdfx)
+                tr_X[:, par_i] = inv_cdf(cdfx[:, par_i])
+
+        return tr_X
+
+    # -------------------------------------------------------------------------
+    def fit_dist(self, y):
+        """
+        Fits the known distributions to the data.
+
+        Parameters
+        ----------
+        y : array of shape (n_samples)
+            Data to be fitted.
+
+        Returns
+        -------
+        sel_dist: string
+            Selected distribution type from `lognorm`, `norm`, `uniform` or
+            `expon`.
+        params : list
+            Parameters corresponding to the selected distibution type.
+
+        """
+        dist_results = []
+        params = {}
+        dist_names = ['lognorm', 'norm', 'uniform', 'expon']
+        for dist_name in dist_names:
+            dist = getattr(st, dist_name)
+
+            try:
+                if dist_name != 'lognorm':
+                    param = dist.fit(y)
+                else:
+                    param = dist.fit(np.exp(y), floc=0)
+            except:
+                param = dist.fit(y)
+
+            params[dist_name] = param
+            # Applying the Kolmogorov-Smirnov test
+            D, p = st.kstest(y, dist_name, args=param)
+            dist_results.append((dist_name, D))
+
+        # select the best fitted distribution
+        sel_dist, D = (min(dist_results, key=lambda item: item[1]))
+
+        if sel_dist == 'uniform':
+            params[sel_dist] = [params[sel_dist][0], params[sel_dist][0] +
+                                params[sel_dist][1]]
+        if D < 0.05:
+            return sel_dist, params[sel_dist]
+        else:
+            return None, None
+
+    # -------------------------------------------------------------------------
+    def _check_ranges(self, theta, ranges):
+        """
+        This function checks if theta lies in the given ranges.
+
+        Parameters
+        ----------
+        theta : array
+            Proposed parameter set.
+        ranges : nested list
+            List of the praremeter ranges.
+
+        Returns
+        -------
+        c : bool
+            If it lies in the given range, it return True else False.
+
+        """
+        c = True
+        # traverse in the list1
+        for i, bounds in enumerate(ranges):
+            x = theta[i]
+            # condition check
+            if x < bounds[0] or x > bounds[1]:
+                c = False
+                return c
+        return c
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/exploration.py b/examples/only-model/bayesvalidrox/surrogate_models/exploration.py
new file mode 100644
index 0000000000000000000000000000000000000000..cb3ccfcd4a15e26b2292973167d01efedd5a9a62
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/exploration.py
@@ -0,0 +1,468 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import numpy as np
+from scipy.spatial import distance
+
+
+class Exploration:
+    """
+    Created based on the Surrogate Modeling Toolbox (SUMO) [1].
+
+    [1] Gorissen, D., Couckuyt, I., Demeester, P., Dhaene, T. and Crombecq, K.,
+        2010. A surrogate modeling and adaptive sampling toolbox for computer
+        based design. Journal of machine learning research.-Cambridge, Mass.,
+        11, pp.2051-2055. sumo@sumo.intec.ugent.be - http://sumo.intec.ugent.be
+
+    Attributes
+    ----------
+    MetaModel : obj
+        MetaModel object.
+    n_candidate : int
+        Number of candidate samples.
+    mc_criterion : str
+        Selection crieterion. The default is `'mc-intersite-proj-th'`. Another
+        option is `'mc-intersite-proj'`.
+    w : int
+        Number of random points in the domain for each sample of the
+        training set.
+    """
+
+    def __init__(self, MetaModel, n_candidate,
+                 mc_criterion='mc-intersite-proj-th'):
+        self.MetaModel = MetaModel
+        self.Marginals = []
+        self.n_candidate = n_candidate
+        self.mc_criterion = mc_criterion
+        self.w = 100
+
+    def get_exploration_samples(self):
+        """
+        This function generates candidates to be selected as new design and
+        their associated exploration scores.
+
+        Returns
+        -------
+        all_candidates : array of shape (n_candidate, n_params)
+            A list of samples.
+        exploration_scores: arrays of shape (n_candidate)
+            Exploration scores.
+        """
+        MetaModel = self.MetaModel
+        explore_method = MetaModel.ExpDesign.explore_method
+
+        print("\n")
+        print(f' The {explore_method}-Method is selected as the exploration '
+              'method.')
+        print("\n")
+
+        if explore_method == 'Voronoi':
+            # Generate samples using the Voronoi method
+            all_candidates, exploration_scores = self.get_vornoi_samples()
+        else:
+            # Generate samples using the MC method
+            all_candidates, exploration_scores = self.get_mc_samples()
+
+        return all_candidates, exploration_scores
+
+    # -------------------------------------------------------------------------
+    def get_vornoi_samples(self):
+        """
+        This function generates samples based on voronoi cells and their
+        corresponding scores
+
+        Returns
+        -------
+        new_samples : array of shape (n_candidate, n_params)
+            A list of samples.
+        exploration_scores: arrays of shape (n_candidate)
+            Exploration scores.
+        """
+
+        mc_criterion = self.mc_criterion
+        n_candidate = self.n_candidate
+        # Get the Old ExpDesign #samples
+        old_ED_X = self.MetaModel.ExpDesign.X
+        ndim = old_ED_X.shape[1]
+
+        # calculate error #averageErrors
+        error_voronoi, all_candidates = self.approximate_voronoi(
+            self.w, old_ED_X
+            )
+
+        # Pick the best candidate point in the voronoi cell
+        # for each best sample
+        selected_samples = np.empty((0, ndim))
+        bad_samples = []
+
+        for index in range(len(error_voronoi)):
+
+            # get candidate new samples from voronoi tesselation
+            candidates = self.closest_points[index]
+
+            # get total number of candidates
+            n_new_samples = candidates.shape[0]
+
+            # still no candidate samples around this one, skip it!
+            if n_new_samples == 0:
+                print('The following sample has been skipped because there '
+                      'were no candidate samples around it...')
+                print(old_ED_X[index])
+                bad_samples.append(index)
+                continue
+
+            # find candidate that is farthest away from any existing sample
+            max_min_distance = 0
+            best_candidate = 0
+            min_intersite_dist = np.zeros((n_new_samples))
+            min_projected_dist = np.zeros((n_new_samples))
+
+            for j in range(n_new_samples):
+
+                new_samples = np.vstack((old_ED_X, selected_samples))
+
+                # find min distorted distance from all other samples
+                euclidean_dist = self._build_dist_matrix_point(
+                    new_samples, candidates[j], do_sqrt=True)
+                min_euclidean_dist = np.min(euclidean_dist)
+                min_intersite_dist[j] = min_euclidean_dist
+
+                # Check if this is the maximum minimum distance from all other
+                # samples
+                if min_euclidean_dist >= max_min_distance:
+                    max_min_distance = min_euclidean_dist
+                    best_candidate = j
+
+                # Projected distance
+                projected_dist = distance.cdist(
+                    new_samples, [candidates[j]], 'chebyshev')
+                min_projected_dist[j] = np.min(projected_dist)
+
+            if mc_criterion == 'mc-intersite-proj':
+                weight_euclidean_dist = 0.5 * ((n_new_samples+1)**(1/ndim) - 1)
+                weight_projected_dist = 0.5 * (n_new_samples+1)
+                total_dist_scores = weight_euclidean_dist * min_intersite_dist
+                total_dist_scores += weight_projected_dist * min_projected_dist
+
+            elif mc_criterion == 'mc-intersite-proj-th':
+                alpha = 0.5  # chosen (tradeoff)
+                d_min = 2 * alpha / n_new_samples
+                if any(min_projected_dist < d_min):
+                    candidates = np.delete(
+                        candidates, [min_projected_dist < d_min], axis=0
+                        )
+                    total_dist_scores = np.delete(
+                        min_intersite_dist, [min_projected_dist < d_min],
+                        axis=0
+                        )
+                else:
+                    total_dist_scores = min_intersite_dist
+            else:
+                raise NameError(
+                    'The MC-Criterion you requested is not available.'
+                    )
+
+            # Add the best candidate to the list of new samples
+            best_candidate = np.argsort(total_dist_scores)[::-1][:n_candidate]
+            selected_samples = np.vstack(
+                (selected_samples, candidates[best_candidate])
+                )
+
+        self.new_samples = selected_samples
+        self.exploration_scores = np.delete(error_voronoi, bad_samples, axis=0)
+
+        return self.new_samples, self.exploration_scores
+
+    # -------------------------------------------------------------------------
+    def get_mc_samples(self, all_candidates=None):
+        """
+        This function generates random samples based on Global Monte Carlo
+        methods and their corresponding scores, based on [1].
+
+        [1] Crombecq, K., Laermans, E. and Dhaene, T., 2011. Efficient
+            space-filling and non-collapsing sequential design strategies for
+            simulation-based modeling. European Journal of Operational Research
+            , 214(3), pp.683-696.
+            DOI: https://doi.org/10.1016/j.ejor.2011.05.032
+
+        Implemented methods to compute scores:
+            1) mc-intersite-proj
+            2) mc-intersite-proj-th
+
+        Arguments
+        ---------
+        all_candidates : array, optional
+            Samples to compute the scores for. The default is `None`. In this
+            case, samples will be generated by defined model input marginals.
+
+        Returns
+        -------
+        new_samples : array of shape (n_candidate, n_params)
+            A list of samples.
+        exploration_scores: arrays of shape (n_candidate)
+            Exploration scores.
+        """
+        MetaModel = self.MetaModel
+        explore_method = MetaModel.ExpDesign.explore_method
+        mc_criterion = self.mc_criterion
+        if all_candidates is None:
+            n_candidate = self.n_candidate
+        else:
+            n_candidate = all_candidates.shape[0]
+
+        # Get the Old ExpDesign #samples
+        old_ED_X = MetaModel.ExpDesign.X
+        ndim = old_ED_X.shape[1]
+
+        # ----- Compute the number of random points -----
+        if all_candidates is None:
+            # Generate MC Samples
+            all_candidates = MetaModel.ExpDesign.generate_samples(
+                self.n_candidate, explore_method
+                )
+        self.all_candidates = all_candidates
+
+        # initialization
+        min_intersite_dist = np.zeros((n_candidate))
+        min_projected_dist = np.zeros((n_candidate))
+
+        for i, candidate in enumerate(all_candidates):
+
+            # find candidate that is farthest away from any existing sample
+            maxMinDistance = 0
+
+            # find min distorted distance from all other samples
+            euclidean_dist = self._build_dist_matrix_point(
+                old_ED_X, candidate, do_sqrt=True
+                )
+            min_euclidean_dist = np.min(euclidean_dist)
+            min_intersite_dist[i] = min_euclidean_dist
+
+            # Check if this is the maximum minimum distance from all other
+            # samples
+            if min_euclidean_dist >= maxMinDistance:
+                maxMinDistance = min_euclidean_dist
+
+            # Projected distance
+            projected_dist = self._build_dist_matrix_point(
+                old_ED_X, candidate, 'chebyshev'
+                )
+            min_projected_dist[i] = np.min(projected_dist)
+
+        if mc_criterion == 'mc-intersite-proj':
+            weight_euclidean_dist = ((n_candidate+1)**(1/ndim) - 1) * 0.5
+            weight_projected_dist = (n_candidate+1) * 0.5
+            total_dist_scores = weight_euclidean_dist * min_intersite_dist
+            total_dist_scores += weight_projected_dist * min_projected_dist
+
+        elif mc_criterion == 'mc-intersite-proj-th':
+            alpha = 0.5  # chosen (tradeoff)
+            d_min = 2 * alpha / n_candidate
+            if any(min_projected_dist < d_min):
+                all_candidates = np.delete(
+                    all_candidates, [min_projected_dist < d_min], axis=0
+                    )
+                total_dist_scores = np.delete(
+                    min_intersite_dist, [min_projected_dist < d_min], axis=0
+                    )
+            else:
+                total_dist_scores = min_intersite_dist
+        else:
+            raise NameError('The MC-Criterion you requested is not available.')
+
+        self.new_samples = all_candidates
+        self.exploration_scores = total_dist_scores
+        self.exploration_scores /= np.nansum(total_dist_scores)
+
+        return self.new_samples, self.exploration_scores
+
+    # -------------------------------------------------------------------------
+    def approximate_voronoi(self, w, samples):
+        """
+        An approximate (monte carlo) version of Matlab's voronoi command.
+
+        Arguments
+        ---------
+        samples : array
+            Old experimental design to be used as center points for voronoi
+            cells.
+
+        Returns
+        -------
+        areas : array
+            An approximation of the voronoi cells' areas.
+        all_candidates: list of arrays
+            A list of samples in each voronoi cell.
+        """
+        MetaModel = self.MetaModel
+
+        n_samples = samples.shape[0]
+        ndim = samples.shape[1]
+
+        # Compute the number of random points
+        n_points = w * samples.shape[0]
+        # Generate w random points in the domain for each sample
+        points = MetaModel.ExpDesign.generate_samples(n_points, 'random')
+        self.all_candidates = points
+
+        # Calculate the nearest sample to each point
+        self.areas = np.zeros((n_samples))
+        self.closest_points = [np.empty((0, ndim)) for i in range(n_samples)]
+
+        # Compute the minimum distance from all the samples of old_ED_X for
+        # each test point
+        for idx in range(n_points):
+            # calculate the minimum distance
+            distances = self._build_dist_matrix_point(
+                samples, points[idx], do_sqrt=True
+                )
+            closest_sample = np.argmin(distances)
+
+            # Add to the voronoi list of the closest sample
+            self.areas[closest_sample] = self.areas[closest_sample] + 1
+            prev_closest_points = self.closest_points[closest_sample]
+            self.closest_points[closest_sample] = np.vstack(
+                (prev_closest_points, points[idx])
+                )
+
+        # Divide by the amount of points to get the estimated volume of each
+        # voronoi cell
+        self.areas /= n_points
+
+        self.perc = np.max(self.areas * 100)
+
+        self.errors = self.areas
+
+        return self.areas, self.all_candidates
+
+    # -------------------------------------------------------------------------
+    def _build_dist_matrix_point(self, samples, point, method='euclidean',
+                                 do_sqrt=False):
+        """
+        Calculates the intersite distance of all points in samples from point.
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params)
+            The old experimental design.
+        point : array
+            A candidate point.
+        method : str
+            Distance method.
+        do_sqrt : bool, optional
+            Whether to return distances or squared distances. The default is
+            `False`.
+
+        Returns
+        -------
+        distances : array
+            Distances.
+
+        """
+        distances = distance.cdist(samples, np.array([point]), method)
+
+        # do square root?
+        if do_sqrt:
+            return distances
+        else:
+            return distances**2
+
+#if __name__ == "__main__":
+#    import scipy.stats as stats
+#    import matplotlib.pyplot as plt
+#    import matplotlib as mpl
+#    import matplotlib.cm as cm
+#    plt.rc('font', family='sans-serif', serif='Arial')
+#    plt.rc('figure', figsize = (12, 8))
+#    
+#    def plotter(old_ED_X, all_candidates, exploration_scores):
+#        global Bounds
+#        
+#        from scipy.spatial import Voronoi, voronoi_plot_2d
+#        vor = Voronoi(old_ED_X)
+#        
+#        fig = voronoi_plot_2d(vor)
+#        
+#        # find min/max values for normalization
+##        minima = min(exploration_scores)
+##        maxima = max(exploration_scores)
+##        
+##        # normalize chosen colormap
+##        norm = mpl.colors.Normalize(vmin=minima, vmax=maxima, clip=True)
+##        mapper = cm.ScalarMappable(norm=norm, cmap=cm.Blues_r)
+##        
+##        for r in range(len(vor.point_region)):
+##            region = vor.regions[vor.point_region[r]]
+##            if not -1 in region:
+##                polygon = [vor.vertices[i] for i in region]
+##                plt.fill(*zip(*polygon), color=mapper.to_rgba(exploration_scores[r]))
+#        
+#        
+#        ax1 = fig.add_subplot(111)
+#        
+#        ax1.scatter(old_ED_X[:,0], old_ED_X[:,1], s=10, c='r', marker="s", label='Old Design Points')
+#        for i in range(old_ED_X.shape[0]):
+#            txt = 'p'+str(i+1)
+#            ax1.annotate(txt, (old_ED_X[i,0],old_ED_X[i,1]))
+#            
+##        for i in range(NrofCandGroups):
+##            Candidates = all_candidates['group_'+str(i+1)]
+##            ax1.scatter(Candidates[:,0],Candidates[:,1], s=10, c='b', marker="o", label='Design candidates')
+#        ax1.scatter(all_candidates[:,0],all_candidates[:,1], s=10, c='b', marker="o", label='Design candidates')
+#        
+#        ax1.set_xlim(Bounds[0][0], Bounds[0][1])
+#        ax1.set_ylim(Bounds[1][0], Bounds[1][1])
+#        
+#        plt.legend(loc='best');
+#        plt.show()
+#        
+#    def voronoi_volumes(points):
+#        from scipy.spatial import Voronoi, ConvexHull
+#        v = Voronoi(points)
+#        vol = np.zeros(v.npoints)
+#        
+#        for i, reg_num in enumerate(v.point_region):
+#            indices = v.regions[reg_num]
+#            if -1 in indices: # some regions can be opened
+#                vol[i] = np.inf
+#            else:
+#                
+#                #print("reg_num={0: 3.3f} X1={1: 3.3f} X2={2: 3.3f}".format(reg_num, v.points[reg_num-1, 0], v.points[reg_num-1, 1]))
+#                vol[i] = ConvexHull(v.vertices[indices]).volume
+#        
+#        print('-'*40)
+#        for i in range(nrofSamples):
+#            print("idx={0:d} X1={1: 3.3f} X2={2: 3.3f} Volume={3: 3.3f}".format(i+1, v.points[i, 0], v.points[i, 1], vol[i]))
+#        
+#        return vol    
+#    
+#    NofPa = 2
+#    
+#    Bounds = ((-5,10), (0,15))
+#    
+#    nrofSamples = 10
+#    old_ED_X = np.zeros((nrofSamples, NofPa))
+#    for idx in range(NofPa):
+#        Loc = Bounds[idx][0]
+#        Scale = Bounds[idx][1] - Bounds[idx][0]
+#        old_ED_X[:,idx] = stats.uniform(loc=Loc, scale=Scale).rvs(size=nrofSamples)
+#    
+#    
+#    nNewCandidate = 40
+#    
+#    # New Function
+#    volumes = voronoi_volumes(old_ED_X)
+#    
+#    
+#    # SUMO
+#    Exploration = Exploration(Bounds, old_ED_X, nNewCandidate)
+#    
+#    #all_candidates, Score = Exploration.get_vornoi_samples()
+#    all_candidates, Score = Exploration.get_mc_samples()
+#    
+#    print('-'*40)
+##    for i in range(nrofSamples):
+##        print("idx={0:d} X1={1: 3.3f} X2={2: 3.3f} Volume={3: 3.3f}".format(i+1, old_ED_X[i,0], old_ED_X[i,1], vornoi.areas[i]))
+#        
+#    plotter(old_ED_X, all_candidates, volumes)
+    
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/glexindex.py b/examples/only-model/bayesvalidrox/surrogate_models/glexindex.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d9ba3c2f3c02be8e2ca04be6f95779ed0825ad8
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/glexindex.py
@@ -0,0 +1,210 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Multi indices for monomial exponents.
+Credit: Jonathan Feinberg
+https://github.com/jonathf/numpoly/blob/master/numpoly/utils/glexindex.py
+"""
+
+import numpy
+import numpy.typing
+
+
+def glexindex(start, stop=None, dimensions=1, cross_truncation=1.,
+              graded=False, reverse=False):
+    """
+    Generate graded lexicographical multi-indices for the monomial exponents.
+    Args:
+        start (Union[int, numpy.ndarray]):
+            The lower order of the indices. If array of int, counts as lower
+            bound for each axis.
+        stop (Union[int, numpy.ndarray, None]):
+            The maximum shape included. If omitted: stop <- start; start <- 0
+            If int is provided, set as largest total order. If array of int,
+            set as upper bound for each axis.
+        dimensions (int):
+            The number of dimensions in the expansion.
+        cross_truncation (float, Tuple[float, float]):
+            Use hyperbolic cross truncation scheme to reduce the number of
+            terms in expansion. If two values are provided, first is low bound
+            truncation, while the latter upper bound. If only one value, upper
+            bound is assumed.
+        graded (bool):
+            Graded sorting, meaning the indices are always sorted by the index
+            sum. E.g. ``(2, 2, 2)`` has a sum of 6, and will therefore be
+            consider larger than both ``(3, 1, 1)`` and ``(1, 1, 3)``.
+        reverse (bool):
+            Reversed lexicographical sorting meaning that ``(1, 3)`` is
+            considered smaller than ``(3, 1)``, instead of the opposite.
+    Returns:
+        list:
+            Order list of indices.
+    Examples:
+        >>> numpoly.glexindex(4).tolist()
+        [[0], [1], [2], [3]]
+        >>> numpoly.glexindex(2, dimensions=2).tolist()
+        [[0, 0], [1, 0], [0, 1]]
+        >>> numpoly.glexindex(start=2, stop=3, dimensions=2).tolist()
+        [[2, 0], [1, 1], [0, 2]]
+        >>> numpoly.glexindex([1, 2, 3]).tolist()
+        [[0, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 2]]
+        >>> numpoly.glexindex([1, 2, 3], cross_truncation=numpy.inf).tolist()
+        [[0, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 1], [0, 0, 2], [0, 1, 2]]
+    """
+    if stop is None:
+        start, stop = 0, start
+    start = numpy.array(start, dtype=int).flatten()
+    stop = numpy.array(stop, dtype=int).flatten()
+    start, stop, _ = numpy.broadcast_arrays(start, stop, numpy.empty(dimensions))
+
+    cross_truncation = cross_truncation*numpy.ones(2)
+    indices = _glexindex(start, stop, cross_truncation)
+    if indices.size:
+        indices = indices[glexsort(indices.T, graded=graded, reverse=reverse)]
+    return indices
+
+
+def _glexindex(start, stop, cross_truncation=1.):
+    """Backend for the glexindex function."""
+    # At the beginning the current list of indices just ranges over the
+    # last dimension.
+    bound = stop.max()
+    dimensions = len(start)
+    start = numpy.clip(start, a_min=0, a_max=None)
+    dtype = numpy.uint8 if bound < 256 else numpy.uint16
+    range_ = numpy.arange(bound, dtype=dtype)
+    indices = range_[:, numpy.newaxis]
+
+    for idx in range(dimensions-1):
+
+        # Truncate at each step to keep memory usage low
+        if idx:
+            indices = indices[cross_truncate(indices, bound-1, cross_truncation[1])]
+
+        # Repeats the current set of indices.
+        # e.g. [0,1,2] -> [0,1,2,0,1,2,...,0,1,2]
+        indices = numpy.tile(indices, (bound, 1))
+
+        # Stretches ranges over the new dimension.
+        # e.g. [0,1,2] -> [0,0,...,0,1,1,...,1,2,2,...,2]
+        front = range_.repeat(len(indices)//bound)[:, numpy.newaxis]
+
+        # Puts them two together.
+        indices = numpy.column_stack((front, indices))
+
+    # Complete the truncation scheme
+    if dimensions == 1:
+        indices = indices[(indices >= start) & (indices < bound)]
+    else:
+        lower = cross_truncate(indices, start-1, cross_truncation[0])
+        upper = cross_truncate(indices, stop-1, cross_truncation[1])
+        indices = indices[lower ^ upper]
+
+    return numpy.array(indices, dtype=int).reshape(-1, dimensions)
+
+
+def cross_truncate(indices, bound, norm):
+    r"""
+    Truncate of indices using L_p norm.
+    .. math:
+        L_p(x) = \sum_i |x_i/b_i|^p ^{1/p} \leq 1
+    where :math:`b_i` are bounds that each :math:`x_i` should follow.
+    Args:
+        indices (Sequence[int]):
+            Indices to be truncated.
+        bound (int, Sequence[int]):
+            The bound function for witch the indices can not be larger than.
+        norm (float, Sequence[float]):
+            The `p` in the `L_p`-norm. Support includes both `L_0` and `L_inf`.
+    Returns:
+        Boolean indices to ``indices`` with True for each index where the
+        truncation criteria holds.
+    Examples:
+        >>> indices = numpy.array(numpy.mgrid[:10, :10]).reshape(2, -1).T
+        >>> indices[cross_truncate(indices, 2, norm=0)].T
+        array([[0, 0, 0, 1, 2],
+               [0, 1, 2, 0, 0]])
+        >>> indices[cross_truncate(indices, 2, norm=1)].T
+        array([[0, 0, 0, 1, 1, 2],
+               [0, 1, 2, 0, 1, 0]])
+        >>> indices[cross_truncate(indices, [0, 1], norm=1)].T
+        array([[0, 0],
+               [0, 1]])
+    """
+    assert norm >= 0, "negative L_p norm not allowed"
+    bound = numpy.asfarray(bound).flatten()*numpy.ones(indices.shape[1])
+
+    if numpy.any(bound < 0):
+        return numpy.zeros((len(indices),), dtype=bool)
+
+    if numpy.any(bound == 0):
+        out = numpy.all(indices[:, bound == 0] == 0, axis=-1)
+        if numpy.any(bound):
+            out &= cross_truncate(indices[:, bound != 0], bound[bound != 0], norm=norm)
+        return out
+
+    if norm == 0:
+        out = numpy.sum(indices > 0, axis=-1) <= 1
+        out[numpy.any(indices > bound, axis=-1)] = False
+    elif norm == numpy.inf:
+        out = numpy.max(indices/bound, axis=-1) <= 1
+    else:
+        out = numpy.sum((indices/bound)**norm, axis=-1)**(1./norm) <= 1
+
+    assert numpy.all(out[numpy.all(indices == 0, axis=-1)])
+
+    return out
+
+
+def glexsort(
+    keys: numpy.typing.ArrayLike,
+    graded: bool = False,
+    reverse: bool = False,
+) -> numpy.ndarray:
+    """
+    Sort keys using graded lexicographical ordering.
+    Same as ``numpy.lexsort``, but also support graded and reverse
+    lexicographical ordering.
+    Args:
+        keys:
+            Values to sort.
+        graded:
+            Graded sorting, meaning the indices are always sorted by the index
+            sum. E.g. ``(2, 2, 2)`` has a sum of 6, and will therefore be
+            consider larger than both ``(3, 1, 1)`` and ``(1, 1, 3)``.
+        reverse:
+            Reverse lexicographical sorting meaning that ``(1, 3)`` is
+            considered smaller than ``(3, 1)``, instead of the opposite.
+    Returns:
+        Array of indices that sort the keys along the specified axis.
+    Examples:
+        >>> indices = numpy.array([[0, 0, 0, 1, 2, 1],
+        ...                        [1, 2, 0, 0, 0, 1]])
+        >>> indices[:, numpy.lexsort(indices)]
+        array([[0, 1, 2, 0, 1, 0],
+               [0, 0, 0, 1, 1, 2]])
+        >>> indices[:, numpoly.glexsort(indices)]
+        array([[0, 1, 2, 0, 1, 0],
+               [0, 0, 0, 1, 1, 2]])
+        >>> indices[:, numpoly.glexsort(indices, reverse=True)]
+        array([[0, 0, 0, 1, 1, 2],
+               [0, 1, 2, 0, 1, 0]])
+        >>> indices[:, numpoly.glexsort(indices, graded=True)]
+        array([[0, 1, 0, 2, 1, 0],
+               [0, 0, 1, 0, 1, 2]])
+        >>> indices[:, numpoly.glexsort(indices, graded=True, reverse=True)]
+        array([[0, 0, 1, 0, 1, 2],
+               [0, 1, 0, 2, 1, 0]])
+        >>> indices = numpy.array([4, 5, 6, 3, 2, 1])
+        >>> indices[numpoly.glexsort(indices)]
+        array([1, 2, 3, 4, 5, 6])
+    """
+    keys_ = numpy.atleast_2d(keys)
+    if reverse:
+        keys_ = keys_[::-1]
+
+    indices = numpy.array(numpy.lexsort(keys_))
+    if graded:
+        indices = indices[numpy.argsort(
+            numpy.sum(keys_[:, indices], axis=0))].T
+    return indices
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/inputs.py b/examples/only-model/bayesvalidrox/surrogate_models/inputs.py
new file mode 100644
index 0000000000000000000000000000000000000000..783e82b053cc458be712b588b7fde3a0f3c8decb
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/inputs.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+class Input:
+    """
+    A class to define the uncertain input parameters.
+
+    Attributes
+    ----------
+    Marginals : obj
+        Marginal objects. See `inputs.Marginal`.
+    Rosenblatt : bool
+        If Rossenblatt transformation is required for the dependent input
+        parameters.
+
+    Examples
+    -------
+    Marginals can be defined as following:
+
+    >>> Inputs.add_marginals()
+    >>> Inputs.Marginals[0].name = 'X_1'
+    >>> Inputs.Marginals[0].dist_type = 'uniform'
+    >>> Inputs.Marginals[0].parameters = [-5, 5]
+
+    If there is no common data is avaliable, the input data can be given
+    as following:
+
+    >>> Inputs.add_marginals()
+    >>> Inputs.Marginals[0].name = 'X_1'
+    >>> Inputs.Marginals[0].input_data = input_data
+    """
+    poly_coeffs_flag = True
+
+    def __init__(self):
+        self.Marginals = []
+        self.Rosenblatt = False
+
+    def add_marginals(self):
+        """
+        Adds a new Marginal object to the input object.
+
+        Returns
+        -------
+        None.
+
+        """
+        self.Marginals.append(Marginal())
+
+
+# Nested class
+class Marginal:
+    """
+    An object containing the specifications of the marginals for each uncertain
+    parameter.
+
+    Attributes
+    ----------
+    name : string
+        Name of the parameter. The default is `'$x_1$'`.
+    dist_type : string
+        Name of the distribution. The default is `None`.
+    parameters : list
+        List of the parameters corresponding to the distribution type. The
+        default is `None`.
+    input_data : array
+        Available input data. The default is `[]`.
+    moments : list
+        List of the moments.
+    """
+
+    def __init__(self):
+        self.name = '$x_1$'
+        self.dist_type = None
+        self.parameters = None
+        self.input_data = []
+        self.moments = None
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/meta_model_engine.py b/examples/only-model/bayesvalidrox/surrogate_models/meta_model_engine.py
new file mode 100644
index 0000000000000000000000000000000000000000..7ca9e9cca220f2efa4c964a067a8f839cd188e1a
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/meta_model_engine.py
@@ -0,0 +1,2175 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jan 28 09:21:18 2022
+
+@author: farid
+"""
+import numpy as np
+from scipy import stats, signal, linalg, sparse
+from scipy.spatial import distance
+from copy import deepcopy, copy
+from tqdm import tqdm
+import scipy.optimize as opt
+from sklearn.metrics import mean_squared_error
+import multiprocessing
+import matplotlib.pyplot as plt
+import sys
+import os
+import gc
+import seaborn as sns
+from joblib import Parallel, delayed
+
+import bayesvalidrox
+from .exploration import Exploration
+from bayesvalidrox.bayes_inference.bayes_inference import BayesInference
+from bayesvalidrox.bayes_inference.discrepancy import Discrepancy
+import pandas as pd
+
+
+class MetaModelEngine():
+    """ Sequential experimental design
+    This class provieds method for trainig the meta-model in an iterative
+    manners.
+    The main method to execute the task is `train_seq_design`, which
+      recieves a model object and returns the trained metamodel.
+    """
+
+    def __init__(self, meta_model_opts):
+        self.MetaModel = meta_model_opts
+
+    # -------------------------------------------------------------------------
+    def run(self):
+
+        Model = self.MetaModel.ModelObj
+        self.MetaModel.n_params = len(self.MetaModel.input_obj.Marginals)
+        self.MetaModel.ExpDesignFlag = 'normal'
+        # --- Prepare pce degree ---
+        if self.MetaModel.meta_model_type.lower() == 'pce':
+            if type(self.MetaModel.pce_deg) is not np.ndarray:
+                self.MetaModel.pce_deg = np.array(self.MetaModel.pce_deg)
+
+        if self.MetaModel.ExpDesign.method == 'normal':
+            self.MetaModel.ExpDesignFlag = 'normal'
+            self.MetaModel.train_norm_design(parallel = False)
+
+        elif self.MetaModel.ExpDesign.method == 'sequential':
+            self.train_seq_design()
+        else:
+            raise Exception("The method for experimental design you requested"
+                            " has not been implemented yet.")
+
+        # Zip the model run directories
+        if self.MetaModel.ModelObj.link_type.lower() == 'pylink' and\
+           self.MetaModel.ExpDesign.sampling_method.lower() != 'user':
+            Model.zip_subdirs(Model.name, f'{Model.name}_')
+
+    # -------------------------------------------------------------------------
+    def train_seq_design(self):
+        """
+        Starts the adaptive sequential design for refining the surrogate model
+        by selecting training points in a sequential manner.
+
+        Returns
+        -------
+        MetaModel : object
+            Meta model object.
+
+        """
+        # Set model to have shorter call 
+        Model = self.MetaModel.ModelObj
+        # MetaModel = self.MetaModel
+        self.Model = Model
+
+        # Initialization
+        self.MetaModel.SeqModifiedLOO = {}
+        self.MetaModel.seqValidError = {}
+        self.MetaModel.SeqBME = {}
+        self.MetaModel.SeqKLD = {}
+        self.MetaModel.SeqDistHellinger = {}
+        self.MetaModel.seqRMSEMean = {}
+        self.MetaModel.seqRMSEStd = {}
+        self.MetaModel.seqMinDist = []
+
+        # Determine the metamodel type
+        if self.MetaModel.meta_model_type.lower() != 'gpe':
+            pce = True
+        else:
+            pce = False
+        # If given, use mc reference data
+        mc_ref = True if bool(Model.mc_reference) else False
+        if mc_ref:
+            Model.read_mc_reference()
+
+        # if valid_samples not defined, do so now
+        if not hasattr(self.MetaModel, 'valid_samples'):
+            self.MetaModel.valid_samples = []
+            self.MetaModel.valid_model_runs = []
+            self.MetaModel.valid_likelihoods = []
+
+        # Get the parameters
+        max_n_samples = self.MetaModel.ExpDesign.n_max_samples
+        mod_LOO_threshold = self.MetaModel.ExpDesign.mod_LOO_threshold
+        n_canddidate = self.MetaModel.ExpDesign.n_canddidate
+        post_snapshot = self.MetaModel.ExpDesign.post_snapshot
+        n_replication = self.MetaModel.ExpDesign.n_replication
+        util_func = self.MetaModel.ExpDesign.util_func
+        output_name = Model.Output.names
+        validError = None
+        # Handle if only one UtilityFunctions is provided
+        if not isinstance(util_func, list):
+            util_func = [self.MetaModel.ExpDesign.util_func]
+
+        # Read observations or MCReference
+        if len(Model.observations) != 0 or Model.meas_file is not None:
+            self.observations = Model.read_observation()
+            obs_data = self.observations
+        else:
+            obs_data = []
+            TotalSigma2 = {}
+            
+        # TODO: ---------- Initial self.MetaModel ----------
+        # First run MetaModel on non-sequential design
+        self.MetaModel.train_norm_design(parallel = False)
+        initMetaModel = deepcopy(self.MetaModel)
+
+        # Validation error if validation set is provided. - use as initial errors
+        if self.MetaModel.valid_model_runs:
+            init_rmse, init_valid_error = self.__validError(initMetaModel)
+            init_valid_error = list(init_valid_error.values())
+        else:
+            init_rmse = None
+
+        # Check if discrepancy is provided
+        if len(obs_data) != 0 and hasattr(self.MetaModel, 'Discrepancy'):
+            TotalSigma2 = self.MetaModel.Discrepancy.parameters
+
+            # Calculate the initial BME
+            out = self.__BME_Calculator(
+                initMetaModel, obs_data, TotalSigma2, init_rmse)
+            init_BME, init_KLD, init_post, init_likes, init_dist_hellinger = out
+            print(f"\nInitial BME: {init_BME:.2f}")
+            print(f"Initial KLD: {init_KLD:.2f}")
+
+            # Posterior snapshot (initial)
+            if post_snapshot:
+                parNames = self.MetaModel.ExpDesign.par_names
+                print('Posterior snapshot (initial) is being plotted...')
+                self.__posteriorPlot(init_post, parNames, 'SeqPosterior_init')
+
+        # Check the convergence of the Mean & Std
+        if mc_ref and pce:
+            init_rmse_mean, init_rmse_std = self.__error_Mean_Std()
+            print(f"Initial Mean and Std error: {init_rmse_mean:.2f},"
+                  f" {init_rmse_std:.2f}")
+
+        # Read the initial experimental design
+        # TODO: this sequential, or the non-sequential samples??
+        Xinit = initMetaModel.ExpDesign.X
+        init_n_samples = len(initMetaModel.ExpDesign.X)
+        initYprev = initMetaModel.ModelOutputDict
+        initLCerror = initMetaModel.LCerror
+        n_itrs = max_n_samples - init_n_samples
+
+        # Read the initial ModifiedLOO
+        if pce:
+            Scores_all, varExpDesignY = [], []
+            for out_name in output_name:
+                y = self.MetaModel.ExpDesign.Y[out_name]
+                Scores_all.append(list(
+                    self.MetaModel.score_dict['b_1'][out_name].values()))
+                if self.MetaModel.dim_red_method.lower() == 'pca':
+                    pca = self.MetaModel.pca['b_1'][out_name]
+                    components = pca.transform(y)
+                    varExpDesignY.append(np.var(components, axis=0))
+                else:
+                    varExpDesignY.append(np.var(y, axis=0))
+
+            Scores = [item for sublist in Scores_all for item in sublist]
+            weights = [item for sublist in varExpDesignY for item in sublist]
+            init_mod_LOO = [np.average([1-score for score in Scores],
+                                       weights=weights)]
+
+        prevMetaModel_dict = {}
+        # Replicate the sequential design
+        for repIdx in range(n_replication):                     # TODO: what does this do?
+            print(f'\n>>>> Replication: {repIdx+1}<<<<')
+
+            # To avoid changes ub original aPCE object
+            self.MetaModel.ExpDesign.X = Xinit
+            self.MetaModel.ExpDesign.Y = initYprev
+            self.MetaModel.LCerror = initLCerror
+
+            for util_f in util_func:                            # TODO: recheck choices for this
+                print(f'\n>>>> Utility Function: {util_f} <<<<')
+                # To avoid changes ub original aPCE object
+                self.MetaModel.ExpDesign.X = Xinit
+                self.MetaModel.ExpDesign.Y = initYprev
+                self.MetaModel.LCerror = initLCerror
+
+                # Set the experimental design
+                Xprev = Xinit
+                total_n_samples = init_n_samples
+                Yprev = initYprev
+
+                Xfull = []
+                Yfull = []
+
+                # Store the initial ModifiedLOO
+                if pce:
+                    print("\nInitial ModifiedLOO:", init_mod_LOO)
+                    SeqModifiedLOO = np.array(init_mod_LOO)
+
+                if len(self.MetaModel.valid_model_runs) != 0:
+                    SeqValidError = np.array(init_valid_error)
+
+                # Check if data is provided
+                if len(obs_data) != 0:
+                    SeqBME = np.array([init_BME])
+                    SeqKLD = np.array([init_KLD])
+                    SeqDistHellinger = np.array([init_dist_hellinger])
+
+                if mc_ref and pce:
+                    seqRMSEMean = np.array([init_rmse_mean])
+                    seqRMSEStd = np.array([init_rmse_std])
+
+                # ------- Start Sequential Experimental Design -------
+                postcnt = 1
+                for itr_no in range(1, n_itrs+1):
+                    print(f'\n>>>> Iteration number {itr_no} <<<<')
+
+                    # Save the metamodel prediction before updating
+                    prevMetaModel_dict[itr_no] = deepcopy(self.MetaModel)           # Write last MetaModel here
+                    if itr_no > 1:
+                        pc_model = prevMetaModel_dict[itr_no-1]                     
+                        self._y_hat_prev, _ = pc_model.eval_metamodel(              # What's the use of this here??
+                            samples=Xfull[-1].reshape(1, -1))
+                        del prevMetaModel_dict[itr_no-1]                            # Delete second to last metamodel here?
+
+                    # Optimal Bayesian Design
+                    self.MetaModel.ExpDesignFlag = 'sequential'
+                    Xnew, updatedPrior = self.opt_SeqDesign(TotalSigma2,            # TODO: check in this!!
+                                                            n_canddidate,
+                                                            util_f)
+                    S = np.min(distance.cdist(Xinit, Xnew, 'euclidean'))
+                    self.MetaModel.seqMinDist.append(S)
+                    print(f"\nmin Dist from OldExpDesign: {S:2f}")
+                    print("\n")
+
+                    # Evaluate the full model response at the new sample
+                    Ynew, _ = Model.run_model_parallel(
+                        Xnew, prevRun_No=total_n_samples
+                        )
+                    total_n_samples += Xnew.shape[0]
+
+                    # ------ Plot the surrogate model vs Origninal Model ------
+                    if hasattr(self.MetaModel, 'adapt_verbose') and \
+                       self.MetaModel.adapt_verbose:
+                        from .adaptPlot import adaptPlot
+                        y_hat, std_hat = self.MetaModel.eval_metamodel(
+                            samples=Xnew
+                            )
+                        adaptPlot(
+                            self.MetaModel, Ynew, y_hat, std_hat,
+                            plotED=False
+                            )
+
+                    # -------- Retrain the surrogate model -------
+                    # Extend new experimental design
+                    Xfull = np.vstack((Xprev, Xnew))
+
+                    # Updating experimental design Y
+                    for out_name in output_name:
+                        Yfull = np.vstack((Yprev[out_name], Ynew[out_name]))
+                        self.MetaModel.ModelOutputDict[out_name] = Yfull
+
+                    # Pass new design to the metamodel object
+                    self.MetaModel.ExpDesign.sampling_method = 'user'
+                    self.MetaModel.ExpDesign.X = Xfull
+                    self.MetaModel.ExpDesign.Y = self.MetaModel.ModelOutputDict
+
+                    # Save the Experimental Design for next iteration
+                    Xprev = Xfull
+                    Yprev = self.MetaModel.ModelOutputDict
+
+                    # Pass the new prior as the input
+                    self.MetaModel.input_obj.poly_coeffs_flag = False
+                    if updatedPrior is not None:
+                        self.MetaModel.input_obj.poly_coeffs_flag = True
+                        print("updatedPrior:", updatedPrior.shape)
+                        # Arbitrary polynomial chaos
+                        for i in range(updatedPrior.shape[1]):
+                            self.MetaModel.input_obj.Marginals[i].dist_type = None
+                            x = updatedPrior[:, i]
+                            self.MetaModel.input_obj.Marginals[i].raw_data = x
+
+                    # Train the surrogate model for new ExpDesign
+                    self.MetaModel.train_norm_design(parallel=False)
+
+                    # -------- Evaluate the retrained surrogate model -------
+                    # Extract Modified LOO from Output
+                    if pce:
+                        Scores_all, varExpDesignY = [], []
+                        for out_name in output_name:
+                            y = self.MetaModel.ExpDesign.Y[out_name]
+                            Scores_all.append(list(
+                                self.MetaModel.score_dict['b_1'][out_name].values()))
+                            if self.MetaModel.dim_red_method.lower() == 'pca':
+                                pca = self.MetaModel.pca['b_1'][out_name]
+                                components = pca.transform(y)
+                                varExpDesignY.append(np.var(components,
+                                                            axis=0))
+                            else:
+                                varExpDesignY.append(np.var(y, axis=0))
+                        Scores = [item for sublist in Scores_all for item
+                                  in sublist]
+                        weights = [item for sublist in varExpDesignY for item
+                                   in sublist]
+                        ModifiedLOO = [np.average(
+                            [1-score for score in Scores], weights=weights)]
+
+                        print('\n')
+                        print(f"Updated ModifiedLOO {util_f}:\n", ModifiedLOO)
+                        print('\n')
+
+                    # Compute the validation error
+                    if self.MetaModel.valid_model_runs:
+                        rmse, validError = self.__validError(self.MetaModel)
+                        ValidError = list(validError.values())
+                    else:
+                        rmse = None
+
+                    # Store updated ModifiedLOO
+                    if pce:
+                        SeqModifiedLOO = np.vstack(
+                            (SeqModifiedLOO, ModifiedLOO))
+                        if len(self.MetaModel.valid_model_runs) != 0:
+                            SeqValidError = np.vstack(
+                                (SeqValidError, ValidError))
+                    # -------- Caclulation of BME as accuracy metric -------
+                    # Check if data is provided
+                    if len(obs_data) != 0:
+                        # Calculate the initial BME
+                        out = self.__BME_Calculator(self.MetaModel, obs_data,
+                                                    TotalSigma2, rmse)
+                        BME, KLD, Posterior, likes, DistHellinger = out
+                        print('\n')
+                        print(f"Updated BME: {BME:.2f}")
+                        print(f"Updated KLD: {KLD:.2f}")
+                        print('\n')
+
+                        # Plot some snapshots of the posterior
+                        step_snapshot = self.MetaModel.ExpDesign.step_snapshot
+                        if post_snapshot and postcnt % step_snapshot == 0:
+                            parNames = self.MetaModel.ExpDesign.par_names
+                            print('Posterior snapshot is being plotted...')
+                            self.__posteriorPlot(Posterior, parNames,
+                                                 f'SeqPosterior_{postcnt}')
+                        postcnt += 1
+
+                    # Check the convergence of the Mean&Std
+                    if mc_ref and pce:
+                        print('\n')
+                        RMSE_Mean, RMSE_std = self.__error_Mean_Std()
+                        print(f"Updated Mean and Std error: {RMSE_Mean:.2f}, "
+                              f"{RMSE_std:.2f}")
+                        print('\n')
+
+                    # Store the updated BME & KLD
+                    # Check if data is provided
+                    if len(obs_data) != 0:
+                        SeqBME = np.vstack((SeqBME, BME))
+                        SeqKLD = np.vstack((SeqKLD, KLD))
+                        SeqDistHellinger = np.vstack((SeqDistHellinger,
+                                                      DistHellinger))
+                    if mc_ref and pce:
+                        seqRMSEMean = np.vstack((seqRMSEMean, RMSE_Mean))
+                        seqRMSEStd = np.vstack((seqRMSEStd, RMSE_std))
+
+                    if pce and any(LOO < mod_LOO_threshold
+                                   for LOO in ModifiedLOO):
+                        break
+
+                    # Clean up
+                    if len(obs_data) != 0:
+                        del out
+                    print()
+                    print('-'*50)
+                    print()
+
+                # Store updated ModifiedLOO and BME in dictonary
+                strKey = f'{util_f}_rep_{repIdx+1}'
+                if pce:
+                    self.MetaModel.SeqModifiedLOO[strKey] = SeqModifiedLOO
+                if len(self.MetaModel.valid_model_runs) != 0:
+                    self.MetaModel.seqValidError[strKey] = SeqValidError
+
+                # Check if data is provided
+                if len(obs_data) != 0:
+                    self.MetaModel.SeqBME[strKey] = SeqBME
+                    self.MetaModel.SeqKLD[strKey] = SeqKLD
+                if hasattr(self.MetaModel, 'valid_likelihoods') and \
+                   self.MetaModel.valid_likelihoods:
+                    self.MetaModel.SeqDistHellinger[strKey] = SeqDistHellinger
+                if mc_ref and pce:
+                    self.MetaModel.seqRMSEMean[strKey] = seqRMSEMean
+                    self.MetaModel.seqRMSEStd[strKey] = seqRMSEStd
+
+        # return self.MetaModel
+
+    # -------------------------------------------------------------------------
+    def util_VarBasedDesign(self, X_can, index, util_func='Entropy'):
+        """
+        Computes the exploitation scores based on:
+        active learning MacKay(ALM) and active learning Cohn (ALC)
+        Paper: Sequential Design with Mutual Information for Computer
+        Experiments (MICE): Emulation of a Tsunami Model by Beck and Guillas
+        (2016)
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        index : int
+            Model output index.
+        UtilMethod : string, optional
+            Exploitation utility function. The default is 'Entropy'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+        MetaModel = self.MetaModel
+        ED_X = MetaModel.ExpDesign.X
+        out_dict_y = MetaModel.ExpDesign.Y
+        out_names = MetaModel.ModelObj.Output.names
+
+        # Run the Metamodel for the candidate
+        X_can = X_can.reshape(1, -1)
+        Y_PC_can, std_PC_can = MetaModel.eval_metamodel(samples=X_can)
+
+        if util_func.lower() == 'alm':
+            # ----- Entropy/MMSE/active learning MacKay(ALM)  -----
+            # Compute perdiction variance of the old model
+            canPredVar = {key: std_PC_can[key]**2 for key in out_names}
+
+            varPCE = np.zeros((len(out_names), X_can.shape[0]))
+            for KeyIdx, key in enumerate(out_names):
+                varPCE[KeyIdx] = np.max(canPredVar[key], axis=1)
+            score = np.max(varPCE, axis=0)
+
+        elif util_func.lower() == 'eigf':
+            # ----- Expected Improvement for Global fit -----
+            # Find closest EDX to the candidate
+            distances = distance.cdist(ED_X, X_can, 'euclidean')
+            index = np.argmin(distances)
+
+            # Compute perdiction error and variance of the old model
+            predError = {key: Y_PC_can[key] for key in out_names}
+            canPredVar = {key: std_PC_can[key]**2 for key in out_names}
+
+            # Compute perdiction error and variance of the old model
+            # Eq (5) from Liu et al.(2018)
+            EIGF_PCE = np.zeros((len(out_names), X_can.shape[0]))
+            for KeyIdx, key in enumerate(out_names):
+                residual = predError[key] - out_dict_y[key][int(index)]
+                var = canPredVar[key]
+                EIGF_PCE[KeyIdx] = np.max(residual**2 + var, axis=1)
+            score = np.max(EIGF_PCE, axis=0)
+
+        return -1 * score   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def util_BayesianActiveDesign(self, y_hat, std, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian active design criterion (var).
+
+        It is based on the following paper:
+        Oladyshkin, Sergey, Farid Mohammadi, Ilja Kroeker, and Wolfgang Nowak.
+        "Bayesian3 active learning for the gaussian process emulator using
+        information theory." Entropy 22, no. 8 (2020): 890.
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            BAL design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # Get the data
+        obs_data = self.observations
+        n_obs = self.Model.n_obs
+        mc_size = 10000
+
+        # Sample a distribution for a normal dist
+        # with Y_mean_can as the mean and Y_std_can as std.
+        Y_MC, std_MC = {}, {}
+        logPriorLikelihoods = np.zeros((mc_size))
+        for key in list(y_hat):
+            cov = np.diag(std[key]**2)
+            rv = stats.multivariate_normal(mean=y_hat[key], cov=cov)
+            Y_MC[key] = rv.rvs(size=mc_size)
+            logPriorLikelihoods += rv.logpdf(Y_MC[key])
+            std_MC[key] = np.zeros((mc_size, y_hat[key].shape[0]))
+
+        #  Likelihood computation (Comparison of data and simulation
+        #  results via PCE with candidate design)
+        likelihoods = self.__normpdf(Y_MC, std_MC, obs_data, sigma2Dict)
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, mc_size)[0]
+
+        # Reject the poorly performed prior
+        accepted = (likelihoods/np.max(likelihoods)) >= unif
+
+        # Prior-based estimation of BME
+        logBME = np.log(np.nanmean(likelihoods), dtype=np.longdouble)
+
+        # Posterior-based expectation of likelihoods
+        postLikelihoods = likelihoods[accepted]
+        postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+        # Posterior-based expectation of prior densities
+        postExpPrior = np.mean(logPriorLikelihoods[accepted])
+
+        # Utility function Eq.2 in Ref. (2)
+        # Posterior covariance matrix after observing data y
+        # Kullback-Leibler Divergence (Sergey's paper)
+        if var == 'DKL':
+
+            # TODO: Calculate the correction factor for BME
+            # BMECorrFactor = self.BME_Corr_Weight(PCE_SparseBayes_can,
+            #                                      ObservationData, sigma2Dict)
+            # BME += BMECorrFactor
+            # Haun et al implementation
+            # U_J_d = np.mean(np.log(Likelihoods[Likelihoods!=0])- logBME)
+            U_J_d = postExpLikelihoods - logBME
+
+        # Marginal log likelihood
+        elif var == 'BME':
+            U_J_d = np.nanmean(likelihoods)
+
+        # Entropy-based information gain
+        elif var == 'infEntropy':
+            logBME = np.log(np.nanmean(likelihoods))
+            infEntropy = logBME - postExpPrior - postExpLikelihoods
+            U_J_d = infEntropy * -1  # -1 for minimization
+
+        # Bayesian information criterion
+        elif var == 'BIC':
+            coeffs = self.MetaModel.coeffs_dict.values()
+            nModelParams = max(len(v) for val in coeffs for v in val.values())
+            maxL = np.nanmax(likelihoods)
+            U_J_d = -2 * np.log(maxL) + np.log(n_obs) * nModelParams
+
+        # Akaike information criterion
+        elif var == 'AIC':
+            coeffs = self.MetaModel.coeffs_dict.values()
+            nModelParams = max(len(v) for val in coeffs for v in val.values())
+            maxlogL = np.log(np.nanmax(likelihoods))
+            AIC = -2 * maxlogL + 2 * nModelParams
+            # 2 * nModelParams * (nModelParams+1) / (n_obs-nModelParams-1)
+            penTerm = 0
+            U_J_d = 1*(AIC + penTerm)
+
+        # Deviance information criterion
+        elif var == 'DIC':
+            # D_theta_bar = np.mean(-2 * Likelihoods)
+            N_star_p = 0.5 * np.var(np.log(likelihoods[likelihoods != 0]))
+            Likelihoods_theta_mean = self.__normpdf(
+                y_hat, std, obs_data, sigma2Dict
+                )
+            DIC = -2 * np.log(Likelihoods_theta_mean) + 2 * N_star_p
+
+            U_J_d = DIC
+
+        else:
+            print('The algorithm you requested has not been implemented yet!')
+
+        # Handle inf and NaN (replace by zero)
+        if np.isnan(U_J_d) or U_J_d == -np.inf or U_J_d == np.inf:
+            U_J_d = 0.0
+
+        # Clear memory
+        del likelihoods
+        del Y_MC
+        del std_MC
+
+        return -1 * U_J_d   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def update_metamodel(self, MetaModel, output, y_hat_can, univ_p_val, index,
+                         new_pca=False):
+        BasisIndices = MetaModel.basis_dict[output]["y_"+str(index+1)]
+        clf_poly = MetaModel.clf_poly[output]["y_"+str(index+1)]
+        Mn = clf_poly.coef_
+        Sn = clf_poly.sigma_
+        beta = clf_poly.alpha_
+        active = clf_poly.active_
+        Psi = self.MetaModel.create_psi(BasisIndices, univ_p_val)
+
+        Sn_new_inv = np.linalg.inv(Sn)
+        Sn_new_inv += beta * np.dot(Psi[:, active].T, Psi[:, active])
+        Sn_new = np.linalg.inv(Sn_new_inv)
+
+        Mn_new = np.dot(Sn_new_inv, Mn[active]).reshape(-1, 1)
+        Mn_new += beta * np.dot(Psi[:, active].T, y_hat_can)
+        Mn_new = np.dot(Sn_new, Mn_new).flatten()
+
+        # Compute the old and new moments of PCEs
+        mean_old = Mn[0]
+        mean_new = Mn_new[0]
+        std_old = np.sqrt(np.sum(np.square(Mn[1:])))
+        std_new = np.sqrt(np.sum(np.square(Mn_new[1:])))
+
+        # Back transformation if PCA is selected.
+        if MetaModel.dim_red_method.lower() == 'pca':
+            old_pca = MetaModel.pca[output]
+            mean_old = old_pca.mean_[index]
+            mean_old += np.sum(mean_old * old_pca.components_[:, index])
+            std_old = np.sqrt(np.sum(std_old**2 *
+                                     old_pca.components_[:, index]**2))
+            mean_new = new_pca.mean_[index]
+            mean_new += np.sum(mean_new * new_pca.components_[:, index])
+            std_new = np.sqrt(np.sum(std_new**2 *
+                                     new_pca.components_[:, index]**2))
+            # print(f"mean_old: {mean_old:.2f} mean_new: {mean_new:.2f}")
+            # print(f"std_old: {std_old:.2f} std_new: {std_new:.2f}")
+        # Store the old and new moments of PCEs
+        results = {
+            'mean_old': mean_old,
+            'mean_new': mean_new,
+            'std_old': std_old,
+            'std_new': std_new
+            }
+        return results
+
+    # -------------------------------------------------------------------------
+    def util_BayesianDesign_old(self, X_can, X_MC, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian sequential design criterion (var).
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            Bayesian design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # To avoid changes ub original aPCE object
+        Model = self.Model
+        MetaModel = deepcopy(self.MetaModel)
+        old_EDY = MetaModel.ExpDesign.Y
+
+        # Evaluate the PCE metamodels using the candidate design
+        Y_PC_can, Y_std_can = self.MetaModel.eval_metamodel(
+            samples=np.array([X_can])
+            )
+
+        # Generate y from posterior predictive
+        m_size = 100
+        y_hat_samples = {}
+        for idx, key in enumerate(Model.Output.names):
+            means, stds = Y_PC_can[key][0], Y_std_can[key][0]
+            y_hat_samples[key] = np.random.multivariate_normal(
+                means, np.diag(stds), m_size)
+
+        # Create the SparseBayes-based PCE metamodel:
+        MetaModel.input_obj.poly_coeffs_flag = False
+        univ_p_val = self.MetaModel.univ_basis_vals(X_can)
+        G_n_m_all = np.zeros((m_size, len(Model.Output.names), Model.n_obs))
+
+        for i in range(m_size):
+            for idx, key in enumerate(Model.Output.names):
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    # Equal number of components
+                    new_outputs = np.vstack(
+                        (old_EDY[key], y_hat_samples[key][i])
+                        )
+                    new_pca, _ = MetaModel.pca_transformation(new_outputs)
+                    target = new_pca.transform(
+                        y_hat_samples[key][i].reshape(1, -1)
+                        )[0]
+                else:
+                    new_pca, target = False, y_hat_samples[key][i]
+
+                for j in range(len(target)):
+
+                    # Update surrogate
+                    result = self.update_metamodel(
+                        MetaModel, key, target[j], univ_p_val, j, new_pca)
+
+                    # Compute Expected Information Gain (Eq. 39)
+                    G_n_m = np.log(result['std_old']/result['std_new']) - 1./2
+                    G_n_m += result['std_new']**2 / (2*result['std_old']**2)
+                    G_n_m += (result['mean_new'] - result['mean_old'])**2 /\
+                        (2*result['std_old']**2)
+
+                    G_n_m_all[i, idx, j] = G_n_m
+
+        U_J_d = G_n_m_all.mean(axis=(1, 2)).mean()
+        return -1 * U_J_d
+
+    # -------------------------------------------------------------------------
+    def util_BayesianDesign(self, X_can, X_MC, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian sequential design criterion (var).
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            Bayesian design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # To avoid changes ub original aPCE object
+        MetaModel = self.MetaModel
+        out_names = MetaModel.ModelObj.Output.names
+        if X_can.ndim == 1:
+            X_can = X_can.reshape(1, -1)
+
+        # Compute the mean and std based on the MetaModel
+        # pce_means, pce_stds = self._compute_pce_moments(MetaModel)
+        if var == 'ALC':
+            Y_MC, Y_MC_std = MetaModel.eval_metamodel(samples=X_MC)
+
+        # Old Experimental design
+        oldExpDesignX = MetaModel.ExpDesign.X
+        oldExpDesignY = MetaModel.ExpDesign.Y
+
+        # Evaluate the PCE metamodels at that location ???
+        Y_PC_can, Y_std_can = MetaModel.eval_metamodel(samples=X_can)
+        PCE_Model_can = deepcopy(MetaModel)
+        # Add the candidate to the ExpDesign
+        NewExpDesignX = np.vstack((oldExpDesignX, X_can))
+
+        NewExpDesignY = {}
+        for key in oldExpDesignY.keys():
+            NewExpDesignY[key] = np.vstack(
+                (oldExpDesignY[key], Y_PC_can[key])
+                )
+
+        PCE_Model_can.ExpDesign.sampling_method = 'user'
+        PCE_Model_can.ExpDesign.X = NewExpDesignX
+        PCE_Model_can.ModelOutputDict = NewExpDesignY
+        PCE_Model_can.ExpDesign.Y = NewExpDesignY
+
+        # Train the model for the observed data using x_can
+        PCE_Model_can.input_obj.poly_coeffs_flag = False
+        PCE_Model_can.train_norm_design(parallel=False)
+
+        # Set the ExpDesign to its original values
+        PCE_Model_can.ExpDesign.X = oldExpDesignX
+        PCE_Model_can.ModelOutputDict = oldExpDesignY
+        PCE_Model_can.ExpDesign.Y = oldExpDesignY
+
+        if var.lower() == 'mi':
+            # Mutual information based on Krause et al
+            # Adapted from Beck & Guillas (MICE) paper
+            _, std_PC_can = PCE_Model_can.eval_metamodel(samples=X_can)
+            std_can = {key: std_PC_can[key] for key in out_names}
+
+            std_old = {key: Y_std_can[key] for key in out_names}
+
+            varPCE = np.zeros((len(out_names)))
+            for i, key in enumerate(out_names):
+                varPCE[i] = np.mean(std_old[key]**2/std_can[key]**2)
+            score = np.mean(varPCE)
+
+            return -1 * score
+
+        elif var.lower() == 'alc':
+            # Active learning based on Gramyc and Lee
+            # Adaptive design and analysis of supercomputer experiments Techno-
+            # metrics, 51 (2009), pp. 130–145.
+
+            # Evaluate the MetaModel at the given samples
+            Y_MC_can, Y_MC_std_can = PCE_Model_can.eval_metamodel(samples=X_MC)
+
+            # Compute the score
+            score = []
+            for i, key in enumerate(out_names):
+                pce_var = Y_MC_std_can[key]**2
+                pce_var_can = Y_MC_std[key]**2
+                score.append(np.mean(pce_var-pce_var_can, axis=0))
+            score = np.mean(score)
+
+            return -1 * score
+
+        # ---------- Inner MC simulation for computing Utility Value ----------
+        # Estimation of the integral via Monte Varlo integration
+        MCsize = X_MC.shape[0]
+        ESS = 0
+
+        while ((ESS > MCsize) or (ESS < 1)):
+
+            # Enriching Monte Carlo samples if need be
+            if ESS != 0:
+                X_MC = self.MetaModel.ExpDesign.generate_samples(
+                    MCsize, 'random'
+                    )
+
+            # Evaluate the MetaModel at the given samples
+            Y_MC, std_MC = PCE_Model_can.eval_metamodel(samples=X_MC)
+
+            # Likelihood computation (Comparison of data and simulation
+            # results via PCE with candidate design)
+            likelihoods = self.__normpdf(
+                Y_MC, std_MC, self.observations, sigma2Dict
+                )
+
+            # Check the Effective Sample Size (1<ESS<MCsize)
+            ESS = 1 / np.sum(np.square(likelihoods/np.sum(likelihoods)))
+
+            # Enlarge sample size if it doesn't fulfill the criteria
+            if ((ESS > MCsize) or (ESS < 1)):
+                print("--- increasing MC size---")
+                MCsize *= 10
+                ESS = 0
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, MCsize)[0]
+
+        # Reject the poorly performed prior
+        accepted = (likelihoods/np.max(likelihoods)) >= unif
+
+        # -------------------- Utility functions --------------------
+        # Utility function Eq.2 in Ref. (2)
+        # Kullback-Leibler Divergence (Sergey's paper)
+        if var == 'DKL':
+
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods, dtype=np.longdouble))
+
+            # Posterior-based expectation of likelihoods
+            postLikelihoods = likelihoods[accepted]
+            postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+            # Haun et al implementation
+            U_J_d = np.mean(np.log(likelihoods[likelihoods != 0]) - logBME)
+
+            # U_J_d = np.sum(G_n_m_all)
+            # Ryan et al (2014) implementation
+            # importanceWeights = Likelihoods[Likelihoods!=0]/np.sum(Likelihoods[Likelihoods!=0])
+            # U_J_d = np.mean(importanceWeights*np.log(Likelihoods[Likelihoods!=0])) - logBME
+
+            # U_J_d = postExpLikelihoods - logBME
+
+        # Marginal likelihood
+        elif var == 'BME':
+
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods))
+            U_J_d = logBME
+
+        # Bayes risk likelihood
+        elif var == 'BayesRisk':
+
+            U_J_d = -1 * np.var(likelihoods)
+
+        # Entropy-based information gain
+        elif var == 'infEntropy':
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods))
+
+            # Posterior-based expectation of likelihoods
+            postLikelihoods = likelihoods[accepted]
+            postLikelihoods /= np.nansum(likelihoods[accepted])
+            postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+            # Posterior-based expectation of prior densities
+            postExpPrior = np.mean(logPriorLikelihoods[accepted])
+
+            infEntropy = logBME - postExpPrior - postExpLikelihoods
+
+            U_J_d = infEntropy * -1  # -1 for minimization
+
+        # D-Posterior-precision
+        elif var == 'DPP':
+            X_Posterior = X_MC[accepted]
+            # covariance of the posterior parameters
+            U_J_d = -np.log(np.linalg.det(np.cov(X_Posterior)))
+
+        # A-Posterior-precision
+        elif var == 'APP':
+            X_Posterior = X_MC[accepted]
+            # trace of the posterior parameters
+            U_J_d = -np.log(np.trace(np.cov(X_Posterior)))
+
+        else:
+            print('The algorithm you requested has not been implemented yet!')
+
+        # Clear memory
+        del likelihoods
+        del Y_MC
+        del std_MC
+
+        return -1 * U_J_d   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def subdomain(self, Bounds, n_new_samples):
+        """
+        Divides a domain defined by Bounds into sub domains.
+
+        Parameters
+        ----------
+        Bounds : list of tuples
+            List of lower and upper bounds.
+        n_new_samples : TYPE
+            DESCRIPTION.
+
+        Returns
+        -------
+        Subdomains : TYPE
+            DESCRIPTION.
+
+        """
+        n_params = self.MetaModel.n_params
+        n_subdomains = n_new_samples + 1
+        LinSpace = np.zeros((n_params, n_subdomains))
+
+        for i in range(n_params):
+            LinSpace[i] = np.linspace(start=Bounds[i][0], stop=Bounds[i][1],
+                                      num=n_subdomains)
+        Subdomains = []
+        for k in range(n_subdomains-1):
+            mylist = []
+            for i in range(n_params):
+                mylist.append((LinSpace[i, k+0], LinSpace[i, k+1]))
+            Subdomains.append(tuple(mylist))
+
+        return Subdomains
+
+    # -------------------------------------------------------------------------
+    def run_util_func(self, method, candidates, index, sigma2Dict=None,
+                      var=None, X_MC=None):
+        """
+        Runs the utility function based on the given method.
+
+        Parameters
+        ----------
+        method : string
+            Exploitation method: `VarOptDesign`, `BayesActDesign` and
+            `BayesOptDesign`.
+        candidates : array of shape (n_samples, n_params)
+            All candidate parameter sets.
+        index : int
+            ExpDesign index.
+        sigma2Dict : dict, optional
+            A dictionary containing the measurement errors (sigma^2). The
+            default is None.
+        var : string, optional
+            Utility function. The default is None.
+        X_MC : TYPE, optional
+            DESCRIPTION. The default is None.
+
+        Returns
+        -------
+        index : TYPE
+            DESCRIPTION.
+        List
+            Scores.
+
+        """
+
+        if method.lower() == 'varoptdesign':
+            # U_J_d = self.util_VarBasedDesign(candidates, index, var)
+            U_J_d = np.zeros((candidates.shape[0]))
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="varoptdesign"):
+                U_J_d[idx] = self.util_VarBasedDesign(X_can, index, var)
+
+        elif method.lower() == 'bayesactdesign':
+            NCandidate = candidates.shape[0]
+            U_J_d = np.zeros((NCandidate))
+            # Evaluate all candidates
+            y_can, std_can = self.MetaModel.eval_metamodel(samples=candidates)
+            # loop through candidates
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="BAL Design"):
+                y_hat = {key: items[idx] for key, items in y_can.items()}
+                std = {key: items[idx] for key, items in std_can.items()}
+                U_J_d[idx] = self.util_BayesianActiveDesign(
+                    y_hat, std, sigma2Dict, var)
+
+        elif method.lower() == 'bayesoptdesign':
+            NCandidate = candidates.shape[0]
+            U_J_d = np.zeros((NCandidate))
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="OptBayesianDesign"):
+                U_J_d[idx] = self.util_BayesianDesign(X_can, X_MC, sigma2Dict,
+                                                      var)
+        return (index, -1 * U_J_d)
+
+    # -------------------------------------------------------------------------
+    def dual_annealing(self, method, Bounds, sigma2Dict, var, Run_No,
+                       verbose=False):
+        """
+        Exploration algorithim to find the optimum parameter space.
+
+        Parameters
+        ----------
+        method : string
+            Exploitation method: `VarOptDesign`, `BayesActDesign` and
+            `BayesOptDesign`.
+        Bounds : list of tuples
+            List of lower and upper boundaries of parameters.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        Run_No : int
+            Run number.
+        verbose : bool, optional
+            Print out a summary. The default is False.
+
+        Returns
+        -------
+        Run_No : int
+            Run number.
+        array
+            Optimial candidate.
+
+        """
+
+        Model = self.Model
+        max_func_itr = self.MetaModel.ExpDesign.max_func_itr
+
+        if method == 'VarOptDesign':
+            Res_Global = opt.dual_annealing(self.util_VarBasedDesign,
+                                            bounds=Bounds,
+                                            args=(Model, var),
+                                            maxfun=max_func_itr)
+
+        elif method == 'BayesOptDesign':
+            Res_Global = opt.dual_annealing(self.util_BayesianDesign,
+                                            bounds=Bounds,
+                                            args=(Model, sigma2Dict, var),
+                                            maxfun=max_func_itr)
+
+        if verbose:
+            print(f"global minimum: xmin = {Res_Global.x}, "
+                  f"f(xmin) = {Res_Global.fun:.6f}, nfev = {Res_Global.nfev}")
+
+        return (Run_No, Res_Global.x)
+
+    # -------------------------------------------------------------------------
+    def tradoff_weights(self, tradeoff_scheme, old_EDX, old_EDY):
+        """
+        Calculates weights for exploration scores based on the requested
+        scheme: `None`, `equal`, `epsilon-decreasing` and `adaptive`.
+
+        `None`: No exploration.
+        `equal`: Same weights for exploration and exploitation scores.
+        `epsilon-decreasing`: Start with more exploration and increase the
+            influence of exploitation along the way with a exponential decay
+            function
+        `adaptive`: An adaptive method based on:
+            Liu, Haitao, Jianfei Cai, and Yew-Soon Ong. "An adaptive sampling
+            approach for Kriging metamodeling by maximizing expected prediction
+            error." Computers & Chemical Engineering 106 (2017): 171-182.
+
+        Parameters
+        ----------
+        tradeoff_scheme : string
+            Trade-off scheme for exloration and exploitation scores.
+        old_EDX : array (n_samples, n_params)
+            Old experimental design (training points).
+        old_EDY : dict
+            Old model responses (targets).
+
+        Returns
+        -------
+        exploration_weight : float
+            Exploration weight.
+        exploitation_weight: float
+            Exploitation weight.
+
+        """
+        if tradeoff_scheme is None:
+            exploration_weight = 0
+
+        elif tradeoff_scheme == 'equal':
+            exploration_weight = 0.5
+
+        elif tradeoff_scheme == 'epsilon-decreasing':
+            # epsilon-decreasing scheme
+            # Start with more exploration and increase the influence of
+            # exploitation along the way with a exponential decay function
+            initNSamples = self.MetaModel.ExpDesign.n_init_samples
+            n_max_samples = self.MetaModel.ExpDesign.n_max_samples
+
+            itrNumber = (self.MetaModel.ExpDesign.X.shape[0] - initNSamples)
+            itrNumber //= self.MetaModel.ExpDesign.n_new_samples
+
+            tau2 = -(n_max_samples-initNSamples-1) / np.log(1e-8)
+            exploration_weight = signal.exponential(n_max_samples-initNSamples,
+                                                    0, tau2, False)[itrNumber]
+
+        elif tradeoff_scheme == 'adaptive':
+
+            # Extract itrNumber
+            initNSamples = self.MetaModel.ExpDesign.n_init_samples
+            n_max_samples = self.MetaModel.ExpDesign.n_max_samples
+            itrNumber = (self.MetaModel.ExpDesign.X.shape[0] - initNSamples)
+            itrNumber //= self.MetaModel.ExpDesign.n_new_samples
+
+            if itrNumber == 0:
+                exploration_weight = 0.5
+            else:
+                # New adaptive trade-off according to Liu et al. (2017)
+                # Mean squared error for last design point
+                last_EDX = old_EDX[-1].reshape(1, -1)
+                lastPCEY, _ = self.MetaModel.eval_metamodel(samples=last_EDX)
+                pce_y = np.array(list(lastPCEY.values()))[:, 0]
+                y = np.array(list(old_EDY.values()))[:, -1, :]
+                mseError = mean_squared_error(pce_y, y)
+
+                # Mean squared CV - error for last design point
+                pce_y_prev = np.array(list(self._y_hat_prev.values()))[:, 0]
+                mseCVError = mean_squared_error(pce_y_prev, y)
+
+                exploration_weight = min([0.5*mseError/mseCVError, 1])
+
+        # Exploitation weight
+        exploitation_weight = 1 - exploration_weight
+
+        return exploration_weight, exploitation_weight
+
+    # -------------------------------------------------------------------------
+    def opt_SeqDesign(self, sigma2, n_candidates=5, var='DKL'):
+        """
+        Runs optimal sequential design.
+
+        Parameters
+        ----------
+        sigma2 : dict, optional
+            A dictionary containing the measurement errors (sigma^2). The
+            default is None.
+        n_candidates : int, optional
+            Number of candidate samples. The default is 5.
+        var : string, optional
+            Utility function. The default is None.
+
+        Raises
+        ------
+        NameError
+            Wrong utility function.
+
+        Returns
+        -------
+        Xnew : array (n_samples, n_params)
+            Selected new training point(s).
+        """
+
+        # Initialization
+        MetaModel = self.MetaModel
+        Bounds = MetaModel.bound_tuples
+        n_new_samples = MetaModel.ExpDesign.n_new_samples
+        explore_method = MetaModel.ExpDesign.explore_method
+        exploit_method = MetaModel.ExpDesign.exploit_method
+        n_cand_groups = MetaModel.ExpDesign.n_cand_groups
+        tradeoff_scheme = MetaModel.ExpDesign.tradeoff_scheme
+
+        old_EDX = MetaModel.ExpDesign.X
+        old_EDY = MetaModel.ExpDesign.Y.copy()
+        ndim = MetaModel.ExpDesign.X.shape[1]
+        OutputNames = MetaModel.ModelObj.Output.names
+
+        # -----------------------------------------
+        # ----------- CUSTOMIZED METHODS ----------
+        # -----------------------------------------
+        # Utility function exploit_method provided by user
+        if exploit_method.lower() == 'user':
+
+            Xnew, filteredSamples = MetaModel.ExpDesign.ExploitFunction(self)
+
+            print("\n")
+            print("\nXnew:\n", Xnew)
+
+            return Xnew, filteredSamples
+
+        # -----------------------------------------
+        # ---------- EXPLORATION METHODS ----------
+        # -----------------------------------------
+        if explore_method == 'dual annealing':
+            # ------- EXPLORATION: OPTIMIZATION -------
+            import time
+            start_time = time.time()
+
+            # Divide the domain to subdomains
+            args = []
+            subdomains = self.subdomain(Bounds, n_new_samples)
+            for i in range(n_new_samples):
+                args.append((exploit_method, subdomains[i], sigma2, var, i))
+
+            # Multiprocessing
+            pool = multiprocessing.Pool(multiprocessing.cpu_count())
+
+            # With Pool.starmap_async()
+            results = pool.starmap_async(self.dual_annealing, args).get()
+
+            # Close the pool
+            pool.close()
+
+            Xnew = np.array([results[i][1] for i in range(n_new_samples)])
+
+            print("\nXnew:\n", Xnew)
+
+            elapsed_time = time.time() - start_time
+            print("\n")
+            print(f"elapsed_time: {round(elapsed_time,2)} sec.")
+            print('-'*20)
+
+        elif explore_method == 'LOOCV':
+            # -----------------------------------------------------------------
+            # TODO: LOOCV model construnction based on Feng et al. (2020)
+            # 'LOOCV':
+            # Initilize the ExploitScore array
+
+            # Generate random samples
+            allCandidates = MetaModel.ExpDesign.generate_samples(n_candidates,
+                                                                'random')
+
+            # Construct error model based on LCerror
+            errorModel = MetaModel.create_ModelError(old_EDX, self.LCerror)
+            self.errorModel.append(copy(errorModel))
+
+            # Evaluate the error models for allCandidates
+            eLCAllCands, _ = errorModel.eval_errormodel(allCandidates)
+            # Select the maximum as the representative error
+            eLCAllCands = np.dstack(eLCAllCands.values())
+            eLCAllCandidates = np.max(eLCAllCands, axis=1)[:, 0]
+
+            # Normalize the error w.r.t the maximum error
+            scoreExploration = eLCAllCandidates / np.sum(eLCAllCandidates)
+
+        else:
+            # ------- EXPLORATION: SPACE-FILLING DESIGN -------
+            # Generate candidate samples from Exploration class
+            explore = Exploration(MetaModel, n_candidates)
+            explore.w = 100  # * ndim #500
+            # Select criterion (mc-intersite-proj-th, mc-intersite-proj)
+            explore.mc_criterion = 'mc-intersite-proj'
+            allCandidates, scoreExploration = explore.get_exploration_samples()
+
+            # Temp: ---- Plot all candidates -----
+            if ndim == 2:
+                def plotter(points, allCandidates, Method,
+                            scoreExploration=None):
+                    if Method == 'Voronoi':
+                        from scipy.spatial import Voronoi, voronoi_plot_2d
+                        vor = Voronoi(points)
+                        fig = voronoi_plot_2d(vor)
+                        ax1 = fig.axes[0]
+                    else:
+                        fig = plt.figure()
+                        ax1 = fig.add_subplot(111)
+                    ax1.scatter(points[:, 0], points[:, 1], s=10, c='r',
+                                marker="s", label='Old Design Points')
+                    ax1.scatter(allCandidates[:, 0], allCandidates[:, 1], s=10,
+                                c='b', marker="o", label='Design candidates')
+                    for i in range(points.shape[0]):
+                        txt = 'p'+str(i+1)
+                        ax1.annotate(txt, (points[i, 0], points[i, 1]))
+                    if scoreExploration is not None:
+                        for i in range(allCandidates.shape[0]):
+                            txt = str(round(scoreExploration[i], 5))
+                            ax1.annotate(txt, (allCandidates[i, 0],
+                                               allCandidates[i, 1]))
+
+                    plt.xlim(self.bound_tuples[0])
+                    plt.ylim(self.bound_tuples[1])
+                    # plt.show()
+                    plt.legend(loc='upper left')
+
+        # -----------------------------------------
+        # --------- EXPLOITATION METHODS ----------
+        # -----------------------------------------
+        if exploit_method == 'BayesOptDesign' or\
+           exploit_method == 'BayesActDesign':
+
+            # ------- Calculate Exoploration weight -------
+            # Compute exploration weight based on trade off scheme
+            explore_w, exploit_w = self.tradoff_weights(tradeoff_scheme,
+                                                        old_EDX,
+                                                        old_EDY)
+            print(f"\n Exploration weight={explore_w:0.3f} "
+                  f"Exploitation weight={exploit_w:0.3f}\n")
+
+            # ------- EXPLOITATION: BayesOptDesign & ActiveLearning -------
+            if explore_w != 1.0:
+
+                # Create a sample pool for rejection sampling
+                MCsize = 15000
+                X_MC = MetaModel.ExpDesign.generate_samples(MCsize, 'random')
+                candidates = MetaModel.ExpDesign.generate_samples(
+                    MetaModel.ExpDesign.max_func_itr, 'latin_hypercube')
+
+                # Split the candidates in groups for multiprocessing
+                split_cand = np.array_split(
+                    candidates, n_cand_groups, axis=0
+                    )
+
+                results = Parallel(n_jobs=-1, backend='multiprocessing')(
+                        delayed(self.run_util_func)(
+                            exploit_method, split_cand[i], i, sigma2, var, X_MC)
+                        for i in range(n_cand_groups))
+                # out = map(self.run_util_func,
+                #           [exploit_method]*n_cand_groups,
+                #           split_cand,
+                #           range(n_cand_groups),
+                #           [sigma2] * n_cand_groups,
+                #           [var] * n_cand_groups,
+                #           [X_MC] * n_cand_groups
+                #           )
+                # results = list(out)
+
+                # Retrieve the results and append them
+                U_J_d = np.concatenate([results[NofE][1] for NofE in
+                                        range(n_cand_groups)])
+
+                # Check if all scores are inf
+                if np.isinf(U_J_d).all() or np.isnan(U_J_d).all():
+                    U_J_d = np.ones(len(U_J_d))
+
+                # Get the expected value (mean) of the Utility score
+                # for each cell
+                if explore_method == 'Voronoi':
+                    U_J_d = np.mean(U_J_d.reshape(-1, n_candidates), axis=1)
+
+                # create surrogate model for U_J_d
+                # from sklearn.preprocessing import MinMaxScaler
+                # # Take care of inf entries
+                # good_indices = [i for i, arr in enumerate(U_J_d)
+                #                 if np.isfinite(arr).all()]
+                # scaler = MinMaxScaler()
+                # X_S = scaler.fit_transform(candidates[good_indices])
+                # gp = MetaModel.gaussian_process_emulator(
+                #     X_S, U_J_d[good_indices], autoSelect=False
+                #     )
+                # U_J_d = gp.predict(scaler.transform(allCandidates))
+
+                # Normalize U_J_d
+                norm_U_J_d = U_J_d / np.sum(U_J_d)
+            else:
+                norm_U_J_d = np.zeros((len(scoreExploration)))
+
+            # ------- Calculate Total score -------
+            # ------- Trade off between EXPLORATION & EXPLOITATION -------
+            # Accumulate the samples
+            # TODO: added this, recheck!!
+            finalCandidates = np.concatenate((allCandidates, candidates), axis = 0)   
+            finalCandidates = np.unique(finalCandidates, axis = 0)
+            
+            # TODO: changed this from the above to take into account both exploration and exploitation samples without duplicates
+            totalScore = np.zeros(finalCandidates.shape[0])
+            #self.totalScore = totalScore
+            
+            for cand_idx in range(finalCandidates.shape[0]):
+                # find candidate indices
+                idx1 = np.where(allCandidates == finalCandidates[cand_idx])[0]
+                idx2 = np.where(candidates == finalCandidates[cand_idx])[0]
+                
+                # exploration 
+                if idx1 != []:
+                    idx1 = idx1[0]
+                    totalScore[cand_idx] += explore_w * scoreExploration[idx1]
+                    
+                # exploitation
+                if idx2 != []:
+                    idx2 = idx2[0]
+                    totalScore[cand_idx] += exploit_w * norm_U_J_d[idx2]
+                
+
+            # temp: Plot
+            # dim = self.ExpDesign.X.shape[1]
+            # if dim == 2:
+            #     plotter(self.ExpDesign.X, allCandidates, explore_method)
+
+            # ------- Select the best candidate -------
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            temp = totalScore.copy()
+            temp[np.isnan(totalScore)] = -np.inf
+            sorted_idxtotalScore = np.argsort(temp)[::-1]
+            bestIdx = sorted_idxtotalScore[:n_new_samples]
+
+            # select the requested number of samples
+            if explore_method == 'Voronoi':
+                Xnew = np.zeros((n_new_samples, ndim))
+                for i, idx in enumerate(bestIdx):
+                    X_can = explore.closestPoints[idx]
+
+                    # Calculate the maxmin score for the region of interest
+                    newSamples, maxminScore = explore.get_mc_samples(X_can)
+
+                    # select the requested number of samples
+                    Xnew[i] = newSamples[np.argmax(maxminScore)]
+            else:
+                # TODO: changed this from allCandiates to full set of candidates - still not changed for e.g. 'Voronoi'
+                Xnew = finalCandidates[sorted_idxtotalScore[:n_new_samples]]          # here candidates(exploitation) vs allCandidates (exploration)!!
+
+        elif exploit_method == 'VarOptDesign':
+            # ------- EXPLOITATION: VarOptDesign -------
+            UtilMethod = var
+
+            # ------- Calculate Exoploration weight -------
+            # Compute exploration weight based on trade off scheme
+            explore_w, exploit_w = self.tradoff_weights(tradeoff_scheme,
+                                                        old_EDX,
+                                                        old_EDY)
+            print(f"\nweightExploration={explore_w:0.3f} "
+                  f"weightExploitation={exploit_w:0.3f}")
+
+            # Generate candidate samples from Exploration class
+            nMeasurement = old_EDY[OutputNames[0]].shape[1]
+
+            # Find sensitive region
+            if UtilMethod == 'LOOCV':
+                LCerror = MetaModel.LCerror
+                allModifiedLOO = np.zeros((len(old_EDX), len(OutputNames),
+                                           nMeasurement))
+                for y_idx, y_key in enumerate(OutputNames):
+                    for idx, key in enumerate(LCerror[y_key].keys()):
+                        allModifiedLOO[:, y_idx, idx] = abs(
+                            LCerror[y_key][key])
+
+                ExploitScore = np.max(np.max(allModifiedLOO, axis=1), axis=1)
+
+            elif UtilMethod in ['EIGF', 'ALM']:
+                # ----- All other in  ['EIGF', 'ALM'] -----
+                # Initilize the ExploitScore array
+                ExploitScore = np.zeros((len(old_EDX), len(OutputNames)))
+
+                # Split the candidates in groups for multiprocessing
+                if explore_method != 'Voronoi':
+                    split_cand = np.array_split(allCandidates,
+                                                n_cand_groups,
+                                                axis=0)
+                    goodSampleIdx = range(n_cand_groups)
+                else:
+                    # Find indices of the Vornoi cells with samples
+                    goodSampleIdx = []
+                    for idx in range(len(explore.closest_points)):
+                        if len(explore.closest_points[idx]) != 0:
+                            goodSampleIdx.append(idx)
+                    split_cand = explore.closest_points
+
+                # Split the candidates in groups for multiprocessing
+                args = []
+                for index in goodSampleIdx:
+                    args.append((exploit_method, split_cand[index], index,
+                                 sigma2, var))
+
+                # Multiprocessing
+                pool = multiprocessing.Pool(multiprocessing.cpu_count())
+                # With Pool.starmap_async()
+                results = pool.starmap_async(self.run_util_func, args).get()
+
+                # Close the pool
+                pool.close()
+                # out = map(self.run_util_func,
+                #           [exploit_method]*len(goodSampleIdx),
+                #           split_cand,
+                #           range(len(goodSampleIdx)),
+                #           [sigma2] * len(goodSampleIdx),
+                #           [var] * len(goodSampleIdx)
+                #           )
+                # results = list(out)
+
+                # Retrieve the results and append them
+                if explore_method == 'Voronoi':
+                    ExploitScore = [np.mean(results[k][1]) for k in
+                                    range(len(goodSampleIdx))]
+                else:
+                    ExploitScore = np.concatenate(
+                        [results[k][1] for k in range(len(goodSampleIdx))])
+
+            else:
+                raise NameError('The requested utility function is not '
+                                'available.')
+
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            # Total score
+            # Normalize U_J_d
+            ExploitScore = ExploitScore / np.sum(ExploitScore)
+            totalScore = exploit_w * ExploitScore
+            totalScore += explore_w * scoreExploration
+
+            temp = totalScore.copy()
+            sorted_idxtotalScore = np.argsort(temp, axis=0)[::-1]
+            bestIdx = sorted_idxtotalScore[:n_new_samples]
+
+            Xnew = np.zeros((n_new_samples, ndim))
+            if explore_method != 'Voronoi':
+                Xnew = allCandidates[bestIdx]
+            else:
+                for i, idx in enumerate(bestIdx.flatten()):
+                    X_can = explore.closest_points[idx]
+                    # plotter(self.ExpDesign.X, X_can, explore_method,
+                    # scoreExploration=None)
+
+                    # Calculate the maxmin score for the region of interest
+                    newSamples, maxminScore = explore.get_mc_samples(X_can)
+
+                    # select the requested number of samples
+                    Xnew[i] = newSamples[np.argmax(maxminScore)]
+
+        elif exploit_method == 'alphabetic':
+            # ------- EXPLOITATION: ALPHABETIC -------
+            Xnew = self.util_AlphOptDesign(allCandidates, var)
+
+        elif exploit_method == 'Space-filling':
+            # ------- EXPLOITATION: SPACE-FILLING -------
+            totalScore = scoreExploration
+
+            # ------- Select the best candidate -------
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            temp = totalScore.copy()
+            temp[np.isnan(totalScore)] = -np.inf
+            sorted_idxtotalScore = np.argsort(temp)[::-1]
+
+            # select the requested number of samples
+            Xnew = allCandidates[sorted_idxtotalScore[:n_new_samples]]
+
+        else:
+            raise NameError('The requested design method is not available.')
+
+        print("\n")
+        print("\nRun No. {}:".format(old_EDX.shape[0]+1))
+        print("Xnew:\n", Xnew)
+
+        return Xnew, None
+
+    # -------------------------------------------------------------------------
+    def util_AlphOptDesign(self, candidates, var='D-Opt'):
+        """
+        Enriches the Experimental design with the requested alphabetic
+        criterion based on exploring the space with number of sampling points.
+
+        Ref: Hadigol, M., & Doostan, A. (2018). Least squares polynomial chaos
+        expansion: A review of sampling strategies., Computer Methods in
+        Applied Mechanics and Engineering, 332, 382-407.
+
+        Arguments
+        ---------
+        NCandidate : int
+            Number of candidate points to be searched
+
+        var : string
+            Alphabetic optimality criterion
+
+        Returns
+        -------
+        X_new : array of shape (1, n_params)
+            The new sampling location in the input space.
+        """
+        MetaModelOrig = self
+        Model = self.Model
+        n_new_samples = MetaModelOrig.ExpDesign.n_new_samples
+        NCandidate = candidates.shape[0]
+
+        # TODO: Loop over outputs
+        OutputName = Model.Output.names[0]
+
+        # To avoid changes ub original aPCE object
+        MetaModel = deepcopy(MetaModelOrig)
+
+        # Old Experimental design
+        oldExpDesignX = MetaModel.ExpDesign.X
+
+        # TODO: Only one psi can be selected.
+        # Suggestion: Go for the one with the highest LOO error
+        Scores = list(MetaModel.score_dict[OutputName].values())
+        ModifiedLOO = [1-score for score in Scores]
+        outIdx = np.argmax(ModifiedLOO)
+
+        # Initialize Phi to save the criterion's values
+        Phi = np.zeros((NCandidate))
+
+        BasisIndices = MetaModelOrig.basis_dict[OutputName]["y_"+str(outIdx+1)]
+        P = len(BasisIndices)
+
+        # ------ Old Psi ------------
+        univ_p_val = MetaModelOrig.univ_basis_vals(oldExpDesignX)
+        Psi = MetaModelOrig.create_psi(BasisIndices, univ_p_val)
+
+        # ------ New candidates (Psi_c) ------------
+        # Assemble Psi_c
+        univ_p_val_c = self.univ_basis_vals(candidates)
+        Psi_c = self.create_psi(BasisIndices, univ_p_val_c)
+
+        for idx in range(NCandidate):
+
+            # Include the new row to the original Psi
+            Psi_cand = np.vstack((Psi, Psi_c[idx]))
+
+            # Information matrix
+            PsiTPsi = np.dot(Psi_cand.T, Psi_cand)
+            M = PsiTPsi / (len(oldExpDesignX)+1)
+
+            if np.linalg.cond(PsiTPsi) > 1e-12 \
+               and np.linalg.cond(PsiTPsi) < 1 / sys.float_info.epsilon:
+                # faster
+                invM = linalg.solve(M, sparse.eye(PsiTPsi.shape[0]).toarray())
+            else:
+                # stabler
+                invM = np.linalg.pinv(M)
+
+            # ---------- Calculate optimality criterion ----------
+            # Optimality criteria according to Section 4.5.1 in Ref.
+
+            # D-Opt
+            if var == 'D-Opt':
+                Phi[idx] = (np.linalg.det(invM)) ** (1/P)
+
+            # A-Opt
+            elif var == 'A-Opt':
+                Phi[idx] = np.trace(invM)
+
+            # K-Opt
+            elif var == 'K-Opt':
+                Phi[idx] = np.linalg.cond(M)
+
+            else:
+                raise Exception('The optimality criterion you requested has '
+                      'not been implemented yet!')
+
+        # find an optimal point subset to add to the initial design
+        # by minimization of the Phi
+        sorted_idxtotalScore = np.argsort(Phi)
+
+        # select the requested number of samples
+        Xnew = candidates[sorted_idxtotalScore[:n_new_samples]]
+
+        return Xnew
+
+    # -------------------------------------------------------------------------
+    def __normpdf(self, y_hat_pce, std_pce, obs_data, total_sigma2s,
+                  rmse=None):
+
+        Model = self.Model
+        likelihoods = 1.0
+
+        # Loop over the outputs
+        for idx, out in enumerate(Model.Output.names):
+
+            # (Meta)Model Output
+            nsamples, nout = y_hat_pce[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout].values
+
+            # Surrogate error if valid dataset is given.
+            if rmse is not None:
+                tot_sigma2s += rmse[out]**2
+            else:
+                tot_sigma2s += np.mean(std_pce[out])**2
+
+            likelihoods *= stats.multivariate_normal.pdf(
+                y_hat_pce[out], data, np.diag(tot_sigma2s),
+                allow_singular=True)
+
+        self.Likelihoods = likelihoods
+
+        return likelihoods
+
+    # -------------------------------------------------------------------------
+    def __corr_factor_BME(self, obs_data, total_sigma2s, logBME):
+        """
+        Calculates the correction factor for BMEs.
+        """
+        MetaModel = self.MetaModel
+        samples = MetaModel.ExpDesign.X  # valid_samples
+        model_outputs = MetaModel.ExpDesign.Y  # valid_model_runs
+        Model = MetaModel.ModelObj
+        n_samples = samples.shape[0]
+
+        # Extract the requested model outputs for likelihood calulation
+        output_names = Model.Output.names
+
+        # TODO: Evaluate MetaModel on the experimental design and ValidSet
+        OutputRS, stdOutputRS = MetaModel.eval_metamodel(samples=samples)
+
+        logLik_data = np.zeros((n_samples))
+        logLik_model = np.zeros((n_samples))
+        # Loop over the outputs
+        for idx, out in enumerate(output_names):
+
+            # (Meta)Model Output
+            nsamples, nout = model_outputs[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout]
+
+            # Covariance Matrix
+            covMatrix_data = np.diag(tot_sigma2s)
+
+            for i, sample in enumerate(samples):
+
+                # Simulation run
+                y_m = model_outputs[out][i]
+
+                # Surrogate prediction
+                y_m_hat = OutputRS[out][i]
+
+                # CovMatrix with the surrogate error
+                # covMatrix = np.diag(stdOutputRS[out][i]**2)
+                covMatrix = np.diag((y_m-y_m_hat)**2)
+                covMatrix = np.diag(
+                    np.mean((model_outputs[out]-OutputRS[out]), axis=0)**2
+                    )
+
+                # Compute likelilhood output vs data
+                logLik_data[i] += self.__logpdf(
+                    y_m_hat, data, covMatrix_data
+                    )
+
+                # Compute likelilhood output vs surrogate
+                logLik_model[i] += self.__logpdf(y_m_hat, y_m, covMatrix)
+
+        # Weight
+        logLik_data -= logBME
+        weights = np.exp(logLik_model+logLik_data)
+
+        return np.log(np.mean(weights))
+
+    # -------------------------------------------------------------------------
+    def __logpdf(self, x, mean, cov):
+        """
+        computes the likelihood based on a multivariate normal distribution.
+
+        Parameters
+        ----------
+        x : TYPE
+            DESCRIPTION.
+        mean : array_like
+            Observation data.
+        cov : 2d array
+            Covariance matrix of the distribution.
+
+        Returns
+        -------
+        log_lik : float
+            Log likelihood.
+
+        """
+        n = len(mean)
+        L = linalg.cholesky(cov, lower=True)
+        beta = np.sum(np.log(np.diag(L)))
+        dev = x - mean
+        alpha = dev.dot(linalg.cho_solve((L, True), dev))
+        log_lik = -0.5 * alpha - beta - n / 2. * np.log(2 * np.pi)
+
+        return log_lik
+
+    # -------------------------------------------------------------------------
+    def __posteriorPlot(self, posterior, par_names, key):
+
+        # Initialization
+        newpath = (r'Outputs_SeqPosteriorComparison/posterior')
+        os.makedirs(newpath, exist_ok=True)
+
+        bound_tuples = self.MetaModel.bound_tuples
+        n_params = len(par_names)
+        font_size = 40
+        if n_params == 2:
+
+            figPosterior, ax = plt.subplots(figsize=(15, 15))
+
+            sns.kdeplot(x=posterior[:, 0], y=posterior[:, 1],
+                        fill=True, ax=ax, cmap=plt.cm.jet,
+                        clip=bound_tuples)
+            # Axis labels
+            plt.xlabel(par_names[0], fontsize=font_size)
+            plt.ylabel(par_names[1], fontsize=font_size)
+
+            # Set axis limit
+            plt.xlim(bound_tuples[0])
+            plt.ylim(bound_tuples[1])
+
+            # Increase font size
+            plt.xticks(fontsize=font_size)
+            plt.yticks(fontsize=font_size)
+
+            # Switch off the grids
+            plt.grid(False)
+
+        else:
+            import corner
+            figPosterior = corner.corner(posterior, labels=par_names,
+                                         title_fmt='.2e', show_titles=True,
+                                         title_kwargs={"fontsize": 12})
+
+        figPosterior.savefig(f'./{newpath}/{key}.pdf', bbox_inches='tight')
+        plt.close()
+
+        # Save the posterior as .npy
+        np.save(f'./{newpath}/{key}.npy', posterior)
+
+        return figPosterior
+
+    # -------------------------------------------------------------------------
+    def __hellinger_distance(self, P, Q):
+        """
+        Hellinger distance between two continuous distributions.
+
+        The maximum distance 1 is achieved when P assigns probability zero to
+        every set to which Q assigns a positive probability, and vice versa.
+        0 (identical) and 1 (maximally different)
+
+        Parameters
+        ----------
+        P : array
+            Reference likelihood.
+        Q : array
+            Estimated likelihood.
+
+        Returns
+        -------
+        float
+            Hellinger distance of two distributions.
+
+        """
+        mu1 = P.mean()
+        Sigma1 = np.std(P)
+
+        mu2 = Q.mean()
+        Sigma2 = np.std(Q)
+
+        term1 = np.sqrt(2*Sigma1*Sigma2 / (Sigma1**2 + Sigma2**2))
+
+        term2 = np.exp(-.25 * (mu1 - mu2)**2 / (Sigma1**2 + Sigma2**2))
+
+        H_squared = 1 - term1 * term2
+
+        return np.sqrt(H_squared)
+
+    # -------------------------------------------------------------------------
+    def __BME_Calculator(self, MetaModel, obs_data, sigma2Dict, rmse=None):
+        """
+        This function computes the Bayesian model evidence (BME) via Monte
+        Carlo integration.
+
+        """
+        # Initializations
+        if hasattr(MetaModel, 'valid_likelihoods'):
+            valid_likelihoods = MetaModel.valid_likelihoods
+        else:
+            valid_likelihoods = []
+
+        post_snapshot = MetaModel.ExpDesign.post_snapshot
+        #print(f'post_snapshot: {post_snapshot}')
+        if post_snapshot or len(valid_likelihoods) != 0:
+            newpath = (r'Outputs_SeqPosteriorComparison/likelihood_vs_ref')
+            os.makedirs(newpath, exist_ok=True)
+
+        SamplingMethod = 'random'
+        MCsize = 10000
+        ESS = 0
+
+        # Estimation of the integral via Monte Varlo integration
+        while (ESS > MCsize) or (ESS < 1):
+
+            # Generate samples for Monte Carlo simulation
+            X_MC = MetaModel.ExpDesign.generate_samples(
+                MCsize, SamplingMethod
+                )
+
+            # Monte Carlo simulation for the candidate design
+            Y_MC, std_MC = MetaModel.eval_metamodel(samples=X_MC)
+
+            # Likelihood computation (Comparison of data and
+            # simulation results via PCE with candidate design)
+            Likelihoods = self.__normpdf(
+                Y_MC, std_MC, obs_data, sigma2Dict, rmse
+                )
+
+            # Check the Effective Sample Size (1000<ESS<MCsize)
+            ESS = 1 / np.sum(np.square(Likelihoods/np.sum(Likelihoods)))
+
+            # Enlarge sample size if it doesn't fulfill the criteria
+            if (ESS > MCsize) or (ESS < 1):
+                print(f'ESS={ESS} MC size should be larger.')
+                MCsize *= 10
+                ESS = 0
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, MCsize)[0]
+
+        # Reject the poorly performed prior
+        accepted = (Likelihoods/np.max(Likelihoods)) >= unif
+        X_Posterior = X_MC[accepted]
+
+        # ------------------------------------------------------------
+        # --- Kullback-Leibler Divergence & Information Entropy ------
+        # ------------------------------------------------------------
+        # Prior-based estimation of BME
+        logBME = np.log(np.nanmean(Likelihoods))
+
+        # TODO: Correction factor
+        # log_weight = self.__corr_factor_BME(obs_data, sigma2Dict, logBME)
+
+        # Posterior-based expectation of likelihoods
+        postExpLikelihoods = np.mean(np.log(Likelihoods[accepted]))
+
+        # Posterior-based expectation of prior densities
+        postExpPrior = np.mean(
+            np.log(MetaModel.ExpDesign.JDist.pdf(X_Posterior.T))
+            )
+
+        # Calculate Kullback-Leibler Divergence
+        # KLD = np.mean(np.log(Likelihoods[Likelihoods!=0])- logBME)
+        KLD = postExpLikelihoods - logBME
+
+        # Information Entropy based on Entropy paper Eq. 38
+        infEntropy = logBME - postExpPrior - postExpLikelihoods
+
+        # If post_snapshot is True, plot likelihood vs refrence
+        if post_snapshot or valid_likelihoods:
+            # Hellinger distance
+            valid_likelihoods = np.array(valid_likelihoods)
+            ref_like = np.log(valid_likelihoods[(valid_likelihoods > 0)])
+            est_like = np.log(Likelihoods[Likelihoods > 0])
+            distHellinger = self.__hellinger_distance(ref_like, est_like)
+
+            idx = len([name for name in os.listdir(newpath) if 'Likelihoods_'
+                       in name and os.path.isfile(os.path.join(newpath, name))])
+            fig, ax = plt.subplots()
+            try:
+                sns.kdeplot(np.log(valid_likelihoods[valid_likelihoods > 0]),
+                            shade=True, color="g", label='Ref. Likelihood')
+                sns.kdeplot(np.log(Likelihoods[Likelihoods > 0]), shade=True,
+                            color="b", label='Likelihood with PCE')
+            except:
+                pass
+
+            text = f"Hellinger Dist.={distHellinger:.3f}\n logBME={logBME:.3f}"
+            "\n DKL={KLD:.3f}"
+
+            plt.text(0.05, 0.75, text, bbox=dict(facecolor='wheat',
+                                                 edgecolor='black',
+                                                 boxstyle='round,pad=1'),
+                     transform=ax.transAxes)
+
+            fig.savefig(f'./{newpath}/Likelihoods_{idx}.pdf',
+                        bbox_inches='tight')
+            plt.close()
+
+        else:
+            distHellinger = 0.0
+
+        # Bayesian inference with Emulator only for 2D problem
+        if post_snapshot and MetaModel.n_params == 2 and not idx % 5:
+            BayesOpts = BayesInference(MetaModel)
+            BayesOpts.emulator = True
+            BayesOpts.plot_post_pred = False
+
+            # Select the inference method
+            import emcee
+            BayesOpts.inference_method = "MCMC"
+            # Set the MCMC parameters passed to self.mcmc_params
+            BayesOpts.mcmc_params = {
+                'n_steps': 1e5,
+                'n_walkers': 30,
+                'moves': emcee.moves.KDEMove(),
+                'verbose': False
+                }
+
+            # ----- Define the discrepancy model -------
+            obs_data = pd.DataFrame(obs_data, columns=self.Model.Output.names)
+            BayesOpts.measurement_error = obs_data
+
+            # # -- (Option B) --
+            DiscrepancyOpts = Discrepancy('')
+            DiscrepancyOpts.type = 'Gaussian'
+            DiscrepancyOpts.parameters = obs_data**2
+            BayesOpts.Discrepancy = DiscrepancyOpts
+            # Start the calibration/inference
+            Bayes_PCE = BayesOpts.create_inference()
+            X_Posterior = Bayes_PCE.posterior_df.values
+
+        return (logBME, KLD, X_Posterior, Likelihoods, distHellinger)
+
+    # -------------------------------------------------------------------------
+    def __validError(self, MetaModel):
+
+        # MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+        OutputName = Model.Output.names
+
+        # Extract the original model with the generated samples
+        valid_samples = MetaModel.valid_samples
+        valid_model_runs = MetaModel.valid_model_runs
+
+        # Run the PCE model with the generated samples
+        valid_PCE_runs, _ = MetaModel.eval_metamodel(samples=valid_samples)
+
+        rms_error = {}
+        valid_error = {}
+        # Loop over the keys and compute RMSE error.
+        for key in OutputName:
+            rms_error[key] = mean_squared_error(
+                valid_model_runs[key], valid_PCE_runs[key],
+                multioutput='raw_values',
+                sample_weight=None,
+                squared=False)
+            # Validation error
+            valid_error[key] = (rms_error[key]**2)
+            valid_error[key] /= np.var(valid_model_runs[key], ddof=1, axis=0)
+
+            # Print a report table
+            print("\n>>>>> Updated Errors of {} <<<<<".format(key))
+            print("\nIndex  |  RMSE   |  Validation Error")
+            print('-'*35)
+            print('\n'.join(f'{i+1}  |  {k:.3e}  |  {j:.3e}' for i, (k, j)
+                            in enumerate(zip(rms_error[key],
+                                             valid_error[key]))))
+
+        return rms_error, valid_error
+
+    # -------------------------------------------------------------------------
+    def __error_Mean_Std(self):
+
+        MetaModel = self.MetaModel
+        # Extract the mean and std provided by user
+        df_MCReference = MetaModel.ModelObj.mc_reference
+
+        # Compute the mean and std based on the MetaModel
+        pce_means, pce_stds = self._compute_pce_moments(MetaModel)
+
+        # Compute the root mean squared error
+        for output in MetaModel.ModelObj.Output.names:
+
+            # Compute the error between mean and std of MetaModel and OrigModel
+            RMSE_Mean = mean_squared_error(
+                df_MCReference['mean'], pce_means[output], squared=False
+                )
+            RMSE_std = mean_squared_error(
+                df_MCReference['std'], pce_means[output], squared=False
+                )
+
+        return RMSE_Mean, RMSE_std
+
+    # -------------------------------------------------------------------------
+    def _compute_pce_moments(self, MetaModel):
+        """
+        Computes the first two moments using the PCE-based meta-model.
+
+        Returns
+        -------
+        pce_means: dict
+            The first moment (mean) of the surrogate.
+        pce_stds: dict
+            The second moment (standard deviation) of the surrogate.
+
+        """
+        outputs = MetaModel.ModelObj.Output.names
+        pce_means_b = {}
+        pce_stds_b = {}
+
+        # Loop over bootstrap iterations
+        for b_i in range(MetaModel.n_bootstrap_itrs):
+            # Loop over the metamodels
+            coeffs_dicts = MetaModel.coeffs_dict[f'b_{b_i+1}'].items()
+            means = {}
+            stds = {}
+            for output, coef_dict in coeffs_dicts:
+
+                pce_mean = np.zeros((len(coef_dict)))
+                pce_var = np.zeros((len(coef_dict)))
+
+                for index, values in coef_dict.items():
+                    idx = int(index.split('_')[1]) - 1
+                    coeffs = MetaModel.coeffs_dict[f'b_{b_i+1}'][output][index]
+
+                    # Mean = c_0
+                    if coeffs[0] != 0:
+                        pce_mean[idx] = coeffs[0]
+                    else:
+                        clf_poly = MetaModel.clf_poly[f'b_{b_i+1}'][output]
+                        pce_mean[idx] = clf_poly[index].intercept_
+                    # Var = sum(coeffs[1:]**2)
+                    pce_var[idx] = np.sum(np.square(coeffs[1:]))
+
+                # Save predictions for each output
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    PCA = MetaModel.pca[f'b_{b_i+1}'][output]
+                    means[output] = PCA.inverse_transform(pce_mean)
+                    stds[output] = PCA.inverse_transform(np.sqrt(pce_var))
+                else:
+                    means[output] = pce_mean
+                    stds[output] = np.sqrt(pce_var)
+
+            # Save predictions for each bootstrap iteration
+            pce_means_b[b_i] = means
+            pce_stds_b[b_i] = stds
+
+        # Change the order of nesting
+        mean_all = {}
+        for i in sorted(pce_means_b):
+            for k, v in pce_means_b[i].items():
+                if k not in mean_all:
+                    mean_all[k] = [None] * len(pce_means_b)
+                mean_all[k][i] = v
+        std_all = {}
+        for i in sorted(pce_stds_b):
+            for k, v in pce_stds_b[i].items():
+                if k not in std_all:
+                    std_all[k] = [None] * len(pce_stds_b)
+                std_all[k][i] = v
+
+        # Back transformation if PCA is selected.
+        pce_means, pce_stds = {}, {}
+        for output in outputs:
+            pce_means[output] = np.mean(mean_all[output], axis=0)
+            pce_stds[output] = np.mean(std_all[output], axis=0)
+
+        return pce_means, pce_stds
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/orthogonal_matching_pursuit.py b/examples/only-model/bayesvalidrox/surrogate_models/orthogonal_matching_pursuit.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4f99b8a19bb5dbdf41f093bd454c80c63a321bb
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/orthogonal_matching_pursuit.py
@@ -0,0 +1,366 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jul 15 14:08:59 2022
+
+@author: farid
+"""
+import numpy as np
+from sklearn.base import RegressorMixin
+from sklearn.linear_model._base import LinearModel
+from sklearn.utils import check_X_y
+
+
+def corr(x, y):
+    return abs(x.dot(y))/np.sqrt((x**2).sum())
+
+
+class OrthogonalMatchingPursuit(LinearModel, RegressorMixin):
+    '''
+    Regression with Orthogonal Matching Pursuit [1].
+
+    Parameters
+    ----------
+    fit_intercept : boolean, optional (DEFAULT = True)
+        whether to calculate the intercept for this model. If set
+        to false, no intercept will be used in calculations
+        (e.g. data is expected to be already centered).
+
+    copy_X : boolean, optional (DEFAULT = True)
+        If True, X will be copied; else, it may be overwritten.
+
+    verbose : boolean, optional (DEFAULT = FALSE)
+        Verbose mode when fitting the model
+
+    Attributes
+    ----------
+    coef_ : array, shape = (n_features)
+        Coefficients of the regression model (mean of posterior distribution)
+
+    active_ : array, dtype = np.bool, shape = (n_features)
+       True for non-zero coefficients, False otherwise
+
+    References
+    ----------
+    [1] Pati, Y., Rezaiifar, R., Krishnaprasad, P. (1993). Orthogonal matching
+        pursuit: recursive function approximation with application to wavelet
+        decomposition. Proceedings of 27th Asilomar Conference on Signals,
+        Systems and Computers, 40-44.
+    '''
+
+    def __init__(self, fit_intercept=True, normalize=False, copy_X=True,
+                 verbose=False):
+        self.fit_intercept   = fit_intercept
+        self.normalize       = normalize
+        self.copy_X          = copy_X
+        self.verbose         = verbose
+
+    def _preprocess_data(self, X, y):
+        """Center and scale data.
+        Centers data to have mean zero along axis 0. If fit_intercept=False or
+        if the X is a sparse matrix, no centering is done, but normalization
+        can still be applied. The function returns the statistics necessary to
+        reconstruct the input data, which are X_offset, y_offset, X_scale, such
+        that the output
+            X = (X - X_offset) / X_scale
+        X_scale is the L2 norm of X - X_offset.
+        """
+
+        if self.copy_X:
+            X = X.copy(order='K')
+
+        y = np.asarray(y, dtype=X.dtype)
+
+        if self.fit_intercept:
+            X_offset = np.average(X, axis=0)
+            X -= X_offset
+            if self.normalize:
+                X_scale = np.ones(X.shape[1], dtype=X.dtype)
+                std = np.sqrt(np.sum(X**2, axis=0)/(len(X)-1))
+                X_scale[std != 0] = std[std != 0]
+                X /= X_scale
+            else:
+                X_scale = np.ones(X.shape[1], dtype=X.dtype)
+            y_offset = np.mean(y)
+            y = y - y_offset
+        else:
+            X_offset = np.zeros(X.shape[1], dtype=X.dtype)
+            X_scale = np.ones(X.shape[1], dtype=X.dtype)
+            if y.ndim == 1:
+                y_offset = X.dtype.type(0)
+            else:
+                y_offset = np.zeros(y.shape[1], dtype=X.dtype)
+
+        return X, y, X_offset, y_offset, X_scale
+
+    def fit(self, X, y):
+        '''
+        Fits Regression with Orthogonal Matching Pursuit Algorithm.
+
+        Parameters
+        -----------
+        X: {array-like, sparse matrix} of size (n_samples, n_features)
+           Training data, matrix of explanatory variables
+
+        y: array-like of size [n_samples, n_features]
+           Target values
+
+        Returns
+        -------
+        self : object
+            Returns self.
+        '''
+        X, y = check_X_y(X, y, dtype=np.float64, y_numeric=True)
+        n_samples, n_features = X.shape
+
+        X, y, X_mean, y_mean, X_std = self._preprocess_data(X, y)
+        self._x_mean_ = X_mean
+        self._y_mean = y_mean
+        self._x_std = X_std
+
+        # Normalize columns of Psi, so that each column has norm = 1
+        norm_X = np.linalg.norm(X, axis=0)
+        X_norm = X/norm_X
+
+        # Initialize residual vector to full model response and normalize
+        R = y
+        norm_y = np.sqrt(np.dot(y, y))
+        r = y/norm_y
+
+        # Check for constant regressors
+        const_indices = np.where(~np.diff(X, axis=0).any(axis=0))[0]
+        bool_const = not const_indices
+
+        # Start regression using OPM algorithm
+        precision = 0        # Set precision criterion to precision of program
+        early_stop = True
+        cond_early = True    # Initialize condition for early stop
+        ind = []
+        iindx = []           # index of selected columns
+        indtot = np.arange(n_features)  # Full index set for remaining columns
+        kmax = min(n_samples, n_features)  # Maximum number of iterations
+        LOO = np.PINF * np.ones(kmax)  # Store LOO error at each iteration
+        LOOmin = np.PINF               # Initialize minimum value of LOO
+        coeff = np.zeros((n_features, kmax))
+        count = 0
+        k = 0.1                # Percentage of iteration history for early stop
+
+        # Begin iteration over regressors set (Matrix X)
+        while (np.linalg.norm(R) > precision) and (count <= kmax-1) and \
+              ((cond_early or early_stop) ^ ~cond_early):
+
+            # Update index set of columns yet to select
+            if count != 0:
+                indtot = np.delete(indtot, iindx)
+
+            # Find column of X that is most correlated with residual
+            h = abs(np.dot(r, X_norm))
+            iindx = np.argmax(h[indtot])
+            indx = indtot[iindx]
+
+            # initialize with the constant regressor, if it exists in the basis
+            if (count == 0) and bool_const:
+                # overwrite values for iindx and indx
+                iindx = const_indices[0]
+                indx = indtot[iindx]
+
+            # Invert the information matrix at the first iteration, later only
+            # update its value on the basis of the previously inverted one,
+            if count == 0:
+                M = 1 / np.dot(X[:, indx], X[:, indx])
+            else:
+                x = np.dot(X[:, ind].T, X[:, indx])
+                r = np.dot(X[:, indx], X[:, indx])
+                M = self.blockwise_inverse(M, x, x.T, r)
+
+            # Add newly found index to the selected indexes set
+            ind.append(indx)
+
+            # Select regressors subset (Projection subspace)
+            Xpro = X[:, ind]
+
+            # Obtain coefficient by performing OLS
+            TT = np.dot(y, Xpro)
+            beta = np.dot(M, TT)
+            coeff[ind, count] = beta
+
+            # Compute LOO error
+            LOO[count] = self.loo_error(Xpro, M, y, beta)
+
+            # Compute new residual due to new projection
+            R = y - np.dot(Xpro, beta)
+
+            # Normalize residual
+            norm_R = np.sqrt(np.dot(R, R))
+            r = R / norm_R
+
+            # Update counters and early-stop criterions
+            countinf = max(0, int(count-k*kmax))
+            LOOmin = min(LOOmin, LOO[count])
+
+            if count == 0:
+                cond_early = (LOO[0] <= LOOmin)
+            else:
+                cond_early = (min(LOO[countinf:count+1]) <= LOOmin)
+
+            if self.verbose:
+                print(f'Iteration: {count+1}, mod. LOOCV error : '
+                      f'{LOO[count]:.2e}')
+
+            # Update counter
+            count += 1
+
+        # Select projection with smallest cross-validation error
+        countmin = np.argmin(LOO[:-1])
+        self.coef_ = coeff[:, countmin]
+        self.active = coeff[:, countmin] != 0.0
+
+        # set intercept_
+        if self.fit_intercept:
+            self.coef_ = self.coef_ / X_std
+            self.intercept_ = y_mean - np.dot(X_mean, self.coef_.T)
+        else:
+            self.intercept_ = 0.
+
+        return self
+
+    def predict(self, X):
+        '''
+        Computes predictive distribution for test set.
+
+        Parameters
+        -----------
+        X: {array-like, sparse} (n_samples_test, n_features)
+           Test data, matrix of explanatory variables
+
+        Returns
+        -------
+        y_hat: numpy array of size (n_samples_test,)
+               Estimated values of targets on test set (i.e. mean of
+               predictive distribution)
+        '''
+
+        y_hat = np.dot(X, self.coef_) + self.intercept_
+
+        return y_hat
+
+    def loo_error(self, psi, inv_inf_matrix, y, coeffs):
+        """
+        Calculates the corrected LOO error for regression on regressor
+        matrix `psi` that generated the coefficients based on [1] and [2].
+
+        [1] Blatman, G., 2009. Adaptive sparse polynomial chaos expansions for
+            uncertainty propagation and sensitivity analysis (Doctoral
+            dissertation, Clermont-Ferrand 2).
+
+        [2] Blatman, G. and Sudret, B., 2011. Adaptive sparse polynomial chaos
+            expansion based on least angle regression. Journal of computational
+            Physics, 230(6), pp.2345-2367.
+
+        Parameters
+        ----------
+        psi : array of shape (n_samples, n_feature)
+            Orthogonal bases evaluated at the samples.
+        inv_inf_matrix : array
+            Inverse of the information matrix.
+        y : array of shape (n_samples, )
+            Targets.
+        coeffs : array
+            Computed regresssor cofficients.
+
+        Returns
+        -------
+        loo_error : float
+            Modified LOOCV error.
+
+        """
+
+        # NrEvaluation (Size of experimental design)
+        N, P = psi.shape
+
+        # h factor (the full matrix is not calculated explicitly,
+        # only the trace is, to save memory)
+        PsiM = np.dot(psi, inv_inf_matrix)
+
+        h = np.sum(np.multiply(PsiM, psi), axis=1, dtype=np.float128)
+
+        # ------ Calculate Error Loocv for each measurement point ----
+        # Residuals
+        residual = np.dot(psi, coeffs) - y
+
+        # Variance
+        varY = np.var(y)
+
+        if varY == 0:
+            norm_emp_error = 0
+            loo_error = 0
+        else:
+            norm_emp_error = np.mean(residual**2)/varY
+
+            loo_error = np.mean(np.square(residual / (1-h))) / varY
+
+            # if there are NaNs, just return an infinite LOO error (this
+            # happens, e.g., when a strongly underdetermined problem is solved)
+            if np.isnan(loo_error):
+                loo_error = np.inf
+
+        # Corrected Error for over-determined system
+        tr_M = np.trace(np.atleast_2d(inv_inf_matrix))
+        if tr_M < 0 or abs(tr_M) > 1e6:
+            tr_M = np.trace(np.linalg.pinv(np.dot(psi.T, psi)))
+
+        # Over-determined system of Equation
+        if N > P:
+            T_factor = N/(N-P) * (1 + tr_M)
+
+        # Under-determined system of Equation
+        else:
+            T_factor = np.inf
+
+        loo_error *= T_factor
+
+        return loo_error
+
+    def blockwise_inverse(self, Ainv, B, C, D):
+        """
+        non-singular square matrix M defined as M = [[A B]; [C D]] .
+        B, C and D can have any dimension, provided their combination defines
+        a square matrix M.
+
+        Parameters
+        ----------
+        Ainv : float or array
+            inverse of the square-submatrix A.
+        B : float or array
+            Information matrix with all new regressor.
+        C : float or array
+            Transpose of B.
+        D : float or array
+            Information matrix with all selected regressors.
+
+        Returns
+        -------
+        M : array
+            Inverse of the information matrix.
+
+        """
+        if np.isscalar(D):
+            # Inverse of D
+            Dinv = 1/D
+            # Schur complement
+            SCinv = 1/(D - np.dot(C, np.dot(Ainv, B[:, None])))[0]
+        else:
+            # Inverse of D
+            Dinv = np.linalg.solve(D, np.eye(D.shape))
+            # Schur complement
+            SCinv = np.linalg.solve((D - C*Ainv*B), np.eye(D.shape))
+
+        T1 = np.dot(Ainv, np.dot(B[:, None], SCinv))
+        T2 = np.dot(C, Ainv)
+
+        # Assemble the inverse matrix
+        M = np.vstack((
+            np.hstack((Ainv+T1*T2, -T1)),
+            np.hstack((-(SCinv)*T2, SCinv))
+            ))
+        return M
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_ard.py b/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_ard.py
new file mode 100644
index 0000000000000000000000000000000000000000..44073da8e78642ba3b3914f6ce55a2d01986b1f1
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_ard.py
@@ -0,0 +1,475 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Mar 24 19:41:45 2020
+
+@author: farid
+"""
+import numpy as np
+from scipy.linalg import solve_triangular
+from numpy.linalg import LinAlgError
+from sklearn.base import RegressorMixin
+from sklearn.linear_model._base import LinearModel
+import warnings
+from sklearn.utils import check_X_y
+from scipy.linalg import pinvh
+
+
+def update_precisions(Q,S,q,s,A,active,tol,n_samples,clf_bias):
+    '''
+    Selects one feature to be added/recomputed/deleted to model based on
+    effect it will have on value of log marginal likelihood.
+    '''
+    # initialise vector holding changes in log marginal likelihood
+    deltaL = np.zeros(Q.shape[0])
+
+    # identify features that can be added , recomputed and deleted in model
+    theta        =  q**2 - s
+    add          =  (theta > 0) * (active == False)
+    recompute    =  (theta > 0) * (active == True)
+    delete       = ~(add + recompute)
+
+    # compute sparsity & quality parameters corresponding to features in
+    # three groups identified above
+    Qadd,Sadd      = Q[add], S[add]
+    Qrec,Srec,Arec = Q[recompute], S[recompute], A[recompute]
+    Qdel,Sdel,Adel = Q[delete], S[delete], A[delete]
+
+    # compute new alpha's (precision parameters) for features that are
+    # currently in model and will be recomputed
+    Anew           = s[recompute]**2/ ( theta[recompute] + np.finfo(np.float32).eps)
+    delta_alpha    = (1./Anew - 1./Arec)
+
+    # compute change in log marginal likelihood
+    deltaL[add]       = ( Qadd**2 - Sadd ) / Sadd + np.log(Sadd/Qadd**2 )
+    deltaL[recompute] = Qrec**2 / (Srec + 1. / delta_alpha) - np.log(1 + Srec*delta_alpha)
+    deltaL[delete]    = Qdel**2 / (Sdel - Adel) - np.log(1 - Sdel / Adel)
+    deltaL            = deltaL  / n_samples
+
+    # find feature which caused largest change in likelihood
+    feature_index = np.argmax(deltaL)
+
+    # no deletions or additions
+    same_features  = np.sum( theta[~recompute] > 0) == 0
+
+    # changes in precision for features already in model is below threshold
+    no_delta       = np.sum( abs( Anew - Arec ) > tol ) == 0
+    # if same_features: print(abs( Anew - Arec ))
+    # print("same_features = {} no_delta = {}".format(same_features,no_delta))
+    # check convergence: if no features to add or delete and small change in
+    #                    precision for current features then terminate
+    converged = False
+    if same_features and no_delta:
+        converged = True
+        return [A,converged]
+
+    # if not converged update precision parameter of weights and return
+    if theta[feature_index] > 0:
+        A[feature_index] = s[feature_index]**2 / theta[feature_index]
+        if active[feature_index] == False:
+            active[feature_index] = True
+    else:
+        # at least two active features
+        if active[feature_index] == True and np.sum(active) >= 2:
+            # do not remove bias term in classification
+            # (in regression it is factored in through centering)
+            if not (feature_index == 0 and clf_bias):
+                active[feature_index] = False
+                A[feature_index]      = np.PINF
+
+    return [A,converged]
+
+
+class RegressionFastARD(LinearModel, RegressorMixin):
+    '''
+    Regression with Automatic Relevance Determination (Fast Version uses
+    Sparse Bayesian Learning)
+    https://github.com/AmazaspShumik/sklearn-bayes/blob/master/skbayes/rvm_ard_models/fast_rvm.py
+
+    Parameters
+    ----------
+    n_iter: int, optional (DEFAULT = 100)
+        Maximum number of iterations
+
+    start: list, optional (DEFAULT = None)
+        Initial selected features.
+
+    tol: float, optional (DEFAULT = 1e-3)
+        If absolute change in precision parameter for weights is below threshold
+        algorithm terminates.
+
+    fit_intercept : boolean, optional (DEFAULT = True)
+        whether to calculate the intercept for this model. If set
+        to false, no intercept will be used in calculations
+        (e.g. data is expected to be already centered).
+
+    copy_X : boolean, optional (DEFAULT = True)
+        If True, X will be copied; else, it may be overwritten.
+
+    compute_score : bool, default=False
+        If True, compute the log marginal likelihood at each iteration of the
+        optimization.
+
+    verbose : boolean, optional (DEFAULT = FALSE)
+        Verbose mode when fitting the model
+
+    Attributes
+    ----------
+    coef_ : array, shape = (n_features)
+        Coefficients of the regression model (mean of posterior distribution)
+
+    alpha_ : float
+       estimated precision of the noise
+
+    active_ : array, dtype = np.bool, shape = (n_features)
+       True for non-zero coefficients, False otherwise
+
+    lambda_ : array, shape = (n_features)
+       estimated precisions of the coefficients
+
+    sigma_ : array, shape = (n_features, n_features)
+        estimated covariance matrix of the weights, computed only
+        for non-zero coefficients
+
+    scores_ : array-like of shape (n_iter_+1,)
+        If computed_score is True, value of the log marginal likelihood (to be
+        maximized) at each iteration of the optimization.
+
+    References
+    ----------
+    [1] Fast marginal likelihood maximisation for sparse Bayesian models
+    (Tipping & Faul 2003) (http://www.miketipping.com/papers/met-fastsbl.pdf)
+    [2] Analysis of sparse Bayesian learning (Tipping & Faul 2001)
+        (http://www.miketipping.com/abstracts.htm#Faul:NIPS01)
+    '''
+
+    def __init__(self, n_iter=300, start=None, tol=1e-3, fit_intercept=True,
+                 normalize=False, copy_X=True, compute_score=False, verbose=False):
+        self.n_iter          = n_iter
+        self.start           = start
+        self.tol             = tol
+        self.scores_         = list()
+        self.fit_intercept   = fit_intercept
+        self.normalize       = normalize
+        self.copy_X          = copy_X
+        self.compute_score   = compute_score
+        self.verbose         = verbose
+
+    def _preprocess_data(self, X, y):
+        """Center and scale data.
+        Centers data to have mean zero along axis 0. If fit_intercept=False or
+        if the X is a sparse matrix, no centering is done, but normalization
+        can still be applied. The function returns the statistics necessary to
+        reconstruct the input data, which are X_offset, y_offset, X_scale, such
+        that the output
+            X = (X - X_offset) / X_scale
+        X_scale is the L2 norm of X - X_offset.
+        """
+
+        if self.copy_X:
+            X = X.copy(order='K')
+
+        y = np.asarray(y, dtype=X.dtype)
+
+        if self.fit_intercept:
+            X_offset = np.average(X, axis=0)
+            X -= X_offset
+            if self.normalize:
+                X_scale = np.ones(X.shape[1], dtype=X.dtype)
+                std = np.sqrt(np.sum(X**2, axis=0)/(len(X)-1))
+                X_scale[std != 0] = std[std != 0]
+                X /= X_scale
+            else:
+                X_scale = np.ones(X.shape[1], dtype=X.dtype)
+            y_offset = np.mean(y)
+            y = y - y_offset
+        else:
+            X_offset = np.zeros(X.shape[1], dtype=X.dtype)
+            X_scale = np.ones(X.shape[1], dtype=X.dtype)
+            if y.ndim == 1:
+                y_offset = X.dtype.type(0)
+            else:
+                y_offset = np.zeros(y.shape[1], dtype=X.dtype)
+
+        return X, y, X_offset, y_offset, X_scale
+
+    def fit(self, X, y):
+        '''
+        Fits ARD Regression with Sequential Sparse Bayes Algorithm.
+
+        Parameters
+        -----------
+        X: {array-like, sparse matrix} of size (n_samples, n_features)
+           Training data, matrix of explanatory variables
+
+        y: array-like of size [n_samples, n_features]
+           Target values
+
+        Returns
+        -------
+        self : object
+            Returns self.
+        '''
+        X, y = check_X_y(X, y, dtype=np.float64, y_numeric=True)
+        n_samples, n_features = X.shape
+
+        X, y, X_mean, y_mean, X_std = self._preprocess_data(X, y)
+        self._x_mean_ = X_mean
+        self._y_mean = y_mean
+        self._x_std = X_std
+
+        #  precompute X'*Y , X'*X for faster iterations & allocate memory for
+        #  sparsity & quality vectors
+        XY = np.dot(X.T, y)
+        XX = np.dot(X.T, X)
+        XXd = np.diag(XX)
+
+        #  initialise precision of noise & and coefficients
+        var_y = np.var(y)
+
+        # check that variance is non zero !!!
+        if var_y == 0:
+            beta = 1e-2
+            self.var_y = True
+        else:
+            beta = 1. / np.var(y)
+            self.var_y = False
+
+        A = np.PINF * np.ones(n_features)
+        active = np.zeros(n_features, dtype=np.bool)
+
+        if self.start is not None and not hasattr(self, 'active_'):
+            start = self.start
+            # start from a given start basis vector
+            proj = XY**2 / XXd
+            active[start] = True
+            A[start] = XXd[start]/(proj[start] - var_y)
+
+        else:
+            # in case of almost perfect multicollinearity between some features
+            # start from feature 0
+            if np.sum(XXd - X_mean**2 < np.finfo(np.float32).eps) > 0:
+                A[0] = np.finfo(np.float16).eps
+                active[0] = True
+
+            else:
+                # start from a single basis vector with largest projection on
+                # targets
+                proj = XY**2 / XXd
+                start = np.argmax(proj)
+                active[start] = True
+                A[start] = XXd[start]/(proj[start] - var_y +
+                                       np.finfo(np.float32).eps)
+
+        warning_flag = 0
+        scores_ = []
+        for i in range(self.n_iter):
+            # Handle variance zero
+            if self.var_y:
+                A[0] = y_mean
+                active[0] = True
+                converged = True
+                break
+
+            XXa = XX[active, :][:, active]
+            XYa = XY[active]
+            Aa = A[active]
+
+            # mean & covariance of posterior distribution
+            Mn, Ri, cholesky = self._posterior_dist(Aa, beta, XXa, XYa)
+            if cholesky:
+                Sdiag = np.sum(Ri**2, 0)
+            else:
+                Sdiag = np.copy(np.diag(Ri))
+                warning_flag += 1
+
+            # raise warning in case cholesky fails
+            if warning_flag == 1:
+                warnings.warn(("Cholesky decomposition failed! Algorithm uses "
+                               "pinvh, which is significantly slower, if you "
+                               "use RVR it is advised to change parameters of "
+                               "kernel"))
+
+            # compute quality & sparsity parameters
+            s, q, S, Q = self._sparsity_quality(XX, XXd, XY, XYa, Aa, Ri,
+                                                active, beta, cholesky)
+
+            # update precision parameter for noise distribution
+            rss = np.sum((y - np.dot(X[:, active], Mn))**2)
+
+            # if near perfect fit , then terminate
+            if (rss / n_samples/var_y) < self.tol:
+                warnings.warn('Early termination due to near perfect fit')
+                converged = True
+                break
+            beta = n_samples - np.sum(active) + np.sum(Aa * Sdiag)
+            beta /= rss
+            # beta /= (rss + np.finfo(np.float32).eps)
+
+            # update precision parameters of coefficients
+            A, converged = update_precisions(Q, S, q, s, A, active, self.tol,
+                                             n_samples, False)
+
+            if self.compute_score:
+                scores_.append(self.log_marginal_like(XXa, XYa, Aa, beta))
+
+            if self.verbose:
+                print(('Iteration: {0}, number of features '
+                       'in the model: {1}').format(i, np.sum(active)))
+
+            if converged or i == self.n_iter - 1:
+                if converged and self.verbose:
+                    print('Algorithm converged !')
+                break
+
+        # after last update of alpha & beta update parameters
+        # of posterior distribution
+        XXa, XYa, Aa = XX[active, :][:, active], XY[active], A[active]
+        Mn, Sn, cholesky = self._posterior_dist(Aa, beta, XXa, XYa, True)
+        self.coef_ = np.zeros(n_features)
+        self.coef_[active] = Mn
+        self.sigma_ = Sn
+        self.active_ = active
+        self.lambda_ = A
+        self.alpha_ = beta
+        self.converged = converged
+        if self.compute_score:
+            self.scores_ = np.array(scores_)
+
+        # set intercept_
+        if self.fit_intercept:
+            self.coef_ = self.coef_ / X_std
+            self.intercept_ = y_mean - np.dot(X_mean, self.coef_.T)
+        else:
+            self.intercept_ = 0.
+        return self
+
+    def log_marginal_like(self, XXa, XYa, Aa, beta):
+        """Computes the log of the marginal likelihood."""
+        N, M = XXa.shape
+        A = np.diag(Aa)
+
+        Mn, sigma_, cholesky = self._posterior_dist(Aa, beta, XXa, XYa,
+                                                    full_covar=True)
+
+        C = sigma_ + np.dot(np.dot(XXa.T, np.linalg.pinv(A)), XXa)
+
+        score = np.dot(np.dot(XYa.T, np.linalg.pinv(C)), XYa) +\
+            np.log(np.linalg.det(C)) + N * np.log(2 * np.pi)
+
+        return -0.5 * score
+
+    def predict(self, X, return_std=False):
+        '''
+        Computes predictive distribution for test set.
+        Predictive distribution for each data point is one dimensional
+        Gaussian and therefore is characterised by mean and variance based on
+        Ref.[1] Section 3.3.2.
+
+        Parameters
+        -----------
+        X: {array-like, sparse} (n_samples_test, n_features)
+           Test data, matrix of explanatory variables
+
+        Returns
+        -------
+        : list of length two [y_hat, var_hat]
+
+             y_hat: numpy array of size (n_samples_test,)
+                    Estimated values of targets on test set (i.e. mean of
+                    predictive distribution)
+
+                var_hat: numpy array of size (n_samples_test,)
+                    Variance of predictive distribution
+        References
+        ----------
+        [1] Bishop, C. M. (2006). Pattern recognition and machine learning.
+        springer.
+        '''
+
+        y_hat = np.dot(X, self.coef_) + self.intercept_
+
+        if return_std:
+            # Handle the zero variance case
+            if self.var_y:
+                return y_hat, np.zeros_like(y_hat)
+
+            if self.normalize:
+                X -= self._x_mean_[self.active_]
+                X /= self._x_std[self.active_]
+            var_hat = 1./self.alpha_
+            var_hat += np.sum(X.dot(self.sigma_) * X, axis=1)
+            std_hat = np.sqrt(var_hat)
+            return y_hat, std_hat
+        else:
+            return y_hat
+
+    def _posterior_dist(self, A, beta, XX, XY, full_covar=False):
+        '''
+        Calculates mean and covariance matrix of posterior distribution
+        of coefficients.
+        '''
+        # compute precision matrix for active features
+        Sinv = beta * XX
+        np.fill_diagonal(Sinv, np.diag(Sinv) + A)
+        cholesky = True
+
+        # try cholesky, if it fails go back to pinvh
+        try:
+            # find posterior mean : R*R.T*mean = beta*X.T*Y
+            # solve(R*z = beta*X.T*Y) =>find z=> solve(R.T*mean = z)=>find mean
+            R = np.linalg.cholesky(Sinv)
+            Z = solve_triangular(R, beta*XY, check_finite=True, lower=True)
+            Mn = solve_triangular(R.T, Z, check_finite=True, lower=False)
+
+            # invert lower triangular matrix from cholesky decomposition
+            Ri = solve_triangular(R, np.eye(A.shape[0]), check_finite=False,
+                                  lower=True)
+            if full_covar:
+                Sn = np.dot(Ri.T, Ri)
+                return Mn, Sn, cholesky
+            else:
+                return Mn, Ri, cholesky
+        except LinAlgError:
+            cholesky = False
+            Sn = pinvh(Sinv)
+            Mn = beta*np.dot(Sinv, XY)
+            return Mn, Sn, cholesky
+
+    def _sparsity_quality(self, XX, XXd, XY, XYa, Aa, Ri, active, beta, cholesky):
+        '''
+        Calculates sparsity and quality parameters for each feature
+
+        Theoretical Note:
+        -----------------
+        Here we used Woodbury Identity for inverting covariance matrix
+        of target distribution
+        C    = 1/beta + 1/alpha * X' * X
+        C^-1 = beta - beta^2 * X * Sn * X'
+        '''
+        bxy = beta*XY
+        bxx = beta*XXd
+        if cholesky:
+            # here Ri is inverse of lower triangular matrix obtained from
+            # cholesky decomp
+            xxr = np.dot(XX[:, active], Ri.T)
+            rxy = np.dot(Ri, XYa)
+            S = bxx - beta**2 * np.sum(xxr**2, axis=1)
+            Q = bxy - beta**2 * np.dot(xxr, rxy)
+        else:
+            # here Ri is covariance matrix
+            XXa = XX[:, active]
+            XS = np.dot(XXa, Ri)
+            S = bxx - beta**2 * np.sum(XS*XXa, 1)
+            Q = bxy - beta**2 * np.dot(XS, XYa)
+        # Use following:
+        # (EQ 1) q = A*Q/(A - S) ; s = A*S/(A-S)
+        # so if A = np.PINF q = Q, s = S
+        qi = np.copy(Q)
+        si = np.copy(S)
+        # If A is not np.PINF, then it should be 'active' feature => use (EQ 1)
+        Qa, Sa = Q[active], S[active]
+        qi[active] = Aa * Qa / (Aa - Sa)
+        si[active] = Aa * Sa / (Aa - Sa)
+
+        return [si, qi, S, Q]
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_laplace.py b/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_laplace.py
new file mode 100644
index 0000000000000000000000000000000000000000..bdff324ede818a42d226e9aa55aaf01666ca8fc8
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/reg_fast_laplace.py
@@ -0,0 +1,452 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+import numpy as np
+from sklearn.utils import as_float_array
+from sklearn.model_selection import KFold
+
+
+class RegressionFastLaplace():
+    '''
+    Sparse regression with Bayesian Compressive Sensing as described in Alg. 1
+    (Fast Laplace) of Ref.[1], which updated formulas from [2].
+
+    sigma2: noise precision (sigma^2)
+    nu fixed to 0
+
+    uqlab/lib/uq_regression/BCS/uq_bsc.m
+
+    Parameters
+    ----------
+    n_iter: int, optional (DEFAULT = 1000)
+        Maximum number of iterations
+
+    tol: float, optional (DEFAULT = 1e-7)
+        If absolute change in precision parameter for weights is below
+        threshold algorithm terminates.
+
+    fit_intercept : boolean, optional (DEFAULT = True)
+        whether to calculate the intercept for this model. If set
+        to false, no intercept will be used in calculations
+        (e.g. data is expected to be already centered).
+
+    copy_X : boolean, optional (DEFAULT = True)
+        If True, X will be copied; else, it may be overwritten.
+
+    verbose : boolean, optional (DEFAULT = FALSE)
+        Verbose mode when fitting the model
+
+    Attributes
+    ----------
+    coef_ : array, shape = (n_features)
+        Coefficients of the regression model (mean of posterior distribution)
+
+    alpha_ : float
+       estimated precision of the noise
+
+    active_ : array, dtype = np.bool, shape = (n_features)
+       True for non-zero coefficients, False otherwise
+
+    lambda_ : array, shape = (n_features)
+       estimated precisions of the coefficients
+
+    sigma_ : array, shape = (n_features, n_features)
+        estimated covariance matrix of the weights, computed only
+        for non-zero coefficients
+
+    References
+    ----------
+    [1] Babacan, S. D., Molina, R., & Katsaggelos, A. K. (2009). Bayesian
+        compressive sensing using Laplace priors. IEEE Transactions on image
+        processing, 19(1), 53-63.
+    [2] Fast marginal likelihood maximisation for sparse Bayesian models
+        (Tipping & Faul 2003).
+        (http://www.miketipping.com/papers/met-fastsbl.pdf)
+    '''
+
+    def __init__(self, n_iter=1000, n_Kfold=10, tol=1e-7, fit_intercept=False,
+                 bias_term=True, copy_X=True, verbose=False):
+        self.n_iter = n_iter
+        self.n_Kfold = n_Kfold
+        self.tol = tol
+        self.fit_intercept = fit_intercept
+        self.bias_term = bias_term
+        self.copy_X = copy_X
+        self.verbose = verbose
+
+    def _center_data(self, X, y):
+        ''' Centers data'''
+        X = as_float_array(X, self.copy_X)
+
+        # normalisation should be done in preprocessing!
+        X_std = np.ones(X.shape[1], dtype=X.dtype)
+        if self.fit_intercept:
+            X_mean = np.average(X, axis=0)
+            y_mean = np.average(y, axis=0)
+            X -= X_mean
+            y -= y_mean
+        else:
+            X_mean = np.zeros(X.shape[1], dtype=X.dtype)
+            y_mean = 0. if y.ndim == 1 else np.zeros(y.shape[1], dtype=X.dtype)
+        return X, y, X_mean, y_mean, X_std
+
+    def fit(self, X, y):
+
+        k_fold = KFold(n_splits=self.n_Kfold)
+
+        varY = np.var(y, ddof=1) if np.var(y, ddof=1) != 0 else 1.0
+        sigma2s = len(y)*varY*(10**np.linspace(-16, -1, self.n_Kfold))
+
+        errors = np.zeros((len(sigma2s), self.n_Kfold))
+        for s, sigma2 in enumerate(sigma2s):
+            for k, (train, test) in enumerate(k_fold.split(X, y)):
+                self.fit_(X[train], y[train], sigma2)
+                errors[s, k] = np.linalg.norm(
+                    y[test] - self.predict(X[test])
+                    )**2/len(test)
+
+        KfCVerror = np.sum(errors, axis=1)/self.n_Kfold/varY
+        i_minCV = np.argmin(KfCVerror)
+
+        self.kfoldCVerror = np.min(KfCVerror)
+
+        return self.fit_(X, y, sigma2s[i_minCV])
+
+    def fit_(self, X, y, sigma2):
+
+        N, P = X.shape
+        # n_samples, n_features = X.shape
+
+        X, y, X_mean, y_mean, X_std = self._center_data(X, y)
+        self._x_mean_ = X_mean
+        self._y_mean = y_mean
+        self._x_std = X_std
+
+        # check that variance is non zero !!!
+        if np.var(y) == 0:
+            self.var_y = True
+        else:
+            self.var_y = False
+        beta = 1./sigma2
+
+        #  precompute X'*Y , X'*X for faster iterations & allocate memory for
+        #  sparsity & quality vectors X=Psi
+        PsiTY = np.dot(X.T, y)
+        PsiTPsi = np.dot(X.T, X)
+        XXd = np.diag(PsiTPsi)
+
+        # initialize with constant regressor, or if that one does not exist,
+        # with the one that has the largest correlation with Y
+        ind_global_to_local = np.zeros(P, dtype=np.int32)
+
+        # identify constant regressors
+        constidx = np.where(~np.diff(X, axis=0).all(axis=0))[0]
+
+        if self.bias_term and constidx.size != 0:
+            ind_start = constidx[0]
+            ind_global_to_local[ind_start] = True
+        else:
+            # start from a single basis vector with largest projection on
+            # targets
+            proj = np.divide(np.square(PsiTY), XXd)
+            ind_start = np.argmax(proj)
+            ind_global_to_local[ind_start] = True
+
+        num_active = 1
+        active_indices = [ind_start]
+        deleted_indices = []
+        bcs_path = [ind_start]
+        gamma = np.zeros(P)
+        # for the initial value of gamma(ind_start), use the RVM formula
+        #   gamma = (q^2 - s) / (s^2)
+        # and the fact that initially s = S = beta*Psi_i'*Psi_i and q = Q =
+        # beta*Psi_i'*Y
+        gamma[ind_start] = np.square(PsiTY[ind_start])
+        gamma[ind_start] -= sigma2 * PsiTPsi[ind_start, ind_start]
+        gamma[ind_start] /= np.square(PsiTPsi[ind_start, ind_start])
+
+        Sigma = 1. / (beta * PsiTPsi[ind_start, ind_start]
+                      + 1./gamma[ind_start])
+
+        mu = Sigma * PsiTY[ind_start] * beta
+        tmp1 = beta * PsiTPsi[ind_start]
+        S = beta * np.diag(PsiTPsi).T - Sigma * np.square(tmp1)
+        Q = beta * PsiTY.T - mu*(tmp1)
+
+        tmp2 = np.ones(P)  # alternative computation for the initial s,q
+        q0tilde = PsiTY[ind_start]
+        s0tilde = PsiTPsi[ind_start, ind_start]
+        tmp2[ind_start] = s0tilde / (q0tilde**2) / beta
+        s = np.divide(S, tmp2)
+        q = np.divide(Q, tmp2)
+        Lambda = 2*(num_active - 1) / np.sum(gamma)
+
+        Delta_L_max = []
+        for i in range(self.n_iter):
+            # Handle variance zero
+            if self.var_y:
+                mu = np.mean(y)
+                break
+
+            if self.verbose:
+                print('    lambda = {0:.6e}\n'.format(Lambda))
+
+            # Calculate the potential updated value of each gamma[i]
+            if Lambda == 0.0:  # RVM
+                gamma_potential = np.multiply((
+                    (q**2 - s) > Lambda),
+                    np.divide(q**2 - s, s**2)
+                    )
+            else:
+                a = Lambda * s**2
+                b = s**2 + 2*Lambda*s
+                c = Lambda + s - q**2
+                gamma_potential = np.multiply(
+                    (c < 0), np.divide(
+                        -b + np.sqrt(b**2 - 4*np.multiply(a, c)), 2*a)
+                    )
+
+            l_gamma = - np.log(np.absolute(1 + np.multiply(gamma, s)))
+            l_gamma += np.divide(np.multiply(q**2, gamma),
+                                 (1 + np.multiply(gamma, s)))
+            l_gamma -= Lambda*gamma  # omitted the factor 1/2
+
+            # Contribution of each updated gamma(i) to L(gamma)
+            l_gamma_potential = - np.log(
+                np.absolute(1 + np.multiply(gamma_potential, s))
+                )
+            l_gamma_potential += np.divide(
+                np.multiply(q**2, gamma_potential),
+                (1 + np.multiply(gamma_potential, s))
+                )
+            # omitted the factor 1/2
+            l_gamma_potential -= Lambda*gamma_potential
+
+            # Check how L(gamma) would change if we replaced gamma(i) by the
+            # updated gamma_potential(i), for each i separately
+            Delta_L_potential = l_gamma_potential - l_gamma
+
+            # deleted indices should not be chosen again
+            if len(deleted_indices) != 0:
+                values = -np.inf * np.ones(len(deleted_indices))
+                Delta_L_potential[deleted_indices] = values
+
+            Delta_L_max.append(np.nanmax(Delta_L_potential))
+            ind_L_max = np.nanargmax(Delta_L_potential)
+
+            # in case there is only 1 regressor in the model and it would now
+            # be deleted
+            if len(active_indices) == 1 and ind_L_max == active_indices[0] \
+               and gamma_potential[ind_L_max] == 0.0:
+                Delta_L_potential[ind_L_max] = -np.inf
+                Delta_L_max[i] = np.max(Delta_L_potential)
+                ind_L_max = np.argmax(Delta_L_potential)
+
+            # If L did not change significantly anymore, break
+            if Delta_L_max[i] <= 0.0 or\
+                    (i > 0 and all(np.absolute(Delta_L_max[i-1:])
+                                   < sum(Delta_L_max)*self.tol)) or \
+                    (i > 0 and all(np.diff(bcs_path)[i-1:] == 0.0)):
+                if self.verbose:
+                    print('Increase in L: {0:.6e} (eta = {1:.3e})\
+                          -- break\n'.format(Delta_L_max[i], self.tol))
+                break
+
+            # Print information
+            if self.verbose:
+                print('    Delta L = {0:.6e} \n'.format(Delta_L_max[i]))
+
+            what_changed = int(gamma[ind_L_max] == 0.0)
+            what_changed -= int(gamma_potential[ind_L_max] == 0.0)
+
+            # Print information
+            if self.verbose:
+                if what_changed < 0:
+                    print(f'{i+1} - Remove regressor #{ind_L_max+1}..\n')
+                elif what_changed == 0:
+                    print(f'{i+1} - Recompute regressor #{ind_L_max+1}..\n')
+                else:
+                    print(f'{i+1} - Add regressor #{ind_L_max+1}..\n')
+
+            # --- Update all quantities ----
+            if what_changed == 1:
+                # adding a regressor
+
+                # update gamma
+                gamma[ind_L_max] = gamma_potential[ind_L_max]
+
+                Sigma_ii = 1.0 / (1.0/gamma[ind_L_max] + S[ind_L_max])
+                try:
+                    x_i = np.matmul(
+                        Sigma, PsiTPsi[active_indices, ind_L_max].reshape(-1, 1)
+                        )
+                except ValueError:
+                    x_i = Sigma * PsiTPsi[active_indices, ind_L_max]
+                tmp_1 = - (beta * Sigma_ii) * x_i
+                Sigma = np.vstack(
+                    (np.hstack(((beta**2 * Sigma_ii) * np.dot(x_i, x_i.T)
+                                + Sigma, tmp_1)), np.append(tmp_1.T, Sigma_ii))
+                    )
+                mu_i = Sigma_ii * Q[ind_L_max]
+                mu = np.vstack((mu - (beta * mu_i) * x_i, mu_i))
+
+                tmp2_1 = PsiTPsi[:, ind_L_max] - beta * np.squeeze(
+                    np.matmul(PsiTPsi[:, active_indices], x_i)
+                    )
+                if i == 0:
+                    tmp2_1[0] /= 2
+                tmp2 = beta * tmp2_1.T
+                S = S - Sigma_ii * np.square(tmp2)
+                Q = Q - mu_i * tmp2
+
+                num_active += 1
+                ind_global_to_local[ind_L_max] = num_active
+                active_indices.append(ind_L_max)
+                bcs_path.append(ind_L_max)
+
+            elif what_changed == 0:
+                # recomputation
+                # zero if regressor has not been chosen yet
+                if not ind_global_to_local[ind_L_max]:
+                    raise Exception('cannot recompute index{0} -- not yet\
+                                    part of the model!'.format(ind_L_max))
+                Sigma = np.atleast_2d(Sigma)
+                mu = np.atleast_2d(mu)
+                gamma_i_new = gamma_potential[ind_L_max]
+                gamma_i_old = gamma[ind_L_max]
+                # update gamma
+                gamma[ind_L_max] = gamma_potential[ind_L_max]
+
+                # index of regressor in Sigma
+                local_ind = ind_global_to_local[ind_L_max]-1
+
+                kappa_i = (1.0/gamma_i_new - 1.0/gamma_i_old)
+                kappa_i = 1.0 / kappa_i
+                kappa_i += Sigma[local_ind, local_ind]
+                kappa_i = 1 / kappa_i
+                Sigma_i_col = Sigma[:, local_ind]
+
+                Sigma = Sigma - kappa_i * (Sigma_i_col * Sigma_i_col.T)
+                mu_i = mu[local_ind]
+                mu = mu - (kappa_i * mu_i) * Sigma_i_col[:, None]
+
+                tmp1 = beta * np.dot(
+                    Sigma_i_col.reshape(1, -1), PsiTPsi[active_indices])[0]
+                S = S + kappa_i * np.square(tmp1)
+                Q = Q + (kappa_i * mu_i) * tmp1
+
+                # no change in active_indices or ind_global_to_local
+                bcs_path.append(ind_L_max + 0.1)
+
+            elif what_changed == -1:
+                gamma[ind_L_max] = 0
+
+                # index of regressor in Sigma
+                local_ind = ind_global_to_local[ind_L_max]-1
+
+                Sigma_ii_inv = 1. / Sigma[local_ind, local_ind]
+                Sigma_i_col = Sigma[:, local_ind]
+
+                Sigma = Sigma - Sigma_ii_inv * (Sigma_i_col * Sigma_i_col.T)
+
+                Sigma = np.delete(
+                    np.delete(Sigma, local_ind, axis=0), local_ind, axis=1)
+
+                mu = mu - (mu[local_ind] * Sigma_ii_inv) * Sigma_i_col[:, None]
+                mu = np.delete(mu, local_ind, axis=0)
+
+                tmp1 = beta * np.dot(Sigma_i_col, PsiTPsi[active_indices])
+                S = S + Sigma_ii_inv * np.square(tmp1)
+                Q = Q + (mu_i * Sigma_ii_inv) * tmp1
+
+                num_active -= 1
+                ind_global_to_local[ind_L_max] = 0.0
+                v = ind_global_to_local[ind_global_to_local > local_ind] - 1
+                ind_global_to_local[ind_global_to_local > local_ind] = v
+                del active_indices[local_ind]
+                deleted_indices.append(ind_L_max)
+                # and therefore ineligible
+                bcs_path.append(-ind_L_max)
+
+            # same for all three cases
+            tmp3 = 1 - np.multiply(gamma, S)
+            s = np.divide(S, tmp3)
+            q = np.divide(Q, tmp3)
+
+            # Update lambda
+            Lambda = 2*(num_active - 1) / np.sum(gamma)
+
+        # Prepare the result object
+        self.coef_ = np.zeros(P)
+        self.coef_[active_indices] = np.squeeze(mu)
+        self.sigma_ = Sigma
+        self.active_ = active_indices
+        self.gamma = gamma
+        self.Lambda = Lambda
+        self.beta = beta
+        self.bcs_path = bcs_path
+
+        # set intercept_
+        if self.fit_intercept:
+            self.coef_ = self.coef_ / X_std
+            self.intercept_ = y_mean - np.dot(X_mean, self.coef_.T)
+        else:
+            self.intercept_ = 0.
+
+        return self
+
+    def predict(self, X, return_std=False):
+        '''
+        Computes predictive distribution for test set.
+        Predictive distribution for each data point is one dimensional
+        Gaussian and therefore is characterised by mean and variance based on
+        Ref.[1] Section 3.3.2.
+
+        Parameters
+        -----------
+        X: {array-like, sparse} (n_samples_test, n_features)
+           Test data, matrix of explanatory variables
+
+        Returns
+        -------
+        : list of length two [y_hat, var_hat]
+
+             y_hat: numpy array of size (n_samples_test,)
+                    Estimated values of targets on test set (i.e. mean of
+                    predictive distribution)
+
+                var_hat: numpy array of size (n_samples_test,)
+                    Variance of predictive distribution
+
+        References
+        ----------
+        [1] Bishop, C. M. (2006). Pattern recognition and machine learning.
+        springer.
+        '''
+        y_hat = np.dot(X, self.coef_) + self.intercept_
+
+        if return_std:
+            # Handle the zero variance case
+            if self.var_y:
+                return y_hat, np.zeros_like(y_hat)
+
+            var_hat = 1./self.beta
+            var_hat += np.sum(X.dot(self.sigma_) * X, axis=1)
+            std_hat = np.sqrt(var_hat)
+            return y_hat, std_hat
+        else:
+            return y_hat
+
+# l2norm = 0.0
+# for idx in range(10):
+#     sigma2 = np.genfromtxt('./test/sigma2_{0}.csv'.format(idx+1), delimiter=',')
+#     Psi_train = np.genfromtxt('./test/Psi_train_{0}.csv'.format(idx+1), delimiter=',')
+#     Y_train = np.genfromtxt('./test/Y_train_{0}.csv'.format(idx+1))
+#     Psi_test = np.genfromtxt('./test/Psi_test_{0}.csv'.format(idx+1), delimiter=',')
+#     Y_test = np.genfromtxt('./test/Y_test_{0}.csv'.format(idx+1))
+
+#     clf = RegressionFastLaplace(verbose=True)
+#     clf.fit_(Psi_train, Y_train, sigma2)
+#     coeffs_fold = np.genfromtxt('./test/coeffs_fold_{0}.csv'.format(idx+1))
+#     print("coeffs error: {0:.4g}".format(np.linalg.norm(clf.coef_ - coeffs_fold)))
+#     l2norm += np.linalg.norm(Y_test - clf.predict(Psi_test))**2/len(Y_test)
+#     print("l2norm error: {0:.4g}".format(l2norm))
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/sequential_design.py b/examples/only-model/bayesvalidrox/surrogate_models/sequential_design.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc81dcd4529ca0708dfba47385aef4415992eb3e
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/sequential_design.py
@@ -0,0 +1,2187 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jan 28 09:21:18 2022
+
+@author: farid
+"""
+import numpy as np
+from scipy import stats, signal, linalg, sparse
+from scipy.spatial import distance
+from copy import deepcopy, copy
+from tqdm import tqdm
+import scipy.optimize as opt
+from sklearn.metrics import mean_squared_error
+import multiprocessing
+import matplotlib.pyplot as plt
+import sys
+import os
+import gc
+import seaborn as sns
+from joblib import Parallel, delayed
+import resource
+from .exploration import Exploration
+
+
+class SeqDesign():
+    """ Sequential experimental design
+    This class provieds method for trainig the meta-model in an iterative
+    manners.
+    The main method to execute the task is `train_seq_design`, which
+      recieves a model object and returns the trained metamodel.
+    """
+
+    # -------------------------------------------------------------------------
+    def train_seq_design(self, MetaModel):
+        """
+        Starts the adaptive sequential design for refining the surrogate model
+        by selecting training points in a sequential manner.
+
+        Parameters
+        ----------
+        Model : object
+            An object containing all model specifications.
+
+        Returns
+        -------
+        MetaModel : object
+            Meta model object.
+
+        """
+        # MetaModel = self
+        Model = MetaModel.ModelObj
+        self.MetaModel = MetaModel
+        self.Model = Model
+
+        # Initialization
+        MetaModel.SeqModifiedLOO = {}
+        MetaModel.seqValidError = {}
+        MetaModel.SeqBME = {}
+        MetaModel.SeqKLD = {}
+        MetaModel.SeqDistHellinger = {}
+        MetaModel.seqRMSEMean = {}
+        MetaModel.seqRMSEStd = {}
+        MetaModel.seqMinDist = []
+        pce = True if MetaModel.meta_model_type.lower() != 'gpe' else False
+        mc_ref = True if bool(Model.mc_reference) else False
+        if mc_ref:
+            Model.read_mc_reference()
+
+        if not hasattr(MetaModel, 'valid_likelihoods'):
+            MetaModel.valid_samples = []
+            MetaModel.valid_model_runs = []
+            MetaModel.valid_likelihoods = []
+
+        # Get the parameters
+        max_n_samples = MetaModel.ExpDesign.n_max_samples
+        mod_LOO_threshold = MetaModel.ExpDesign.mod_LOO_threshold
+        n_canddidate = MetaModel.ExpDesign.n_canddidate
+        post_snapshot = MetaModel.ExpDesign.post_snapshot
+        n_replication = MetaModel.ExpDesign.n_replication
+        util_func = MetaModel.ExpDesign.util_func
+        output_name = Model.Output.names
+        validError = None
+        # Handle if only one UtilityFunctions is provided
+        if not isinstance(util_func, list):
+            util_func = [MetaModel.ExpDesign.util_func]
+
+        # Read observations or MCReference
+        if len(Model.observations) != 0 or Model.meas_file is not None:
+            self.observations = Model.read_observation()
+            obs_data = self.observations
+        else:
+            obs_data = []
+            TotalSigma2 = {}
+        # ---------- Initial MetaModel ----------
+        initMetaModel = deepcopy(MetaModel)
+
+        # Validation error if validation set is provided.
+        if len(MetaModel.valid_model_runs) != 0:
+            init_rmse, init_valid_error = self.__validError(initMetaModel)
+            init_valid_error = list(init_valid_error.values())
+        else:
+            init_rmse = None
+
+        # Check if discrepancy is provided
+        if len(obs_data) != 0 and hasattr(MetaModel, 'Discrepancy'):
+            TotalSigma2 = MetaModel.Discrepancy.parameters
+
+            # Calculate the initial BME
+            out = self.__BME_Calculator(
+                initMetaModel, obs_data, TotalSigma2, init_rmse)
+            init_BME, init_KLD, init_post, init_likes, init_dist_hellinger = out
+            print(f"\nInitial BME: {init_BME:.2f}")
+            print(f"Initial KLD: {init_KLD:.2f}")
+
+            # Posterior snapshot (initial)
+            if post_snapshot:
+                parNames = MetaModel.ExpDesign.par_names
+                print('Posterior snapshot (initial) is being plotted...')
+                self.__posteriorPlot(init_post, parNames, 'SeqPosterior_init')
+
+        # Check the convergence of the Mean & Std
+        if mc_ref and pce:
+            init_rmse_mean, init_rmse_std = self.__error_Mean_Std()
+            print(f"Initial Mean and Std error: {init_rmse_mean},"
+                  f" {init_rmse_std}")
+
+        # Read the initial experimental design
+        Xinit = initMetaModel.ExpDesign.X
+        init_n_samples = len(MetaModel.ExpDesign.X)
+        initYprev = initMetaModel.ModelOutputDict
+        initLCerror = initMetaModel.LCerror
+        n_itrs = max_n_samples - init_n_samples
+
+        # Read the initial ModifiedLOO
+        if pce:
+            Scores_all, varExpDesignY = [], []
+            for out_name in output_name:
+                y = initMetaModel.ExpDesign.Y[out_name]
+                Scores_all.append(list(
+                    initMetaModel.score_dict['b_1'][out_name].values()))
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    pca = MetaModel.pca['b_1'][out_name]
+                    components = pca.transform(y)
+                    varExpDesignY.append(np.var(components, axis=0))
+                else:
+                    varExpDesignY.append(np.var(y, axis=0))
+
+            Scores = [item for sublist in Scores_all for item in sublist]
+            weights = [item for sublist in varExpDesignY for item in sublist]
+            init_mod_LOO = [np.average([1-score for score in Scores],
+                                       weights=weights)]
+
+        prevMetaModel_dict = {}
+        # Replicate the sequential design
+        for repIdx in range(n_replication):
+            print(f'\n>>>> Replication: {repIdx+1}<<<<')
+
+            # To avoid changes ub original aPCE object
+            MetaModel.ExpDesign.X = Xinit
+            MetaModel.ExpDesign.Y = initYprev
+            MetaModel.LCerror = initLCerror
+
+            for util_f in util_func:
+                print(f'\n>>>> Utility Function: {util_f} <<<<')
+                # To avoid changes ub original aPCE object
+                MetaModel.ExpDesign.X = Xinit
+                MetaModel.ExpDesign.Y = initYprev
+                MetaModel.LCerror = initLCerror
+
+                # Set the experimental design
+                Xprev = Xinit
+                total_n_samples = init_n_samples
+                Yprev = initYprev
+
+                Xfull = []
+                Yfull = []
+
+                # Store the initial ModifiedLOO
+                if pce:
+                    print("\nInitial ModifiedLOO:", init_mod_LOO)
+                    SeqModifiedLOO = np.array(init_mod_LOO)
+
+                if len(MetaModel.valid_model_runs) != 0:
+                    SeqValidError = np.array(init_valid_error)
+
+                # Check if data is provided
+                if len(obs_data) != 0:
+                    SeqBME = np.array([init_BME])
+                    SeqKLD = np.array([init_KLD])
+                    SeqDistHellinger = np.array([init_dist_hellinger])
+
+                if mc_ref and pce:
+                    seqRMSEMean = np.array([init_rmse_mean])
+                    seqRMSEStd = np.array([init_rmse_std])
+
+                # ------- Start Sequential Experimental Design -------
+                postcnt = 1
+                for itr_no in range(1, n_itrs+1):
+                    print(f'\n>>>> Iteration number {itr_no} <<<<')
+
+                    # Save the metamodel prediction before updating
+                    prevMetaModel_dict[itr_no] = deepcopy(MetaModel)
+                    if itr_no > 1:
+                        pc_model = prevMetaModel_dict[itr_no-1]
+                        self._y_hat_prev, _ = pc_model.eval_metamodel(
+                            samples=Xfull[-1].reshape(1, -1))
+
+                    # Optimal Bayesian Design
+                    m_1 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+                    MetaModel.ExpDesignFlag = 'sequential'
+                    Xnew, updatedPrior = self.opt_SeqDesign(TotalSigma2,
+                                                            n_canddidate,
+                                                            util_f)
+                    m_2 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+                    S = np.min(distance.cdist(Xinit, Xnew, 'euclidean'))
+                    MetaModel.seqMinDist.append(S)
+                    print(f"\nmin Dist from OldExpDesign: {S:2f}")
+                    print("\n")
+
+                    # Evaluate the full model response at the new sample
+                    Ynew, _ = Model.run_model_parallel(
+                        Xnew, prevRun_No=total_n_samples
+                        )
+                    total_n_samples += Xnew.shape[0]
+                    # ------ Plot the surrogate model vs Origninal Model ------
+                    if hasattr(MetaModel, 'adapt_verbose') and \
+                       MetaModel.adapt_verbose:
+                        from .adaptPlot import adaptPlot
+                        y_hat, std_hat = MetaModel.eval_metamodel(samples=Xnew)
+                        adaptPlot(MetaModel, Ynew, y_hat, std_hat, plotED=False)
+
+                    # -------- Retrain the surrogate model -------
+                    # Extend new experimental design
+                    Xfull = np.vstack((Xprev, Xnew))
+
+                    # Updating experimental design Y
+                    for out_name in output_name:
+                        Yfull = np.vstack((Yprev[out_name], Ynew[out_name]))
+                        MetaModel.ModelOutputDict[out_name] = Yfull
+
+                    # Pass new design to the metamodel object
+                    MetaModel.ExpDesign.sampling_method = 'user'
+                    MetaModel.ExpDesign.X = Xfull
+                    MetaModel.ExpDesign.Y = MetaModel.ModelOutputDict
+
+                    # Save the Experimental Design for next iteration
+                    Xprev = Xfull
+                    Yprev = MetaModel.ModelOutputDict
+
+                    # Pass the new prior as the input
+                    MetaModel.input_obj.poly_coeffs_flag = False
+                    if updatedPrior is not None:
+                        MetaModel.input_obj.poly_coeffs_flag = True
+                        print("updatedPrior:", updatedPrior.shape)
+                        # Arbitrary polynomial chaos
+                        for i in range(updatedPrior.shape[1]):
+                            MetaModel.input_obj.Marginals[i].dist_type = None
+                            x = updatedPrior[:, i]
+                            MetaModel.input_obj.Marginals[i].raw_data = x
+
+                    # Train the surrogate model for new ExpDesign
+                    MetaModel.train_norm_design(parallel=False)
+                    m_3 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+
+                    # -------- Evaluate the retrained surrogate model -------
+                    # Extract Modified LOO from Output
+                    if pce:
+                        Scores_all, varExpDesignY = [], []
+                        for out_name in output_name:
+                            y = MetaModel.ExpDesign.Y[out_name]
+                            Scores_all.append(list(
+                                MetaModel.score_dict['b_1'][out_name].values()))
+                            if MetaModel.dim_red_method.lower() == 'pca':
+                                pca = MetaModel.pca['b_1'][out_name]
+                                components = pca.transform(y)
+                                varExpDesignY.append(np.var(components,
+                                                            axis=0))
+                            else:
+                                varExpDesignY.append(np.var(y, axis=0))
+                        Scores = [item for sublist in Scores_all for item
+                                  in sublist]
+                        weights = [item for sublist in varExpDesignY for item
+                                   in sublist]
+                        ModifiedLOO = [np.average(
+                            [1-score for score in Scores], weights=weights)]
+
+                        print('\n')
+                        print(f"Updated ModifiedLOO {util_f}:\n", ModifiedLOO)
+                        print('\n')
+
+                    # Compute the validation error
+                    if len(MetaModel.valid_model_runs) != 0:
+                        rmse, validError = self.__validError(MetaModel)
+                        ValidError = list(validError.values())
+                    else:
+                        rmse = None
+
+                    # Store updated ModifiedLOO
+                    if pce:
+                        SeqModifiedLOO = np.vstack(
+                            (SeqModifiedLOO, ModifiedLOO))
+                        if len(MetaModel.valid_model_runs) != 0:
+                            SeqValidError = np.vstack(
+                                (SeqValidError, ValidError))
+                    m_4 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+                    # -------- Caclulation of BME as accuracy metric -------
+                    # Check if data is provided
+                    if len(obs_data) != 0:
+                        # Calculate the initial BME
+                        out = self.__BME_Calculator(MetaModel, obs_data,
+                                                    TotalSigma2, rmse)
+                        BME, KLD, Posterior, likes, DistHellinger = out
+                        print('\n')
+                        print(f"Updated BME: {BME:.2f}")
+                        print(f"Updated KLD: {KLD:.2f}")
+                        print('\n')
+
+                        # Plot some snapshots of the posterior
+                        step_snapshot = MetaModel.ExpDesign.step_snapshot
+                        if post_snapshot and postcnt % step_snapshot == 0:
+                            parNames = MetaModel.ExpDesign.par_names
+                            print('Posterior snapshot is being plotted...')
+                            self.__posteriorPlot(Posterior, parNames,
+                                                 f'SeqPosterior_{postcnt}')
+                        postcnt += 1
+                    m_5 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+
+                    # Check the convergence of the Mean&Std
+                    if mc_ref and pce:
+                        print('\n')
+                        RMSE_Mean, RMSE_std = self.__error_Mean_Std()
+                        print(f"Updated Mean and Std error: {RMSE_Mean:.2f}, "
+                              f"{RMSE_std:.2f}")
+                        print('\n')
+
+                    # Store the updated BME & KLD
+                    # Check if data is provided
+                    if len(obs_data) != 0:
+                        SeqBME = np.vstack((SeqBME, BME))
+                        SeqKLD = np.vstack((SeqKLD, KLD))
+                        SeqDistHellinger = np.vstack((SeqDistHellinger,
+                                                      DistHellinger))
+                    if mc_ref and pce:
+                        seqRMSEMean = np.vstack((seqRMSEMean, RMSE_Mean))
+                        seqRMSEStd = np.vstack((seqRMSEStd, RMSE_std))
+
+                    if pce and any(LOO < mod_LOO_threshold
+                                   for LOO in ModifiedLOO):
+                        break
+
+                    print(f"Memory itr {itr_no}: I: {m_2-m_1:.2f} MB")
+                    print(f"Memory itr {itr_no}: II: {m_3-m_2:.2f} MB")
+                    print(f"Memory itr {itr_no}: III: {m_4-m_3:.2f} MB")
+                    print(f"Memory itr {itr_no}: IV: {m_5-m_4:.2f} MB")
+                    m_6 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+                    print(f"Memory itr {itr_no}: total: {m_6:.2f} MB")
+
+                    # Clean up
+                    if len(obs_data) != 0:
+                        del out
+                    gc.collect()
+                    print()
+                    print('-'*50)
+                    print()
+
+                # Store updated ModifiedLOO and BME in dictonary
+                strKey = f'{util_f}_rep_{repIdx+1}'
+                if pce:
+                    MetaModel.SeqModifiedLOO[strKey] = SeqModifiedLOO
+                if len(MetaModel.valid_model_runs) != 0:
+                    MetaModel.seqValidError[strKey] = SeqValidError
+
+                # Check if data is provided
+                if len(obs_data) != 0:
+                    MetaModel.SeqBME[strKey] = SeqBME
+                    MetaModel.SeqKLD[strKey] = SeqKLD
+                if len(MetaModel.valid_likelihoods) != 0:
+                    MetaModel.SeqDistHellinger[strKey] = SeqDistHellinger
+                if mc_ref and pce:
+                    MetaModel.seqRMSEMean[strKey] = seqRMSEMean
+                    MetaModel.seqRMSEStd[strKey] = seqRMSEStd
+
+        return MetaModel
+
+    # -------------------------------------------------------------------------
+    def util_VarBasedDesign(self, X_can, index, util_func='Entropy'):
+        """
+        Computes the exploitation scores based on:
+        active learning MacKay(ALM) and active learning Cohn (ALC)
+        Paper: Sequential Design with Mutual Information for Computer
+        Experiments (MICE): Emulation of a Tsunami Model by Beck and Guillas
+        (2016)
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        index : int
+            Model output index.
+        UtilMethod : string, optional
+            Exploitation utility function. The default is 'Entropy'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+        MetaModel = self.MetaModel
+        ED_X = MetaModel.ExpDesign.X
+        out_dict_y = MetaModel.ExpDesign.Y
+        out_names = MetaModel.ModelObj.Output.names
+
+        # Run the Metamodel for the candidate
+        X_can = X_can.reshape(1, -1)
+        Y_PC_can, std_PC_can = MetaModel.eval_metamodel(samples=X_can)
+
+        if util_func.lower() == 'alm':
+            # ----- Entropy/MMSE/active learning MacKay(ALM)  -----
+            # Compute perdiction variance of the old model
+            canPredVar = {key: std_PC_can[key]**2 for key in out_names}
+
+            varPCE = np.zeros((len(out_names), X_can.shape[0]))
+            for KeyIdx, key in enumerate(out_names):
+                varPCE[KeyIdx] = np.max(canPredVar[key], axis=1)
+            score = np.max(varPCE, axis=0)
+
+        elif util_func.lower() == 'eigf':
+            # ----- Expected Improvement for Global fit -----
+            # Find closest EDX to the candidate
+            distances = distance.cdist(ED_X, X_can, 'euclidean')
+            index = np.argmin(distances)
+
+            # Compute perdiction error and variance of the old model
+            predError = {key: Y_PC_can[key] for key in out_names}
+            canPredVar = {key: std_PC_can[key]**2 for key in out_names}
+
+            # Compute perdiction error and variance of the old model
+            # Eq (5) from Liu et al.(2018)
+            EIGF_PCE = np.zeros((len(out_names), X_can.shape[0]))
+            for KeyIdx, key in enumerate(out_names):
+                residual = predError[key] - out_dict_y[key][int(index)]
+                var = canPredVar[key]
+                EIGF_PCE[KeyIdx] = np.max(residual**2 + var, axis=1)
+            score = np.max(EIGF_PCE, axis=0)
+
+        return -1 * score   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def util_BayesianActiveDesign(self, X_can, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian active design criterion (var).
+
+        It is based on the following paper:
+        Oladyshkin, Sergey, Farid Mohammadi, Ilja Kroeker, and Wolfgang Nowak.
+        "Bayesian3 active learning for the gaussian process emulator using
+        information theory." Entropy 22, no. 8 (2020): 890.
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            BAL design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # Evaluate the PCE metamodels at that location ???
+        Y_mean_can, Y_std_can = self.MetaModel.eval_metamodel(
+            samples=np.array([X_can])
+            )
+
+        # Get the data
+        obs_data = self.observations
+        n_obs = self.Model.n_obs
+        # TODO: Analytical DKL
+        # Sample a distribution for a normal dist
+        # with Y_mean_can as the mean and Y_std_can as std.
+
+        # priorMean, priorSigma2, Obs = np.empty((0)),np.empty((0)),np.empty((0))
+
+        # for key in list(Y_mean_can):
+        #     # concatenate the measurement error
+        #     Obs = np.hstack((Obs,ObservationData[key]))
+
+        #     # concatenate the mean and variance of prior predictive
+        #     means, stds = Y_mean_can[key][0], Y_std_can[key][0]
+        #     priorMean = np.hstack((priorSigma2,means))
+        #     priorSigma2 = np.hstack((priorSigma2,stds**2))
+
+        # # Covariance Matrix of prior
+        # covPrior = np.zeros((priorSigma2.shape[0], priorSigma2.shape[0]), float)
+        # np.fill_diagonal(covPrior, priorSigma2)
+
+        # # Covariance Matrix of Likelihood
+        # covLikelihood = np.zeros((sigma2Dict.shape[0], sigma2Dict.shape[0]), float)
+        # np.fill_diagonal(covLikelihood, sigma2Dict)
+
+        # # Calculate moments of the posterior (Analytical derivation)
+        # n = priorSigma2.shape[0]
+        # covPost = np.dot(np.dot(covPrior,np.linalg.inv(covPrior+(covLikelihood/n))),covLikelihood/n)
+
+        # meanPost = np.dot(np.dot(covPrior,np.linalg.inv(covPrior+(covLikelihood/n))) , Obs) + \
+        #             np.dot(np.dot(covPrior,np.linalg.inv(covPrior+(covLikelihood/n))),
+        #                     priorMean/n)
+        # # Compute DKL from prior to posterior
+        # term1 = np.trace(np.dot(np.linalg.inv(covPrior),covPost))
+        # deltaMean = priorMean-meanPost
+        # term2 = np.dot(np.dot(deltaMean,np.linalg.inv(covPrior)),deltaMean[:,None])
+        # term3 = np.log(np.linalg.det(covPrior)/np.linalg.det(covPost))
+        # DKL = 0.5 * (term1 + term2 - n + term3)[0]
+
+        # ---------- Inner MC simulation for computing Utility Value ----------
+        # Estimation of the integral via Monte Varlo integration
+        MCsize = 20000
+        ESS = 0
+
+        while ((ESS > MCsize) or (ESS < 1)):
+
+            # Sample a distribution for a normal dist
+            # with Y_mean_can as the mean and Y_std_can as std.
+            Y_MC, std_MC = {}, {}
+            logPriorLikelihoods = np.zeros((MCsize))
+            for key in list(Y_mean_can):
+                means, stds = Y_mean_can[key][0], Y_std_can[key][0]
+                # cov = np.zeros((means.shape[0], means.shape[0]), float)
+                # np.fill_diagonal(cov, stds**2)
+
+                Y_MC[key] = np.zeros((MCsize, n_obs))
+                logsamples = np.zeros((MCsize, n_obs))
+                for i in range(n_obs):
+                    NormalDensity = stats.norm(means[i], stds[i])
+                    Y_MC[key][:, i] = NormalDensity.rvs(MCsize)
+                    logsamples[:, i] = NormalDensity.logpdf(Y_MC[key][:, i])
+
+                logPriorLikelihoods = np.sum(logsamples, axis=1)
+                std_MC[key] = np.zeros((MCsize, means.shape[0]))
+
+            #  Likelihood computation (Comparison of data and simulation
+            #  results via PCE with candidate design)
+            likelihoods = self.__normpdf(Y_MC, std_MC, obs_data, sigma2Dict)
+
+            # Check the Effective Sample Size (1<ESS<MCsize)
+            ESS = 1 / np.sum(np.square(likelihoods/np.nansum(likelihoods)))
+
+            # Enlarge sample size if it doesn't fulfill the criteria
+            if ((ESS > MCsize) or (ESS < 1)):
+                MCsize *= 10
+                ESS = 0
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, MCsize)[0]
+
+        # Reject the poorly performed prior
+        accepted = (likelihoods/np.max(likelihoods)) >= unif
+
+        # Prior-based estimation of BME
+        logBME = np.log(np.nanmean(likelihoods))
+
+        # Posterior-based expectation of likelihoods
+        postLikelihoods = likelihoods[accepted]
+        postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+        # Posterior-based expectation of prior densities
+        postExpPrior = np.mean(logPriorLikelihoods[accepted])
+
+        # Utility function Eq.2 in Ref. (2)
+        # Posterior covariance matrix after observing data y
+        # Kullback-Leibler Divergence (Sergey's paper)
+        if var == 'DKL':
+
+            # TODO: Calculate the correction factor for BME
+            # BMECorrFactor = self.BME_Corr_Weight(PCE_SparseBayes_can,
+            #                                      ObservationData, sigma2Dict)
+            # BME += BMECorrFactor
+            # Haun et al implementation
+            # U_J_d = np.mean(np.log(Likelihoods[Likelihoods!=0])- logBME)
+            U_J_d = postExpLikelihoods - logBME
+
+        # Marginal log likelihood
+        elif var == 'BME':
+            U_J_d = logBME
+
+        # Entropy-based information gain
+        elif var == 'infEntropy':
+            logBME = np.log(np.nanmean(likelihoods))
+            infEntropy = logBME - postExpPrior - postExpLikelihoods
+            U_J_d = infEntropy * -1  # -1 for minimization
+
+        # Bayesian information criterion
+        elif var == 'BIC':
+            coeffs = self.MetaModel.coeffs_dict.values()
+            nModelParams = max(len(v) for val in coeffs for v in val.values())
+            maxL = np.nanmax(likelihoods)
+            U_J_d = -2 * np.log(maxL) + np.log(n_obs) * nModelParams
+
+        # Akaike information criterion
+        elif var == 'AIC':
+            coeffs = self.MetaModel.coeffs_dict.values()
+            nModelParams = max(len(v) for val in coeffs for v in val.values())
+            maxlogL = np.log(np.nanmax(likelihoods))
+            AIC = -2 * maxlogL + 2 * nModelParams
+            # 2 * nModelParams * (nModelParams+1) / (n_obs-nModelParams-1)
+            penTerm = 0
+            U_J_d = 1*(AIC + penTerm)
+
+        # Deviance information criterion
+        elif var == 'DIC':
+            # D_theta_bar = np.mean(-2 * Likelihoods)
+            N_star_p = 0.5 * np.var(np.log(likelihoods[likelihoods != 0]))
+            Likelihoods_theta_mean = self.__normpdf(
+                Y_mean_can, Y_std_can, obs_data, sigma2Dict
+                )
+            DIC = -2 * np.log(Likelihoods_theta_mean) + 2 * N_star_p
+
+            U_J_d = DIC
+
+        else:
+            print('The algorithm you requested has not been implemented yet!')
+
+        # Handle inf and NaN (replace by zero)
+        if np.isnan(U_J_d) or U_J_d == -np.inf or U_J_d == np.inf:
+            U_J_d = 0.0
+
+        # Clear memory
+        del likelihoods
+        del Y_MC
+        del std_MC
+        gc.collect(generation=2)
+
+        return -1 * U_J_d   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def update_metamodel(self, MetaModel, output, y_hat_can, univ_p_val, index,
+                         new_pca=False):
+        BasisIndices = MetaModel.basis_dict[output]["y_"+str(index+1)]
+        clf_poly = MetaModel.clf_poly[output]["y_"+str(index+1)]
+        Mn = clf_poly.coef_
+        Sn = clf_poly.sigma_
+        beta = clf_poly.alpha_
+        active = clf_poly.active_
+        Psi = self.MetaModel.create_psi(BasisIndices, univ_p_val)
+
+        Sn_new_inv = np.linalg.inv(Sn)
+        Sn_new_inv += beta * np.dot(Psi[:, active].T, Psi[:, active])
+        Sn_new = np.linalg.inv(Sn_new_inv)
+
+        Mn_new = np.dot(Sn_new_inv, Mn[active]).reshape(-1, 1)
+        Mn_new += beta * np.dot(Psi[:, active].T, y_hat_can)
+        Mn_new = np.dot(Sn_new, Mn_new).flatten()
+
+        # Compute the old and new moments of PCEs
+        mean_old = Mn[0]
+        mean_new = Mn_new[0]
+        std_old = np.sqrt(np.sum(np.square(Mn[1:])))
+        std_new = np.sqrt(np.sum(np.square(Mn_new[1:])))
+
+        # Back transformation if PCA is selected.
+        if MetaModel.dim_red_method.lower() == 'pca':
+            old_pca = MetaModel.pca[output]
+            mean_old = old_pca.mean_[index]
+            mean_old += np.sum(mean_old * old_pca.components_[:, index])
+            std_old = np.sqrt(np.sum(std_old**2 *
+                                     old_pca.components_[:, index]**2))
+            mean_new = new_pca.mean_[index]
+            mean_new += np.sum(mean_new * new_pca.components_[:, index])
+            std_new = np.sqrt(np.sum(std_new**2 *
+                                     new_pca.components_[:, index]**2))
+            # print(f"mean_old: {mean_old:.2f} mean_new: {mean_new:.2f}")
+            # print(f"std_old: {std_old:.2f} std_new: {std_new:.2f}")
+        # Store the old and new moments of PCEs
+        results = {
+            'mean_old': mean_old,
+            'mean_new': mean_new,
+            'std_old': std_old,
+            'std_new': std_new
+            }
+        return results
+
+    # -------------------------------------------------------------------------
+    def util_BayesianDesign_old(self, X_can, X_MC, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian sequential design criterion (var).
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            Bayesian design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # To avoid changes ub original aPCE object
+        Model = self.Model
+        MetaModel = deepcopy(self.MetaModel)
+        old_EDY = MetaModel.ExpDesign.Y
+
+        # Evaluate the PCE metamodels using the candidate design
+        Y_PC_can, Y_std_can = self.MetaModel.eval_metamodel(
+            samples=np.array([X_can])
+            )
+
+        # Generate y from posterior predictive
+        m_size = 100
+        y_hat_samples = {}
+        for idx, key in enumerate(Model.Output.names):
+            means, stds = Y_PC_can[key][0], Y_std_can[key][0]
+            y_hat_samples[key] = np.random.multivariate_normal(
+                means, np.diag(stds), m_size)
+
+        # Create the SparseBayes-based PCE metamodel:
+        MetaModel.input_obj.poly_coeffs_flag = False
+        univ_p_val = self.MetaModel.univ_basis_vals(X_can)
+        G_n_m_all = np.zeros((m_size, len(Model.Output.names), Model.n_obs))
+
+        for i in range(m_size):
+            for idx, key in enumerate(Model.Output.names):
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    # Equal number of components
+                    new_outputs = np.vstack(
+                        (old_EDY[key], y_hat_samples[key][i])
+                        )
+                    new_pca, _ = MetaModel.pca_transformation(new_outputs)
+                    target = new_pca.transform(
+                        y_hat_samples[key][i].reshape(1, -1)
+                        )[0]
+                else:
+                    new_pca, target = False, y_hat_samples[key][i]
+
+                for j in range(len(target)):
+
+                    # Update surrogate
+                    result = self.update_metamodel(
+                        MetaModel, key, target[j], univ_p_val, j, new_pca)
+
+                    # Compute Expected Information Gain (Eq. 39)
+                    G_n_m = np.log(result['std_old']/result['std_new']) - 1./2
+                    G_n_m += result['std_new']**2 / (2*result['std_old']**2)
+                    G_n_m += (result['mean_new'] - result['mean_old'])**2 /\
+                        (2*result['std_old']**2)
+
+                    G_n_m_all[i, idx, j] = G_n_m
+
+        U_J_d = G_n_m_all.mean(axis=(1, 2)).mean()
+        return -1 * U_J_d
+
+    # -------------------------------------------------------------------------
+    def util_BayesianDesign(self, X_can, X_MC, sigma2Dict, var='DKL'):
+        """
+        Computes scores based on Bayesian sequential design criterion (var).
+
+        Parameters
+        ----------
+        X_can : array of shape (n_samples, n_params)
+            Candidate samples.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        var : string, optional
+            Bayesian design criterion. The default is 'DKL'.
+
+        Returns
+        -------
+        float
+            Score.
+
+        """
+
+        # To avoid changes ub original aPCE object
+        Model = self.Model
+        MetaModel = deepcopy(self.MetaModel)
+        out_names = MetaModel.ModelObj.Output.names
+        if X_can.ndim == 1:
+            X_can = X_can.reshape(1, -1)
+
+        # Compute the mean and std based on the MetaModel
+        # pce_means, pce_stds = self._compute_pce_moments(MetaModel)
+        if var == 'ALC':
+            Y_MC, Y_MC_std = MetaModel.eval_metamodel(samples=X_MC)
+
+        # Old Experimental design
+        oldExpDesignX = MetaModel.ExpDesign.X
+        oldExpDesignY = MetaModel.ExpDesign.Y
+
+        # Evaluate the PCE metamodels at that location ???
+        Y_PC_can, Y_std_can = MetaModel.eval_metamodel(samples=X_can)
+
+        # Add all suggestion as new ExpDesign
+        NewExpDesignX = np.vstack((oldExpDesignX, X_can))
+
+        NewExpDesignY = {}
+        for key in oldExpDesignY.keys():
+            try:
+                NewExpDesignY[key] = np.vstack((oldExpDesignY[key],
+                                                Y_PC_can[key]))
+            except:
+                NewExpDesignY[key] = oldExpDesignY[key]
+
+        MetaModel.ExpDesign.sampling_method = 'user'
+        MetaModel.ExpDesign.X = NewExpDesignX
+        MetaModel.ExpDesign.Y = NewExpDesignY
+
+        # Train the model for the observed data using x_can
+        MetaModel.input_obj.poly_coeffs_flag = False
+        MetaModel.train_norm_design(parallel=False)
+        PCE_Model_can = MetaModel
+
+        if var.lower() == 'mi':
+            # Mutual information based on Krause et al
+            # Adapted from Beck & Guillas (MICE) paper
+            _, std_PC_can = PCE_Model_can.eval_metamodel(samples=X_can)
+            std_can = {key: std_PC_can[key] for key in out_names}
+
+            std_old = {key: Y_std_can[key] for key in out_names}
+
+            varPCE = np.zeros((len(out_names)))
+            for i, key in enumerate(out_names):
+                varPCE[i] = np.mean(std_old[key]**2/std_can[key]**2)
+            score = np.mean(varPCE)
+
+            return -1 * score
+
+        elif var.lower() == 'alc':
+            # Active learning based on Gramyc and Lee
+            # Adaptive design and analysis of supercomputer experiments Techno-
+            # metrics, 51 (2009), pp. 130–145.
+
+            # Evaluate the MetaModel at the given samples
+            Y_MC_can, Y_MC_std_can = PCE_Model_can.eval_metamodel(samples=X_MC)
+
+            # Compute the score
+            score = []
+            for i, key in enumerate(out_names):
+                pce_var = Y_MC_std_can[key]**2
+                pce_var_can = Y_MC_std[key]**2
+                score.append(np.mean(pce_var-pce_var_can, axis=0))
+            score = np.mean(score)
+
+            return -1 * score
+
+        # ---------- Inner MC simulation for computing Utility Value ----------
+        # Estimation of the integral via Monte Varlo integration
+        MCsize = X_MC.shape[0]
+        ESS = 0
+
+        while ((ESS > MCsize) or (ESS < 1)):
+
+            # Enriching Monte Carlo samples if need be
+            if ESS != 0:
+                X_MC = self.MetaModel.ExpDesign.generate_samples(
+                    MCsize, 'random'
+                    )
+
+            # Evaluate the MetaModel at the given samples
+            Y_MC, std_MC = PCE_Model_can.eval_metamodel(samples=X_MC)
+
+            # Likelihood computation (Comparison of data and simulation
+            # results via PCE with candidate design)
+            likelihoods = self.__normpdf(
+                Y_MC, std_MC, self.observations, sigma2Dict
+                )
+
+            # Check the Effective Sample Size (1<ESS<MCsize)
+            ESS = 1 / np.sum(np.square(likelihoods/np.sum(likelihoods)))
+
+            # Enlarge sample size if it doesn't fulfill the criteria
+            if ((ESS > MCsize) or (ESS < 1)):
+                print("--- increasing MC size---")
+                MCsize *= 10
+                ESS = 0
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, MCsize)[0]
+
+        # Reject the poorly performed prior
+        accepted = (likelihoods/np.max(likelihoods)) >= unif
+
+        # -------------------- Utility functions --------------------
+        # Utility function Eq.2 in Ref. (2)
+        # Kullback-Leibler Divergence (Sergey's paper)
+        if var == 'DKL':
+
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods, dtype=np.float128))
+
+            # Posterior-based expectation of likelihoods
+            postLikelihoods = likelihoods[accepted]
+            postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+            # Haun et al implementation
+            U_J_d = np.mean(np.log(likelihoods[likelihoods != 0]) - logBME)
+
+            # U_J_d = np.sum(G_n_m_all)
+            # Ryan et al (2014) implementation
+            # importanceWeights = Likelihoods[Likelihoods!=0]/np.sum(Likelihoods[Likelihoods!=0])
+            # U_J_d = np.mean(importanceWeights*np.log(Likelihoods[Likelihoods!=0])) - logBME
+
+            # U_J_d = postExpLikelihoods - logBME
+
+        # Marginal likelihood
+        elif var == 'BME':
+
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods))
+            U_J_d = logBME
+
+        # Bayes risk likelihood
+        elif var == 'BayesRisk':
+
+            U_J_d = -1 * np.var(likelihoods)
+
+        # Entropy-based information gain
+        elif var == 'infEntropy':
+            # Prior-based estimation of BME
+            logBME = np.log(np.nanmean(likelihoods))
+
+            # Posterior-based expectation of likelihoods
+            postLikelihoods = likelihoods[accepted] / np.nansum(likelihoods[accepted])
+            postExpLikelihoods = np.mean(np.log(postLikelihoods))
+
+            # Posterior-based expectation of prior densities
+            postExpPrior = np.mean(logPriorLikelihoods[accepted])
+
+            infEntropy = logBME - postExpPrior - postExpLikelihoods
+
+            U_J_d = infEntropy * -1  # -1 for minimization
+
+        # D-Posterior-precision
+        elif var == 'DPP':
+            X_Posterior = X_MC[accepted]
+            # covariance of the posterior parameters
+            U_J_d = -np.log(np.linalg.det(np.cov(X_Posterior)))
+
+        # A-Posterior-precision
+        elif var == 'APP':
+            X_Posterior = X_MC[accepted]
+            # trace of the posterior parameters
+            U_J_d = -np.log(np.trace(np.cov(X_Posterior)))
+
+        else:
+            print('The algorithm you requested has not been implemented yet!')
+
+        # Clear memory
+        del likelihoods
+        del Y_MC
+        del std_MC
+        gc.collect(generation=2)
+
+        return -1 * U_J_d   # -1 is for minimization instead of maximization
+
+    # -------------------------------------------------------------------------
+    def subdomain(self, Bounds, n_new_samples):
+        """
+        Divides a domain defined by Bounds into sub domains.
+
+        Parameters
+        ----------
+        Bounds : list of tuples
+            List of lower and upper bounds.
+        n_new_samples : TYPE
+            DESCRIPTION.
+
+        Returns
+        -------
+        Subdomains : TYPE
+            DESCRIPTION.
+
+        """
+        n_params = self.MetaModel.n_params
+        n_subdomains = n_new_samples + 1
+        LinSpace = np.zeros((n_params, n_subdomains))
+
+        for i in range(n_params):
+            LinSpace[i] = np.linspace(start=Bounds[i][0], stop=Bounds[i][1],
+                                      num=n_subdomains)
+        Subdomains = []
+        for k in range(n_subdomains-1):
+            mylist = []
+            for i in range(n_params):
+                mylist.append((LinSpace[i, k+0], LinSpace[i, k+1]))
+            Subdomains.append(tuple(mylist))
+
+        return Subdomains
+
+    # -------------------------------------------------------------------------
+    def run_util_func(self, method, candidates, index, sigma2Dict=None,
+                      var=None, X_MC=None):
+        """
+        Runs the utility function based on the given method.
+
+        Parameters
+        ----------
+        method : string
+            Exploitation method: `VarOptDesign`, `BayesActDesign` and
+            `BayesOptDesign`.
+        candidates : array of shape (n_samples, n_params)
+            All candidate parameter sets.
+        index : int
+            ExpDesign index.
+        sigma2Dict : dict, optional
+            A dictionary containing the measurement errors (sigma^2). The
+            default is None.
+        var : string, optional
+            Utility function. The default is None.
+        X_MC : TYPE, optional
+            DESCRIPTION. The default is None.
+
+        Returns
+        -------
+        index : TYPE
+            DESCRIPTION.
+        List
+            Scores.
+
+        """
+
+        if method.lower() == 'varoptdesign':
+            # U_J_d = self.util_VarBasedDesign(candidates, index, var)
+            U_J_d = np.zeros((candidates.shape[0]))
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="varoptdesign"):
+                U_J_d[idx] = self.util_VarBasedDesign(X_can, index, var)
+
+        elif method.lower() == 'bayesactdesign':
+            NCandidate = candidates.shape[0]
+            U_J_d = np.zeros((NCandidate))
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="OptBayesianDesign"):
+                U_J_d[idx] = self.util_BayesianActiveDesign(X_can, sigma2Dict,
+                                                            var)
+        elif method.lower() == 'bayesoptdesign':
+            NCandidate = candidates.shape[0]
+            U_J_d = np.zeros((NCandidate))
+            for idx, X_can in tqdm(enumerate(candidates), ascii=True,
+                                   desc="OptBayesianDesign"):
+                U_J_d[idx] = self.util_BayesianDesign(X_can, X_MC, sigma2Dict,
+                                                      var)
+        return (index, -1 * U_J_d)
+
+    # -------------------------------------------------------------------------
+    def dual_annealing(self, method, Bounds, sigma2Dict, var, Run_No,
+                       verbose=False):
+        """
+        Exploration algorithim to find the optimum parameter space.
+
+        Parameters
+        ----------
+        method : string
+            Exploitation method: `VarOptDesign`, `BayesActDesign` and
+            `BayesOptDesign`.
+        Bounds : list of tuples
+            List of lower and upper boundaries of parameters.
+        sigma2Dict : dict
+            A dictionary containing the measurement errors (sigma^2).
+        Run_No : int
+            Run number.
+        verbose : bool, optional
+            Print out a summary. The default is False.
+
+        Returns
+        -------
+        Run_No : int
+            Run number.
+        array
+            Optimial candidate.
+
+        """
+
+        Model = self.Model
+        max_func_itr = self.MetaModel.ExpDesign.max_func_itr
+
+        if method == 'VarOptDesign':
+            Res_Global = opt.dual_annealing(self.util_VarBasedDesign,
+                                            bounds=Bounds,
+                                            args=(Model, var),
+                                            maxfun=max_func_itr)
+
+        elif method == 'BayesOptDesign':
+            Res_Global = opt.dual_annealing(self.util_BayesianDesign,
+                                            bounds=Bounds,
+                                            args=(Model, sigma2Dict, var),
+                                            maxfun=max_func_itr)
+
+        if verbose:
+            print(f"global minimum: xmin = {Res_Global.x}, "
+                  f"f(xmin) = {Res_Global.fun:.6f}, nfev = {Res_Global.nfev}")
+
+        return (Run_No, Res_Global.x)
+
+    # -------------------------------------------------------------------------
+    def tradoff_weights(self, tradeoff_scheme, old_EDX, old_EDY):
+        """
+        Calculates weights for exploration scores based on the requested
+        scheme: `None`, `equal`, `epsilon-decreasing` and `adaptive`.
+
+        `None`: No exploration.
+        `equal`: Same weights for exploration and exploitation scores.
+        `epsilon-decreasing`: Start with more exploration and increase the
+            influence of exploitation along the way with a exponential decay
+            function
+        `adaptive`: An adaptive method based on:
+            Liu, Haitao, Jianfei Cai, and Yew-Soon Ong. "An adaptive sampling
+            approach for Kriging metamodeling by maximizing expected prediction
+            error." Computers & Chemical Engineering 106 (2017): 171-182.
+
+        Parameters
+        ----------
+        tradeoff_scheme : string
+            Trade-off scheme for exloration and exploitation scores.
+        old_EDX : array (n_samples, n_params)
+            Old experimental design (training points).
+        old_EDY : dict
+            Old model responses (targets).
+
+        Returns
+        -------
+        exploration_weight : float
+            Exploration weight.
+        exploitation_weight: float
+            Exploitation weight.
+
+        """
+        if tradeoff_scheme is None:
+            exploration_weight = 0
+
+        elif tradeoff_scheme == 'equal':
+            exploration_weight = 0.5
+
+        elif tradeoff_scheme == 'epsilon-decreasing':
+            # epsilon-decreasing scheme
+            # Start with more exploration and increase the influence of
+            # exploitation along the way with a exponential decay function
+            initNSamples = self.MetaModel.ExpDesign.n_init_samples
+            n_max_samples = self.MetaModel.ExpDesign.n_max_samples
+
+            itrNumber = (self.MetaModel.ExpDesign.X.shape[0] - initNSamples)
+            itrNumber //= self.MetaModel.ExpDesign.n_new_samples
+
+            tau2 = -(n_max_samples-initNSamples-1) / np.log(1e-8)
+            exploration_weight = signal.exponential(n_max_samples-initNSamples,
+                                                    0, tau2, False)[itrNumber]
+
+        elif tradeoff_scheme == 'adaptive':
+
+            # Extract itrNumber
+            initNSamples = self.MetaModel.ExpDesign.n_init_samples
+            n_max_samples = self.MetaModel.ExpDesign.n_max_samples
+            itrNumber = (self.MetaModel.ExpDesign.X.shape[0] - initNSamples)
+            itrNumber //= self.MetaModel.ExpDesign.n_new_samples
+
+            if itrNumber == 0:
+                exploration_weight = 0.5
+            else:
+                # New adaptive trade-off according to Liu et al. (2017)
+                # Mean squared error for last design point
+                last_EDX = old_EDX[-1].reshape(1, -1)
+                lastPCEY, _ = self.MetaModel.eval_metamodel(samples=last_EDX)
+                pce_y = np.array(list(lastPCEY.values()))[:, 0]
+                y = np.array(list(old_EDY.values()))[:, -1, :]
+                mseError = mean_squared_error(pce_y, y)
+
+                # Mean squared CV - error for last design point
+                pce_y_prev = np.array(list(self._y_hat_prev.values()))[:, 0]
+                mseCVError = mean_squared_error(pce_y_prev, y)
+
+                exploration_weight = min([0.5*mseError/mseCVError, 1])
+
+        # Exploitation weight
+        exploitation_weight = 1 - exploration_weight
+
+        return exploration_weight, exploitation_weight
+
+    # -------------------------------------------------------------------------
+    def opt_SeqDesign(self, sigma2, n_candidates=5, var='DKL'):
+        """
+        Runs optimal sequential design.
+
+        Parameters
+        ----------
+        sigma2 : dict, optional
+            A dictionary containing the measurement errors (sigma^2). The
+            default is None.
+        n_candidates : int, optional
+            Number of candidate samples. The default is 5.
+        var : string, optional
+            Utility function. The default is None.
+
+        Raises
+        ------
+        NameError
+            Wrong utility function.
+
+        Returns
+        -------
+        Xnew : array (n_samples, n_params)
+            Selected new training point(s).
+        """
+
+        # Initialization
+        MetaModel = self.MetaModel
+        Bounds = MetaModel.bound_tuples
+        n_new_samples = MetaModel.ExpDesign.n_new_samples
+        explore_method = MetaModel.ExpDesign.explore_method
+        exploit_method = MetaModel.ExpDesign.exploit_method
+        n_cand_groups = MetaModel.ExpDesign.n_cand_groups
+        tradeoff_scheme = MetaModel.ExpDesign.tradeoff_scheme
+
+        old_EDX = MetaModel.ExpDesign.X
+        old_EDY = MetaModel.ExpDesign.Y.copy()
+        ndim = MetaModel.ExpDesign.X.shape[1]
+        OutputNames = MetaModel.ModelObj.Output.names
+
+        # -----------------------------------------
+        # ----------- CUSTOMIZED METHODS ----------
+        # -----------------------------------------
+        # Utility function exploit_method provided by user
+        if exploit_method.lower() == 'user':
+
+            Xnew, filteredSamples = MetaModel.ExpDesign.ExploitFunction(self)
+
+            print("\n")
+            print("\nXnew:\n", Xnew)
+
+            return Xnew, filteredSamples
+
+        # -----------------------------------------
+        # ---------- EXPLORATION METHODS ----------
+        # -----------------------------------------
+        if explore_method == 'dual annealing':
+            # ------- EXPLORATION: OPTIMIZATION -------
+            import time
+            start_time = time.time()
+
+            # Divide the domain to subdomains
+            args = []
+            subdomains = self.subdomain(Bounds, n_new_samples)
+            for i in range(n_new_samples):
+                args.append((exploit_method, subdomains[i], sigma2, var, i))
+
+            # Multiprocessing
+            pool = multiprocessing.Pool(multiprocessing.cpu_count())
+
+            # With Pool.starmap_async()
+            results = pool.starmap_async(self.dual_annealing, args).get()
+
+            # Close the pool
+            pool.close()
+
+            Xnew = np.array([results[i][1] for i in range(n_new_samples)])
+
+            print("\nXnew:\n", Xnew)
+
+            elapsed_time = time.time() - start_time
+            print("\n")
+            print(f"elapsed_time: {round(elapsed_time,2)} sec.")
+            print('-'*20)
+
+        elif explore_method == 'LOOCV':
+            # -----------------------------------------------------------------
+            # TODO: LOOCV model construnction based on Feng et al. (2020)
+            # 'LOOCV':
+            # Initilize the ExploitScore array
+
+            # Generate random samples
+            allCandidates = MetaModel.ExpDesign.generate_samples(n_candidates,
+                                                                'random')
+
+            # Construct error model based on LCerror
+            errorModel = MetaModel.create_ModelError(old_EDX, self.LCerror)
+            self.errorModel.append(copy(errorModel))
+
+            # Evaluate the error models for allCandidates
+            eLCAllCands, _ = errorModel.eval_errormodel(allCandidates)
+            # Select the maximum as the representative error
+            eLCAllCands = np.dstack(eLCAllCands.values())
+            eLCAllCandidates = np.max(eLCAllCands, axis=1)[:, 0]
+
+            # Normalize the error w.r.t the maximum error
+            scoreExploration = eLCAllCandidates / np.sum(eLCAllCandidates)
+
+        else:
+            # ------- EXPLORATION: SPACE-FILLING DESIGN -------
+            # Generate candidate samples from Exploration class
+            explore = Exploration(MetaModel, n_candidates)
+            explore.w = 100  # * ndim #500
+            # Select criterion (mc-intersite-proj-th, mc-intersite-proj)
+            explore.mc_criterion = 'mc-intersite-proj'
+            allCandidates, scoreExploration = explore.get_exploration_samples()
+
+            # Temp: ---- Plot all candidates -----
+            if ndim == 2:
+                def plotter(points, allCandidates, Method,
+                            scoreExploration=None):
+                    if Method == 'Voronoi':
+                        from scipy.spatial import Voronoi, voronoi_plot_2d
+                        vor = Voronoi(points)
+                        fig = voronoi_plot_2d(vor)
+                        ax1 = fig.axes[0]
+                    else:
+                        fig = plt.figure()
+                        ax1 = fig.add_subplot(111)
+                    ax1.scatter(points[:, 0], points[:, 1], s=10, c='r',
+                                marker="s", label='Old Design Points')
+                    ax1.scatter(allCandidates[:, 0], allCandidates[:, 1], s=10,
+                                c='b', marker="o", label='Design candidates')
+                    for i in range(points.shape[0]):
+                        txt = 'p'+str(i+1)
+                        ax1.annotate(txt, (points[i, 0], points[i, 1]))
+                    if scoreExploration is not None:
+                        for i in range(allCandidates.shape[0]):
+                            txt = str(round(scoreExploration[i], 5))
+                            ax1.annotate(txt, (allCandidates[i, 0],
+                                               allCandidates[i, 1]))
+
+                    plt.xlim(self.bound_tuples[0])
+                    plt.ylim(self.bound_tuples[1])
+                    # plt.show()
+                    plt.legend(loc='upper left')
+
+        # -----------------------------------------
+        # --------- EXPLOITATION METHODS ----------
+        # -----------------------------------------
+        if exploit_method == 'BayesOptDesign' or\
+           exploit_method == 'BayesActDesign':
+
+            # ------- Calculate Exoploration weight -------
+            # Compute exploration weight based on trade off scheme
+            explore_w, exploit_w = self.tradoff_weights(tradeoff_scheme,
+                                                        old_EDX,
+                                                        old_EDY)
+            print(f"\n Exploration weight={explore_w:0.3f} "
+                  f"Exploitation weight={exploit_w:0.3f}\n")
+
+            # ------- EXPLOITATION: BayesOptDesign & ActiveLearning -------
+            if explore_w != 1.0:
+
+                # Create a sample pool for rejection sampling
+                MCsize = 15000
+                X_MC = MetaModel.ExpDesign.generate_samples(MCsize, 'random')
+                candidates = MetaModel.ExpDesign.generate_samples(
+                    MetaModel.ExpDesign.max_func_itr, 'latin_hypercube')
+
+                # Split the candidates in groups for multiprocessing
+                split_cand = np.array_split(
+                    candidates, n_cand_groups, axis=0
+                    )
+
+                results = Parallel(n_jobs=-1, backend='threading')(
+                        delayed(self.run_util_func)(
+                            exploit_method, split_cand[i], i, sigma2, var, X_MC)
+                        for i in range(n_cand_groups))
+                # out = map(self.run_util_func,
+                #           [exploit_method]*n_cand_groups,
+                #           split_cand,
+                #           range(n_cand_groups),
+                #           [sigma2] * n_cand_groups,
+                #           [var] * n_cand_groups,
+                #           [X_MC] * n_cand_groups
+                #           )
+                # results = list(out)
+
+                # Retrieve the results and append them
+                U_J_d = np.concatenate([results[NofE][1] for NofE in
+                                        range(n_cand_groups)])
+
+                # Check if all scores are inf
+                if np.isinf(U_J_d).all() or np.isnan(U_J_d).all():
+                    U_J_d = np.ones(len(U_J_d))
+
+                # Get the expected value (mean) of the Utility score
+                # for each cell
+                if explore_method == 'Voronoi':
+                    U_J_d = np.mean(U_J_d.reshape(-1, n_candidates), axis=1)
+
+                # create surrogate model for U_J_d
+                from sklearn.preprocessing import MinMaxScaler
+                # Take care of inf entries
+                good_indices = [i for i, arr in enumerate(U_J_d)
+                                if np.isfinite(arr).all()]
+                scaler = MinMaxScaler()
+                X_S = scaler.fit_transform(candidates[good_indices])
+                gp = MetaModel.gaussian_process_emulator(
+                    X_S, U_J_d[good_indices], autoSelect=True
+                    )
+                U_J_d = gp.predict(scaler.transform(allCandidates))
+
+                # Normalize U_J_d
+                norm_U_J_d = U_J_d / np.sum(U_J_d)
+                print("norm_U_J_d:\n", norm_U_J_d)
+            else:
+                norm_U_J_d = np.zeros((len(scoreExploration)))
+
+            # ------- Calculate Total score -------
+            # ------- Trade off between EXPLORATION & EXPLOITATION -------
+            # Total score
+            totalScore = exploit_w * norm_U_J_d
+            totalScore += explore_w * scoreExploration
+
+            # temp: Plot
+            # dim = self.ExpDesign.X.shape[1]
+            # if dim == 2:
+            #     plotter(self.ExpDesign.X, allCandidates, explore_method)
+
+            # ------- Select the best candidate -------
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            temp = totalScore.copy()
+            temp[np.isnan(totalScore)] = -np.inf
+            sorted_idxtotalScore = np.argsort(temp)[::-1]
+            bestIdx = sorted_idxtotalScore[:n_new_samples]
+
+            # select the requested number of samples
+            if explore_method == 'Voronoi':
+                Xnew = np.zeros((n_new_samples, ndim))
+                for i, idx in enumerate(bestIdx):
+                    X_can = explore.closestPoints[idx]
+
+                    # Calculate the maxmin score for the region of interest
+                    newSamples, maxminScore = explore.get_mc_samples(X_can)
+
+                    # select the requested number of samples
+                    Xnew[i] = newSamples[np.argmax(maxminScore)]
+            else:
+                Xnew = allCandidates[sorted_idxtotalScore[:n_new_samples]]
+
+        elif exploit_method == 'VarOptDesign':
+            # ------- EXPLOITATION: VarOptDesign -------
+            UtilMethod = var
+
+            # ------- Calculate Exoploration weight -------
+            # Compute exploration weight based on trade off scheme
+            explore_w, exploit_w = self.tradoff_weights(tradeoff_scheme,
+                                                        old_EDX,
+                                                        old_EDY)
+            print(f"\nweightExploration={explore_w:0.3f} "
+                  f"weightExploitation={exploit_w:0.3f}")
+
+            # Generate candidate samples from Exploration class
+            nMeasurement = old_EDY[OutputNames[0]].shape[1]
+
+            # Find sensitive region
+            if UtilMethod == 'LOOCV':
+                LCerror = MetaModel.LCerror
+                allModifiedLOO = np.zeros((len(old_EDX), len(OutputNames),
+                                           nMeasurement))
+                for y_idx, y_key in enumerate(OutputNames):
+                    for idx, key in enumerate(LCerror[y_key].keys()):
+                        allModifiedLOO[:, y_idx, idx] = abs(
+                            LCerror[y_key][key])
+
+                ExploitScore = np.max(np.max(allModifiedLOO, axis=1), axis=1)
+
+            elif UtilMethod in ['EIGF', 'ALM']:
+                # ----- All other in  ['EIGF', 'ALM'] -----
+                # Initilize the ExploitScore array
+                ExploitScore = np.zeros((len(old_EDX), len(OutputNames)))
+
+                # Split the candidates in groups for multiprocessing
+                if explore_method != 'Voronoi':
+                    split_cand = np.array_split(allCandidates,
+                                                n_cand_groups,
+                                                axis=0)
+                    goodSampleIdx = range(n_cand_groups)
+                else:
+                    # Find indices of the Vornoi cells with samples
+                    goodSampleIdx = []
+                    for idx in range(len(explore.closest_points)):
+                        if len(explore.closest_points[idx]) != 0:
+                            goodSampleIdx.append(idx)
+                    split_cand = explore.closest_points
+
+                # Split the candidates in groups for multiprocessing
+                args = []
+                for index in goodSampleIdx:
+                    args.append((exploit_method, split_cand[index], index,
+                                 sigma2, var))
+
+                # Multiprocessing
+                pool = multiprocessing.Pool(multiprocessing.cpu_count())
+                # With Pool.starmap_async()
+                results = pool.starmap_async(self.run_util_func, args).get()
+
+                # Close the pool
+                pool.close()
+                # out = map(self.run_util_func,
+                #           [exploit_method]*len(goodSampleIdx),
+                #           split_cand,
+                #           range(len(goodSampleIdx)),
+                #           [sigma2] * len(goodSampleIdx),
+                #           [var] * len(goodSampleIdx)
+                #           )
+                # results = list(out)
+
+                # Retrieve the results and append them
+                if explore_method == 'Voronoi':
+                    ExploitScore = [np.mean(results[k][1]) for k in
+                                    range(len(goodSampleIdx))]
+                else:
+                    ExploitScore = np.concatenate(
+                        [results[k][1] for k in range(len(goodSampleIdx))])
+
+            else:
+                raise NameError('The requested utility function is not '
+                                'available.')
+
+            # print("ExploitScore:\n", ExploitScore)
+
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            # Total score
+            # Normalize U_J_d
+            ExploitScore = ExploitScore / np.sum(ExploitScore)
+            totalScore = exploit_w * ExploitScore
+            totalScore += explore_w * scoreExploration
+
+            temp = totalScore.copy()
+            sorted_idxtotalScore = np.argsort(temp, axis=0)[::-1]
+            bestIdx = sorted_idxtotalScore[:n_new_samples]
+
+            Xnew = np.zeros((n_new_samples, ndim))
+            if explore_method != 'Voronoi':
+                Xnew = allCandidates[bestIdx]
+            else:
+                for i, idx in enumerate(bestIdx.flatten()):
+                    X_can = explore.closest_points[idx]
+                    # plotter(self.ExpDesign.X, X_can, explore_method,
+                    # scoreExploration=None)
+
+                    # Calculate the maxmin score for the region of interest
+                    newSamples, maxminScore = explore.get_mc_samples(X_can)
+
+                    # select the requested number of samples
+                    Xnew[i] = newSamples[np.argmax(maxminScore)]
+
+        elif exploit_method == 'alphabetic':
+            # ------- EXPLOITATION: ALPHABETIC -------
+            Xnew = self.util_AlphOptDesign(allCandidates, var)
+
+        elif exploit_method == 'Space-filling':
+            # ------- EXPLOITATION: SPACE-FILLING -------
+            totalScore = scoreExploration
+
+            # ------- Select the best candidate -------
+            # find an optimal point subset to add to the initial design by
+            # maximization of the utility score and taking care of NaN values
+            temp = totalScore.copy()
+            temp[np.isnan(totalScore)] = -np.inf
+            sorted_idxtotalScore = np.argsort(temp)[::-1]
+
+            # select the requested number of samples
+            Xnew = allCandidates[sorted_idxtotalScore[:n_new_samples]]
+
+        else:
+            raise NameError('The requested design method is not available.')
+
+        print("\n")
+        print("\nRun No. {}:".format(old_EDX.shape[0]+1))
+        print("Xnew:\n", Xnew)
+        gc.collect()
+
+        return Xnew, None
+
+    # -------------------------------------------------------------------------
+    def util_AlphOptDesign(self, candidates, var='D-Opt'):
+        """
+        Enriches the Experimental design with the requested alphabetic
+        criterion based on exploring the space with number of sampling points.
+
+        Ref: Hadigol, M., & Doostan, A. (2018). Least squares polynomial chaos
+        expansion: A review of sampling strategies., Computer Methods in
+        Applied Mechanics and Engineering, 332, 382-407.
+
+        Arguments
+        ---------
+        NCandidate : int
+            Number of candidate points to be searched
+
+        var : string
+            Alphabetic optimality criterion
+
+        Returns
+        -------
+        X_new : array of shape (1, n_params)
+            The new sampling location in the input space.
+        """
+        MetaModelOrig = self
+        Model = self.Model
+        n_new_samples = MetaModelOrig.ExpDesign.n_new_samples
+        NCandidate = candidates.shape[0]
+
+        # TODO: Loop over outputs
+        OutputName = Model.Output.names[0]
+
+        # To avoid changes ub original aPCE object
+        MetaModel = deepcopy(MetaModelOrig)
+
+        # Old Experimental design
+        oldExpDesignX = MetaModel.ExpDesign.X
+
+        # TODO: Only one psi can be selected.
+        # Suggestion: Go for the one with the highest LOO error
+        Scores = list(MetaModel.score_dict[OutputName].values())
+        ModifiedLOO = [1-score for score in Scores]
+        outIdx = np.argmax(ModifiedLOO)
+
+        # Initialize Phi to save the criterion's values
+        Phi = np.zeros((NCandidate))
+
+        BasisIndices = MetaModelOrig.basis_dict[OutputName]["y_"+str(outIdx+1)]
+        P = len(BasisIndices)
+
+        # ------ Old Psi ------------
+        univ_p_val = MetaModelOrig.univ_basis_vals(oldExpDesignX)
+        Psi = MetaModelOrig.create_psi(BasisIndices, univ_p_val)
+
+        # ------ New candidates (Psi_c) ------------
+        # Assemble Psi_c
+        univ_p_val_c = self.univ_basis_vals(candidates)
+        Psi_c = self.create_psi(BasisIndices, univ_p_val_c)
+
+        for idx in range(NCandidate):
+
+            # Include the new row to the original Psi
+            Psi_cand = np.vstack((Psi, Psi_c[idx]))
+
+            # Information matrix
+            PsiTPsi = np.dot(Psi_cand.T, Psi_cand)
+            M = PsiTPsi / (len(oldExpDesignX)+1)
+
+            if np.linalg.cond(PsiTPsi) > 1e-12 \
+               and np.linalg.cond(PsiTPsi) < 1 / sys.float_info.epsilon:
+                # faster
+                invM = linalg.solve(M, sparse.eye(PsiTPsi.shape[0]).toarray())
+            else:
+                # stabler
+                invM = np.linalg.pinv(M)
+
+            # ---------- Calculate optimality criterion ----------
+            # Optimality criteria according to Section 4.5.1 in Ref.
+
+            # D-Opt
+            if var == 'D-Opt':
+                Phi[idx] = (np.linalg.det(invM)) ** (1/P)
+
+            # A-Opt
+            elif var == 'A-Opt':
+                Phi[idx] = np.trace(invM)
+
+            # K-Opt
+            elif var == 'K-Opt':
+                Phi[idx] = np.linalg.cond(M)
+
+            else:
+                raise Exception('The optimality criterion you requested has '
+                      'not been implemented yet!')
+
+        # find an optimal point subset to add to the initial design
+        # by minimization of the Phi
+        sorted_idxtotalScore = np.argsort(Phi)
+
+        # select the requested number of samples
+        Xnew = candidates[sorted_idxtotalScore[:n_new_samples]]
+
+        return Xnew
+
+    # -------------------------------------------------------------------------
+    def __normpdf(self, y_hat_pce, std_pce, obs_data, total_sigma2s,
+                  rmse=None):
+
+        Model = self.Model
+        likelihoods = 1.0
+
+        # Loop over the outputs
+        for idx, out in enumerate(Model.Output.names):
+
+            # (Meta)Model Output
+            nsamples, nout = y_hat_pce[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout].values
+
+            # Surrogate error if valid dataset is given.
+            if rmse is not None:
+                tot_sigma2s += rmse[out]**2
+
+            likelihoods *= stats.multivariate_normal.pdf(
+                y_hat_pce[out], data, np.diag(tot_sigma2s),
+                allow_singular=True)
+        self.Likelihoods = likelihoods
+
+        return likelihoods
+
+    # -------------------------------------------------------------------------
+    def __corr_factor_BME(self, obs_data, total_sigma2s, logBME):
+        """
+        Calculates the correction factor for BMEs.
+        """
+        MetaModel = self.MetaModel
+        samples = MetaModel.ExpDesign.X  # valid_samples
+        model_outputs = MetaModel.ExpDesign.Y  # valid_model_runs
+        Model = MetaModel.ModelObj
+        n_samples = samples.shape[0]
+
+        # Extract the requested model outputs for likelihood calulation
+        output_names = Model.Output.names
+
+        # TODO: Evaluate MetaModel on the experimental design and ValidSet
+        OutputRS, stdOutputRS = MetaModel.eval_metamodel(samples=samples)
+
+        logLik_data = np.zeros((n_samples))
+        logLik_model = np.zeros((n_samples))
+        # Loop over the outputs
+        for idx, out in enumerate(output_names):
+
+            # (Meta)Model Output
+            nsamples, nout = model_outputs[out].shape
+
+            # Prepare data and remove NaN
+            try:
+                data = obs_data[out].values[~np.isnan(obs_data[out])]
+            except AttributeError:
+                data = obs_data[out][~np.isnan(obs_data[out])]
+
+            # Prepare sigma2s
+            non_nan_indices = ~np.isnan(total_sigma2s[out])
+            tot_sigma2s = total_sigma2s[out][non_nan_indices][:nout]
+
+            # Covariance Matrix
+            covMatrix_data = np.diag(tot_sigma2s)
+
+            for i, sample in enumerate(samples):
+
+                # Simulation run
+                y_m = model_outputs[out][i]
+
+                # Surrogate prediction
+                y_m_hat = OutputRS[out][i]
+
+                # CovMatrix with the surrogate error
+                # covMatrix = np.diag(stdOutputRS[out][i]**2)
+                covMatrix = np.diag((y_m-y_m_hat)**2)
+                covMatrix = np.diag(
+                    np.mean((model_outputs[out]-OutputRS[out]), axis=0)**2
+                    )
+
+                # Compute likelilhood output vs data
+                logLik_data[i] += self.__logpdf(
+                    y_m_hat, data, covMatrix_data
+                    )
+
+                # Compute likelilhood output vs surrogate
+                logLik_model[i] += self.__logpdf(y_m_hat, y_m, covMatrix)
+
+        # Weight
+        logLik_data -= logBME
+        weights = np.exp(logLik_model+logLik_data)
+
+        return np.log(np.mean(weights))
+
+    # -------------------------------------------------------------------------
+    def __logpdf(self, x, mean, cov):
+        """
+        computes the likelihood based on a multivariate normal distribution.
+
+        Parameters
+        ----------
+        x : TYPE
+            DESCRIPTION.
+        mean : array_like
+            Observation data.
+        cov : 2d array
+            Covariance matrix of the distribution.
+
+        Returns
+        -------
+        log_lik : float
+            Log likelihood.
+
+        """
+        n = len(mean)
+        L = linalg.cholesky(cov, lower=True)
+        beta = np.sum(np.log(np.diag(L)))
+        dev = x - mean
+        alpha = dev.dot(linalg.cho_solve((L, True), dev))
+        log_lik = -0.5 * alpha - beta - n / 2. * np.log(2 * np.pi)
+
+        return log_lik
+
+    # -------------------------------------------------------------------------
+    def __posteriorPlot(self, posterior, par_names, key):
+
+        # Initialization
+        newpath = (r'Outputs_SeqPosteriorComparison/posterior')
+        os.makedirs(newpath, exist_ok=True)
+
+        bound_tuples = self.MetaModel.bound_tuples
+        n_params = len(par_names)
+        font_size = 40
+        if n_params == 2:
+
+            figPosterior, ax = plt.subplots(figsize=(15, 15))
+
+            sns.kdeplot(x=posterior[:, 0], y=posterior[:, 1],
+                        fill=True, ax=ax, cmap=plt.cm.jet,
+                        clip=bound_tuples)
+            # Axis labels
+            plt.xlabel(par_names[0], fontsize=font_size)
+            plt.ylabel(par_names[1], fontsize=font_size)
+
+            # Set axis limit
+            plt.xlim(bound_tuples[0])
+            plt.ylim(bound_tuples[1])
+
+            # Increase font size
+            plt.xticks(fontsize=font_size)
+            plt.yticks(fontsize=font_size)
+
+            # Switch off the grids
+            plt.grid(False)
+
+        else:
+            import corner
+            figPosterior = corner.corner(posterior, labels=par_names,
+                                         title_fmt='.2e', show_titles=True,
+                                         title_kwargs={"fontsize": 12})
+
+        figPosterior.savefig(f'./{newpath}/{key}.pdf', bbox_inches='tight')
+        plt.close()
+
+        # Save the posterior as .npy
+        np.save(f'./{newpath}/{key}.npy', posterior)
+
+        return figPosterior
+
+    # -------------------------------------------------------------------------
+    def __hellinger_distance(self, P, Q):
+        """
+        Hellinger distance between two continuous distributions.
+
+        The maximum distance 1 is achieved when P assigns probability zero to
+        every set to which Q assigns a positive probability, and vice versa.
+        0 (identical) and 1 (maximally different)
+
+        Parameters
+        ----------
+        P : array
+            Reference likelihood.
+        Q : array
+            Estimated likelihood.
+
+        Returns
+        -------
+        float
+            Hellinger distance of two distributions.
+
+        """
+        mu1 = P.mean()
+        Sigma1 = np.std(P)
+
+        mu2 = Q.mean()
+        Sigma2 = np.std(Q)
+
+        term1 = np.sqrt(2*Sigma1*Sigma2 / (Sigma1**2 + Sigma2**2))
+
+        term2 = np.exp(-.25 * (mu1 - mu2)**2 / (Sigma1**2 + Sigma2**2))
+
+        H_squared = 1 - term1 * term2
+
+        return np.sqrt(H_squared)
+
+    # -------------------------------------------------------------------------
+    def __BME_Calculator(self, MetaModel, obs_data, sigma2Dict, rmse=None):
+        """
+        This function computes the Bayesian model evidence (BME) via Monte
+        Carlo integration.
+
+        """
+        # Initializations
+        valid_likelihoods = MetaModel.valid_likelihoods
+
+        post_snapshot = MetaModel.ExpDesign.post_snapshot
+        if post_snapshot or len(valid_likelihoods) != 0:
+            newpath = (r'Outputs_SeqPosteriorComparison/likelihood_vs_ref')
+            os.makedirs(newpath, exist_ok=True)
+
+        SamplingMethod = 'random'
+        MCsize = 10000
+        ESS = 0
+
+        # Estimation of the integral via Monte Varlo integration
+        while (ESS > MCsize) or (ESS < 1):
+
+            # Generate samples for Monte Carlo simulation
+            X_MC = MetaModel.ExpDesign.generate_samples(
+                MCsize, SamplingMethod
+                )
+
+            # Monte Carlo simulation for the candidate design
+            m_1 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+            Y_MC, std_MC = MetaModel.eval_metamodel(samples=X_MC)
+            m_2 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+            print(f"\nMemory eval_metamodel in BME: {m_2-m_1:.2f} MB")
+
+            # Likelihood computation (Comparison of data and
+            # simulation results via PCE with candidate design)
+            Likelihoods = self.__normpdf(
+                Y_MC, std_MC, obs_data, sigma2Dict, rmse
+                )
+
+            # Check the Effective Sample Size (1000<ESS<MCsize)
+            ESS = 1 / np.sum(np.square(Likelihoods/np.sum(Likelihoods)))
+
+            # Enlarge sample size if it doesn't fulfill the criteria
+            if (ESS > MCsize) or (ESS < 1):
+                print(f'ESS={ESS} MC size should be larger.')
+                MCsize *= 10
+                ESS = 0
+
+        # Rejection Step
+        # Random numbers between 0 and 1
+        unif = np.random.rand(1, MCsize)[0]
+
+        # Reject the poorly performed prior
+        accepted = (Likelihoods/np.max(Likelihoods)) >= unif
+        X_Posterior = X_MC[accepted]
+
+        # ------------------------------------------------------------
+        # --- Kullback-Leibler Divergence & Information Entropy ------
+        # ------------------------------------------------------------
+        # Prior-based estimation of BME
+        logBME = np.log(np.nanmean(Likelihoods))
+
+        # TODO: Correction factor
+        # log_weight = self.__corr_factor_BME(obs_data, sigma2Dict, logBME)
+
+        # Posterior-based expectation of likelihoods
+        postExpLikelihoods = np.mean(np.log(Likelihoods[accepted]))
+
+        # Posterior-based expectation of prior densities
+        postExpPrior = np.mean(
+            np.log(MetaModel.ExpDesign.JDist.pdf(X_Posterior.T))
+            )
+
+        # Calculate Kullback-Leibler Divergence
+        # KLD = np.mean(np.log(Likelihoods[Likelihoods!=0])- logBME)
+        KLD = postExpLikelihoods - logBME
+
+        # Information Entropy based on Entropy paper Eq. 38
+        infEntropy = logBME - postExpPrior - postExpLikelihoods
+
+        # If post_snapshot is True, plot likelihood vs refrence
+        if post_snapshot or len(valid_likelihoods) != 0:
+            # Hellinger distance
+            ref_like = np.log(valid_likelihoods[valid_likelihoods > 0])
+            est_like = np.log(Likelihoods[Likelihoods > 0])
+            distHellinger = self.__hellinger_distance(ref_like, est_like)
+
+            idx = len([name for name in os.listdir(newpath) if 'Likelihoods_'
+                       in name and os.path.isfile(os.path.join(newpath, name))])
+            fig, ax = plt.subplots()
+            try:
+                sns.kdeplot(np.log(valid_likelihoods[valid_likelihoods > 0]),
+                            shade=True, color="g", label='Ref. Likelihood')
+                sns.kdeplot(np.log(Likelihoods[Likelihoods > 0]), shade=True,
+                            color="b", label='Likelihood with PCE')
+            except:
+                pass
+
+            text = f"Hellinger Dist.={distHellinger:.3f}\n logBME={logBME:.3f}"
+            "\n DKL={KLD:.3f}"
+
+            plt.text(0.05, 0.75, text, bbox=dict(facecolor='wheat',
+                                                 edgecolor='black',
+                                                 boxstyle='round,pad=1'),
+                     transform=ax.transAxes)
+
+            fig.savefig(f'./{newpath}/Likelihoods_{idx}.pdf',
+                        bbox_inches='tight')
+            plt.close()
+
+        else:
+            distHellinger = 0.0
+
+        # Bayesian inference with Emulator only for 2D problem
+        if post_snapshot and MetaModel.n_params == 2 and not idx % 5:
+            from bayes_inference.bayes_inference import BayesInference
+            from bayes_inference.discrepancy import Discrepancy
+            import pandas as pd
+            BayesOpts = BayesInference(MetaModel)
+            BayesOpts.emulator = True
+            BayesOpts.plot_post_pred = False
+
+            # Select the inference method
+            import emcee
+            BayesOpts.inference_method = "MCMC"
+            # Set the MCMC parameters passed to self.mcmc_params
+            BayesOpts.mcmc_params = {
+                'n_steps': 1e5,
+                'n_walkers': 30,
+                'moves': emcee.moves.KDEMove(),
+                'verbose': False
+                }
+
+            # ----- Define the discrepancy model -------
+            obs_data = pd.DataFrame(obs_data, columns=self.Model.Output.names)
+            BayesOpts.measurement_error = obs_data
+
+            # # -- (Option B) --
+            DiscrepancyOpts = Discrepancy('')
+            DiscrepancyOpts.type = 'Gaussian'
+            DiscrepancyOpts.parameters = obs_data**2
+            BayesOpts.Discrepancy = DiscrepancyOpts
+            # Start the calibration/inference
+            Bayes_PCE = BayesOpts.create_inference()
+            X_Posterior = Bayes_PCE.posterior_df.values
+
+        # Clean up
+        del Y_MC, std_MC
+        gc.collect()
+
+        return (logBME, KLD, X_Posterior, Likelihoods, distHellinger)
+
+    # -------------------------------------------------------------------------
+    def __validError(self, MetaModel):
+
+        # MetaModel = self.MetaModel
+        Model = MetaModel.ModelObj
+        OutputName = Model.Output.names
+
+        # Extract the original model with the generated samples
+        valid_samples = MetaModel.valid_samples
+        valid_model_runs = MetaModel.valid_model_runs
+
+        # Run the PCE model with the generated samples
+        m_1 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+        valid_PCE_runs, valid_PCE_std = MetaModel.eval_metamodel(samples=valid_samples)
+        m_2 = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1024
+        print(f"\nMemory eval_metamodel: {m_2-m_1:.2f} MB")
+
+        rms_error = {}
+        valid_error = {}
+        # Loop over the keys and compute RMSE error.
+        for key in OutputName:
+            rms_error[key] = mean_squared_error(
+                valid_model_runs[key], valid_PCE_runs[key],
+                multioutput='raw_values',
+                sample_weight=None,
+                squared=False)
+
+            # Validation error
+            valid_error[key] = (rms_error[key]**2)
+            valid_error[key] /= np.var(valid_model_runs[key], ddof=1, axis=0)
+
+            # Print a report table
+            print("\n>>>>> Updated Errors of {} <<<<<".format(key))
+            print("\nIndex  |  RMSE   |  Validation Error")
+            print('-'*35)
+            print('\n'.join(f'{i+1}  |  {k:.3e}  |  {j:.3e}' for i, (k, j)
+                            in enumerate(zip(rms_error[key],
+                                             valid_error[key]))))
+
+        return rms_error, valid_error
+
+    # -------------------------------------------------------------------------
+    def __error_Mean_Std(self):
+
+        MetaModel = self.MetaModel
+        # Extract the mean and std provided by user
+        df_MCReference = MetaModel.ModelObj.mc_reference
+
+        # Compute the mean and std based on the MetaModel
+        pce_means, pce_stds = self._compute_pce_moments(MetaModel)
+
+        # Compute the root mean squared error
+        for output in MetaModel.ModelObj.Output.names:
+
+            # Compute the error between mean and std of MetaModel and OrigModel
+            RMSE_Mean = mean_squared_error(
+                df_MCReference['mean'], pce_means[output], squared=False
+                )
+            RMSE_std = mean_squared_error(
+                df_MCReference['std'], pce_means[output], squared=False
+                )
+
+        return RMSE_Mean, RMSE_std
+
+    # -------------------------------------------------------------------------
+    def _compute_pce_moments(self, MetaModel):
+        """
+        Computes the first two moments using the PCE-based meta-model.
+
+        Returns
+        -------
+        pce_means: dict
+            The first moment (mean) of the surrogate.
+        pce_stds: dict
+            The second moment (standard deviation) of the surrogate.
+
+        """
+        outputs = MetaModel.ModelObj.Output.names
+        pce_means_b = {}
+        pce_stds_b = {}
+
+        # Loop over bootstrap iterations
+        for b_i in range(MetaModel.n_bootstrap_itrs):
+            # Loop over the metamodels
+            coeffs_dicts = MetaModel.coeffs_dict[f'b_{b_i+1}'].items()
+            means = {}
+            stds = {}
+            for output, coef_dict in coeffs_dicts:
+
+                pce_mean = np.zeros((len(coef_dict)))
+                pce_var = np.zeros((len(coef_dict)))
+
+                for index, values in coef_dict.items():
+                    idx = int(index.split('_')[1]) - 1
+                    coeffs = MetaModel.coeffs_dict[f'b_{b_i+1}'][output][index]
+
+                    # Mean = c_0
+                    if coeffs[0] != 0:
+                        pce_mean[idx] = coeffs[0]
+                    else:
+                        clf_poly = MetaModel.clf_poly[f'b_{b_i+1}'][output]
+                        pce_mean[idx] = clf_poly[index].intercept_
+                    # Var = sum(coeffs[1:]**2)
+                    pce_var[idx] = np.sum(np.square(coeffs[1:]))
+
+                # Save predictions for each output
+                if MetaModel.dim_red_method.lower() == 'pca':
+                    PCA = MetaModel.pca[f'b_{b_i+1}'][output]
+                    means[output] = PCA.mean_ + np.dot(
+                        pce_mean, PCA.components_)
+                    stds[output] = np.sqrt(np.dot(pce_var,
+                                                  PCA.components_**2))
+                else:
+                    means[output] = pce_mean
+                    stds[output] = np.sqrt(pce_var)
+
+            # Save predictions for each bootstrap iteration
+            pce_means_b[b_i] = means
+            pce_stds_b[b_i] = stds
+
+        # Change the order of nesting
+        mean_all = {}
+        for i in sorted(pce_means_b):
+            for k, v in pce_means_b[i].items():
+                if k not in mean_all:
+                    mean_all[k] = [None] * len(pce_means_b)
+                mean_all[k][i] = v
+        std_all = {}
+        for i in sorted(pce_stds_b):
+            for k, v in pce_stds_b[i].items():
+                if k not in std_all:
+                    std_all[k] = [None] * len(pce_stds_b)
+                std_all[k][i] = v
+
+        # Back transformation if PCA is selected.
+        pce_means, pce_stds = {}, {}
+        for output in outputs:
+            pce_means[output] = np.mean(mean_all[output], axis=0)
+            pce_stds[output] = np.mean(std_all[output], axis=0)
+
+        return pce_means, pce_stds
diff --git a/examples/only-model/bayesvalidrox/surrogate_models/surrogate_models.py b/examples/only-model/bayesvalidrox/surrogate_models/surrogate_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc6b83947f6b51cd1aee297fe07794a3a31332d6
--- /dev/null
+++ b/examples/only-model/bayesvalidrox/surrogate_models/surrogate_models.py
@@ -0,0 +1,1498 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+import warnings
+import numpy as np
+import math
+import h5py
+import matplotlib.pyplot as plt
+from sklearn.preprocessing import MinMaxScaler
+import scipy as sp
+from tqdm import tqdm
+from sklearn.decomposition import PCA as sklearnPCA
+import sklearn.linear_model as lm
+from sklearn.gaussian_process import GaussianProcessRegressor
+import sklearn.gaussian_process.kernels as kernels
+import os
+from joblib import Parallel, delayed
+import copy
+
+from bayesvalidrox.surrogate_models.exp_designs import ExpDesigns
+from bayesvalidrox.surrogate_models.glexindex import glexindex
+from bayesvalidrox.surrogate_models.eval_rec_rule import eval_univ_basis
+from bayesvalidrox.surrogate_models.reg_fast_ard import RegressionFastARD
+from bayesvalidrox.surrogate_models.reg_fast_laplace import RegressionFastLaplace
+from bayesvalidrox.surrogate_models.orthogonal_matching_pursuit import OrthogonalMatchingPursuit
+from bayesvalidrox.surrogate_models.bayes_linear import VBLinearRegression, EBLinearRegression
+warnings.filterwarnings("ignore")
+# Load the mplstyle
+#plt.style.use(os.path.join(os.path.split(__file__)[0],
+#                           '../', 'bayesvalidrox.mplstyle'))
+
+
+class MetaModel():
+    """
+    Meta (surrogate) model
+
+    This class trains a surrogate model. It accepts an input object (input_obj)
+    containing the specification of the distributions for uncertain parameters
+    and a model object with instructions on how to run the computational model.
+
+    Attributes
+    ----------
+    input_obj : obj
+        Input object with the information on the model input parameters.
+    meta_model_type : str
+        Surrogate model types. Three surrogate model types are supported:
+        polynomial chaos expansion (`PCE`), arbitrary PCE (`aPCE`) and
+        Gaussian process regression (`GPE`). Default is PCE.
+    pce_reg_method : str
+        PCE regression method to compute the coefficients. The following
+        regression methods are available:
+
+        1. OLS: Ordinary Least Square method
+        2. BRR: Bayesian Ridge Regression
+        3. LARS: Least angle regression
+        4. ARD: Bayesian ARD Regression
+        5. FastARD: Fast Bayesian ARD Regression
+        6. VBL: Variational Bayesian Learning
+        7. EBL: Emperical Bayesian Learning
+        Default is `OLS`.
+    bootstrap_method : str
+        Bootstraping method. Options are `'normal'` and `'fast'`. The default
+        is `'fast'`. It means that in each iteration except the first one, only
+        the coefficent are recalculated with the ordinary least square method.
+    n_bootstrap_itrs : int
+        Number of iterations for the bootstrap sampling. The default is `1`.
+    pce_deg : int or list of int
+        Polynomial degree(s). If a list is given, an adaptive algorithm is used
+        to find the best degree with the lowest Leave-One-Out cross-validation
+        (LOO) error (or the highest score=1-LOO). Default is `1`.
+    pce_q_norm : float
+        Hyperbolic (or q-norm) truncation for multi-indices of multivariate
+        polynomials. Default is `1.0`.
+    dim_red_method : str
+        Dimensionality reduction method for the output space. The available
+        method is based on principal component analysis (PCA). The Default is
+        `'no'`. There are two ways to select number of components: use
+        percentage of the explainable variance threshold (between 0 and 100)
+        (Option A) or direct prescription of components' number (Option B):
+
+            >>> MetaModelOpts.dim_red_method = 'PCA'
+            >>> MetaModelOpts.var_pca_threshold = 99.999  # Option A
+            >>> MetaModelOpts.n_pca_components = 12 # Option B
+
+    verbose : bool
+        Prints summary of the regression results. Default is `False`.
+
+    Note
+    -------
+    To define the sampling methods and the training set, an experimental design
+    instance shall be defined. This can be done by:
+
+    >>> MetaModelOpts.add_ExpDesign()
+
+    Two experimental design schemes are supported: one-shot (`normal`) and
+    adaptive sequential (`sequential`) designs.
+    For experimental design refer to `ExpDesigns`.
+
+    """
+
+    def __init__(self, input_obj, model_obj = 'None', meta_model_type='PCE',
+                 pce_reg_method='OLS', bootstrap_method='fast',
+                 n_bootstrap_itrs=1, pce_deg=1, pce_q_norm=1.0,
+                 dim_red_method='no', verbose=False): # added the 'None' behind model_obj
+
+        self.input_obj = input_obj
+        self.ModelObj = model_obj
+        self.meta_model_type = meta_model_type
+        self.pce_reg_method = pce_reg_method
+        self.bootstrap_method = bootstrap_method
+        self.n_bootstrap_itrs = n_bootstrap_itrs
+        self.pce_deg = pce_deg
+        self.pce_q_norm = pce_q_norm
+        self.dim_red_method = dim_red_method
+        self.verbose = False
+
+    # -------------------------------------------------------------------------
+    def create_metamodel(self, ModelObj = None): # added ModelObj here
+        """
+        Starts the training of the meta-model for the model objects containg
+         the given computational model.
+
+        Returns
+        -------
+        metamodel : obj
+            The meta model object.
+
+        """
+        if ModelObj:
+            self.ModelObj = ModelObj
+        Model = self.ModelObj
+        self.n_params = len(self.input_obj.Marginals)
+        self.ExpDesignFlag = 'normal'
+        # --- Prepare pce degree ---
+        if self.meta_model_type.lower() == 'pce':
+            if type(self.pce_deg) is not np.ndarray:
+                self.pce_deg = np.array(self.pce_deg)
+
+        if self.ExpDesign.method == 'sequential':
+            raise Exception(
+                "Please use MetaModelEngine class for the sequential design!"
+                )
+
+        elif self.ExpDesign.method == 'normal':
+            self.train_norm_design(Model, verbose=True)
+
+        else:
+            raise Exception("The method for experimental design you requested"
+                            " has not been implemented yet.")
+
+        # Zip the model run directories
+        if self.ModelObj.link_type.lower() == 'pylink' and\
+           self.ExpDesign.sampling_method.lower() != 'user':
+            Model.zip_subdirs(Model.name, f'{Model.name}_')
+
+        return self
+
+    # -------------------------------------------------------------------------
+    def train_norm_design(self, parallel=False, verbose=False):
+        """
+        This function loops over the outputs and each time step/point and fits
+        the meta model.
+
+        Parameters
+        ----------
+        parallel : bool
+            The parallel computation of coefficents. The default is True.
+        verbose : bool, optional
+            Flag for a sequential design in silent mode. The default is False.
+
+        Returns
+        -------
+        self: obj
+            Meta-model object.
+
+        """
+        self.ExpDesignFlag = 'normal'
+        Model = self.ModelObj
+        # Get the collocation points to run the forward model
+        CollocationPoints, OutputDict = self.generate_ExpDesign(Model)
+
+        # Initialize the nested dictionaries
+        if self.meta_model_type.lower() == 'gpe':
+            self.gp_poly = self.auto_vivification()
+            self.x_scaler = self.auto_vivification()
+            self.LCerror = self.auto_vivification()
+        else:
+            self.deg_dict = self.auto_vivification()
+            self.q_norm_dict = self.auto_vivification()
+            self.coeffs_dict = self.auto_vivification()
+            self.basis_dict = self.auto_vivification()
+            self.score_dict = self.auto_vivification()
+            self.clf_poly = self.auto_vivification()
+            self.LCerror = self.auto_vivification()
+        if self.dim_red_method.lower() == 'pca':
+            self.pca = self.auto_vivification()
+
+        # Define an array containing the degrees
+        n_samples, ndim = CollocationPoints.shape
+        self.deg_array = self.__select_degree(ndim, n_samples)
+
+        # Generate all basis indices
+        self.allBasisIndices = self.auto_vivification()
+        for deg in self.deg_array:
+            keys = self.allBasisIndices.keys()
+            if deg not in np.fromiter(keys, dtype=float):
+                # Generate the polynomial basis indices
+                for qidx, q in enumerate(self.pce_q_norm):
+                    basis_indices = self.create_basis_indices(degree=deg,
+                                                              q_norm=q)
+                    self.allBasisIndices[str(deg)][str(q)] = basis_indices
+
+        # Evaluate the univariate polynomials on ExpDesign
+        if self.meta_model_type.lower() != 'gpe':
+            univ_p_val = self.univ_basis_vals(CollocationPoints)        # TODO: issue appears in here: 'ExpDesigns' object has no attribute 'polycoeffs'
+
+        if 'x_values' in OutputDict:
+            self.ExpDesign.x_values = OutputDict['x_values']
+            del OutputDict['x_values']
+
+        # --- Loop through data points and fit the surrogate ---
+        if verbose:
+            print(f"\n>>>> Training the {self.meta_model_type} metamodel "
+                  "started. <<<<<<\n")
+
+        # --- Bootstrap sampling ---
+        # Correct number of bootstrap if PCA transformation is required.
+        if self.dim_red_method.lower() == 'pca' and self.n_bootstrap_itrs == 1:
+            self.n_bootstrap_itrs = 100
+
+        # Check if fast version (update coeffs with OLS) is selected.
+        if self.bootstrap_method.lower() == 'fast':
+            fast_bootstrap = True
+            first_out = {}
+            n_comp_dict = {}
+        else:
+            fast_bootstrap = False
+
+        # Prepare tqdm iteration maessage
+        if verbose and self.n_bootstrap_itrs > 1:
+            enum_obj = tqdm(range(self.n_bootstrap_itrs),
+                            total=self.n_bootstrap_itrs,
+                            desc="Boostraping the metamodel",
+                            ascii=True)
+        else:
+            enum_obj = range(self.n_bootstrap_itrs)
+
+        # Loop over the bootstrap iterations
+        for b_i in enum_obj:
+            if b_i > 0:
+                b_indices = np.random.randint(n_samples, size=n_samples)
+            else:
+                b_indices = np.arange(len(CollocationPoints))
+
+            X_train_b = CollocationPoints[b_indices]
+
+            if verbose and self.n_bootstrap_itrs == 1:
+                items = tqdm(OutputDict.items(), desc="Fitting regression")
+            else:
+                items = OutputDict.items()
+
+            # For loop over the components/outputs
+            for key, Output in items:
+
+                # Dimensionality reduction with PCA, if specified
+                if self.dim_red_method.lower() == 'pca':
+
+                    # Use the stored n_comp for fast bootsrtrapping
+                    if fast_bootstrap and b_i > 0:
+                        self.n_pca_components = n_comp_dict[key]
+
+                    # Start transformation
+                    pca, target, n_comp = self.pca_transformation(
+                        Output[b_indices], verbose=False
+                        )
+                    self.pca[f'b_{b_i+1}'][key] = pca
+                    # Store the number of components for fast bootsrtrapping
+                    if fast_bootstrap and b_i == 0:
+                        n_comp_dict[key] = n_comp
+                else:
+                    target = Output[b_indices]
+
+                # Parallel fit regression
+                if self.meta_model_type.lower() == 'gpe':
+                    # Prepare the input matrix
+                    scaler = MinMaxScaler()
+                    X_S = scaler.fit_transform(X_train_b)
+
+                    self.x_scaler[f'b_{b_i+1}'][key] = scaler
+                    if parallel:
+                        out = Parallel(n_jobs=-1, backend='multiprocessing')(
+                            delayed(self.gaussian_process_emulator)(
+                                X_S, target[:, idx]) for idx in
+                            range(target.shape[1]))
+                    else:
+                        results = map(self.gaussian_process_emulator,
+                                      [X_train_b]*target.shape[1],
+                                      [target[:, idx] for idx in
+                                       range(target.shape[1])]
+                                      )
+                        out = list(results)
+
+                    for idx in range(target.shape[1]):
+                        self.gp_poly[f'b_{b_i+1}'][key][f"y_{idx+1}"] = out[idx]
+
+                else:
+                    self.univ_p_val = univ_p_val[b_indices]
+                    if parallel and (not fast_bootstrap or b_i == 0):
+                        out = Parallel(n_jobs=-1, backend='multiprocessing')(
+                            delayed(self.adaptive_regression)(X_train_b,
+                                                              target[:, idx],
+                                                              idx)
+                            for idx in range(target.shape[1]))
+                    elif not parallel and (not fast_bootstrap or b_i == 0):
+                        results = map(self.adaptive_regression,
+                                      [X_train_b]*target.shape[1],
+                                      [target[:, idx] for idx in
+                                       range(target.shape[1])],
+                                      range(target.shape[1]))
+                        out = list(results)
+
+                    # Store the first out dictionary
+                    if fast_bootstrap and b_i == 0:
+                        first_out[key] = copy.deepcopy(out)
+
+                    if b_i > 0 and fast_bootstrap:
+
+                        # fast bootstrap
+                        out = self.update_pce_coeffs(
+                            X_train_b, target, first_out[key])
+
+                    for i in range(target.shape[1]):
+                        # Create a dict to pass the variables
+                        self.deg_dict[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['degree']
+                        self.q_norm_dict[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['qnorm']
+                        self.coeffs_dict[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['coeffs']
+                        self.basis_dict[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['multi_indices']
+                        self.score_dict[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['LOOCVScore']
+                        self.clf_poly[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['clf_poly']
+                        #self.LCerror[f'b_{b_i+1}'][key][f"y_{i+1}"] = out[i]['LCerror']
+
+        if verbose:
+            print(f"\n>>>> Training the {self.meta_model_type} metamodel"
+                  " sucessfully completed. <<<<<<\n")
+
+    # -------------------------------------------------------------------------
+    def update_pce_coeffs(self, X, y, out_dict):
+        """
+        Updates the PCE coefficents using only the ordinary least square method
+        for the fast version of the bootsrtrapping.
+
+        Parameters
+        ----------
+        X : array of shape (n_samples, n_params)
+            Training set.
+        y : array of shape (n_samples, n_outs)
+            The (transformed) model responses.
+        out_dict : dict
+            The training output dictionary of the first iteration, i.e.
+            the surrogate model for the original experimental design.
+
+        Returns
+        -------
+        final_out_dict : dict
+            The updated training output dictionary.
+
+        """
+        # Make a copy
+        final_out_dict = copy.deepcopy(out_dict)
+
+        # Loop over the points
+        for i in range(y.shape[1]):
+
+            # Extract nonzero basis indices
+            nnz_idx = np.nonzero(out_dict[i]['coeffs'])[0]
+            if len(nnz_idx) != 0:
+                basis_indices = out_dict[i]['multi_indices']
+
+                # Evaluate the multivariate polynomials on CollocationPoints
+                psi = self.create_psi(basis_indices, self.univ_p_val)
+
+                # Calulate the cofficients of surrogate model
+                updated_out = self.fit(
+                    psi, y[:, i], basis_indices, reg_method='OLS',
+                    sparsity=False
+                    )
+
+                # Update coeffs in out_dict
+                final_out_dict[i]['coeffs'][nnz_idx] = updated_out['coeffs']
+
+        return final_out_dict
+
+    # -------------------------------------------------------------------------
+    def create_basis_indices(self, degree, q_norm):
+        """
+        Creates set of selected multi-indices of multivariate polynomials for
+        certain parameter numbers, polynomial degree, hyperbolic (or q-norm)
+        truncation scheme.
+
+        Parameters
+        ----------
+        degree : int
+            Polynomial degree.
+        q_norm : float
+            hyperbolic (or q-norm) truncation.
+
+        Returns
+        -------
+        basis_indices : array of shape (n_terms, n_params)
+            Multi-indices of multivariate polynomials.
+
+        """
+        basis_indices = glexindex(start=0, stop=degree+1,
+                                  dimensions=self.n_params,
+                                  cross_truncation=q_norm,
+                                  reverse=False, graded=True)
+        return basis_indices
+
+    # -------------------------------------------------------------------------
+    def add_ExpDesign(self):
+        """
+        Instanciates experimental design object.
+
+        Returns
+        -------
+        None.
+
+        """
+        self.ExpDesign = ExpDesigns(self.input_obj,
+                                    meta_Model=self.meta_model_type)
+
+    # -------------------------------------------------------------------------
+    def generate_ExpDesign(self, Model):
+        """
+        Prepares the experimental design either by reading from the prescribed
+        data or running simulations.
+
+        Parameters
+        ----------
+        Model : obj
+            Model object.
+
+        Raises
+        ------
+        Exception
+            If model sumulations are not provided properly.
+
+        Returns
+        -------
+        ED_X_tr: array of shape (n_samples, n_params)
+            Training samples transformed by an isoprobabilistic transformation.
+        ED_Y: dict
+            Model simulations (target) for all outputs.
+        """
+        ExpDesign = self.ExpDesign
+        if self.ExpDesignFlag != 'sequential':
+            # Read ExpDesign (training and targets) from the provided hdf5
+            if ExpDesign.hdf5_file is not None:
+
+                # Read hdf5 file
+                f = h5py.File(ExpDesign.hdf5_file, 'r+')
+
+                # Read EDX and pass it to ExpDesign object
+                try:
+                    ExpDesign.X = np.array(f["EDX/New_init_"])
+                except KeyError:
+                    ExpDesign.X = np.array(f["EDX/init_"])
+
+                # Update number of initial samples
+                ExpDesign.n_init_samples = ExpDesign.X.shape[0]
+
+                # Read EDX and pass it to ExpDesign object
+                out_names = self.ModelObj.Output.names
+                ExpDesign.Y = {}
+
+                # Extract x values
+                try:
+                    ExpDesign.Y["x_values"] = dict()
+                    for varIdx, var in enumerate(out_names):
+                        x = np.array(f[f"x_values/{var}"])
+                        ExpDesign.Y["x_values"][var] = x
+                except KeyError:
+                    ExpDesign.Y["x_values"] = np.array(f["x_values"])
+
+                # Store the output
+                for varIdx, var in enumerate(out_names):
+                    try:
+                        y = np.array(f[f"EDY/{var}/New_init_"])
+                    except KeyError:
+                        y = np.array(f[f"EDY/{var}/init_"])
+                    ExpDesign.Y[var] = y
+                f.close()
+            else: # changed from else
+                # Check if an old hdf5 file exists: if yes, rename it
+                hdf5file = f'ExpDesign_{self.ModelObj.name}.hdf5'
+                if os.path.exists(hdf5file):
+                    os.rename(hdf5file, 'old_'+hdf5file)
+
+        # ---- Prepare X samples ----
+        ED_X, ED_X_tr = ExpDesign.generate_ED(ExpDesign.n_init_samples,
+                                              ExpDesign.sampling_method,
+                                              transform=True,
+                                              max_pce_deg=np.max(self.pce_deg))
+        ExpDesign.X = ED_X
+        ExpDesign.collocationPoints = ED_X_tr
+        self.bound_tuples = ExpDesign.bound_tuples
+
+        # ---- Run simulations at X ----
+        if not hasattr(ExpDesign, 'Y') or ExpDesign.Y is None:
+            print('\n Now the forward model needs to be run!\n')
+            ED_Y, up_ED_X = Model.run_model_parallel(ED_X)
+            ExpDesign.X = up_ED_X
+            self.ModelOutputDict = ED_Y
+            ExpDesign.Y = ED_Y
+        else:
+            # Check if a dict has been passed.
+            if type(ExpDesign.Y) is dict:
+                self.ModelOutputDict = ExpDesign.Y
+            else:
+                raise Exception('Please provide either a dictionary or a hdf5'
+                                'file to ExpDesign.hdf5_file argument.')
+
+        return ED_X_tr, self.ModelOutputDict
+
+    # -------------------------------------------------------------------------
+    def univ_basis_vals(self, samples, n_max=None):
+        """
+        Evaluates univariate regressors along input directions.
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params)
+            Samples.
+        n_max : int, optional
+            Maximum polynomial degree. The default is `None`.
+
+        Returns
+        -------
+        univ_basis: array of shape (n_samples, n_params, n_max+1)
+            All univariate regressors up to n_max.
+        """
+        # Extract information
+        poly_types = self.ExpDesign.poly_types
+        if samples.ndim != 2:
+            samples = samples.reshape(1, len(samples))
+        n_max = np.max(self.pce_deg) if n_max is None else n_max
+
+        # Extract poly coeffs
+        if self.ExpDesign.input_data_given or self.ExpDesign.apce:
+            apolycoeffs = self.ExpDesign.polycoeffs
+        else:
+            apolycoeffs = None
+
+        # Evaluate univariate basis
+        univ_basis = eval_univ_basis(samples, n_max, poly_types, apolycoeffs)
+
+        return univ_basis
+
+    # -------------------------------------------------------------------------
+    def create_psi(self, basis_indices, univ_p_val):
+        """
+        This function assemble the design matrix Psi from the given basis index
+        set INDICES and the univariate polynomial evaluations univ_p_val.
+
+        Parameters
+        ----------
+        basis_indices : array of shape (n_terms, n_params)
+            Multi-indices of multivariate polynomials.
+        univ_p_val : array of (n_samples, n_params, n_max+1)
+            All univariate regressors up to `n_max`.
+
+        Raises
+        ------
+        ValueError
+            n_terms in arguments do not match.
+
+        Returns
+        -------
+        psi : array of shape (n_samples, n_terms)
+            Multivariate regressors.
+
+        """
+        # Check if BasisIndices is a sparse matrix
+        sparsity = sp.sparse.issparse(basis_indices)
+        if sparsity:
+            basis_indices = basis_indices.toarray()
+
+        # Initialization and consistency checks
+        # number of input variables
+        n_params = univ_p_val.shape[1]
+
+        # Size of the experimental design
+        n_samples = univ_p_val.shape[0]
+
+        # number of basis terms
+        n_terms = basis_indices.shape[0]
+
+        # check that the variables have consistent sizes
+        if n_params != basis_indices.shape[1]:
+            raise ValueError(
+                f"The shapes of basis_indices ({basis_indices.shape[1]}) and "
+                f"univ_p_val ({n_params}) don't match!!"
+                )
+
+        # Preallocate the Psi matrix for performance
+        psi = np.ones((n_samples, n_terms))
+        # Assemble the Psi matrix
+        for m in range(basis_indices.shape[1]):
+            aa = np.where(basis_indices[:, m] > 0)[0]
+            try:
+                basisIdx = basis_indices[aa, m]
+                bb = univ_p_val[:, m, basisIdx].reshape(psi[:, aa].shape)
+                psi[:, aa] = np.multiply(psi[:, aa], bb)
+            except ValueError as err:
+                raise err
+        return psi
+
+    # -------------------------------------------------------------------------
+    def fit(self, X, y, basis_indices, reg_method=None, sparsity=True):
+        """
+        Fit regression using the regression method provided.
+
+        Parameters
+        ----------
+        X : array of shape (n_samples, n_features)
+            Training vector, where n_samples is the number of samples and
+            n_features is the number of features.
+        y : array of shape (n_samples,)
+            Target values.
+        basis_indices : array of shape (n_terms, n_params)
+            Multi-indices of multivariate polynomials.
+        reg_method : str, optional
+            DESCRIPTION. The default is None.
+
+        Returns
+        -------
+        return_out_dict : Dict
+            Fitted estimator, spareMulti-Index, sparseX and coefficients.
+
+        """
+        if reg_method is None:
+            reg_method = self.pce_reg_method
+
+        bias_term = self.dim_red_method.lower() != 'pca'
+
+        compute_score = True if self.verbose else False
+
+        #  inverse of the observed variance of the data
+        if np.var(y) != 0:
+            Lambda = 1 / np.var(y)
+        else:
+            Lambda = 1e-6
+
+        # Bayes sparse adaptive aPCE
+        if reg_method.lower() == 'ols':
+            clf_poly = lm.LinearRegression(fit_intercept=False)
+        elif reg_method.lower() == 'brr':
+            clf_poly = lm.BayesianRidge(n_iter=1000, tol=1e-7,
+                                        fit_intercept=False,
+                                        normalize=True,
+                                        compute_score=compute_score,
+                                        alpha_1=1e-04, alpha_2=1e-04,
+                                        lambda_1=Lambda, lambda_2=Lambda)
+            clf_poly.converged = True
+
+        elif reg_method.lower() == 'ard':
+            clf_poly = lm.ARDRegression(fit_intercept=False,
+                                        normalize=True,
+                                        compute_score=compute_score,
+                                        n_iter=1000, tol=0.0001,
+                                        alpha_1=1e-3, alpha_2=1e-3,
+                                        lambda_1=Lambda, lambda_2=Lambda)
+
+        elif reg_method.lower() == 'fastard':
+            clf_poly = RegressionFastARD(fit_intercept=False,
+                                         normalize=True,
+                                         compute_score=compute_score,
+                                         n_iter=300, tol=1e-10)
+
+        elif reg_method.lower() == 'bcs':
+            clf_poly = RegressionFastLaplace(fit_intercept=False,
+                                             bias_term=bias_term,
+                                             n_iter=1000, tol=1e-7)
+
+        elif reg_method.lower() == 'lars':
+            clf_poly = lm.LassoLarsCV(fit_intercept=False)
+
+        elif reg_method.lower() == 'sgdr':
+            clf_poly = lm.SGDRegressor(fit_intercept=False,
+                                       max_iter=5000, tol=1e-7)
+
+        elif reg_method.lower() == 'omp':
+            clf_poly = OrthogonalMatchingPursuit(fit_intercept=False)
+
+        elif reg_method.lower() == 'vbl':
+            clf_poly = VBLinearRegression(fit_intercept=False)
+
+        elif reg_method.lower() == 'ebl':
+            clf_poly = EBLinearRegression(optimizer='em')
+
+        # Fit
+        clf_poly.fit(X, y)
+
+        # Select the nonzero entries of coefficients
+        if sparsity:
+            nnz_idx = np.nonzero(clf_poly.coef_)[0]
+        else:
+            nnz_idx = np.arange(clf_poly.coef_.shape[0])
+
+        # This is for the case where all outputs are zero, thereby
+        # all coefficients are zero
+        if (y == 0).all():
+            nnz_idx = np.insert(np.nonzero(clf_poly.coef_)[0], 0, 0)
+
+        sparse_basis_indices = basis_indices[nnz_idx]
+        sparse_X = X[:, nnz_idx]
+        coeffs = clf_poly.coef_[nnz_idx]
+        clf_poly.coef_ = coeffs
+
+        # Create a dict to pass the outputs
+        return_out_dict = dict()
+        return_out_dict['clf_poly'] = clf_poly
+        return_out_dict['spareMulti-Index'] = sparse_basis_indices
+        return_out_dict['sparePsi'] = sparse_X
+        return_out_dict['coeffs'] = coeffs
+        return return_out_dict
+
+    # --------------------------------------------------------------------------------------------------------
+    def adaptive_regression(self, ED_X, ED_Y, varIdx, verbose=False):
+        """
+        Adaptively fits the PCE model by comparing the scores of different
+        degrees and q-norm.
+
+        Parameters
+        ----------
+        ED_X : array of shape (n_samples, n_params)
+            Experimental design.
+        ED_Y : array of shape (n_samples,)
+            Target values, i.e. simulation results for the Experimental design.
+        varIdx : int
+            Index of the output.
+        verbose : bool, optional
+            Print out summary. The default is False.
+
+        Returns
+        -------
+        returnVars : Dict
+            Fitted estimator, best degree, best q-norm, LOOCVScore and
+            coefficients.
+
+        """
+
+        n_samples, n_params = ED_X.shape
+        # Initialization
+        qAllCoeffs, AllCoeffs = {}, {}
+        qAllIndices_Sparse, AllIndices_Sparse = {}, {}
+        qAllclf_poly, Allclf_poly = {}, {}
+        qAllnTerms, AllnTerms = {}, {}
+        qAllLCerror, AllLCerror = {}, {}
+
+        # Extract degree array and qnorm array
+        deg_array = np.array([*self.allBasisIndices], dtype=int)
+        qnorm = [*self.allBasisIndices[str(int(deg_array[0]))]]
+
+        # Some options for EarlyStop
+        errorIncreases = False
+        # Stop degree, if LOO error does not decrease n_checks_degree times
+        n_checks_degree = 3
+        # Stop qNorm, if criterion isn't fulfilled n_checks_qNorm times
+        n_checks_qNorm = 2
+        nqnorms = len(qnorm)
+        qNormEarlyStop = True
+        if nqnorms < n_checks_qNorm+1:
+            qNormEarlyStop = False
+
+        # =====================================================================
+        # basis adaptive polynomial chaos: repeat the calculation by increasing
+        # polynomial degree until the highest accuracy is reached
+        # =====================================================================
+        # For each degree check all q-norms and choose the best one
+        scores = -np.inf * np.ones(deg_array.shape[0])
+        qNormScores = -np.inf * np.ones(nqnorms)
+
+        for degIdx, deg in enumerate(deg_array):
+
+            for qidx, q in enumerate(qnorm):
+
+                # Extract the polynomial basis indices from the pool of
+                # allBasisIndices
+                BasisIndices = self.allBasisIndices[str(deg)][str(q)]
+
+                # Assemble the Psi matrix
+                Psi = self.create_psi(BasisIndices, self.univ_p_val)
+
+                # Calulate the cofficients of the meta model
+                outs = self.fit(Psi, ED_Y, BasisIndices)
+
+                # Calculate and save the score of LOOCV
+                score, LCerror = self.corr_loocv_error(outs['clf_poly'],
+                                                       outs['sparePsi'],
+                                                       outs['coeffs'],
+                                                       ED_Y)
+
+                # Check the convergence of noise for FastARD
+                if self.pce_reg_method == 'FastARD' and \
+                   outs['clf_poly'].alpha_ < np.finfo(np.float32).eps:
+                    score = -np.inf
+
+                qNormScores[qidx] = score
+                qAllCoeffs[str(qidx+1)] = outs['coeffs']
+                qAllIndices_Sparse[str(qidx+1)] = outs['spareMulti-Index']
+                qAllclf_poly[str(qidx+1)] = outs['clf_poly']
+                qAllnTerms[str(qidx+1)] = BasisIndices.shape[0]
+                qAllLCerror[str(qidx+1)] = LCerror
+
+                # EarlyStop check
+                # if there are at least n_checks_qNorm entries after the
+                # best one, we stop
+                if qNormEarlyStop and \
+                   sum(np.isfinite(qNormScores)) > n_checks_qNorm:
+                    # If the error has increased the last two iterations, stop!
+                    qNormScores_nonInf = qNormScores[np.isfinite(qNormScores)]
+                    deltas = np.sign(np.diff(qNormScores_nonInf))
+                    if sum(deltas[-n_checks_qNorm+1:]) == 2:
+                        # stop the q-norm loop here
+                        break
+                if np.var(ED_Y) == 0:
+                    break
+
+            # Store the score in the scores list
+            best_q = np.nanargmax(qNormScores)
+            scores[degIdx] = qNormScores[best_q]
+
+            AllCoeffs[str(degIdx+1)] = qAllCoeffs[str(best_q+1)]
+            AllIndices_Sparse[str(degIdx+1)] = qAllIndices_Sparse[str(best_q+1)]
+            Allclf_poly[str(degIdx+1)] = qAllclf_poly[str(best_q+1)]
+            AllnTerms[str(degIdx+1)] = qAllnTerms[str(best_q+1)]
+            AllLCerror[str(degIdx+1)] = qAllLCerror[str(best_q+1)]
+
+            # Check the direction of the error (on average):
+            # if it increases consistently stop the iterations
+            if len(scores[scores != -np.inf]) > n_checks_degree:
+                scores_nonInf = scores[scores != -np.inf]
+                ss = np.sign(scores_nonInf - np.max(scores_nonInf))
+                # ss<0 error decreasing
+                errorIncreases = np.sum(np.sum(ss[-2:])) <= -1*n_checks_degree
+
+            if errorIncreases:
+                break
+
+            # Check only one degree, if target matrix has zero variance
+            if np.var(ED_Y) == 0:
+                break
+
+        # ------------------ Summary of results ------------------
+        # Select the one with the best score and save the necessary outputs
+        best_deg = np.nanargmax(scores)+1
+        coeffs = AllCoeffs[str(best_deg)]
+        basis_indices = AllIndices_Sparse[str(best_deg)]
+        clf_poly = Allclf_poly[str(best_deg)]
+        LOOCVScore = np.nanmax(scores)
+        P = AllnTerms[str(best_deg)]
+        LCerror = AllLCerror[str(best_deg)]
+        degree = deg_array[np.nanargmax(scores)]
+        qnorm = float(qnorm[best_q])
+
+        # ------------------ Print out Summary of results ------------------
+        if self.verbose:
+            # Create PSI_Sparse by removing redundent terms
+            nnz_idx = np.nonzero(coeffs)[0]
+            BasisIndices_Sparse = basis_indices[nnz_idx]
+
+            print(f'Output variable {varIdx+1}:')
+            print('The estimation of PCE coefficients converged at polynomial '
+                  f'degree {deg_array[best_deg-1]} with '
+                  f'{len(BasisIndices_Sparse)} terms (Sparsity index = '
+                  f'{round(len(BasisIndices_Sparse)/P, 3)}).')
+
+            print(f'Final ModLOO error estimate: {1-max(scores):.3e}')
+            print('\n'+'-'*50)
+
+        if verbose:
+            print('='*50)
+            print(' '*10 + ' Summary of results ')
+            print('='*50)
+
+            print("scores:\n", scores)
+            print("Best score's degree:", self.deg_array[best_deg-1])
+            print("NO. of terms:", len(basis_indices))
+            print("Sparsity index:", round(len(basis_indices)/P, 3))
+            print("Best Indices:\n", basis_indices)
+
+            if self.pce_reg_method in ['BRR', 'ARD']:
+                fig, ax = plt.subplots(figsize=(12, 10))
+                plt.title("Marginal log-likelihood")
+                plt.plot(clf_poly.scores_, color='navy', linewidth=2)
+                plt.ylabel("Score")
+                plt.xlabel("Iterations")
+                if self.pce_reg_method.lower() == 'bbr':
+                    text = f"$\\alpha={clf_poly.alpha_:.1f}$\n"
+                    f"$\\lambda={clf_poly.lambda_:.3f}$\n"
+                    f"$L={clf_poly.scores_[-1]:.1f}$"
+                else:
+                    text = f"$\\alpha={clf_poly.alpha_:.1f}$\n$"
+                    f"\\L={clf_poly.scores_[-1]:.1f}$"
+
+                plt.text(0.75, 0.5, text, fontsize=18, transform=ax.transAxes)
+                plt.show()
+            print('='*80)
+
+        # Create a dict to pass the outputs
+        returnVars = dict()
+        returnVars['clf_poly'] = clf_poly
+        returnVars['degree'] = degree
+        returnVars['qnorm'] = qnorm
+        returnVars['coeffs'] = coeffs
+        returnVars['multi_indices'] = basis_indices
+        returnVars['LOOCVScore'] = LOOCVScore
+        returnVars['LCerror'] = LCerror
+
+        return returnVars
+
+    # -------------------------------------------------------------------------
+    def corr_loocv_error(self, clf, psi, coeffs, y):
+        """
+        Calculates the corrected LOO error for regression on regressor
+        matrix `psi` that generated the coefficients based on [1] and [2].
+
+        [1] Blatman, G., 2009. Adaptive sparse polynomial chaos expansions for
+            uncertainty propagation and sensitivity analysis (Doctoral
+            dissertation, Clermont-Ferrand 2).
+
+        [2] Blatman, G. and Sudret, B., 2011. Adaptive sparse polynomial chaos
+            expansion based on least angle regression. Journal of computational
+            Physics, 230(6), pp.2345-2367.
+
+        Parameters
+        ----------
+        clf : object
+            Fitted estimator.
+        psi : array of shape (n_samples, n_features)
+            The multivariate orthogonal polynomials (regressor).
+        coeffs : array-like of shape (n_features,)
+            Estimated cofficients.
+        y : array of shape (n_samples,)
+            Target values.
+
+        Returns
+        -------
+        R_2 : float
+            LOOCV Validation score (1-LOOCV erro).
+        residual : array of shape (n_samples,)
+            Residual values (y - predicted targets).
+
+        """
+        psi = np.array(psi, dtype=float)
+
+        # Create PSI_Sparse by removing redundent terms
+        nnz_idx = np.nonzero(coeffs)[0]
+        if len(nnz_idx) == 0:
+            nnz_idx = [0]
+        psi_sparse = psi[:, nnz_idx]
+
+        # NrCoeffs of aPCEs
+        P = len(nnz_idx)
+        # NrEvaluation (Size of experimental design)
+        N = psi.shape[0]
+
+        # Build the projection matrix
+        PsiTPsi = np.dot(psi_sparse.T, psi_sparse)
+
+        if np.linalg.cond(PsiTPsi) > 1e-12: #and \
+           # np.linalg.cond(PsiTPsi) < 1/sys.float_info.epsilon:
+            # faster
+            M = sp.linalg.solve(PsiTPsi,
+                                sp.sparse.eye(PsiTPsi.shape[0]).toarray())
+        else:
+            # stabler
+            M = np.linalg.pinv(PsiTPsi)
+
+        # h factor (the full matrix is not calculated explicitly,
+        # only the trace is, to save memory)
+        PsiM = np.dot(psi_sparse, M)
+
+        h = np.sum(np.multiply(PsiM, psi_sparse), axis=1, dtype=np.longdouble) # changed from np.float128
+
+        # ------ Calculate Error Loocv for each measurement point ----
+        # Residuals
+        try:
+            residual = clf.predict(psi) - y
+        except:
+            residual = np.dot(psi, coeffs) - y
+
+        # Variance
+        var_y = np.var(y)
+
+        if var_y == 0:
+            norm_emp_error = 0
+            loo_error = 0
+            LCerror = np.zeros((y.shape))
+            return 1-loo_error, LCerror
+        else:
+            norm_emp_error = np.mean(residual**2)/var_y
+
+            # LCerror = np.divide(residual, (1-h))
+            LCerror = residual / (1-h)
+            loo_error = np.mean(np.square(LCerror)) / var_y
+            # if there are NaNs, just return an infinite LOO error (this
+            # happens, e.g., when a strongly underdetermined problem is solved)
+            if np.isnan(loo_error):
+                loo_error = np.inf
+
+        # Corrected Error for over-determined system
+        tr_M = np.trace(M)
+        if tr_M < 0 or abs(tr_M) > 1e6:
+            tr_M = np.trace(np.linalg.pinv(np.dot(psi.T, psi)))
+
+        # Over-determined system of Equation
+        if N > P:
+            T_factor = N/(N-P) * (1 + tr_M)
+
+        # Under-determined system of Equation
+        else:
+            T_factor = np.inf
+
+        corrected_loo_error = loo_error * T_factor
+
+        R_2 = 1 - corrected_loo_error
+
+        return R_2, LCerror
+
+    # -------------------------------------------------------------------------
+    def pca_transformation(self, target, verbose=False):
+        """
+        Transforms the targets (outputs) via Principal Component Analysis
+
+        Parameters
+        ----------
+        target : array of shape (n_samples,)
+            Target values.
+
+        Returns
+        -------
+        pca : obj
+            Fitted sklearnPCA object.
+        OutputMatrix : array of shape (n_samples,)
+            Transformed target values.
+        n_pca_components : int
+            Number of selected principal components.
+
+        """
+        # Transform via Principal Component Analysis
+        if hasattr(self, 'var_pca_threshold'):
+            var_pca_threshold = self.var_pca_threshold
+        else:
+            var_pca_threshold = 100.0
+        n_samples, n_features = target.shape
+
+        if hasattr(self, 'n_pca_components'):
+            n_pca_components = self.n_pca_components
+        else:
+            # Instantiate and fit sklearnPCA object
+            covar_matrix = sklearnPCA(n_components=None)
+            covar_matrix.fit(target)
+            var = np.cumsum(np.round(covar_matrix.explained_variance_ratio_,
+                                     decimals=5)*100)
+            # Find the number of components to explain self.varPCAThreshold of
+            # variance
+            try:
+                n_components = np.where(var >= var_pca_threshold)[0][0] + 1
+            except IndexError:
+                n_components = min(n_samples, n_features)
+
+            n_pca_components = min(n_samples, n_features, n_components)
+
+        # Print out a report
+        if verbose:
+            print()
+            print('-' * 50)
+            print(f"PCA transformation is performed with {n_pca_components}"
+                  " components.")
+            print('-' * 50)
+            print()
+
+        # Fit and transform with the selected number of components
+        pca = sklearnPCA(n_components=n_pca_components, svd_solver='arpack')
+        scaled_target = pca.fit_transform(target)
+
+        return pca, scaled_target, n_pca_components
+
+    # -------------------------------------------------------------------------
+    def gaussian_process_emulator(self, X, y, nug_term=None, autoSelect=False,
+                                  varIdx=None):
+        """
+        Fits a Gaussian Process Emulator to the target given the training
+         points.
+
+        Parameters
+        ----------
+        X : array of shape (n_samples, n_params)
+            Training points.
+        y : array of shape (n_samples,)
+            Target values.
+        nug_term : float, optional
+            Nugget term. The default is None, i.e. variance of y.
+        autoSelect : bool, optional
+            Loop over some kernels and select the best. The default is False.
+        varIdx : int, optional
+            The index number. The default is None.
+
+        Returns
+        -------
+        gp : object
+            Fitted estimator.
+
+        """
+
+        nug_term = nug_term if nug_term else np.var(y)
+
+        Kernels = [nug_term * kernels.RBF(length_scale=1.0,
+                                          length_scale_bounds=(1e-25, 1e15)),
+                   nug_term * kernels.RationalQuadratic(length_scale=0.2,
+                                                        alpha=1.0),
+                   nug_term * kernels.Matern(length_scale=1.0,
+                                             length_scale_bounds=(1e-15, 1e5),
+                                             nu=1.5)]
+
+        # Automatic selection of the kernel
+        if autoSelect:
+            gp = {}
+            BME = []
+            for i, kernel in enumerate(Kernels):
+                gp[i] = GaussianProcessRegressor(kernel=kernel,
+                                                 n_restarts_optimizer=3,
+                                                 normalize_y=False)
+
+                # Fit to data using Maximum Likelihood Estimation
+                gp[i].fit(X, y)
+
+                # Store the MLE as BME score
+                BME.append(gp[i].log_marginal_likelihood())
+
+            gp = gp[np.argmax(BME)]
+
+        else:
+            gp = GaussianProcessRegressor(kernel=Kernels[0],
+                                          n_restarts_optimizer=3,
+                                          normalize_y=False)
+            gp.fit(X, y)
+
+        # Compute score
+        if varIdx is not None:
+            Score = gp.score(X, y)
+            print('-'*50)
+            print(f'Output variable {varIdx}:')
+            print('The estimation of GPE coefficients converged,')
+            print(f'with the R^2 score: {Score:.3f}')
+            print('-'*50)
+
+        return gp
+
+    # -------------------------------------------------------------------------
+    def eval_metamodel(self, samples=None, nsamples=None,
+                       sampling_method='random', return_samples=False):
+        """
+        Evaluates meta-model at the requested samples. One can also generate
+        nsamples.
+
+        Parameters
+        ----------
+        samples : array of shape (n_samples, n_params), optional
+            Samples to evaluate meta-model at. The default is None.
+        nsamples : int, optional
+            Number of samples to generate, if no `samples` is provided. The
+            default is None.
+        sampling_method : str, optional
+            Type of sampling, if no `samples` is provided. The default is
+            'random'.
+        return_samples : bool, optional
+            Retun samples, if no `samples` is provided. The default is False.
+
+        Returns
+        -------
+        mean_pred : dict
+            Mean of the predictions.
+        std_pred : dict
+            Standard deviatioon of the predictions.
+        """
+        outputs = self.ModelObj.Output.names
+
+        # Generate or transform (if need be) samples
+        if samples is None:
+            # Generate
+            samples = self.ExpDesign.generate_samples(
+                nsamples,
+                sampling_method
+                )
+
+        # Transform samples to the independent space
+        samples = self.ExpDesign.transform(
+            samples,
+            method='user'
+            )
+
+        # Compute univariate bases for the given samples
+        if self.meta_model_type.lower() != 'gpe':
+            univ_p_val = self.univ_basis_vals(
+                samples,
+                n_max=np.max(self.pce_deg)
+                )
+
+        mean_pred_b = {}
+        std_pred_b = {}
+        # Loop over bootstrap iterations
+        for b_i in range(self.n_bootstrap_itrs):
+
+            # Extract model dictionary
+            if self.meta_model_type.lower() == 'gpe':
+                model_dict = self.gp_poly[f'b_{b_i+1}']
+            else:
+                model_dict = self.coeffs_dict[f'b_{b_i+1}']
+
+            # Loop over outputs
+            mean_pred = {}
+            std_pred = {}
+            for output, values in model_dict.items():
+
+                mean = np.empty((len(samples), len(values)))
+                std = np.empty((len(samples), len(values)))
+                idx = 0
+                for in_key, InIdxValues in values.items():
+
+                    # Perdiction with GPE
+                    if self.meta_model_type.lower() == 'gpe':
+                        X_T = self.x_scaler[f'b_{b_i+1}'][output].transform(samples)
+                        gp = self.gp_poly[f'b_{b_i+1}'][output][in_key]
+                        y_mean, y_std = gp.predict(X_T, return_std=True)
+
+                    else:
+                        # Perdiction with PCE
+                        # Assemble Psi matrix
+                        basis = self.basis_dict[f'b_{b_i+1}'][output][in_key]
+                        psi = self.create_psi(basis, univ_p_val)
+
+                        # Perdiction
+                        if self.bootstrap_method != 'fast' or b_i == 0:
+                            # with error bar, i.e. use clf_poly
+                            clf_poly = self.clf_poly[f'b_{b_i+1}'][output][in_key]
+                            try:
+                                y_mean, y_std = clf_poly.predict(
+                                    psi, return_std=True
+                                    )
+                            except TypeError:
+                                y_mean = clf_poly.predict(psi)
+                                y_std = np.zeros_like(y_mean)
+                        else:
+                            # without error bar
+                            coeffs = self.coeffs_dict[f'b_{b_i+1}'][output][in_key]
+                            y_mean = np.dot(psi, coeffs)
+                            y_std = np.zeros_like(y_mean)
+
+                    mean[:, idx] = y_mean
+                    std[:, idx] = y_std
+                    idx += 1
+
+                # Save predictions for each output
+                if self.dim_red_method.lower() == 'pca':
+                    PCA = self.pca[f'b_{b_i+1}'][output]
+                    mean_pred[output] = PCA.inverse_transform(mean)
+                    std_pred[output] = np.zeros(mean.shape)
+                else:
+                    mean_pred[output] = mean
+                    std_pred[output] = std
+
+            # Save predictions for each bootstrap iteration
+            mean_pred_b[b_i] = mean_pred
+            std_pred_b[b_i] = std_pred
+
+        # Change the order of nesting
+        mean_pred_all = {}
+        for i in sorted(mean_pred_b):
+            for k, v in mean_pred_b[i].items():
+                if k not in mean_pred_all:
+                    mean_pred_all[k] = [None] * len(mean_pred_b)
+                mean_pred_all[k][i] = v
+
+        # Compute the moments of predictions over the predictions
+        for output in outputs:
+            # Only use bootstraps with finite values
+            finite_rows = np.isfinite(
+                mean_pred_all[output]).all(axis=2).all(axis=1)
+            outs = np.asarray(mean_pred_all[output])[finite_rows]
+            # Compute mean
+            mean_pred[output] = np.mean(outs, axis=0)
+            # Compute standard deviation
+            if self.n_bootstrap_itrs > 1:
+                std_pred[output] = np.std(outs, axis=0)
+            else:
+                std_pred[output] = std_pred_b[b_i][output]
+
+        if return_samples:
+            return mean_pred, std_pred, samples
+        else:
+            return mean_pred, std_pred
+
+    # -------------------------------------------------------------------------
+    def create_model_error(self, X, y, name='Calib'):
+        """
+        Fits a GPE-based model error.
+
+        Parameters
+        ----------
+        X : array of shape (n_outputs, n_inputs)
+            Input array. It can contain any forcing inputs or coordinates of
+             extracted data.
+        y : array of shape (n_outputs,)
+            The model response for the MAP parameter set.
+        name : str, optional
+            Calibration or validation. The default is `'Calib'`.
+
+        Returns
+        -------
+        self: object
+            Self object.
+
+        """
+        Model = self.ModelObj
+        outputNames = Model.Output.names
+        self.errorRegMethod = 'GPE'
+        self.errorclf_poly = self.auto_vivification()
+        self.errorScale = self.auto_vivification()
+
+        # Read data
+        MeasuredData = Model.read_observation(case=name)
+
+        # Fitting GPR based bias model
+        for out in outputNames:
+            nan_idx = ~np.isnan(MeasuredData[out])
+            # Select data
+            try:
+                data = MeasuredData[out].values[nan_idx]
+            except AttributeError:
+                data = MeasuredData[out][nan_idx]
+
+            # Prepare the input matrix
+            scaler = MinMaxScaler()
+            delta = data  # - y[out][0]
+            BiasInputs = np.hstack((X[out], y[out].reshape(-1, 1)))
+            X_S = scaler.fit_transform(BiasInputs)
+            gp = self.gaussian_process_emulator(X_S, delta)
+
+            self.errorScale[out]["y_1"] = scaler
+            self.errorclf_poly[out]["y_1"] = gp
+
+        return self
+
+    # -------------------------------------------------------------------------
+    def eval_model_error(self, X, y_pred):
+        """
+        Evaluates the error model.
+
+        Parameters
+        ----------
+        X : array
+            Inputs.
+        y_pred : dict
+            Predictions.
+
+        Returns
+        -------
+        mean_pred : dict
+            Mean predition of the GPE-based error model.
+        std_pred : dict
+            standard deviation of the GPE-based error model.
+
+        """
+        mean_pred = {}
+        std_pred = {}
+
+        for Outkey, ValuesDict in self.errorclf_poly.items():
+
+            pred_mean = np.zeros_like(y_pred[Outkey])
+            pred_std = np.zeros_like(y_pred[Outkey])
+
+            for Inkey, InIdxValues in ValuesDict.items():
+
+                gp = self.errorclf_poly[Outkey][Inkey]
+                scaler = self.errorScale[Outkey][Inkey]
+
+                # Transform Samples using scaler
+                for j, pred in enumerate(y_pred[Outkey]):
+                    BiasInputs = np.hstack((X[Outkey], pred.reshape(-1, 1)))
+                    Samples_S = scaler.transform(BiasInputs)
+                    y_hat, y_std = gp.predict(Samples_S, return_std=True)
+                    pred_mean[j] = y_hat
+                    pred_std[j] = y_std
+                    # pred_mean[j] += pred
+
+            mean_pred[Outkey] = pred_mean
+            std_pred[Outkey] = pred_std
+
+        return mean_pred, std_pred
+
+    # -------------------------------------------------------------------------
+    class auto_vivification(dict):
+        """
+        Implementation of perl's AutoVivification feature.
+
+        Source: https://stackoverflow.com/a/651879/18082457
+        """
+
+        def __getitem__(self, item):
+            try:
+                return dict.__getitem__(self, item)
+            except KeyError:
+                value = self[item] = type(self)()
+                return value
+
+    # -------------------------------------------------------------------------
+    def copy_meta_model_opts(self, InputObj, ModelObj = 'None'): # added the None here
+        """
+        This method is a convinient function to copy the metamodel options.
+
+        Parameters
+        ----------
+        InputObj : object
+            The input object.
+        ModelObj : object
+            The Model object.
+
+        Returns
+        -------
+        new_MetaModelOpts : object
+            The copied object.
+
+        """
+        new_MetaModelOpts = copy.deepcopy(self)
+        new_MetaModelOpts.ModelObj = ModelObj
+        new_MetaModelOpts.input_obj = InputObj
+        new_MetaModelOpts.ExpDesign.meta_Model = 'aPCE'
+        new_MetaModelOpts.ExpDesign.InputObj = InputObj
+        new_MetaModelOpts.ExpDesign.ndim = len(InputObj.Marginals)
+        new_MetaModelOpts.n_params = len(InputObj.Marginals)
+        new_MetaModelOpts.ExpDesign.hdf5_file = None
+
+        return new_MetaModelOpts
+
+    # -------------------------------------------------------------------------
+    def __select_degree(self, ndim, n_samples):
+        """
+        Selects degree based on the number of samples and parameters in the
+        sequential design.
+
+        Parameters
+        ----------
+        ndim : int
+            Dimension of the parameter space.
+        n_samples : int
+            Number of samples.
+
+        Returns
+        -------
+        deg_array: array
+            Array containing the arrays.
+
+        """
+        # Define the deg_array
+        max_deg = np.max(self.pce_deg)
+        min_Deg = np.min(self.pce_deg)
+        nitr = n_samples - self.ExpDesign.n_init_samples
+
+        # Check q-norm
+        if not np.isscalar(self.pce_q_norm):
+            self.pce_q_norm = np.array(self.pce_q_norm)
+        else:
+            self.pce_q_norm = np.array([self.pce_q_norm])
+
+        def M_uptoMax(maxDeg):
+            n_combo = np.zeros(maxDeg)
+            for i, d in enumerate(range(1, maxDeg+1)):
+                n_combo[i] = math.factorial(ndim+d)
+                n_combo[i] /= math.factorial(ndim) * math.factorial(d)
+            return n_combo
+
+        if self.ExpDesignFlag != 'sequential':
+            deg_new = max_deg
+        else:
+            d = nitr if nitr != 0 and self.n_params > 5 else 1
+            min_index = np.argmin(abs(M_uptoMax(max_deg)-ndim*n_samples*d))
+            deg_new = max_deg
+            # deg_new = range(1, max_deg+1)[min_index]
+
+        if deg_new > min_Deg and self.pce_reg_method.lower() != 'fastard':
+            deg_array = np.arange(min_Deg, deg_new+1)
+        else:
+            deg_array = np.array([deg_new])
+
+        return deg_array
diff --git a/examples/only-model/data/InputParameters_10.npy b/examples/only-model/data/InputParameters_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..6f16cc2a38146eb45d01148d096ea0e74a6595b0
Binary files /dev/null and b/examples/only-model/data/InputParameters_10.npy differ
diff --git a/examples/only-model/data/InputParameters_2.npy b/examples/only-model/data/InputParameters_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e7ed5508ce54f3418f64584415e3a0f9d73d1f7c
Binary files /dev/null and b/examples/only-model/data/InputParameters_2.npy differ
diff --git a/examples/only-model/data/Prior_10.npy b/examples/only-model/data/Prior_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0ef9027c700223ec27f63247e9dfe11534587485
Binary files /dev/null and b/examples/only-model/data/Prior_10.npy differ
diff --git a/examples/only-model/data/Prior_2.npy b/examples/only-model/data/Prior_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e991269614a37c6e397ba20de41e2f0fd7c0ddc5
Binary files /dev/null and b/examples/only-model/data/Prior_2.npy differ
diff --git a/examples/only-model/data/Samples.npy b/examples/only-model/data/Samples.npy
new file mode 100644
index 0000000000000000000000000000000000000000..deab589fd2fdf1128784b542ff1a7401ea9f2ff7
Binary files /dev/null and b/examples/only-model/data/Samples.npy differ
diff --git a/examples/only-model/data/mean_10.npy b/examples/only-model/data/mean_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3b6e58a3df4d1d02113056ffc2c1c7feb675edc3
Binary files /dev/null and b/examples/only-model/data/mean_10.npy differ
diff --git a/examples/only-model/data/mean_2.npy b/examples/only-model/data/mean_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2722cb0b932350329f5af40944b6571fd5ad1f74
Binary files /dev/null and b/examples/only-model/data/mean_2.npy differ
diff --git a/examples/only-model/data/origModelOutput_10.npy b/examples/only-model/data/origModelOutput_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..4c81d15c3b543aad233f47b05fe44298c706ebf3
Binary files /dev/null and b/examples/only-model/data/origModelOutput_10.npy differ
diff --git a/examples/only-model/data/origModelOutput_2.npy b/examples/only-model/data/origModelOutput_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5e71859eef62f56f908b2c2e75ecc7e7de951db0
Binary files /dev/null and b/examples/only-model/data/origModelOutput_2.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_1.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_1.npy
new file mode 100644
index 0000000000000000000000000000000000000000..58d2650394f650a6436ed5932bbda05b7f6f90ab
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_1.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_10.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3c42a71708a6510d7f7493880c667d0460a613e1
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_10.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_11.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_11.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8408441185940760cb6dc02b12630fc7770cfcf9
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_11.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_12.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_12.npy
new file mode 100644
index 0000000000000000000000000000000000000000..83e60bd054704f07d5f25bbee1fe6d593b572ff4
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_12.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_13.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_13.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8dd26b3f277753998c4f47daa43cd0d773a3ee19
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_13.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_14.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_14.npy
new file mode 100644
index 0000000000000000000000000000000000000000..06911cd4722a51d726d36b79ab9bc600c9e82ffb
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_14.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_15.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_15.npy
new file mode 100644
index 0000000000000000000000000000000000000000..d5ee2de4c138728f05cc3d6388f9ff421931e677
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_15.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_16.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_16.npy
new file mode 100644
index 0000000000000000000000000000000000000000..86a34893a169b05e50a21ddd71be260f4c2e9b55
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_16.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_17.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_17.npy
new file mode 100644
index 0000000000000000000000000000000000000000..d4f57970f31a6774401fdfd166c3599b14ef7467
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_17.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_18.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_18.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ecf2f77f270f6f857eff0ea891e8c4b22bbd266f
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_18.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_19.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_19.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fcc94211eb35cabc00b5f7a6767b8e8f7a087050
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_19.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_2.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..11e20672d5b9f3360bccd90dd1a6a4d56d576d1d
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_2.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_20.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_20.npy
new file mode 100644
index 0000000000000000000000000000000000000000..23c02b1104973eb291bf8f027094cb32f74e840d
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_20.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_21.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_21.npy
new file mode 100644
index 0000000000000000000000000000000000000000..747fddb486983ce0bd0dc1c96f8f6e25b23e36fa
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_21.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_22.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_22.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1e1ffe72d4aca881f29430d809fff3c0892dd17f
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_22.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_23.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_23.npy
new file mode 100644
index 0000000000000000000000000000000000000000..824932636e400de9c958f01ea00e5d20104e6d2c
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_23.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_24.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_24.npy
new file mode 100644
index 0000000000000000000000000000000000000000..acce8e21984b60caa1a7d03b176920660175ea62
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_24.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_25.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_25.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ef2ed1ed90e72903967f07a6811684d43fabeeae
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_25.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_26.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_26.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3826ff6805364488b2cd200ae2d98c87b8d83a2e
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_26.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_27.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_27.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3e5e74b92da1704803ef6a2374647bf5a67f4382
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_27.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_28.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_28.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ab8507910ab4311ac6ed8b8660c2beb6b95cbc10
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_28.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_29.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_29.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1e37fada5b7832715c44db653285ace0e3bbcb6b
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_29.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_3.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_3.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a21fe8a3fc7c1044a7e150a3023807e958bb8bc1
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_3.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_30.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_30.npy
new file mode 100644
index 0000000000000000000000000000000000000000..958941edb482c3af37dc9c5aa11996e5628cfeb0
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_30.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_31.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_31.npy
new file mode 100644
index 0000000000000000000000000000000000000000..209c7b52c447685885d4935892fc83435c0831b6
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_31.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_32.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_32.npy
new file mode 100644
index 0000000000000000000000000000000000000000..4e0864f38b0c96424cdfe0b924c5cd67e6e65322
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_32.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_33.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_33.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8279b27ac1716c694f5bbff93f0f2cb0c2ee1029
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_33.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_34.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_34.npy
new file mode 100644
index 0000000000000000000000000000000000000000..069937840094083adbd1bbca9760e178401d9b50
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_34.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_35.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_35.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f03f2b9452ff2ff96578ff6e4346f0f1a7990225
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_35.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_36.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_36.npy
new file mode 100644
index 0000000000000000000000000000000000000000..d17ddeb0517bdf395d710163cf2ed96a65033154
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_36.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_37.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_37.npy
new file mode 100644
index 0000000000000000000000000000000000000000..050bd926cd62c0e199bcdd8924cfc48fd56321d6
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_37.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_38.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_38.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1cc12ec60aa9586880c5ac322273c7ec13491ac8
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_38.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_39.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_39.npy
new file mode 100644
index 0000000000000000000000000000000000000000..795c7d7a1bfa4058b21a0615937c78c018b1003c
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_39.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_4.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_4.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1f85637a22c0e1ad06de73c82e86d89173901a1f
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_4.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_40.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_40.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1d155926d4edf4f46012ce11a2bd4ac527368199
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_40.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_41.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_41.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9bf4183344f47fecbf4a119ebb0555b2b6dc5a77
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_41.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_42.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_42.npy
new file mode 100644
index 0000000000000000000000000000000000000000..83c25fe4b1457399191ec15c291e89f63a6cac86
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_42.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_43.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_43.npy
new file mode 100644
index 0000000000000000000000000000000000000000..bf30ffcd3284dc6f3c78e10500f383ead29570d8
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_43.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_44.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_44.npy
new file mode 100644
index 0000000000000000000000000000000000000000..23be23b1ce4fedaee1f547e6b39b30110b02eae8
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_44.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_45.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_45.npy
new file mode 100644
index 0000000000000000000000000000000000000000..144f305f3baac6c7f984bac654f29e6054acb0e4
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_45.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_46.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_46.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7fe93e468eb90eb4be3f555ac2e063b4b14ba017
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_46.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_47.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_47.npy
new file mode 100644
index 0000000000000000000000000000000000000000..cb61fefd4c793cae614be1a3edeb58da28731f0d
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_47.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_48.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_48.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5664ea3b4a0313420cb96643647cab662e2d5408
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_48.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_5.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_5.npy
new file mode 100644
index 0000000000000000000000000000000000000000..87d29e876d5a7fe28529d210fb5931ae99bb85dd
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_5.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_6.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_6.npy
new file mode 100644
index 0000000000000000000000000000000000000000..568d390111d31aef703453bb2622cd86ba6e4b55
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_6.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_7.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_7.npy
new file mode 100644
index 0000000000000000000000000000000000000000..4e12137059b7a1ed03a8aea854576f0d45a23677
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_7.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_8.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_8.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0ccbc53d605e6b18ef3ef8f2c99f76defbdca16b
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_8.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_9.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_9.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ddfa0fc1d41a9e7716c4e20b09a88541f438806a
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_9.npy differ
diff --git a/examples/only-model/data/posterior/AL_MI/SeqPosterior_init.npy b/examples/only-model/data/posterior/AL_MI/SeqPosterior_init.npy
new file mode 100644
index 0000000000000000000000000000000000000000..38a4eb43f12ef5dfe406a35bec20bfd494b80f43
Binary files /dev/null and b/examples/only-model/data/posterior/AL_MI/SeqPosterior_init.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_1.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_1.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c34775a4fcc7ea1095eebb63e39fbdc934cb7631
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_1.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_10.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..cab61893e562500c707c7b1947de0957487bb4ae
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_10.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_11.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_11.npy
new file mode 100644
index 0000000000000000000000000000000000000000..49adae27f0b52aa6f18c4777023f4cb5d810c0e6
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_11.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_12.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_12.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3f5151347c895a778e2d8df393b6dfef328037b6
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_12.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_13.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_13.npy
new file mode 100644
index 0000000000000000000000000000000000000000..50f04221c5d66bba8f36bb1e979b87c75be95c61
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_13.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_14.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_14.npy
new file mode 100644
index 0000000000000000000000000000000000000000..43f3c0e9a2e72b391e1643b6e1542400e7dba7de
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_14.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_15.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_15.npy
new file mode 100644
index 0000000000000000000000000000000000000000..43c9b76a6921dcb00600a6fa2ffb30926d99c3bc
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_15.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_16.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_16.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ab44393d17afb2da51d4308143db99fa21ac4922
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_16.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_17.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_17.npy
new file mode 100644
index 0000000000000000000000000000000000000000..93bc74d44b2ce909ff52a77e0fda780d8f2ba814
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_17.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_18.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_18.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ea7200ceb535182df10a280a118283e327f2b5a4
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_18.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_19.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_19.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f624fd4a9982a74f9882d1a53629297833396dfb
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_19.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_2.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..777d6b42bfcd7eca9957b9a188bc3341c4cfc2a5
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_2.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_20.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_20.npy
new file mode 100644
index 0000000000000000000000000000000000000000..eb2599e7d5533da07d4eb7baa2641cb44e9a2525
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_20.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_21.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_21.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a024ba5b3bcf534bf37819b545384c927ffb43b5
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_21.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_22.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_22.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fe01856a91d758d36fb9c94daa9fc94b125ec74b
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_22.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_23.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_23.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e78c794045249cd88a770ffba0cb645587e038bc
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_23.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_24.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_24.npy
new file mode 100644
index 0000000000000000000000000000000000000000..123c525632549c9aa3135fd2db1052256a1be531
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_24.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_25.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_25.npy
new file mode 100644
index 0000000000000000000000000000000000000000..41fc49bc8f4d36c0a949f7ecafe24e54a03ce638
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_25.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_26.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_26.npy
new file mode 100644
index 0000000000000000000000000000000000000000..da0f0ba273e9b5304ade216a9cc033da587cae32
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_26.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_27.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_27.npy
new file mode 100644
index 0000000000000000000000000000000000000000..148015b740c668bab7727b63bfb5c532766a9554
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_27.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_28.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_28.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a2e9734751a86bdf3caa2b4c34c06f3333b0f567
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_28.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_29.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_29.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2e7288954075a2f0d639765022fe3c0b9e457223
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_29.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_3.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_3.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f589a277b2418b0fe228a53ea98bbdf574719870
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_3.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_30.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_30.npy
new file mode 100644
index 0000000000000000000000000000000000000000..eaea6efbd66fa9ad146b685b7bbdbac8390927a5
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_30.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_31.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_31.npy
new file mode 100644
index 0000000000000000000000000000000000000000..6b1217b9aa0dedbae5efd53f65bb4a8ed963514a
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_31.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_32.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_32.npy
new file mode 100644
index 0000000000000000000000000000000000000000..92c7b6c6b7be9d2743898754cc4920ee03382c94
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_32.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_33.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_33.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e26de7c08182378092a6d0de6a12a1c7081a19bf
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_33.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_34.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_34.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0741feede98ccc7370d19db824a1c9cd489bee34
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_34.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_35.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_35.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e459f827bfea17caddc78276f476d4cdce37e348
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_35.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_36.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_36.npy
new file mode 100644
index 0000000000000000000000000000000000000000..b7190075e5cdd1b26699e0f3abcea2987ddb7ddc
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_36.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_37.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_37.npy
new file mode 100644
index 0000000000000000000000000000000000000000..4ee3216674fa00ce207f6787751707f680b6ffd3
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_37.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_38.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_38.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a9c37c16695a202eeb9d9108d71deebe17aa6db1
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_38.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_39.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_39.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f89804a1adbfde9f9f426e3b03861c0204436a83
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_39.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_4.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_4.npy
new file mode 100644
index 0000000000000000000000000000000000000000..b4aff5c1388dd25bba6c0642f7aafc718217742c
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_4.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_40.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_40.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9e36b2d568d2fd3421701320c6e1df5d0ce0bca6
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_40.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_41.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_41.npy
new file mode 100644
index 0000000000000000000000000000000000000000..55aaeb78facd6c6c75f1b82ca18995f10f9cc627
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_41.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_42.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_42.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0b3dae3cc30bda13736ca486ae901c13ca2be9f2
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_42.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_43.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_43.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9a53d114de5309a25cfcfde96102d507e04c744e
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_43.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_44.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_44.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2eb93e1b29eaf18e32b44a3b0a24e38cbea43be9
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_44.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_45.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_45.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8c0dd9a32b6c5bb887e4db36b1276e8b4621cbcf
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_45.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_46.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_46.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5e0da670a62a624964cb38258219fae55e247654
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_46.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_47.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_47.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2711da8a5ebe1d4ce0b34ef46f0c11f12fa8d6cf
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_47.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_48.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_48.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a294d19315e97f33de7519332728621f127e13cd
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_48.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_5.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_5.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a7c4c5ba912eb3e45f2b9f7ddcb2b56bd2b4701d
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_5.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_6.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_6.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2664d172e7f30ef9975575625092ad7fadc4fb8a
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_6.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_7.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_7.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9e26a49798920618950fed29b246343d48946bf9
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_7.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_8.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_8.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7a6ce02d3b0c87a30f93fc585dc31957329892b4
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_8.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_9.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_9.npy
new file mode 100644
index 0000000000000000000000000000000000000000..06e4dddf69d837205acdc47036c7ea8437646b63
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_9.npy differ
diff --git a/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_init.npy b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_init.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f4bd7917b76442f91900be31bb7344b3221853d6
Binary files /dev/null and b/examples/only-model/data/posterior/BAL_DKL/SeqPosterior_init.npy differ
diff --git a/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_20.npy b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_20.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fda8ba1ceab66e45ecac8eb3ef96f12d1a479417
Binary files /dev/null and b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_20.npy differ
diff --git a/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_40.npy b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_40.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1b741429b327d9d5bd248a0ba8b6a65f51041141
Binary files /dev/null and b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_40.npy differ
diff --git a/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_5.npy b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_5.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c10fa3dc7b589f8e494c6c4e7b688e67f186dcde
Binary files /dev/null and b/examples/only-model/data/posterior/BODE_DKL/SeqPosterior_5.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_1.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_1.npy
new file mode 100644
index 0000000000000000000000000000000000000000..6b5413c58ece5a71bd9218d746973c97848524e7
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_1.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_10.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..241e47fa0d0b163f3e124378e395291d467a1799
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_10.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_11.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_11.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c1b0d9da3fc73f6026bc4e501723ae98cd1b5908
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_11.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_12.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_12.npy
new file mode 100644
index 0000000000000000000000000000000000000000..96d8bf9226f83a46348f46e849719fe3eebbd531
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_12.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_13.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_13.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5a4720f22f5c27f067e4386113bb457cc1c6cf46
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_13.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_14.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_14.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1f70c967a90c6d46522c6ea378e8cde3ced45880
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_14.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_15.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_15.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1ac1c383f78dcdbb0081f965768e92f3d63cba67
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_15.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_16.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_16.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3d6a418b0f64254379ee14109e598e422a04cd41
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_16.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_17.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_17.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f7f2731ed4a7fe69bf2f6a14100282ae9572c2a5
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_17.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_18.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_18.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e4b6ffd7e99690060635a2d1c2d02dbab5febd60
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_18.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_19.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_19.npy
new file mode 100644
index 0000000000000000000000000000000000000000..61f190f22b26d7184a31bcd588c01d8b380d67eb
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_19.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_2.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3ccdca996f02b5d92e4e2b688551c2d55003c264
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_2.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_20.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_20.npy
new file mode 100644
index 0000000000000000000000000000000000000000..b350309abc0c7bbf28d1331576fbd72f4803b954
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_20.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_21.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_21.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c0e350d92cafa7f683f922db74247e6af04c8a30
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_21.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_22.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_22.npy
new file mode 100644
index 0000000000000000000000000000000000000000..19686eaaae0473da2c13ba547c31990bb3c38c41
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_22.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_23.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_23.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ba00848f7a9cb6a510314e327368d326046e3fe4
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_23.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_24.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_24.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9547f11de7a74563ededa94c04654638ec187dd3
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_24.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_25.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_25.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0111a52e70f47f91763b6e02ad42ba29b9931325
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_25.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_26.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_26.npy
new file mode 100644
index 0000000000000000000000000000000000000000..cf4767cc96a74baf71b0d71deced59a01309292a
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_26.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_27.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_27.npy
new file mode 100644
index 0000000000000000000000000000000000000000..838743d630ec7fc04bf62cb298d8346317dec999
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_27.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_28.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_28.npy
new file mode 100644
index 0000000000000000000000000000000000000000..743b5eb5e1ebb5abd4e20eb524683fcf22742cb0
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_28.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_29.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_29.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c93b80f5be8013086d612e207b6592c76f421a22
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_29.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_3.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_3.npy
new file mode 100644
index 0000000000000000000000000000000000000000..984f353f6e897a5e60ee097cd6918fc6a1b3551b
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_3.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_30.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_30.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7160ba971a5510e26f5d11acfe9608257138f878
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_30.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_31.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_31.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8fbe4fc5f504e04ddcaccbcd6184a33e9d59a859
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_31.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_32.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_32.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e894bcb71bf02e62fb763183e130d3b9cc087e81
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_32.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_33.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_33.npy
new file mode 100644
index 0000000000000000000000000000000000000000..34249decfba931a7a4339b8e77e59448c3362e1a
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_33.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_34.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_34.npy
new file mode 100644
index 0000000000000000000000000000000000000000..37839c7f3ea51df637fedd7ecb892ee6fc36e6c9
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_34.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_35.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_35.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5c895454eb6f8d40081b0f79b8c00cc6ecc1574a
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_35.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_36.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_36.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fd20a5f78d5a6cf461ca9c4c1673455127201132
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_36.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_37.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_37.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ed971444870677e639ade70febf414922c66e19c
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_37.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_38.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_38.npy
new file mode 100644
index 0000000000000000000000000000000000000000..552028032255f68aad4752271b40fb9d064d979f
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_38.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_39.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_39.npy
new file mode 100644
index 0000000000000000000000000000000000000000..87782d4449d8fbf4ab1c0a299a76f10d8b77b7fb
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_39.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_4.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_4.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2d09c96e6f4b22096fcbc3c057ae3015f38d69e3
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_4.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_40.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_40.npy
new file mode 100644
index 0000000000000000000000000000000000000000..6e8c62be81b8bd5b94ae4cdc18ece4593d4e6546
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_40.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_5.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_5.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0c289921e1866a5a5d8c655eba896119e9c3e742
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_5.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_6.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_6.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2927102b083e314abddf6a916c0bde2e6442864e
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_6.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_7.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_7.npy
new file mode 100644
index 0000000000000000000000000000000000000000..64ce5afc104aad7df693b09257681335d055e9bc
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_7.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_8.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_8.npy
new file mode 100644
index 0000000000000000000000000000000000000000..23b0bc224ebd53307557be9247645fa50ce620c4
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_8.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_9.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_9.npy
new file mode 100644
index 0000000000000000000000000000000000000000..d0df70d80536836353307b982c222eb26205c98d
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_9.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_init.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_init.npy
new file mode 100644
index 0000000000000000000000000000000000000000..90cae135df98b14732e1b24d5c5e67d9dfa5eaba
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BAL/SeqPosterior_init.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_1.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_1.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ee0a4e2f642d227bf61c04a7d165cb037e0694d4
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_1.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_10.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8f4265aea3f09220b8ba2ac265ec8f0fb25897a2
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_10.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_11.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_11.npy
new file mode 100644
index 0000000000000000000000000000000000000000..807281d57783595c1225c590b3c0ea032ca5874b
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_11.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_12.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_12.npy
new file mode 100644
index 0000000000000000000000000000000000000000..acd10283c931b15bb87265c55fd8d4afb7eb3823
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_12.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_13.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_13.npy
new file mode 100644
index 0000000000000000000000000000000000000000..75801891aaf2188184cec607e8b04550ee290c65
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_13.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_14.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_14.npy
new file mode 100644
index 0000000000000000000000000000000000000000..4a27492eda41a607f39c1d944993a03dcd20e511
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_14.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_15.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_15.npy
new file mode 100644
index 0000000000000000000000000000000000000000..55a38d05f60e78123195a683ff9c8db9900d0e24
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_15.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_16.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_16.npy
new file mode 100644
index 0000000000000000000000000000000000000000..571124512d188fcfab8c58157f468ddb0f51828d
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_16.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_17.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_17.npy
new file mode 100644
index 0000000000000000000000000000000000000000..8034e6e94c444f1c8ae9052b193b33b6a1178557
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_17.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_18.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_18.npy
new file mode 100644
index 0000000000000000000000000000000000000000..87bf58d252a03026f6949a360303e46777711b43
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_18.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_19.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_19.npy
new file mode 100644
index 0000000000000000000000000000000000000000..781715681b45c1f18d4eba764e7acfeb2317e0e9
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_19.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_2.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..bf6e74487f47050c54f522bb41d29c08c47a0afe
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_2.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_20.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_20.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fda8ba1ceab66e45ecac8eb3ef96f12d1a479417
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_20.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_21.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_21.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7aaf5dfafe3a3f3fa1932540de52eeb755e8abe9
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_21.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_22.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_22.npy
new file mode 100644
index 0000000000000000000000000000000000000000..d839d72cdf61ccbd30594833381f492587f07747
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_22.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_23.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_23.npy
new file mode 100644
index 0000000000000000000000000000000000000000..cde4d49957a8cf4e281fd9c239a25a73ca8e7ec3
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_23.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_24.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_24.npy
new file mode 100644
index 0000000000000000000000000000000000000000..579458830ff09de5b4f904315f4a7f779df6d0d7
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_24.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_25.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_25.npy
new file mode 100644
index 0000000000000000000000000000000000000000..9211e517b13fe8cb3ab4cf01ad3f936d6adc632f
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_25.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_26.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_26.npy
new file mode 100644
index 0000000000000000000000000000000000000000..82f73f893dfbb112d64ad8fc94c60600bfbd77f7
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_26.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_27.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_27.npy
new file mode 100644
index 0000000000000000000000000000000000000000..3afe7642d7c23c5f3e5e6a336e2eb9fea703af75
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_27.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_28.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_28.npy
new file mode 100644
index 0000000000000000000000000000000000000000..fc15c3a491407ee50db181e262f63f32e95fa72f
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_28.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_29.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_29.npy
new file mode 100644
index 0000000000000000000000000000000000000000..32efa114d37b11439180fb7d31a23a124d4ccc2f
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_29.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_3.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_3.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e1187263971293e3b999ec7b1ba768168e77205b
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_3.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_30.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_30.npy
new file mode 100644
index 0000000000000000000000000000000000000000..2ba02b9ca25de4b48002fc746ba0eefe0a03aa94
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_30.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_31.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_31.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7e6c114100a43d34a3faacef3d4934278ead3048
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_31.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_32.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_32.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e0b1c785ced57cd1d6c6ea3fe5febfc8ec71ece1
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_32.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_33.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_33.npy
new file mode 100644
index 0000000000000000000000000000000000000000..6dcda0817a9b4fd89f0bba8922c2b52cff463dc2
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_33.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_34.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_34.npy
new file mode 100644
index 0000000000000000000000000000000000000000..740a4b631c67944015a19df0767fe61f3738d2d9
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_34.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_35.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_35.npy
new file mode 100644
index 0000000000000000000000000000000000000000..04cf3bcc1dbafa885e39eea988324acbdc63d1a9
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_35.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_36.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_36.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5b24d50a3d1cc7b96409f651340e1db697c8a423
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_36.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_37.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_37.npy
new file mode 100644
index 0000000000000000000000000000000000000000..b3e2c03566cb8aee293f8de816ece3fe2748a3d3
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_37.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_38.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_38.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0d63728879a4c7df148e27a304139985d12e7017
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_38.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_39.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_39.npy
new file mode 100644
index 0000000000000000000000000000000000000000..02d6b3ee69f8f39151920c42f72ff740b3ad58b8
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_39.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_4.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_4.npy
new file mode 100644
index 0000000000000000000000000000000000000000..059a9f5bb18f7fd1039795fb6b749ad08dc585cb
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_4.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_40.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_40.npy
new file mode 100644
index 0000000000000000000000000000000000000000..1b741429b327d9d5bd248a0ba8b6a65f51041141
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_40.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_5.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_5.npy
new file mode 100644
index 0000000000000000000000000000000000000000..c10fa3dc7b589f8e494c6c4e7b688e67f186dcde
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_5.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_6.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_6.npy
new file mode 100644
index 0000000000000000000000000000000000000000..7a95e3fbcec5c58c0f70fd0d5a8bc69b8bf7a963
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_6.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_7.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_7.npy
new file mode 100644
index 0000000000000000000000000000000000000000..b7b20beb1435259ecfc1e7a902805a794ed900eb
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_7.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_8.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_8.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e956155e9421057f0504c616b11ea7ac7c681f41
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_8.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_9.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_9.npy
new file mode 100644
index 0000000000000000000000000000000000000000..03632eea30ff6018ba57324335dcd5ec74d61037
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_9.npy differ
diff --git a/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_init.npy b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_init.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f573f56fbe19d93deb2d2a4a17c729844832ee2a
Binary files /dev/null and b/examples/only-model/data/posterior/posterior_2D_DKL_BODE/SeqPosterior_init.npy differ
diff --git a/examples/only-model/data/posterior/posterior_orig.csv b/examples/only-model/data/posterior/posterior_orig.csv
new file mode 100644
index 0000000000000000000000000000000000000000..d50c4c4d928097785e4bc3fc46714d1257285c9f
--- /dev/null
+++ b/examples/only-model/data/posterior/posterior_orig.csv
@@ -0,0 +1,17791 @@
+$\theta_{1}$,$\theta_{2}$
+-0.5053093321059516,0.3464209655227144
+-0.2503403924088539,1.5610839749457606
+1.3108380934712565,-0.4947653100675753
+-0.4499536611704508,0.33315304638308496
+0.7037002872643395,1.0536446663049537
+0.2639381847880326,-0.08475556473620599
+-0.7692170582461695,0.5628411893581614
+-0.5250575248261623,-0.24129701894736455
+0.27077384266910715,-0.3552056655207011
+-0.1516651180069023,-0.22472514665477483
+-0.4916617502636895,1.3290149861458507
+-1.154466140024725,-0.5264439196906422
+0.8638454401780578,0.6370887961504713
+0.08758184265789484,1.7825424800280465
+-0.8418679509524006,1.239976578898788
+-0.7102087777087558,0.6258584578029999
+-0.6025861531842995,0.6129883355002392
+-0.1635014514977523,0.5285302138061596
+1.2675503545405524,-0.27191599924718635
+1.722623520211238,-2.0093713908710864
+1.1999376790370633,-0.040912844635069945
+-0.4290081160945971,-0.1973312505774666
+-0.014978004247042029,1.9009498970256493
+-0.44167231139542196,-0.23273573437276085
+1.7758149671620844,-2.2146191806542244
+1.7520832346023985,-3.0769987336137845
+0.17564766491733047,-0.17090185930065385
+0.16604397505733415,1.2077947306624552
+1.1635921769861306,0.3250614211287881
+0.6552996494766703,-0.5557980237882176
+-0.5053093321059516,0.3464209655227144
+-0.2503403924088539,1.5610839749457606
+1.3108380934712565,-0.4947653100675753
+1.3410217792991614,-0.8179397142492559
+0.7037002872643395,1.0536446663049537
+0.2639381847880326,-0.08475556473620599
+1.2785176628328716,-1.633038901061103
+-0.5250575248261623,-0.24129701894736455
+-0.9068988352748052,0.8998307366038109
+0.35335586618343995,-0.3539020388514501
+0.1450003084058062,0.9292426607469267
+0.9742155939297248,-1.002879019207505
+1.4080478809050319,-0.4488708718806268
+1.183694781896851,0.5017071455928137
+-0.525339799472231,0.09664647707973373
+-0.18763560912296323,0.3803657962882169
+1.6115304607006014,-1.0510208452744814
+0.31443319961573807,2.0684383430564717
+1.2675503545405524,-0.27191599924718635
+-0.0033082431123794276,-0.08659059889670528
+1.1999376790370633,-0.040912844635069945
+0.19790016572768318,2.2877711796870277
+-0.014978004247042029,1.9009498970256493
+-0.1631074620290083,0.633034958072537
+0.17103405980865966,1.4267765969969046
+1.7520832346023985,-3.0769987336137845
+0.17564766491733047,-0.17090185930065385
+-0.9360854831721612,0.116344808632697
+1.1635921769861306,0.3250614211287881
+-0.7708227824482916,1.551867250464856
+0.6182935674934222,-0.5372486998530183
+-0.2503403924088539,1.5610839749457606
+-0.04879960478928339,1.6647469706753903
+-0.45266763919349096,0.21812156159554602
+0.7037002872643395,1.0536446663049537
+0.2639381847880326,-0.08475556473620599
+1.2785176628328716,-1.633038901061103
+-0.5250575248261623,-0.24129701894736455
+-0.9068988352748052,0.8998307366038109
+0.35335586618343995,-0.3539020388514501
+-0.43373622006151963,-0.32564218152609914
+0.9742155939297248,-1.002879019207505
+0.454046851749124,1.594785377954205
+1.183694781896851,0.5017071455928137
+-0.525339799472231,0.09664647707973373
+0.9407359838370817,1.2360444072800965
+1.6115304607006014,-1.0510208452744814
+0.18524588162757422,2.187815391469033
+1.2675503545405524,-0.27191599924718635
+-0.18067770699301405,1.0717833390219351
+0.46125820449152777,1.3127881784010684
+0.19790016572768318,2.2877711796870277
+-0.014978004247042029,1.9009498970256493
+-0.1631074620290083,0.633034958072537
+0.27647020099787245,2.357860503186485
+0.7499336493026392,-0.4987188155721806
+0.17564766491733047,-0.17090185930065385
+0.22072058423295826,2.0967888817084055
+0.11608176667951817,1.7094562729066778
+1.2088313952441543,-1.6078222956267787
+0.6182935674934222,-0.5372486998530183
+0.4195723739489977,-0.5758257851191217
+0.7085809528909399,-1.0398911654061997
+-0.45266763919349096,0.21812156159554602
+0.7037002872643395,1.0536446663049537
+-0.7848956489111826,0.6910510899230419
+0.7883818564808993,-0.7128685648056312
+-0.5149573041165096,1.5209317071998028
+-0.9068988352748052,0.8998307366038109
+0.35335586618343995,-0.3539020388514501
+-0.43373622006151963,-0.32564218152609914
+0.9742155939297248,-1.002879019207505
+0.599446657119634,1.7611926309209247
+0.5538757163900756,1.1130403981137975
+-0.525339799472231,0.09664647707973373
+0.9407359838370817,1.2360444072800965
+1.6115304607006014,-1.0510208452744814
+0.18524588162757422,2.187815391469033
+-0.6754276638279351,1.460948457551204
+-0.18067770699301405,1.0717833390219351
+-0.7514573838133519,0.598973942314105
+0.19790016572768318,2.2877711796870277
+0.30340850291028176,-0.684924427902603
+-0.1631074620290083,0.633034958072537
+1.1293577456430368,0.6799862689295298
+0.7499336493026392,-0.4987188155721806
+0.17564766491733047,-0.17090185930065385
+0.22072058423295826,2.0967888817084055
+0.11608176667951817,1.7094562729066778
+1.2088313952441543,-1.6078222956267787
+-0.33478579653129426,0.1311124725515458
+0.4195723739489977,-0.5758257851191217
+-0.3253651275477416,0.5066901649853139
+-0.45266763919349096,0.21812156159554602
+0.49107769881087693,-0.037052022114241856
+-0.6226475904351041,0.2589023347908567
+0.7883818564808993,-0.7128685648056312
+-0.5149573041165096,1.5209317071998028
+-0.9633199518581674,0.393072535817966
+0.9552001039599954,0.05422246320616064
+-0.43373622006151963,-0.32564218152609914
+0.9742155939297248,-1.002879019207505
+0.6984415692946255,-0.5720635498627894
+0.5538757163900756,1.1130403981137975
+-0.525339799472231,0.09664647707973373
+-0.11260151022394341,-0.1399176632826965
+1.6115304607006014,-1.0510208452744814
+0.18524588162757422,2.187815391469033
+-0.6754276638279351,1.460948457551204
+-0.596947756878451,0.7821676393989948
+-0.6801760069548315,0.6716094995202454
+0.02235736229315466,-0.030868086597104716
+0.48442792610087876,2.1505050477952667
+-0.6873579130906606,0.5389801365151143
+1.1293577456430368,0.6799862689295298
+0.7499336493026392,-0.4987188155721806
+0.17564766491733047,-0.17090185930065385
+0.22072058423295826,2.0967888817084055
+0.11608176667951817,1.7094562729066778
+1.2088313952441543,-1.6078222956267787
+-0.33478579653129426,0.1311124725515458
+0.4195723739489977,-0.5758257851191217
+-0.11743497836686867,-0.2386424815842973
+0.09756590109008184,1.329888021204482
+-0.5994269936936759,1.1586608446081375
+-0.6226475904351041,0.2589023347908567
+0.7883818564808993,-0.7128685648056312
+-0.24938316724166104,0.5338994785341503
+-0.2418850048764388,-0.12940973560982205
+0.9552001039599954,0.05422246320616064
+0.1745992679990781,1.562124182223414
+0.9742155939297248,-1.002879019207505
+1.0362367792121314,-0.8845173836955289
+-0.7180844898848368,0.6745485430910141
+-0.525339799472231,0.09664647707973373
+-0.11260151022394341,-0.1399176632826965
+1.6115304607006014,-1.0510208452744814
+0.18524588162757422,2.187815391469033
+1.427628766553249,-1.93943220063422
+-0.2045456494104021,2.396569972445869
+0.35849593437306526,1.015133096755812
+0.9780016636442144,0.12710903697812692
+0.48442792610087876,2.1505050477952667
+-0.6873579130906606,0.5389801365151143
+1.3020922892553133,-1.7113863678664565
+0.6730609633311938,-0.5472352522280904
+0.17564766491733047,-0.17090185930065385
+0.22072058423295826,2.0967888817084055
+0.11608176667951817,1.7094562729066778
+0.14581197773190313,0.7538389090294754
+-0.7348755419965166,0.03248451743484049
+0.8927962093043634,0.47092671946058795
+-0.6681120307739363,0.4064718549469103
+1.7029895689954184,-1.7019618696639327
+-0.5926820464971653,0.8080512566681
+-0.6226475904351041,0.2589023347908567
+0.7883818564808993,-0.7128685648056312
+-0.63544631280411,-0.33411925810854615
+-0.12898463652067022,0.4849147194032143
+0.9552001039599954,0.05422246320616064
+-0.6504004418501388,0.29384223326808745
+1.3945954327885872,-1.427166647300416
+1.0362367792121314,-0.8845173836955289
+-0.7180844898848368,0.6745485430910141
+-0.525339799472231,0.09664647707973373
+-0.11260151022394341,-0.1399176632826965
+-1.0923143519018743,-0.5262254018091825
+0.18524588162757422,2.187815391469033
+1.427628766553249,-1.93943220063422
+-0.4176378410089264,1.1272522404760366
+-0.7783721180931695,1.2654744031405272
+0.9780016636442144,0.12710903697812692
+0.48442792610087876,2.1505050477952667
+-0.7953485007033426,0.2902712630085715
+0.17945910330928022,-0.20610572177726993
+1.0863592666900423,-1.0120474432019777
+1.0612840278540154,0.8037326073399161
+0.22072058423295826,2.0967888817084055
+0.11608176667951817,1.7094562729066778
+0.5640726794242966,1.2540194938442863
+0.16191912623411064,0.40231927749796514
+-0.5174589067304702,-0.3706902407586618
+-0.5745719597946655,0.8988884647699387
+1.7029895689954184,-1.7019618696639327
+-0.5926820464971653,0.8080512566681
+-0.6226475904351041,0.2589023347908567
+0.7883818564808993,-0.7128685648056312
+0.5022610043199605,-0.6777302753398546
+-0.12898463652067022,0.4849147194032143
+1.6066189470963137,-1.1136111008520198
+0.7965591828845368,-0.32751229802780424
+1.3945954327885872,-1.427166647300416
+1.0362367792121314,-0.8845173836955289
+-0.7180844898848368,0.6745485430910141
+-0.525339799472231,0.09664647707973373
+-0.11260151022394341,-0.1399176632826965
+-0.5055626851805348,-0.4156086881562447
+0.18524588162757422,2.187815391469033
+-0.9045172078276738,1.1247952992858032
+-0.4176378410089264,1.1272522404760366
+-0.7783721180931695,1.2654744031405272
+0.3976933394943344,1.3344143853506978
+-0.403284268900615,1.8708628424025866
+-0.7953485007033426,0.2902712630085715
+0.17945910330928022,-0.20610572177726993
+1.0863592666900423,-1.0120474432019777
+1.0612840278540154,0.8037326073399161
+0.22072058423295826,2.0967888817084055
+-0.7705495917475944,1.3862932599399758
+0.5640726794242966,1.2540194938442863
+0.16191912623411064,0.40231927749796514
+-0.5174589067304702,-0.3706902407586618
+-0.20501051661305028,0.305368025213353
+0.922993207722996,-0.9163792975476552
+0.7699594110449504,-0.7170576677026601
+-0.6226475904351041,0.2589023347908567
+0.7883818564808993,-0.7128685648056312
+-0.10862278978756301,0.7732117615886062
+-0.12898463652067022,0.4849147194032143
+1.6066189470963137,-1.1136111008520198
+0.7993108041941217,-1.003553085853436
+0.12285700595016104,2.378742127862646
+1.0362367792121314,-0.8845173836955289
+-0.7180844898848368,0.6745485430910141
+-0.525339799472231,0.09664647707973373
+-0.4522432900785449,0.325326531521933
+-0.04651186388704569,0.7797548077587114
+0.18524588162757422,2.187815391469033
+0.20091910584611752,0.6814337532929979
+0.8164034885798728,-0.5908131870764267
+-0.7783721180931695,1.2654744031405272
+1.2409118166612045,-1.3504637931213364
+0.42525544949551963,1.5133533170103624
+-0.8432095021705539,0.3732773058733243
+0.17945910330928022,-0.20610572177726993
+1.0863592666900423,-1.0120474432019777
+1.0612840278540154,0.8037326073399161
+0.22072058423295826,2.0967888817084055
+1.3391702343514453,-1.1214337292809344
+1.8697417018199456,-2.5092354620810315
+0.16191912623411064,0.40231927749796514
+-0.5174589067304702,-0.3706902407586618
+1.4031282417662472,-1.3630717016004295
+-0.4967361447225084,1.252537807949157
+0.7699594110449504,-0.7170576677026601
+-0.15505005100453384,-0.06907639918302308
+0.7883818564808993,-0.7128685648056312
+0.6193518852704646,-0.4885831536852441
+0.09189146199074222,-0.3103021631988357
+1.6066189470963137,-1.1136111008520198
+0.7993108041941217,-1.003553085853436
+-0.1058977705150097,1.2382021994646641
+1.0362367792121314,-0.8845173836955289
+-0.7180844898848368,0.6745485430910141
+-0.525339799472231,0.09664647707973373
+-0.562374163034117,0.6806501681912499
+-0.6265593760563886,0.20643562147527839
+0.18524588162757422,2.187815391469033
+-0.2917379668173985,0.008353609620599611
+0.8164034885798728,-0.5908131870764267
+0.7329508042321565,-0.7894567703596095
+-0.6757512211788298,1.4645360502986566
+0.42525544949551963,1.5133533170103624
+0.8037735810110554,0.09732101142953709
+-0.749719841262179,0.46727391295764337
+1.0863592666900423,-1.0120474432019777
+1.0612840278540154,0.8037326073399161
+0.22072058423295826,2.0967888817084055
+-0.3383846885906139,0.8343285051002605
+1.8697417018199456,-2.5092354620810315
+1.4028912059085172,-1.0879767165835172
+-0.6197976713811776,0.9905846157954286
+0.4277994672870295,0.31117752425973927
+-0.4967361447225084,1.252537807949157
+1.5006050781759672,-0.5682360602901709
+-0.15505005100453384,-0.06907639918302308
+0.538371392273679,0.26388453634741593
+1.339597638263306,-0.6216366207014237
+0.09189146199074222,-0.3103021631988357
+0.9297653063844111,-0.5124125583475931
+-0.7654081507658069,0.007636047634596951
+-0.7808609954446696,0.00968419690805089
+1.0362367792121314,-0.8845173836955289
+0.24926111037960885,1.4310787516609644
+1.0276208553986867,0.5573523435784178
+-0.562374163034117,0.6806501681912499
+-0.45734734712903774,-0.03363605507623152
+0.18524588162757422,2.187815391469033
+0.7430534282780101,-0.2188970035934631
+0.8164034885798728,-0.5908131870764267
+0.7329508042321565,-0.7894567703596095
+-0.6757512211788298,1.4645360502986566
+0.42525544949551963,1.5133533170103624
+0.8037735810110554,0.09732101142953709
+-0.749719841262179,0.46727391295764337
+1.0863592666900423,-1.0120474432019777
+1.0612840278540154,0.8037326073399161
+0.22072058423295826,2.0967888817084055
+-0.3383846885906139,0.8343285051002605
+1.8697417018199456,-2.5092354620810315
+0.1966192691594344,-0.4376765395933403
+-0.6197976713811776,0.9905846157954286
+-0.577210622552996,1.7678463266622706
+0.8678801611507725,-1.1966075837756058
+1.249113331644049,-0.47176874785431444
+1.0798131336224124,-0.9540500145880517
+1.453258951426073,-1.2429034832615429
+1.339597638263306,-0.6216366207014237
+0.2864729168815008,0.16784217746368402
+-0.18172852672510725,-0.09956506105715701
+-0.7654081507658069,0.007636047634596951
+-0.19411635104206665,-0.11291645526747662
+-0.5100460101286504,0.46841252700182195
+-0.020217910873387923,-0.152191509353375
+1.0276208553986867,0.5573523435784178
+1.0193010586664288,-0.7100774306592084
+-0.45734734712903774,-0.03363605507623152
+0.18524588162757422,2.187815391469033
+0.7430534282780101,-0.2188970035934631
+0.4040891990322401,-0.5135309949965021
+-0.4222237829193909,1.1232040420525178
+-0.359984063356492,0.972156885868937
+0.42525544949551963,1.5133533170103624
+0.8037735810110554,0.09732101142953709
+-0.2325401053515746,0.99983792324578
+0.20157162855604305,2.22024030681062
+1.261173988723529,0.22510981475037517
+0.22072058423295826,2.0967888817084055
+1.2673278147640576,-1.120253577970324
+1.8697417018199456,-2.5092354620810315
+1.6921502687001537,-1.6307893820873005
+-0.6197976713811776,0.9905846157954286
+-0.577210622552996,1.7678463266622706
+0.7512576575528925,1.5976020844510335
+0.5492363824625133,-0.250792056384667
+1.0798131336224124,-0.9540500145880517
+1.453258951426073,-1.2429034832615429
+1.339597638263306,-0.6216366207014237
+1.2129728869630274,-0.1740742516035489
+-0.18172852672510725,-0.09956506105715701
+0.00618518629146958,1.2206994184380902
+0.15607438286746997,-0.4263540044268943
+-0.5100460101286504,0.46841252700182195
+0.15959445406437334,0.19345570527252487
+1.0276208553986867,0.5573523435784178
+-0.13764988107291265,-0.22761747640445507
+-0.45734734712903774,-0.03363605507623152
+0.7381355528391419,1.704323422391908
+0.8431885253932445,-0.06564356403721372
+0.4040891990322401,-0.5135309949965021
+0.4123714596804531,1.8524258973270817
+-0.359984063356492,0.972156885868937
+0.42525544949551963,1.5133533170103624
+0.13757581657266518,0.11800903083011827
+-0.2325401053515746,0.99983792324578
+0.9138542956856225,1.0802184956736034
+1.261173988723529,0.22510981475037517
+0.22072058423295826,2.0967888817084055
+-0.8878764535176389,0.8407193758765554
+0.7299410348000539,-0.7130440664351931
+1.6921502687001537,-1.6307893820873005
+-0.6197976713811776,0.9905846157954286
+-0.577210622552996,1.7678463266622706
+-0.2563568527353878,0.42267514832726083
+0.5712997398913231,-0.6396657566895774
+1.0798131336224124,-0.9540500145880517
+0.16467862037920988,2.3707041846067742
+1.339597638263306,-0.6216366207014237
+1.2129728869630274,-0.1740742516035489
+0.7407181158151038,-0.8347315178725216
+0.7407568750757356,0.7200049747227439
+-0.06202720630207914,1.8169561572121664
+-0.1817443668811746,0.1587133396465245
+0.15959445406437334,0.19345570527252487
+1.0276208553986867,0.5573523435784178
+-0.13764988107291265,-0.22761747640445507
+-0.45734734712903774,-0.03363605507623152
+-0.2949979906734477,1.1445755459908296
+0.9633186609386701,-0.20030680997360223
+0.014255394895904605,0.2609462213891709
+0.4123714596804531,1.8524258973270817
+0.219353885150393,2.19358819458457
+1.0946677436327423,-0.6264963779207244
+0.13757581657266518,0.11800903083011827
+-0.12934456736519473,0.18768847785142728
+1.2839112075373198,0.0949764469956389
+-0.5858317027549806,1.3638637592459695
+0.22072058423295826,2.0967888817084055
+-0.8878764535176389,0.8407193758765554
+0.7928440716707081,-0.9937701425216839
+1.6921502687001537,-1.6307893820873005
+-0.6197976713811776,0.9905846157954286
+-0.577210622552996,1.7678463266622706
+-0.2563568527353878,0.42267514832726083
+1.2227555561568857,-0.8510028758235189
+0.9322987644624694,1.3346800697817638
+0.16467862037920988,2.3707041846067742
+0.1460235148131448,-0.07474932482558144
+1.4519062558340856,-1.4310517774342562
+0.8636798586253789,-0.36150129221395183
+0.5327399678674061,-0.6142090933437763
+-0.15958507224383583,2.5495537211004926
+0.24580214017818622,1.7183223440025606
+0.7409801025075142,-0.984737003972104
+1.0276208553986867,0.5573523435784178
+-0.13764988107291265,-0.22761747640445507
+-0.45734734712903774,-0.03363605507623152
+0.9108254404418489,0.841079320173217
+0.9633186609386701,-0.20030680997360223
+0.014255394895904605,0.2609462213891709
+0.4123714596804531,1.8524258973270817
+0.219353885150393,2.19358819458457
+1.0946677436327423,-0.6264963779207244
+0.13757581657266518,0.11800903083011827
+-0.12934456736519473,0.18768847785142728
+0.06067101318672152,-0.28440313865415223
+-0.5858317027549806,1.3638637592459695
+0.4955360155211592,1.6535484551304362
+-0.8878764535176389,0.8407193758765554
+0.7928440716707081,-0.9937701425216839
+1.6351843362806453,-1.2969909005932614
+-0.6197976713811776,0.9905846157954286
+-0.577210622552996,1.7678463266622706
+-0.2563568527353878,0.42267514832726083
+1.2227555561568857,-0.8510028758235189
+0.9322987644624694,1.3346800697817638
+0.16467862037920988,2.3707041846067742
+0.1460235148131448,-0.07474932482558144
+1.4519062558340856,-1.4310517774342562
+0.8636798586253789,-0.36150129221395183
+0.5327399678674061,-0.6142090933437763
+1.1639419154672477,-1.8876990343237743
+0.24580214017818622,1.7183223440025606
+0.7409801025075142,-0.984737003972104
+1.0276208553986867,0.5573523435784178
+-0.13764988107291265,-0.22761747640445507
+-0.7640236747778975,0.5978317159083829
+-0.7764251344303268,0.6778732962580112
+0.9633186609386701,-0.20030680997360223
+0.5131195528387468,-0.007772842630351995
+0.4123714596804531,1.8524258973270817
+0.1486612273770691,0.035434704889841184
+1.0946677436327423,-0.6264963779207244
+0.13757581657266518,0.11800903083011827
+-0.17480108230296618,0.7212319883163519
+-0.8706058425064462,0.48025938610860175
+-0.5858317027549806,1.3638637592459695
+0.4955360155211592,1.6535484551304362
+-0.47724980230819547,-0.17601424523460818
+-0.3056190507325021,2.0127268961530866
+0.9416800442966607,0.25732556514007704
+-0.6197976713811776,0.9905846157954286
+-0.5563206199849793,-0.03488319153706168
+-0.21761048752652284,0.16599449143059314
+0.295422947680666,2.3504467266845612
+0.7701461857419032,0.6141169594509859
+1.0058162423380583,0.9067848212086931
+0.1460235148131448,-0.07474932482558144
+-0.19290757555540775,0.8110779404702647
+0.8636798586253789,-0.36150129221395183
+0.8640838772993594,0.465496576649854
+0.5630195491890806,0.25198772556764076
+0.24580214017818622,1.7183223440025606
+0.6915819275481158,1.0348907906811389
+1.0276208553986867,0.5573523435784178
+-0.13764988107291265,-0.22761747640445507
+-0.7640236747778975,0.5978317159083829
+0.5887872014104362,-0.7608357355208953
+0.9633186609386701,-0.20030680997360223
+1.3335967858005242,-1.9517855301936797
+0.4123714596804531,1.8524258973270817
+0.9274883272767281,-0.8671006236909593
+0.003037641401061386,2.313019869451193
+0.13757581657266518,0.11800903083011827
+1.749264953563672,-1.9194079532827752
+1.3539297112834008,-1.567449933011139
+-0.5858317027549806,1.3638637592459695
+0.4955360155211592,1.6535484551304362
+-0.47724980230819547,-0.17601424523460818
+-0.3056190507325021,2.0127268961530866
+0.9416800442966607,0.25732556514007704
+0.1555299955506278,2.096900740749002
+-0.5563206199849793,-0.03488319153706168
+-0.21761048752652284,0.16599449143059314
+1.6810731754526387,-1.7406868015427719
+-0.08091241606181776,2.5045709628545403
+1.0058162423380583,0.9067848212086931
+0.1460235148131448,-0.07474932482558144
+-0.19290757555540775,0.8110779404702647
+0.4638140048761582,0.35620193105039866
+0.7299439937678682,1.4452573987939137
+0.8332745700774429,-0.37231002897993115
+0.24580214017818622,1.7183223440025606
+-0.3333530750722078,1.3218894484849248
+1.3629293830032287,-1.3769545235716205
+-0.13764988107291265,-0.22761747640445507
+0.6838909627773953,1.6573029227842766
+1.059340582846612,0.629185639133528
+0.9633186609386701,-0.20030680997360223
+1.3335967858005242,-1.9517855301936797
+0.4123714596804531,1.8524258973270817
+0.9274883272767281,-0.8671006236909593
+0.003037641401061386,2.313019869451193
+0.337127042754364,0.772898290120486
+0.3808835913290728,1.2211114247165822
+0.4994811468662761,1.3860459099353606
+-0.5858317027549806,1.3638637592459695
+0.4955360155211592,1.6535484551304362
+-0.47724980230819547,-0.17601424523460818
+-0.3056190507325021,2.0127268961530866
+0.5831781118268866,1.6227303595170288
+1.4061369997130613,-0.2907311438029457
+-0.5563206199849793,-0.03488319153706168
+-0.21761048752652284,0.16599449143059314
+1.6810731754526387,-1.7406868015427719
+-0.08091241606181776,2.5045709628545403
+1.056897483931173,0.6236762877423453
+0.1460235148131448,-0.07474932482558144
+-0.19290757555540775,0.8110779404702647
+-0.9045957038655589,0.639810470119952
+1.2796826304389224,-0.2744419774595908
+0.04546897064007327,1.374276904516188
+0.24580214017818622,1.7183223440025606
+-0.3333530750722078,1.3218894484849248
+1.3629293830032287,-1.3769545235716205
+-0.13764988107291265,-0.22761747640445507
+-0.4208103825570006,1.7222189866165978
+1.059340582846612,0.629185639133528
+0.9633186609386701,-0.20030680997360223
+0.5495273365652522,1.7576229094464058
+0.4123714596804531,1.8524258973270817
+0.9274883272767281,-0.8671006236909593
+1.0679030660134416,1.0398841150643294
+-0.15229857580433648,1.5772059177235631
+0.3808835913290728,1.2211114247165822
+0.4994811468662761,1.3860459099353606
+-0.5858317027549806,1.3638637592459695
+1.284777693657457,-1.878796129548339
+-0.47724980230819547,-0.17601424523460818
+-0.3056190507325021,2.0127268961530866
+0.5831781118268866,1.6227303595170288
+1.4061369997130613,-0.2907311438029457
+-0.5563206199849793,-0.03488319153706168
+-0.21761048752652284,0.16599449143059314
+0.0668489154355204,1.6610488967867874
+0.6834254234265726,-0.5106114748792773
+-0.26749114135267316,0.3071682213420852
+0.7273441115693877,-0.6761481436589697
+-0.19290757555540775,0.8110779404702647
+0.919862632140398,-0.1969436890340459
+1.2796826304389224,-0.2744419774595908
+-0.7293115819293836,0.13092755825891386
+0.24580214017818622,1.7183223440025606
+-0.3333530750722078,1.3218894484849248
+1.3629293830032287,-1.3769545235716205
+-0.13764988107291265,-0.22761747640445507
+0.5474286176699372,-0.024930538477265785
+1.4846627350744883,-1.0018607897820437
+0.23349653797746178,2.283528868797296
+0.5495273365652522,1.7576229094464058
+0.4123714596804531,1.8524258973270817
+1.162753168468668,-0.7357901053216125
+0.07212107420328123,1.4973708016860654
+-0.6309909639074616,-0.34515681144138965
+0.3808835913290728,1.2211114247165822
+0.47405801024380406,1.6631497240479096
+-0.5858317027549806,1.3638637592459695
+1.284777693657457,-1.878796129548339
+0.6294929312640741,0.9338399614186432
+-0.3056190507325021,2.0127268961530866
+0.5831781118268866,1.6227303595170288
+1.4061369997130613,-0.2907311438029457
+-0.5563206199849793,-0.03488319153706168
+-0.21761048752652284,0.16599449143059314
+0.0668489154355204,1.6610488967867874
+0.6834254234265726,-0.5106114748792773
+-0.4985524720835245,-0.4965759967835648
+1.2717326755558966,-1.2976112810415588
+1.5726269604347625,-1.8190189689523077
+0.6662515562560418,-0.16326306011084324
+1.2796826304389224,-0.2744419774595908
+0.25825717232160805,0.04088161199750312
+0.24580214017818622,1.7183223440025606
+-0.15959414545240053,1.502268253626175
+1.3629293830032287,-1.3769545235716205
+-0.13764988107291265,-0.22761747640445507
+0.5474286176699372,-0.024930538477265785
+0.25735473337876985,1.7730578188972048
+0.23349653797746178,2.283528868797296
+0.5495273365652522,1.7576229094464058
+-0.00647350530119678,0.4342999231842476
+1.162753168468668,-0.7357901053216125
+0.07212107420328123,1.4973708016860654
+-0.12115067073042955,1.0821903041725855
+0.3808835913290728,1.2211114247165822
+0.14181667168040707,-0.4901912326979158
+-0.5858317027549806,1.3638637592459695
+0.78242451862788,1.2485643206180748
+0.6294929312640741,0.9338399614186432
+-0.3056190507325021,2.0127268961530866
+0.25582133347099945,1.9172814191911125
+1.4061369997130613,-0.2907311438029457
+1.0823148343631182,-0.39671160600206257
+-0.21761048752652284,0.16599449143059314
+-0.06722526046428567,0.6683171253639167
+0.6834254234265726,-0.5106114748792773
+0.006414193659293729,1.366374464281983
+1.3197521418419196,-1.7644563272887144
+-0.27506524208384087,0.2576017208612762
+-0.1266755590992561,2.251788380057598
+1.475058506656059,-1.597803860699713
+-0.5046683723026861,1.4564792518704226
+0.24580214017818622,1.7183223440025606
+-0.15959414545240053,1.502268253626175
+1.3629293830032287,-1.3769545235716205
+-0.13764988107291265,-0.22761747640445507
+-0.059777720816655736,2.0091974276272775
+0.25735473337876985,1.7730578188972048
+0.23349653797746178,2.283528868797296
+0.5495273365652522,1.7576229094464058
+0.010369414034276048,-0.2416899614047941
+0.158914142816727,0.4076441339305835
+-0.6123759093335387,1.8285144338092358
+-0.12115067073042955,1.0821903041725855
+-0.2332110007452023,1.9050456381085383
+1.1350836699919413,-0.10488367753763031
+-0.5381915754291811,0.5663100630535651
+-0.35742917512850847,-0.17224093906144428
+0.15330829011831293,1.1968486218979533
+0.5178641649238076,1.893312607258689
+0.25582133347099945,1.9172814191911125
+1.4061369997130613,-0.2907311438029457
+1.0823148343631182,-0.39671160600206257
+-0.21761048752652284,0.16599449143059314
+-0.24290437799911027,0.31730410656034125
+0.6834254234265726,-0.5106114748792773
+-0.11044763302849331,1.3694780898040102
+1.3197521418419196,-1.7644563272887144
+-0.27506524208384087,0.2576017208612762
+-0.5815116718496713,0.2658904418448459
+1.475058506656059,-1.597803860699713
+-0.5046683723026861,1.4564792518704226
+0.24580214017818622,1.7183223440025606
+-0.15959414545240053,1.502268253626175
+1.3629293830032287,-1.3769545235716205
+0.38069269306144804,1.4347787220267816
+-0.6943837657354685,0.8535566644785626
+1.4194938539720479,-0.5715525340871319
+0.23349653797746178,2.283528868797296
+0.5495273365652522,1.7576229094464058
+1.013791470547586,-1.223304105773275
+0.158914142816727,0.4076441339305835
+-0.6123759093335387,1.8285144338092358
+-0.12115067073042955,1.0821903041725855
+0.45327117676198586,-0.019125049626885826
+1.1350836699919413,-0.10488367753763031
+-0.5381915754291811,0.5663100630535651
+0.6652681515262548,1.7559426251583057
+-0.3136893196512578,2.426774478986558
+0.5178641649238076,1.893312607258689
+1.5245018155781285,-1.239036790250112
+1.4061369997130613,-0.2907311438029457
+1.0823148343631182,-0.39671160600206257
+-0.33297428523568906,1.3568455300312494
+-0.09721107123033654,0.3063241655716611
+-0.2529051508206548,0.26139105536560736
+-0.11044763302849331,1.3694780898040102
+1.7374192538407736,-2.2491186943832204
+-0.27506524208384087,0.2576017208612762
+0.27309242271004,0.4806174987986163
+1.475058506656059,-1.597803860699713
+1.5364939400644169,-1.7512093902525276
+0.24580214017818622,1.7183223440025606
+-0.15959414545240053,1.502268253626175
+-0.5395865391862176,1.1147393581890652
+0.39574877698198874,2.0241663321520935
+0.5434552336192018,-0.29341912463672104
+0.4944494377241129,1.8732154850573632
+0.2619514233968961,0.5002969419629121
+0.5495273365652522,1.7576229094464058
+1.1988259494445646,-1.3715838270960632
+0.22960344938270183,0.3775037236921687
+-0.6123759093335387,1.8285144338092358
+0.34325256250702674,-0.1698845657680308
+1.006329788102986,0.10977995008191699
+-0.7390982754973587,0.4997399676890179
+1.3096306908488984,0.41635008422535713
+0.6652681515262548,1.7559426251583057
+-0.994745589870548,0.9385110341417264
+-0.2543206490363833,2.497229450522481
+-0.22910680633412434,0.36296161859203413
+1.4061369997130613,-0.2907311438029457
+0.435353121299894,0.8942162742989905
+-0.33297428523568906,1.3568455300312494
+-0.09721107123033654,0.3063241655716611
+-0.2529051508206548,0.26139105536560736
+-0.11044763302849331,1.3694780898040102
+0.007246503789721248,0.03308653200946382
+-0.27506524208384087,0.2576017208612762
+0.08612319349445718,0.27707991107111857
+1.475058506656059,-1.597803860699713
+1.5364939400644169,-1.7512093902525276
+-0.5647462592261323,0.9192803335861466
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+-0.3468361225057024,0.07940651787644237
+-0.44130222674722563,2.100534788683657
+-0.6171201840100109,0.5219828012864138
+1.3453716047023807,-0.7830133444630382
+0.5495273365652522,1.7576229094464058
+1.1988259494445646,-1.3715838270960632
+0.22960344938270183,0.3775037236921687
+-0.6123759093335387,1.8285144338092358
+0.34325256250702674,-0.1698845657680308
+0.331002905052772,1.731127835305921
+-0.7390982754973587,0.4997399676890179
+0.7461549161885507,-0.3010913592936829
+-0.32088847703676215,1.3661739586077684
+-0.3220720322038296,0.6469908823775906
+0.6686056971476616,1.9651904647338003
+-0.22910680633412434,0.36296161859203413
+-0.4542109250743719,0.32688519281564016
+-0.2946518281133231,1.508235737734875
+-0.33297428523568906,1.3568455300312494
+0.08605065399834319,0.09579211952507316
+-0.2529051508206548,0.26139105536560736
+-0.11044763302849331,1.3694780898040102
+1.3158604408697723,-0.6114404970462768
+-0.27506524208384087,0.2576017208612762
+-0.8058884055683975,-0.26252883481113287
+1.475058506656059,-1.597803860699713
+-0.10710781199032537,0.5366152685914558
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+-0.6281968520015535,1.2882427150913687
+-0.44130222674722563,2.100534788683657
+-0.6171201840100109,0.5219828012864138
+1.3453716047023807,-0.7830133444630382
+0.5495273365652522,1.7576229094464058
+1.1988259494445646,-1.3715838270960632
+-0.27368608835545694,0.36389058355448567
+-0.6123759093335387,1.8285144338092358
+0.34325256250702674,-0.1698845657680308
+0.331002905052772,1.731127835305921
+-0.7390982754973587,0.4997399676890179
+0.7461549161885507,-0.3010913592936829
+-0.32088847703676215,1.3661739586077684
+-0.037405707175172886,0.03452434203221655
+1.341429860306229,-0.1278249144277086
+-0.5278823505186715,-0.5038107537220833
+-0.4542109250743719,0.32688519281564016
+0.1666810605372801,1.8334382371593119
+0.9513317594301796,0.02962250651487852
+0.08605065399834319,0.09579211952507316
+0.9167273783068495,0.9821538320749145
+1.0727985741363804,-0.11257416140285283
+1.3158604408697723,-0.6114404970462768
+0.5601058288375871,0.9717438741019873
+-0.8058884055683975,-0.26252883481113287
+1.475058506656059,-1.597803860699713
+-0.10710781199032537,0.5366152685914558
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+0.08945536308230623,1.1323378879380201
+-0.44130222674722563,2.100534788683657
+-0.6171201840100109,0.5219828012864138
+-0.4478488514838951,-0.33457230822780304
+0.5495273365652522,1.7576229094464058
+1.1988259494445646,-1.3715838270960632
+-0.5256137598745055,1.2630469300098728
+-0.3620692166260574,0.8909937401522092
+-0.40249291023409306,0.5529807111367505
+0.331002905052772,1.731127835305921
+-0.7390982754973587,0.4997399676890179
+-0.203036909702822,1.698174646826269
+-0.32088847703676215,1.3661739586077684
+-0.037405707175172886,0.03452434203221655
+1.341429860306229,-0.1278249144277086
+-0.5278823505186715,-0.5038107537220833
+-0.4542109250743719,0.32688519281564016
+0.1666810605372801,1.8334382371593119
+0.3275577231275953,1.9252654823282525
+0.08605065399834319,0.09579211952507316
+0.9167273783068495,0.9821538320749145
+1.0036614370546608,0.06857964625052715
+0.6140696533119498,1.631821202811619
+-0.5422805902361678,-0.20604389743532792
+1.5380719249923367,-1.8588211900956166
+1.475058506656059,-1.597803860699713
+-0.4750866428344256,0.00643839093742915
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+-0.20999993420928367,2.2103095530041235
+-0.44130222674722563,2.100534788683657
+-0.6171201840100109,0.5219828012864138
+-0.48825918445798344,-0.43101350960086227
+0.5495273365652522,1.7576229094464058
+0.7095832316792442,-0.3965825803206849
+-0.11471418617486148,0.37941092275932853
+1.1956614915376758,-1.3605751840091336
+-0.051482348712375225,1.743741522283246
+-0.8336685808917432,-0.310864902011023
+-0.7390982754973587,0.4997399676890179
+-0.203036909702822,1.698174646826269
+-0.32088847703676215,1.3661739586077684
+-0.31669754712758247,0.33936081903315607
+1.341429860306229,-0.1278249144277086
+-0.5278823505186715,-0.5038107537220833
+-0.4542109250743719,0.32688519281564016
+1.6494974034902299,-2.001793074623033
+0.17133094532302523,0.2175683262182741
+0.08605065399834319,0.09579211952507316
+0.9167273783068495,0.9821538320749145
+1.0036614370546608,0.06857964625052715
+0.6140696533119498,1.631821202811619
+-0.12671363033005645,2.333725239902757
+-0.23839042302029503,1.4934350373363603
+-0.04933504033454508,1.877490511008261
+-0.4750866428344256,0.00643839093742915
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+-0.20999993420928367,2.2103095530041235
+-0.14772036134774458,0.3936155357367722
+-0.7357446406496926,0.30772425055997116
+1.4596629988215135,-0.7870350422283396
+0.5495273365652522,1.7576229094464058
+0.7095832316792442,-0.3965825803206849
+-0.11471418617486148,0.37941092275932853
+1.1956614915376758,-1.3605751840091336
+-0.051482348712375225,1.743741522283246
+0.2621540503038641,0.15196143463422312
+0.12263265667185766,1.8158684202243311
+-0.203036909702822,1.698174646826269
+-0.7263057167092788,0.20418759632265127
+-0.31669754712758247,0.33936081903315607
+1.341429860306229,-0.1278249144277086
+0.20975039503630666,1.035946845310432
+-0.1208502278919231,2.111778586656669
+1.349459920122863,-1.4166617130095316
+0.5266099574356693,1.5468397672913878
+-0.5156568542180481,-0.12367506574681317
+0.9167273783068495,0.9821538320749145
+1.0036614370546608,0.06857964625052715
+0.6140696533119498,1.631821202811619
+1.6273077430099865,-1.9359103924891237
+0.5465335470725514,0.023784260695190573
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+0.20309209820281743,2.153667065353245
+-1.1739796356742322,-0.6305396527746236
+0.030724765811479315,-0.07570739066972385
+-0.7357446406496926,0.30772425055997116
+1.4596629988215135,-0.7870350422283396
+0.8442257865852412,-0.3258644420703314
+0.7095832316792442,-0.3965825803206849
+1.2050354022728862,-0.2777646603883557
+-0.9622921573843433,-0.6525006340657085
+1.4840927743336334,-1.1297060735087299
+0.2621540503038641,0.15196143463422312
+0.12263265667185766,1.8158684202243311
+-0.203036909702822,1.698174646826269
+-0.7263057167092788,0.20418759632265127
+0.9260534199001125,0.9089216707527437
+0.4241110500787162,1.9056470737645517
+0.20975039503630666,1.035946845310432
+-0.1208502278919231,2.111778586656669
+1.349459920122863,-1.4166617130095316
+-0.6670947040031743,-0.19550214653304632
+1.3815838230248445,-1.1525196660618025
+0.7426385550493957,1.5515037958242126
+-0.33542220307801573,0.5140787571963329
+0.6140696533119498,1.631821202811619
+1.6273077430099865,-1.9359103924891237
+0.21160397536115966,0.662038121894555
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+-0.9367856236552163,0.6467984608933983
+-1.1739796356742322,-0.6305396527746236
+0.030724765811479315,-0.07570739066972385
+-0.7357446406496926,0.30772425055997116
+1.4596629988215135,-0.7870350422283396
+0.8442257865852412,-0.3258644420703314
+0.556001117513534,1.4836257268997548
+1.3740429556514178,-0.6230871484765956
+-0.04654952524295897,2.1744297099319403
+1.4840927743336334,-1.1297060735087299
+0.2621540503038641,0.15196143463422312
+0.6348922159374122,1.4831975085911386
+-0.203036909702822,1.698174646826269
+-0.7263057167092788,0.20418759632265127
+0.36927507868205,-0.4011443460787072
+0.4241110500787162,1.9056470737645517
+-0.053215906818847025,0.47945065391260655
+-0.1208502278919231,2.111778586656669
+1.349459920122863,-1.4166617130095316
+-0.6670947040031743,-0.19550214653304632
+1.3815838230248445,-1.1525196660618025
+0.7426385550493957,1.5515037958242126
+-0.33542220307801573,0.5140787571963329
+-0.9287231462984,0.1511991384399634
+1.6273077430099865,-1.9359103924891237
+-0.6104732789870635,1.9410884503201353
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+-0.051187663680789725,-0.3246116047594698
+1.0842094451043573,0.7227801103901017
+1.1439419797926986,0.860803788216442
+1.0493934727353496,1.27429091384551
+1.528575674765952,-1.932673243375019
+-0.7357446406496926,0.30772425055997116
+1.1275538880827944,0.09431597285698246
+1.4069252184229624,-1.3162228732965502
+0.556001117513534,1.4836257268997548
+-0.24886202450798775,0.2874801682967898
+-0.04654952524295897,2.1744297099319403
+1.4840927743336334,-1.1297060735087299
+0.2621540503038641,0.15196143463422312
+0.6348922159374122,1.4831975085911386
+-0.203036909702822,1.698174646826269
+1.2930111319223694,0.016648145993017574
+0.36927507868205,-0.4011443460787072
+-0.6682564978667466,0.523597871613683
+-0.24915908779454726,-0.09126083043045102
+-0.1208502278919231,2.111778586656669
+1.349459920122863,-1.4166617130095316
+-0.6670947040031743,-0.19550214653304632
+1.3815838230248445,-1.1525196660618025
+-0.04915236489580338,0.5071635493081947
+-0.33542220307801573,0.5140787571963329
+-0.9287231462984,0.1511991384399634
+0.8776136158506181,1.101937382882034
+-0.6104732789870635,1.9410884503201353
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+1.5089603490010062,-1.0723384463692274
+1.0842094451043573,0.7227801103901017
+1.3531320318019873,-1.3243806882732936
+-0.6355350987047171,1.0335547496211417
+-0.8820875287130816,-0.11509604547775265
+-0.5879243293639729,0.3346525115568223
+1.1275538880827944,0.09431597285698246
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+-0.24886202450798775,0.2874801682967898
+0.5618182976744743,0.6346507277209967
+1.5193510215483113,-0.5001986839629105
+0.2621540503038641,0.15196143463422312
+1.6638515862154708,-1.4637713014128113
+-0.203036909702822,1.698174646826269
+-0.3327891736032751,0.2985010197572714
+0.36927507868205,-0.4011443460787072
+0.9994740387805094,1.3245198084630947
+0.3516202277102889,-0.044293700509957235
+-0.1208502278919231,2.111778586656669
+1.349459920122863,-1.4166617130095316
+-0.6670947040031743,-0.19550214653304632
+1.5543095220721976,-2.1798364029087733
+-0.04727062592323039,0.33497546704622394
+0.25370170970141037,-0.2741998341701033
+-0.9287231462984,0.1511991384399634
+0.8776136158506181,1.101937382882034
+0.9344445372491514,0.05052637693582626
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+1.019021129361066,0.32560269643912426
+-0.02343083942881663,0.12249988023512917
+1.3531320318019873,-1.3243806882732936
+-0.6355350987047171,1.0335547496211417
+-0.810917543735224,-0.8265434328766645
+0.5090275708078553,0.4800271697407422
+1.5971393117737502,-0.6803053116308502
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+0.2550097587095146,1.62057593611415
+0.5618182976744743,0.6346507277209967
+0.8551089024878868,-0.6412927384792757
+1.427505544249627,-0.9821504846277782
+0.3035473733192566,1.5473989015126488
+1.6255504941183059,-0.6855424891312749
+1.91124946694094,-2.422936015388687
+1.0587359511907746,-0.3465031282465664
+-0.6064828043081543,1.7456139164973121
+0.3516202277102889,-0.044293700509957235
+-0.1208502278919231,2.111778586656669
+0.837039622022313,-0.7593824531816183
+0.8393644396512074,0.7180993939019387
+1.5543095220721976,-2.1798364029087733
+-0.5883286855548215,-0.4261288045517057
+-0.7103845994199904,1.5778816969815508
+-0.9287231462984,0.1511991384399634
+0.8776136158506181,1.101937382882034
+0.18691305046976936,0.12591458423656257
+0.7319774742629195,1.362191352111813
+-0.4750866428344256,0.00643839093742915
+1.019021129361066,0.32560269643912426
+-0.02343083942881663,0.12249988023512917
+1.3531320318019873,-1.3243806882732936
+-0.6355350987047171,1.0335547496211417
+-0.810917543735224,-0.8265434328766645
+0.6818007745835952,0.40788826178464244
+1.5971393117737502,-0.6803053116308502
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+0.2550097587095146,1.62057593611415
+0.5618182976744743,0.6346507277209967
+-0.5970051036584914,0.3576392819673589
+1.427505544249627,-0.9821504846277782
+0.3035473733192566,1.5473989015126488
+1.6255504941183059,-0.6855424891312749
+-0.8438447003336329,0.1164281213497427
+0.7223781113302781,1.6116828899160083
+0.7294493895374978,-0.40784517758577776
+0.3516202277102889,-0.044293700509957235
+-0.1208502278919231,2.111778586656669
+1.6613921866781904,-1.6820084203390773
+0.8393644396512074,0.7180993939019387
+1.5543095220721976,-2.1798364029087733
+-0.5883286855548215,-0.4261288045517057
+-0.753668006124099,0.9397389795957094
+-0.44318962356516745,2.121353683164382
+0.8776136158506181,1.101937382882034
+0.18691305046976936,0.12591458423656257
+0.4734245920406963,0.773592119792974
+-0.6175258713219953,0.10736264289522117
+1.019021129361066,0.32560269643912426
+-0.02343083942881663,0.12249988023512917
+1.3531320318019873,-1.3243806882732936
+-0.6355350987047171,1.0335547496211417
+0.8364031290258416,-0.620006090256386
+-0.5467556590447314,-0.24451377904283164
+-0.09187054052241495,0.06101012367503156
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+-0.5034515079000184,1.298710376695775
+-0.3785507759682868,0.9055952547103743
+1.4359483983330148,-1.5163676381203415
+0.6038245183117672,1.235909406156023
+0.8865501912162197,1.4035506240856996
+-0.6097238235682666,0.9599087857871466
+-0.8438447003336329,0.1164281213497427
+-1.0216226120701442,0.07802026316741384
+0.7294493895374978,-0.40784517758577776
+-0.5305615547425018,-0.1846125755503444
+-0.5258494333600681,0.25276257948002645
+0.9084963454295302,0.6856969626110273
+-0.8343690562397231,-0.6076735888187368
+1.5543095220721976,-2.1798364029087733
+-0.5883286855548215,-0.4261288045517057
+1.4947172526565962,-1.5858020367418768
+-0.9215300607824739,0.40278818340199307
+0.8776136158506181,1.101937382882034
+0.18691305046976936,0.12591458423656257
+0.4734245920406963,0.773592119792974
+-0.6175258713219953,0.10736264289522117
+1.019021129361066,0.32560269643912426
+-0.02343083942881663,0.12249988023512917
+1.3531320318019873,-1.3243806882732936
+-0.6355350987047171,1.0335547496211417
+0.8364031290258416,-0.620006090256386
+-0.5467556590447314,-0.24451377904283164
+-0.09187054052241495,0.06101012367503156
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+-0.5034515079000184,1.298710376695775
+-0.3785507759682868,0.9055952547103743
+-0.36699935075198775,-0.27674367193055305
+0.6038245183117672,1.235909406156023
+-0.2874532583723888,1.2637646422883795
+-0.6097238235682666,0.9599087857871466
+0.572748020327026,0.9684507157056861
+-1.0216226120701442,0.07802026316741384
+0.7294493895374978,-0.40784517758577776
+-0.5305615547425018,-0.1846125755503444
+-0.5258494333600681,0.25276257948002645
+0.9084963454295302,0.6856969626110273
+0.28241329342667637,-0.21475825217713918
+1.5543095220721976,-2.1798364029087733
+0.4087567117673866,0.3468103622789519
+1.4947172526565962,-1.5858020367418768
+-0.9215300607824739,0.40278818340199307
+0.13542358672593124,0.5234880027307365
+0.18691305046976936,0.12591458423656257
+0.4734245920406963,0.773592119792974
+-0.6175258713219953,0.10736264289522117
+0.4508345660012219,-0.2865597038874732
+-0.02343083942881663,0.12249988023512917
+-0.5486882046661731,1.1557974482137063
+-0.6355350987047171,1.0335547496211417
+0.8364031290258416,-0.620006090256386
+0.27467509909703564,1.5507620202800063
+-0.09187054052241495,0.06101012367503156
+0.715746642420964,-0.20282106270923392
+-0.07333356927183271,2.287759546452317
+-0.5034515079000184,1.298710376695775
+-0.3785507759682868,0.9055952547103743
+-0.36699935075198775,-0.27674367193055305
+0.6038245183117672,1.235909406156023
+-0.2874532583723888,1.2637646422883795
+-0.6097238235682666,0.9599087857871466
+-0.19637699000510955,0.46104282256029805
+-1.0216226120701442,0.07802026316741384
+0.7294493895374978,-0.40784517758577776
+0.025144449182426087,1.4711590539519197
+0.06892708701965546,0.05730625905696206
+0.2217760578570207,0.9623200522753763
+1.4153436409481008,-1.082079891410346
+1.5543095220721976,-2.1798364029087733
+0.07261938463325435,0.38060337336083805
+1.4947172526565962,-1.5858020367418768
+-0.9215300607824739,0.40278818340199307
+0.4810593641836022,-0.6830065773900456
+-0.07036243404433914,1.0885052133958377
+-0.025374845956917927,0.3720735394444541
+-0.6175258713219953,0.10736264289522117
+0.6673437851565512,1.2825130429100844
+0.09073675239775444,-0.0050420581163198586
+-0.25353458614567015,1.0207634121302038
+-0.21483225992367705,0.45498797015191994
+0.9845133204290155,-1.1042226044354073
+0.27467509909703564,1.5507620202800063
+0.8561087473647206,-0.9655633481658901
+0.46449025900780605,-0.2939948405898738
+-0.07333356927183271,2.287759546452317
+-0.5034515079000184,1.298710376695775
+-0.3785507759682868,0.9055952547103743
+-0.36699935075198775,-0.27674367193055305
+0.08391092119398942,-0.16917215868880844
+-0.2874532583723888,1.2637646422883795
+-0.5265114491852236,1.956652815718153
+-0.19637699000510955,0.46104282256029805
+-1.0216226120701442,0.07802026316741384
+1.6169754698419774,-1.8361352988452637
+0.025144449182426087,1.4711590539519197
+0.06892708701965546,0.05730625905696206
+0.2217760578570207,0.9623200522753763
+0.5382155659632037,-0.20423907517252426
+1.5543095220721976,-2.1798364029087733
+0.07261938463325435,0.38060337336083805
+1.4947172526565962,-1.5858020367418768
+-0.9215300607824739,0.40278818340199307
+0.976227584615317,1.4052359936500318
+0.36216535958350965,1.1897706332851388
+-0.025374845956917927,0.3720735394444541
+-0.6175258713219953,0.10736264289522117
+0.6673437851565512,1.2825130429100844
+-0.5676507760750342,1.155448023555264
+-0.6035562601723347,1.5082905598874736
+-0.7730477580710463,0.9911085547427695
+0.07872775854583859,0.4537593248585239
+0.27467509909703564,1.5507620202800063
+0.5571422840587987,1.7040337446431977
+-0.3959969202306823,1.2582233710938915
+-0.07333356927183271,2.287759546452317
+-0.08211534334615467,0.09118091642644727
+-0.3785507759682868,0.9055952547103743
+-0.36699935075198775,-0.27674367193055305
+0.08391092119398942,-0.16917215868880844
+-0.39592819922936684,0.25632121382862627
+-0.38890270988082504,-0.04579025660380852
+0.4129200419782866,2.1152418220222358
+-1.0216226120701442,0.07802026316741384
+1.3303324863010824,-1.0754963487861944
+-0.6640272332588493,0.9768904435689993
+-0.0004406376682483115,-0.3421043839122822
+0.2217760578570207,0.9623200522753763
+0.5382155659632037,-0.20423907517252426
+1.5543095220721976,-2.1798364029087733
+-0.34366916530342234,0.4381123312756002
+1.4947172526565962,-1.5858020367418768
+-0.9215300607824739,0.40278818340199307
+-0.48738514872854966,0.4391326919856475
+0.072855373538042,-0.3040815730871951
+-0.28503987957510435,0.020516117025411673
+-0.26356946071556336,-0.21072161749639418
+0.6673437851565512,1.2825130429100844
+-0.5676507760750342,1.155448023555264
+-0.22464083689661773,1.7430668694674636
+0.37621062869312655,-0.27154693133816565
+0.07872775854583859,0.4537593248585239
+-0.4390186169323701,-0.16102568732798297
+0.5571422840587987,1.7040337446431977
+-0.3959969202306823,1.2582233710938915
+-0.07333356927183271,2.287759546452317
+0.1378780437997441,0.09743954252065645
+-0.3405234968258333,0.7374067981372237
+1.3495512269448182,-0.37828299248149655
+-0.6739922813241332,0.43233781879179345
+1.443442267371532,-0.8884135624599289
+-0.03086923626810878,2.589990116369016
+0.4129200419782866,2.1152418220222358
+-1.0216226120701442,0.07802026316741384
+1.3303324863010824,-1.0754963487861944
+-0.6640272332588493,0.9768904435689993
+-0.035113440996402456,1.6182080713645184
+1.467418542746094,-0.8405330914641768
+0.5382155659632037,-0.20423907517252426
+1.5543095220721976,-2.1798364029087733
+-0.34366916530342234,0.4381123312756002
+1.4947172526565962,-1.5858020367418768
+0.6558850237904946,1.8942338411225084
+1.0187873873363262,-0.6874907721363424
+0.072855373538042,-0.3040815730871951
+-0.12821010844475714,0.47115747195442853
+-0.26356946071556336,-0.21072161749639418
+0.6673437851565512,1.2825130429100844
+-0.5676507760750342,1.155448023555264
+0.460751762776165,-0.4052853045861413
+1.4429997685342568,-1.5356554078340616
+0.45556167486042803,1.1570242391583285
+-0.4390186169323701,-0.16102568732798297
+0.5571422840587987,1.7040337446431977
+-0.9209889324644156,-0.19422797828534033
+-0.35620530626136504,0.8976807356836201
+0.8918331322939956,0.5393282127435612
+-0.3405234968258333,0.7374067981372237
+0.9814639819857331,0.23624516320137573
+-0.6829866523908239,0.718481711187785
+-0.13628903296413866,-0.18196450852738666
+-0.03086923626810878,2.589990116369016
+0.4129200419782866,2.1152418220222358
+-0.09647572569393092,2.493449614822875
+1.3303324863010824,-1.0754963487861944
+-0.005641700390454307,0.49033916876096895
+-0.035113440996402456,1.6182080713645184
+0.7765602495912951,1.0064010706789694
+0.5382155659632037,-0.20423907517252426
+1.5543095220721976,-2.1798364029087733
+-0.34366916530342234,0.4381123312756002
+1.4947172526565962,-1.5858020367418768
+0.184141382541546,1.2172202905565848
+1.428220294553217,-1.8419823500870136
+0.22787464650245112,-0.5614661988832095
+1.9128493717970383,-2.2877669840527033
+-0.4089535137507917,-0.41268874219716045
+0.6673437851565512,1.2825130429100844
+-0.349418469985176,1.4445982951911045
+1.3602583971285531,0.025245772043837045
+1.4429997685342568,-1.5356554078340616
+1.248093999925318,-1.7656968390817072
+-0.4390186169323701,-0.16102568732798297
+0.5571422840587987,1.7040337446431977
+-0.9209889324644156,-0.19422797828534033
+-0.406564087478926,0.1765222418171628
+0.8918331322939956,0.5393282127435612
+-0.3405234968258333,0.7374067981372237
+-0.46768290649398125,0.65658729807344
+-0.6829866523908239,0.718481711187785
+-0.13628903296413866,-0.18196450852738666
+1.418602671338399,-1.7749844402179307
+0.7200591527561951,-0.142482881126082
+0.31446341576295317,0.6723848402078735
+1.3303324863010824,-1.0754963487861944
+-0.005641700390454307,0.49033916876096895
+-0.035113440996402456,1.6182080713645184
+0.7765602495912951,1.0064010706789694
+0.5382155659632037,-0.20423907517252426
+-0.35182634627311393,1.358332490093926
+-0.34366916530342234,0.4381123312756002
+0.8797504019753025,-0.7653634285385226
+0.6058461348530092,-0.8755526431419922
+0.6926069323893786,1.5843184816988474
+0.27088405061330134,-0.33695178096126
+1.9128493717970383,-2.2877669840527033
+0.45085960602751896,1.5947794763894825
+-0.7029230792573502,1.040533896437231
+1.2282852008344767,-0.3552751208700733
+1.3602583971285531,0.025245772043837045
+-0.5543329975590164,0.5253166621880729
+1.248093999925318,-1.7656968390817072
+0.9179575894221405,1.2284620511029947
+0.5571422840587987,1.7040337446431977
+-0.9209889324644156,-0.19422797828534033
+-0.406564087478926,0.1765222418171628
+0.8918331322939956,0.5393282127435612
+1.3252489376558554,-1.9799044453153045
+-0.46768290649398125,0.65658729807344
+-0.6829866523908239,0.718481711187785
+0.0834005315057444,0.3262852305128433
+1.1239237577824546,0.61210072917211
+-0.46430829402983254,-0.48399514142123534
+0.31446341576295317,0.6723848402078735
+1.3303324863010824,-1.0754963487861944
+0.6156475172228184,-0.2719658587727736
+-0.11253481745125331,1.6896425442527268
+0.7765602495912951,1.0064010706789694
+0.5382155659632037,-0.20423907517252426
+-0.35182634627311393,1.358332490093926
+0.23385886415303775,-0.5251101300832276
+0.5796725190493351,-0.7330406337974096
+0.10828230313098498,1.2634315597718517
+1.2381285135477602,-0.2519957769927609
+-0.6770828048960512,1.8865518727495496
+0.5388906671042059,1.5931751503495613
+-0.012116187306585646,0.43396357640010286
+-0.41369609418586534,0.7315509406099961
+1.2282852008344767,-0.3552751208700733
+1.3602583971285531,0.025245772043837045
+1.1217148473195313,-1.0036552218867156
+1.248093999925318,-1.7656968390817072
+0.6390689064085266,1.1289149682957584
+0.5571422840587987,1.7040337446431977
+-0.12014012172115207,1.8674959155051192
+0.34294386944291994,1.927061941536456
+0.8918331322939956,0.5393282127435612
+1.3252489376558554,-1.9799044453153045
+-0.46768290649398125,0.65658729807344
+-0.6829866523908239,0.718481711187785
+0.0834005315057444,0.3262852305128433
+1.1239237577824546,0.61210072917211
+0.719778794469403,-0.21894125190408276
+0.5080599349394436,1.4121170572271224
+1.3303324863010824,-1.0754963487861944
+0.6156475172228184,-0.2719658587727736
+-0.11253481745125331,1.6896425442527268
+0.7765602495912951,1.0064010706789694
+-0.5718768801467669,0.44134930369355024
+1.4003042863720143,-1.914366472534956
+0.23385886415303775,-0.5251101300832276
+1.1239632206870451,0.31793728214854944
+0.9686750750154064,-1.364422856615779
+1.2381285135477602,-0.2519957769927609
+-0.6770828048960512,1.8865518727495496
+0.45920208807214014,-0.16712663741828315
+-0.012116187306585646,0.43396357640010286
+-0.41369609418586534,0.7315509406099961
+1.2282852008344767,-0.3552751208700733
+-0.16237650485822935,1.5236849694211219
+1.1217148473195313,-1.0036552218867156
+1.248093999925318,-1.7656968390817072
+0.9616747297866876,-0.8357892352113446
+0.5571422840587987,1.7040337446431977
+-0.12014012172115207,1.8674959155051192
+0.34294386944291994,1.927061941536456
+0.8139610113393242,-0.519477131372873
+1.391607456319729,-1.769670590962079
+-0.46768290649398125,0.65658729807344
+-0.6829866523908239,0.718481711187785
+1.187861250485821,-1.3300508068578527
+1.1239237577824546,0.61210072917211
+0.719778794469403,-0.21894125190408276
+1.048590122706207,-0.37869294580582313
+0.09389888556814541,2.309418787600795
+0.1167952849590197,0.6074787400878074
+-0.11253481745125331,1.6896425442527268
+0.7765602495912951,1.0064010706789694
+-0.5718768801467669,0.44134930369355024
+1.4003042863720143,-1.914366472534956
+-0.34965338504970084,0.8354167253635756
+0.38882532743234194,1.6163632629092914
+0.2129212747331422,1.3575443313498288
+0.9318467526791842,-1.3543451057587472
+0.7588101358939062,-0.3284383175698087
+0.0074653824137529134,-0.13281487449516421
+1.1948496561951054,-0.8162111302395341
+-0.07629834244058759,1.602050346905704
+0.1270462827706451,0.6043212146761678
+-0.16237650485822935,1.5236849694211219
+1.1217148473195313,-1.0036552218867156
+1.248093999925318,-1.7656968390817072
+0.9616747297866876,-0.8357892352113446
+0.5571422840587987,1.7040337446431977
+-0.12014012172115207,1.8674959155051192
+0.34294386944291994,1.927061941536456
+0.8931782688085413,0.23213942023562506
+1.0000216282314498,0.9151451802645223
+-0.46768290649398125,0.65658729807344
+-0.6829866523908239,0.718481711187785
+1.116683224281162,-0.9256452388799029
+1.1239237577824546,0.61210072917211
+0.719778794469403,-0.21894125190408276
+-0.004889091110951205,1.0310858490302497
+-0.75380299744088,0.4292286488460058
+-0.6053450597690987,0.5653199736634718
+-0.5165905537014904,0.4430260607651752
+0.7162733061724013,0.12298416746501034
+-0.6665819971138374,0.8876591613019704
+1.4003042863720143,-1.914366472534956
+0.8440835700887639,-0.7542295397278724
+0.38882532743234194,1.6163632629092914
+0.6524666496889278,0.21802985402986136
+0.9318467526791842,-1.3543451057587472
+-0.4076582629878488,0.1860811994674515
+1.1412644027931436,-1.2128580025088214
+-0.35847116781872335,2.0754757504401193
+-0.07629834244058759,1.602050346905704
+-0.7026252384895,-0.422837091600618
+-0.16237650485822935,1.5236849694211219
+1.1217148473195313,-1.0036552218867156
+-0.20244850096708805,1.6630099929525997
+1.74404630141653,-2.3882998802757265
+0.5571422840587987,1.7040337446431977
+-0.12014012172115207,1.8674959155051192
+1.6735629786356279,-1.9864879763985757
+0.8931782688085413,0.23213942023562506
+0.7848161354324072,-0.3174531961502969
+-0.5132146673169378,-0.3230598621354476
+-0.6829866523908239,0.718481711187785
+-0.3698499104047988,1.8331371004998727
+-0.5843094835888868,0.6037600866504078
+0.719778794469403,-0.21894125190408276
+-0.09665824039714949,-0.17218227583431317
+1.5696825102197591,-2.3148577591519706
+0.1458326223419753,-0.25483915540128166
+-0.3792707700559737,0.0571404145294534
+0.7162733061724013,0.12298416746501034
+1.6203337264074327,-2.082219310399113
+0.9888826905681996,0.3275261552376963
+0.8440835700887639,-0.7542295397278724
+0.38882532743234194,1.6163632629092914
+0.6524666496889278,0.21802985402986136
+0.3622955676176106,-0.41182866643639515
+-0.5551762428209305,0.04890537321969578
+0.14813895717267356,0.7605753540440878
+1.011359666038826,-0.7759104951373188
+1.3570163498917946,-1.392723198252334
+-0.7026252384895,-0.422837091600618
+-0.16237650485822935,1.5236849694211219
+1.1217148473195313,-1.0036552218867156
+0.11607558576117694,0.6600377523922671
+1.74404630141653,-2.3882998802757265
+0.5571422840587987,1.7040337446431977
+-0.12014012172115207,1.8674959155051192
+-0.4587502837974817,0.6391798930075505
+1.3052786901841609,-1.688466012507873
+0.7848161354324072,-0.3174531961502969
+-0.5132146673169378,-0.3230598621354476
+0.3915158811511924,0.17440290504486816
+-0.3698499104047988,1.8331371004998727
+1.1851742197356727,0.279026903111008
+0.6241827945355922,0.23141776023201754
+1.6648698183696615,-1.943142769353786
+1.5696825102197591,-2.3148577591519706
+0.1458326223419753,-0.25483915540128166
+-0.3792707700559737,0.0571404145294534
+0.5660023936148406,0.18936788069878646
+1.6203337264074327,-2.082219310399113
+0.9888826905681996,0.3275261552376963
+0.8440835700887639,-0.7542295397278724
+0.49571941973594436,1.3146415034167573
+1.2227145156428818,-0.6205823260568635
+0.3622955676176106,-0.41182866643639515
+-0.5551762428209305,0.04890537321969578
+0.7053061863557466,-0.26373394123758453
+0.8838957322149662,-0.08855766509239021
+-1.077659638023223,-0.15797911595519365
+-0.7026252384895,-0.422837091600618
+-0.16237650485822935,1.5236849694211219
+-0.02379021389459257,0.2975580094639546
+-0.5271345071460172,1.1349555375959066
+1.74404630141653,-2.3882998802757265
+1.4196369709089653,-1.0808499583971376
+-0.12014012172115207,1.8674959155051192
+0.6388090563001716,0.9389724570821278
+-0.48959686937462726,1.6809721884132356
+1.1690058995352375,-1.2328408341891373
+-0.5132146673169378,-0.3230598621354476
+-0.5291688005336626,0.18103097607630528
+-0.3698499104047988,1.8331371004998727
+1.1851742197356727,0.279026903111008
+-0.47348784360844487,1.2689697768866917
+1.6648698183696615,-1.943142769353786
+0.8494946855562816,-0.907449364106086
+0.1458326223419753,-0.25483915540128166
+-0.15456351970261573,0.04108713877011083
+0.28639292510148207,-0.4660523358289332
+0.23636008050466017,-0.03493314066284098
+0.9888826905681996,0.3275261552376963
+-0.07752974436540871,1.1465242440718886
+-0.45532568440178056,1.6395268560201297
+-0.7597142390510496,0.05774768961007004
+0.3622955676176106,-0.41182866643639515
+0.08188272281915313,1.587294476805944
+0.4332984512326601,1.6513728849712601
+-0.08204775293813944,1.7972969546243558
+-1.077659638023223,-0.15797911595519365
+0.3543054037429678,-0.07663857344536945
+-0.35189605124996615,0.09308273539567179
+-0.8074389775928712,-0.012139870923214294
+-0.5271345071460172,1.1349555375959066
+1.74404630141653,-2.3882998802757265
+1.4196369709089653,-1.0808499583971376
+-0.12014012172115207,1.8674959155051192
+-0.7848584546249613,-0.11630331236662983
+-0.14518982038353356,0.12720781901966327
+-0.6865848338853147,-0.1813738482953669
+0.5758058711427921,1.7333928875794817
+-0.5291688005336626,0.18103097607630528
+0.7601260227922402,1.0698277418476785
+1.1851742197356727,0.279026903111008
+-0.2941164516499264,0.7157580784638117
+1.6648698183696615,-1.943142769353786
+0.7535250393413846,0.8680730942917789
+0.1458326223419753,-0.25483915540128166
+-0.15456351970261573,0.04108713877011083
+0.34304466079950724,-0.7551294271689318
+0.9295844808599056,-0.25498544683269403
+-0.43628808956084514,1.5504893805270505
+0.07741666619840631,0.09232283451670831
+-0.45532568440178056,1.6395268560201297
+-0.7164228313679566,-0.21402277640707051
+-0.645335668654773,0.8375936279675471
+0.08188272281915313,1.587294476805944
+0.4332984512326601,1.6513728849712601
+-0.08204775293813944,1.7972969546243558
+-0.3086142726731139,-0.12077280340737248
+-0.5911710863651527,1.0090796630654313
+-0.35189605124996615,0.09308273539567179
+-0.8074389775928712,-0.012139870923214294
+-0.5271345071460172,1.1349555375959066
+1.74404630141653,-2.3882998802757265
+1.4196369709089653,-1.0808499583971376
+-0.12014012172115207,1.8674959155051192
+-0.7848584546249613,-0.11630331236662983
+-0.03160623939852758,-0.11092015652408127
+-0.6865848338853147,-0.1813738482953669
+0.5758058711427921,1.7333928875794817
+-0.5291688005336626,0.18103097607630528
+-0.6427235397488298,1.3763456865754833
+1.1851742197356727,0.279026903111008
+-0.2941164516499264,0.7157580784638117
+1.6648698183696615,-1.943142769353786
+0.2964214422859211,-0.27819793928472364
+0.24256027407507144,-0.5880764817304032
+-0.15456351970261573,0.04108713877011083
+1.009851738858747,-1.5682394368201416
+-0.008588179089503524,0.5013629009391581
+-0.43628808956084514,1.5504893805270505
+0.9801088762573694,1.0223243149985546
+-0.45532568440178056,1.6395268560201297
+-0.7164228313679566,-0.21402277640707051
+-0.645335668654773,0.8375936279675471
+0.08188272281915313,1.587294476805944
+0.4332984512326601,1.6513728849712601
+-0.08204775293813944,1.7972969546243558
+0.31573575998319725,1.4312916275794407
+-0.5134315339197787,1.508910617984204
+-0.35189605124996615,0.09308273539567179
+-0.46280633463157417,1.6860988470925116
+-0.40488476792970374,0.7168712594173321
+1.74404630141653,-2.3882998802757265
+1.4196369709089653,-1.0808499583971376
+-0.2546238641318609,0.5672873619841796
+-0.7848584546249613,-0.11630331236662983
+-0.03160623939852758,-0.11092015652408127
+-0.6865848338853147,-0.1813738482953669
+0.8702918325564195,-0.5356462559270471
+-0.8251047101924929,1.1019992611116072
+1.0514732728727036,-1.247191217040586
+1.1851742197356727,0.279026903111008
+-0.2941164516499264,0.7157580784638117
+1.6648698183696615,-1.943142769353786
+-0.9618911469916492,0.11488258393278344
+-0.42550771854969077,0.8080610107144952
+-0.4342893061915721,1.8642711765200115
+0.09248010892002806,0.7028552154584972
+-0.008588179089503524,0.5013629009391581
+-0.6278349934368427,0.7410493800233193
+0.36399666820346543,1.4983656703483959
+-0.45532568440178056,1.6395268560201297
+0.5909327548385852,-0.5483711075990642
+1.3863748847109663,-0.8612940457072411
+0.08188272281915313,1.587294476805944
+0.4332984512326601,1.6513728849712601
+-0.08204775293813944,1.7972969546243558
+1.7821144089978112,-1.9101508817808481
+1.1666549087128666,-0.31559427120709715
+-0.35189605124996615,0.09308273539567179
+-0.46280633463157417,1.6860988470925116
+0.15676596292893819,0.02029891318373982
+-0.43798969247229624,1.6163537552472163
+1.4196369709089653,-1.0808499583971376
+1.1956356179203393,-1.433624065847971
+1.9334847915887392,-2.196206705772928
+1.172334575880923,-0.8660775386994444
+-0.6865848338853147,-0.1813738482953669
+-0.397047973895515,0.5721709239684325
+-0.03736537688491748,0.10356626042985717
+-0.8473450887433427,0.8827634123163695
+1.1851742197356727,0.279026903111008
+-0.2941164516499264,0.7157580784638117
+1.1898196523163878,-1.3515358955908254
+0.20535505990351555,-0.31945152816280364
+-0.16549737986528315,1.4941938571881843
+-0.4342893061915721,1.8642711765200115
+0.3310976186706845,1.8409989845680217
+-0.008588179089503524,0.5013629009391581
+-0.6278349934368427,0.7410493800233193
+1.0262360885966662,-0.873340773823429
+-0.4875486931716049,1.6514938307133498
+0.5909327548385852,-0.5483711075990642
+0.9261827685456552,0.3126769311684412
+0.08188272281915313,1.587294476805944
+-0.44926972164163304,0.35896941669202664
+1.2185289570540117,-1.171181459475265
+1.063953915276417,-0.07500420988639667
+0.04773827378362128,0.6201811956235012
+-0.35189605124996615,0.09308273539567179
+1.6733278042004829,-1.826052300334176
+1.280574169599579,-0.8800013156801089
+-0.43798969247229624,1.6163537552472163
+-0.1668052580662197,-0.05409844554030274
+1.1956356179203393,-1.433624065847971
+-0.8373378509930822,1.097898008121029
+1.491639329525936,-1.7072571187472108
+-0.6865848338853147,-0.1813738482953669
+0.6218247846278486,-0.7558843418493747
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+1.1851742197356727,0.279026903111008
+0.21316621227028737,-0.3955576977964286
+-0.5469772623303779,1.7312449143228732
+0.9011788880009786,0.5957070111874455
+-0.16549737986528315,1.4941938571881843
+0.8465797572829996,0.89131755159318
+0.3310976186706845,1.8409989845680217
+-0.008588179089503524,0.5013629009391581
+-0.35745401980760527,0.0371376976110406
+1.942133111644701,-2.315943282524354
+0.6363124707794388,-0.6359227767559825
+0.5909327548385852,-0.5483711075990642
+0.9261827685456552,0.3126769311684412
+1.327024042739688,-0.44388337009685974
+-0.44926972164163304,0.35896941669202664
+-0.2242852088731668,1.6194228018626728
+1.063953915276417,-0.07500420988639667
+0.7430723448563451,-0.9197366050466322
+-0.35189605124996615,0.09308273539567179
+-0.23627446331138005,1.2709093585757807
+1.3201853444188962,-0.2411355448235173
+0.736761893492325,1.6672553621289985
+1.0163031904631934,0.18745270571344852
+1.1956356179203393,-1.433624065847971
+0.569077570160428,-0.41011734382089776
+1.491639329525936,-1.7072571187472108
+-0.6865848338853147,-0.1813738482953669
+-0.1481453428598291,0.8341557481581627
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+1.1851742197356727,0.279026903111008
+-0.7176148978686852,0.0004386902061034731
+-0.5469772623303779,1.7312449143228732
+0.9011788880009786,0.5957070111874455
+-0.16549737986528315,1.4941938571881843
+0.8465797572829996,0.89131755159318
+0.9371787027954417,-0.6694198495190219
+-0.008588179089503524,0.5013629009391581
+-0.5285917947321879,1.086266271863758
+0.06855534292006316,0.5149820551048718
+0.6363124707794388,-0.6359227767559825
+0.7836477908742321,0.6231269334204789
+-0.4279150642202494,0.8874023414431758
+1.327024042739688,-0.44388337009685974
+-0.28730215150798083,1.1034434782664593
+-0.2242852088731668,1.6194228018626728
+1.1360953522805686,0.17469688313132364
+-0.5155275689125153,1.167580365749196
+-0.35189605124996615,0.09308273539567179
+0.8419523347737852,1.260302147321147
+1.3201853444188962,-0.2411355448235173
+0.736761893492325,1.6672553621289985
+1.0163031904631934,0.18745270571344852
+0.916919383915529,-0.6024861925263217
+0.569077570160428,-0.41011734382089776
+1.491639329525936,-1.7072571187472108
+-0.6865848338853147,-0.1813738482953669
+-0.1481453428598291,0.8341557481581627
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+0.9904289465547353,-0.517703764626144
+0.2408609891831725,0.036578467032666206
+-0.5469772623303779,1.7312449143228732
+0.9011788880009786,0.5957070111874455
+0.26763938647829544,0.11913444046873212
+-0.9680959858843823,-0.5790219179527407
+1.9116849696940639,-2.7414038942559555
+-0.008588179089503524,0.5013629009391581
+-0.5285917947321879,1.086266271863758
+0.06855534292006316,0.5149820551048718
+-0.5163457682309138,0.4946286277455875
+2.02786691215436,-2.7971807708915826
+-0.7329117132578497,-0.1001211850735421
+1.3578318917586092,-1.8113514231618129
+1.4968061291843882,-2.3053724283029107
+-0.46389990348003385,1.768721333351891
+1.1360953522805686,0.17469688313132364
+0.7949526311660573,-0.0789740937801584
+-0.6854076607072643,1.192375098470856
+0.8419523347737852,1.260302147321147
+1.3201853444188962,-0.2411355448235173
+-1.2302549996156986,0.004723809963623038
+1.0788000342198663,0.5085132233071634
+0.916919383915529,-0.6024861925263217
+-1.1010971255427526,0.3654575971434849
+0.7898101731352392,1.5274178784860661
+-0.6986813643252263,-0.09285952910854034
+0.36576702941384087,0.13688924640107022
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+-0.6450104537587895,0.8184406241598364
+0.2408609891831725,0.036578467032666206
+-0.5469772623303779,1.7312449143228732
+0.9011788880009786,0.5957070111874455
+0.26763938647829544,0.11913444046873212
+0.4614723316906497,-0.5528992458141427
+1.9116849696940639,-2.7414038942559555
+-0.008588179089503524,0.5013629009391581
+1.6665830402799595,-1.9686914101351147
+0.06855534292006316,0.5149820551048718
+0.5313615154150318,1.7132268001914874
+2.02786691215436,-2.7971807708915826
+-0.7329117132578497,-0.1001211850735421
+1.3578318917586092,-1.8113514231618129
+1.4968061291843882,-2.3053724283029107
+-0.46389990348003385,1.768721333351891
+1.1360953522805686,0.17469688313132364
+0.02727787000074569,2.0349007044384315
+-0.945059969195186,0.30379397821248244
+0.2606793042728228,1.5224737035624571
+1.3201853444188962,-0.2411355448235173
+0.6604504529602114,-0.23782117137149578
+1.0788000342198663,0.5085132233071634
+0.916919383915529,-0.6024861925263217
+-0.48064305073882485,0.16239404405908664
+0.7898101731352392,1.5274178784860661
+-0.6986813643252263,-0.09285952910854034
+-0.12486220310672408,2.3255443710201593
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+0.1549985649433161,2.2210613616077945
+0.2408609891831725,0.036578467032666206
+-0.5124271521479431,1.62877035247617
+0.2775666823814288,-0.03208113497433818
+0.26763938647829544,0.11913444046873212
+-0.33038145820905207,1.5751275550362456
+1.9116849696940639,-2.7414038942559555
+-0.2575246942625886,-0.38860600652997995
+1.6665830402799595,-1.9686914101351147
+0.06855534292006316,0.5149820551048718
+0.5313615154150318,1.7132268001914874
+-0.34794564802862693,1.0997382558417748
+-0.7329117132578497,-0.1001211850735421
+1.6662670204052203,-1.8142901363061466
+0.09981152683140879,2.338080903635517
+-0.46389990348003385,1.768721333351891
+1.1360953522805686,0.17469688313132364
+0.02727787000074569,2.0349007044384315
+-0.945059969195186,0.30379397821248244
+0.2606793042728228,1.5224737035624571
+1.3201853444188962,-0.2411355448235173
+-0.0832591889067541,0.5659371040888043
+1.0788000342198663,0.5085132233071634
+0.916919383915529,-0.6024861925263217
+0.6400954629094214,-0.298660214710748
+1.4922348598688642,-0.5393704517882081
+-0.03193063753703812,2.2000337711650877
+-0.12486220310672408,2.3255443710201593
+-0.03736537688491748,0.10356626042985717
+-0.09113449038418503,1.9676322813055194
+0.1549985649433161,2.2210613616077945
+-0.2061254782711009,1.656166468978354
+-0.5124271521479431,1.62877035247617
+-0.5914385599061658,1.61074364327616
+-0.6131811457896645,1.1041640960560186
+0.8673833616881145,0.6849361284900781
+1.9116849696940639,-2.7414038942559555
+1.6630033294534394,-2.10515448731562
+1.6665830402799595,-1.9686914101351147
+0.06855534292006316,0.5149820551048718
+-0.26186150422357235,-0.030925931885480706
+1.2727408955668515,-0.4287599911462048
+0.6259101196866612,1.9601636527734132
+1.6662670204052203,-1.8142901363061466
+0.09981152683140879,2.338080903635517
+0.28381290977850626,1.152520488852774
+1.1360953522805686,0.17469688313132364
+0.02727787000074569,2.0349007044384315
+-0.945059969195186,0.30379397821248244
+0.2606793042728228,1.5224737035624571
+0.6484116699811986,-0.010669152263736104
+-0.0832591889067541,0.5659371040888043
+1.0788000342198663,0.5085132233071634
+0.7028573391042859,0.8568381452445857
+0.5521062086042776,-0.24508143236486768
+1.4922348598688642,-0.5393704517882081
+-0.599267327024372,0.9304577432400765
+-0.12486220310672408,2.3255443710201593
+0.447220145454809,-0.4793404829345376
+-0.09113449038418503,1.9676322813055194
+1.1122709020927108,-0.9621618795471552
+0.3374359930462501,2.2115216062628384
+-0.5124271521479431,1.62877035247617
+-0.46023398670918314,0.3393856342405746
+-0.6131811457896645,1.1041640960560186
+0.8673833616881145,0.6849361284900781
+1.9116849696940639,-2.7414038942559555
+1.6630033294534394,-2.10515448731562
+1.6665830402799595,-1.9686914101351147
+1.6481656599686323,-2.544569373645433
+-0.26186150422357235,-0.030925931885480706
+1.2727408955668515,-0.4287599911462048
+0.15961711394592082,-0.2199382008017895
+1.6662670204052203,-1.8142901363061466
+1.3429089490134944,-0.05915201006219728
+-0.41689024796275564,0.6895268110302983
+-0.06523569096876047,1.3168075545979896
+0.02727787000074569,2.0349007044384315
+-0.945059969195186,0.30379397821248244
+0.2606793042728228,1.5224737035624571
+0.6484116699811986,-0.010669152263736104
+-0.0832591889067541,0.5659371040888043
+1.0788000342198663,0.5085132233071634
+1.4515175140058367,-2.1831992959720536
+0.5521062086042776,-0.24508143236486768
+1.562253440757905,-0.5768382527827003
+-0.599267327024372,0.9304577432400765
+-0.427746825734088,0.44658237471299
+0.447220145454809,-0.4793404829345376
+-0.09113449038418503,1.9676322813055194
+1.1122709020927108,-0.9621618795471552
+0.3374359930462501,2.2115216062628384
+0.8401675280152672,-0.7795945883454634
+-0.04762388837524534,0.28693850512480656
+0.30114937532821906,0.09833265787926898
+-0.43540263291482484,-0.3163043778824158
+1.9116849696940639,-2.7414038942559555
+1.4877519124586154,-0.9014747453846826
+1.2277999170523612,-0.8128771486207353
+-0.4451464440959846,-0.14428266795406952
+-0.26186150422357235,-0.030925931885480706
+1.2727408955668515,-0.4287599911462048
+1.6284299337103243,-2.276390944618203
+-0.43383383354904514,2.0820443959192594
+1.3429089490134944,-0.05915201006219728
+-0.41689024796275564,0.6895268110302983
+-0.06413086974887441,0.8437255710722901
+1.1738258156112629,-0.7281493091679294
+-0.945059969195186,0.30379397821248244
+0.2606793042728228,1.5224737035624571
+-0.1834532689314467,1.2945151558020294
+-0.0832591889067541,0.5659371040888043
+1.0788000342198663,0.5085132233071634
+1.4515175140058367,-2.1831992959720536
+-0.6748608789005239,-0.3672769075916011
+1.562253440757905,-0.5768382527827003
+-0.599267327024372,0.9304577432400765
+-0.427746825734088,0.44658237471299
+-0.40786075697183855,1.5053761695711625
+-0.09113449038418503,1.9676322813055194
+1.1122709020927108,-0.9621618795471552
+0.3374359930462501,2.2115216062628384
+-0.711285092338142,0.36592560299201227
+-0.5973210321093207,1.889200664991451
+-0.4937832471263278,0.6241823150535907
+1.5736258340587503,-0.6338437868184076
+1.590900798458108,-2.5370187651013367
+0.936060529555713,1.0551544354169207
+1.2277999170523612,-0.8128771486207353
+-0.4451464440959846,-0.14428266795406952
+0.7778628419129696,-0.6218401365242596
+0.5242948043061273,0.056065268913000676
+1.3221727511136572,-1.150855525283117
+0.8799755042285475,-0.13960114613778818
+0.5233230408859528,1.8267047416411644
+-0.41689024796275564,0.6895268110302983
+0.08637410325278916,-0.3792722796765736
+-0.636799722882924,0.6999552865541274
+1.5160591697515815,-0.6834968541704526
+0.2606793042728228,1.5224737035624571
+-0.1834532689314467,1.2945151558020294
+-0.0832591889067541,0.5659371040888043
+0.14037260598387902,0.4581638458266918
+0.6710199735225755,-0.04268069747841985
+-0.6748608789005239,-0.3672769075916011
+1.562253440757905,-0.5768382527827003
+0.9801514331886017,-1.088952022305231
+-0.8314403716374582,-0.04721658033210363
+0.5998843334458043,0.6844436697116059
+-0.47452803265353827,-0.4478925362937423
+1.1122709020927108,-0.9621618795471552
+0.3374359930462501,2.2115216062628384
+-0.711285092338142,0.36592560299201227
+-0.5973210321093207,1.889200664991451
+1.1909744275596985,-2.137432204869869
+0.7166415389654367,1.0056952690800245
+1.590900798458108,-2.5370187651013367
+0.936060529555713,1.0551544354169207
+1.2277999170523612,-0.8128771486207353
+-0.4451464440959846,-0.14428266795406952
+0.7063458403877104,-0.6862013066600516
+0.5242948043061273,0.056065268913000676
+1.3221727511136572,-1.150855525283117
+0.8799755042285475,-0.13960114613778818
+0.36905552831088334,0.7401069244805641
+0.31752648494430036,-0.5567117093774522
+0.6781334716832502,-0.2773751065687531
+-0.636799722882924,0.6999552865541274
+0.24175298411606544,0.316077428749017
+0.6930842680348441,-0.8626391441518078
+-0.1834532689314467,1.2945151558020294
+0.7412457001692887,-0.7471976142792156
+-0.8537246612156864,0.09572139206749372
+0.6928813081495588,0.6567594189372276
+-0.2691561828613924,0.6917360995945872
+-0.7790589292427288,0.8861209158419778
+0.9801514331886017,-1.088952022305231
+-0.8314403716374582,-0.04721658033210363
+-0.7989229574352532,-0.5039294559553252
+0.8892676995406888,-0.6816788227055492
+1.1122709020927108,-0.9621618795471552
+0.8091823226375315,-0.033651754451322874
+-0.711285092338142,0.36592560299201227
+1.1610414360042218,-0.8813015232983847
+-0.6630924370339166,1.4203981251466211
+-0.40809058349288463,0.7870362883818347
+1.590900798458108,-2.5370187651013367
+0.936060529555713,1.0551544354169207
+0.500076035706693,-0.1256331940744987
+-0.4451464440959846,-0.14428266795406952
+-1.0492380283330736,0.2923275425053744
+0.5242948043061273,0.056065268913000676
+-0.2276322840003685,0.5102763389229281
+-0.2344859862631362,0.8566733597367167
+0.36905552831088334,0.7401069244805641
+0.31752648494430036,-0.5567117093774522
+0.6781334716832502,-0.2773751065687531
+0.21866470417618888,1.6516554198538895
+0.858815408865529,-0.9184905882474982
+0.6930842680348441,-0.8626391441518078
+0.21303132609852748,0.006307595097716112
+0.35991227922169533,0.2443429017757708
+-0.8537246612156864,0.09572139206749372
+-0.6777330322822226,0.348418837455167
+-0.2691561828613924,0.6917360995945872
+-0.7790589292427288,0.8861209158419778
+0.8682540836966219,-0.47576387869237124
+0.6488106632121393,1.0486677910081295
+-0.21758434444437452,2.418938926740918
+0.6621373205853627,-0.36441105514238437
+1.1122709020927108,-0.9621618795471552
+-0.7018441306827191,0.8195954962521752
+0.9528428908984965,0.05490373281411132
+0.8564927000052045,1.0413064906557743
+0.7334911032164918,1.4101659684247432
+-1.117411043679451,-0.4644147258154281
+0.9706051125805699,-0.7508712116085222
+0.936060529555713,1.0551544354169207
+0.613059801486083,-0.3699530515043645
+0.3389437450754026,-0.541867830792663
+-0.15775007407744973,0.5928909594520113
+0.5242948043061273,0.056065268913000676
+0.9391876440554048,-0.6135287429310651
+-0.2344859862631362,0.8566733597367167
+-0.1987347880637994,0.33933968702655876
+0.5945797963795673,-0.6260087304265782
+0.6781334716832502,-0.2773751065687531
+0.21866470417618888,1.6516554198538895
+0.858815408865529,-0.9184905882474982
+1.0163840085260256,0.7821182545477331
+-0.12943438724815104,1.1176767584275416
+1.483659759560854,-2.32737300559953
+-0.8537246612156864,0.09572139206749372
+0.8737442041769535,-0.43361553181597945
+-0.2691561828613924,0.6917360995945872
+-0.5548887246065255,0.39242822194581356
+0.6408094776273036,-0.790512766967201
+-0.2797333623953703,2.407466230956976
+-0.21758434444437452,2.418938926740918
+-0.41574689394430425,0.053031191869913674
+-0.6022181029146186,0.4986937935928059
+-0.7018441306827191,0.8195954962521752
+0.9528428908984965,0.05490373281411132
+0.8564927000052045,1.0413064906557743
+0.7334911032164918,1.4101659684247432
+-1.117411043679451,-0.4644147258154281
+0.9706051125805699,-0.7508712116085222
+0.433733197203489,1.203439874400284
+0.613059801486083,-0.3699530515043645
+-0.5819152928925438,0.10232737974793138
+-0.15775007407744973,0.5928909594520113
+-0.45362484872447323,0.5220941394657983
+0.9391876440554048,-0.6135287429310651
+-0.2344859862631362,0.8566733597367167
+1.6219880040560872,-1.5688334972573408
+0.5945797963795673,-0.6260087304265782
+1.1709981153132385,-0.2212008753241238
+0.21866470417618888,1.6516554198538895
+-0.6214710890994297,0.12718595152810275
+1.0163840085260256,0.7821182545477331
+-0.8862103159561202,0.24502507470700785
+1.483659759560854,-2.32737300559953
+-0.8537246612156864,0.09572139206749372
+0.47602435717827835,2.1278628987955113
+1.3903923612045186,-0.8456931477049128
+-0.27207765206551815,1.4722728130318052
+0.6408094776273036,-0.790512766967201
+-0.2797333623953703,2.407466230956976
+-0.21758434444437452,2.418938926740918
+0.7334293665321892,-0.06642093520388814
+-0.6022181029146186,0.4986937935928059
+0.6094759799092945,0.7064829728878954
+0.9528428908984965,0.05490373281411132
+-0.48806255742491417,1.0707834309045887
+1.208680737356222,-1.2340622513982349
+-1.117411043679451,-0.4644147258154281
+0.9706051125805699,-0.7508712116085222
+0.5786204597907348,0.9026810382048664
+1.0699525541442496,0.9559082805455044
+-0.5819152928925438,0.10232737974793138
+1.4589114421489937,-0.40957980226922763
+-0.45362484872447323,0.5220941394657983
+0.9391876440554048,-0.6135287429310651
+-0.2344859862631362,0.8566733597367167
+1.6219880040560872,-1.5688334972573408
+0.615246646531643,-0.43874180149128716
+-0.9161353776692289,0.11147030918068067
+-0.7661755598293649,1.3603724380659066
+-0.6214710890994297,0.12718595152810275
+1.0163840085260256,0.7821182545477331
+-0.5488221950330913,0.1392485405455649
+1.483659759560854,-2.32737300559953
+-0.8537246612156864,0.09572139206749372
+0.47602435717827835,2.1278628987955113
+1.941756216348554,-3.4721607462518183
+-0.8245434116292925,0.37971558250240545
+0.44807351671220286,0.1081562877154636
+0.92248402754293,-0.4737859947845221
+1.1178208882992906,-1.5604993173417925
+0.15765324491976868,1.5473989970100084
+0.789006068210531,1.55997042920765
+0.6094759799092945,0.7064829728878954
+0.9528428908984965,0.05490373281411132
+-0.48806255742491417,1.0707834309045887
+1.208680737356222,-1.2340622513982349
+-1.117411043679451,-0.4644147258154281
+0.9706051125805699,-0.7508712116085222
+0.20988200957566472,2.0693041576162834
+0.041168450418358704,-0.34283232952955045
+-0.5819152928925438,0.10232737974793138
+0.6063992902934248,1.5396857528066519
+-0.45362484872447323,0.5220941394657983
+0.09006099045547228,1.455052324363008
+0.266922152203527,0.2971085982370048
+1.6219880040560872,-1.5688334972573408
+0.615246646531643,-0.43874180149128716
+-0.9161353776692289,0.11147030918068067
+-0.7661755598293649,1.3603724380659066
+0.43686628274458306,0.12695510098407733
+1.0163840085260256,0.7821182545477331
+-0.10273801923154174,2.0999373899976828
+1.483659759560854,-2.32737300559953
+-0.8537246612156864,0.09572139206749372
+0.6121371681054653,1.1772080595811616
+1.941756216348554,-3.4721607462518183
+0.6451266770166011,0.04664465670900797
+-0.20412467204147766,0.7545452814664717
+0.09512419672091621,2.0276706093393737
+1.1178208882992906,-1.5604993173417925
+0.15765324491976868,1.5473989970100084
+0.789006068210531,1.55997042920765
+0.6094759799092945,0.7064829728878954
+0.1907258555772161,1.8278376901630615
+-0.48806255742491417,1.0707834309045887
+0.1498051424705544,0.19074265929980325
+-1.117411043679451,-0.4644147258154281
+0.9706051125805699,-0.7508712116085222
+-0.4753187168245504,0.9012192600751661
+0.041168450418358704,-0.34283232952955045
+-0.5819152928925438,0.10232737974793138
+0.6063992902934248,1.5396857528066519
+-0.05897820058717762,0.09844781802745106
+1.0323654627002574,0.026846822711109164
+0.9593411082509451,-1.1937200275181128
+1.6219880040560872,-1.5688334972573408
+0.09993206235941274,-0.5218386727717309
+-0.31236605253749494,1.0575683308800727
+1.059425553720423,-0.2907914628210798
+0.43686628274458306,0.12695510098407733
+1.0163840085260256,0.7821182545477331
+0.67538832117497,1.050875283833744
+1.483659759560854,-2.32737300559953
+-0.8537246612156864,0.09572139206749372
+0.5556991323539631,1.7713603110164884
+1.2197948691878149,-1.1881802191289856
+0.7674160174449355,0.8783251476216163
+0.197253910887694,0.12340464665792591
+0.09512419672091621,2.0276706093393737
+-0.213126588345949,1.561891845184845
+-0.2453714482567488,2.4683076175554097
+1.521425275831054,-1.630105286355692
+-0.03021657151303403,-0.23983183955274562
+0.7721181786495478,0.0667520895226722
+0.6641525728455747,-0.26031265435814555
+0.1498051424705544,0.19074265929980325
+-0.8843705598172261,0.9487076282305194
+1.0449777265829836,0.3166670031896439
+1.7231590014768647,-1.2189335926204836
+0.5597716631425215,-0.20838882482756557
+-0.5819152928925438,0.10232737974793138
+0.6063992902934248,1.5396857528066519
+1.5481089455026784,-1.3310586913029825
+1.0323654627002574,0.026846822711109164
+0.9593411082509451,-1.1937200275181128
+1.2123676610897889,-1.5493524164545749
+0.09993206235941274,-0.5218386727717309
+0.844921493746392,0.1892128574236711
+1.8062423414032136,-2.689079765221871
+0.6269805100520616,0.19434381592681488
+1.0163840085260256,0.7821182545477331
+0.67538832117497,1.050875283833744
+-0.6244130789758924,1.1470910690467468
+-0.8537246612156864,0.09572139206749372
+0.7209429228684949,-0.8330229310608994
+1.2197948691878149,-1.1881802191289856
+-0.3710653181494413,0.41435797828351906
+0.197253910887694,0.12340464665792591
+0.09512419672091621,2.0276706093393737
+-0.213126588345949,1.561891845184845
+0.04878919147514882,2.2448960871704737
+0.8701948359857854,0.1749642497093654
+-0.03021657151303403,-0.23983183955274562
+0.7721181786495478,0.0667520895226722
+0.6641525728455747,-0.26031265435814555
+0.1498051424705544,0.19074265929980325
+0.44808988735977945,1.738639763576544
+0.9313461682958526,0.6561051495758172
+-0.18143778193744106,0.9612992170261372
+0.7613045878387096,-0.4823343342916653
+-0.5819152928925438,0.10232737974793138
+0.6063992902934248,1.5396857528066519
+1.5481089455026784,-1.3310586913029825
+-0.21824540725828365,0.4948848830524066
+0.15945830485822776,-0.1014076245135348
+0.1080341747315734,1.4497673269649063
+-0.5397224431790257,0.7150597218134687
+0.844921493746392,0.1892128574236711
+1.8062423414032136,-2.689079765221871
+1.1158850557519382,0.8702056956455708
+0.13566750711066716,2.133305623910819
+-0.308354635205612,-0.1329706913833716
+-0.6244130789758924,1.1470910690467468
+-0.8537246612156864,0.09572139206749372
+0.6439154135896158,-0.5283458189202801
+1.2197948691878149,-1.1881802191289856
+-0.3710653181494413,0.41435797828351906
+0.197253910887694,0.12340464665792591
+-0.5081793877943144,1.3693483246752174
+-0.213126588345949,1.561891845184845
+0.04878919147514882,2.2448960871704737
+0.8028170822942589,-0.9210774128117454
+-0.03021657151303403,-0.23983183955274562
+0.7721181786495478,0.0667520895226722
+-0.657594969277096,1.594718480684995
+-0.6183544904232208,-0.2569212075298558
+0.44808988735977945,1.738639763576544
+0.9313461682958526,0.6561051495758172
+-0.18143778193744106,0.9612992170261372
+0.7613045878387096,-0.4823343342916653
+-0.5819152928925438,0.10232737974793138
+0.5692697038323908,1.217166684980213
+1.3849842187855501,-1.4022717077474103
+-0.21824540725828365,0.4948848830524066
+0.4321630255045852,0.9373482081310379
+0.1080341747315734,1.4497673269649063
+-0.5397224431790257,0.7150597218134687
+-0.778000323927563,0.7474585560572738
+1.8062423414032136,-2.689079765221871
+1.129692271232511,0.30670196853349574
+0.13566750711066716,2.133305623910819
+-0.10742230915251583,-0.24637920519049084
+0.07040586248825498,1.9045061654795012
+-0.8537246612156864,0.09572139206749372
+0.6439154135896158,-0.5283458189202801
+1.2197948691878149,-1.1881802191289856
+0.16998184225196467,-0.021519968340215356
+1.019998982548987,1.0839452280628374
+-0.30202393902600333,0.7051186350056131
+-0.213126588345949,1.561891845184845
+0.04878919147514882,2.2448960871704737
+0.8028170822942589,-0.9210774128117454
+-0.06077080288353587,1.7727710838144066
+-0.631542706211149,1.2108368322787355
+0.607565409531545,-0.8522432673948093
+-0.6183544904232208,-0.2569212075298558
+0.44808988735977945,1.738639763576544
+0.9313461682958526,0.6561051495758172
+-0.18143778193744106,0.9612992170261372
+0.7613045878387096,-0.4823343342916653
+-0.5819152928925438,0.10232737974793138
+-0.1990466069597528,-0.5427068815097285
+1.3849842187855501,-1.4022717077474103
+-0.21824540725828365,0.4948848830524066
+1.0229947127125167,-0.12349095043535785
+0.6183536725788816,0.9448588999161276
+1.3963132746251152,-0.23649226446819727
+-0.778000323927563,0.7474585560572738
+1.8062423414032136,-2.689079765221871
+1.129692271232511,0.30670196853349574
+0.2688787977863326,-0.017538668327713836
+0.08309084393409483,2.1609241199721487
+0.8265524133553572,0.6281714488838182
+-0.1997247999310819,2.3419297686744964
+-0.667372707809024,0.43669485031493827
+1.2197948691878149,-1.1881802191289856
+0.16998184225196467,-0.021519968340215356
+1.019998982548987,1.0839452280628374
+0.6395973086591643,1.7419011958526285
+0.6666505221506722,-0.4731244466104904
+-0.24299116884262523,1.8784353850245636
+0.8028170822942589,-0.9210774128117454
+-0.06077080288353587,1.7727710838144066
+-0.631542706211149,1.2108368322787355
+-0.7975036620062503,-0.06428709364612062
+0.3781228457092899,1.1661548386728118
+0.743756224329923,0.47466497843253674
+0.28878828516754484,0.3301765417064899
+-0.18143778193744106,0.9612992170261372
+0.20452446988388845,1.932107625872469
+-0.5819152928925438,0.10232737974793138
+-0.1990466069597528,-0.5427068815097285
+0.43440146499867716,1.535226661707851
+-0.21824540725828365,0.4948848830524066
+0.38423515866993885,2.1657273692036707
+0.4906385253481518,0.7817867544277899
+1.3963132746251152,-0.23649226446819727
+-0.778000323927563,0.7474585560572738
+1.8062423414032136,-2.689079765221871
+0.22389126562602668,2.3285471969464746
+0.2688787977863326,-0.017538668327713836
+1.082589876405453,-1.0881601073860059
+0.7536730768529504,-0.5669030241931575
+-0.15260328766397002,1.108131425970832
+-0.6467649248439773,-0.004163530787149261
+1.2197948691878149,-1.1881802191289856
+0.9545032786232122,0.08262553208148204
+1.019998982548987,1.0839452280628374
+0.6395973086591643,1.7419011958526285
+0.6666505221506722,-0.4731244466104904
+0.15303657846409804,2.348669643858655
+0.8028170822942589,-0.9210774128117454
+0.004269649295520789,0.06763071874351734
+-0.0762506312307076,1.9983141706007914
+-0.44907241591765457,0.3282714909265546
+-0.016075178256929612,1.683769506638195
+0.743756224329923,0.47466497843253674
+0.28878828516754484,0.3301765417064899
+0.454802833094453,0.05338349356670062
+0.20452446988388845,1.932107625872469
+-0.5819152928925438,0.10232737974793138
+0.027637293992943124,0.3602877432909474
+0.43440146499867716,1.535226661707851
+0.6343863519112234,-0.21100326797660734
+-0.6354152304945068,0.42781689333545975
+0.8690493657736994,1.1542049282362952
+0.1945622355067004,2.191993453834893
+-0.778000323927563,0.7474585560572738
+1.8062423414032136,-2.689079765221871
+0.22389126562602668,2.3285471969464746
+0.34976904486661464,-0.0011914929810522348
+1.082589876405453,-1.0881601073860059
+0.7536730768529504,-0.5669030241931575
+-0.15260328766397002,1.108131425970832
+-0.6467649248439773,-0.004163530787149261
+1.2197948691878149,-1.1881802191289856
+0.16955672822099238,-0.30885583302409725
+-0.6930736737376727,-0.018522311092164512
+0.7515491447424002,1.3589639869546493
+0.6666505221506722,-0.4731244466104904
+0.6360839912414135,-0.453369184821506
+0.6382376126002293,-0.4480317228838947
+0.38965301730921265,0.8077886796753854
+-0.0762506312307076,1.9983141706007914
+0.7709454973613029,1.4537872972928625
+1.0779023270114874,0.3760819636809361
+-0.16030251880456134,0.6087729661931277
+0.19656974612526243,2.0716417990508265
+1.0145785100005498,0.6764512568892186
+0.20452446988388845,1.932107625872469
+-0.4511438855071423,1.7822794611289137
+0.027637293992943124,0.3602877432909474
+0.43440146499867716,1.535226661707851
+-0.7802752024617547,-0.31959262762850565
+1.0315835617574318,-0.8582210383523996
+0.8690493657736994,1.1542049282362952
+0.1945622355067004,2.191993453834893
+0.5362030405500754,1.4077838461829875
+-0.7102415948088086,0.33208988566355235
+1.1709737208815736,0.4188835012876011
+1.2129411514177215,-1.4314358843855173
+1.082589876405453,-1.0881601073860059
+0.7536730768529504,-0.5669030241931575
+-0.15260328766397002,1.108131425970832
+-0.88281035686051,0.1483586392387147
+1.2197948691878149,-1.1881802191289856
+0.16955672822099238,-0.30885583302409725
+-0.6930736737376727,-0.018522311092164512
+-0.17492985329762298,2.335122384796981
+0.6666505221506722,-0.4731244466104904
+0.6360839912414135,-0.453369184821506
+-0.9367991647215891,-0.5799731841242557
+0.4526531125904356,-0.44570651991793686
+-0.0762506312307076,1.9983141706007914
+0.5881512920479184,-0.6728930489590752
+1.486291461120073,-0.4354166184135988
+-0.16030251880456134,0.6087729661931277
+0.19656974612526243,2.0716417990508265
+0.6337552702317079,1.2555122790003033
+1.2309239284570948,-0.38496357694458844
+-0.4511438855071423,1.7822794611289137
+-0.047063700884379334,0.7083846594441054
+0.43440146499867716,1.535226661707851
+-0.7802752024617547,-0.31959262762850565
+0.2641597105469201,0.44786603425213367
+-0.1595592905795807,1.3906615290663207
+0.1945622355067004,2.191993453834893
+0.5362030405500754,1.4077838461829875
+-0.7102415948088086,0.33208988566355235
+1.1709737208815736,0.4188835012876011
+1.2129411514177215,-1.4314358843855173
+1.082589876405453,-1.0881601073860059
+0.7536730768529504,-0.5669030241931575
+-0.15260328766397002,1.108131425970832
+-0.88281035686051,0.1483586392387147
+1.2197948691878149,-1.1881802191289856
+-0.05417782029290788,-0.047936339948049
+-0.6930736737376727,-0.018522311092164512
+-0.17492985329762298,2.335122384796981
+1.0364763141163684,-0.9504452679762767
+0.219115894791895,-0.08847958869635913
+-0.9367991647215891,-0.5799731841242557
+0.4526531125904356,-0.44570651991793686
+-0.0762506312307076,1.9983141706007914
+0.5881512920479184,-0.6728930489590752
+1.486291461120073,-0.4354166184135988
+1.2910783051504415,-1.209768396146065
+0.19656974612526243,2.0716417990508265
+0.6337552702317079,1.2555122790003033
+-0.16810179345131154,0.6892786867107441
+-0.23566885151316067,0.9934043907239112
+-0.5290239065764876,1.6383597854625125
+0.43440146499867716,1.535226661707851
+-0.7802752024617547,-0.31959262762850565
+-0.22236656345352318,1.4715866560933226
+-0.1595592905795807,1.3906615290663207
+0.1945622355067004,2.191993453834893
+0.5362030405500754,1.4077838461829875
+-0.7102415948088086,0.33208988566355235
+1.1709737208815736,0.4188835012876011
+1.2129411514177215,-1.4314358843855173
+0.7211271140182107,0.03328491562261371
+0.5127357246812586,-0.5441889665850362
+0.3265510872912223,-0.36758190676219943
+-0.88281035686051,0.1483586392387147
+-0.0030618087374918446,1.5803172309347067
+1.0141675032631405,-0.7483583646873433
+1.3270143613262717,-1.670773476828578
+-0.47234221302789353,0.6644770074783513
+-0.12669542309580473,-0.5249779507126815
+-0.11622199093981656,1.5677483190865926
+-0.2866732103849353,1.4325997374917694
+0.8182522299937117,1.1434939437118052
+-0.5808301433951373,1.761164725522335
+-0.760869076847132,0.8494513881041669
+1.486291461120073,-0.4354166184135988
+1.2910783051504415,-1.209768396146065
+0.19656974612526243,2.0716417990508265
+-0.337155054264932,1.0968719583414093
+0.6487175015137207,-0.01810238792058705
+-0.23566885151316067,0.9934043907239112
+-0.5290239065764876,1.6383597854625125
+1.3444362904598697,-0.6070536252645801
+-0.7802752024617547,-0.31959262762850565
+-0.6909761114935127,1.0436982442491005
+-0.1595592905795807,1.3906615290663207
+0.1945622355067004,2.191993453834893
+0.5362030405500754,1.4077838461829875
+-0.7102415948088086,0.33208988566355235
+1.1709737208815736,0.4188835012876011
+1.2129411514177215,-1.4314358843855173
+0.7211271140182107,0.03328491562261371
+0.5127357246812586,-0.5441889665850362
+1.3508682992175767,0.10057193828012578
+-0.88281035686051,0.1483586392387147
+0.3866876670089884,1.8301449482657013
+1.158553554609077,-1.2842483024815772
+1.3270143613262717,-1.670773476828578
+-0.5800624003674053,0.669017730514047
+1.1344512672806117,-0.6870046631067953
+0.529399559476575,-0.6423628347127173
+-0.2866732103849353,1.4325997374917694
+0.8182522299937117,1.1434939437118052
+-0.5808301433951373,1.761164725522335
+-0.760869076847132,0.8494513881041669
+0.5330363005502511,-0.2969004693492949
+1.2910783051504415,-1.209768396146065
+0.7359251208431437,1.1380648826615198
+-0.735278614956279,0.5459649448191621
+0.16641530420781425,1.5549784404506979
+-0.23566885151316067,0.9934043907239112
+-0.5290239065764876,1.6383597854625125
+-0.33285572943358865,1.6097690270752545
+-0.7802752024617547,-0.31959262762850565
+0.3363640284782574,1.0479904941311493
+-0.1595592905795807,1.3906615290663207
+-0.7702876355062833,1.3358857516644984
+0.5362030405500754,1.4077838461829875
+-0.7102415948088086,0.33208988566355235
+1.1709737208815736,0.4188835012876011
+1.2129411514177215,-1.4314358843855173
+-0.21302367085070203,1.6066363717571113
+0.5127357246812586,-0.5441889665850362
+1.4506792920680966,-1.4533627237405753
+-0.4874157868184006,1.1665009338271946
+0.3866876670089884,1.8301449482657013
+-0.3044174152613668,1.183275969637104
+1.3270143613262717,-1.670773476828578
+1.2190196958347093,-0.31182386986264443
+-0.6550616316521086,0.7393783520872
+0.529399559476575,-0.6423628347127173
+1.3580150114346945,-1.4216746976214987
+0.53489272592124,1.5711218856759435
+0.737973531060388,1.5141982543671102
+-0.760869076847132,0.8494513881041669
+0.4886708067156961,0.423497669948939
+1.0428160129695647,0.1617042716460113
+0.7359251208431437,1.1380648826615198
+-0.24319192872977113,-0.03573712572790322
+0.16641530420781425,1.5549784404506979
+-0.23566885151316067,0.9934043907239112
+-0.5290239065764876,1.6383597854625125
+0.8057618870184806,0.4736740888350486
+-0.7802752024617547,-0.31959262762850565
+-0.007644090649552848,0.412884654299479
+0.3804655733535166,1.3508388502940232
+1.4837562060711276,-2.1224842639164514
+1.2696608512154453,-0.8422976522936451
+-0.4013575237679121,2.3452091092103404
+0.31350181147937894,1.7129249431418105
+1.2129411514177215,-1.4314358843855173
+-0.21302367085070203,1.6066363717571113
+0.5127357246812586,-0.5441889665850362
+1.4506792920680966,-1.4533627237405753
+-0.4874157868184006,1.1665009338271946
+0.3866876670089884,1.8301449482657013
+0.48244598800943783,0.7389438447342065
+0.8219263566301307,-0.9086314919452115
+1.2190196958347093,-0.31182386986264443
+0.11966498353639049,1.8094926047465467
+0.7415999661552233,-0.20675350753054503
+1.3580150114346945,-1.4216746976214987
+0.53489272592124,1.5711218856759435
+0.737973531060388,1.5141982543671102
+-0.760869076847132,0.8494513881041669
+1.540392908830821,-1.2782911120275013
+-0.5200396300566205,1.0185113571624143
+0.7359251208431437,1.1380648826615198
+-0.24319192872977113,-0.03573712572790322
+0.07133803450307527,1.451352395758872
+0.802325743256573,-0.6585394401127218
+-0.5290239065764876,1.6383597854625125
+0.6325039164154125,0.8958325020804304
+-0.7802752024617547,-0.31959262762850565
+1.4777744012036458,-1.8898351063062517
+0.3804655733535166,1.3508388502940232
+1.4837562060711276,-2.1224842639164514
+0.6718654838267109,-0.6803720059580657
+-0.4013575237679121,2.3452091092103404
+-0.7002415003709077,0.9566225505227612
+1.2129411514177215,-1.4314358843855173
+-0.21302367085070203,1.6066363717571113
+0.5127357246812586,-0.5441889665850362
+1.4506792920680966,-1.4533627237405753
+-0.4874157868184006,1.1665009338271946
+-0.791093830657823,0.8803018912081875
+-0.16883239183897547,1.4215192201590163
+0.303932101642179,1.2888434116291596
+0.9327501724886373,0.7355268872395024
+0.11966498353639049,1.8094926047465467
+0.7714147416497317,-0.3600981538523418
+1.3580150114346945,-1.4216746976214987
+-0.12320366627218624,0.6253847598661535
+0.737973531060388,1.5141982543671102
+1.1457346010760987,0.25845222118485855
+1.540392908830821,-1.2782911120275013
+-0.5200396300566205,1.0185113571624143
+0.7359251208431437,1.1380648826615198
+0.9087009599966424,-0.42988416064473567
+0.07133803450307527,1.451352395758872
+0.802325743256573,-0.6585394401127218
+0.22004628912997598,0.23464453525263285
+-0.6843679478905327,0.8816547970107307
+-0.7802752024617547,-0.31959262762850565
+0.31089890182519403,1.0761158785900393
+0.3804655733535166,1.3508388502940232
+-0.2074431464288552,0.3103845467818134
+0.6718654838267109,-0.6803720059580657
+1.342882369909837,-1.4474919766852505
+-0.7002415003709077,0.9566225505227612
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+0.5127357246812586,-0.5441889665850362
+0.696624300968828,0.6702993483689029
+-0.4874157868184006,1.1665009338271946
+-0.3982005308892142,0.7523247396028755
+-0.16883239183897547,1.4215192201590163
+-0.431982019841878,-0.1001111890099119
+0.9327501724886373,0.7355268872395024
+0.11966498353639049,1.8094926047465467
+0.7714147416497317,-0.3600981538523418
+1.3580150114346945,-1.4216746976214987
+-0.5108611932679166,0.8896786981082645
+0.737973531060388,1.5141982543671102
+1.5922189668369542,-1.3248068965211084
+1.540392908830821,-1.2782911120275013
+-0.5200396300566205,1.0185113571624143
+0.7359251208431437,1.1380648826615198
+1.151073172785002,-0.24365815860704765
+0.1448438101714615,2.050233815224754
+0.802325743256573,-0.6585394401127218
+0.6777138015709525,1.4557952788004473
+0.610546313502653,1.076866812763275
+-0.7802752024617547,-0.31959262762850565
+0.31089890182519403,1.0761158785900393
+0.3804655733535166,1.3508388502940232
+0.3363467595880479,1.7863360568178275
+1.1105271898378546,0.9847005134643096
+-0.18869033508074745,0.08109521112038637
+-0.7002415003709077,0.9566225505227612
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+0.5495814409509454,1.2137961952779632
+0.039153440485090854,0.9006284690277379
+0.7925685872511965,-0.5131280640736158
+0.0658471286118697,0.9301883404211378
+-0.16883239183897547,1.4215192201590163
+0.7605803594749548,1.3296712463480864
+-0.3566411917637936,2.259679632903972
+0.11966498353639049,1.8094926047465467
+0.7714147416497317,-0.3600981538523418
+1.242423087386121,-1.5879485953698058
+0.5285274840527985,0.14723672969477597
+0.5369427574466248,1.7267065712434762
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+-0.5200396300566205,1.0185113571624143
+0.919196604914919,0.5652604161657775
+1.151073172785002,-0.24365815860704765
+0.1448438101714615,2.050233815224754
+0.802325743256573,-0.6585394401127218
+0.3895812022748029,1.6090250509382504
+0.610546313502653,1.076866812763275
+-0.7802752024617547,-0.31959262762850565
+0.31089890182519403,1.0761158785900393
+0.3804655733535166,1.3508388502940232
+0.3363467595880479,1.7863360568178275
+-0.6603276431008878,-0.2216437450943309
+-0.18869033508074745,0.08109521112038637
+-0.7002415003709077,0.9566225505227612
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+0.5495814409509454,1.2137961952779632
+-0.09965380743127816,1.5569499855976976
+0.7925685872511965,-0.5131280640736158
+0.5645530693789402,1.3657044770502709
+-0.5060121828888304,0.009986730713937797
+0.7605803594749548,1.3296712463480864
+-0.28755039143480665,1.0158962999261838
+0.11966498353639049,1.8094926047465467
+0.6865954959817342,0.674708787033081
+1.242423087386121,-1.5879485953698058
+0.1887445889625457,1.7368023521341176
+-0.8265245379278837,0.48542858512898623
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+-0.26208928989923125,0.14509844518936243
+0.16705500313913949,2.389485448852072
+-0.3653303605838274,0.5371166545175377
+0.1448438101714615,2.050233815224754
+0.802325743256573,-0.6585394401127218
+-0.8076763119942296,0.32840303567687246
+0.5556329052104774,1.511724543696776
+-0.049012916862190725,2.202532398903881
+0.3319728119739508,-0.661475011040713
+1.2961602303960953,-0.7500740390881871
+0.3609279762675382,1.6663228295520098
+-0.6603276431008878,-0.2216437450943309
+-0.18869033508074745,0.08109521112038637
+-0.7002415003709077,0.9566225505227612
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+0.23904017092165342,1.0349773682437986
+0.017035380172740977,0.30536085239665145
+-0.7189651392641999,1.1761178837399264
+-0.711499060625069,0.6180609604154539
+0.12354690906212745,2.354406660614174
+0.7605803594749548,1.3296712463480864
+-0.28755039143480665,1.0158962999261838
+0.11966498353639049,1.8094926047465467
+0.6865954959817342,0.674708787033081
+1.242423087386121,-1.5879485953698058
+0.8065749851694183,-0.5516203011715612
+-0.08364546816987123,1.977223385814415
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+0.30877155367624254,0.15594540674386254
+0.6715303164504761,0.19844285844430232
+0.29315679653483323,0.9825779951381862
+0.1448438101714615,2.050233815224754
+0.45349872388274637,-0.5882866980965333
+0.9032350976863452,0.8525259476112776
+-0.33120995726857466,1.5240106325248302
+-0.061320865175459094,0.40446237609087954
+1.5394280895282157,-0.6197388368275807
+1.2961602303960953,-0.7500740390881871
+0.3609279762675382,1.6663228295520098
+-0.10357041237274349,1.561956471059856
+0.7223075353202381,0.07853453283717055
+-0.7002415003709077,0.9566225505227612
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+-0.8075370009808456,0.3571484750264183
+0.33888555197797066,-0.7090869950155604
+1.1632409222280695,0.029086341004690874
+-0.711499060625069,0.6180609604154539
+0.6138516211334114,0.43507513180782664
+0.7605803594749548,1.3296712463480864
+-0.28755039143480665,1.0158962999261838
+-0.027374481750982227,1.9294570646361933
+-0.49404081624868196,-0.05060545332639754
+1.348211425197416,-1.954958992747892
+1.4916387862021414,-1.1499831734027919
+-0.08364546816987123,1.977223385814415
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+0.30877155367624254,0.15594540674386254
+-0.11493124796742749,1.0944840940410563
+0.29315679653483323,0.9825779951381862
+0.1448438101714615,2.050233815224754
+0.45349872388274637,-0.5882866980965333
+1.5800377580266356,-1.2491275784957083
+-0.33120995726857466,1.5240106325248302
+-0.061320865175459094,0.40446237609087954
+1.5394280895282157,-0.6197388368275807
+1.2961602303960953,-0.7500740390881871
+0.3609279762675382,1.6663228295520098
+0.6143659161667288,1.339018733895423
+0.12443256198032229,1.3105656323218593
+0.8915138362634347,1.676199794617322
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+-0.8075370009808456,0.3571484750264183
+-0.04981157716205209,0.7223388501100099
+0.46719025331916897,-0.2312059444784771
+0.09050548458017982,0.9745652505435156
+0.5715603278717658,0.9127490335882599
+0.7605803594749548,1.3296712463480864
+-0.20393012030285365,2.4599406398694597
+-0.027374481750982227,1.9294570646361933
+-0.29849154887418305,1.9816782885621302
+1.348211425197416,-1.954958992747892
+1.4916387862021414,-1.1499831734027919
+-0.08364546816987123,1.977223385814415
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+0.30877155367624254,0.15594540674386254
+-0.11493124796742749,1.0944840940410563
+0.29315679653483323,0.9825779951381862
+0.1448438101714615,2.050233815224754
+1.1938338888125117,0.1440360053914307
+-0.4480338521591736,0.904293661505978
+0.666959939712901,1.4390198289790426
+0.8346410381009259,0.39151869241943105
+1.4428520223447314,-0.24157984489181095
+1.1927005605842975,0.7889711931964583
+0.3609279762675382,1.6663228295520098
+-0.13446996189702135,2.0441357794442654
+0.12443256198032229,1.3105656323218593
+0.509741970242916,-0.389032652125994
+0.01086637007636948,-0.013059740208104579
+-0.5110857930260454,0.4443509309055964
+-0.8075370009808456,0.3571484750264183
+-0.04981157716205209,0.7223388501100099
+0.46719025331916897,-0.2312059444784771
+0.2788495920518239,1.033531660361003
+1.4922454569651902,-0.585851607672949
+0.7605803594749548,1.3296712463480864
+-0.20393012030285365,2.4599406398694597
+-0.4393207873838739,-0.1169913517933655
+-0.29849154887418305,1.9816782885621302
+1.348211425197416,-1.954958992747892
+1.4916387862021414,-1.1499831734027919
+-0.08364546816987123,1.977223385814415
+1.5922189668369542,-1.3248068965211084
+-1.136525321415806,-0.09397721842045223
+1.0506915367556608,0.11267272687440144
+0.7496929847005389,-0.7713604738890419
+-0.18215280498779352,1.0023272887008665
+0.8883632583182393,-0.3041832263935744
+-0.5784582846667417,0.14104276006088792
+-0.4480338521591736,0.904293661505978
+0.666959939712901,1.4390198289790426
+0.4250373701894733,1.9713196669618864
+-0.11044043457606051,0.3180706487967808
+1.1927005605842975,0.7889711931964583
+0.3609279762675382,1.6663228295520098
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+0.509741970242916,-0.389032652125994
+1.1710804541729667,0.7811206643243781
+-0.5110857930260454,0.4443509309055964
+-0.8075370009808456,0.3571484750264183
+-0.3243141584849304,-0.30017109642389117
+0.46719025331916897,-0.2312059444784771
+-0.42639168630174956,0.6230420417438025
+-0.07636025091611365,-0.02352098195461827
+0.26409777169797005,2.2339993045269266
+-0.5102687720912787,-0.04614378675019182
+0.7138489063389228,-0.4747648695914112
+-0.29849154887418305,1.9816782885621302
+1.348211425197416,-1.954958992747892
+1.3112549883211417,-0.38867162565930824
+-0.7794496368718207,0.7436542789954481
+0.7179132985689429,-0.8037663120930904
+1.1813180338517613,0.2128064570507161
+0.2717257554196131,-0.30032676515353085
+0.7496929847005389,-0.7713604738890419
+-0.18215280498779352,1.0023272887008665
+0.8883632583182393,-0.3041832263935744
+-0.2315438512810211,1.362680873297349
+-0.527805760642217,-0.2092096577915276
+0.666959939712901,1.4390198289790426
+0.4250373701894733,1.9713196669618864
+-0.16094256694129833,0.7633913226458268
+1.1927005605842975,0.7889711931964583
+0.4260037459219853,1.9244150709105317
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+0.509741970242916,-0.389032652125994
+1.1710804541729667,0.7811206643243781
+0.8717582905491835,1.2159985764022108
+-0.020699879040282254,0.6186939067027102
+-0.3243141584849304,-0.30017109642389117
+0.46719025331916897,-0.2312059444784771
+-0.42639168630174956,0.6230420417438025
+0.4221028617127678,1.3193059949531536
+-0.22261550787031886,1.8458115898342315
+1.472994519834086,-0.5801537117358284
+-0.41375771479223555,1.2207477386646304
+-0.29849154887418305,1.9816782885621302
+1.348211425197416,-1.954958992747892
+0.4347552427157545,-0.020609975468280917
+-0.7794496368718207,0.7436542789954481
+0.7179132985689429,-0.8037663120930904
+1.1813180338517613,0.2128064570507161
+0.2717257554196131,-0.30032676515353085
+0.300571254805592,-0.6066773524606829
+1.4880207746305247,-1.7745403500247905
+0.8883632583182393,-0.3041832263935744
+0.5851101409807222,0.39513471772159
+-0.8720500176608195,0.020946188398878116
+0.666959939712901,1.4390198289790426
+-0.5657171253847195,-0.14443902952540472
+-0.2937736664524351,1.0659305546954887
+1.1927005605842975,0.7889711931964583
+0.4260037459219853,1.9244150709105317
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+0.509741970242916,-0.389032652125994
+1.1710804541729667,0.7811206643243781
+0.8717582905491835,1.2159985764022108
+0.6185215273902884,-0.4065281595949899
+-0.3243141584849304,-0.30017109642389117
+0.46719025331916897,-0.2312059444784771
+-0.42639168630174956,0.6230420417438025
+0.4221028617127678,1.3193059949531536
+0.23601386582953232,-0.43574013964478747
+0.181973234563653,-0.2599646075435841
+-0.41375771479223555,1.2207477386646304
+-0.29849154887418305,1.9816782885621302
+1.348211425197416,-1.954958992747892
+0.4347552427157545,-0.020609975468280917
+-0.7794496368718207,0.7436542789954481
+0.8390996556898427,-1.1371941130183059
+1.1813180338517613,0.2128064570507161
+0.2717257554196131,-0.30032676515353085
+1.1306229506017524,-0.1969427960860647
+1.4880207746305247,-1.7745403500247905
+0.8883632583182393,-0.3041832263935744
+0.8477497417893031,0.48362073287329665
+-0.8720500176608195,0.020946188398878116
+0.666959939712901,1.4390198289790426
+-0.5657171253847195,-0.14443902952540472
+-0.2937736664524351,1.0659305546954887
+1.1927005605842975,0.7889711931964583
+1.590043571359757,-1.810043747510181
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+-0.13013836292632697,1.5547228402336257
+1.1710804541729667,0.7811206643243781
+0.5306363186290219,-0.7458278677704882
+1.091152843106359,0.48642318632176407
+-0.3243141584849304,-0.30017109642389117
+0.46719025331916897,-0.2312059444784771
+2.3189238767672933,-4.020030190114723
+-0.21949579386639617,-0.3390154745028251
+0.23601386582953232,-0.43574013964478747
+0.181973234563653,-0.2599646075435841
+-0.41375771479223555,1.2207477386646304
+-0.29849154887418305,1.9816782885621302
+0.9689144799894148,-0.624468794674603
+0.4347552427157545,-0.020609975468280917
+0.9382972405877146,1.0570653218691333
+-0.25468536715638235,2.441523133953132
+-0.36957553964149403,0.2792575766284601
+0.2717257554196131,-0.30032676515353085
+0.30469619297770456,1.1871488537000874
+1.4880207746305247,-1.7745403500247905
+0.8883632583182393,-0.3041832263935744
+0.32727331613901905,1.805606561346485
+-0.8720500176608195,0.020946188398878116
+0.6828808072611056,-0.374677012964746
+-0.5657171253847195,-0.14443902952540472
+0.5473111920547762,0.18149987856238664
+0.00043174530934003696,1.1236747320270282
+0.49540505642337995,0.4854105894973906
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+1.5545509052069173,-0.3100319160790347
+-0.5766174621378474,0.5167222061016175
+0.2953946482928238,0.003412634662583791
+1.091152843106359,0.48642318632176407
+0.8814523711204038,-1.104209290959166
+0.46719025331916897,-0.2312059444784771
+1.0610957160658743,0.4729676366027611
+-0.14379624327465834,0.387743144561697
+0.11290996813777135,-0.1252845227718694
+0.181973234563653,-0.2599646075435841
+-0.41375771479223555,1.2207477386646304
+0.5640912844297077,1.6513924902963808
+0.9689144799894148,-0.624468794674603
+1.1583149997582494,0.07363648496673358
+0.9382972405877146,1.0570653218691333
+-0.7663060406510832,1.3535026316196428
+-0.36957553964149403,0.2792575766284601
+0.2717257554196131,-0.30032676515353085
+1.0841242911868236,-1.0048557888297256
+1.4880207746305247,-1.7745403500247905
+0.2999116594731986,2.032453075813098
+-0.6334343680045866,-0.055971926884967105
+-0.8720500176608195,0.020946188398878116
+0.6828808072611056,-0.374677012964746
+1.6698781136861827,-1.178950287017678
+1.392830084030244,-1.961731851340192
+-0.7022033965729945,1.1727490009419852
+0.49540505642337995,0.4854105894973906
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+-0.783266028270128,1.697147282909762
+-0.5766174621378474,0.5167222061016175
+-0.7377660089701266,0.48412349757293927
+1.091152843106359,0.48642318632176407
+0.8814523711204038,-1.104209290959166
+0.5518658451832108,-0.4663558822485133
+0.6695179669538769,0.9416158225207061
+0.3686565248066751,1.3942945111618337
+-0.9329934454803455,0.3156562233368311
+0.181973234563653,-0.2599646075435841
+-0.41375771479223555,1.2207477386646304
+-0.509804894096402,0.9179763834184195
+0.9689144799894148,-0.624468794674603
+-0.37596694353561383,1.4143502096035512
+0.9382972405877146,1.0570653218691333
+1.0362594727949734,0.5180176286174262
+-0.2860867721071214,0.6900216599527127
+0.2717257554196131,-0.30032676515353085
+1.0841242911868236,-1.0048557888297256
+0.5918182217253397,0.15827478426763109
+1.42982720327451,-1.000371417370115
+0.8589785872446646,-0.5086188352778322
+-0.8720500176608195,0.020946188398878116
+0.7791236188024405,1.684155329151719
+-0.3453091149287994,1.809166132133998
+1.392830084030244,-1.961731851340192
+0.2870755228869936,-0.4236962790763022
+0.49540505642337995,0.4854105894973906
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+0.28544210703579703,2.4657619947785365
+1.5854486257129996,-0.6669647513003358
+-0.7377660089701266,0.48412349757293927
+-0.06151319218385626,0.2783244293241084
+-0.9705095051633528,0.7481051954265239
+0.5518658451832108,-0.4663558822485133
+1.1397836792937857,-1.530662009566325
+0.3686565248066751,1.3942945111618337
+0.6086673077863136,-0.1933411494193873
+0.2302267411484754,-0.0904956761383246
+-0.6599256125266371,1.2242972722558818
+-0.509804894096402,0.9179763834184195
+-0.45429186783836917,1.5628199767901974
+1.0667220380329039,0.7644531500079574
+0.9382972405877146,1.0570653218691333
+1.0362594727949734,0.5180176286174262
+1.0925388694952172,0.9498990291332492
+0.2717257554196131,-0.30032676515353085
+1.0841242911868236,-1.0048557888297256
+1.6345992659996602,-1.1370839854911114
+-0.2688557182899189,0.579439446083407
+0.8589785872446646,-0.5086188352778322
+0.3728627660366252,1.7536129058688237
+1.0519179676713553,0.9005674734033531
+-0.3453091149287994,1.809166132133998
+0.5111771395534086,1.3079378024576578
+0.2870755228869936,-0.4236962790763022
+1.2798968650831528,-1.2526992557830068
+-0.13446996189702135,2.0441357794442654
+-0.6455739025543217,0.07719356444818834
+0.28544210703579703,2.4657619947785365
+-1.025927107556821,0.22414960574336593
+-0.7377660089701266,0.48412349757293927
+1.4165302024547486,-1.024994041388208
+-0.9705095051633528,0.7481051954265239
+1.3729394089046445,-0.41801240558964015
+0.8633719831847326,0.9931195392920283
+0.6404642209200793,1.8059751958494799
+0.45112617984911724,-0.4908274462551007
+1.1391575902111124,0.7565574323513309
+0.5296567263878844,1.5774775221549975
+-0.21842252067271045,0.995757858773747
+-0.45429186783836917,1.5628199767901974
+1.0667220380329039,0.7644531500079574
+0.9382972405877146,1.0570653218691333
+1.0362594727949734,0.5180176286174262
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+1.0841242911868236,-1.0048557888297256
+1.6345992659996602,-1.1370839854911114
+-0.20438162788809838,0.29470047128734056
+0.8589785872446646,-0.5086188352778322
+0.3728627660366252,1.7536129058688237
+1.0519179676713553,0.9005674734033531
+-0.3453091149287994,1.809166132133998
+0.8214143093888432,0.3647374940399728
+-0.018953735992245258,0.30639197642687366
+1.3033865815321155,-0.18545665573613535
+-0.13446996189702135,2.0441357794442654
+0.4223291353840479,0.43126970472154436
+1.201433155415087,-0.5641771943663808
+-1.025927107556821,0.22414960574336593
+-0.7377660089701266,0.48412349757293927
+1.4165302024547486,-1.024994041388208
+0.47252879486334076,0.5202934301325591
+1.3729394089046445,-0.41801240558964015
+0.3593512831273141,0.4115908402540773
+0.6404642209200793,1.8059751958494799
+1.0522196937414234,-0.67647376452962
+1.1391575902111124,0.7565574323513309
+-0.6657025313980299,0.9463668178312856
+-0.629670795455643,0.6043054165808502
+-0.45429186783836917,1.5628199767901974
+1.4277830750211764,-1.8146881427742723
+1.3609297894120322,-1.3104416654590767
+1.0362594727949734,0.5180176286174262
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+-0.40404363914927877,0.8597630295696621
+-0.39396732380212984,2.253841359988296
+-0.20438162788809838,0.29470047128734056
+0.8250342332574323,0.9248561016382473
+0.3728627660366252,1.7536129058688237
+1.0495319404867232,-0.4591735590268805
+-0.3453091149287994,1.809166132133998
+0.8214143093888432,0.3647374940399728
+0.8276604777018473,-0.6111044222230053
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+0.22244048561532423,1.4795013182827967
+-0.09468146206862799,0.25258563677643775
+-1.025927107556821,0.22414960574336593
+1.0257856069259699,-1.1929264168804208
+1.4165302024547486,-1.024994041388208
+0.47252879486334076,0.5202934301325591
+1.3729394089046445,-0.41801240558964015
+0.3593512831273141,0.4115908402540773
+0.6404642209200793,1.8059751958494799
+0.24069161509442066,-0.10324565476250341
+1.1391575902111124,0.7565574323513309
+-0.012623775369619228,1.9908108610507047
+-0.1689849034269666,-0.10107251743620518
+-0.45429186783836917,1.5628199767901974
+1.4277830750211764,-1.8146881427742723
+1.560266930978047,-1.0724681861050902
+1.68184952608451,-1.2972933672798679
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+0.4589122873929885,-0.16333829749511858
+0.8792526961572803,0.12540202993925886
+-0.20438162788809838,0.29470047128734056
+-0.01826919998617854,1.532960736967985
+0.3728627660366252,1.7536129058688237
+1.354185455257093,-1.1584672395148161
+-0.10303731931526106,0.7038137626586938
+1.3783806321662664,-0.9650870675867522
+0.8276604777018473,-0.6111044222230053
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+0.22244048561532423,1.4795013182827967
+1.2538005064425688,-0.780169615068334
+0.8844570394882555,-0.867732134638496
+1.0257856069259699,-1.1929264168804208
+0.6536117334628305,1.7169316655606617
+0.47252879486334076,0.5202934301325591
+-0.08866912352016043,2.1379182521802464
+-0.7187991870953941,1.1462783619810666
+0.6404642209200793,1.8059751958494799
+0.24069161509442066,-0.10324565476250341
+1.1391575902111124,0.7565574323513309
+-0.012623775369619228,1.9908108610507047
+-0.1689849034269666,-0.10107251743620518
+-0.45429186783836917,1.5628199767901974
+0.03758383793584033,-0.14556324797265396
+0.021667632413574736,1.7291064809477985
+1.4475356048213754,-0.01596213254507628
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+0.4589122873929885,-0.16333829749511858
+0.8792526961572803,0.12540202993925886
+0.6243265311424462,1.3184498448428685
+-0.01826919998617854,1.532960736967985
+-0.32502872880184386,2.383950323065615
+1.354185455257093,-1.1584672395148161
+-0.10303731931526106,0.7038137626586938
+-0.7644880007524328,0.6854235021217066
+0.8276604777018473,-0.6111044222230053
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+-0.5151054988020263,0.6251676391196953
+1.2808542587383238,-0.8598896766024323
+0.8844570394882555,-0.867732134638496
+-0.7182371155617235,1.03490711885486
+0.6536117334628305,1.7169316655606617
+0.2751410115142433,0.3017021796456798
+-0.08866912352016043,2.1379182521802464
+-0.7187991870953941,1.1462783619810666
+0.6404642209200793,1.8059751958494799
+-0.7168860252008514,0.7960263850362651
+1.1391575902111124,0.7565574323513309
+-0.09624503089795222,0.05860374112482522
+-0.1689849034269666,-0.10107251743620518
+-0.45429186783836917,1.5628199767901974
+0.03758383793584033,-0.14556324797265396
+0.021667632413574736,1.7291064809477985
+0.979852845596739,1.1452523265969843
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+1.616013851560628,-1.1591049068807024
+1.1116223761915083,0.736884423228254
+0.6243265311424462,1.3184498448428685
+1.2363017077975236,-1.4512725524184702
+-0.39762551439740906,0.6889972528304273
+1.354185455257093,-1.1584672395148161
+1.460410029536884,-1.5246579865346783
+-0.18842001372863953,-0.3750493063066409
+0.6686986429943891,-0.15582368474617847
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+-0.5412500456712609,0.526483547102415
+1.2808542587383238,-0.8598896766024323
+-0.22269597244387684,-0.051827471288905025
+-0.4307779695442077,-0.47173600648216507
+0.6536117334628305,1.7169316655606617
+0.2751410115142433,0.3017021796456798
+-0.08866912352016043,2.1379182521802464
+-0.37768791193848394,0.31609879179546685
+0.6404642209200793,1.8059751958494799
+-0.7552241749836239,0.3309287737820922
+1.1391575902111124,0.7565574323513309
+-0.8094880724336098,1.1374632710404389
+-0.5598910164143176,1.2911537980904888
+1.2882643648796168,-0.8388413332314116
+-0.6136759654503463,0.592279286800463
+0.021667632413574736,1.7291064809477985
+0.30130151171276576,-0.12802312531221605
+1.385017096659596,-1.6514331818474308
+0.2717257554196131,-0.30032676515353085
+0.8460031982860079,0.5731503212658273
+-0.19707958845809098,0.5705436755616649
+0.6243265311424462,1.3184498448428685
+-0.625230679722908,0.8226404657184299
+1.5138886442556772,-0.7991458220569714
+1.354185455257093,-1.1584672395148161
+1.460410029536884,-1.5246579865346783
+0.0947458975294665,-0.18144004176076634
+0.22881841665070712,0.4087417871923118
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+0.14573323521104808,2.1529754131101564
+-0.1997933957966762,0.6596230006452066
+-0.22269597244387684,-0.051827471288905025
+0.8714865430950913,0.49486151237878895
+0.6536117334628305,1.7169316655606617
+0.2751410115142433,0.3017021796456798
+-0.08866912352016043,2.1379182521802464
+-0.37768791193848394,0.31609879179546685
+0.6404642209200793,1.8059751958494799
+-0.7552241749836239,0.3309287737820922
+-0.7272532430726129,0.35588450752144374
+0.43769953934441086,1.4527650096713887
+0.44663569345393317,0.10502145153641829
+1.2882643648796168,-0.8388413332314116
+-0.6136759654503463,0.592279286800463
+0.021667632413574736,1.7291064809477985
+0.9053349539328485,1.121611511999356
+1.385017096659596,-1.6514331818474308
+-0.056146775880333455,-0.18508379233777916
+0.8460031982860079,0.5731503212658273
+-0.4733885965016867,1.4672559151297988
+0.5601214088613837,-0.3140102608676424
+-0.625230679722908,0.8226404657184299
+0.010942222449170425,0.12232250482725163
+-0.12014346950293141,0.30753102538153254
+1.460410029536884,-1.5246579865346783
+0.9801563114749864,0.035955889534547536
+0.15764189081175173,1.3625536860386076
+-0.6610054962042847,0.8799985920864558
+-0.13446996189702135,2.0441357794442654
+-0.21285775592619754,1.7490391469896687
+1.2680204652907359,-0.4595703849869943
+0.726380845543688,-0.5729719547380453
+0.8714865430950913,0.49486151237878895
+0.6536117334628305,1.7169316655606617
+0.2751410115142433,0.3017021796456798
+1.6879895252114736,-1.8980496880292992
+-0.37768791193848394,0.31609879179546685
+0.6404642209200793,1.8059751958494799
+-0.7552241749836239,0.3309287737820922
+1.265395178645548,0.3580264967285419
+0.43769953934441086,1.4527650096713887
+-0.6359739587747574,0.16193102521501224
+1.2882643648796168,-0.8388413332314116
+-0.6136759654503463,0.592279286800463
+0.021667632413574736,1.7291064809477985
+0.1915068827308875,2.143598876482239
+1.385017096659596,-1.6514331818474308
+0.8886000775211613,1.4786749597825226
+0.8460031982860079,0.5731503212658273
+0.8014395484575891,-0.3304527008341131
+0.5601214088613837,-0.3140102608676424
+-0.625230679722908,0.8226404657184299
+0.9547094987680695,-0.9410112839061542
+-0.12014346950293141,0.30753102538153254
+0.5984377519960471,1.4894540433050474
+0.8013958942439071,0.6818351885884888
+0.15764189081175173,1.3625536860386076
+-0.6610054962042847,0.8799985920864558
+-0.031439619790731066,0.7058859143955951
+1.2590720618668083,-0.8566123425838357
+1.2680204652907359,-0.4595703849869943
+-0.5179220657745369,2.004793239010856
+-0.4941455066191496,0.6379337006653789
+0.6536117334628305,1.7169316655606617
+-0.5614552286917474,-0.2566327144709697
+1.6879895252114736,-1.8980496880292992
+0.20553905109323545,2.0672160082453663
+1.628673108736594,-1.509313612553432
+-0.7552241749836239,0.3309287737820922
+1.265395178645548,0.3580264967285419
+-0.26443902213574694,-0.05126242478577664
+0.37007266082952933,-0.08685336274665267
+-0.05604129743328787,1.9037909536183706
+1.407806226161067,-1.6289718361417878
+0.7343171699495931,-0.7402941984158176
+0.1915068827308875,2.143598876482239
+0.30124138420309393,0.7173995212558291
+-1.0012982895911653,-0.3584819106614756
+1.3226984056624047,-1.8024081014567352
+-0.23959518402885233,1.4939184925790188
+0.762922118368357,-0.3226161097396014
+-0.625230679722908,0.8226404657184299
+0.9547094987680695,-0.9410112839061542
+1.0548112803147816,-0.6434027031961072
+-0.09960053458622509,0.27881266517186565
+0.7966535329215321,0.6757334606455457
+-0.3586608476629348,2.081684606995581
+0.49831875869784104,1.9422610875464696
+0.9019372972684039,0.6639230393388218
+-0.01305074193559519,1.8327779085317824
+1.0966889786192877,-0.6479762097590798
+-0.5179220657745369,2.004793239010856
+0.31799877131284854,0.16006345037154734
+0.6536117334628305,1.7169316655606617
+-0.5614552286917474,-0.2566327144709697
+1.6879895252114736,-1.8980496880292992
+0.20553905109323545,2.0672160082453663
+1.628673108736594,-1.509313612553432
+-0.7552241749836239,0.3309287737820922
+1.265395178645548,0.3580264967285419
+1.7786298730282684,-1.5778701496125096
+0.37007266082952933,-0.08685336274665267
+-0.19826729712410218,1.6846072091439939
+0.32775062176213066,2.204299621490223
+0.4406025729136588,-0.11482882716112985
+0.1915068827308875,2.143598876482239
+0.00921283908660836,0.8763942772160929
+-1.0012982895911653,-0.3584819106614756
+-0.5512504952616595,1.4292671819311662
+-0.24902099248491466,1.3473917586783313
+0.762922118368357,-0.3226161097396014
+-0.625230679722908,0.8226404657184299
+-0.49552364775706925,1.437084396645193
+1.0548112803147816,-0.6434027031961072
+-0.09960053458622509,0.27881266517186565
+0.7966535329215321,0.6757334606455457
+-0.3586608476629348,2.081684606995581
+-0.42594663029418606,1.8854799238018811
+1.1549561646173925,-1.1703521399243308
+-0.5666873990403599,-0.022415039128913766
+1.0966889786192877,-0.6479762097590798
+-0.5179220657745369,2.004793239010856
+0.5220909848908231,-0.1896965104926217
+0.7618921522657065,1.5702865719889596
+-0.5614552286917474,-0.2566327144709697
+1.6879895252114736,-1.8980496880292992
+0.20553905109323545,2.0672160082453663
+1.628673108736594,-1.509313612553432
+-0.7552241749836239,0.3309287737820922
+0.45519633712295415,0.7438641794453582
+1.7786298730282684,-1.5778701496125096
+0.37007266082952933,-0.08685336274665267
+-0.19826729712410218,1.6846072091439939
+-0.30703655327534357,0.4206424870673699
+0.04484339759507061,1.8235467931781033
+0.1915068827308875,2.143598876482239
+1.0359224483508735,-1.2721210463390062
+-0.5780668951048592,1.72816354094207
+-0.5512504952616595,1.4292671819311662
+-0.24902099248491466,1.3473917586783313
+-0.04984150537168153,0.6447551097723724
+-0.14480256941533529,1.2855935034188128
+-0.49552364775706925,1.437084396645193
+1.0548112803147816,-0.6434027031961072
+-0.6853668183601235,-0.06919309356936237
+-0.7512626790338519,0.9734628663854044
+0.7341055558383068,1.945163340087982
+-0.1964438960067459,1.5183741898858796
+-0.48231494869568603,-0.017398673034990077
+-0.5666873990403599,-0.022415039128913766
+1.0966889786192877,-0.6479762097590798
+-0.5179220657745369,2.004793239010856
+0.5220909848908231,-0.1896965104926217
+-0.0719486250903773,1.1552686690561509
+-0.3736477526689609,1.6328691834194031
+1.6879895252114736,-1.8980496880292992
+0.4850531029274158,1.6274265594913717
+1.628673108736594,-1.509313612553432
+0.5799292154841881,1.6110542637629466
+-0.6057268580387827,0.7207246362875093
+-0.5698234710784286,1.5705043658474782
+0.37007266082952933,-0.08685336274665267
+0.17700200209205705,1.4092803555703137
+-0.30703655327534357,0.4206424870673699
+0.04484339759507061,1.8235467931781033
+0.1915068827308875,2.143598876482239
+-0.49005500396880836,1.8819636424094397
+-0.5780668951048592,1.72816354094207
+-0.34423230238654046,0.3127266402965746
+0.8843787211170417,-0.39685064121323116
+-0.04984150537168153,0.6447551097723724
+1.2118214425813887,-0.6877858018296902
+-0.49552364775706925,1.437084396645193
+1.0548112803147816,-0.6434027031961072
+-0.6853668183601235,-0.06919309356936237
+-0.42700236451041207,-0.028946096663685472
+0.7341055558383068,1.945163340087982
+0.9870053043711012,1.2231836572380872
+-0.48231494869568603,-0.017398673034990077
+-0.5666873990403599,-0.022415039128913766
+1.0966889786192877,-0.6479762097590798
+-0.30406941685205036,1.3222971738009446
+0.5220909848908231,-0.1896965104926217
+-0.0719486250903773,1.1552686690561509
+-0.424571484813714,2.086574756323016
+1.6879895252114736,-1.8980496880292992
+-1.0085260120309332,0.3479527538381725
+1.628673108736594,-1.509313612553432
+0.5799292154841881,1.6110542637629466
+-0.6057268580387827,0.7207246362875093
+-0.5698234710784286,1.5705043658474782
+0.37007266082952933,-0.08685336274665267
+-0.5292157161147202,1.2715723507543897
+0.14723509369294951,-0.042224049364407046
+1.1894474587342654,-0.6300646663326732
+0.1915068827308875,2.143598876482239
+-0.898395089957416,0.6130789913124359
+-0.5780668951048592,1.72816354094207
+1.1023937311997565,-0.8120569177038153
+0.8843787211170417,-0.39685064121323116
+-0.04984150537168153,0.6447551097723724
+1.2118214425813887,-0.6877858018296902
+0.053938883442391186,1.6574000798010098
+0.15994858277453491,1.6453912511268232
+-0.49779386412032556,0.5729470221641597
+-0.42700236451041207,-0.028946096663685472
+0.20087749080296358,-0.08315996047207971
+0.9870053043711012,1.2231836572380872
+-0.2164090688724274,-0.23294830341259076
+-0.5666873990403599,-0.022415039128913766
+0.8013975160535889,-0.42729203020948314
+0.6364041823764893,-0.22310511989469328
+-0.3919456310048448,0.712749812987912
+-0.8126935621830724,0.9883822287593832
+-0.424571484813714,2.086574756323016
+1.6879895252114736,-1.8980496880292992
+-1.0085260120309332,0.3479527538381725
+-0.557131933623182,1.4909533503538368
+0.5799292154841881,1.6110542637629466
+-0.6057268580387827,0.7207246362875093
+-0.5698234710784286,1.5705043658474782
+0.37007266082952933,-0.08685336274665267
+0.17528608567606413,2.2105423236698907
+0.14723509369294951,-0.042224049364407046
+1.021979531333628,-0.8371428836306876
+1.556057890492565,-1.3769967877597924
+-0.898395089957416,0.6130789913124359
+-0.5780668951048592,1.72816354094207
+-0.35559924949512767,1.7335574127215878
+1.0343251961152258,-0.7605934422038403
+-0.04984150537168153,0.6447551097723724
+1.2118214425813887,-0.6877858018296902
+0.053938883442391186,1.6574000798010098
+0.15994858277453491,1.6453912511268232
+-0.49779386412032556,0.5729470221641597
+-0.42700236451041207,-0.028946096663685472
+0.20087749080296358,-0.08315996047207971
+-0.3314765474817386,-0.007246152469401683
+-0.2164090688724274,-0.23294830341259076
+-0.5666873990403599,-0.022415039128913766
+-0.15368332418169856,1.5324007262234014
+0.6364041823764893,-0.22310511989469328
+-0.3919456310048448,0.712749812987912
+-0.8126935621830724,0.9883822287593832
+-0.424571484813714,2.086574756323016
+1.6879895252114736,-1.8980496880292992
+-0.002374810238768066,-0.18296695681339936
+0.46312905022191797,0.04018027210690467
+0.5799292154841881,1.6110542637629466
+0.8229041449117163,0.7878696082934058
+-0.38835477060330226,0.36791363315508185
+0.3242533195596943,-0.4921501540045311
+-0.2047621812722841,2.4185978713435823
+0.14723509369294951,-0.042224049364407046
+-0.40630504529937783,-0.24132072124435877
+1.556057890492565,-1.3769967877597924
+-0.898395089957416,0.6130789913124359
+-0.5780668951048592,1.72816354094207
+0.02488745057202285,2.3307398100792613
+-0.1284606894375966,0.42812818304015976
+0.2277586123952502,-0.12172582539571583
+1.2118214425813887,-0.6877858018296902
+0.053938883442391186,1.6574000798010098
+1.0923992082515632,0.9120695117627148
+-0.23775471806417267,2.345203571724306
+-0.42700236451041207,-0.028946096663685472
+0.8159034055323103,-0.3179037288053006
+-0.3314765474817386,-0.007246152469401683
+-0.2164090688724274,-0.23294830341259076
+-0.03738717275940667,1.3808119280229139
+-0.31922889203730986,0.5760915435841186
+0.6364041823764893,-0.22310511989469328
+1.0926738809420353,-1.1108746619559908
+-0.8126935621830724,0.9883822287593832
+0.4813976023093312,0.7555421373081652
+1.6879895252114736,-1.8980496880292992
+-0.002374810238768066,-0.18296695681339936
+-0.08227063776043259,0.6767640635666571
+0.5799292154841881,1.6110542637629466
+0.8229041449117163,0.7878696082934058
+-0.38835477060330226,0.36791363315508185
+0.3242533195596943,-0.4921501540045311
+0.6879046716525568,0.36569779840527294
+0.10503159786040703,1.2747684057270323
+-0.40630504529937783,-0.24132072124435877
+1.556057890492565,-1.3769967877597924
+-0.898395089957416,0.6130789913124359
+-0.5780668951048592,1.72816354094207
+0.02488745057202285,2.3307398100792613
+-0.1284606894375966,0.42812818304015976
+0.2277586123952502,-0.12172582539571583
+1.2118214425813887,-0.6877858018296902
+0.053938883442391186,1.6574000798010098
+1.0923992082515632,0.9120695117627148
+1.5008668145064838,-0.8879886719302743
+-0.42700236451041207,-0.028946096663685472
+0.5410226040076752,-0.482542199738645
+0.15369730792669206,1.172452471998945
+0.4174183444993208,0.5107941524918481
+0.5771760450688609,0.31688743456239543
+0.9509018555508137,-0.16962234706046556
+-0.9348866080594933,-0.07421139097311491
+1.0926738809420353,-1.1108746619559908
+-0.8126935621830724,0.9883822287593832
+0.7052039785522718,-0.42985246179785896
+1.365354991310136,-1.238192043966083
+-0.9457216032308872,-0.12365616192568142
+0.7562504061332576,1.2085881191807695
+0.5799292154841881,1.6110542637629466
+0.8229041449117163,0.7878696082934058
+-0.38835477060330226,0.36791363315508185
+1.3079276244069151,-0.39131168382944337
+0.7876248046101848,0.43050044923295444
+1.3256643611122585,0.37272436751354193
+0.708938593136406,-0.5069147924175084
+1.2000103500349453,-0.04476631768989321
+-0.702799028516502,-0.04052205770639661
+-0.5780668951048592,1.72816354094207
+0.02488745057202285,2.3307398100792613
+-0.1284606894375966,0.42812818304015976
+0.24944950061810883,1.477134241524218
+0.7104838189796792,1.631282258411082
+0.053938883442391186,1.6574000798010098
+1.0923992082515632,0.9120695117627148
+1.5008668145064838,-0.8879886719302743
+-0.42700236451041207,-0.028946096663685472
+0.5410226040076752,-0.482542199738645
+-0.579506253947105,-0.150459331173325
+0.6724148348909199,0.04237361230346648
+0.42546774718500646,-0.5097295546856814
+-0.01579156019940256,1.1247786874059107
+-0.21320246300368395,1.8798832331883022
+1.0926738809420353,-1.1108746619559908
+-0.8126935621830724,0.9883822287593832
+-0.19026649736029566,1.1278051666654263
+1.365354991310136,-1.238192043966083
+-0.9457216032308872,-0.12365616192568142
+0.7562504061332576,1.2085881191807695
+0.5799292154841881,1.6110542637629466
+0.18070897236518446,0.6704011177161106
+-0.38835477060330226,0.36791363315508185
+1.3079276244069151,-0.39131168382944337
+0.7876248046101848,0.43050044923295444
+-0.12904445509082355,2.255461233707802
+0.708938593136406,-0.5069147924175084
+1.2000103500349453,-0.04476631768989321
+-0.2795521769017577,1.428125010455924
+-0.015215195244028479,-0.07900883642517745
+0.02488745057202285,2.3307398100792613
+-0.1284606894375966,0.42812818304015976
+0.5345689305038335,-0.3440649218892592
+-0.9860875073363881,-0.42204574415627355
+0.053938883442391186,1.6574000798010098
+1.0923992082515632,0.9120695117627148
+0.25774189557713034,0.11970661638646768
+-0.42700236451041207,-0.028946096663685472
+-0.13094782542924815,0.9210280974006131
+1.2946523414115556,-0.8142293624943335
+-0.05381852009312993,0.06448246120070245
+0.42546774718500646,-0.5097295546856814
+-0.01579156019940256,1.1247786874059107
+-0.21320246300368395,1.8798832331883022
+-0.510288920813571,2.2458843269655873
+-0.5727001601318663,1.8793977527334205
+-0.19026649736029566,1.1278051666654263
+1.365354991310136,-1.238192043966083
+-0.9457216032308872,-0.12365616192568142
+0.7562504061332576,1.2085881191807695
+0.5799292154841881,1.6110542637629466
+0.1875475587967409,-0.2231299968197884
+-0.38835477060330226,0.36791363315508185
+1.0860374562559487,-1.113767531400942
+0.14525167461594735,-0.2692458396437468
+-0.12904445509082355,2.255461233707802
+0.708938593136406,-0.5069147924175084
+1.2000103500349453,-0.04476631768989321
+0.8121323602460411,-1.0604070937179952
+0.5598199912779744,-0.6595947933301797
+0.02488745057202285,2.3307398100792613
+-0.8184980387845773,-0.006665186912546736
+0.5345689305038335,-0.3440649218892592
+0.8203974424748104,-0.7169653942018235
+-0.38010839897027476,0.8878075732792828
+0.45526761548929706,-0.35298749840946636
+-0.2943445582562033,1.899109116055913
+-0.42700236451041207,-0.028946096663685472
+-0.13094782542924815,0.9210280974006131
+0.18179279948573818,0.0646156101227231
+-0.05381852009312993,0.06448246120070245
+0.42546774718500646,-0.5097295546856814
+-0.01579156019940256,1.1247786874059107
+0.4148367788047994,1.8982400348062975
+-0.510288920813571,2.2458843269655873
+-0.5727001601318663,1.8793977527334205
+0.8849587197928178,-0.8385271547993618
+0.7539629227384135,1.401411550774977
+-0.9457216032308872,-0.12365616192568142
+0.7562504061332576,1.2085881191807695
+0.5799292154841881,1.6110542637629466
+0.1875475587967409,-0.2231299968197884
+-0.38835477060330226,0.36791363315508185
+-1.0036411870749864,0.16535076476965965
+0.14525167461594735,-0.2692458396437468
+1.439515647940711,-1.6457276474881222
+-0.7585908324539974,0.09892751809571353
+1.2000103500349453,-0.04476631768989321
+0.8121323602460411,-1.0604070937179952
+-0.222881005948097,0.5164955471743338
+0.02488745057202285,2.3307398100792613
+-0.8184980387845773,-0.006665186912546736
+0.5345689305038335,-0.3440649218892592
+0.8203974424748104,-0.7169653942018235
+-0.38010839897027476,0.8878075732792828
+0.45526761548929706,-0.35298749840946636
+-0.2943445582562033,1.899109116055913
+1.2435457741781708,-0.33837222354129726
+1.1906996337355382,-1.3049298161576264
+1.7101293826224646,-2.5995323759716005
+0.08362669976892581,1.2966423054187652
+-1.4328020283982346,-0.70506102470605
+-0.0729570269949586,1.6392447255954337
+0.7684540061854005,1.7422776581571837
+0.7312535066540424,-1.0060538728794124
+-0.5727001601318663,1.8793977527334205
+0.8849587197928178,-0.8385271547993618
+0.7539629227384135,1.401411550774977
+1.245277241311023,-1.799045401235379
+0.7562504061332576,1.2085881191807695
+0.5799292154841881,1.6110542637629466
+1.4410208917788079,-0.8684123163308591
+0.635516198558913,1.2569991625644492
+-1.0036411870749864,0.16535076476965965
+0.14525167461594735,-0.2692458396437468
+1.439515647940711,-1.6457276474881222
+1.0540084758105144,0.013042589560245545
+1.2000103500349453,-0.04476631768989321
+0.27468345465421784,2.273515747288122
+-0.222881005948097,0.5164955471743338
+1.7386093842489332,-1.4055214733217463
+-0.8184980387845773,-0.006665186912546736
+0.7198458151994126,0.17693877194444751
+-0.13221888284678776,0.30635597654274377
+0.5893588308973563,-0.48608380717559685
+1.3073649518639543,-1.0673168923567693
+-0.2943445582562033,1.899109116055913
+0.5022217980814644,0.9788786737401669
+1.1906996337355382,-1.3049298161576264
+0.26686008312678455,-0.30876851609458766
+-0.2877180147880257,1.602403288577322
+-1.4328020283982346,-0.70506102470605
+-0.07450620101568858,0.43081470309752223
+-0.34263276923099806,2.2437524007793908
+0.7312535066540424,-1.0060538728794124
+1.0227104906021232,-0.36898387428719537
+0.8849587197928178,-0.8385271547993618
+0.7539629227384135,1.401411550774977
+-0.16492022462953737,-0.019336245923159835
+1.7765644901738362,-1.960550858794135
+0.5799292154841881,1.6110542637629466
+1.4410208917788079,-0.8684123163308591
+0.635516198558913,1.2569991625644492
+-1.0036411870749864,0.16535076476965965
+1.012858662267527,-0.31726645902277073
+-0.14098678170011714,0.7081911527834837
+0.6282268535609747,0.04730717793777983
+1.2000103500349453,-0.04476631768989321
+1.2224635051872947,0.05573237712140722
+-0.222881005948097,0.5164955471743338
+1.7386093842489332,-1.4055214733217463
+1.2582364984060328,0.17170615515333493
+-0.2076521105354052,1.746823655916041
+0.26991621215169626,-0.112737094655192
+0.5893588308973563,-0.48608380717559685
+0.5547346387755017,1.340028081920725
+-0.3179996961993261,-0.2246585869788198
+0.5022217980814644,0.9788786737401669
+1.1906996337355382,-1.3049298161576264
+0.26686008312678455,-0.30876851609458766
+-1.0001963188738168,0.5639436501736521
+1.338089289702097,-0.834308866354727
+-0.7872591384155652,0.9098839435064592
+-0.34263276923099806,2.2437524007793908
+0.7312535066540424,-1.0060538728794124
+1.1506912027993748,0.594296662448357
+0.8849587197928178,-0.8385271547993618
+1.2781081891655564,-1.6676011353838938
+-0.16492022462953737,-0.019336245923159835
+1.7765644901738362,-1.960550858794135
+0.5799292154841881,1.6110542637629466
+0.7708165832415529,-0.4030022528671527
+0.635516198558913,1.2569991625644492
+-1.0036411870749864,0.16535076476965965
+1.012858662267527,-0.31726645902277073
+0.8004560164908381,-0.7862080044799663
+1.1720439715449458,-0.7966508821451878
+0.36244096951054555,1.8617832918155874
+-0.36320344815265126,0.6960680491551529
+-0.222881005948097,0.5164955471743338
+1.7386093842489332,-1.4055214733217463
+1.2582364984060328,0.17170615515333493
+-0.2076521105354052,1.746823655916041
+0.26991621215169626,-0.112737094655192
+0.5893588308973563,-0.48608380717559685
+1.3553692532515411,-1.45788811304763
+-0.3179996961993261,-0.2246585869788198
+-0.05048385224480162,1.9272988649163179
+0.22937277902608408,1.4803609671028695
+0.4132109329523918,1.962470125033899
+-0.1092348150583431,1.8976413098253082
+1.338089289702097,-0.834308866354727
+-0.7872591384155652,0.9098839435064592
+-0.9058144737435941,0.7226126618996213
+-0.3645271142663037,-0.03661748487081112
+1.1506912027993748,0.594296662448357
+0.8849587197928178,-0.8385271547993618
+1.2781081891655564,-1.6676011353838938
+0.37826178302986735,1.5755613415341163
+0.2911626581081762,1.133328422151638
+0.36465461720158054,1.8722362226583291
+0.7708165832415529,-0.4030022528671527
+0.635516198558913,1.2569991625644492
+-1.0036411870749864,0.16535076476965965
+0.12030724284702501,0.8625883395887484
+0.8004560164908381,-0.7862080044799663
+1.0154285215428749,-0.3811337317560477
+0.07048310586629042,1.8966641246961116
+-0.36320344815265126,0.6960680491551529
+-0.222881005948097,0.5164955471743338
+0.06579151523037055,1.8484632289416054
+-0.4558765763412158,1.6563010812948704
+-0.2076521105354052,1.746823655916041
+0.26991621215169626,-0.112737094655192
+0.5893588308973563,-0.48608380717559685
+0.27094378281658216,-0.5349476221917797
+-0.3179996961993261,-0.2246585869788198
+0.6009959932587934,0.757110483769715
+1.422699397870286,-1.5556965655236776
+0.4132109329523918,1.962470125033899
+-0.1092348150583431,1.8976413098253082
+-0.1886143628730872,1.65434376390216
+-0.7872591384155652,0.9098839435064592
+0.7078623675211798,-0.39859959766017344
+-0.029213152190969205,0.7994772228418925
+1.1506912027993748,0.594296662448357
+0.8075870530650413,0.7804838831787503
+0.8204511810085835,-0.23169816257654652
+-0.4984962650606961,-0.5081385422407829
+-0.20210115528986528,1.437002064959752
+0.36465461720158054,1.8722362226583291
+-0.18016843313225384,0.13700704380795314
+-0.06341222560153259,0.19469387751489936
+-1.0036411870749864,0.16535076476965965
+0.29209686588294115,1.3123215872856857
+0.9808985140523027,0.042686449633400014
+1.3313606632695532,-1.268016700986244
+1.1608887747962073,-0.7242299843892376
+-0.36320344815265126,0.6960680491551529
+-0.496096305977068,1.1192323880311157
+0.06579151523037055,1.8484632289416054
+-0.4558765763412158,1.6563010812948704
+-0.2076521105354052,1.746823655916041
+0.26991621215169626,-0.112737094655192
+1.411449307200885,-2.1271128472738843
+0.18803564323660726,1.4218395397425945
+-0.3179996961993261,-0.2246585869788198
+-1.243030633744628,-0.15351574312164734
+1.422699397870286,-1.5556965655236776
+-0.23128235362115152,1.6377619273053823
+-0.9520467715045948,0.4063813115806023
+0.11323274858356636,2.3242618579992067
+-0.7872591384155652,0.9098839435064592
+0.36015063472826336,0.748122581719078
+0.31723975678468447,0.40085537119742
+1.1506912027993748,0.594296662448357
+1.6413148318029633,-2.0515909482686245
+0.07387217847524796,0.16957363936402714
+-0.4984962650606961,-0.5081385422407829
+-0.03434864037254845,1.478611012622926
+1.608791515525227,-2.100129451249687
+-0.18016843313225384,0.13700704380795314
+1.0516244619848498,0.1598541903252496
+-1.0036411870749864,0.16535076476965965
+0.29209686588294115,1.3123215872856857
+0.3943626002078947,1.0128777837310692
+-0.6098104217755886,0.7826340373835415
+1.1608887747962073,-0.7242299843892376
+0.6548472030476626,0.17620213672567125
+-0.496096305977068,1.1192323880311157
+1.4241992881534495,0.13643547629599664
+-0.4558765763412158,1.6563010812948704
+-0.2076521105354052,1.746823655916041
+0.8466259877821576,-0.8389088976071173
+1.411449307200885,-2.1271128472738843
+1.0995405929308542,-1.6043070679379032
+-0.3714919104837127,0.32450081925728425
+-1.243030633744628,-0.15351574312164734
+1.422699397870286,-1.5556965655236776
+1.348550665136857,-0.17483648085640674
+0.7357137605299308,-0.0681526476188102
+-0.3823964383838636,0.5649190199283378
+0.2985813329933066,-0.0708160089446094
+0.8499146854073285,-0.09750517722778951
+-0.18055652232566144,-0.04319291264601238
+1.1556812353591153,-0.43003470666773636
+1.6413148318029633,-2.0515909482686245
+1.194731005336828,0.00928579308785471
+0.7330403099696783,0.7200388229111081
+-0.03434864037254845,1.478611012622926
+1.608791515525227,-2.100129451249687
+0.2633693159337933,-0.4134535421551584
+-0.05153077845009346,0.14862489580853383
+1.054611981505734,-0.7813606849940135
+0.8360596453671499,-0.39017888027643305
+0.3943626002078947,1.0128777837310692
+-0.43509618333059863,1.579065464421849
+1.1608887747962073,-0.7242299843892376
+0.34636532733675507,-0.48939108220510263
+-0.496096305977068,1.1192323880311157
+0.7618257667030712,-1.011385359259127
+-0.4558765763412158,1.6563010812948704
+-0.2076521105354052,1.746823655916041
+1.252462809413319,-0.4593740612709425
+1.24253548947969,0.8626610322044908
+1.0995405929308542,-1.6043070679379032
+-0.3714919104837127,0.32450081925728425
+-1.243030633744628,-0.15351574312164734
+1.422699397870286,-1.5556965655236776
+-0.3663882794546741,1.599577199620853
+1.331755348659721,-0.7675618031666891
+-0.3823964383838636,0.5649190199283378
+0.14979441751569045,1.6702750850974457
+0.3751157556021722,-0.14463680255917227
+-0.18055652232566144,-0.04319291264601238
+0.5438658766876032,1.125283544091816
+1.6413148318029633,-2.0515909482686245
+1.194731005336828,0.00928579308785471
+0.7330403099696783,0.7200388229111081
+1.318595706872132,-1.178025072911399
+0.9724534733058836,0.6333531462872863
+0.23783065817771748,1.334376772138424
+-0.0730689342306534,0.17232572005649366
+0.6230651749753484,0.07111828381730753
+0.8360596453671499,-0.39017888027643305
+1.183649049002018,-0.5778285881038592
+-0.43509618333059863,1.579065464421849
+-0.33548519090661266,-0.4011883383986693
+0.34636532733675507,-0.48939108220510263
+0.542374873193271,-0.7848775816097575
+0.17042310152747442,0.029256054422752528
+-0.4558765763412158,1.6563010812948704
+0.31730635261006346,-0.4060028175981324
+0.6098307322359509,0.005673153026088507
+0.9764725463299564,-0.6503628117717813
+-0.1306626323325567,1.6428325420960612
+-0.3714919104837127,0.32450081925728425
+-1.243030633744628,-0.15351574312164734
+1.422699397870286,-1.5556965655236776
+-0.3663882794546741,1.599577199620853
+-0.6133142077473834,1.46127578343512
+-0.3823964383838636,0.5649190199283378
+0.14979441751569045,1.6702750850974457
+0.3751157556021722,-0.14463680255917227
+-0.18055652232566144,-0.04319291264601238
+1.2734925071763201,0.3767654615969307
+0.11898163531576211,0.13950221966458487
+1.194731005336828,0.00928579308785471
+0.3313806474938241,-0.057018320340135986
+1.318595706872132,-1.178025072911399
+0.42646851469586333,0.9734533610209635
+0.23783065817771748,1.334376772138424
+-0.07828189132399344,1.6822895912084674
+0.6230651749753484,0.07111828381730753
+0.4272449129244468,0.5176595676451627
+1.183649049002018,-0.5778285881038592
+1.739000331780394,-2.5239338366333386
+-0.33548519090661266,-0.4011883383986693
+-0.12247962310260385,0.47641431368494425
+-1.1915212435936626,-0.47778726274360617
+0.17042310152747442,0.029256054422752528
+-0.4558765763412158,1.6563010812948704
+0.31730635261006346,-0.4060028175981324
+0.6098307322359509,0.005673153026088507
+0.9764725463299564,-0.6503628117717813
+-0.1306626323325567,1.6428325420960612
+-0.3714919104837127,0.32450081925728425
+-1.243030633744628,-0.15351574312164734
+0.29425213666319416,0.18727832849350132
+-0.3663882794546741,1.599577199620853
+-0.6133142077473834,1.46127578343512
+-0.3823964383838636,0.5649190199283378
+-0.27393794128973076,-0.1474874186068731
+0.02728437106898185,0.046282063163225085
+0.03085518350650146,-0.03255913270540445
+1.2734925071763201,0.3767654615969307
+1.3802976962724527,-0.3497070725360454
+1.194731005336828,0.00928579308785471
+1.5272760164284689,-1.1856260242486687
+1.3836809711314748,-1.46253937910747
+0.42646851469586333,0.9734533610209635
+1.8349167804857685,-1.8588401029188655
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+0.5285909364083036,-0.682252122186528
+1.573827340922096,-1.4977814115959311
+0.33831287828624024,-0.2870951530886193
+-0.33548519090661266,-0.4011883383986693
+-0.12247962310260385,0.47641431368494425
+-1.1915212435936626,-0.47778726274360617
+0.9787518561952958,-0.48225026614495303
+-0.4558765763412158,1.6563010812948704
+0.31730635261006346,-0.4060028175981324
+0.40704855588633426,0.11048882041516317
+-0.2837053001640443,0.24425155757242942
+-0.1306626323325567,1.6428325420960612
+-0.3714919104837127,0.32450081925728425
+-1.243030633744628,-0.15351574312164734
+-0.04876699758602275,0.1553992849141329
+0.9552538884635953,-1.2903653005329563
+0.6896182384719838,-0.5299253798344294
+-0.5670811562318889,0.028890948172459102
+-0.27393794128973076,-0.1474874186068731
+1.0748709592042824,-0.6974494988419997
+-0.26752099435920973,1.177734938399801
+1.2734925071763201,0.3767654615969307
+1.3802976962724527,-0.3497070725360454
+1.194731005336828,0.00928579308785471
+1.5272760164284689,-1.1856260242486687
+1.3836809711314748,-1.46253937910747
+1.6630109461468487,-1.3185675784377566
+-0.35218909315802566,0.7182556912436657
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+1.1379783918610242,0.6159615323052803
+0.3187907131327927,-0.7129875757658897
+-0.38839429035146145,0.9131171025629152
+0.09565571760820601,-0.2384601855917288
+0.28899351196263284,0.49741612642326516
+-0.009384698791653323,0.12321372673917708
+0.9787518561952958,-0.48225026614495303
+-0.4558765763412158,1.6563010812948704
+0.31730635261006346,-0.4060028175981324
+-0.6534364131393252,0.4649961721539737
+-0.2837053001640443,0.24425155757242942
+1.3029810011121457,-1.1528771751957732
+0.8949873250639937,-0.7479134148290546
+-1.243030633744628,-0.15351574312164734
+1.5910048088726043,-0.7276456040854635
+-0.10402406325369097,1.2829588393422482
+-0.4983241249240829,0.9577512866104109
+-0.5670811562318889,0.028890948172459102
+1.132293971801393,-0.14313522121940775
+1.0748709592042824,-0.6974494988419997
+-0.26752099435920973,1.177734938399801
+-0.9053197284412993,0.9068263845440114
+1.3802976962724527,-0.3497070725360454
+-0.22758193858608194,0.038883927586819356
+1.1925529863019761,-0.22909147543528732
+1.3836809711314748,-1.46253937910747
+1.6630109461468487,-1.3185675784377566
+-0.35218909315802566,0.7182556912436657
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+-0.6920934985655969,0.7529453764337921
+-0.2175690584642874,0.7160449882870704
+-0.38839429035146145,0.9131171025629152
+0.014446346540631927,0.29853996833203555
+0.8037653255463826,0.06418811196507401
+-0.009384698791653323,0.12321372673917708
+1.3557835615392413,-1.3796540278295915
+-0.4558765763412158,1.6563010812948704
+0.119805751089604,1.3802512085114536
+0.5409186568981803,0.17780297129835398
+0.41480694081523195,1.2312695437234895
+1.3029810011121457,-1.1528771751957732
+0.8949873250639937,-0.7479134148290546
+-1.243030633744628,-0.15351574312164734
+1.0826055238206658,-0.8284260654331396
+-0.10402406325369097,1.2829588393422482
+-0.4983241249240829,0.9577512866104109
+-0.5670811562318889,0.028890948172459102
+1.849228165269999,-1.5309899691802868
+-0.10251362588877166,0.8295763722690567
+0.3294898289010407,1.3346719471902748
+-0.9053197284412993,0.9068263845440114
+-0.29606574075623304,1.5076782713460997
+-0.22758193858608194,0.038883927586819356
+0.7539928451378577,1.7266695695916745
+1.3836809711314748,-1.46253937910747
+1.6630109461468487,-1.3185675784377566
+0.15121321610202917,-0.364753967382485
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+-0.6920934985655969,0.7529453764337921
+-0.2175690584642874,0.7160449882870704
+-0.5873684464196146,1.5645637407307151
+0.014446346540631927,0.29853996833203555
+0.8037653255463826,0.06418811196507401
+0.46745478061798373,2.0921329095438943
+0.47507839842543836,0.25542303219004425
+-0.4558765763412158,1.6563010812948704
+-0.39276493411113933,1.101018285790954
+0.13610581732724528,1.9622339316669126
+0.2866094319042907,1.4684465084106861
+-0.05812474320065847,2.020504787101614
+0.8949873250639937,-0.7479134148290546
+0.15944298881084573,-0.2008863755154039
+0.6302874642919452,1.6424834062591624
+1.1316974945652192,0.17947115694300067
+0.38607859611004486,-0.10096656698812384
+-0.5670811562318889,0.028890948172459102
+1.1929827075599182,0.4946053432882048
+-0.7031164657083162,0.5461108351181387
+0.7114761913460557,0.12295071734820934
+1.378732163011621,-0.4870969234302456
+-0.29606574075623304,1.5076782713460997
+-0.22758193858608194,0.038883927586819356
+0.7539928451378577,1.7266695695916745
+1.3836809711314748,-1.46253937910747
+0.7358337972876912,-0.9869478230587367
+-0.5255957567923636,1.5952165786581258
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+-0.1441792030378366,0.109943630414824
+-0.8263229762305758,0.40634974949899205
+-0.5873684464196146,1.5645637407307151
+1.021878406072544,0.5284310620643883
+0.9833334372233964,0.19748039385304056
+0.46745478061798373,2.0921329095438943
+0.47507839842543836,0.25542303219004425
+-0.4558765763412158,1.6563010812948704
+-0.39276493411113933,1.101018285790954
+0.13610581732724528,1.9622339316669126
+1.311638411606707,0.3915051606479878
+-0.05812474320065847,2.020504787101614
+0.8949873250639937,-0.7479134148290546
+0.46835008796745337,-0.7382084796124587
+0.6302874642919452,1.6424834062591624
+1.1316974945652192,0.17947115694300067
+0.38607859611004486,-0.10096656698812384
+-0.5670811562318889,0.028890948172459102
+-0.5641264184877705,0.5652354876611613
+-0.7031164657083162,0.5461108351181387
+0.7114761913460557,0.12295071734820934
+1.378732163011621,-0.4870969234302456
+-0.9318590449451732,0.231196331321522
+-0.22758193858608194,0.038883927586819356
+0.7539928451378577,1.7266695695916745
+1.3836809711314748,-1.46253937910747
+0.7358337972876912,-0.9869478230587367
+-0.5255957567923636,1.5952165786581258
+-0.07828189132399344,1.6822895912084674
+0.8532482960866186,1.103220789059565
+-0.1441792030378366,0.109943630414824
+-0.7019561108539066,0.9969737372950103
+-0.5873684464196146,1.5645637407307151
+1.021878406072544,0.5284310620643883
+1.1579833081462314,0.3453181652454755
+0.46745478061798373,2.0921329095438943
+0.20265902885640352,-0.11818875538828044
+-0.4558765763412158,1.6563010812948704
+-0.583010166377037,0.44390383156939733
+0.8754777966226956,1.5634295195517551
+0.5305130762012863,1.2636697688545668
+-0.05812474320065847,2.020504787101614
+0.8949873250639937,-0.7479134148290546
+0.46835008796745337,-0.7382084796124587
+0.8241280129854978,0.2172085218770745
+1.1316974945652192,0.17947115694300067
+-0.7744919413252437,0.11927904661838952
+-0.14593037393408803,0.9924320978602663
+-0.5641264184877705,0.5652354876611613
+-0.7031164657083162,0.5461108351181387
+-0.44369233155328963,0.6148560153939243
+0.3090925183369466,-0.7728598940292155
+0.33494829166658174,-0.24661919103676755
+-0.6501139899943604,-0.2731677034017628
+-0.3047011887968862,1.5919512153943267
+1.3836809711314748,-1.46253937910747
+-0.5374610507437702,1.7985187489104797
+-0.5255957567923636,1.5952165786581258
+-0.07828189132399344,1.6822895912084674
+-0.6110557177333638,0.6612136791046876
+-0.1441792030378366,0.109943630414824
+-0.7019561108539066,0.9969737372950103
+-0.5873684464196146,1.5645637407307151
+-0.46057671771444775,0.2445544734238257
+1.1579833081462314,0.3453181652454755
+0.46745478061798373,2.0921329095438943
+0.20265902885640352,-0.11818875538828044
+-0.4558765763412158,1.6563010812948704
+0.8393947258201868,-0.13310276973757496
+0.9497864302020926,-0.08619839237857163
+0.5305130762012863,1.2636697688545668
+-0.05812474320065847,2.020504787101614
+0.8949873250639937,-0.7479134148290546
+0.8633606914086649,-0.28998855948582203
+2.0100866613323807,-3.2106381913082247
+1.5452047541103042,-1.985733334899018
+1.3040697326895407,-1.6498419713651593
+0.6636127026134542,-0.8610080448016045
+0.008899926989435897,1.6737548391296009
+-0.7031164657083162,0.5461108351181387
+0.691223000815081,0.260424773194154
+0.20092332791643291,-0.15841576065737378
+-0.22831991690112952,-0.11044771968608902
+0.19891868073631258,1.7525566213037325
+-0.3047011887968862,1.5919512153943267
+1.3836809711314748,-1.46253937910747
+-0.3962757823284208,2.1878226588890946
+-0.5255957567923636,1.5952165786581258
+-0.07828189132399344,1.6822895912084674
+-0.6110557177333638,0.6612136791046876
+1.7038390881357994,-1.9702378246285943
+0.28766371683988773,-0.33865074225895553
+1.6564221824441274,-1.03432296774754
+0.8746858196694212,-0.7421755084878979
+1.1579833081462314,0.3453181652454755
+0.46745478061798373,2.0921329095438943
+0.20265902885640352,-0.11818875538828044
+-0.4558765763412158,1.6563010812948704
+-0.37920043031700507,0.6741623145021958
+-0.40390782200338576,0.21395656560322823
+1.5536729092907657,-2.3257062414975844
+-0.05812474320065847,2.020504787101614
+-0.5757042783072338,0.008248453121037058
+0.8633606914086649,-0.28998855948582203
+1.2961764226591614,-1.2132072360502064
+1.5452047541103042,-1.985733334899018
+-0.8795584269261186,0.5191758496404016
+0.6636127026134542,-0.8610080448016045
+0.7205674603028893,1.4595262889377085
+-0.7031164657083162,0.5461108351181387
+0.691223000815081,0.260424773194154
+0.9897875353001451,-1.4801258152041867
+-0.22831991690112952,-0.11044771968608902
+1.0720924143098056,0.22441617582276338
+-0.23797349462511563,2.174488950672813
+1.3836809711314748,-1.46253937910747
+1.4832461178586371,-0.16440390954777329
+-0.5255957567923636,1.5952165786581258
+-0.33934312049408616,1.2445315746466188
+-0.3622979394703635,0.7760690128775787
+1.7038390881357994,-1.9702378246285943
+0.7277175961085885,-0.08653609465818277
+-0.8295994039458239,0.8198667839149298
+0.8746858196694212,-0.7421755084878979
+1.0557442621188649,-0.9247697126012513
+0.46745478061798373,2.0921329095438943
+-0.5182906414656008,1.0116540692441272
+-0.4558765763412158,1.6563010812948704
+-0.37920043031700507,0.6741623145021958
+-0.40390782200338576,0.21395656560322823
+1.5536729092907657,-2.3257062414975844
+-0.05812474320065847,2.020504787101614
+-0.5757042783072338,0.008248453121037058
+0.8633606914086649,-0.28998855948582203
+0.1708723955623842,0.524684420941849
+1.5452047541103042,-1.985733334899018
+1.32674253122146,-0.4464755184359126
+0.6636127026134542,-0.8610080448016045
+0.7205674603028893,1.4595262889377085
+-0.5576531211820371,-0.21975279981592238
+0.691223000815081,0.260424773194154
+-0.382678305104382,1.5155864435663047
+-0.22831991690112952,-0.11044771968608902
+0.9096839897947726,-0.850914711723395
+0.5692257835551793,-0.5191122150904222
+0.48870951538322055,1.293130338182169
+0.8016104609042165,1.2767538909094358
+-0.34504555660214137,0.5841097817412176
+-0.33934312049408616,1.2445315746466188
+0.5132639780604382,1.9997938079543442
+-0.7527205789201297,0.5060331434258842
+-0.25573479824076906,-0.07053126000496326
+-0.8295994039458239,0.8198667839149298
+0.3990738307094435,1.800066795593854
+1.0557442621188649,-0.9247697126012513
+0.46745478061798373,2.0921329095438943
+0.34421956475362553,1.6058808209048523
+-0.4558765763412158,1.6563010812948704
+-0.15240226049617722,1.269466385804919
+-0.40390782200338576,0.21395656560322823
+-0.5117638606896959,0.9031574684994746
+-0.05812474320065847,2.020504787101614
+-0.33970864514430243,1.6719560049374804
+-0.15509371464674143,0.6579833201949068
+1.4144064525220068,0.05088059638957115
+1.5452047541103042,-1.985733334899018
+1.32674253122146,-0.4464755184359126
+-0.2724171021262871,0.8480525247264555
+0.05428770958054063,-0.4048015492142869
+1.194865214439465,0.7410770606127357
+0.691223000815081,0.260424773194154
+-0.382678305104382,1.5155864435663047
+1.2177337555690115,-1.217489517973843
+0.9096839897947726,-0.850914711723395
+0.5692257835551793,-0.5191122150904222
+-0.6252132134561011,0.31501625240932446
+1.411726795290622,-0.9183448218633976
+-0.20972124690327656,0.5524227339522111
+-0.33934312049408616,1.2445315746466188
+0.5132639780604382,1.9997938079543442
+0.18722644746704953,0.28994725954002887
+-0.7729742606146973,0.3785426524484946
+-0.8295994039458239,0.8198667839149298
+0.3990738307094435,1.800066795593854
+1.0557442621188649,-0.9247697126012513
+0.9126539664147434,-1.2591434637087346
+0.34421956475362553,1.6058808209048523
+-0.4558765763412158,1.6563010812948704
+0.9813956254269793,-0.7500483907826628
+0.07220435455705845,-0.20884359423505686
+0.14936495453425574,0.6261998892007451
+0.6149846425399741,1.867833503834195
+-0.33970864514430243,1.6719560049374804
+0.9394549026512646,0.5842821900075488
+1.4144064525220068,0.05088059638957115
+1.5452047541103042,-1.985733334899018
+1.0667647133007403,-1.3162870588268905
+-0.2724171021262871,0.8480525247264555
+0.022911388880640815,-0.10277568154457578
+1.194865214439465,0.7410770606127357
+0.7981244870758875,-1.0223687447879388
+0.44287307674219634,1.5500601860888508
+-0.09818504035212794,1.506087630615429
+0.35804273245497154,2.0026438731044665
+1.5499397140055917,-0.21955857346933683
+-0.6252132134561011,0.31501625240932446
+1.411726795290622,-0.9183448218633976
+1.1565872494065894,0.01527198999248508
+1.4853233291344459,-1.4897248111626407
+0.5132639780604382,1.9997938079543442
+0.11672970973509136,2.156094488289266
+-0.7729742606146973,0.3785426524484946
+-0.8295994039458239,0.8198667839149298
+0.3990738307094435,1.800066795593854
+1.0557442621188649,-0.9247697126012513
+-0.5428770615102971,-0.251575791161712
+0.34421956475362553,1.6058808209048523
+-0.4558765763412158,1.6563010812948704
+0.9813956254269793,-0.7500483907826628
+0.07220435455705845,-0.20884359423505686
+1.1406801678220708,0.5887708963420291
+0.6149846425399741,1.867833503834195
+-0.33970864514430243,1.6719560049374804
+0.30979021401734863,0.35183343939523515
+0.7044761674187033,-0.8670867227795156
+0.1426124597720986,1.8790506746546698
+1.0667647133007403,-1.3162870588268905
+-0.2724171021262871,0.8480525247264555
+1.4849641149872668,-1.0984872587800312
+1.5542393151244789,-1.8578932477029602
+-0.19569157614560717,-0.5424885026779765
+0.44287307674219634,1.5500601860888508
+-0.4114024699518479,-0.1466840430169753
+0.6939744975059847,-0.6488032135982869
+0.98643890852839,-1.5378657723463172
+-0.6252132134561011,0.31501625240932446
+0.05847404496518949,0.5728654597905198
+0.4213077138464103,1.2536021680897145
+1.4853233291344459,-1.4897248111626407
+0.5132639780604382,1.9997938079543442
+0.11672970973509136,2.156094488289266
+-0.7729742606146973,0.3785426524484946
+-0.8295994039458239,0.8198667839149298
+0.3990738307094435,1.800066795593854
+1.472869494366021,-2.3333410956969307
+-0.43740778100551825,0.9536420029189149
+1.2286967352673461,-0.8387819116135486
+-0.4558765763412158,1.6563010812948704
+-0.29917855255162357,-0.1850736175696901
+-0.22077368929142965,0.4263583019849492
+1.1406801678220708,0.5887708963420291
+0.6149846425399741,1.867833503834195
+-0.2549885547388834,-0.11385122039618803
+0.30979021401734863,0.35183343939523515
+0.7044761674187033,-0.8670867227795156
+0.1426124597720986,1.8790506746546698
+1.0667647133007403,-1.3162870588268905
+-0.7661198299441951,0.6728946580326648
+1.4849641149872668,-1.0984872587800312
+-0.6899270797149789,0.6235619733160125
+0.6393715416137399,-1.2102199058745313
+0.923841863490886,0.04668156899968645
+-0.2583736262493441,-0.1845466232805654
+1.239299323727763,-0.5844145803225651
+0.98643890852839,-1.5378657723463172
+-0.6252132134561011,0.31501625240932446
+0.6642189636820321,-1.0440973974167973
+-0.5878783577420148,1.0887175343375328
+0.7606243127446112,1.1984810803360546
+0.8983478098084949,-0.8193946154279723
+0.11672970973509136,2.156094488289266
+0.07517434687056024,-0.41704334257009823
+0.6944184467019929,0.9809371565098584
+0.3990738307094435,1.800066795593854
+0.5101570168433864,1.564704588704412
+-0.43740778100551825,0.9536420029189149
+1.2286967352673461,-0.8387819116135486
+-0.4558765763412158,1.6563010812948704
+-0.29917855255162357,-0.1850736175696901
+-0.22077368929142965,0.4263583019849492
+0.5198878155354151,0.18896733633017193
+0.6149846425399741,1.867833503834195
+-0.2549885547388834,-0.11385122039618803
+0.07495457673972583,0.14107397314859427
+-0.471845126590825,1.2320551636164667
+0.1426124597720986,1.8790506746546698
+0.45095325435329875,-0.6006076016460197
+0.08077507656152685,2.420688661947642
+1.4849641149872668,-1.0984872587800312
+-0.6899270797149789,0.6235619733160125
+-0.6209626306205458,-0.69900045941736
+-0.7885837817809241,0.9893477181778153
+0.12734668372243663,1.4475114692444282
+-0.35451107248684177,1.3249070156579965
+0.98643890852839,-1.5378657723463172
+-0.6252132134561011,0.31501625240932446
+1.3054360989951315,-1.2781729051116657
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+0.8983478098084949,-0.8193946154279723
+0.11672970973509136,2.156094488289266
+0.07517434687056024,-0.41704334257009823
+1.5274629177001702,-0.5234103280889202
+0.3990738307094435,1.800066795593854
+0.5101570168433864,1.564704588704412
+-1.0986190497994095,-0.22993300711090475
+1.2286967352673461,-0.8387819116135486
+-0.4558765763412158,1.6563010812948704
+0.3879330994657516,-0.44174266408027774
+-0.22077368929142965,0.4263583019849492
+0.5198878155354151,0.18896733633017193
+0.6149846425399741,1.867833503834195
+-0.2549885547388834,-0.11385122039618803
+0.07495457673972583,0.14107397314859427
+-0.471845126590825,1.2320551636164667
+-0.10972718573813739,2.2550288945612382
+-0.4956362291074272,0.29839448105276345
+0.08077507656152685,2.420688661947642
+1.0704318049388295,0.6314625634946782
+-0.8069940916149513,0.13468792964822773
+-0.6209626306205458,-0.69900045941736
+-0.7101383569503812,0.2505301649825459
+-0.6735830145014953,-0.21147698772632867
+-0.35451107248684177,1.3249070156579965
+0.18961873580282984,2.202944502350669
+-0.6252132134561011,0.31501625240932446
+0.3829423124376454,0.6119309781572646
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+0.6888695106823287,-0.21056605478427803
+0.11672970973509136,2.156094488289266
+0.07517434687056024,-0.41704334257009823
+1.1689084838591401,-1.6413198144833792
+0.3990738307094435,1.800066795593854
+0.5101570168433864,1.564704588704412
+-1.0986190497994095,-0.22993300711090475
+0.264682368576049,2.0113949256383936
+-0.4558765763412158,1.6563010812948704
+0.3879330994657516,-0.44174266408027774
+-0.22077368929142965,0.4263583019849492
+0.5198878155354151,0.18896733633017193
+-0.15792656343370476,2.2339899614968237
+-0.7295087971440142,0.6810172186310518
+0.07495457673972583,0.14107397314859427
+-0.471845126590825,1.2320551636164667
+-0.10972718573813739,2.2550288945612382
+-0.46398433736901484,0.14648355760559748
+-0.47909165232584205,0.8324449743692963
+-0.5260510136127621,0.03164145114560887
+-0.8069940916149513,0.13468792964822773
+-0.6438670599619984,0.20150582790694965
+0.629071873083151,0.9328054894340003
+-0.6735830145014953,-0.21147698772632867
+-0.35451107248684177,1.3249070156579965
+0.7127342978523612,0.39780695098138374
+0.5741145245498764,0.04001165379535776
+0.2313208033643897,0.9805223658992619
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+-0.658797889856322,-0.48627317039028284
+0.4846652363356345,1.9067470758768277
+-0.2669202609122876,-0.34476101068162124
+0.26266756688482146,1.5784204112062574
+0.3990738307094435,1.800066795593854
+-0.523486117030636,-0.36419818189455155
+-1.0986190497994095,-0.22993300711090475
+-0.8466145043932546,0.4864935201991873
+-0.4558765763412158,1.6563010812948704
+0.3879330994657516,-0.44174266408027774
+0.333523354779425,-0.4861085591989984
+-0.33170337584960496,-0.07057182403865153
+-0.15792656343370476,2.2339899614968237
+-0.7295087971440142,0.6810172186310518
+-0.26072714406308506,0.835219710912907
+-0.26872573581006876,0.5101478749013242
+-0.6949923275201191,1.1985202889083753
+-0.46398433736901484,0.14648355760559748
+-0.47909165232584205,0.8324449743692963
+-0.5260510136127621,0.03164145114560887
+0.19993497513692526,1.9523564827139306
+-0.35432291184017817,1.7618699949056573
+-0.4634825803236568,-0.25557523166289264
+0.3643325668871208,1.7211190767607503
+0.13048604423455568,0.2921800284527417
+0.7127342978523612,0.39780695098138374
+0.6428078940268339,1.4446338310317666
+0.6257632820878011,0.3172909349717862
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+-0.9587657487409915,0.22149247638840427
+-0.4677274572033366,0.26813877876761694
+-0.2669202609122876,-0.34476101068162124
+0.26266756688482146,1.5784204112062574
+0.3990738307094435,1.800066795593854
+-0.2086944876775078,0.881013597307161
+-1.0986190497994095,-0.22993300711090475
+0.042391003317187814,-0.19104074278833916
+-0.4558765763412158,1.6563010812948704
+0.3879330994657516,-0.44174266408027774
+0.4795086946780299,1.6638689407885954
+-0.6993272466943535,1.0403325715578866
+-0.15792656343370476,2.2339899614968237
+0.40306656655547535,-0.28316990949345205
+-0.26072714406308506,0.835219710912907
+-0.00727501717142881,0.9990775720207016
+0.9348829951874448,-0.3358847469560292
+-0.46398433736901484,0.14648355760559748
+-0.47909165232584205,0.8324449743692963
+-0.5260510136127621,0.03164145114560887
+0.19993497513692526,1.9523564827139306
+-0.35432291184017817,1.7618699949056573
+-0.4634825803236568,-0.25557523166289264
+0.3643325668871208,1.7211190767607503
+1.0047120904018452,0.3371627965722278
+0.7127342978523612,0.39780695098138374
+0.6428078940268339,1.4446338310317666
+0.6711930571627546,1.7704387432876905
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+-0.9587657487409915,0.22149247638840427
+-0.6647600937530153,0.9633732101283191
+-0.8251916414660079,1.0065840139956488
+0.26266756688482146,1.5784204112062574
+0.3990738307094435,1.800066795593854
+-0.2086944876775078,0.881013597307161
+0.9535155984398926,0.5359496010729966
+0.042391003317187814,-0.19104074278833916
+-0.4558765763412158,1.6563010812948704
+0.3879330994657516,-0.44174266408027774
+0.4795086946780299,1.6638689407885954
+-0.6993272466943535,1.0403325715578866
+-0.15792656343370476,2.2339899614968237
+-0.6271435311328117,0.2104330292323715
+-0.26072714406308506,0.835219710912907
+-0.23847782546541002,-0.07151373415473677
+1.0225567899077637,1.311990466154266
+-0.20893206306879286,-0.012241734173398772
+-1.0158558057196196,-0.36015685218347715
+1.5392491187905912,-0.38659785728874363
+0.24683353738193645,-0.01710394170158519
+-0.35432291184017817,1.7618699949056573
+-0.4634825803236568,-0.25557523166289264
+-0.8363817259236592,-0.19270194680983943
+1.0047120904018452,0.3371627965722278
+-0.5089728012538379,1.03043133425505
+0.6428078940268339,1.4446338310317666
+0.6711930571627546,1.7704387432876905
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+-0.3953777970844389,1.0769809843792328
+-0.6647600937530153,0.9633732101283191
+1.3046635104624826,-1.7881257526816188
+-0.15466869609129696,0.09240616338926744
+0.3990738307094435,1.800066795593854
+-0.2086944876775078,0.881013597307161
+0.9535155984398926,0.5359496010729966
+0.042391003317187814,-0.19104074278833916
+-0.1889737700669042,0.1342042915801659
+0.3879330994657516,-0.44174266408027774
+0.4795086946780299,1.6638689407885954
+-0.0923570039623841,1.4947793352340684
+-0.15792656343370476,2.2339899614968237
+-0.6271435311328117,0.2104330292323715
+-0.813970779963734,-0.4259010109985125
+-0.23847782546541002,-0.07151373415473677
+-0.45437990238186454,1.8342414561885572
+-0.20893206306879286,-0.012241734173398772
+-1.0158558057196196,-0.36015685218347715
+1.5392491187905912,-0.38659785728874363
+1.2839465351827122,-1.7156572355567192
+0.6541784356798579,-0.4781137032861422
+-1.1402382933219435,-0.14205564956122096
+-0.8363817259236592,-0.19270194680983943
+1.0047120904018452,0.3371627965722278
+-0.5089728012538379,1.03043133425505
+0.6428078940268339,1.4446338310317666
+0.7084902031697193,-0.6280203603724627
+1.4243796775735102,-1.442996478185174
+0.31710751499544065,-0.3623979258203853
+-0.3943008011105113,-0.4573773999295598
+-0.6647600937530153,0.9633732101283191
+1.3046635104624826,-1.7881257526816188
+-0.15466869609129696,0.09240616338926744
+0.3990738307094435,1.800066795593854
+-0.15302388995843386,0.5967024005752449
+0.9535155984398926,0.5359496010729966
+0.042391003317187814,-0.19104074278833916
+-0.1889737700669042,0.1342042915801659
+1.6063200285036916,-0.7714974318869063
+-0.09748519279850038,-0.06887783493693693
+-0.5606196940586533,1.2890310429636118
+-0.15792656343370476,2.2339899614968237
+0.4802265817353262,1.478705716798209
+-0.813970779963734,-0.4259010109985125
+-0.23847782546541002,-0.07151373415473677
+-0.45437990238186454,1.8342414561885572
+-0.20893206306879286,-0.012241734173398772
+-1.0158558057196196,-0.36015685218347715
+1.5392491187905912,-0.38659785728874363
+1.2839465351827122,-1.7156572355567192
+-0.3430239972297233,0.7736540958845096
+1.4453966523658348,-0.26726408552186093
+1.13657962044155,-0.14846388195632754
+1.0047120904018452,0.3371627965722278
+-0.5089728012538379,1.03043133425505
+0.6428078940268339,1.4446338310317666
+0.7084902031697193,-0.6280203603724627
+0.7098208155304121,0.44142774655773953
+-0.9093225458115197,0.39164352121496915
+-0.3943008011105113,-0.4573773999295598
+-0.6647600937530153,0.9633732101283191
+-0.8483711720749372,0.33012833750700743
+-0.4113591384913133,0.32547075468071074
+0.4550981177296013,0.6089244054406073
+-0.5095101433082394,0.9794812739944244
+-1.0391036070769126,0.08579627128766054
+0.042391003317187814,-0.19104074278833916
+0.151890896749373,-0.41394915849867586
+1.6063200285036916,-0.7714974318869063
+-0.09748519279850038,-0.06887783493693693
+1.4079977505487344,-0.6748057322492271
+-0.15792656343370476,2.2339899614968237
+0.4802265817353262,1.478705716798209
+1.4878732371537342,-1.245619142413011
+1.4804121596497275,-0.9723504241296995
+-0.45437990238186454,1.8342414561885572
+-0.20893206306879286,-0.012241734173398772
+-1.0158558057196196,-0.36015685218347715
+0.04405499900436188,-0.036977385659243654
+1.2839465351827122,-1.7156572355567192
+0.2312224152968127,0.698120760314978
+1.4453966523658348,-0.26726408552186093
+0.4745920834536685,-0.026393066322377368
+-0.6487856129664076,0.54961909314238
+-0.5089728012538379,1.03043133425505
+0.6428078940268339,1.4446338310317666
+0.7084902031697193,-0.6280203603724627
+0.7098208155304121,0.44142774655773953
+-0.16192093751441483,0.9878094559070351
+-0.7766059698371737,-0.06753973896018153
+-0.6647600937530153,0.9633732101283191
+-0.16390870720062933,-0.07395612501434716
+-0.4113591384913133,0.32547075468071074
+0.4550981177296013,0.6089244054406073
+-0.5095101433082394,0.9794812739944244
+-1.0391036070769126,0.08579627128766054
+0.042391003317187814,-0.19104074278833916
+0.151890896749373,-0.41394915849867586
+0.08051798787141462,1.0546370177653646
+-0.09748519279850038,-0.06887783493693693
+1.4079977505487344,-0.6748057322492271
+-0.15792656343370476,2.2339899614968237
+0.4802265817353262,1.478705716798209
+1.4878732371537342,-1.245619142413011
+0.5325939384214351,-0.580267827519349
+-0.45437990238186454,1.8342414561885572
+-0.20893206306879286,-0.012241734173398772
+-1.0158558057196196,-0.36015685218347715
+0.04405499900436188,-0.036977385659243654
+0.5030771988426048,1.0518200595328882
+1.5471946154057121,-1.6417211029886944
+1.4453966523658348,-0.26726408552186093
+0.4745920834536685,-0.026393066322377368
+1.0057957541920994,0.8440707540220675
+-0.5089728012538379,1.03043133425505
+0.7246087742762607,-0.3703337560835316
+0.6634925500708032,0.012025408705223284
+-0.418444672060704,0.38054092688218666
+-0.8651495572477684,-1.7375034620169608e-05
+1.4342734593389683,-0.927291603918216
+-0.6647600937530153,0.9633732101283191
+-0.16390870720062933,-0.07395612501434716
+1.0749365424525648,-0.477881788476743
+0.529636463798165,1.415051657275616
+-0.5095101433082394,0.9794812739944244
+-1.0391036070769126,0.08579627128766054
+0.042391003317187814,-0.19104074278833916
+0.151890896749373,-0.41394915849867586
+1.7150227681460821,-1.5008401450687687
+1.1880482127439407,-0.7988448262221519
+-0.7979463592512397,-0.08582839366277062
+-0.15792656343370476,2.2339899614968237
+0.4802265817353262,1.478705716798209
+1.372145055458603,-0.31403504140867966
+-0.15990265080670446,0.6474977951420444
+-0.45437990238186454,1.8342414561885572
+0.45673311087677054,-0.46561048223161083
+-1.0158558057196196,-0.36015685218347715
+-0.7675331880622382,0.6315659717432592
+-0.3096919310770261,1.5572361410434739
+-0.7399845171057966,1.137319213771014
+0.6556513156017187,-0.29908348226411535
+0.4745920834536685,-0.026393066322377368
+1.0057957541920994,0.8440707540220675
+-0.5089728012538379,1.03043133425505
+0.9254097982109226,0.8397662701532447
+0.974188698812576,0.3763043581134954
+-0.418444672060704,0.38054092688218666
+1.4607232407463584,-1.354536395633251
+0.8104827607602787,1.173551459072093
+-0.6647600937530153,0.9633732101283191
+-0.13356180680507787,0.5327186423738675
+-0.5522683202912821,0.03321240906318634
+1.2578224591472764,-1.1598631651483082
+-0.5095101433082394,0.9794812739944244
+1.540945587246552,-1.8290013542438512
+0.042391003317187814,-0.19104074278833916
+0.12493621006633826,0.6369903435493316
+-0.4852053066201117,2.1103305670189387
+1.1397650546585272,-1.1703878149848626
+-0.7979463592512397,-0.08582839366277062
+-0.15792656343370476,2.2339899614968237
+-0.1677540072630604,0.5728895966445218
+1.372145055458603,-0.31403504140867966
+-0.4918805928763509,0.47686181293897045
+-0.45437990238186454,1.8342414561885572
+-0.6304876798591719,0.761141786471931
+1.6991286348147212,-1.3999990695072397
+-0.5610489023370748,0.5065884927191822
+-0.5077256981544337,1.6303409812087866
+-0.7399845171057966,1.137319213771014
+-0.5974579160530358,1.4398578966466369
+0.8422443628959959,-0.5026312028562858
+-0.38687361291362465,0.43118702820730115
+0.08070370914651881,0.1400039461901167
+0.9254097982109226,0.8397662701532447
+-0.6371375700699144,0.8430115495981927
+0.0143187319135019,1.4591032222424336
+1.4607232407463584,-1.354536395633251
+0.8104827607602787,1.173551459072093
+0.40629465035579837,-0.7196823492281152
+0.8430482041796458,1.2843141769183346
+-0.23488601673200044,0.14514101281573577
+1.2578224591472764,-1.1598631651483082
+-0.5095101433082394,0.9794812739944244
+1.540945587246552,-1.8290013542438512
+0.042391003317187814,-0.19104074278833916
+0.2828759517312587,1.0659597676359527
+-0.4852053066201117,2.1103305670189387
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+-0.15792656343370476,2.2339899614968237
+-0.1677540072630604,0.5728895966445218
+1.372145055458603,-0.31403504140867966
+1.3351903866849664,-0.8033170270671047
+-0.5345830701018339,0.38031306072242343
+-0.6304876798591719,0.761141786471931
+1.1687104099878334,-0.3820325118387222
+0.7717851108072533,1.2517517816170822
+-0.5077256981544337,1.6303409812087866
+-0.7399845171057966,1.137319213771014
+1.0873440176586189,-1.360553542244313
+-0.8698525395339693,-0.07272590427443766
+-0.38687361291362465,0.43118702820730115
+0.7769950795034195,-0.795510777677288
+0.9254097982109226,0.8397662701532447
+0.012359662728215037,-0.32523457621404817
+1.45883785734306,-1.3591828547266176
+-0.6395310865190947,1.2229377376121742
+0.8104827607602787,1.173551459072093
+0.40629465035579837,-0.7196823492281152
+0.8430482041796458,1.2843141769183346
+0.05802248424756096,1.8980563868332836
+1.2578224591472764,-1.1598631651483082
+-0.5095101433082394,0.9794812739944244
+1.540945587246552,-1.8290013542438512
+0.44164113973260943,-0.4601679227169009
+0.2828759517312587,1.0659597676359527
+1.3500618859767568,-0.06617575793049868
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+-0.007462890475764816,0.9580421389426187
+-0.1677540072630604,0.5728895966445218
+1.372145055458603,-0.31403504140867966
+0.9551692557507929,-0.7449125759312434
+-0.5345830701018339,0.38031306072242343
+-0.6304876798591719,0.761141786471931
+1.1687104099878334,-0.3820325118387222
+0.7717851108072533,1.2517517816170822
+-0.5077256981544337,1.6303409812087866
+-0.7399845171057966,1.137319213771014
+1.0422986183428526,0.21314445793244918
+-0.8698525395339693,-0.07272590427443766
+1.0206218739943846,-0.5271825703198489
+1.5505633873132227,-1.2933177640648537
+0.9254097982109226,0.8397662701532447
+1.2513802745983695,-1.0126921583495896
+1.8208850314969813,-2.409598927083083
+-0.441394375440495,1.8446861397545447
+0.8104827607602787,1.173551459072093
+-0.21589295458147423,1.4085582833810986
+0.8430482041796458,1.2843141769183346
+0.05802248424756096,1.8980563868332836
+1.2578224591472764,-1.1598631651483082
+1.095574575171249,-0.09526434292243513
+1.540945587246552,-1.8290013542438512
+-0.6749032772394734,-0.4523397324331202
+0.6947376602124334,0.45599271087892956
+1.3500618859767568,-0.06617575793049868
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+0.5238042186204035,-0.027220517360686036
+-0.1677540072630604,0.5728895966445218
+0.8755832630330652,-0.6523017488532629
+0.7973879615911569,0.18909417174226328
+-0.5345830701018339,0.38031306072242343
+-0.3854021664618691,-0.005382651592998555
+0.8332309025927007,1.4810891259227874
+0.7717851108072533,1.2517517816170822
+1.5178704527626814,-1.7157460237437892
+0.8901860182358576,1.4690764792896736
+0.3817599892178357,1.9872029521604904
+-0.8698525395339693,-0.07272590427443766
+0.3143840918060805,1.0954745014290543
+0.20111544130900588,-0.26201294048755686
+0.48974034394234245,2.132210455826556
+-0.8913880123425606,0.417306948148924
+1.8208850314969813,-2.409598927083083
+-0.441394375440495,1.8446861397545447
+0.8104827607602787,1.173551459072093
+0.9041056289940604,0.5303210872902133
+-0.8305984531165621,0.1197272335613852
+0.43260849207729607,-0.11186201430389953
+0.198663611383005,0.02511655558339554
+-0.542814042172567,1.6887030101151133
+-0.23483888231654912,1.5579001165197872
+-0.6749032772394734,-0.4523397324331202
+-0.4548456944180962,0.7411968036580203
+0.5980176638800828,-0.42669471266804077
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+0.5238042186204035,-0.027220517360686036
+-0.1677540072630604,0.5728895966445218
+0.8755832630330652,-0.6523017488532629
+0.7973879615911569,0.18909417174226328
+-0.5345830701018339,0.38031306072242343
+-0.739179308306271,0.42222847755771314
+0.8332309025927007,1.4810891259227874
+1.170659787279276,-0.7969273249194765
+1.5178704527626814,-1.7157460237437892
+0.8901860182358576,1.4690764792896736
+-0.3509587137663055,0.5397509249611434
+-0.8698525395339693,-0.07272590427443766
+1.1612155346160953,-1.4524159880416139
+0.9182576974761987,-0.6939601139962404
+0.48974034394234245,2.132210455826556
+-0.8913880123425606,0.417306948148924
+1.8208850314969813,-2.409598927083083
+-0.441394375440495,1.8446861397545447
+0.39894787731306514,1.2792082492484813
+0.9041056289940604,0.5303210872902133
+-0.8305984531165621,0.1197272335613852
+-0.43411504114841315,1.0530387487865855
+0.198663611383005,0.02511655558339554
+-0.542814042172567,1.6887030101151133
+0.00711292051988166,0.3968000472865904
+0.10882362200697787,1.049599994423121
+-0.4548456944180962,0.7411968036580203
+0.5980176638800828,-0.42669471266804077
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+0.5238042186204035,-0.027220517360686036
+-0.1677540072630604,0.5728895966445218
+0.07901147620155506,0.8456652281660513
+-0.28349462905158657,1.1560021775306273
+0.5843215995756312,0.6183496551979941
+1.3787233361177091,-0.016941014183954328
+0.7328119559498943,-0.45701605058708716
+0.9796199969528747,-0.41136919980540976
+1.611045832089315,-1.8367424972556448
+0.8901860182358576,1.4690764792896736
+-0.3509587137663055,0.5397509249611434
+-0.8698525395339693,-0.07272590427443766
+1.1612155346160953,-1.4524159880416139
+0.754235913164502,-0.0314022578934679
+0.48974034394234245,2.132210455826556
+-0.8913880123425606,0.417306948148924
+1.8208850314969813,-2.409598927083083
+-0.441394375440495,1.8446861397545447
+-0.2681572630684024,0.11111407314632905
+0.9041056289940604,0.5303210872902133
+0.6294791183488833,1.0041886787632772
+1.6232451512266657,-1.1665642434594243
+0.198663611383005,0.02511655558339554
+-0.17381107281654035,1.3078190299526766
+0.00711292051988166,0.3968000472865904
+1.0245371268287278,-0.3348620621381837
+-0.4548456944180962,0.7411968036580203
+0.5980176638800828,-0.42669471266804077
+1.1397650546585272,-1.1703878149848626
+-0.5132114971671871,0.15806736444174113
+0.5238042186204035,-0.027220517360686036
+-0.6360383246758765,1.3010410542013844
+-0.09665376001108072,1.503557467387433
+0.5528002734993434,0.013614889954422171
+1.2686752550920928,0.5588386730331548
+1.3787233361177091,-0.016941014183954328
+0.13314372836108423,0.4685091167470413
+0.17244888309718986,0.7804451292594629
+1.611045832089315,-1.8367424972556448
+0.8901860182358576,1.4690764792896736
+-0.3509587137663055,0.5397509249611434
+-0.8698525395339693,-0.07272590427443766
+0.6011786602593875,1.5814637984937425
+1.240342533291465,-0.11564611735988164
+0.48974034394234245,2.132210455826556
+0.13641932540605645,1.0339402581413812
+1.8208850314969813,-2.409598927083083
+1.5531188740205084,-1.3529326205330576
+-0.2681572630684024,0.11111407314632905
+0.9041056289940604,0.5303210872902133
+0.6294791183488833,1.0041886787632772
+1.6232451512266657,-1.1665642434594243
+0.198663611383005,0.02511655558339554
+-0.3759029883742874,0.2448398303913312
+0.9360973230731985,-0.19965528014931927
+1.0245371268287278,-0.3348620621381837
+-0.7286498064445847,0.6821373444485765
+0.5980176638800828,-0.42669471266804077
+-0.2515262468481148,-0.3867265128787068
+-0.5132114971671871,0.15806736444174113
+-0.6711040297504144,1.068252208781043
+0.8629421136221204,-0.6993907378982605
+-0.09665376001108072,1.503557467387433
+-0.1989459203646342,1.5644763424217367
+-0.21215578189557374,1.0433695420540743
+-0.5625650149940262,-0.24842075048992163
+0.09292269116227223,0.9118109933491851
+-0.4965896846761327,2.1839066616414096
+1.611045832089315,-1.8367424972556448
+0.8248374794865363,0.6674807423724256
+0.769305529039561,0.8683758094948966
+-0.8698525395339693,-0.07272590427443766
+0.6011786602593875,1.5814637984937425
+1.240342533291465,-0.11564611735988164
+0.48974034394234245,2.132210455826556
+0.13641932540605645,1.0339402581413812
+1.8208850314969813,-2.409598927083083
+1.2115146308777605,0.21600742053507122
+-0.2681572630684024,0.11111407314632905
+0.19675167309361685,0.4219766825493653
+-0.48415154088313694,1.3930158847354732
+1.6232451512266657,-1.1665642434594243
+1.4805976566489607,-1.5872900389740554
+1.4725448937663725,-0.4049516126108841
+1.5067423874257375,-1.2247319528521732
+1.3194150108773774,-0.5036595011505847
+-0.7195022687131276,0.6658124514085464
+0.5980176638800828,-0.42669471266804077
+0.9109629657362166,-0.8200133854764833
+-0.5132114971671871,0.15806736444174113
+-0.6711040297504144,1.068252208781043
+-0.4189858891802561,0.08069766960255365
+0.8919171429443667,-0.5548662650993212
+-0.1989459203646342,1.5644763424217367
+-0.6422552479114564,1.9702117649072093
+1.4752936754467856,-1.5362387362347771
+0.09292269116227223,0.9118109933491851
+1.5088861784215513,-1.2930247498167573
+0.846481148970009,0.8098818414392489
+0.5545769565978778,1.352018774009567
+0.769305529039561,0.8683758094948966
+-0.8698525395339693,-0.07272590427443766
+0.6011786602593875,1.5814637984937425
+-0.07754380318927212,0.18846616825132484
+0.5876705695410813,1.5002495836417817
+-0.2932140414019141,1.2247096297474704
+-0.6292978557093248,1.5049728211143663
+-0.2390590892569292,-0.017365649446612764
+-0.2681572630684024,0.11111407314632905
+0.19675167309361685,0.4219766825493653
+-0.48415154088313694,1.3930158847354732
+1.6232451512266657,-1.1665642434594243
+-0.39929903550788015,0.318245048772811
+0.46389673521922825,0.00994661846367606
+-0.16913646690404271,1.6607455735494685
+1.3194150108773774,-0.5036595011505847
+1.630103156766126,-1.7601755701667883
+0.5980176638800828,-0.42669471266804077
+0.9109629657362166,-0.8200133854764833
+0.6872541793371152,-0.36355800032307434
+-0.6711040297504144,1.068252208781043
+-0.4189858891802561,0.08069766960255365
+0.6833475769383259,-1.0399781887929223
+-0.1989459203646342,1.5644763424217367
+-0.6422552479114564,1.9702117649072093
+1.4752936754467856,-1.5362387362347771
+0.478074985660273,1.8816913015797085
+1.5088861784215513,-1.2930247498167573
+-0.28722836828524156,0.27001266995903367
+0.015824466034106144,1.5075127222168834
+0.769305529039561,0.8683758094948966
+-0.5172186020142304,-0.2560325396369758
+0.6011786602593875,1.5814637984937425
+-0.07754380318927212,0.18846616825132484
+0.32296453436224243,2.078882486199162
+-0.21564733891037646,1.862042965116866
+-0.6292978557093248,1.5049728211143663
+0.004328846515930906,2.09134197506176
+-0.2681572630684024,0.11111407314632905
+0.4614225409624835,1.789240503275698
+-0.48415154088313694,1.3930158847354732
+0.1361975688364429,1.6541096547492775
+-0.39929903550788015,0.318245048772811
+0.46389673521922825,0.00994661846367606
+0.1391917177691629,1.7429397302168554
+0.8598679154363267,-0.3372097370218854
+-0.06545280346808907,0.591241579483473
+0.5980176638800828,-0.42669471266804077
+0.6824858403521702,-0.5023430952647088
+0.6872541793371152,-0.36355800032307434
+-0.6711040297504144,1.068252208781043
+-0.7281986361396089,0.7306544472565732
+0.6833475769383259,-1.0399781887929223
+-0.1989459203646342,1.5644763424217367
+-0.3004192641348772,1.3056826622177022
+1.4752936754467856,-1.5362387362347771
+-0.7653544600672385,-0.3521063136741687
+1.5088861784215513,-1.2930247498167573
+1.0693868081450735,-0.03882250374805074
+0.41699889413034164,0.4152599335128347
+0.769305529039561,0.8683758094948966
+-0.7201511037026225,1.4893464205430589
+0.6011786602593875,1.5814637984937425
+-0.07754380318927212,0.18846616825132484
+0.32296453436224243,2.078882486199162
+-0.21564733891037646,1.862042965116866
+-0.6292978557093248,1.5049728211143663
+0.004328846515930906,2.09134197506176
+-0.2681572630684024,0.11111407314632905
+0.4614225409624835,1.789240503275698
+-0.1740994872810404,2.121754210716446
+-0.6869631508345171,1.4723805647887749
+-0.39929903550788015,0.318245048772811
+0.7301873670890959,0.3104119059108838
+-0.03939109448670608,2.321394795864097
+0.8598679154363267,-0.3372097370218854
+-0.23699023442904976,2.074706369846509
+-0.771629923037905,0.9772884975844256
+0.7856619908481188,1.355814162859699
+0.6872541793371152,-0.36355800032307434
+0.2730127917135545,1.8003438098814786
+-0.29963892631906774,0.30824359006254043
+0.6833475769383259,-1.0399781887929223
+-0.1989459203646342,1.5644763424217367
+1.1211072753362692,-0.7573167429941635
+1.4752936754467856,-1.5362387362347771
+-0.7653544600672385,-0.3521063136741687
+1.5088861784215513,-1.2930247498167573
+1.284695900707864,-1.1150150438258182
+1.4879534416223097,-0.7347172894400703
+0.769305529039561,0.8683758094948966
+-0.7201511037026225,1.4893464205430589
+0.6011786602593875,1.5814637984937425
+-0.07754380318927212,0.18846616825132484
+1.7076794712628725,-1.9051577367624632
+-0.1895139536438628,0.12198505440413498
+-0.6292978557093248,1.5049728211143663
+1.235701276559453,-0.16425095126622058
+-0.8679801021566569,0.8662266254103925
+0.4614225409624835,1.789240503275698
+-0.1740994872810404,2.121754210716446
+-0.848101961301301,1.3617619529383698
+-0.6178953661385994,1.7384918548349668
+0.012569112682233152,1.8928959785700388
+1.7478654850071256,-2.3874986401375153
+0.8598679154363267,-0.3372097370218854
+-0.23699023442904976,2.074706369846509
+-0.771629923037905,0.9772884975844256
+0.7856619908481188,1.355814162859699
+1.596130480163475,-2.1326077769339147
+0.5765254571464801,-0.3364305011049853
+-0.29963892631906774,0.30824359006254043
+1.2718616582958413,-0.22806373469118835
+-0.1989459203646342,1.5644763424217367
+0.07253764540695828,1.6127518068444016
+1.4752936754467856,-1.5362387362347771
+-0.7653544600672385,-0.3521063136741687
+0.36760875391288633,-0.293647619570215
+0.10820621014065057,0.11928500955504695
+0.8474938262364154,-0.48610141323656875
+0.3693372039435698,0.2832138478974635
+1.8738550787104316,-2.7585459900581895
+0.6011786602593875,1.5814637984937425
+0.12403436562882719,2.058350860908136
+-0.5314094806391543,1.5967284942823923
+-0.6963836362900835,0.9168550108911603
+0.5977170614133925,-0.4745111452179862
+1.235701276559453,-0.16425095126622058
+-0.8679801021566569,0.8662266254103925
+-0.02856625238407756,0.16042243593001784
+-0.1740994872810404,2.121754210716446
+-0.848101961301301,1.3617619529383698
+-0.04787678642778492,-0.24307118716589715
+0.012569112682233152,1.8928959785700388
+1.7478654850071256,-2.3874986401375153
+0.10823202920757186,-0.01687155623250919
+-0.23699023442904976,2.074706369846509
+-0.771629923037905,0.9772884975844256
+0.7856619908481188,1.355814162859699
+1.596130480163475,-2.1326077769339147
+0.5765254571464801,-0.3364305011049853
+-0.29963892631906774,0.30824359006254043
+-0.6074851348477064,1.5038805328356033
+-0.1989459203646342,1.5644763424217367
+1.5344775532936936,-1.5796722408385722
+1.4752936754467856,-1.5362387362347771
+-0.7653544600672385,-0.3521063136741687
+0.6513655278153015,-0.32290995471918427
+0.10820621014065057,0.11928500955504695
+0.8474938262364154,-0.48610141323656875
+0.3693372039435698,0.2832138478974635
+0.06344674512530102,-0.3452004844966048
+1.3660481222541168,0.1574452618404868
+-0.4556973819681305,1.0689753143231786
+0.36247617619689304,0.14464032594019943
+0.9577567189699914,0.8031792774831145
+1.2586183850273762,0.2195835567898219
+1.235701276559453,-0.16425095126622058
+1.5242835078170418,-1.7053734607798836
+0.23785512790500077,-0.0006934060540908817
+1.775478171733375,-3.0323558355615874
+-0.5528233768389834,0.7132400161410578
+-0.04787678642778492,-0.24307118716589715
+0.012569112682233152,1.8928959785700388
+0.7733754007699801,-0.8050525163978471
+-0.32723632850163253,1.735928615646137
+0.26712093464952086,0.04855498031100415
+-0.3368297636156261,0.26844868927425036
+0.7856619908481188,1.355814162859699
+1.596130480163475,-2.1326077769339147
+0.5765254571464801,-0.3364305011049853
+1.394988835401801,-0.7815594167582955
+0.7607369684354911,1.1508966299111147
+-0.9484636185668951,0.7078758152566409
+1.5344775532936936,-1.5796722408385722
+0.0071075151777172385,1.5725249645520463
+1.5932180486587544,-0.7219877135317463
+0.6513655278153015,-0.32290995471918427
+0.10820621014065057,0.11928500955504695
+-0.6783331982817921,0.10229428986005373
+0.3152340482488998,-0.48078753385419215
+-0.5849616370951936,0.4355763840465402
+1.446711188465898,-0.6688144763192871
+-0.4556973819681305,1.0689753143231786
+-0.6554663413767396,1.0917457693977477
+-0.8060206006345343,0.78047886245266
+1.2586183850273762,0.2195835567898219
+1.235701276559453,-0.16425095126622058
+-0.009558454885570448,1.7523046488768121
+0.23785512790500077,-0.0006934060540908817
+1.775478171733375,-3.0323558355615874
+-0.2039484172152907,1.6224334687172635
+-0.20653832519029316,2.055830949339578
+0.5587782766332416,0.13780266129266325
+0.7733754007699801,-0.8050525163978471
+-0.32723632850163253,1.735928615646137
+0.5239013301975746,1.1842941021661897
+1.0668361086538012,0.5642764066587049
+0.7856619908481188,1.355814162859699
+1.606222991447206,-1.2301734571075111
+0.9783896219728125,0.01483949537060325
+-0.4607909668681044,1.4040555723135157
+0.24392525510606744,1.667329904381455
+1.5949602922952095,-0.9967023894380591
+1.5344775532936936,-1.5796722408385722
+-0.6934436703018675,0.3366198646923896
+0.7297760007659222,-0.12768416434953714
+0.6513655278153015,-0.32290995471918427
+0.10820621014065057,0.11928500955504695
+-0.6783331982817921,0.10229428986005373
+0.3152340482488998,-0.48078753385419215
+-0.5849616370951936,0.4355763840465402
+-0.035145325350629655,2.301209297373837
+0.40183027129087245,1.935236775722271
+-0.6554663413767396,1.0917457693977477
+0.941906744669736,1.062397215371869
+1.2586183850273762,0.2195835567898219
+0.09591752899900526,1.4826182742459888
+-0.15516261554685973,2.119868670896825
+0.5112465621192837,-0.26160312686988285
+1.775478171733375,-3.0323558355615874
+0.09383702584425378,2.251727191214885
+-0.20653832519029316,2.055830949339578
+0.5587782766332416,0.13780266129266325
+1.02055443763368,-1.4533516940485678
+0.7927890789345351,0.9793849714301195
+0.5239013301975746,1.1842941021661897
+1.318276543147908,-0.717533476760378
+0.7856619908481188,1.355814162859699
+1.606222991447206,-1.2301734571075111
+0.9783896219728125,0.01483949537060325
+-0.013312120876164624,1.9732268231275591
+0.24392525510606744,1.667329904381455
+0.055079968376442634,0.10639639346305574
+1.5344775532936936,-1.5796722408385722
+-0.06498299039182887,0.18991551720426414
+0.3631637767382192,0.3241663116433198
+-0.6637805565297221,1.2671150630190056
+0.10820621014065057,0.11928500955504695
+-0.6783331982817921,0.10229428986005373
+-1.0785507371078706,0.9519082820198472
+-0.5849616370951936,0.4355763840465402
+1.7584346103262825,-1.8220214365304441
+1.352723018885526,-1.2019126225917467
+-0.24855620046832794,1.1505916360281505
+0.941906744669736,1.062397215371869
+1.2586183850273762,0.2195835567898219
+-0.016820862538537595,0.06509145809253791
+-0.15516261554685973,2.119868670896825
+0.5112465621192837,-0.26160312686988285
+1.8626761909174134,-1.7836978578058018
+0.09383702584425378,2.251727191214885
+-0.3468183774710674,0.849451577653332
+-0.7255687479043382,0.18803627668348433
+1.2504923083308546,-0.05263496342657015
+-0.4704504098619544,2.1231677316520337
+0.5239013301975746,1.1842941021661897
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+0.8299622357773778,0.5972648043437465
+0.9783896219728125,0.01483949537060325
+-0.013312120876164624,1.9732268231275591
+0.6559583924331602,1.6766858226479382
+0.055079968376442634,0.10639639346305574
+0.6481524091644687,-0.27537014033182555
+-0.06498299039182887,0.18991551720426414
+1.1880687213750751,0.7196821598877788
+-0.6637805565297221,1.2671150630190056
+0.04005223784205114,1.0548124964811025
+-0.6187126791697293,0.6770837971114492
+-0.49502091557595845,1.7005065451945587
+0.8822661812593999,0.9552280621718634
+-0.12479116549825406,1.3273835140036483
+1.352723018885526,-1.2019126225917467
+-0.6269587041840223,-0.5353527390985107
+0.20872120593071564,1.2024039026502642
+1.2586183850273762,0.2195835567898219
+-0.016820862538537595,0.06509145809253791
+-0.1078145957265405,1.4533205720983828
+0.5112465621192837,-0.26160312686988285
+1.4655224383415024,-0.011510818563483544
+0.09383702584425378,2.251727191214885
+-0.3468183774710674,0.849451577653332
+-0.7255687479043382,0.18803627668348433
+-0.8673646633389034,-0.3371912566867542
+0.3675941447180763,2.078364482002739
+-0.32345807656951014,1.3397559753752197
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+0.8299622357773778,0.5972648043437465
+0.9783896219728125,0.01483949537060325
+-0.7469323303652122,0.7028499212897474
+0.6559583924331602,1.6766858226479382
+-0.3752646279217855,1.59223114048207
+0.6481524091644687,-0.27537014033182555
+-0.06498299039182887,0.18991551720426414
+1.1880687213750751,0.7196821598877788
+-0.6637805565297221,1.2671150630190056
+-0.25419064176865647,0.00510170093758322
+-0.6187126791697293,0.6770837971114492
+-0.49502091557595845,1.7005065451945587
+0.534067832733304,1.5594045464375257
+-0.17718853720407668,0.8070523030408963
+1.352723018885526,-1.2019126225917467
+0.8794346470694127,0.5642443385224507
+0.3084508006369237,1.917672319852015
+0.8312330778909947,0.02535845929554445
+-0.2491244449556727,1.4110820530536
+-1.0237568572948301,-0.12931154731294042
+0.5112465621192837,-0.26160312686988285
+0.8059282554408551,1.629396022484391
+-0.3271003932627143,1.8277112169737053
+-0.3468183774710674,0.849451577653332
+-0.7255687479043382,0.18803627668348433
+0.46275832621218577,0.7249715874345206
+0.3675941447180763,2.078364482002739
+-0.32345807656951014,1.3397559753752197
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+0.9783896219728125,0.01483949537060325
+0.10654171085817338,0.07191479727725025
+0.6559583924331602,1.6766858226479382
+0.8840860243767188,-0.7229534112131075
+0.6481524091644687,-0.27537014033182555
+0.2254162218816943,2.220808011782677
+1.395262033262247,-0.34539986318421
+1.44660310485942,0.04438379156721828
+0.0007076882380407656,0.01873380997307164
+-0.6187126791697293,0.6770837971114492
+1.1001710527928221,0.8187281489086278
+0.534067832733304,1.5594045464375257
+0.416024092659793,1.325591139453519
+0.28499511204853106,-0.15056572392595738
+1.4084203051465267,0.10623621921908977
+1.0893922946851662,-0.4693911070383303
+-0.6153652921700132,1.1095563201225613
+1.5902034105774185,-1.656146623253745
+-1.0237568572948301,-0.12931154731294042
+0.5112465621192837,-0.26160312686988285
+0.8059282554408551,1.629396022484391
+-0.3271003932627143,1.8277112169737053
+1.009162728635887,-0.27249266637872366
+-0.7255687479043382,0.18803627668348433
+0.46275832621218577,0.7249715874345206
+0.3675941447180763,2.078364482002739
+-0.32345807656951014,1.3397559753752197
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+0.934903955925113,0.7783115470891285
+0.10654171085817338,0.07191479727725025
+0.9477595915183821,0.9901381114127062
+0.8840860243767188,-0.7229534112131075
+0.6481524091644687,-0.27537014033182555
+0.2254162218816943,2.220808011782677
+-0.7645240647098537,1.074089126390235
+1.2591088393500507,-1.0441827179332261
+0.0007076882380407656,0.01873380997307164
+1.6199417148513806,-1.269869626408302
+1.1001710527928221,0.8187281489086278
+0.9633334552145053,0.7829803104284986
+0.416024092659793,1.325591139453519
+0.28499511204853106,-0.15056572392595738
+0.42664826352168195,1.4015245090167272
+0.4885052933296645,0.20389532261793764
+-0.6153652921700132,1.1095563201225613
+-0.4962005058302217,0.024401299159115812
+-1.0237568572948301,-0.12931154731294042
+0.5112465621192837,-0.26160312686988285
+1.073866797235382,-1.0762970783709649
+-0.3271003932627143,1.8277112169737053
+1.1594448657307237,0.5041213165937042
+-0.29079451575017234,2.2383011257498877
+1.444773167279991,-1.9423546048655287
+0.3675941447180763,2.078364482002739
+-0.299994371381823,0.16989678241834347
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+0.01368306537895747,2.0716774522083217
+0.10654171085817338,0.07191479727725025
+0.9477595915183821,0.9901381114127062
+0.8840860243767188,-0.7229534112131075
+0.7021142141128923,1.2738149818806428
+0.2254162218816943,2.220808011782677
+0.7177035082265463,1.47272078857989
+1.2591088393500507,-1.0441827179332261
+-0.6280905694217824,0.39898016084829746
+1.5125441847124463,-1.8061055070067997
+1.1001710527928221,0.8187281489086278
+0.9633334552145053,0.7829803104284986
+1.4367605742896274,-0.9703119956106068
+0.28499511204853106,-0.15056572392595738
+0.42664826352168195,1.4015245090167272
+-0.09467139196106433,-0.23559933634580377
+-0.6153652921700132,1.1095563201225613
+-0.4962005058302217,0.024401299159115812
+-1.0237568572948301,-0.12931154731294042
+0.5112465621192837,-0.26160312686988285
+1.073866797235382,-1.0762970783709649
+-0.3271003932627143,1.8277112169737053
+0.7867547727440594,0.18200639714485323
+-0.29079451575017234,2.2383011257498877
+-0.4511790402331486,-0.6490466576323419
+0.3675941447180763,2.078364482002739
+-0.299994371381823,0.16989678241834347
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+-0.6878489809877664,1.5341241286809706
+0.08428225368922371,2.3460348386194783
+-0.2831513856176035,0.624258589685659
+0.8840860243767188,-0.7229534112131075
+0.7021142141128923,1.2738149818806428
+-0.06816967164451226,1.834942355081092
+0.8761567362706144,-0.550941206798943
+0.23082938183333185,-0.15187397187154122
+-0.6280905694217824,0.39898016084829746
+1.5125441847124463,-1.8061055070067997
+-0.10375317495028974,0.1961621867920192
+0.9633334552145053,0.7829803104284986
+0.48871432117533253,1.6851385645423325
+0.28499511204853106,-0.15056572392595738
+0.42664826352168195,1.4015245090167272
+-0.09467139196106433,-0.23559933634580377
+1.2860310569536382,-0.29752532370806006
+-0.4962005058302217,0.024401299159115812
+-1.0237568572948301,-0.12931154731294042
+-0.5090570032827761,0.753764001055485
+1.0310141294600432,-1.0208411051177504
+-0.3271003932627143,1.8277112169737053
+0.7866094554487753,0.3476221809249631
+-0.07122953214512398,-0.2576134627249912
+1.5079265191935889,-0.5859669757108525
+0.3675941447180763,2.078364482002739
+-0.18849277142121362,1.631872849091707
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+-0.6878489809877664,1.5341241286809706
+-0.9357107682735001,0.632621150931653
+-0.2831513856176035,0.624258589685659
+0.8840860243767188,-0.7229534112131075
+-0.7305796854575342,0.8360011181807323
+-0.06816967164451226,1.834942355081092
+0.8761567362706144,-0.550941206798943
+0.685194754759311,1.3781130774900059
+-0.3133927942427147,0.4584899883003409
+0.9303478499777138,0.1766086782432097
+0.4709151810227632,-0.35625118249787047
+0.9633334552145053,0.7829803104284986
+0.48871432117533253,1.6851385645423325
+0.28499511204853106,-0.15056572392595738
+0.42664826352168195,1.4015245090167272
+-0.09467139196106433,-0.23559933634580377
+1.2860310569536382,-0.29752532370806006
+-0.4962005058302217,0.024401299159115812
+-0.13438790515747787,0.5140810357047537
+-0.5090570032827761,0.753764001055485
+1.0310141294600432,-1.0208411051177504
+-0.3271003932627143,1.8277112169737053
+-0.5380479562757876,0.889543249125974
+-0.07122953214512398,-0.2576134627249912
+1.5079265191935889,-0.5859669757108525
+0.22736248061659226,0.9328682554368566
+0.9778655984185451,-0.9483743089985259
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+-0.6878489809877664,1.5341241286809706
+-0.9357107682735001,0.632621150931653
+0.14214183077581422,0.08264725185796062
+1.23198684887045,0.3520649169222969
+-0.7305796854575342,0.8360011181807323
+0.9626847443486259,-0.18696612042555727
+0.8761567362706144,-0.550941206798943
+0.685194754759311,1.3781130774900059
+-0.3133927942427147,0.4584899883003409
+0.4432626679184344,1.2406921790016645
+0.4709151810227632,-0.35625118249787047
+0.9633334552145053,0.7829803104284986
+0.48871432117533253,1.6851385645423325
+0.7571791625134134,-0.8096741397265512
+-0.5678128442473387,0.7740789273697949
+-0.21392105343656265,1.6049977668621058
+1.2860310569536382,-0.29752532370806006
+-0.4962005058302217,0.024401299159115812
+0.5586160462019341,1.650532336394704
+-0.5090570032827761,0.753764001055485
+-0.4106644787174827,1.2189553170142469
+-0.3271003932627143,1.8277112169737053
+-0.5380479562757876,0.889543249125974
+-0.07122953214512398,-0.2576134627249912
+-0.7418925725083365,0.6201607385650565
+0.2540079450958108,0.296871893224107
+0.9778655984185451,-0.9483743089985259
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+0.7154398923198673,1.3670747674042982
+0.36561477687214783,0.2561245952544264
+0.14214183077581422,0.08264725185796062
+1.23198684887045,0.3520649169222969
+-0.7305796854575342,0.8360011181807323
+0.9626847443486259,-0.18696612042555727
+0.8890073247975023,1.0248541049723139
+0.685194754759311,1.3781130774900059
+-0.3133927942427147,0.4584899883003409
+0.4432626679184344,1.2406921790016645
+0.4709151810227632,-0.35625118249787047
+0.9633334552145053,0.7829803104284986
+0.8640957371921858,-0.9046943201326553
+0.7571791625134134,-0.8096741397265512
+-0.5678128442473387,0.7740789273697949
+0.9684341672612682,0.7108702475861146
+1.2860310569536382,-0.29752532370806006
+0.32842265860595693,-0.26925293414053836
+-0.596610640336354,0.1781800509499074
+-0.5090570032827761,0.753764001055485
+-0.4106644787174827,1.2189553170142469
+0.8841557700356694,-0.8821759468433281
+-0.7526444529612109,0.819880674858839
+-0.07122953214512398,-0.2576134627249912
+-0.7418925725083365,0.6201607385650565
+0.2540079450958108,0.296871893224107
+0.7404572286421902,-0.6085374242136432
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+-0.16671624896437903,1.6786451489931256
+0.7154398923198673,1.3670747674042982
+0.36561477687214783,0.2561245952544264
+-0.4776361758680415,0.9512952981988606
+-0.28087684314320227,1.0616377498086633
+-0.3508952750393083,-0.15559077790059733
+0.1253007628379037,0.81616918319388
+0.8890073247975023,1.0248541049723139
+0.5968274377141292,-0.40077911742669725
+-0.3133927942427147,0.4584899883003409
+1.3215823546171552,0.36116318052684726
+0.4709151810227632,-0.35625118249787047
+-0.7832783567589261,0.7060168821608546
+0.8640957371921858,-0.9046943201326553
+0.7571791625134134,-0.8096741397265512
+-0.5678128442473387,0.7740789273697949
+1.3725180240749846,-0.11865673599857163
+1.2860310569536382,-0.29752532370806006
+0.32842265860595693,-0.26925293414053836
+-0.3649631957457528,-0.11486871029051493
+0.18091959535528285,-0.15284829493372193
+-0.4106644787174827,1.2189553170142469
+-0.7626892101895165,1.1730220177549886
+-0.44524602174163735,0.12201692247036788
+-0.5474358896287804,2.1035858675679364
+-0.7418925725083365,0.6201607385650565
+-0.2539983721973088,1.6303991035665366
+0.7404572286421902,-0.6085374242136432
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+0.7407707744316077,-0.4110752546349267
+0.7154398923198673,1.3670747674042982
+-0.45354125784352517,0.6749696369506804
+0.34606566278474077,1.2823488906307843
+-0.28087684314320227,1.0616377498086633
+-0.3508952750393083,-0.15559077790059733
+-0.2855320145772172,0.9341202011035644
+-0.002659823536773742,0.3634383960033948
+0.5968274377141292,-0.40077911742669725
+0.7511356887192862,0.4696868836732774
+1.3215823546171552,0.36116318052684726
+0.4709151810227632,-0.35625118249787047
+-0.3664461480011983,1.3078634348639073
+0.8640957371921858,-0.9046943201326553
+1.6471337049184387,-0.681017276377657
+-0.5678128442473387,0.7740789273697949
+1.3725180240749846,-0.11865673599857163
+1.2860310569536382,-0.29752532370806006
+0.32842265860595693,-0.26925293414053836
+-0.3649631957457528,-0.11486871029051493
+1.190840080536386,0.5558687212673765
+0.9580750286095507,0.3207969386763615
+-0.7626892101895165,1.1730220177549886
+-0.44524602174163735,0.12201692247036788
+-0.5474358896287804,2.1035858675679364
+-0.7418925725083365,0.6201607385650565
+-0.2539983721973088,1.6303991035665366
+0.13542542926683127,0.06726933373267852
+1.651664512916681,-2.087141310807109
+0.7856619908481188,1.355814162859699
+0.7407707744316077,-0.4110752546349267
+0.7154398923198673,1.3670747674042982
+0.30551984402023347,0.4192732388628262
+0.2552683019671167,0.011969725704612522
+0.897774839854019,-0.9256618566736527
+-0.3508952750393083,-0.15559077790059733
+-0.6871060335093788,0.29229886325939697
+-0.908241260723994,0.5714243036201786
+0.1511994856864034,0.2460851128259643
+1.100532407923273,-0.5638963962548256
+1.3215823546171552,0.36116318052684726
+1.3505811234853136,-1.4268501635297919
+-0.3664461480011983,1.3078634348639073
+0.8640957371921858,-0.9046943201326553
+1.6471337049184387,-0.681017276377657
+0.5117417186908211,1.5157284587558408
+1.3725180240749846,-0.11865673599857163
+1.2860310569536382,-0.29752532370806006
+1.5441769528071174,-1.310534949552508
+0.6034613858987323,0.2633848973355195
+0.06481087445424549,1.5199180225619564
+-0.09752684778504833,0.11442274292732962
+-0.7626892101895165,1.1730220177549886
+-0.44524602174163735,0.12201692247036788
+0.6867366993163885,1.0175338660020508
+-0.7418925725083365,0.6201607385650565
+1.0585947320926647,1.0442415017008457
+0.13542542926683127,0.06726933373267852
+-0.9073265985000397,0.6214970689022079
+0.7856619908481188,1.355814162859699
+-0.021291985580359357,1.3992705074767677
+1.0808050318693205,0.8025772833071833
+0.8658759168474082,-1.081890389469822
+0.2552683019671167,0.011969725704612522
+0.897774839854019,-0.9256618566736527
+-0.3508952750393083,-0.15559077790059733
+-0.6871060335093788,0.29229886325939697
+1.115654429366101,0.29912515941044393
+0.3481472204946674,0.5493894008219489
+1.1733987759018132,0.1591941282639462
+1.3215823546171552,0.36116318052684726
+1.492375390553483,-1.17356723557715
+-0.3664461480011983,1.3078634348639073
+0.8640957371921858,-0.9046943201326553
+1.6471337049184387,-0.681017276377657
+0.5117417186908211,1.5157284587558408
+0.4575399561539518,2.1005786392838077
+0.9574048415199807,-0.23659294736399494
+1.5441769528071174,-1.310534949552508
+1.1931877308909133,-1.1447153527136265
+0.06481087445424549,1.5199180225619564
+1.2744089709481488,-1.5220726099042818
+-0.7626892101895165,1.1730220177549886
+-0.44524602174163735,0.12201692247036788
+-0.7852269702289711,0.4997151233373156
+1.0218784195549424,-0.930384450562354
+-0.5063496065473642,0.2488892701945019
+0.15792609840755634,0.10778935049855973
+-0.9073265985000397,0.6214970689022079
+-0.4071622112703898,0.6930920061554697
+-0.08428289132924943,1.0456162877347162
+1.0808050318693205,0.8025772833071833
+1.7532769664442998,-2.4024191000781903
+0.2552683019671167,0.011969725704612522
+0.897774839854019,-0.9256618566736527
+-0.3508952750393083,-0.15559077790059733
+0.7395640746102127,-0.7520986152587604
+1.115654429366101,0.29912515941044393
+-0.03812472633342075,1.5641076867378565
+1.1733987759018132,0.1591941282639462
+0.5581829203656999,-0.665639773364511
+1.183763012103882,0.5387620790077379
+0.006487328337923183,1.7392670072036929
+1.4361955736184542,-0.8176357027053089
+-0.4015881962544426,1.373383801195457
+0.5117417186908211,1.5157284587558408
+1.771071933996569,-1.3784056716579034
+1.1960631015034113,-0.46750781221624227
+1.5441769528071174,-1.310534949552508
+1.6275099426158404,-2.181096961438422
+0.06481087445424549,1.5199180225619564
+-0.5547100418792421,1.432221138570748
+0.8616931949729125,0.4238081293388737
+0.0809350298354119,1.9274676469053513
+-0.7852269702289711,0.4997151233373156
+0.35735981398663696,2.0345778821176133
+-0.5063496065473642,0.2488892701945019
+0.15792609840755634,0.10778935049855973
+-0.6694016324728286,1.4805853971527354
+-0.4071622112703898,0.6930920061554697
+-0.19356704534088776,-0.34235266318105495
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2552683019671167,0.011969725704612522
+-0.4807407277012229,0.5835243606362616
+-0.3508952750393083,-0.15559077790059733
+0.7395640746102127,-0.7520986152587604
+1.115654429366101,0.29912515941044393
+-0.5810934655574935,0.17951575319014768
+1.1733987759018132,0.1591941282639462
+0.04386694972516717,2.4747727329481957
+-0.9245414455015506,0.5569407777878861
+0.006487328337923183,1.7392670072036929
+-0.3129012277323896,1.220772001746654
+-0.4015881962544426,1.373383801195457
+0.5117417186908211,1.5157284587558408
+0.9982506841144995,0.04566608864747046
+1.1960631015034113,-0.46750781221624227
+1.5441769528071174,-1.310534949552508
+0.8480850115122526,1.753383315773295
+0.06481087445424549,1.5199180225619564
+-0.5547100418792421,1.432221138570748
+-0.5742073529269778,1.4308422008909636
+1.2835620546670505,0.02450563771436609
+-0.7852269702289711,0.4997151233373156
+0.35735981398663696,2.0345778821176133
+-0.5063496065473642,0.2488892701945019
+0.15792609840755634,0.10778935049855973
+-0.3829476222675736,0.6205969375348832
+-0.4071622112703898,0.6930920061554697
+0.7500533698642592,0.747680812837169
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2552683019671167,0.011969725704612522
+0.5659046662534418,1.9555574949773282
+-0.3508952750393083,-0.15559077790059733
+0.7395640746102127,-0.7520986152587604
+0.5133893054115743,0.06709927989667108
+0.08116277421840418,1.7553856110842632
+1.1733987759018132,0.1591941282639462
+-0.6749425182262331,1.1312689099227318
+-0.9245414455015506,0.5569407777878861
+0.4354639836570129,-0.49495180504037994
+-0.3129012277323896,1.220772001746654
+-0.02174845457325554,2.2514227605157897
+0.5117417186908211,1.5157284587558408
+0.9982506841144995,0.04566608864747046
+1.1960631015034113,-0.46750781221624227
+1.5441769528071174,-1.310534949552508
+-0.6001619963883786,-0.2019982213417435
+0.06481087445424549,1.5199180225619564
+-0.5547100418792421,1.432221138570748
+-0.14111350994830013,0.2735906286660382
+-0.9563481870963404,-0.4197813433455706
+-0.7852269702289711,0.4997151233373156
+0.35735981398663696,2.0345778821176133
+-0.5063496065473642,0.2488892701945019
+1.4134804191641481,-1.0760991077908797
+-0.3829476222675736,0.6205969375348832
+1.1547660795771746,-0.702541546374582
+1.1485659655711458,-0.2773157481670182
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2552683019671167,0.011969725704612522
+0.5659046662534418,1.9555574949773282
+-0.34997389616651786,0.7248574278212507
+0.7395640746102127,-0.7520986152587604
+0.5133893054115743,0.06709927989667108
+-0.22693266670880372,0.020933053304777127
+1.1733987759018132,0.1591941282639462
+-0.6749425182262331,1.1312689099227318
+0.9817217222814347,-0.4597690354630151
+0.4354639836570129,-0.49495180504037994
+-0.7077843469204352,1.1475080708142205
+0.2230958393480916,1.7039452415843608
+0.5117417186908211,1.5157284587558408
+-0.4957843470945084,0.685347135448073
+-0.5940136247594955,0.9488468107101408
+-0.33065321273342363,1.2854151378844993
+0.3947180399740887,-0.5471010803297622
+0.06481087445424549,1.5199180225619564
+-0.06459042854898803,1.6292792613480147
+1.1752336388402,0.6134580807514275
+-0.9563481870963404,-0.4197813433455706
+-0.7852269702289711,0.4997151233373156
+-0.685268459808086,0.7773654154349094
+1.0343423209954152,-0.528216527311828
+1.4134804191641481,-1.0760991077908797
+1.7325616505726738,-3.075263774647504
+1.4205907802871423,-1.333177576889011
+1.1485659655711458,-0.2773157481670182
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2517859729958757,-0.1006259512564397
+0.5659046662534418,1.9555574949773282
+-0.34997389616651786,0.7248574278212507
+0.7395640746102127,-0.7520986152587604
+0.6605491351394047,-0.691134401942035
+-0.22693266670880372,0.020933053304777127
+-0.7065950270542516,0.2649582636542859
+-0.6749425182262331,1.1312689099227318
+0.9817217222814347,-0.4597690354630151
+1.2696955634709277,-1.259909216091036
+-0.3286309573468276,0.7846595091171054
+-0.17169222974918674,0.04752037572384116
+0.5117417186908211,1.5157284587558408
+1.5807856725784344,-1.8706346521924107
+-0.5940136247594955,0.9488468107101408
+1.1176664568414463,-0.7027112307733163
+0.3947180399740887,-0.5471010803297622
+0.06481087445424549,1.5199180225619564
+-0.06459042854898803,1.6292792613480147
+1.1752336388402,0.6134580807514275
+0.5997745711027291,-0.4530762361485282
+-0.36348847483770724,0.2355586917538077
+-0.685268459808086,0.7773654154349094
+0.11915437948549168,1.9559685795534785
+-0.66434988194826,0.7556878636467641
+1.7325616505726738,-3.075263774647504
+1.1813842610192395,0.5694013545373857
+-0.12368880235065431,1.0128021574297756
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2517859729958757,-0.1006259512564397
+0.5659046662534418,1.9555574949773282
+-0.34997389616651786,0.7248574278212507
+0.7395640746102127,-0.7520986152587604
+0.6605491351394047,-0.691134401942035
+-0.22693266670880372,0.020933053304777127
+-0.7065950270542516,0.2649582636542859
+0.8443822416067573,-1.0411918511657736
+0.9817217222814347,-0.4597690354630151
+1.2696955634709277,-1.259909216091036
+-0.3286309573468276,0.7846595091171054
+-0.17169222974918674,0.04752037572384116
+0.5117417186908211,1.5157284587558408
+1.5807856725784344,-1.8706346521924107
+-0.2183121742399023,-0.040904488835026204
+-0.6237990072964628,-0.4037124082783161
+0.3947180399740887,-0.5471010803297622
+0.06481087445424549,1.5199180225619564
+-0.06459042854898803,1.6292792613480147
+1.1752336388402,0.6134580807514275
+0.5997745711027291,-0.4530762361485282
+0.30462247742445164,0.8360325459895231
+-0.685268459808086,0.7773654154349094
+0.11915437948549168,1.9559685795534785
+1.4702566081855843,-1.40192739013371
+0.6851793080638611,-0.04098546245077672
+1.049916181522013,-0.265748411783271
+1.8386876761732818,-2.2379382066106337
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2517859729958757,-0.1006259512564397
+1.1825975737318124,-0.9356199826437954
+-0.34997389616651786,0.7248574278212507
+-0.8055310297945519,0.4682278406349634
+0.6605491351394047,-0.691134401942035
+-0.5105745424863568,0.368769998303468
+-0.7065950270542516,0.2649582636542859
+0.8443822416067573,-1.0411918511657736
+0.9817217222814347,-0.4597690354630151
+1.2696955634709277,-1.259909216091036
+-0.3286309573468276,0.7846595091171054
+-0.17169222974918674,0.04752037572384116
+0.5117417186908211,1.5157284587558408
+0.19379393925766764,-0.028613789324960157
+-0.2183121742399023,-0.040904488835026204
+0.2728253973201449,-0.5132540208828378
+0.4059717525212966,1.7688283034050303
+0.5694246642480587,1.126367281013097
+-0.06459042854898803,1.6292792613480147
+1.1752336388402,0.6134580807514275
+0.5997745711027291,-0.4530762361485282
+0.30462247742445164,0.8360325459895231
+-0.685268459808086,0.7773654154349094
+-0.6853022557259605,1.404372628047919
+1.4702566081855843,-1.40192739013371
+0.6851793080638611,-0.04098546245077672
+0.7570774928679346,-0.6891972600578884
+1.8386876761732818,-2.2379382066106337
+-0.6158071185939938,-0.5004777797537969
+1.7532769664442998,-2.4024191000781903
+0.2517859729958757,-0.1006259512564397
+1.1825975737318124,-0.9356199826437954
+-0.34997389616651786,0.7248574278212507
+-0.8055310297945519,0.4682278406349634
+-0.5232409375731057,0.5291805356776706
+0.6645053763810054,0.9835489175561363
+0.025729833680048886,1.986906883811663
+-0.09134610787340952,1.655691583558201
+0.9817217222814347,-0.4597690354630151
+0.9907198501199602,1.0863810659419517
+0.5181735118102815,-0.7792510529937688
+-0.17169222974918674,0.04752037572384116
+-0.62293606972348,0.6810913777993548
+-0.7744681962623824,0.3425294922954614
+1.276741033121473,-1.4596936695635963
+0.2728253973201449,-0.5132540208828378
+1.661244426766285,-1.8012982340327708
+0.5694246642480587,1.126367281013097
+-0.06459042854898803,1.6292792613480147
+1.1752336388402,0.6134580807514275
+0.7546563798907724,-0.43048605781383575
+-0.15461732504206124,-0.172736760265038
+-0.685268459808086,0.7773654154349094
+-0.6853022557259605,1.404372628047919
+1.4702566081855843,-1.40192739013371
+0.6851793080638611,-0.04098546245077672
+0.7570774928679346,-0.6891972600578884
+-0.6630579421159407,-0.2788023032256984
+-0.6158071185939938,-0.5004777797537969
+0.7080840919156777,1.7906301701441358
+0.2517859729958757,-0.1006259512564397
+-0.7308385534197572,1.451479306177567
+0.5043794234331502,-0.8484597290914623
+-0.8055310297945519,0.4682278406349634
+0.27994109810919615,1.7024756167072368
+0.6645053763810054,0.9835489175561363
+0.025729833680048886,1.986906883811663
+1.116213291000399,1.0124243183186517
+-0.7059505365669024,0.8144681675895693
+0.5903999053488153,1.3551760101713892
+0.5181735118102815,-0.7792510529937688
+-0.17169222974918674,0.04752037572384116
+-0.12534403061735022,1.3685577231625645
+-0.7744681962623824,0.3425294922954614
+1.276741033121473,-1.4596936695635963
+0.2728253973201449,-0.5132540208828378
+-0.449746409978414,1.2676263465063693
+0.5694246642480587,1.126367281013097
+-0.3559558499917419,1.3138681959217995
+0.43832634350578514,-0.5867673902951023
+-0.8115400805676449,0.42326284646990486
+-0.7254401382501778,1.3651065420265458
+-0.12599797407967908,2.1753604903229506
+0.028964269452301128,1.8801861800009334
+1.4702566081855843,-1.40192739013371
+0.10253749020153063,-0.00010674164419080534
+0.7570774928679346,-0.6891972600578884
+-0.6630579421159407,-0.2788023032256984
+-0.5105519123721758,1.5568856119778607
+0.7253216192303162,-0.7250206207404036
+1.0543838010955953,0.5524282843094488
+-0.7308385534197572,1.451479306177567
+-0.2962729431456908,1.1363052395259574
+-0.8055310297945519,0.4682278406349634
+1.258384255218169,-0.6374217185638836
+0.6645053763810054,0.9835489175561363
+0.025729833680048886,1.986906883811663
+0.3874049359569885,0.5370472728362525
+0.0714227240041688,-0.08751557242541137
+0.5903999053488153,1.3551760101713892
+0.9877733421311344,0.8707196206914325
+-0.17169222974918674,0.04752037572384116
+-0.12534403061735022,1.3685577231625645
+-0.7744681962623824,0.3425294922954614
+1.276741033121473,-1.4596936695635963
+0.2728253973201449,-0.5132540208828378
+-0.3459991635865517,0.8928725869475707
+1.9147995660383499,-2.762758599878806
+0.9031406912961766,1.2042855820608604
+-0.11451022615260706,1.7510749200118136
+0.03331711204142865,0.22771785469832648
+-0.7254401382501778,1.3651065420265458
+0.04029601730865451,0.444908014122836
+0.028964269452301128,1.8801861800009334
+0.4706677581602972,0.09889654761711819
+1.6320010603614905,-1.6456951150711887
+-0.7099856742006236,0.02606864005199444
+-0.6630579421159407,-0.2788023032256984
+-0.7154005284399629,-0.0769458144141601
+0.7253216192303162,-0.7250206207404036
+0.5906889899259098,0.8962596655491472
+1.2227439677634355,-1.262649945690578
+-0.2962729431456908,1.1363052395259574
+0.8602339319544231,-0.5015741454746907
+1.258384255218169,-0.6374217185638836
+0.8282751181467296,0.3954321187402796
+0.025729833680048886,1.986906883811663
+0.8970859353474623,1.234794822458657
+0.0714227240041688,-0.08751557242541137
+-0.2658383106184654,-0.2394500500147864
+0.9877733421311344,0.8707196206914325
+-0.17169222974918674,0.04752037572384116
+-0.12534403061735022,1.3685577231625645
+-0.6481262288059824,-0.2091850027822504
+1.276741033121473,-1.4596936695635963
+1.2297427862617671,-1.2553200336451473
+-0.3459991635865517,0.8928725869475707
+1.9147995660383499,-2.762758599878806
+0.9031406912961766,1.2042855820608604
+-0.11451022615260706,1.7510749200118136
+0.03331711204142865,0.22771785469832648
+0.03648846069901546,0.31950490581136326
+0.04029601730865451,0.444908014122836
+0.6186445718397343,-0.43949067072610315
+0.4706677581602972,0.09889654761711819
+0.06432799247056653,0.3848737088098144
+-0.7099856742006236,0.02606864005199444
+0.8250344631269615,-0.8230559750768633
+-0.7154005284399629,-0.0769458144141601
+0.5455100531246877,-0.1829948363666405
+0.9920837438424777,0.8104464011985126
+0.9325014941340161,0.9274673320765217
+-0.2962729431456908,1.1363052395259574
+0.8602339319544231,-0.5015741454746907
+1.0413559527705654,-1.224777521042914
+0.8282751181467296,0.3954321187402796
+0.025729833680048886,1.986906883811663
+0.4419249120697729,-0.21099548314457836
+0.0714227240041688,-0.08751557242541137
+-0.2658383106184654,-0.2394500500147864
+0.9877733421311344,0.8707196206914325
+0.5338194530776719,-0.24701012752748264
+1.1752220501852788,-1.3721694356102443
+-0.4830524940382873,0.992985269638565
+-0.32515416706153794,1.429350265809171
+1.2297427862617671,-1.2553200336451473
+-0.3459991635865517,0.8928725869475707
+1.9147995660383499,-2.762758599878806
+0.9031406912961766,1.2042855820608604
+-0.11451022615260706,1.7510749200118136
+1.337283563073216,-1.458964855074196
+0.03648846069901546,0.31950490581136326
+0.04029601730865451,0.444908014122836
+0.6186445718397343,-0.43949067072610315
+0.4706677581602972,0.09889654761711819
+0.06432799247056653,0.3848737088098144
+-0.7099856742006236,0.02606864005199444
+-1.1085976421276655,0.01916800150340804
+-0.7154005284399629,-0.0769458144141601
+-0.6702619462240533,-0.4550499020773205
+0.9920837438424777,0.8104464011985126
+0.9325014941340161,0.9274673320765217
+-0.5306275698872102,1.0124596495405374
+0.5808149711208391,-0.7588617281933899
+1.0413559527705654,-1.224777521042914
+0.8282751181467296,0.3954321187402796
+0.025729833680048886,1.986906883811663
+0.4419249120697729,-0.21099548314457836
+0.0714227240041688,-0.08751557242541137
+-0.2658383106184654,-0.2394500500147864
+0.9877733421311344,0.8707196206914325
+-0.08610296857594482,1.4680585606469876
+0.3134637873237518,-0.3225146454526263
+-0.4507993434407451,0.21678775795559768
+0.9043315961177707,0.619832815927315
+1.2297427862617671,-1.2553200336451473
+-0.03304730941889358,-0.4984936449047772
+1.9147995660383499,-2.762758599878806
+0.9031406912961766,1.2042855820608604
+0.6604804298413306,-0.28563257583808954
+1.2823039250290353,-0.03277744675413791
+0.6809347165237261,0.6830526363476283
+0.6039634820186631,-0.795719096130866
+0.6186445718397343,-0.43949067072610315
+0.6737708921701934,-0.2574836277986384
+0.06432799247056653,0.3848737088098144
+-0.029207580723080023,0.5263126387926751
+0.7162568047126614,-0.5291138329332783
+-0.7154005284399629,-0.0769458144141601
+-0.23162236183994517,1.1547800463620694
+0.05711713410195329,1.4134036681564879
+0.9325014941340161,0.9274673320765217
+-0.5306275698872102,1.0124596495405374
+0.5808149711208391,-0.7588617281933899
+0.6775195363814697,1.6528500136591457
+-0.5267237078269192,0.5905548888786831
+0.025729833680048886,1.986906883811663
+0.3821146451053013,0.16109883793852842
+0.16478465084577176,0.0628579351428773
+-0.2658383106184654,-0.2394500500147864
+0.36967113075671126,-0.25207799326041397
+0.5006657183631231,-0.7627976787909811
+1.1123132970672684,-0.5309452186622989
+-0.4507993434407451,0.21678775795559768
+0.9043315961177707,0.619832815927315
+1.2297427862617671,-1.2553200336451473
+-0.03304730941889358,-0.4984936449047772
+1.9147995660383499,-2.762758599878806
+0.04320679168897483,0.492623218961124
+0.6604804298413306,-0.28563257583808954
+-0.33864938506155695,0.37524370042115185
+1.0382231286324175,-1.1400600383793194
+0.1528070136909545,-0.1261800793297681
+0.6186445718397343,-0.43949067072610315
+0.6737708921701934,-0.2574836277986384
+0.37495706782874627,-0.09069432010047207
+1.0597807417530685,-1.0765084280073052
+0.7162568047126614,-0.5291138329332783
+-0.7154005284399629,-0.0769458144141601
+-0.42484015565136835,1.328380063505369
+0.05711713410195329,1.4134036681564879
+0.4271726716145866,-0.17085318841097014
+0.9906566505521094,-0.8397269063643151
+1.156867413486057,-0.7554288501612183
+0.6775195363814697,1.6528500136591457
+1.000828131392995,0.8583213686836387
+0.025729833680048886,1.986906883811663
+-0.4487496990204597,0.02465798165745986
+0.5667209301243944,-0.1669409353859797
+0.01728541357638025,0.08764093825298863
+0.9641255138846524,-1.3855562407987008
+0.5006657183631231,-0.7627976787909811
+0.8909233466135804,-0.16988207196565086
+-0.4507993434407451,0.21678775795559768
+0.9043315961177707,0.619832815927315
+1.2297427862617671,-1.2553200336451473
+-0.38704822639093067,0.9510343664613023
+1.9147995660383499,-2.762758599878806
+1.0464544617877756,-1.3220376376136045
+-0.6544395767851875,1.375978606473412
+-0.33864938506155695,0.37524370042115185
+1.0382231286324175,-1.1400600383793194
+0.14303740183398067,-0.4791548458334477
+0.002740326051366433,2.443715661817333
+-0.8437804257455088,0.6261620884116941
+0.8808338717843772,-1.0409997686483394
+1.0597807417530685,-1.0765084280073052
+0.7162568047126614,-0.5291138329332783
+-0.7154005284399629,-0.0769458144141601
+-0.42484015565136835,1.328380063505369
+0.05711713410195329,1.4134036681564879
+0.4271726716145866,-0.17085318841097014
+0.9906566505521094,-0.8397269063643151
+1.156867413486057,-0.7554288501612183
+0.6775195363814697,1.6528500136591457
+1.000828131392995,0.8583213686836387
+0.025729833680048886,1.986906883811663
+-0.8703710358579517,0.6132249171011721
+0.5667209301243944,-0.1669409353859797
+1.5174906480278803,-2.084834269344597
+0.9641255138846524,-1.3855562407987008
+-0.4855807283451256,-0.4262357780369066
+-0.36583916353717577,1.953738359619571
+1.6202529967585508,-2.4964561559837644
+0.9043315961177707,0.619832815927315
+1.2297427862617671,-1.2553200336451473
+0.3258779287788571,0.17921351076126307
+1.9147995660383499,-2.762758599878806
+-0.519598316467292,0.6133553198696723
+-0.6544395767851875,1.375978606473412
+-0.5016050973095287,1.2250422825656146
+0.9157814229155525,-0.5549374572588
+0.14303740183398067,-0.4791548458334477
+0.002740326051366433,2.443715661817333
+-0.4061283822382279,2.013524711862506
+-0.09151296249097463,0.8409402502734983
+-0.8106373281768953,0.7783967036209434
+0.7162568047126614,-0.5291138329332783
+0.2414412621848795,-0.2417763208790552
+0.9599782846511168,0.4645990859524376
+0.32303960855304104,-0.044542391142212756
+0.4271726716145866,-0.17085318841097014
+0.9906566505521094,-0.8397269063643151
+1.156867413486057,-0.7554288501612183
+0.6775195363814697,1.6528500136591457
+1.000828131392995,0.8583213686836387
+0.025729833680048886,1.986906883811663
+-0.1650169270904465,1.4685434064057254
+-0.7041546287196268,0.40205019535475917
+1.5174906480278803,-2.084834269344597
+-0.27470203251675784,0.16492108497069458
+-0.4855807283451256,-0.4262357780369066
+-0.36583916353717577,1.953738359619571
+1.6202529967585508,-2.4964561559837644
+-0.9615098875144276,-0.14851471102212122
+1.2297427862617671,-1.2553200336451473
+0.3258779287788571,0.17921351076126307
+1.9147995660383499,-2.762758599878806
+0.9876708945177166,-0.9368742457262542
+-0.6544395767851875,1.375978606473412
+-0.5016050973095287,1.2250422825656146
+0.10301059811077745,-0.28996151751956717
+-0.3933776220017008,0.4953525487103607
+0.002740326051366433,2.443715661817333
+-0.4061283822382279,2.013524711862506
+0.008141419305818576,1.5596598647305093
+-0.7107858196387026,0.8713236431227518
+0.7162568047126614,-0.5291138329332783
+-0.3848156013771457,1.5886319052406077
+0.9599782846511168,0.4645990859524376
+1.0854946720265681,-0.5720959072047427
+0.4271726716145866,-0.17085318841097014
+0.9906566505521094,-0.8397269063643151
+-0.06344646898457024,2.0983808651856393
+0.6775195363814697,1.6528500136591457
+1.002769080623611,-0.30963035505160164
+0.025729833680048886,1.986906883811663
+-0.1650169270904465,1.4685434064057254
+0.5857938042322941,-0.10758098771858851
+1.5174906480278803,-2.084834269344597
+-0.27470203251675784,0.16492108497069458
+-0.6575162135760437,-0.3472860416000374
+-0.8077887712020317,1.023210819564808
+-0.5152567540196769,1.6929380309610478
+-0.9615098875144276,-0.14851471102212122
+1.2297427862617671,-1.2553200336451473
+0.05596119618648687,0.0775490074787033
+1.9147995660383499,-2.762758599878806
+1.4927210441981626,-1.768244285242506
+1.2584421178523033,-1.0872102958572918
+-0.5016050973095287,1.2250422825656146
+0.15299776257006192,0.119799673584015
+-0.3933776220017008,0.4953525487103607
+0.002740326051366433,2.443715661817333
+-0.4061283822382279,2.013524711862506
+0.008141419305818576,1.5596598647305093
+-0.7107858196387026,0.8713236431227518
+0.7162568047126614,-0.5291138329332783
+-0.3848156013771457,1.5886319052406077
+0.9599782846511168,0.4645990859524376
+1.0854946720265681,-0.5720959072047427
+0.4271726716145866,-0.17085318841097014
+0.8788589810214865,-0.02764112506104066
+-0.06344646898457024,2.0983808651856393
+0.6775195363814697,1.6528500136591457
+1.002769080623611,-0.30963035505160164
+0.025729833680048886,1.986906883811663
+1.8140461881591299,-1.7526669372999042
+0.5857938042322941,-0.10758098771858851
+0.7293703911636092,-0.6444825584826387
+-0.27470203251675784,0.16492108497069458
+-0.6575162135760437,-0.3472860416000374
+-0.8077887712020317,1.023210819564808
+-0.5152567540196769,1.6929380309610478
+-0.01856447661392613,1.5305488273808332
+1.2297427862617671,-1.2553200336451473
+0.6956069172015087,0.03603451188272011
+1.9147995660383499,-2.762758599878806
+1.5668312459305462,-1.0799696997537187
+1.027868761696139,-0.5301500504067809
+-0.5016050973095287,1.2250422825656146
+0.40319158356270013,-0.3554783310073605
+-0.3933776220017008,0.4953525487103607
+0.8484352804465844,0.21022679779198794
+-0.4061283822382279,2.013524711862506
+1.5947206915535312,-0.4679230561891538
+0.6204679681113145,-0.975768308133941
+0.7162568047126614,-0.5291138329332783
+-0.3848156013771457,1.5886319052406077
+0.6728596390822198,-1.0434449270765005
+1.0854946720265681,-0.5720959072047427
+0.4271726716145866,-0.17085318841097014
+-0.4099515930683826,2.0130499002138205
+-0.43624808890596545,1.1890236341129723
+0.6775195363814697,1.6528500136591457
+-0.9919627101979198,0.30825432220464843
+0.4941003821905792,-0.6241898646057922
+1.8140461881591299,-1.7526669372999042
+0.5857938042322941,-0.10758098771858851
+-0.08480034565681786,1.5678468138937636
+0.4424976315828224,0.13030086516981473
+-0.6575162135760437,-0.3472860416000374
+0.04507400776669118,-0.19743619738968682
+-0.5152567540196769,1.6929380309610478
+0.3210683779236455,0.11187771544450453
+0.9387264493246369,-0.31955793608112965
+-0.7160574906891843,1.722894955581744
+-0.45442344005206714,0.6303795536882477
+1.5668312459305462,-1.0799696997537187
+-0.027534488380019484,2.5792987567379533
+-0.5016050973095287,1.2250422825656146
+0.40319158356270013,-0.3554783310073605
+-0.3933776220017008,0.4953525487103607
+1.8738833507758808,-1.8064085343083232
+-0.4061283822382279,2.013524711862506
+1.5947206915535312,-0.4679230561891538
+0.8798106933816023,-0.3245027566314128
+0.9716211270978559,-0.28214693067023244
+-0.3848156013771457,1.5886319052406077
+0.6819730621323594,0.12460401528147103
+1.0105398904480882,-1.1976165092918623
+-0.76803891159292,1.0747737345597328
+-0.4099515930683826,2.0130499002138205
+-0.43624808890596545,1.1890236341129723
+0.6775195363814697,1.6528500136591457
+-0.9919627101979198,0.30825432220464843
+-0.03201019133431776,1.9728575005375217
+1.8140461881591299,-1.7526669372999042
+0.3163963342036775,0.24916905291721364
+1.4696837883897753,-1.905178104668282
+0.6807074505054672,-0.16652173045357216
+-0.3597424284110574,-0.45063111982524184
+-0.7442497524498444,0.7207767696228563
+-0.5152567540196769,1.6929380309610478
+0.3210683779236455,0.11187771544450453
+0.9387264493246369,-0.31955793608112965
+0.8106005754333956,-0.8322975459872366
+1.056360889568078,-0.6667797595860192
+0.8770810956161452,0.060597303220150556
+-0.027534488380019484,2.5792987567379533
+0.4840731795253029,0.7475421095700769
+0.40319158356270013,-0.3554783310073605
+-0.3933776220017008,0.4953525487103607
+1.8738833507758808,-1.8064085343083232
+-0.4061283822382279,2.013524711862506
+0.5235730556029803,0.5919701187427571
+-0.3420277221313962,0.4825433882528281
+0.43211266270581516,-0.5714570968152328
+-0.3848156013771457,1.5886319052406077
+0.6864107861353952,-0.42018014889556454
+1.0105398904480882,-1.1976165092918623
+1.4600047214561096,-2.1877760703792584
+-0.4099515930683826,2.0130499002138205
+-0.43624808890596545,1.1890236341129723
+-0.5967414872820569,0.015156157720752628
+-0.9919627101979198,0.30825432220464843
+-0.03201019133431776,1.9728575005375217
+-0.6692668762149655,1.7317351429195276
+1.221382959847122,0.7435723788584616
+1.602476136898845,-1.295860141250381
+0.7183676838791724,-0.06711737822102049
+-0.3597424284110574,-0.45063111982524184
+-0.7442497524498444,0.7207767696228563
+0.808476656192933,0.19305389469762277
+0.3210683779236455,0.11187771544450453
+0.1248412940604775,0.25280368312384227
+0.8106005754333956,-0.8322975459872366
+-0.10604725967043424,0.1613669391457181
+1.3328138548248012,-1.5299853557482173
+0.9418276622871788,-1.4357043254486213
+0.9723357689192441,-0.6609138258227023
+-0.0009016479361981244,0.41672689075981456
+-0.3933776220017008,0.4953525487103607
+1.8738833507758808,-1.8064085343083232
+-0.4061283822382279,2.013524711862506
+0.5001918099066531,-0.8279018145019856
+-0.3420277221313962,0.4825433882528281
+0.43211266270581516,-0.5714570968152328
+-0.3848156013771457,1.5886319052406077
+0.8118426885885268,0.8132173843171523
+0.03586734855975701,-0.12892314645316277
+1.4600047214561096,-2.1877760703792584
+-0.4099515930683826,2.0130499002138205
+-0.43624808890596545,1.1890236341129723
+-0.5967414872820569,0.015156157720752628
+0.061294615179108614,0.21341048926703016
+-0.03201019133431776,1.9728575005375217
+0.8811508371647627,-0.9946137998500504
+1.221382959847122,0.7435723788584616
+1.602476136898845,-1.295860141250381
+-0.29731429953632615,-0.07854294977443549
+1.3799779338142721,-1.0944984039931032
+1.6901328219822114,-0.7394623236677146
+0.48982536183007763,0.5702226827915431
+0.852002777312419,-0.748497252973731
+0.1248412940604775,0.25280368312384227
+-0.4234784873860531,0.05523598137683439
+-0.10604725967043424,0.1613669391457181
+0.31117116873224493,0.6947688727797763
+0.2224078413378842,-0.05252808510185333
+0.9723357689192441,-0.6609138258227023
+1.4129824937714837,-1.0578741218251442
+-0.3933776220017008,0.4953525487103607
+1.4206516235195399,-1.271822600207205
+1.3320111354044222,-0.8530479264906132
+0.5001918099066531,-0.8279018145019856
+-0.4425450966876885,-0.028391931605986083
+-0.5008288254349412,0.7006240008539795
+-0.3848156013771457,1.5886319052406077
+-0.6060292071167533,0.9944834056128344
+-0.20728254864437906,1.6742727833108102
+1.4600047214561096,-2.1877760703792584
+0.1117936530533463,0.9345673529177876
+-0.43624808890596545,1.1890236341129723
+0.8107371987958619,-0.4549324866320805
+0.061294615179108614,0.21341048926703016
+-0.6397316748889895,0.6913300539506448
+0.8811508371647627,-0.9946137998500504
+1.221382959847122,0.7435723788584616
+0.8582659710160577,0.10195141415773967
+-0.29731429953632615,-0.07854294977443549
+1.6058530750716025,-1.277914075498575
+0.6354977717461221,0.41624741586270453
+0.48982536183007763,0.5702226827915431
+0.852002777312419,-0.748497252973731
+0.1248412940604775,0.25280368312384227
+-0.4234784873860531,0.05523598137683439
+0.8869662766923759,-0.84168624757332
+0.5391281263441496,-0.626650664371439
+0.2224078413378842,-0.05252808510185333
+0.5135114155644002,-0.14643000602201828
+1.4129824937714837,-1.0578741218251442
+0.03859807807159629,-0.33805143087811157
+0.7641528800625704,-0.5020380470120454
+1.3320111354044222,-0.8530479264906132
+0.5335942312188809,-0.3221429442878915
+-0.4425450966876885,-0.028391931605986083
+0.9884763956462119,-1.0200360173731713
+-0.3848156013771457,1.5886319052406077
+1.117762281709411,-1.3431860384510108
+-0.20728254864437906,1.6742727833108102
+1.4600047214561096,-2.1877760703792584
+0.9129770148581722,-0.7252183138396474
+-0.43624808890596545,1.1890236341129723
+0.20352268446609917,-0.06192766600870225
+1.441627600860417,-1.0860086120009524
+0.10371507682831782,-0.12493993650317559
+-0.5355155898783965,1.1764162559027218
+1.221382959847122,0.7435723788584616
+0.8582659710160577,0.10195141415773967
+0.837980891277991,-0.15887228595230907
+1.1968256002105213,-1.1694659700523604
+0.6354977717461221,0.41624741586270453
+0.48982536183007763,0.5702226827915431
+0.852002777312419,-0.748497252973731
+0.1248412940604775,0.25280368312384227
+-0.4234784873860531,0.05523598137683439
+-0.6471149541004146,1.069706406246684
+0.3361835118885895,0.28050207597800786
+-0.5729839160292524,0.6791970230572326
+0.1562147247841717,0.23913695848674618
+0.43798692500477054,-0.10993118839690497
+0.03859807807159629,-0.33805143087811157
+-0.38422660329315284,0.2406215018049958
+1.3320111354044222,-0.8530479264906132
+0.5335942312188809,-0.3221429442878915
+-0.4425450966876885,-0.028391931605986083
+0.9884763956462119,-1.0200360173731713
+-0.3848156013771457,1.5886319052406077
+1.258915932322819,-1.428464182172747
+-0.20728254864437906,1.6742727833108102
+1.3581057626934518,-0.17206784214385562
+0.9129770148581722,-0.7252183138396474
+-0.30169193991546506,0.8080931775288152
+1.16392298033275,-0.976910827477879
+-0.6251087465303639,0.44602842392517816
+0.10371507682831782,-0.12493993650317559
+-0.5355155898783965,1.1764162559027218
+-0.7147538391685275,0.9036763373861405
+1.4773789973367575,-1.7507131320116847
+0.837980891277991,-0.15887228595230907
+1.1968256002105213,-1.1694659700523604
+0.17455212923206148,0.13666644348861917
+-0.08006856545755094,0.2197850741636615
+0.852002777312419,-0.748497252973731
+0.8000084854306724,-0.7005766359201666
+-0.4234784873860531,0.05523598137683439
+-0.6471149541004146,1.069706406246684
+0.7132171640925727,1.435558503857359
+-0.6054564920517859,0.9045876714347423
+0.18797991777621637,1.244633929231178
+1.1134315514208915,-1.2006030440174924
+0.03859807807159629,-0.33805143087811157
+-0.2583469313505161,2.034270950456886
+1.3320111354044222,-0.8530479264906132
+-0.4231520760380695,0.4729565184250412
+-0.4425450966876885,-0.028391931605986083
+0.6890401058664306,-0.8588048202065242
+0.8639015786596359,-0.7737322263642126
+1.258915932322819,-1.428464182172747
+1.346284102648693,-0.8110713696117473
+1.3581057626934518,-0.17206784214385562
+0.6341449448036962,1.1115272062253088
+-0.30169193991546506,0.8080931775288152
+-0.6013699771752394,-0.5899363099579062
+-0.6251087465303639,0.44602842392517816
+0.10371507682831782,-0.12493993650317559
+-0.5355155898783965,1.1764162559027218
+1.156876600693826,-0.6775208641761817
+1.4773789973367575,-1.7507131320116847
+0.5204135321126102,2.1504508005301943
+-0.6499692894715112,1.6680875616893673
+0.7768398636852498,-0.3762417662732849
+1.0532388681842346,-1.3757870859395753
+-0.2844018533944036,-0.27638288382136117
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+-0.09073225806853913,1.2774485708910706
+0.7132171640925727,1.435558503857359
+-0.6054564920517859,0.9045876714347423
+0.18797991777621637,1.244633929231178
+1.1134315514208915,-1.2006030440174924
+-0.16454154161654194,0.07511269339737081
+-0.2583469313505161,2.034270950456886
+1.3320111354044222,-0.8530479264906132
+-0.3015831036096229,1.839693752197661
+-0.4425450966876885,-0.028391931605986083
+-0.2932045748497669,1.4135369311789907
+0.8639015786596359,-0.7737322263642126
+0.019739021194706843,0.8666257444780048
+1.346284102648693,-0.8110713696117473
+1.3581057626934518,-0.17206784214385562
+0.5584051784311156,0.7255166930233397
+0.572845049213925,-0.25710945993512635
+-0.20892054103316182,0.8316273708576932
+-0.6251087465303639,0.44602842392517816
+0.10371507682831782,-0.12493993650317559
+1.4500265655278266,-1.9055601044463448
+1.156876600693826,-0.6775208641761817
+1.4773789973367575,-1.7507131320116847
+0.19497095622719152,0.026360452283654023
+-0.6966098455025723,1.0876786927431232
+0.7768398636852498,-0.3762417662732849
+-0.7478333575038474,1.3266588954151644
+0.8410707089475871,1.1692913765568334
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+-0.09073225806853913,1.2774485708910706
+0.7132171640925727,1.435558503857359
+-0.6054564920517859,0.9045876714347423
+0.6953730005076475,1.0203880307660413
+0.3151516948609374,1.2824756494657221
+-0.16454154161654194,0.07511269339737081
+0.25100254364172603,2.0296250530735196
+0.038349345213420954,1.6547833598215935
+0.18033698844187174,0.670983828430556
+-0.4425450966876885,-0.028391931605986083
+0.5770516076504413,-0.36453912195957305
+0.8639015786596359,-0.7737322263642126
+0.25360879651909823,-0.025219245697709516
+1.346284102648693,-0.8110713696117473
+1.3581057626934518,-0.17206784214385562
+0.5584051784311156,0.7255166930233397
+0.572845049213925,-0.25710945993512635
+-0.04082616877295642,-0.1247986132426051
+-0.08829748567607787,1.1141252496744853
+-0.8711058959603248,0.496468464696853
+1.985104454465197,-2.501271013091576
+1.156876600693826,-0.6775208641761817
+1.4773789973367575,-1.7507131320116847
+-0.10676105850695866,0.26833660301684814
+-0.08909376958910797,0.01750919038243482
+-0.4086651026416649,1.132566680758726
+1.0623758387753839,0.3800872612844546
+-0.40389984278842006,0.8747636088415288
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+-0.4611481691267813,0.0004825414590426541
+0.2813411995879867,-0.14428306175449834
+-0.6054564920517859,0.9045876714347423
+1.3158300156460156,-1.3749104982192106
+0.3151516948609374,1.2824756494657221
+0.7671022227737131,-0.28253722581775265
+0.25100254364172603,2.0296250530735196
+0.038349345213420954,1.6547833598215935
+1.0236639591474535,0.6351182286894461
+1.1980036584249962,-0.160855914918704
+0.5770516076504413,-0.36453912195957305
+-0.5659397781853654,-0.34142355290253024
+0.3828934054578351,0.12843453589090176
+1.346284102648693,-0.8110713696117473
+1.0446563040334884,-0.5458267954454367
+-0.2816896026314667,1.8671842783535122
+1.5815898193408215,-1.3508110770649058
+0.17151027403852456,2.1654618021731022
+-0.08829748567607787,1.1141252496744853
+-0.8711058959603248,0.496468464696853
+-0.014981354901024257,1.9963569310259284
+0.5692691711869307,0.8017935493482191
+1.4773789973367575,-1.7507131320116847
+-0.4967854410549867,0.043831924478202056
+-0.08909376958910797,0.01750919038243482
+-0.4086651026416649,1.132566680758726
+-0.36961363806353165,-0.004562881664649243
+1.1685351277859721,0.5027594036682602
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+-0.4611481691267813,0.0004825414590426541
+0.2813411995879867,-0.14428306175449834
+-0.6054564920517859,0.9045876714347423
+1.3158300156460156,-1.3749104982192106
+-0.5163123200153918,0.35610107986063066
+0.7671022227737131,-0.28253722581775265
+0.25100254364172603,2.0296250530735196
+1.483863937227767,-1.2765185090973046
+1.0236639591474535,0.6351182286894461
+1.1980036584249962,-0.160855914918704
+0.5770516076504413,-0.36453912195957305
+-0.5659397781853654,-0.34142355290253024
+-0.14092159839622465,0.18704807317297417
+1.346284102648693,-0.8110713696117473
+1.3334431937134852,-0.464642253400774
+-0.2816896026314667,1.8671842783535122
+1.3252783665142338,-1.5108568614245494
+0.17151027403852456,2.1654618021731022
+-0.9727290051116072,-0.38779460833212914
+1.6955332568616053,-1.9765194645280375
+-0.014981354901024257,1.9963569310259284
+0.5692691711869307,0.8017935493482191
+1.4773789973367575,-1.7507131320116847
+-0.4967854410549867,0.043831924478202056
+-0.08909376958910797,0.01750919038243482
+-0.4086651026416649,1.132566680758726
+-0.9329472788050229,-0.1706329099931863
+1.1685351277859721,0.5027594036682602
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+1.3379145059406796,-0.7321041242428288
+0.2813411995879867,-0.14428306175449834
+-0.6054564920517859,0.9045876714347423
+1.3158300156460156,-1.3749104982192106
+-0.5163123200153918,0.35610107986063066
+0.06549238930398593,1.9866280514698884
+0.25100254364172603,2.0296250530735196
+1.483863937227767,-1.2765185090973046
+1.0236639591474535,0.6351182286894461
+1.1980036584249962,-0.160855914918704
+0.5770516076504413,-0.36453912195957305
+0.2985474486198274,0.6084072512047896
+-0.45460280154396804,1.9990717989377074
+1.3454304440949731,-1.8908306185427255
+0.1975792666460321,0.023044233104634326
+-0.41279949760325263,-0.37832579830583735
+1.3252783665142338,-1.5108568614245494
+-0.6137159123918148,1.565377561172856
+-0.9727290051116072,-0.38779460833212914
+1.2813589621759922,-1.8007669287922465
+-0.014981354901024257,1.9963569310259284
+0.5692691711869307,0.8017935493482191
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.08909376958910797,0.01750919038243482
+0.5978394394698106,-0.054545953150203046
+-0.9329472788050229,-0.1706329099931863
+1.1685351277859721,0.5027594036682602
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+0.17720076901756582,-0.08739789283367894
+-0.27858236442552486,0.1948175594262024
+-0.5152257778629157,0.12546624179305532
+0.9468289022241956,-0.9848413059466534
+-0.5163123200153918,0.35610107986063066
+0.06549238930398593,1.9866280514698884
+-0.19732885314129534,-0.09556082466526061
+-0.1457281079378005,0.7820795629426404
+0.29008759754216634,-0.6001105470705128
+1.2786288449920615,-0.6907369493898392
+0.5770516076504413,-0.36453912195957305
+1.2564785018346014,-0.3058795087913581
+-0.45460280154396804,1.9990717989377074
+0.5214216177794271,0.4576629097709777
+-0.7287059929594765,0.4254739350108019
+0.7250919931291162,-0.25030459765377755
+-0.4938742631295487,1.6853627084366947
+-0.6137159123918148,1.565377561172856
+-0.4148830854935964,1.032031752788209
+0.5236434872295637,1.0649040454712448
+-0.014981354901024257,1.9963569310259284
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.08909376958910797,0.01750919038243482
+0.5978394394698106,-0.054545953150203046
+1.0074237076240276,-0.7044542380524415
+1.1685351277859721,0.5027594036682602
+0.8121376568303514,1.4766060682196613
+-0.4234784873860531,0.05523598137683439
+0.17720076901756582,-0.08739789283367894
+0.7665291933986382,-1.0390365343985335
+-0.5152257778629157,0.12546624179305532
+-0.5319354526895067,0.05133712179578981
+-0.5163123200153918,0.35610107986063066
+0.06549238930398593,1.9866280514698884
+-0.19732885314129534,-0.09556082466526061
+0.7618072785844995,0.24415490969506115
+1.4095209887572357,-0.5543037031682427
+1.2786288449920615,-0.6907369493898392
+0.5770516076504413,-0.36453912195957305
+1.2564785018346014,-0.3058795087913581
+0.8302767902411458,1.1124548265326384
+0.5214216177794271,0.4576629097709777
+-0.8420322376373869,-0.38990758521714947
+0.7250919931291162,-0.25030459765377755
+-0.4938742631295487,1.6853627084366947
+-0.6137159123918148,1.565377561172856
+-0.8891006668087443,0.1234721712300248
+0.5236434872295637,1.0649040454712448
+-0.014981354901024257,1.9963569310259284
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.08909376958910797,0.01750919038243482
+-0.08589563760703722,1.5498857718720702
+1.0074237076240276,-0.7044542380524415
+1.1685351277859721,0.5027594036682602
+0.8747716694712798,0.5278587714103254
+-0.4234784873860531,0.05523598137683439
+0.43176352009571206,-0.18083140894587096
+0.7665291933986382,-1.0390365343985335
+-0.5152257778629157,0.12546624179305532
+-0.41398647048062004,-0.1354869230638116
+-0.38127457599567527,0.9690936580442033
+0.06549238930398593,1.9866280514698884
+-0.19732885314129534,-0.09556082466526061
+0.8087035919288161,-0.35774282035779426
+0.5264087100924477,-0.3392814955277549
+1.2786288449920615,-0.6907369493898392
+-0.3623552810020975,0.4282646852184283
+1.2564785018346014,-0.3058795087913581
+0.8302767902411458,1.1124548265326384
+-0.011241930869600777,-0.23089597703714443
+-0.8420322376373869,-0.38990758521714947
+0.9211518316015676,-0.8171705624287453
+-0.4938742631295487,1.6853627084366947
+-0.6137159123918148,1.565377561172856
+-0.8891006668087443,0.1234721712300248
+0.5236434872295637,1.0649040454712448
+-0.014981354901024257,1.9963569310259284
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.08909376958910797,0.01750919038243482
+-0.08589563760703722,1.5498857718720702
+0.6307267818754636,0.90400633506001
+1.1685351277859721,0.5027594036682602
+0.8747716694712798,0.5278587714103254
+-0.4234784873860531,0.05523598137683439
+0.43176352009571206,-0.18083140894587096
+0.7665291933986382,-1.0390365343985335
+-0.5152257778629157,0.12546624179305532
+1.0903486072105837,-0.5157662555083653
+-0.42775038727896836,-0.019286137853632646
+0.06549238930398593,1.9866280514698884
+-0.19732885314129534,-0.09556082466526061
+-0.45027695757508396,1.2745247521082639
+0.7597961988832689,-1.0502104458484278
+1.2786288449920615,-0.6907369493898392
+-0.039832591999700157,-0.29416357668844606
+1.2564785018346014,-0.3058795087913581
+0.8302767902411458,1.1124548265326384
+1.4196854072666447,-0.24787398051988185
+-0.8420322376373869,-0.38990758521714947
+0.9211518316015676,-0.8171705624287453
+-0.4938742631295487,1.6853627084366947
+-0.6137159123918148,1.565377561172856
+-0.8891006668087443,0.1234721712300248
+0.21643700303620728,-0.4877991644437148
+-0.014981354901024257,1.9963569310259284
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.08909376958910797,0.01750919038243482
+0.7886603498126182,0.6392359657213318
+-0.3872776614940838,0.6959672994143913
+1.1685351277859721,0.5027594036682602
+0.8747716694712798,0.5278587714103254
+-0.4234784873860531,0.05523598137683439
+-0.5972243113715976,1.4033709091805386
+0.5480674533191121,-0.22890137168755476
+0.25864971911653234,0.21261524313672558
+1.0903486072105837,-0.5157662555083653
+-0.42775038727896836,-0.019286137853632646
+0.06549238930398593,1.9866280514698884
+1.1178470509751985,-1.8479605390477667
+-0.45027695757508396,1.2745247521082639
+0.9162650958563293,-0.729722123706943
+0.03634603701450499,2.3128211783426766
+-0.221293460625758,0.9752621612121726
+1.0098941739239689,-0.4160953417421236
+0.8302767902411458,1.1124548265326384
+0.14972063369152674,2.404065601156384
+-0.32307158466533664,1.7519869380108735
+1.1065317334289009,0.4461203486741926
+-0.4018830590236899,1.5946881118481921
+0.6633372223113527,-0.19831990097570185
+-0.8891006668087443,0.1234721712300248
+0.21643700303620728,-0.4877991644437148
+0.4233453679490111,1.4878104801242549
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+0.44338365042956673,-0.20186508546570092
+0.2816254467347983,-0.4523055538310447
+0.23444321073377128,0.9567082196898521
+1.1685351277859721,0.5027594036682602
+0.09270783641200694,1.5061894015491843
+-0.6446425078985574,-0.11894265184638397
+-0.5972243113715976,1.4033709091805386
+1.2790683104006024,-1.6424414499658146
+-0.4203244982078127,0.016476422755099668
+1.0903486072105837,-0.5157662555083653
+1.4879288608253272,-1.6469531440509966
+0.06549238930398593,1.9866280514698884
+-0.3276430661121169,2.4336783545381664
+-0.45027695757508396,1.2745247521082639
+0.9162650958563293,-0.729722123706943
+0.03634603701450499,2.3128211783426766
+-0.221293460625758,0.9752621612121726
+1.0098941739239689,-0.4160953417421236
+0.8302767902411458,1.1124548265326384
+0.14972063369152674,2.404065601156384
+1.4041819906011024,-0.22180892372875438
+-0.184661625533173,-0.15735704131720196
+-0.4018830590236899,1.5946881118481921
+0.3432094788144334,-0.5685993103957903
+-0.8891006668087443,0.1234721712300248
+0.2680484985816183,1.3093205366336376
+-0.4184083627354045,1.2417926672467534
+1.0829630837242181,-1.169254633292987
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+0.44338365042956673,-0.20186508546570092
+-0.018456752768006235,-0.0839803435114456
+0.3486978847948775,2.2044623679878894
+1.6405168078574353,-1.5653874582496892
+0.09270783641200694,1.5061894015491843
+-0.6446425078985574,-0.11894265184638397
+-0.5972243113715976,1.4033709091805386
+1.2790683104006024,-1.6424414499658146
+-0.4203244982078127,0.016476422755099668
+0.8255658892108602,-0.9431177126136984
+0.47835815305041574,1.6457003893578457
+0.06549238930398593,1.9866280514698884
+-0.3276430661121169,2.4336783545381664
+-0.45027695757508396,1.2745247521082639
+0.9162650958563293,-0.729722123706943
+0.03634603701450499,2.3128211783426766
+-0.221293460625758,0.9752621612121726
+1.0098941739239689,-0.4160953417421236
+0.8302767902411458,1.1124548265326384
+0.14972063369152674,2.404065601156384
+-0.12624614796881398,-0.25267491831569155
+-0.49787453010662097,1.2478379675488271
+0.7923631525712828,1.188816781137772
+0.3432094788144334,-0.5685993103957903
+-0.8891006668087443,0.1234721712300248
+0.3495735105387548,0.4796153833958837
+-0.4402941766746128,0.18031319217430064
+0.07780022688383487,-0.3280618702278184
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+-0.4348379242465097,-0.1674668972810589
+-0.018456752768006235,-0.0839803435114456
+0.7745366858227989,1.1504211296817608
+0.4597482599091104,0.3907352478015653
+1.634144229182924,-1.2459933708278708
+-0.6446425078985574,-0.11894265184638397
+-0.5972243113715976,1.4033709091805386
+0.442617106933708,-0.408531376544935
+0.549901426984402,-1.0400826639970968
+0.8255658892108602,-0.9431177126136984
+0.47835815305041574,1.6457003893578457
+0.9224632829223007,-0.38583586749595844
+0.021669230870766484,1.415627943517534
+-0.45027695757508396,1.2745247521082639
+0.9162650958563293,-0.729722123706943
+-0.5436737929095293,1.5465846492549418
+0.5792411287595365,1.4714789909362882
+-0.2685093074485986,1.126070526259222
+0.8302767902411458,1.1124548265326384
+0.152734328060951,1.2540614737427376
+-0.12624614796881398,-0.25267491831569155
+-0.49787453010662097,1.2478379675488271
+0.7923631525712828,1.188816781137772
+-0.10316785646604199,0.7210974927498275
+1.2328062856206288,-0.8920387723188867
+0.5723454331976623,1.2975783056003227
+-0.4402941766746128,0.18031319217430064
+1.0497011253271011,-0.6032912013296313
+1.4773789973367575,-1.7507131320116847
+-0.33881196360395116,1.8430601642195483
+0.16694592582993645,1.9526280313449909
+0.7077618232822855,0.945959552972164
+-0.4259864675121209,0.5344411611607494
+0.011572870116693446,1.3855023891095293
+1.634144229182924,-1.2459933708278708
+-0.6446425078985574,-0.11894265184638397
+0.7670556910262364,1.2967110300268676
+0.442617106933708,-0.408531376544935
+1.0891849184004099,-0.5909034879483545
+0.8255658892108602,-0.9431177126136984
+0.9757591549624565,-0.8932835543568913
+0.9224632829223007,-0.38583586749595844
+-0.41458126125359285,1.8077438620378088
+-0.7700659401116932,0.7689698633014473
+1.4869705376585127,-0.9341046460360405
+-0.5436737929095293,1.5465846492549418
+-0.5406153397909916,0.5589039829794418
+0.6560215910280672,1.1161861155930606
+1.539968808572783,-0.679641688554663
+-0.08416168602236229,1.9138317835669578
+1.6713760759222254,-1.321378659112193
+-0.49787453010662097,1.2478379675488271
+0.7923631525712828,1.188816781137772
+1.031364267854212,-0.8172707525451732
+1.2328062856206288,-0.8920387723188867
+0.9554131031156817,-0.4984102977250574
+-0.4402941766746128,0.18031319217430064
+-0.1295454965889251,0.1665649571468064
+-0.5397279212210566,-0.03120549248675769
+-0.33881196360395116,1.8430601642195483
+1.0211411251842089,0.907215626376682
+1.5613695347040082,-0.5756237386617733
+-0.4259864675121209,0.5344411611607494
+1.0097662594489514,0.57022644055546
+1.247805542292508,-1.42748960138467
+-0.6446425078985574,-0.11894265184638397
+0.06350276731212168,1.3876885887224266
+0.442617106933708,-0.408531376544935
+-0.02156944430245831,1.2801596583069326
+0.6091858489031149,0.1165851720251706
+0.9757591549624565,-0.8932835543568913
+1.2081600940248318,-0.9548319615676734
+-0.41458126125359285,1.8077438620378088
+1.6586891302565516,-1.8692055807737933
+1.4869705376585127,-0.9341046460360405
+-0.5436737929095293,1.5465846492549418
+-0.5406153397909916,0.5589039829794418
+-0.3804165259776259,0.026344881579961177
+1.539968808572783,-0.679641688554663
+-0.6514324958356958,1.2520212916142146
+1.631492319367944,-1.0646333810371231
+-0.49787453010662097,1.2478379675488271
+0.7923631525712828,1.188816781137772
+-0.7184353533110683,0.7624865345731373
+0.6936055113686489,-0.10288433686969056
+-0.6278059504178588,0.17344894990685214
+0.4149482452079273,1.6655635699833884
+-0.1295454965889251,0.1665649571468064
+-0.5397279212210566,-0.03120549248675769
+-0.33881196360395116,1.8430601642195483
+1.0211411251842089,0.907215626376682
+0.5846846294749138,0.9690326881081432
+0.7649879838565078,-0.4454366489889159
+1.0097662594489514,0.57022644055546
+1.8059916691629596,-2.122514997807558
+-0.6446425078985574,-0.11894265184638397
+0.5600986098910951,-0.6032379269272979
+-0.11426554298242408,1.3606706167794247
+0.5325695517485947,1.74162929237756
+0.5713310587558826,0.23811253326501958
+0.9757591549624565,-0.8932835543568913
+0.9938572799767682,0.15709096389903388
+-0.41458126125359285,1.8077438620378088
+1.6586891302565516,-1.8692055807737933
+-0.5823085043829469,0.727523912085021
+1.6363460166473625,-1.119088118063324
+-0.5406153397909916,0.5589039829794418
+-0.3833300522597898,2.035989244566828
+-0.3507401688918213,0.3859679142336978
+1.308781131262219,0.2518808838753317
+-0.4471487319724215,0.13737890543069517
+-0.49787453010662097,1.2478379675488271
+0.7923631525712828,1.188816781137772
+-0.36640203271006183,1.6230632494091535
+0.6936055113686489,-0.10288433686969056
+-0.6278059504178588,0.17344894990685214
+0.4149482452079273,1.6655635699833884
+-0.1295454965889251,0.1665649571468064
+-0.5397279212210566,-0.03120549248675769
+0.042252163844870266,0.07503828613902248
+1.0211411251842089,0.907215626376682
+-0.23741917804056623,-0.22965394551260976
+0.21257356058152654,0.6530340155487566
+1.0097662594489514,0.57022644055546
+1.8059916691629596,-2.122514997807558
+-0.014423908619973669,0.02737185311135018
+1.3690638273464653,-0.39829650571377195
+0.6633180209243252,-0.6247355923523145
+0.5325695517485947,1.74162929237756
+1.4219242849362166,-1.1590105454195447
+0.29510966936384325,1.783567165567434
+0.9938572799767682,0.15709096389903388
+-0.41458126125359285,1.8077438620378088
+1.6586891302565516,-1.8692055807737933
+-0.5823085043829469,0.727523912085021
+1.6363460166473625,-1.119088118063324
+-0.5406153397909916,0.5589039829794418
+-0.3833300522597898,2.035989244566828
+-0.3507401688918213,0.3859679142336978
+1.308781131262219,0.2518808838753317
+-0.4713339056649571,1.3179925862524566
+-0.49787453010662097,1.2478379675488271
+0.5391052756440501,0.12708256447569174
+0.39540479373818055,1.5745948620742756
+0.6936055113686489,-0.10288433686969056
+-0.6278059504178588,0.17344894990685214
+0.4149482452079273,1.6655635699833884
+-0.1295454965889251,0.1665649571468064
+-0.5397279212210566,-0.03120549248675769
+1.0140224869275403,-1.6918265013144982
+-0.6313311994498845,1.1329958772819253
+-0.23741917804056623,-0.22965394551260976
+0.7654196652150721,0.10287804456670047
+-0.6825952293615454,1.5432872863701197
+1.34641529403345,-0.15559210730597778
+-0.014423908619973669,0.02737185311135018
+-0.07740073827510408,-0.11836317795617368
+0.6633180209243252,-0.6247355923523145
+0.5325695517485947,1.74162929237756
+1.4219242849362166,-1.1590105454195447
+0.29510966936384325,1.783567165567434
+0.9938572799767682,0.15709096389903388
+-0.41458126125359285,1.8077438620378088
+1.6329118324716299,-1.4159763395100136
+-0.22207587927437383,0.2925006978294923
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.3833300522597898,2.035989244566828
+0.2942326124673982,-0.263313566759687
+1.308781131262219,0.2518808838753317
+-0.4713339056649571,1.3179925862524566
+1.1149896870089404,-1.001927971982859
+0.8331427520561713,0.1049808086984243
+-0.36955602177417146,1.0575648138842644
+-0.3526707446501983,0.21397992856591866
+1.4144698431682334,-0.21400031061616298
+-0.505749262093363,1.197182869598248
+-0.009299275443455657,2.1774999339955388
+-0.15711196676803332,1.7532129022588088
+-0.47663411651706356,2.2204183139266687
+-0.5895401616292414,0.7034966808035825
+-0.5081387873517726,2.090123663961557
+1.2596640277757791,-0.6464532196827167
+0.4947112002261408,1.771065330210633
+1.34641529403345,-0.15559210730597778
+-0.014423908619973669,0.02737185311135018
+1.117083820346399,-0.9428819755226504
+0.19969512542676726,1.103196363947181
+0.5325695517485947,1.74162929237756
+-0.16904661263027632,-0.05553707962274572
+0.29510966936384325,1.783567165567434
+-0.22950069877960044,1.9577646924353695
+-0.41458126125359285,1.8077438620378088
+-0.8975679797965223,0.7127787592172883
+-0.07418688232659848,1.3042480793403528
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.3833300522597898,2.035989244566828
+-0.3762658905065542,-0.01592241387402417
+1.0855194557293952,-0.3915536449280105
+-0.4569847456930641,0.5356376194839798
+1.1149896870089404,-1.001927971982859
+-0.7652154289629551,0.888420665566132
+-0.36955602177417146,1.0575648138842644
+-0.3526707446501983,0.21397992856591866
+0.6802798499886513,-0.18897828073194506
+1.1190767578418632,0.3210198009555102
+-0.009299275443455657,2.1774999339955388
+-0.15711196676803332,1.7532129022588088
+1.3717179960903234,-1.3128852147067576
+-0.5895401616292414,0.7034966808035825
+-0.6227870309176998,0.6797571401365132
+0.5147053746470145,-0.8201901567040351
+-0.4298777214275912,0.12844971573941355
+-0.071173604785929,2.2098404897969943
+0.6535421423924113,-0.038515636143764076
+1.117083820346399,-0.9428819755226504
+-0.6791031004652861,1.339876031334133
+0.5325695517485947,1.74162929237756
+-0.16904661263027632,-0.05553707962274572
+0.29510966936384325,1.783567165567434
+1.3174468122737932,-1.2126125416576221
+-0.41458126125359285,1.8077438620378088
+1.7059650575558591,-1.75473810256733
+1.162908545060792,0.6841989713916842
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.3833300522597898,2.035989244566828
+-0.3762658905065542,-0.01592241387402417
+1.0855194557293952,-0.3915536449280105
+-0.12188716276338754,1.749680942243715
+1.1149896870089404,-1.001927971982859
+-0.7652154289629551,0.888420665566132
+-0.36955602177417146,1.0575648138842644
+-0.3526707446501983,0.21397992856591866
+0.30092355954172234,0.6854713768431995
+1.1190767578418632,0.3210198009555102
+-0.009299275443455657,2.1774999339955388
+-0.15711196676803332,1.7532129022588088
+1.3717179960903234,-1.3128852147067576
+-0.13209548732027077,2.0247389191147116
+-0.6227870309176998,0.6797571401365132
+1.3051993165137965,-0.567277382300303
+-0.4298777214275912,0.12844971573941355
+0.9711532573564674,0.042860383047289785
+0.2532841348638982,-0.6155673481861135
+1.117083820346399,-0.9428819755226504
+0.15777778258383363,0.7931458115996436
+1.5442657044033605,-0.3798045976992352
+-0.16904661263027632,-0.05553707962274572
+0.29510966936384325,1.783567165567434
+0.04971295370006726,-0.4529065307451171
+-0.7477457269405093,0.20010342354662664
+0.5033790908838478,1.4916826934950373
+-0.16040720734240063,1.733562077997591
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.7650345588950478,1.2056616832645988
+-0.3762658905065542,-0.01592241387402417
+-0.47934777515436505,1.6737396855271913
+0.5038368234265416,0.7521554889138207
+1.1149896870089404,-1.001927971982859
+-0.7652154289629551,0.888420665566132
+-0.36955602177417146,1.0575648138842644
+-0.6120054958465104,1.4170112291273047
+-0.5747856342183221,-0.30285223199130595
+1.1190767578418632,0.3210198009555102
+-0.878259591805787,0.3453498856332562
+0.39777983708829157,-0.6803627324468722
+1.3717179960903234,-1.3128852147067576
+1.1677093903929254,-0.5391266764279087
+0.14341527831730017,-0.14601781493730587
+1.207228127441181,-1.0989617418764248
+-0.276296500672476,0.20344710835511493
+-0.1388229221236655,-0.3866192331863084
+0.09703642526165521,0.549930106012956
+1.117083820346399,-0.9428819755226504
+0.15777778258383363,0.7931458115996436
+1.5442657044033605,-0.3798045976992352
+-0.24375476943578714,1.906045419821746
+0.29510966936384325,1.783567165567434
+0.04971295370006726,-0.4529065307451171
+-0.7477457269405093,0.20010342354662664
+0.5033790908838478,1.4916826934950373
+-0.16040720734240063,1.733562077997591
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.7650345588950478,1.2056616832645988
+0.3306993090845134,0.40776013409267675
+-0.49653059932986654,0.6223056788048678
+0.6741081121162094,-0.8758080189646288
+1.1149896870089404,-1.001927971982859
+0.18794052611218975,-0.24708970730331759
+-0.36955602177417146,1.0575648138842644
+-0.6120054958465104,1.4170112291273047
+0.5925748989411252,1.3172490344909147
+1.1190767578418632,0.3210198009555102
+-0.878259591805787,0.3453498856332562
+0.43330769150887993,1.6503806191257973
+1.3717179960903234,-1.3128852147067576
+-0.19104295201748922,1.907936113779514
+0.33224727913154883,1.4269381365018399
+-0.4306686134580012,0.24241933382589972
+-0.276296500672476,0.20344710835511493
+-0.1388229221236655,-0.3866192331863084
+0.09703642526165521,0.549930106012956
+0.7786214655743374,-0.9286134950511931
+0.15777778258383363,0.7931458115996436
+0.9743030954913786,0.3875024898154643
+-0.6976141863014294,0.38375992455469876
+0.29510966936384325,1.783567165567434
+0.04971295370006726,-0.4529065307451171
+-0.9833526200463076,0.2907805090600878
+-0.6123946154335642,-0.10673334335233182
+0.7920040573883816,-0.6244700795288558
+0.2582922055381912,1.9487485928456987
+1.4472413749140247,-1.6460027862414233
+-0.7650345588950478,1.2056616832645988
+0.3306993090845134,0.40776013409267675
+-0.7925173754295581,0.9372386613910284
+0.6741081121162094,-0.8758080189646288
+1.1149896870089404,-1.001927971982859
+-0.2682093281729897,0.38820849125191115
+1.723053031586352,-1.1747674448688175
+-0.5703990487585499,-0.10399353400426914
+-0.6830785675125678,0.8588197655222325
+1.1190767578418632,0.3210198009555102
+-0.4812463303926203,0.699496500438495
+-0.939200395531649,0.340641344328221
+1.3717179960903234,-1.3128852147067576
+-0.4379565400817136,1.9713341289827389
+0.1838193704863979,-0.24576953839400473
+-0.24577118295341596,1.1193888134984529
+-0.276296500672476,0.20344710835511493
+0.17815756196343957,-0.0009196696716419483
+0.43841826078652635,0.28234337677431565
+0.7786214655743374,-0.9286134950511931
+0.440603887023845,-0.6692043686333717
+0.9743030954913786,0.3875024898154643
+-0.6976141863014294,0.38375992455469876
+0.29510966936384325,1.783567165567434
+-0.7151771080897029,1.718089479703083
+-0.9833526200463076,0.2907805090600878
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+0.2582922055381912,1.9487485928456987
+-0.517993623784005,0.8358359970104077
+-0.7650345588950478,1.2056616832645988
+0.3306993090845134,0.40776013409267675
+-0.7925173754295581,0.9372386613910284
+-0.5848264946330798,0.5702015331304496
+1.1149896870089404,-1.001927971982859
+-0.2682093281729897,0.38820849125191115
+1.1314825296741717,0.15291253300203614
+-0.5703990487585499,-0.10399353400426914
+-0.589099173396793,-0.19144857110903712
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+-0.6996782941867782,0.4835725612791837
+1.3717179960903234,-1.3128852147067576
+-0.4379565400817136,1.9713341289827389
+0.03508153763541583,0.293163902901874
+0.6767811885819981,-0.7568580860492847
+1.3479436096732211,-0.515487192599532
+0.17815756196343957,-0.0009196696716419483
+-0.5641675798692537,1.0425961392041414
+0.7786214655743374,-0.9286134950511931
+0.14781418728298498,-0.2712421368579423
+0.9743030954913786,0.3875024898154643
+-0.8754564813183823,-0.36560582709511735
+0.29510966936384325,1.783567165567434
+-0.2897282547530965,2.2857245845271663
+0.5862578015211588,-0.6534388479396572
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+0.2582922055381912,1.9487485928456987
+1.050205239722049,-0.037442584183211836
+-0.7650345588950478,1.2056616832645988
+0.3306993090845134,0.40776013409267675
+-0.7925173754295581,0.9372386613910284
+-0.5783848410559067,-0.19212298823019766
+1.1149896870089404,-1.001927971982859
+0.9053768205604669,0.4832473939390153
+1.1314825296741717,0.15291253300203614
+0.38702330900833015,1.2766432705305677
+-0.589099173396793,-0.19144857110903712
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+0.46942167706501214,0.8858809373115615
+1.5923223895617946,-1.9668002398165887
+-0.4379565400817136,1.9713341289827389
+0.03508153763541583,0.293163902901874
+-0.2018726429437815,0.3635267744101872
+-0.4884643192847541,1.5425910994661745
+-0.17053038498753104,0.16759465673641114
+-0.5641675798692537,1.0425961392041414
+0.7786214655743374,-0.9286134950511931
+-0.5251911385339858,1.0701427958908956
+1.3683194529948834,-1.4639252713303867
+-0.8754564813183823,-0.36560582709511735
+-1.1334347827108888,-0.11683199583102477
+1.11287930048155,0.9421505683096739
+0.4073553712521823,-0.7020385231964351
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+0.2582922055381912,1.9487485928456987
+-0.8049902341660878,1.1398032355549144
+-0.7650345588950478,1.2056616832645988
+0.3306993090845134,0.40776013409267675
+-0.7925173754295581,0.9372386613910284
+-0.5783848410559067,-0.19212298823019766
+1.1149896870089404,-1.001927971982859
+0.9053768205604669,0.4832473939390153
+-0.45196680418650254,2.133464521732502
+-0.5603708890775418,0.7154708926871223
+-0.8341972121851189,-0.10467007662288184
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+0.04860846061850016,1.4439336445744981
+1.5923223895617946,-1.9668002398165887
+1.4223996108888124,-0.9795894620786328
+0.0036178231597924215,1.0760755816246772
+-0.29584930312515495,0.5047618504352865
+-0.10497667586391046,-0.09733437148594426
+-0.17053038498753104,0.16759465673641114
+-0.5641675798692537,1.0425961392041414
+1.639409276495501,-0.31507813660329986
+-0.5251911385339858,1.0701427958908956
+1.3683194529948834,-1.4639252713303867
+-0.6026194800880129,0.6809617610000535
+-1.1334347827108888,-0.11683199583102477
+1.11287930048155,0.9421505683096739
+0.4073553712521823,-0.7020385231964351
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+0.2582922055381912,1.9487485928456987
+-0.8049902341660878,1.1398032355549144
+-0.7650345588950478,1.2056616832645988
+1.7081863522785772,-2.38355118103169
+-0.7925173754295581,0.9372386613910284
+0.1653908579654585,0.08208067887684434
+1.1149896870089404,-1.001927971982859
+0.9053768205604669,0.4832473939390153
+-0.45196680418650254,2.133464521732502
+-0.07872202960175881,0.27577354243859964
+-0.8341972121851189,-0.10467007662288184
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+0.04860846061850016,1.4439336445744981
+1.5923223895617946,-1.9668002398165887
+1.4223996108888124,-0.9795894620786328
+0.0036178231597924215,1.0760755816246772
+0.6846687391046782,0.22393278385067578
+-0.5982693441151952,0.18541931483867985
+-0.17053038498753104,0.16759465673641114
+-0.5641675798692537,1.0425961392041414
+1.3701325987308675,-0.1372085094183726
+-0.5251911385339858,1.0701427958908956
+1.3683194529948834,-1.4639252713303867
+-0.4386170201135344,0.48161598774954284
+-1.1334347827108888,-0.11683199583102477
+1.11287930048155,0.9421505683096739
+-0.39728463612253795,1.6075385696450861
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+0.2582922055381912,1.9487485928456987
+-0.8049902341660878,1.1398032355549144
+0.1173884208766226,-0.1546717791361305
+1.7081863522785772,-2.38355118103169
+-0.08049885727325023,0.32112502231527174
+0.1653908579654585,0.08208067887684434
+0.3030625038718005,1.1217670259366508
+0.947357140391351,-0.2939384149030059
+-0.45196680418650254,2.133464521732502
+-0.20462769955008644,1.209309915308573
+-0.4879403632411787,0.24706178727014694
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+-0.7602540348811371,0.9006364309474317
+1.5923223895617946,-1.9668002398165887
+1.4223996108888124,-0.9795894620786328
+0.0036178231597924215,1.0760755816246772
+1.3634937593937906,-0.6106526530412192
+-0.5982693441151952,0.18541931483867985
+-0.28369609341952273,-0.00023752857345027412
+-0.5641675798692537,1.0425961392041414
+1.3701325987308675,-0.1372085094183726
+-0.33788554133392734,2.1801826672314055
+0.5643593947181047,-0.4573291833547517
+-0.16759674744939523,0.15111729403093532
+0.6315637726434411,1.1759155878294103
+1.11287930048155,0.9421505683096739
+-0.3550468135137298,1.4675289053530873
+-0.6123946154335642,-0.10673334335233182
+0.033229103013582506,1.6532616983445168
+-0.47585578553875657,0.9324382342474026
+-0.8049902341660878,1.1398032355549144
+0.1173884208766226,-0.1546717791361305
+1.2387807412188825,-1.2443585806623338
+-0.08049885727325023,0.32112502231527174
+0.1653908579654585,0.08208067887684434
+-0.20438223904540676,1.7350801357463326
+0.6598582366256436,0.9093023158393226
+-0.6213078228154837,-0.38483903738560366
+0.210439660828586,1.9999359484243697
+-0.578762993963152,0.04774323227164079
+1.1190767578418632,0.3210198009555102
+1.6288664146201783,-1.9693392634666105
+-0.7602540348811371,0.9006364309474317
+0.6862210786647148,0.1371685577779873
+1.4223996108888124,-0.9795894620786328
+0.7079182336858237,-0.6872314427732541
+1.3634937593937906,-0.6106526530412192
+-0.5982693441151952,0.18541931483867985
+-0.28369609341952273,-0.00023752857345027412
+0.18827686832491353,-0.30986455343457864
+1.3701325987308675,-0.1372085094183726
+-0.33788554133392734,2.1801826672314055
+0.30266494007673983,1.6835829580967911
+0.2291692561479063,-0.09047669838235455
+0.6315637726434411,1.1759155878294103
+1.11287930048155,0.9421505683096739
+-0.3550468135137298,1.4675289053530873
+0.3667076037925187,1.9098819298078011
+0.033229103013582506,1.6532616983445168
+0.09252983511783608,1.6908461674593798
+-0.8049902341660878,1.1398032355549144
+0.1173884208766226,-0.1546717791361305
+1.2387807412188825,-1.2443585806623338
+-0.5620767270755028,-0.07863352623850783
+0.1653908579654585,0.08208067887684434
+-0.20438223904540676,1.7350801357463326
+0.4781315003973279,0.2956732995163832
+-0.6256494180283575,0.6960997669378933
+-0.5051489777111583,0.42188405221167846
+-0.578762993963152,0.04774323227164079
+0.5774818468817811,0.14409657881106042
+1.6288664146201783,-1.9693392634666105
+-0.7602540348811371,0.9006364309474317
+0.21816758964623484,0.5423688907673629
+1.4223996108888124,-0.9795894620786328
+-0.23299414931623036,-0.2810156978269138
+1.1198055021825506,-1.061884685446019
+-0.3753640965458461,0.12589420206980767
+-0.28369609341952273,-0.00023752857345027412
+0.056677995866301345,1.9688229831483819
+-0.18052291704269036,-0.28392152992069597
+-0.5310530506013516,-0.10888855599199368
+-0.5032931607999114,0.6699010185195243
+0.5963823384180964,1.1793297271971366
+0.7859665646620473,1.4464311835420534
+1.11287930048155,0.9421505683096739
+-0.3550468135137298,1.4675289053530873
+0.7246504904402121,1.2390121385123432
+-0.32195413317184784,0.46716229929722264
+0.09252983511783608,1.6908461674593798
+-0.8049902341660878,1.1398032355549144
+0.19441287443684682,1.474413455412281
+1.2387807412188825,-1.2443585806623338
+0.11105211046795936,1.2861109835199154
+0.1653908579654585,0.08208067887684434
+-0.20438223904540676,1.7350801357463326
+-0.12429669703323507,0.420999426769624
+-0.6256494180283575,0.6960997669378933
+-0.5748999723557049,0.9166251148951701
+-0.3317079127090857,-0.10700102641453679
+0.5774818468817811,0.14409657881106042
+1.6288664146201783,-1.9693392634666105
+0.46872841137451005,1.8635739195540515
+0.3712770153100479,1.2179389731738264
+-0.60750102428782,0.061038061784120634
+-0.566631211987118,0.5414742654059397
+1.1198055021825506,-1.061884685446019
+-0.3753640965458461,0.12589420206980767
+-0.37038267815825354,2.1692872320825636
+0.5141567020654958,1.3120125481759968
+-0.8392055555530622,0.8730082445275161
+-0.5310530506013516,-0.10888855599199368
+0.9187807356052811,-0.7991936842318578
+0.5963823384180964,1.1793297271971366
+0.7859665646620473,1.4464311835420534
+0.8725062660046543,0.9602397045083052
+-0.3550468135137298,1.4675289053530873
+0.7246504904402121,1.2390121385123432
+-0.32195413317184784,0.46716229929722264
+0.09252983511783608,1.6908461674593798
+-0.8049902341660878,1.1398032355549144
+0.09929841781343762,1.122672792226789
+1.2387807412188825,-1.2443585806623338
+0.5759042582891737,1.2593910362933312
+1.013999590986626,-1.0600947632891788
+-0.20438223904540676,1.7350801357463326
+-0.8066663136370751,0.782835007661122
+-0.35888770064443226,1.445479173787981
+-0.5748999723557049,0.9166251148951701
+-0.3317079127090857,-0.10700102641453679
+0.5774818468817811,0.14409657881106042
+1.6288664146201783,-1.9693392634666105
+0.46872841137451005,1.8635739195540515
+-0.06906405901710311,2.57473225661566
+-0.60750102428782,0.061038061784120634
+-0.566631211987118,0.5414742654059397
+0.03989377905947156,1.3976289070373682
+-0.01036930125667651,1.2691488817643006
+-0.37038267815825354,2.1692872320825636
+0.5141567020654958,1.3120125481759968
+-0.8392055555530622,0.8730082445275161
+-0.5310530506013516,-0.10888855599199368
+0.9187807356052811,-0.7991936842318578
+1.4863713264543432,-1.3298652395104251
+0.7859665646620473,1.4464311835420534
+0.8725062660046543,0.9602397045083052
+-0.027008044996951475,1.3905860833775427
+1.632184146588106,-0.9125899430053819
+-0.32195413317184784,0.46716229929722264
+1.3944126509407895,-0.43129740512186165
+-0.8049902341660878,1.1398032355549144
+0.09929841781343762,1.122672792226789
+1.2387807412188825,-1.2443585806623338
+0.5759042582891737,1.2593910362933312
+1.013999590986626,-1.0600947632891788
+-0.20438223904540676,1.7350801357463326
+-0.0857827106577109,-0.38607971752271464
+1.2916914022055932,0.3480660654206168
+-0.5748999723557049,0.9166251148951701
+-0.3317079127090857,-0.10700102641453679
+0.5774818468817811,0.14409657881106042
+1.6288664146201783,-1.9693392634666105
+0.46872841137451005,1.8635739195540515
+-0.06906405901710311,2.57473225661566
+-0.60750102428782,0.061038061784120634
+1.1550351132775774,0.6012230131873635
+0.03989377905947156,1.3976289070373682
+0.43519706911411726,0.6721249865667709
+-0.21667478859855696,0.9224474218951892
+-0.38356449284214367,1.0829085686757833
+-0.47997088148800465,1.3221748529055593
+1.4353372867163343,-0.2932304743551779
+0.9187807356052811,-0.7991936842318578
+0.47447551992050874,1.4769896290338638
+0.7859665646620473,1.4464311835420534
+0.8725062660046543,0.9602397045083052
+-0.027008044996951475,1.3905860833775427
+1.632184146588106,-0.9125899430053819
+-0.32195413317184784,0.46716229929722264
+1.3944126509407895,-0.43129740512186165
+0.644124522906089,1.3356895978155514
+1.076708470547805,-0.5124416368677096
+1.2387807412188825,-1.2443585806623338
+-0.3894263175759865,0.6789093342941466
+-0.40790681403827783,1.322244639433926
+-0.1311423870331822,1.954460835242931
+-0.0857827106577109,-0.38607971752271464
+0.28543272724113866,1.8183737936407165
+-0.23115087305188062,0.4281769454342952
+-0.5503503695641098,1.0841387168120329
+-0.7100337140542687,1.4608538869419987
+1.6288664146201783,-1.9693392634666105
+-0.5150092412287401,1.0691996074531533
+-0.06906405901710311,2.57473225661566
+-0.60750102428782,0.061038061784120634
+-0.5633644510497153,-0.5238302723477241
+0.3892627330652396,-0.5012423958907958
+0.7262044001664559,-0.30772629183863887
+-0.6180178892404179,1.4096089147249171
+-0.38356449284214367,1.0829085686757833
+-0.47997088148800465,1.3221748529055593
+-0.3957723222055409,2.2731353784148634
+0.9187807356052811,-0.7991936842318578
+0.47447551992050874,1.4769896290338638
+-0.5029918271344789,-0.4404944147176359
+0.023551141599012504,1.0884662583820794
+-0.027008044996951475,1.3905860833775427
+1.632184146588106,-0.9125899430053819
+-0.32195413317184784,0.46716229929722264
+1.3944126509407895,-0.43129740512186165
+-0.5405521520560659,1.2688536560366823
+0.39038005295365763,1.9075751357251334
+1.0723149137831598,-0.9615775446855326
+-0.10127953204133683,1.5905177570710334
+-0.40790681403827783,1.322244639433926
+-0.019919648773723382,0.5541598675116365
+-0.0857827106577109,-0.38607971752271464
+0.28543272724113866,1.8183737936407165
+1.2479200364925376,0.8028466417705196
+-0.5503503695641098,1.0841387168120329
+-0.7100337140542687,1.4608538869419987
+1.6288664146201783,-1.9693392634666105
+1.4560396177319403,-2.252566787227776
+0.520307604372154,0.3046443961568579
+-0.60750102428782,0.061038061784120634
+0.955991378923145,1.1017463882668548
+-0.9379171185077091,0.2923997418184808
+-0.8501013019343795,0.266354103703557
+-0.9705116045440708,0.3669516082828153
+-0.38356449284214367,1.0829085686757833
+-0.47997088148800465,1.3221748529055593
+-0.3957723222055409,2.2731353784148634
+1.0131435493123901,0.6316781000810257
+-0.9470701152697978,-0.10834417411050346
+-0.34744230542266763,1.7396476736464013
+0.3298444725891666,0.7725413960472656
+-0.10459692453234853,1.515738780629329
+1.2837879720742669,-1.7256787132707978
+-0.32195413317184784,0.46716229929722264
+0.07551498360112807,1.5351934421933766
+1.205173151276417,0.02958182564196471
+0.6922134399820377,-0.7959857126326487
+0.7803887342097245,1.6361092500933374
+0.018433164803544178,2.0066382749632137
+0.34284421339429494,1.2703625249745945
+0.2942919646541039,0.7508923110568332
+0.7059336392982658,1.2201851556049343
+0.20788536205653974,-0.33927888127324485
+-0.1507600751538749,0.4010677981746273
+-0.5503503695641098,1.0841387168120329
+-0.7100337140542687,1.4608538869419987
+1.6288664146201783,-1.9693392634666105
+0.1382693043610493,1.6503074483892854
+1.036280578122847,-1.1827450402939872
+-0.60750102428782,0.061038061784120634
+0.955991378923145,1.1017463882668548
+-0.9379171185077091,0.2923997418184808
+-0.8501013019343795,0.266354103703557
+-0.9705116045440708,0.3669516082828153
+-0.38356449284214367,1.0829085686757833
+0.7906728167961645,0.18385944740878202
+-0.3957723222055409,2.2731353784148634
+1.0131435493123901,0.6316781000810257
+-0.9470701152697978,-0.10834417411050346
+-0.34744230542266763,1.7396476736464013
+0.9890611252245817,1.3116073151485803
+-0.10459692453234853,1.515738780629329
+-0.5578554313844131,1.16128731336985
+-0.32195413317184784,0.46716229929722264
+0.9858919775778195,0.8509804232933758
+-0.042083608737277456,1.3097616293335976
+0.6922134399820377,-0.7959857126326487
+0.26041541860629064,1.033808842701879
+0.018433164803544178,2.0066382749632137
+0.03095230864401108,1.335304922201705
+0.2942919646541039,0.7508923110568332
+0.9010406568316787,1.048130659002777
+0.20788536205653974,-0.33927888127324485
+0.8932160271255369,1.1226992289574118
+-0.5503503695641098,1.0841387168120329
+0.47188261963122435,-0.0012027062801834854
+1.6288664146201783,-1.9693392634666105
+-0.1835161281213541,0.8119294533872964
+1.036280578122847,-1.1827450402939872
+0.5374572545243901,1.57034652888397
+0.955991378923145,1.1017463882668548
+-0.9379171185077091,0.2923997418184808
+-0.714724946506188,0.4902410733242274
+-0.06656460862490765,0.5590673778650677
+-0.38356449284214367,1.0829085686757833
+-0.2736197807379101,1.218133934244483
+-0.3957723222055409,2.2731353784148634
+1.0131435493123901,0.6316781000810257
+-0.9470701152697978,-0.10834417411050346
+0.13891345165636795,0.1783637682916014
+0.9890611252245817,1.3116073151485803
+-0.10459692453234853,1.515738780629329
+-0.5578554313844131,1.16128731336985
+-0.32195413317184784,0.46716229929722264
+0.9858919775778195,0.8509804232933758
+-0.2988052499346042,2.237439462445278
+0.6922134399820377,-0.7959857126326487
+0.7992674673808975,-0.8045650429691646
+0.018433164803544178,2.0066382749632137
+0.03095230864401108,1.335304922201705
+0.24686121177492304,0.21522093762310293
+0.9010406568316787,1.048130659002777
+-0.041190546403716555,1.994448508680785
+0.6910681322861445,-1.0991396216584686
+-0.5503503695641098,1.0841387168120329
+-0.021929118171270412,-0.47180259090287757
+1.6288664146201783,-1.9693392634666105
+-0.7636578766018749,1.2187543128493106
+1.036280578122847,-1.1827450402939872
+0.5374572545243901,1.57034652888397
+0.955991378923145,1.1017463882668548
+-0.9379171185077091,0.2923997418184808
+-0.714724946506188,0.4902410733242274
+1.1653590307020258,-0.6323673790287193
+-0.38356449284214367,1.0829085686757833
+0.16850209888169268,1.7069331356867397
+1.2003987173237674,-0.78821061252342
+1.0131435493123901,0.6316781000810257
+-0.9470701152697978,-0.10834417411050346
+0.5553578604839868,0.12315518357405722
+-0.10034153915311425,1.4449745692918734
+-0.577550814218532,0.48878500475788156
+-0.5578554313844131,1.16128731336985
+-0.32195413317184784,0.46716229929722264
+0.9858919775778195,0.8509804232933758
+-0.5767976744193168,0.11375107843128193
+0.6922134399820377,-0.7959857126326487
+-0.0907420790892062,0.7307023508788082
+0.018433164803544178,2.0066382749632137
+0.8405531596419864,0.3400445353755157
+0.7494076038807622,1.2661428044147955
+-0.5499121782140233,-0.023263638298980288
+-0.041190546403716555,1.994448508680785
+0.6910681322861445,-1.0991396216584686
+-0.88401608830967,-0.03794641757734052
+-0.021929118171270412,-0.47180259090287757
+1.6288664146201783,-1.9693392634666105
+-0.03624450725554251,0.21598274491120834
+1.036280578122847,-1.1827450402939872
+0.5374572545243901,1.57034652888397
+0.955991378923145,1.1017463882668548
+-0.9379171185077091,0.2923997418184808
+0.9425487178378658,-0.2021874045845895
+1.1653590307020258,-0.6323673790287193
+-0.38356449284214367,1.0829085686757833
+-0.3171881466053957,0.2539186855124067
+0.9616232195016055,0.7270158796143932
+1.3002108293223857,-0.9629378219396665
+-0.9470701152697978,-0.10834417411050346
+0.5553578604839868,0.12315518357405722
+-0.10034153915311425,1.4449745692918734
+-0.577550814218532,0.48878500475788156
+-0.5578554313844131,1.16128731336985
+-0.32195413317184784,0.46716229929722264
+0.9858919775778195,0.8509804232933758
+1.0137535528471555,-0.9174105719506003
+0.396439286639367,1.9198245933916271
+-0.0907420790892062,0.7307023508788082
+0.018433164803544178,2.0066382749632137
+-0.475424860803522,0.41756613547781063
+1.5299834972934059,-0.6655569133871244
+-0.5499121782140233,-0.023263638298980288
+-0.6136207516342609,0.5123883344457442
+0.7448304141708547,-0.7037831868397396
+0.6936128243262847,-0.21069700535886596
+0.546160130493983,1.3620944196351883
+0.8559043254596258,-0.36567665050523657
+-0.03624450725554251,0.21598274491120834
+1.036280578122847,-1.1827450402939872
+0.5374572545243901,1.57034652888397
+0.16000415606911753,1.720852138554482
+-0.9379171185077091,0.2923997418184808
+0.9425487178378658,-0.2021874045845895
+1.1653590307020258,-0.6323673790287193
+-0.25934333448411706,0.4021896076819933
+-0.22879266519192626,2.352960639253764
+0.9616232195016055,0.7270158796143932
+-0.28436210999447437,-0.2718939601701599
+-0.1853443185407443,0.5922386191501319
+0.9239542746643769,-0.5859432144020952
+-0.10034153915311425,1.4449745692918734
+-0.577550814218532,0.48878500475788156
+0.7023694059293023,1.8007570101251629
+0.2659143457374882,0.11813682235435101
+0.9858919775778195,0.8509804232933758
+1.0137535528471555,-0.9174105719506003
+0.396439286639367,1.9198245933916271
+-0.0907420790892062,0.7307023508788082
+0.018433164803544178,2.0066382749632137
+-0.475424860803522,0.41756613547781063
+1.5299834972934059,-0.6655569133871244
+-0.5499121782140233,-0.023263638298980288
+-0.6020288666792182,0.7041678890688355
+0.7448304141708547,-0.7037831868397396
+-0.6364107330815083,1.171685618643131
+1.215308820582259,-0.9297014056435728
+0.8559043254596258,-0.36567665050523657
+-0.11653743079589526,-0.3474635797464397
+1.460523077591365,-1.3947062512365833
+0.5374572545243901,1.57034652888397
+1.31526129405576,-1.2329086694272637
+-0.9379171185077091,0.2923997418184808
+-0.32185261819313693,0.7131308470635087
+0.9752176090639242,-0.3657729544192341
+0.3991826901390064,0.06480755358107004
+-0.22879266519192626,2.352960639253764
+0.3295246150971228,2.050063565817675
+-0.16846713043435824,0.15557502342010965
+-0.321409305422574,0.28928632122994924
+-0.45048701896543714,1.9765425706327344
+-0.10034153915311425,1.4449745692918734
+-0.577550814218532,0.48878500475788156
+0.05848940184773321,0.5010258343699665
+1.2775837205910432,-0.5931079550053172
+0.46567716419633676,1.931001216337703
+0.7932548362859749,-0.019734507932623768
+0.396439286639367,1.9198245933916271
+0.5186702415913692,1.0797621035524885
+0.018433164803544178,2.0066382749632137
+-0.07387146033209685,0.9528036577522645
+0.19400777487345933,2.3478942227583843
+-0.5499121782140233,-0.023263638298980288
+-0.2759278232321648,0.02543596446265417
+-0.17865851727645,1.000903421294374
+0.5506410322329726,1.658138140687854
+1.215308820582259,-0.9297014056435728
+-0.2507907799884695,0.12971893066799867
+-0.2752907935467609,0.9024393136934137
+1.460523077591365,-1.3947062512365833
+0.5374572545243901,1.57034652888397
+-0.18955829404094532,-0.09980565665138963
+0.8020827775165674,0.29217919225503086
+-0.32185261819313693,0.7131308470635087
+1.125162831836036,0.2638489445781562
+0.3431980162224032,0.25758150853761225
+0.07838180608487649,1.42399791310493
+-0.47741779749088475,0.6181727607512785
+-0.16846713043435824,0.15557502342010965
+-0.321409305422574,0.28928632122994924
+-0.45048701896543714,1.9765425706327344
+0.7708511754720051,1.1790249672844286
+-0.577550814218532,0.48878500475788156
+0.05848940184773321,0.5010258343699665
+1.2775837205910432,-0.5931079550053172
+0.46567716419633676,1.931001216337703
+-0.30101182923720493,0.443387528118603
+0.15313853832376517,-0.35623182353165594
+0.5186702415913692,1.0797621035524885
+0.018433164803544178,2.0066382749632137
+-0.4504967750859114,0.559752406458067
+0.6257707639322041,1.8310401025528824
+-0.5499121782140233,-0.023263638298980288
+0.3514579371203439,1.665659252396494
+-0.004482375784605197,2.377808292970849
+0.5506410322329726,1.658138140687854
+1.215308820582259,-0.9297014056435728
+-0.2507907799884695,0.12971893066799867
+-0.2752907935467609,0.9024393136934137
+1.6607220653334673,-1.5511666783829716
+0.5450741207881111,2.160870749799658
+0.7584099044682684,0.010404172702318248
+0.4397033957498425,1.3432132877036251
+-0.0025659587181940946,-0.2576458035408995
+1.618994834723882,-1.1017836505624072
+0.7348173514192068,0.5339731116992759
+0.07838180608487649,1.42399791310493
+0.032015201830465176,0.3465358112982866
+-0.16846713043435824,0.15557502342010965
+-0.4120307027486301,0.5413285675830133
+-0.45048701896543714,1.9765425706327344
+-0.3762837652629126,0.35928342019372095
+-0.577550814218532,0.48878500475788156
+0.5290910168041238,1.8747393926521614
+1.2775837205910432,-0.5931079550053172
+-0.25081842114036373,-0.3665989021534494
+-0.30101182923720493,0.443387528118603
+0.15313853832376517,-0.35623182353165594
+0.4865763091069928,2.223325634185268
+0.018433164803544178,2.0066382749632137
+-0.32315179364431923,0.5477406797789202
+-0.4045560442342112,1.1826927801459852
+-0.5499121782140233,-0.023263638298980288
+-0.436838647151103,-0.04159256169871678
+-0.7772909894077391,0.9012431724209145
+0.8786554430309136,0.15269021941960909
+1.215308820582259,-0.9297014056435728
+-1.0083151900249747,0.4280779286677941
+-0.0665382029128323,1.2227659899743308
+1.6607220653334673,-1.5511666783829716
+0.8010531357952975,0.614006839363973
+0.7584099044682684,0.010404172702318248
+0.47714556375181627,1.512672713879173
+-0.0025659587181940946,-0.2576458035408995
+1.618994834723882,-1.1017836505624072
+0.43709724168320185,1.6210224846098649
+1.2929623523149525,-0.3121442595124736
+0.555451210478212,1.445365039520834
+0.8847051440831235,-0.8043694087004819
+-0.4120307027486301,0.5413285675830133
+-0.45048701896543714,1.9765425706327344
+0.21853905877647328,-0.37916780101102215
+0.9453886353944062,-0.8401558511909583
+0.5290910168041238,1.8747393926521614
+-0.37220579650564206,0.4559974356310401
+-0.6220618772652192,1.080972281170107
+0.3149042891332458,-0.18542062950495994
+1.4472657268470301,-1.593348131567993
+0.4865763091069928,2.223325634185268
+-0.7103081673753502,0.5933507523238427
+-0.7429462779315241,-0.33384467063842027
+-0.619372110248976,1.2396959966376935
+-0.7095045506695435,-0.40799417469346644
+-0.436838647151103,-0.04159256169871678
+0.035119964920441865,0.20856929425458803
+0.4597097301261448,0.21942376882195713
+-0.4254922925742793,0.0013178547914916017
+-1.0083151900249747,0.4280779286677941
+-0.0665382029128323,1.2227659899743308
+1.6607220653334673,-1.5511666783829716
+1.4236738636761115,-1.200232926318888
+0.26446902383417403,-0.5985078732618165
+1.3099743158966979,-1.334797549847216
+-0.23223486130714546,-0.12688570313020597
+-0.929062986964466,0.41943404164282755
+0.7089195704516145,-0.40848355266284814
+-0.583409122549227,-0.4165831072082894
+0.555451210478212,1.445365039520834
+0.8847051440831235,-0.8043694087004819
+-0.4120307027486301,0.5413285675830133
+-0.45048701896543714,1.9765425706327344
+0.21853905877647328,-0.37916780101102215
+0.08541565218617686,-0.11239949572323392
+-0.3386036867446948,-0.031385992821681696
+-0.37220579650564206,0.4559974356310401
+-0.6220618772652192,1.080972281170107
+-0.7281211753845716,0.2619374287002388
+-0.758494431953396,0.5800830099280944
+0.4865763091069928,2.223325634185268
+-0.7103081673753502,0.5933507523238427
+1.8697380688441474,-2.0863345046196957
+-0.619372110248976,1.2396959966376935
+-0.6535095984844087,0.1822946886583322
+-0.436838647151103,-0.04159256169871678
+-0.541497509353285,0.9545805935995204
+0.4597097301261448,0.21942376882195713
+0.32465139643339197,2.0473327248846265
+0.19032549603169818,-0.17770436042941917
+-0.0665382029128323,1.2227659899743308
+-0.8035560604391857,0.5179862172364282
+1.4236738636761115,-1.200232926318888
+0.580820334563338,1.0230738627075697
+1.3099743158966979,-1.334797549847216
+-0.23223486130714546,-0.12688570313020597
+-0.929062986964466,0.41943404164282755
+0.7089195704516145,-0.40848355266284814
+0.9302444250129553,0.55916841416549
+0.555451210478212,1.445365039520834
+0.8847051440831235,-0.8043694087004819
+-0.4120307027486301,0.5413285675830133
+-0.45048701896543714,1.9765425706327344
+0.21853905877647328,-0.37916780101102215
+-0.40340912322955075,-0.2889029913827586
+-0.3386036867446948,-0.031385992821681696
+-0.37220579650564206,0.4559974356310401
+-0.8987295799969586,-0.32517408971187794
+-0.21806344382691845,-0.39384224793991446
+-0.3005403815236962,-0.1495269698140466
+1.2549396572972535,-0.4603838634524767
+-0.7103081673753502,0.5933507523238427
+1.8697380688441474,-2.0863345046196957
+-0.619372110248976,1.2396959966376935
+1.0649066396975697,0.6801762096932675
+-0.436838647151103,-0.04159256169871678
+-0.211744993397386,1.7461396001973337
+0.7709522207900101,-0.5419290544599096
+0.32465139643339197,2.0473327248846265
+0.19032549603169818,-0.17770436042941917
+-0.0665382029128323,1.2227659899743308
+-0.24535748616557118,1.5431551082386306
+1.4236738636761115,-1.200232926318888
+0.580820334563338,1.0230738627075697
+-0.9365460940188814,0.4959088814936989
+0.4486642307891466,2.067119701102314
+-0.929062986964466,0.41943404164282755
+0.5041253519824964,1.654763118734455
+-1.016641614246116,0.2593502653857524
+0.555451210478212,1.445365039520834
+0.8847051440831235,-0.8043694087004819
+-0.4120307027486301,0.5413285675830133
+-0.45048701896543714,1.9765425706327344
+0.649269443856388,0.07220198647771359
+-0.4975089832577262,0.6769176517474675
+0.46340439704483977,-0.32690403334241847
+-0.8176959080337842,-0.287925684059866
+-0.8987295799969586,-0.32517408971187794
+0.2891080651875344,-0.3774333744623396
+-0.4656178686891862,0.8711508553944722
+1.2549396572972535,-0.4603838634524767
+-0.7103081673753502,0.5933507523238427
+0.08921157187307588,1.0521745781871634
+0.42105824447096,1.144343687910275
+1.1561427221466896,0.28333803854982587
+-0.7289018999585815,0.8655242952100131
+-0.211744993397386,1.7461396001973337
+0.7709522207900101,-0.5419290544599096
+0.32465139643339197,2.0473327248846265
+0.19032549603169818,-0.17770436042941917
+0.6539715390285227,0.6462292223868878
+-0.24348529877669817,0.9330404142492303
+1.4236738636761115,-1.200232926318888
+0.580820334563338,1.0230738627075697
+0.4944502147874235,0.050178362678068356
+1.01027231178876,0.16278136346544736
+1.350751416490891,-0.8322956811428204
+-0.21628613882972736,-0.4068512557627039
+-0.52177122568082,0.3124910255226349
+0.555451210478212,1.445365039520834
+-0.5330714063092592,-0.012878817076524385
+-0.08915561587111648,1.6035391971480042
+-0.45048701896543714,1.9765425706327344
+0.649269443856388,0.07220198647771359
+-0.4975089832577262,0.6769176517474675
+0.46340439704483977,-0.32690403334241847
+-0.1854062029536242,1.1335422826308
+-0.8987295799969586,-0.32517408971187794
+1.2907234811041368,-1.4120876179648194
+-0.4656178686891862,0.8711508553944722
+1.2549396572972535,-0.4603838634524767
+-0.7103081673753502,0.5933507523238427
+1.0997952743560722,-0.019119158193081187
+0.995921412778936,-0.20997332728850399
+0.6344096778254256,1.0416118787523017
+0.9409710844590213,0.6308707462859334
+-0.211744993397386,1.7461396001973337
+0.7709522207900101,-0.5419290544599096
+0.32465139643339197,2.0473327248846265
+-0.03187116653508029,1.8752834913003555
+1.1636313228796873,-0.2826368471172245
+0.49260028462329936,2.050049545936956
+-0.8503253323969957,0.8235556535032414
+0.11229622288333618,-0.593140075713994
+0.8577782118705723,0.7648878150902492
+-0.1899012708931032,1.9860563246121075
+1.350751416490891,-0.8322956811428204
+0.6732404471437314,1.86298422486482
+0.13179426336023908,2.237129918652383
+-0.31117665967057934,2.1398999873307973
+-0.5330714063092592,-0.012878817076524385
+0.5936627325643546,-0.27834671889919005
+0.9623850511502743,0.5827911309964953
+0.649269443856388,0.07220198647771359
+-0.4975089832577262,0.6769176517474675
+0.46340439704483977,-0.32690403334241847
+-0.24468168987368216,0.6761094846318312
+-0.8987295799969586,-0.32517408971187794
+1.2907234811041368,-1.4120876179648194
+-0.1491572084400109,1.819649146702421
+-0.33595329507041416,-0.18889681524975221
+-0.7103081673753502,0.5933507523238427
+0.06623389251158135,1.277231720839641
+0.995921412778936,-0.20997332728850399
+0.6344096778254256,1.0416118787523017
+0.9409710844590213,0.6308707462859334
+0.5919164784428349,0.8159293893836079
+0.24475869747614976,0.2852450307945644
+0.7013433514256519,-0.10126943160513685
+-0.03187116653508029,1.8752834913003555
+0.34571239807351317,-0.28132584220191537
+-0.28649251427140304,0.04233979980870006
+-0.8503253323969957,0.8235556535032414
+-0.08103942004964501,1.6193500630676825
+-0.278503964401513,1.5686764869459435
+0.1947484970506928,1.555056294233278
+1.350751416490891,-0.8322956811428204
+0.6732404471437314,1.86298422486482
+0.13179426336023908,2.237129918652383
+-0.43047900866517214,1.0506326541314361
+-0.5330714063092592,-0.012878817076524385
+0.15410254066017387,2.273748124684401
+0.7477181294883632,-0.6901503088295502
+0.649269443856388,0.07220198647771359
+-0.4975089832577262,0.6769176517474675
+0.46340439704483977,-0.32690403334241847
+-0.24468168987368216,0.6761094846318312
+-0.8987295799969586,-0.32517408971187794
+1.2907234811041368,-1.4120876179648194
+-0.5340607611637729,1.7030511895437817
+-0.33595329507041416,-0.18889681524975221
+0.8097137378786335,-0.1459072082545731
+0.06623389251158135,1.277231720839641
+1.1951279174461802,-0.9322643265861063
+0.15700855234776548,1.3968000059845591
+1.657374547279998,-1.9623302387260404
+0.5858422192957389,0.744139652176332
+0.24475869747614976,0.2852450307945644
+1.3914216095179983,-0.14828082660975717
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+-0.28649251427140304,0.04233979980870006
+0.8997357778062453,-0.06937430611540307
+0.5919433774898025,1.1390398752485693
+-0.278503964401513,1.5686764869459435
+-0.5569282444623226,1.514945623607672
+1.350751416490891,-0.8322956811428204
+0.6732404471437314,1.86298422486482
+0.13179426336023908,2.237129918652383
+-0.43047900866517214,1.0506326541314361
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+0.5322805318375653,0.031999003437353346
+0.6200508407235213,0.06657920563483166
+0.13764884891655693,0.04451315947404297
+0.46340439704483977,-0.32690403334241847
+-0.24468168987368216,0.6761094846318312
+0.028440601762813156,1.3359397452217916
+-1.0205572058370893,0.26406429715609653
+-0.683020361813268,0.9791155348836428
+-0.33595329507041416,-0.18889681524975221
+-0.27176208699729876,0.23307025597445527
+0.7148926298484637,-0.7590469591249084
+1.1951279174461802,-0.9322643265861063
+0.15700855234776548,1.3968000059845591
+1.657374547279998,-1.9623302387260404
+-0.5888662788123254,1.1857751420703027
+0.24475869747614976,0.2852450307945644
+1.3914216095179983,-0.14828082660975717
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+0.6403982774084016,-0.351200361011332
+1.410856965036488,-0.7117853675694654
+0.0725930719612985,0.32677866883410217
+-0.278503964401513,1.5686764869459435
+0.4539841145095479,0.15734040522366463
+1.350751416490891,-0.8322956811428204
+0.6732404471437314,1.86298422486482
+-0.7590166825297946,0.7625721574492597
+-0.43047900866517214,1.0506326541314361
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+0.5322805318375653,0.031999003437353346
+1.5221188921308997,-0.7569359432488831
+0.13764884891655693,0.04451315947404297
+-0.1455088046086092,0.2275504790597893
+-0.7291473830101012,-0.33460418875323367
+0.028440601762813156,1.3359397452217916
+-1.0205572058370893,0.26406429715609653
+0.5562932889509501,-0.5076618805431505
+-0.33595329507041416,-0.18889681524975221
+-0.27176208699729876,0.23307025597445527
+1.4486377337635952,-2.119534612443845
+1.1951279174461802,-0.9322643265861063
+0.15700855234776548,1.3968000059845591
+1.657374547279998,-1.9623302387260404
+-0.5888662788123254,1.1857751420703027
+0.24475869747614976,0.2852450307945644
+1.3914216095179983,-0.14828082660975717
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+0.7511457667576491,-0.9023915986771971
+1.410856965036488,-0.7117853675694654
+-0.6515710585187902,0.49728500019679894
+-0.278503964401513,1.5686764869459435
+-0.7027723289066858,0.6968781647696313
+-0.6442256653914356,-0.4475908774642252
+0.6732404471437314,1.86298422486482
+-0.7590166825297946,0.7625721574492597
+0.5612246459658633,0.17986413867326811
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+-0.09237132826100014,0.13262534224362726
+1.5221188921308997,-0.7569359432488831
+-1.0497895863809075,-0.45032616413260596
+0.41190472278129575,-0.6649093780742599
+-0.7291473830101012,-0.33460418875323367
+1.2608249568840213,-0.20337952683258675
+-1.0205572058370893,0.26406429715609653
+-0.33232935682931686,0.29225204234902136
+0.41851724638550675,0.8471581515552008
+0.8566152739836517,-0.9335286628547133
+1.4486377337635952,-2.119534612443845
+-0.5279426628873668,-0.15896629801808676
+-0.4438128754338474,0.3311915350852881
+1.657374547279998,-1.9623302387260404
+-0.7203294078777933,-0.09659839541215892
+0.24475869747614976,0.2852450307945644
+0.9685544404478821,0.7956404645121591
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+0.6224336941337543,1.265910938602277
+-0.7222995134478437,0.4977769538977269
+-0.031288575096114296,0.7177939335861518
+0.549163677554577,1.7530888903961994
+0.5935973576259754,1.1866956255738328
+-0.5628576245105013,-0.011951624382502635
+0.17777753642629757,0.604160903164399
+-0.7590166825297946,0.7625721574492597
+-0.9831140529341572,0.4547382355390276
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+-0.09237132826100014,0.13262534224362726
+1.5221188921308997,-0.7569359432488831
+0.43833712074468784,1.2181195219621004
+0.41190472278129575,-0.6649093780742599
+-0.5741637133072701,1.4776532131937765
+1.2608249568840213,-0.20337952683258675
+0.4751863130013323,2.0136859694970273
+-0.33232935682931686,0.29225204234902136
+0.41851724638550675,0.8471581515552008
+-0.4342438447029414,-0.01826697362641616
+1.4486377337635952,-2.119534612443845
+-0.5279426628873668,-0.15896629801808676
+0.8874537608092703,-0.47403708926939964
+1.1047783128366109,0.48119504784169703
+-0.7203294078777933,-0.09659839541215892
+0.9707786106363764,0.5538998093564842
+-0.44549984962358324,0.1756915693137985
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+0.8323940842631332,0.9662834432189255
+-0.7222995134478437,0.4977769538977269
+-0.13122924803319702,1.1927636848660177
+0.549163677554577,1.7530888903961994
+0.5935973576259754,1.1866956255738328
+-0.8565130127854574,1.012045886114959
+-0.46494954002700317,1.4814458342068764
+-0.1590163476432943,-0.3590655925288051
+-0.9831140529341572,0.4547382355390276
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+0.4737559246361558,1.0809140909373078
+1.5221188921308997,-0.7569359432488831
+-0.24563574128169574,-0.2881987873342766
+0.41190472278129575,-0.6649093780742599
+0.25320758194971116,-0.15149869120228787
+1.2608249568840213,-0.20337952683258675
+0.4751863130013323,2.0136859694970273
+-0.33232935682931686,0.29225204234902136
+0.41851724638550675,0.8471581515552008
+-0.4342438447029414,-0.01826697362641616
+1.4486377337635952,-2.119534612443845
+-0.006833206596626257,1.1887096780474506
+0.8874537608092703,-0.47403708926939964
+0.7961598270480219,-0.36887188786240405
+-0.7203294078777933,-0.09659839541215892
+0.9613635386675095,0.5807984544368263
+-0.44549984962358324,0.1756915693137985
+-0.03187116653508029,1.8752834913003555
+1.4927910236758781,-0.7894798107736947
+-0.6721255681252015,0.5131619998964005
+-0.7222995134478437,0.4977769538977269
+-0.13122924803319702,1.1927636848660177
+0.549163677554577,1.7530888903961994
+0.5935973576259754,1.1866956255738328
+-0.8565130127854574,1.012045886114959
+-0.46494954002700317,1.4814458342068764
+-0.46509313574972844,0.0950574490547467
+-0.6796449449964759,0.6578681332371996
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+0.6780848396539659,-0.5641750130944488
+1.5221188921308997,-0.7569359432488831
+-0.696535221116253,0.798857802487787
+0.6365082771424149,-0.3657950790765885
+0.5562442948098854,-0.06196774824707346
+1.2608249568840213,-0.20337952683258675
+0.8336621779672001,-0.27984605794743334
+-0.6155824390994118,0.6850168489730278
+0.41851724638550675,0.8471581515552008
+-0.27998100464766323,0.14382989260482265
+1.4486377337635952,-2.119534612443845
+1.6547058811358841,-1.6273523232651887
+-0.16794015048416183,0.4346107102821788
+1.2756993957596967,-1.099170549723929
+-0.10667582831432487,1.5951023927198733
+0.9613635386675095,0.5807984544368263
+-0.44549984962358324,0.1756915693137985
+-0.03187116653508029,1.8752834913003555
+1.1805279475097168,-0.11489152487477858
+-0.38665549270439387,1.7484334870977352
+-0.7222995134478437,0.4977769538977269
+0.7335818774653549,1.531102195392405
+0.549163677554577,1.7530888903961994
+1.0850825317017088,0.27576407265962355
+0.6661745830460802,-0.11775374028425373
+-0.46494954002700317,1.4814458342068764
+0.7316102369049284,-0.950216360364542
+-0.6796449449964759,0.6578681332371996
+0.7779807250417363,-0.5803268597852882
+0.15410254066017387,2.273748124684401
+0.6780848396539659,-0.5641750130944488
+1.5221188921308997,-0.7569359432488831
+-0.696535221116253,0.798857802487787
+0.27140417164221253,-0.16274070111053202
+0.002542160562828466,1.388245837632165
+1.2608249568840213,-0.20337952683258675
+1.5237021105140036,-2.547231374395446
+1.02945292407831,0.1400615850493612
+0.41851724638550675,0.8471581515552008
+-0.27998100464766323,0.14382989260482265
+-0.6549653075323583,1.326357758959122
+1.6547058811358841,-1.6273523232651887
+0.3140152119215684,-0.13599812760319904
+0.34275666940828564,1.385607399750153
+0.42494437113804295,1.8479986504854966
+-0.6110644222676087,0.21560368803214508
+-0.44549984962358324,0.1756915693137985
+-0.03187116653508029,1.8752834913003555
+1.1805279475097168,-0.11489152487477858
+-0.38665549270439387,1.7484334870977352
+-0.7222995134478437,0.4977769538977269
+0.7335818774653549,1.531102195392405
+0.549163677554577,1.7530888903961994
+1.0850825317017088,0.27576407265962355
+-0.7753646229991417,0.39993647356203904
+-0.46494954002700317,1.4814458342068764
+0.7316102369049284,-0.950216360364542
+-0.6796449449964759,0.6578681332371996
+-0.2759782689386732,1.2776241883474966
+0.15410254066017387,2.273748124684401
+0.6780848396539659,-0.5641750130944488
+-0.618392932224704,1.0669023859730988
+1.554355545026568,-1.3270946424596786
+0.8210305326542591,0.11768508887973955
+1.330631104614104,-0.4390472959795276
+1.2608249568840213,-0.20337952683258675
+1.5237021105140036,-2.547231374395446
+1.02945292407831,0.1400615850493612
+-0.36563276714574444,1.152246384751542
+1.1646405411063634,-0.7364931032901075
+-0.6549653075323583,1.326357758959122
+-0.06640867944577095,2.1680155882744394
+0.3140152119215684,-0.13599812760319904
+1.0939586386448825,-0.9232864808939747
+0.42494437113804295,1.8479986504854966
+-0.6110644222676087,0.21560368803214508
+-0.44549984962358324,0.1756915693137985
+-0.03187116653508029,1.8752834913003555
+1.1805279475097168,-0.11489152487477858
+-0.38665549270439387,1.7484334870977352
+-0.7222995134478437,0.4977769538977269
+0.7335818774653549,1.531102195392405
+1.9749847038473425,-3.302787755820022
+-0.654313252707105,0.22851100593669743
+0.00098471605268724,2.028344798366845
+-0.46494954002700317,1.4814458342068764
+0.7316102369049284,-0.950216360364542
+-0.6796449449964759,0.6578681332371996
+-0.2759782689386732,1.2776241883474966
+-0.8212020412178143,0.05178174759402346
+0.6780848396539659,-0.5641750130944488
+1.4077420112058996,-1.1704361302411008
+1.554355545026568,-1.3270946424596786
+0.7471294596363028,-0.604444970422166
+1.330631104614104,-0.4390472959795276
+1.2608249568840213,-0.20337952683258675
+-0.16240807869647778,0.0902970435058188
+0.5877854353809409,1.2071224761268942
+-0.2556496393411486,1.745917563023712
+1.0307197230683691,0.016645883957576935
+-0.6549653075323583,1.326357758959122
+-0.06640867944577095,2.1680155882744394
+-0.44524396524548354,2.286180642788967
+0.1772535454704176,1.0116804703519917
+0.8904343686869878,-1.0633296192372683
+-0.13726508804390664,1.8901527613319289
+-0.44549984962358324,0.1756915693137985
+0.7335218908611311,1.6240698182841935
+1.1805279475097168,-0.11489152487477858
+-0.38665549270439387,1.7484334870977352
+-0.0026623198928450442,-0.12635368019156468
+0.7335818774653549,1.531102195392405
+1.9749847038473425,-3.302787755820022
+0.7849340729921774,1.1878758435232624
+0.00098471605268724,2.028344798366845
+-0.44995640763705624,1.8022799982895952
+0.7316102369049284,-0.950216360364542
+-0.321347063564389,2.0523048381719877
+1.0867661746630983,-0.9971337985546059
+-0.3577369456655477,0.9574736195519279
+-0.7767388503225071,1.0521054595308859
+0.29064374061095927,2.0510267092626706
+1.554355545026568,-1.3270946424596786
+0.7471294596363028,-0.604444970422166
+1.330631104614104,-0.4390472959795276
+1.2608249568840213,-0.20337952683258675
+-0.16240807869647778,0.0902970435058188
+0.5877854353809409,1.2071224761268942
+1.2475663021322614,-1.2000258001563824
+1.6686707257233968,-1.9185657394997915
+-0.6549653075323583,1.326357758959122
+-0.06640867944577095,2.1680155882744394
+2.0985664493740672,-3.2461646631468146
+-0.6756245096643564,0.7261745483525062
+0.8407576579525472,-0.9991761462910703
+1.5836618077778477,-1.6048061305876304
+-0.1877697209363161,-0.5190919553551083
+0.7335218908611311,1.6240698182841935
+1.5160911550415825,-1.3610676187971689
+-0.38665549270439387,1.7484334870977352
+-0.0026623198928450442,-0.12635368019156468
+0.12924293943563125,1.917010332572886
+1.9749847038473425,-3.302787755820022
+0.7849340729921774,1.1878758435232624
+0.00098471605268724,2.028344798366845
+-0.44995640763705624,1.8022799982895952
+-0.7698267141326471,1.3368712563381873
+-0.321347063564389,2.0523048381719877
+1.0867661746630983,-0.9971337985546059
+1.2737730182416382,-1.5349456271047006
+0.9507387915048633,1.2478677392705428
+0.701281041309047,1.7252971032324087
+1.554355545026568,-1.3270946424596786
+0.7471294596363028,-0.604444970422166
+1.7943386110340065,-1.6650030874225155
+1.2608249568840213,-0.20337952683258675
+-0.16240807869647778,0.0902970435058188
+1.4450806686172968,-2.3572341694531644
+1.2475663021322614,-1.2000258001563824
+1.6686707257233968,-1.9185657394997915
+0.03836529039300704,1.630959845534624
+-0.06640867944577095,2.1680155882744394
+2.0985664493740672,-3.2461646631468146
+-0.6756245096643564,0.7261745483525062
+1.2679423187539698,-1.579270678359245
+1.5836618077778477,-1.6048061305876304
+-0.1877697209363161,-0.5190919553551083
+0.7335218908611311,1.6240698182841935
+1.5160911550415825,-1.3610676187971689
+-0.5336221406817557,1.2314703135215126
+-0.0026623198928450442,-0.12635368019156468
+0.12924293943563125,1.917010332572886
+1.9749847038473425,-3.302787755820022
+0.8136841892224844,-0.5542366605212348
+0.00098471605268724,2.028344798366845
+0.7941377450782197,1.2940570147806307
+0.8016129498533925,1.6875419842285624
+1.164145144517698,-1.0518161559982737
+0.9423987451809951,1.0969750933224516
+1.2737730182416382,-1.5349456271047006
+1.0414169910216642,0.7465792249608507
+0.8278927846669535,1.2186347660461196
+1.213486775330221,-1.7303068237410852
+0.7471294596363028,-0.604444970422166
+1.7943386110340065,-1.6650030874225155
+1.2608249568840213,-0.20337952683258675
+0.16383627280784102,0.9564275377596912
+0.07727960709243042,1.6287924496900288
+-0.2224935767786659,1.8880025914096796
+-0.2631464276290066,1.4599778027498425
+0.48411894606621053,-0.6199013931929276
+-0.06640867944577095,2.1680155882744394
+0.45778497451320255,1.8905474283792738
+-0.6756245096643564,0.7261745483525062
+1.2418794778212487,-1.381017190303555
+1.4716955322579013,-1.0145169963155392
+-0.1877697209363161,-0.5190919553551083
+0.7335218908611311,1.6240698182841935
+1.1194864608578705,-0.7761161397762135
+-0.5336221406817557,1.2314703135215126
+-0.0026623198928450442,-0.12635368019156468
+0.12924293943563125,1.917010332572886
+1.9749847038473425,-3.302787755820022
+0.8136841892224844,-0.5542366605212348
+0.07024878152616809,1.7165321702591854
+0.7941377450782197,1.2940570147806307
+0.8016129498533925,1.6875419842285624
+0.2466923757592423,-0.5527125678412086
+1.1613087909241064,0.5126556018270854
+1.2737730182416382,-1.5349456271047006
+0.3509555160470564,-0.33653608604220386
+0.8278927846669535,1.2186347660461196
+-0.07249226728414171,2.565642105273821
+0.7471294596363028,-0.604444970422166
+0.060436673129211166,-0.505143993489486
+0.3262931253280439,1.2767396390949446
+0.16383627280784102,0.9564275377596912
+0.07727960709243042,1.6287924496900288
+-0.2224935767786659,1.8880025914096796
+-0.2631464276290066,1.4599778027498425
+0.07543896005817025,1.6959183843382535
+1.4688073069378587,-0.3557077500978554
+0.45778497451320255,1.8905474283792738
+-0.6756245096643564,0.7261745483525062
+0.42559462723728625,1.3986102959216042
+1.4716955322579013,-1.0145169963155392
+-0.1877697209363161,-0.5190919553551083
+0.9537421085247029,1.240184845777399
+0.8247271811007315,1.6670455981648835
+-0.5336221406817557,1.2314703135215126
+1.2424534727069603,-0.9811795320861971
+0.025868070583538127,2.1859129163587907
+0.48250617167421805,1.3867279945280149
+0.6415291260346041,-0.2859530179102526
+0.34956727215843086,0.013686689991201595
+0.7941377450782197,1.2940570147806307
+0.8016129498533925,1.6875419842285624
+-0.13528418585705293,1.4820706659497425
+1.1613087909241064,0.5126556018270854
+1.2737730182416382,-1.5349456271047006
+0.3509555160470564,-0.33653608604220386
+0.7078359131282913,-0.3996594235095776
+0.08918510194599594,2.136858593462571
+0.7471294596363028,-0.604444970422166
+0.060436673129211166,-0.505143993489486
+0.7492633958168167,-0.17188678436250726
+0.5315107839529222,-0.5206757138488604
+1.5642364924072565,-0.8630161917582968
+0.21011053692825563,1.9383725182694378
+-0.2631464276290066,1.4599778027498425
+0.07543896005817025,1.6959183843382535
+-0.028519133852043965,-0.03100470914220116
+0.45778497451320255,1.8905474283792738
+-0.6756245096643564,0.7261745483525062
+0.09834773607470959,1.06866040472062
+1.4716955322579013,-1.0145169963155392
+-0.1877697209363161,-0.5190919553551083
+0.03233791409871212,1.9183313985658077
+0.6168827427647527,-0.23272903046244492
+-0.24754676158809727,1.906185866095835
+1.9490175088962771,-2.5632891784408334
+0.025868070583538127,2.1859129163587907
+0.48250617167421805,1.3867279945280149
+0.12221510354514253,0.13143892644102484
+0.34956727215843086,0.013686689991201595
+0.8720023633958289,-0.10042115213590252
+0.8016129498533925,1.6875419842285624
+-0.13528418585705293,1.4820706659497425
+1.1613087909241064,0.5126556018270854
+1.2737730182416382,-1.5349456271047006
+0.6655024837671607,-0.5359914207125741
+1.3391815056005534,-0.9580762743677345
+0.017717903187900313,-0.4272621557409192
+0.7471294596363028,-0.604444970422166
+0.060436673129211166,-0.505143993489486
+0.729008491451632,0.8122258625306542
+0.5315107839529222,-0.5206757138488604
+1.5642364924072565,-0.8630161917582968
+0.21011053692825563,1.9383725182694378
+0.06911140335268967,0.958065467427464
+0.41048389644079947,0.1895801373647621
+1.4640463966465505,-2.4444678405080604
+-0.2066367876047867,-0.5173058180559453
+-0.6756245096643564,0.7261745483525062
+0.2185400198977811,0.41838984452182887
+0.3530579098641619,0.2312376468208952
+0.05734403401380456,-0.2642010153216927
+1.3708335804506668,-0.7339557092179863
+0.6168827427647527,-0.23272903046244492
+-0.24754676158809727,1.906185866095835
+1.9490175088962771,-2.5632891784408334
+0.025868070583538127,2.1859129163587907
+0.16917664445945724,0.5367444270217486
+-0.3203930978795086,0.05655471515378835
+1.2501256957408093,-0.7373882894107826
+0.8720023633958289,-0.10042115213590252
+0.8016129498533925,1.6875419842285624
+-0.13528418585705293,1.4820706659497425
+1.1613087909241064,0.5126556018270854
+1.2737730182416382,-1.5349456271047006
+0.6655024837671607,-0.5359914207125741
+0.20539581038163257,0.18908546284400762
+-0.20506598224144645,1.7132713977757876
+0.8112677011648698,0.7882212766320622
+1.438530106804081,0.005277727187581127
+0.729008491451632,0.8122258625306542
+0.5315107839529222,-0.5206757138488604
+-0.5162145286776467,1.3546766917270416
+0.21011053692825563,1.9383725182694378
+-0.061466164700842624,1.5500583680615234
+0.41048389644079947,0.1895801373647621
+1.4640463966465505,-2.4444678405080604
+-0.2066367876047867,-0.5173058180559453
+-0.6756245096643564,0.7261745483525062
+-0.2775220878128133,1.661733073851928
+0.7091088365848087,0.5362284381063875
+0.05734403401380456,-0.2642010153216927
+-0.08395601040421827,-0.35313123847682387
+0.6168827427647527,-0.23272903046244492
+0.6749926653383925,-0.08327643672532659
+1.9490175088962771,-2.5632891784408334
+0.025868070583538127,2.1859129163587907
+0.8304084799992801,-0.1674946937043364
+-0.3203930978795086,0.05655471515378835
+0.5292308336073339,1.2161939628626182
+1.5624458666495786,-1.7985127299093029
+0.8016129498533925,1.6875419842285624
+-0.13528418585705293,1.4820706659497425
+-0.42558674957968945,1.4055954530523647
+1.2737730182416382,-1.5349456271047006
+0.8310975119790305,-0.3810381561111855
+1.488091778353866,-0.19409384329776858
+1.4461662688565093,-1.0450530276338366
+0.4266654177614964,1.7705162237260437
+0.40361428138010785,-0.5691760046047758
+1.3275496693894255,-0.7379479781503316
+-0.23029210618305646,1.3117627337635267
+1.5381865063937386,-2.56315326696064
+0.21011053692825563,1.9383725182694378
+0.3179729778998387,1.7841583631829103
+0.22816356514473063,-0.010497610964486837
+0.9406844492339591,-0.8940850662963293
+0.4026681627228774,-0.51908265120213
+-0.6756245096643564,0.7261745483525062
+-0.2775220878128133,1.661733073851928
+1.0680364935129973,-1.5913060752608674
+0.033975349350585604,1.1432571594655054
+-0.08395601040421827,-0.35313123847682387
+0.5212926081754361,1.8577798866877195
+1.7190332995786974,-1.5361855108967857
+0.9964878745221393,0.8388119518844706
+0.025868070583538127,2.1859129163587907
+0.5157095738736307,-0.016974486586660564
+-0.3203930978795086,0.05655471515378835
+0.45433889821741086,-0.59103648400135
+-0.5682038840771955,1.7958496934748536
+0.0447152847496346,-0.01574819167382402
+-0.13528418585705293,1.4820706659497425
+-0.42558674957968945,1.4055954530523647
+1.2737730182416382,-1.5349456271047006
+0.8310975119790305,-0.3810381561111855
+1.488091778353866,-0.19409384329776858
+1.4461662688565093,-1.0450530276338366
+0.4266654177614964,1.7705162237260437
+0.40361428138010785,-0.5691760046047758
+1.3275496693894255,-0.7379479781503316
+-0.23029210618305646,1.3117627337635267
+1.5381865063937386,-2.56315326696064
+0.21011053692825563,1.9383725182694378
+0.3179729778998387,1.7841583631829103
+0.5627217081087597,1.8565429414294765
+-0.10763929575432296,0.3793679891954481
+0.19199467382055402,1.9259399220784463
+-0.6756245096643564,0.7261745483525062
+0.2670147885678944,1.035504856861125
+0.9445048359353467,1.2283795288286563
+0.033975349350585604,1.1432571594655054
+-0.08395601040421827,-0.35313123847682387
+0.029302563191694553,2.0546945664299128
+1.7190332995786974,-1.5361855108967857
+0.3042232460336109,1.843711015164943
+0.10201404805283462,-0.01491015423507036
+0.5157095738736307,-0.016974486586660564
+1.09197154489162,-0.44319046135761897
+-0.7496578335328536,0.11468937267383894
+0.26633577723519614,1.5248028641099014
+0.0447152847496346,-0.01574819167382402
+-0.13528418585705293,1.4820706659497425
+-0.42558674957968945,1.4055954530523647
+1.2737730182416382,-1.5349456271047006
+0.43450294567211123,1.8809119405720927
+1.488091778353866,-0.19409384329776858
+1.4461662688565093,-1.0450530276338366
+0.4266654177614964,1.7705162237260437
+0.40361428138010785,-0.5691760046047758
+1.3275496693894255,-0.7379479781503316
+0.7679508875230497,0.4098307126434222
+1.5381865063937386,-2.56315326696064
+0.21011053692825563,1.9383725182694378
+0.5108484887378737,0.10160319545818997
+0.5627217081087597,1.8565429414294765
+0.971706343089014,-0.40514629378670963
+0.19199467382055402,1.9259399220784463
+-0.6756245096643564,0.7261745483525062
+0.2670147885678944,1.035504856861125
+0.9445048359353467,1.2283795288286563
+0.033975349350585604,1.1432571594655054
+-0.08395601040421827,-0.35313123847682387
+0.3565525882386855,1.686892703773142
+1.1683918569193137,-0.2215300692040281
+0.3042232460336109,1.843711015164943
+0.10201404805283462,-0.01491015423507036
+0.9746266692489101,-1.2328104542139615
+1.09197154489162,-0.44319046135761897
+-0.7496578335328536,0.11468937267383894
+0.26633577723519614,1.5248028641099014
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+-0.42558674957968945,1.4055954530523647
+1.2737730182416382,-1.5349456271047006
+1.24076668777484,-1.4426635351647397
+-0.7970407289374221,0.05313036525397605
+1.4461662688565093,-1.0450530276338366
+-0.6249372577490473,0.7020449813673051
+0.40361428138010785,-0.5691760046047758
+-0.5398513684291377,-0.058733859016793066
+0.11832854211413218,0.35636035977085584
+-0.29825846157128966,2.197873914426695
+-0.4017760025094532,1.0157490962145586
+0.5108484887378737,0.10160319545818997
+1.498867365190862,-1.059698107419857
+0.971706343089014,-0.40514629378670963
+0.19199467382055402,1.9259399220784463
+-0.6756245096643564,0.7261745483525062
+0.04582231932346581,1.341837762226167
+0.48006958986755277,1.1621092982771382
+-0.09515518201119372,0.8123775080316196
+-0.04808312501702941,0.7270637927551052
+-0.6215931375394737,1.1208667876645821
+-0.2822505269843996,1.8322573606716899
+0.3042232460336109,1.843711015164943
+0.7922506008012571,1.244684945855036
+-0.36229881637638894,1.7297510080045533
+0.2870250578332558,0.1577728035186272
+-0.025588130577039514,2.005963689471
+0.26633577723519614,1.5248028641099014
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+-0.42558674957968945,1.4055954530523647
+0.6231240186634873,1.5409678971106682
+1.24076668777484,-1.4426635351647397
+-0.7970407289374221,0.05313036525397605
+1.4461662688565093,-1.0450530276338366
+0.20042030601258531,1.2947688860978233
+-0.8072240404087141,0.3992158321922684
+-0.5398513684291377,-0.058733859016793066
+1.2503004865611462,0.6082757577225197
+-0.041743335407166904,0.8744605231110578
+-0.4325018664278719,0.21810735708554618
+0.503563565964633,1.0707070621558517
+1.498867365190862,-1.059698107419857
+0.971706343089014,-0.40514629378670963
+-0.11616032583613661,2.1046511421136844
+-0.6756245096643564,0.7261745483525062
+0.04582231932346581,1.341837762226167
+0.52130344521401,1.0449249804402077
+-0.09515518201119372,0.8123775080316196
+-0.48975308306288834,0.45891199475927047
+-0.6215931375394737,1.1208667876645821
+-0.2822505269843996,1.8322573606716899
+0.3042232460336109,1.843711015164943
+0.7922506008012571,1.244684945855036
+-0.5193921996720066,0.6725414575620801
+-0.3212631997931049,2.33753706078012
+1.0016997872015905,0.412437774519519
+0.26633577723519614,1.5248028641099014
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+-0.42558674957968945,1.4055954530523647
+0.6231240186634873,1.5409678971106682
+1.24076668777484,-1.4426635351647397
+-0.7970407289374221,0.05313036525397605
+0.49434011214108886,0.6020471395920757
+0.20042030601258531,1.2947688860978233
+-0.8072240404087141,0.3992158321922684
+-0.5398513684291377,-0.058733859016793066
+1.6174115332994443,-1.8036790947249208
+-0.041743335407166904,0.8744605231110578
+-0.24477503530831685,0.018358607344611255
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.971706343089014,-0.40514629378670963
+-0.11616032583613661,2.1046511421136844
+-0.6756245096643564,0.7261745483525062
+-0.2536441962108027,-0.16624265348286682
+0.5396974884493648,0.9921612675304778
+-0.04892240688356103,1.874378248636096
+-0.5671638799136667,1.6537809843219877
+-0.6215931375394737,1.1208667876645821
+-0.13600732993618603,1.358922637198896
+0.3042232460336109,1.843711015164943
+0.7922506008012571,1.244684945855036
+-0.5193921996720066,0.6725414575620801
+-0.8172153491384526,0.7124409706352892
+1.0016997872015905,0.412437774519519
+-0.28775953066454263,2.210275598522293
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+-0.42558674957968945,1.4055954530523647
+0.6231240186634873,1.5409678971106682
+1.6924800958386441,-1.5863290469170253
+-0.7970407289374221,0.05313036525397605
+1.7036287390142908,-3.1033473150626425
+0.20042030601258531,1.2947688860978233
+-0.8072240404087141,0.3992158321922684
+-0.647596069455912,-0.24599444467716758
+0.6782778285464064,1.2117533970230225
+-0.22081951115123555,0.6839716916848338
+0.5812474880843056,1.5215817060671695
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.23815244667825447,1.7658391955847876
+-0.11616032583613661,2.1046511421136844
+-0.03287187628652016,1.941531298192185
+-0.5320082693857269,1.8247631655415546
+0.5396974884493648,0.9921612675304778
+-0.3130880116982178,1.3891255314343554
+-0.46849323761648815,0.12250683899909498
+-0.6215931375394737,1.1208667876645821
+-0.5157397025394674,0.4250656108643706
+0.3042232460336109,1.843711015164943
+0.20840758508373425,2.2897505194466596
+-0.31398491916223836,1.6572997430770222
+-0.8172153491384526,0.7124409706352892
+1.385833332930012,-1.1431156176673976
+-0.28775953066454263,2.210275598522293
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+0.13738164226545813,-0.13092138768344053
+0.6231240186634873,1.5409678971106682
+-0.5798097941427282,1.6077283533066427
+-0.7970407289374221,0.05313036525397605
+1.7036287390142908,-3.1033473150626425
+0.20042030601258531,1.2947688860978233
+-0.8072240404087141,0.3992158321922684
+-0.647596069455912,-0.24599444467716758
+0.6782778285464064,1.2117533970230225
+-0.22081951115123555,0.6839716916848338
+-0.6220667636183035,0.31858363489356967
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+-0.6554926879521564,0.20180588544804753
+-0.11616032583613661,2.1046511421136844
+-0.03287187628652016,1.941531298192185
+-0.011310748366509249,-0.29526912200344924
+0.5396974884493648,0.9921612675304778
+0.14119311904465975,-0.27538579129127116
+-0.46849323761648815,0.12250683899909498
+-0.33732539191092553,0.4603901254685255
+-0.5157397025394674,0.4250656108643706
+0.7441815255723647,1.8081901761016288
+0.4507804019435732,1.6179406866987132
+-0.49970069682119256,1.7213654287360511
+-0.08326181636244095,0.11977129029277228
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+1.5979988906933495,-1.5730279464323484
+0.13738164226545813,-0.13092138768344053
+-0.5539408513059649,1.8809855920740712
+-0.3230915584852102,-0.051702977372847625
+-1.1910877960957125,-0.5944502969316077
+1.7036287390142908,-3.1033473150626425
+-0.009573921119461426,0.7247457801232862
+-0.8072240404087141,0.3992158321922684
+-0.5995053986550991,-0.11027714345847903
+0.6782778285464064,1.2117533970230225
+-0.6216010746143209,0.775237421117519
+1.6860120976456987,-1.3804317223462685
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.8328316484090521,0.7400090260117392
+-0.11616032583613661,2.1046511421136844
+-0.03287187628652016,1.941531298192185
+-0.216381294665202,1.7291179931718068
+0.5396974884493648,0.9921612675304778
+-0.8565753305350596,0.43994190565141733
+1.431847575899824,-0.48162600871858674
+-0.16239460165051406,-0.3016610787209051
+0.8109882011136587,-0.4658772102174219
+0.7441815255723647,1.8081901761016288
+0.63453537386509,1.3103215150094116
+-0.43368317242218096,1.04051848592485
+-0.08326181636244095,0.11977129029277228
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+-0.28856670509935944,1.3765657524322035
+0.04296425060174114,1.6880755156555014
+-0.31893963904139677,2.0985849554471514
+-0.3230915584852102,-0.051702977372847625
+-0.35326515158964245,2.113462734015473
+-0.020092017712041936,2.3962182664713
+-0.009573921119461426,0.7247457801232862
+-0.8072240404087141,0.3992158321922684
+-0.5995053986550991,-0.11027714345847903
+0.6782778285464064,1.2117533970230225
+-0.6216010746143209,0.775237421117519
+1.6860120976456987,-1.3804317223462685
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.8328316484090521,0.7400090260117392
+-0.2921519022260332,0.44788060453685097
+-0.03287187628652016,1.941531298192185
+-1.0128420559751201,0.48796468202035614
+0.5396974884493648,0.9921612675304778
+0.6108600989963406,1.59140922891058
+-0.6057067587045754,1.2769639736070033
+0.9195101383449334,-0.9733817801874609
+-0.06709388150774598,2.091166791067054
+0.7441815255723647,1.8081901761016288
+0.557608670433919,1.0722216625884897
+-0.43368317242218096,1.04051848592485
+1.6204634267202094,-0.9947229651683882
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+-0.28856670509935944,1.3765657524322035
+0.684126738581993,1.1212295936602048
+-0.31893963904139677,2.0985849554471514
+-0.3230915584852102,-0.051702977372847625
+-0.35326515158964245,2.113462734015473
+-0.020092017712041936,2.3962182664713
+-0.4229857534199546,-0.15399430184770502
+-0.7939766872012306,-0.4668396045725637
+-0.5995053986550991,-0.11027714345847903
+-0.3500734383032143,1.5523131935232382
+0.9541013402654587,-0.4674216969058823
+1.6860120976456987,-1.3804317223462685
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.8328316484090521,0.7400090260117392
+-0.2921519022260332,0.44788060453685097
+-0.03287187628652016,1.941531298192185
+-0.9809393258063972,0.3617182156801374
+0.5396974884493648,0.9921612675304778
+0.6108600989963406,1.59140922891058
+-0.6057067587045754,1.2769639736070033
+0.9195101383449334,-0.9733817801874609
+1.6229086734327494,-1.8632261717227392
+1.182102304668745,0.07600858833756018
+0.3905528388952648,0.2843686824105985
+-0.43368317242218096,1.04051848592485
+-0.17201155853384587,0.6048095025507659
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+-0.7249568374858737,1.1945243441632745
+0.684126738581993,1.1212295936602048
+0.26012021335947216,1.832515429710612
+0.12959281141334633,0.004976282183912495
+1.0242246897344525,-0.6294180872056033
+-0.9468423396165794,-0.051165691195900864
+-0.598271963776351,1.754561004856287
+0.4286715398108718,-0.17815973167704258
+-0.5995053986550991,-0.11027714345847903
+-0.3500734383032143,1.5523131935232382
+-0.5369946010507447,1.3543600988473115
+-0.04788933758154623,0.7539871212214033
+-0.5210603522050952,1.5755532049843701
+1.498867365190862,-1.059698107419857
+0.04827266468642122,1.2163877045008311
+0.5792413705363799,-0.8627340635836589
+-0.03287187628652016,1.941531298192185
+-0.9809393258063972,0.3617182156801374
+0.5396974884493648,0.9921612675304778
+-0.746280895781118,1.0799557153236745
+-0.6057067587045754,1.2769639736070033
+0.9195101383449334,-0.9733817801874609
+1.6229086734327494,-1.8632261717227392
+0.08957935397715056,-0.13666630368564292
+0.40533320266849615,1.7338823521574784
+-0.4917640154511187,-0.01801264816519907
+-0.8983278501287013,0.11732331612560379
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+-0.7249568374858737,1.1945243441632745
+0.684126738581993,1.1212295936602048
+0.2985803504610981,1.5819774439878778
+0.12959281141334633,0.004976282183912495
+0.45576816137030807,-0.796287517093682
+-0.9468423396165794,-0.051165691195900864
+-0.26071651336952895,-0.11795278626410294
+0.4286715398108718,-0.17815973167704258
+-0.5995053986550991,-0.11027714345847903
+-0.3500734383032143,1.5523131935232382
+0.7842560988199263,-0.7641358494446029
+-0.04788933758154623,0.7539871212214033
+-0.5210603522050952,1.5755532049843701
+0.15532865530122952,1.350489650267718
+1.5940738045023226,-1.772434038227321
+0.7163377804111357,-0.22429643836159385
+-0.03287187628652016,1.941531298192185
+-0.9809393258063972,0.3617182156801374
+0.5396974884493648,0.9921612675304778
+0.8713127003988725,0.22890214045402657
+-0.6057067587045754,1.2769639736070033
+0.9195101383449334,-0.9733817801874609
+0.9073489644604291,-0.5937786210611604
+1.1916979230412394,-1.391884519911375
+-0.343753162191497,1.624795501592215
+-0.4917640154511187,-0.01801264816519907
+-0.8983278501287013,0.11732331612560379
+1.3417811646441082,-1.738841007798048
+1.3973235961555899,-0.19128243123803304
+1.1478986628346992,-0.12233744444344986
+-0.0019614149393560876,1.4134692482339806
+-0.9265686343682575,-0.5864143412508741
+1.6970619096509258,-2.1459497065628073
+-0.3649371286929459,1.202601001538203
+0.45576816137030807,-0.796287517093682
+-0.9468423396165794,-0.051165691195900864
+-0.26071651336952895,-0.11795278626410294
+0.4286715398108718,-0.17815973167704258
+1.7472517635494822,-2.6194746476922037
+-0.3500734383032143,1.5523131935232382
+0.7842560988199263,-0.7641358494446029
+1.3316709191021654,-0.708067629051565
+-0.5210603522050952,1.5755532049843701
+-0.0934878686141,2.1381174109745453
+1.4028158404290654,-1.3590119139151287
+1.7288468606927945,-2.55831596059513
+-0.03287187628652016,1.941531298192185
+0.7804574397316134,0.06809905749984835
+0.5396974884493648,0.9921612675304778
+-0.23284987327843348,0.205159513614795
+-0.6057067587045754,1.2769639736070033
+0.5938557189951839,-0.5638210298598054
+1.5813428014327537,-2.053345442563199
+1.1916979230412394,-1.391884519911375
+-0.343753162191497,1.624795501592215
+0.4043071234452301,1.6960042961885802
+0.2731791871370249,0.5846855790504262
+0.1808494264148286,1.4458310157385128
+1.3973235961555899,-0.19128243123803304
+1.6178316588252935,-0.9417992179309981
+1.1594030164410516,-1.4976334686899966
+-0.5585460947825441,0.6263377188676045
+1.6970619096509258,-2.1459497065628073
+1.3331413646013228,-1.1373412030930932
+0.45576816137030807,-0.796287517093682
+-0.9468423396165794,-0.051165691195900864
+-0.385826774203745,0.7002204224586706
+0.4286715398108718,-0.17815973167704258
+1.349714520177023,-2.0763431593350323
+-0.3500734383032143,1.5523131935232382
+0.43136094232602074,-0.6448277750377249
+0.9100361570640864,-0.9152732515028179
+-0.5210603522050952,1.5755532049843701
+-0.0934878686141,2.1381174109745453
+0.988090388411874,0.050103671949279116
+1.7288468606927945,-2.55831596059513
+-0.03287187628652016,1.941531298192185
+1.0646387247161595,0.5516927844176314
+-0.005183479367272259,-0.003568948260702781
+0.06549831073617896,0.5078762344323513
+-0.6057067587045754,1.2769639736070033
+0.9680541493216774,0.6089844921821187
+1.894460067391323,-3.0533765232290495
+0.20340703466597418,2.4249036054406545
+1.1580999190847725,-0.21574832617810547
+0.4043071234452301,1.6960042961885802
+1.6476298489735468,-1.4001096270510194
+0.1808494264148286,1.4458310157385128
+1.3973235961555899,-0.19128243123803304
+1.6178316588252935,-0.9417992179309981
+1.1594030164410516,-1.4976334686899966
+-0.5585460947825441,0.6263377188676045
+0.671459897817404,0.8100947221141193
+0.32530924111904874,0.05757663577391825
+0.08669874185845784,-0.18234241211649657
+-0.9468423396165794,-0.051165691195900864
+-0.385826774203745,0.7002204224586706
+0.4286715398108718,-0.17815973167704258
+1.349714520177023,-2.0763431593350323
+-0.47676181696111253,1.8752897652766247
+0.43136094232602074,-0.6448277750377249
+0.29174221341538875,-0.6548574491188774
+-0.5210603522050952,1.5755532049843701
+-0.1567388173299129,-0.37574503465236236
+-0.26174393566201504,2.472376886337879
+0.15081451624584652,0.5196424586169198
+-0.03287187628652016,1.941531298192185
+1.0646387247161595,0.5516927844176314
+-0.29412203199961917,-0.1641946613428445
+0.49669463672927927,1.109677711648694
+1.02872562517402,0.07884399534204112
+0.9680541493216774,0.6089844921821187
+1.894460067391323,-3.0533765232290495
+-0.18382949157459832,0.29423474762358875
+0.7510133404415686,-0.4947010360877463
+0.45021384154865396,1.5266542015454845
+1.6476298489735468,-1.4001096270510194
+0.20781512517336784,1.25586067299411
+0.547631501008365,1.1476878047724663
+1.6178316588252935,-0.9417992179309981
+0.02906673152923027,0.5021516928625076
+-0.9012961556150507,0.9714136036578966
+0.17039267486617302,0.11315536530114552
+-0.5650456785285842,1.6638913876932524
+0.08669874185845784,-0.18234241211649657
+-0.9468423396165794,-0.051165691195900864
+-0.3391678899292642,0.24561113662322548
+0.4286715398108718,-0.17815973167704258
+1.349714520177023,-2.0763431593350323
+0.9681035763920188,0.43596790741754765
+0.9697338167987516,0.03861203319132411
+-0.23343300091165112,0.9099947470297917
+-0.5210603522050952,1.5755532049843701
+0.0024802715048601043,0.42324576417435883
+-0.26174393566201504,2.472376886337879
+-0.7044146751074701,-0.22703861011658016
+-0.5027088069939679,0.463696222487132
+1.0646387247161595,0.5516927844176314
+-0.8224511773509638,0.48432993094526816
+-0.5654491911623751,0.6802170856474126
+-0.09296985886850728,0.38929750061894774
+-0.6126527390681189,-0.3368382895828492
+1.894460067391323,-3.0533765232290495
+-0.18382949157459832,0.29423474762358875
+0.7246587325697659,1.2700306375752144
+0.45021384154865396,1.5266542015454845
+-0.20823758841057366,0.47150642579806135
+0.20781512517336784,1.25586067299411
+0.547631501008365,1.1476878047724663
+1.6178316588252935,-0.9417992179309981
+1.1022797758353373,0.4385570283265244
+-0.9012961556150507,0.9714136036578966
+-0.56770759947395,-0.25741193821734204
+-0.6437192031741852,1.5076488781651498
+-0.6244739577330832,-0.23616497174892254
+-0.6684956907882482,0.2048727788602578
+-0.3391678899292642,0.24561113662322548
+0.4286715398108718,-0.17815973167704258
+1.349714520177023,-2.0763431593350323
+1.1456954680212896,0.38488029602081236
+-0.9387443311519178,0.17582736275305588
+0.5184200743462981,1.6866989716143068
+-1.1341351634781636,-0.14952507584306873
+0.31222429473977975,1.4644813701483506
+-0.26174393566201504,2.472376886337879
+-0.7044146751074701,-0.22703861011658016
+0.44342016861431854,0.13376146015254853
+1.0646387247161595,0.5516927844176314
+-0.8224511773509638,0.48432993094526816
+-0.5654491911623751,0.6802170856474126
+-0.40596795118573614,0.37261726979662146
+-0.6126527390681189,-0.3368382895828492
+1.894460067391323,-3.0533765232290495
+-0.18382949157459832,0.29423474762358875
+0.07638521503393825,1.7623933219071524
+1.2633254836988719,0.24259053486770563
+0.06416917975499031,1.016766940806015
+0.8854517973285182,-0.02946609326849467
+0.547631501008365,1.1476878047724663
+0.5002433728701252,1.983846975344442
+-0.14405139478044682,0.1135969887573523
+-0.45051880827462387,1.7028227624753272
+1.128667543449237,-0.05065128578348871
+0.7363559354935875,-1.075001355167312
+-0.6244739577330832,-0.23616497174892254
+0.1318399388555374,1.3682848682522706
+-0.9338698745679822,0.09236182189706788
+-0.9131264229106385,-0.013989799936713315
+1.349714520177023,-2.0763431593350323
+1.1456954680212896,0.38488029602081236
+0.8100499987982117,-0.5268130741135907
+-0.03386732365816428,2.3990119135281227
+-0.629368393876558,0.09237779144400932
+0.31222429473977975,1.4644813701483506
+-0.1299040345792405,2.327457791516533
+-0.6514397798441426,0.6941184010319148
+0.6788379646234888,0.7167961254624011
+1.20856628848858,-1.4186395954374127
+0.8974969385594882,1.4960647942435226
+-0.5654491911623751,0.6802170856474126
+-0.40596795118573614,0.37261726979662146
+0.5308744651766744,0.21998043554184044
+1.894460067391323,-3.0533765232290495
+0.948734163327209,0.007963747768557572
+0.07638521503393825,1.7623933219071524
+1.2633254836988719,0.24259053486770563
+0.46549621693048293,0.7331149331465519
+-0.8006072500391768,0.4247631919877683
+0.547631501008365,1.1476878047724663
+0.45649528091465497,-0.4660112645012804
+-0.6748636515327935,0.4683511385619208
+-0.45051880827462387,1.7028227624753272
+1.128667543449237,-0.05065128578348871
+0.7363559354935875,-1.075001355167312
+0.9384563430891818,-1.1354594604705155
+-0.4473353033405385,1.2211134976933893
+-0.9338698745679822,0.09236182189706788
+-0.9131264229106385,-0.013989799936713315
+1.349714520177023,-2.0763431593350323
+1.1456954680212896,0.38488029602081236
+0.8100499987982117,-0.5268130741135907
+-0.03386732365816428,2.3990119135281227
+0.45236393107504536,1.9459854518283881
+0.31222429473977975,1.4644813701483506
+-0.1299040345792405,2.327457791516533
+0.5555921491749485,1.6832351634260576
+1.5597199963209034,-2.32790442102406
+1.3670715745223014,-1.7161914668842306
+1.1652040595229978,0.9117580675662827
+-0.5654491911623751,0.6802170856474126
+-0.40596795118573614,0.37261726979662146
+0.5308744651766744,0.21998043554184044
+1.894460067391323,-3.0533765232290495
+0.31604388606428513,1.7327152185728318
+1.2127874028730232,-0.7895993132352437
+1.2633254836988719,0.24259053486770563
+-0.5495527677079364,2.068906715129394
+-0.8006072500391768,0.4247631919877683
+0.547631501008365,1.1476878047724663
+0.45649528091465497,-0.4660112645012804
+-0.6748636515327935,0.4683511385619208
+1.0081334459396587,1.0907577363481793
+1.128667543449237,-0.05065128578348871
+-0.29288953059678224,0.567379931340255
+1.4013901223898317,-0.3363149488316521
+-0.4473353033405385,1.2211134976933893
+-0.9338698745679822,0.09236182189706788
+-0.9131264229106385,-0.013989799936713315
+1.5654667174375165,-1.7977875052562127
+-0.9035130506417903,0.37772576786998197
+0.8100499987982117,-0.5268130741135907
+1.4774297110733359,-0.6454731409613621
+1.2326905761198552,-1.0303059340845486
+0.31222429473977975,1.4644813701483506
+-0.1299040345792405,2.327457791516533
+0.5555921491749485,1.6832351634260576
+-0.2509454955051975,1.9109114558758322
+1.3670715745223014,-1.7161914668842306
+1.1652040595229978,0.9117580675662827
+-0.5654491911623751,0.6802170856474126
+-0.40596795118573614,0.37261726979662146
+0.5308744651766744,0.21998043554184044
+0.7503843857762829,-0.7647640532264215
+-0.1047791361448428,1.1614181017902112
+0.6075425979087907,0.9234482566550155
+1.2633254836988719,0.24259053486770563
+0.9743209791743211,0.8105370068966932
+-0.8006072500391768,0.4247631919877683
+0.547631501008365,1.1476878047724663
+0.45649528091465497,-0.4660112645012804
+-0.6748636515327935,0.4683511385619208
+1.0081334459396587,1.0907577363481793
+0.6341006606922605,0.6216495656591087
+-0.29288953059678224,0.567379931340255
+1.4013901223898317,-0.3363149488316521
+1.0091798975630257,0.3708406430726362
+-0.21051054074292672,-0.11118939440670655
+-0.9131264229106385,-0.013989799936713315
+1.5654667174375165,-1.7977875052562127
+-0.8181647483051833,0.26415326149466034
+0.8100499987982117,-0.5268130741135907
+1.4774297110733359,-0.6454731409613621
+1.2326905761198552,-1.0303059340845486
+0.31222429473977975,1.4644813701483506
+-0.1299040345792405,2.327457791516533
+-0.2113015093350189,0.3213088228003216
+-0.2509454955051975,1.9109114558758322
+0.6167666382446377,1.4716962314815896
+0.535121210210102,0.6511121080489558
+-0.5654491911623751,0.6802170856474126
+-0.13315519411652457,1.479304690812937
+0.03725188038930771,-0.22472808138815453
+0.7503843857762829,-0.7647640532264215
+0.07544657887975831,2.034884468286415
+-0.6646217112443651,-0.2628851451633596
+1.130366836403214,-1.312318696184559
+0.01987989160814127,0.07974203697243323
+-0.11068594204436724,0.20174939578701062
+-0.8352467043537702,0.4400485785900761
+0.45649528091465497,-0.4660112645012804
+-0.6748636515327935,0.4683511385619208
+1.0081334459396587,1.0907577363481793
+0.6341006606922605,0.6216495656591087
+-0.29288953059678224,0.567379931340255
+1.4013901223898317,-0.3363149488316521
+1.0091798975630257,0.3708406430726362
+-0.21051054074292672,-0.11118939440670655
+1.3564850344850874,-1.433169417346538
+1.5654667174375165,-1.7977875052562127
+-0.8181647483051833,0.26415326149466034
+0.8100499987982117,-0.5268130741135907
+1.4774297110733359,-0.6454731409613621
+1.2326905761198552,-1.0303059340845486
+0.31222429473977975,1.4644813701483506
+-0.5879201692936913,1.830905903726526
+-0.11096463452923178,1.0385557591003225
+-0.2509454955051975,1.9109114558758322
+0.6167666382446377,1.4716962314815896
+0.058060550184620724,1.0421506214608767
+-0.5654491911623751,0.6802170856474126
+-0.13315519411652457,1.479304690812937
+0.03725188038930771,-0.22472808138815453
+0.7503843857762829,-0.7647640532264215
+0.07544657887975831,2.034884468286415
+-0.6646217112443651,-0.2628851451633596
+0.08719422375100237,-0.33194961469831163
+1.7488918955733217,-1.8473774703771904
+-0.11068594204436724,0.20174939578701062
+1.7008234005278928,-2.667292439982092
+0.18516597365691967,0.435990374782694
+-0.6748636515327935,0.4683511385619208
+0.3088704809956415,0.17184607919571532
+0.8044522874892769,0.2859634041610315
+0.3840750630928207,-0.24487719379570638
+1.2699746193458872,-0.951995150208296
+1.0091798975630257,0.3708406430726362
+-0.47489443033580714,0.9703110353146362
+1.3564850344850874,-1.433169417346538
+1.5654667174375165,-1.7977875052562127
+-0.29581453134908775,0.32428648960265616
+0.8100499987982117,-0.5268130741135907
+1.4774297110733359,-0.6454731409613621
+1.2326905761198552,-1.0303059340845486
+0.31222429473977975,1.4644813701483506
+-0.5879201692936913,1.830905903726526
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+0.6167666382446377,1.4716962314815896
+0.058060550184620724,1.0421506214608767
+-0.5654491911623751,0.6802170856474126
+-0.13315519411652457,1.479304690812937
+0.03725188038930771,-0.22472808138815453
+0.8730392793552239,-0.49895100612740495
+0.07544657887975831,2.034884468286415
+-0.6646217112443651,-0.2628851451633596
+1.316742819964597,-0.12768421755171055
+1.7488918955733217,-1.8473774703771904
+-0.11068594204436724,0.20174939578701062
+-0.2628095399173944,1.9251201638492796
+0.18516597365691967,0.435990374782694
+-0.6748636515327935,0.4683511385619208
+-0.49593534789057425,0.11612432507738547
+0.8044522874892769,0.2859634041610315
+0.3840750630928207,-0.24487719379570638
+0.5514723503086968,-0.44876520016260835
+1.0091798975630257,0.3708406430726362
+1.234766832544969,0.05224225615943251
+1.3564850344850874,-1.433169417346538
+1.3548430420482718,-0.10789696700953355
+-0.29581453134908775,0.32428648960265616
+0.8100499987982117,-0.5268130741135907
+1.4774297110733359,-0.6454731409613621
+1.0258024688655074,-0.859077926980836
+-0.22456822481570796,1.6312268416617761
+-0.5879201692936913,1.830905903726526
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+0.6167666382446377,1.4716962314815896
+-0.20996828527581518,-0.15294466773291637
+-0.5654491911623751,0.6802170856474126
+0.5797992549752338,-0.707792936411166
+0.03725188038930771,-0.22472808138815453
+0.9265628259804359,-1.2032369718199263
+0.07544657887975831,2.034884468286415
+-0.6646217112443651,-0.2628851451633596
+1.316742819964597,-0.12768421755171055
+1.230761667458845,0.4866566062600431
+-0.11068594204436724,0.20174939578701062
+-0.2628095399173944,1.9251201638492796
+0.41827090769147407,-0.48844499450136325
+-0.6748636515327935,0.4683511385619208
+-0.11376491295689012,2.435308339805766
+0.08279491568795733,2.1619265270584234
+0.3840750630928207,-0.24487719379570638
+0.2563635770198347,0.7575673226095502
+-0.25201910947970074,1.3458025161488205
+1.234766832544969,0.05224225615943251
+1.3564850344850874,-1.433169417346538
+1.3548430420482718,-0.10789696700953355
+0.6150822036551866,1.4830417840538526
+0.8100499987982117,-0.5268130741135907
+0.252897917919505,1.57244523540297
+0.02789972226681256,2.2254765272431936
+0.14959730949548494,0.2575382808287464
+1.5932330343377001,-0.7235634684892349
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+1.6101474930291948,-0.9045353190317349
+-0.20996828527581518,-0.15294466773291637
+-0.5654491911623751,0.6802170856474126
+0.4604363114973121,-0.31574974576062154
+0.9300730569872662,-0.9455132501848847
+0.9577330226448433,1.1511123095793194
+0.6757307208249395,0.15833825200125656
+-0.6646217112443651,-0.2628851451633596
+1.316742819964597,-0.12768421755171055
+0.870885446091114,-0.9311152602230601
+1.725942249345154,-1.4402925019719153
+-0.2628095399173944,1.9251201638492796
+1.179718871661899,-1.1481736737999593
+0.31273271763709987,0.5417502231341557
+0.4633834922429983,0.4632553091808903
+1.3782277481447092,-1.5828528685683114
+0.3840750630928207,-0.24487719379570638
+0.2563635770198347,0.7575673226095502
+-0.25201910947970074,1.3458025161488205
+1.234766832544969,0.05224225615943251
+1.281286872510619,-0.29380723231202754
+1.3548430420482718,-0.10789696700953355
+0.6150822036551866,1.4830417840538526
+0.8100499987982117,-0.5268130741135907
+1.0270902489205755,0.648214800079008
+1.3599427194618634,-0.37563437061919935
+-0.20193095567369673,1.807976597075576
+1.3510453000528213,-1.5821479549934536
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+0.9189019715924446,0.8537201130828417
+-0.20996828527581518,-0.15294466773291637
+-0.5654491911623751,0.6802170856474126
+0.4604363114973121,-0.31574974576062154
+0.49026706341340487,1.684885968950855
+0.9577330226448433,1.1511123095793194
+-0.1291203000510247,-0.01438862403927263
+-0.6646217112443651,-0.2628851451633596
+1.316742819964597,-0.12768421755171055
+0.1721854423781202,-0.06139861425356413
+-0.17352731919781728,1.6556099965170537
+-0.2628095399173944,1.9251201638492796
+1.179718871661899,-1.1481736737999593
+1.144245559107198,-1.2679341751600308
+0.4633834922429983,0.4632553091808903
+-0.24343498839100444,2.054631599796968
+0.5939083315058138,0.49370160711540223
+-0.4764234319331444,2.158402544278988
+-0.25201910947970074,1.3458025161488205
+0.034602789406729895,1.8190499785672904
+1.281286872510619,-0.29380723231202754
+0.5401905594403229,-0.588377558718249
+0.6150822036551866,1.4830417840538526
+-0.6813373752989305,0.5477121169246078
+0.8966728048904131,0.3105101122667785
+1.3599427194618634,-0.37563437061919935
+-0.20193095567369673,1.807976597075576
+1.3510453000528213,-1.5821479549934536
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+0.9189019715924446,0.8537201130828417
+-0.20996828527581518,-0.15294466773291637
+-0.5654491911623751,0.6802170856474126
+0.4604363114973121,-0.31574974576062154
+0.49026706341340487,1.684885968950855
+0.9577330226448433,1.1511123095793194
+0.013012530524336902,1.892745669478854
+-0.6646217112443651,-0.2628851451633596
+1.316742819964597,-0.12768421755171055
+0.0051671440364097765,0.27223038858143156
+-0.17352731919781728,1.6556099965170537
+1.4685622680731016,-0.7859099658930561
+-0.17256828864086338,0.18552458285910706
+1.144245559107198,-1.2679341751600308
+-0.3110409280514573,-0.2369841792274247
+-0.24343498839100444,2.054631599796968
+0.8440631368838488,1.678776574375409
+0.32655477184675463,-0.5961261261497515
+-0.25201910947970074,1.3458025161488205
+0.7075265222155804,0.8635592763394824
+0.42630218986270807,1.9921279371349576
+0.5401905594403229,-0.588377558718249
+0.6150822036551866,1.4830417840538526
+-0.7818493123744832,1.12366388565102
+1.266911286262741,-1.3939234464443389
+1.3599427194618634,-0.37563437061919935
+-0.8563556245549533,-0.01207101063654989
+1.3510453000528213,-1.5821479549934536
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+-0.5914998805669713,-0.23918104658197825
+0.664662528583518,-0.19290712459211368
+0.016981732071819966,2.2927054719479862
+0.4604363114973121,-0.31574974576062154
+0.20018602383431278,0.46402649283715924
+0.9577330226448433,1.1511123095793194
+0.013012530524336902,1.892745669478854
+0.19074624490780645,1.737941434535275
+-0.5256029156925768,0.7083719132581848
+0.15017628180962495,2.326431074489738
+0.5944896838666238,-0.5617323490016894
+1.4685622680731016,-0.7859099658930561
+-0.17256828864086338,0.18552458285910706
+1.144245559107198,-1.2679341751600308
+-0.3984486442853291,0.6067290327330521
+-0.24343498839100444,2.054631599796968
+1.409743440864417,-1.5027728687840138
+0.19593476589999936,-0.21304849407053045
+1.3030911409687806,-0.927533605862577
+-0.11587356363133644,0.9493905250240492
+0.42630218986270807,1.9921279371349576
+-0.0990365207753359,1.7411314020242599
+0.6150822036551866,1.4830417840538526
+-0.45476615503423995,0.7131571243700299
+1.266911286262741,-1.3939234464443389
+1.3599427194618634,-0.37563437061919935
+-0.8563556245549533,-0.01207101063654989
+0.22537141857371268,-0.18395569384310267
+0.46727592531673956,-0.39891814033501694
+-0.2509454955051975,1.9109114558758322
+-0.5914998805669713,-0.23918104658197825
+0.7182756337042167,-0.3730306153715699
+-0.09095897347270232,0.7702078347873449
+0.5073815996770656,1.6692672365085426
+0.6030486139712155,1.522534678611752
+0.9577330226448433,1.1511123095793194
+0.013012530524336902,1.892745669478854
+-0.16347979934392834,1.054709777422285
+0.8431577042636527,-0.6859172564557945
+0.15017628180962495,2.326431074489738
+0.5944896838666238,-0.5617323490016894
+0.8335190546107024,0.9415702453353586
+1.281462510867263,-1.4582378792483857
+1.144245559107198,-1.2679341751600308
+-0.5220731920977418,1.621849025431918
+-0.5426033070617904,1.62924622793816
+1.3811884717853005,-0.9388514889582427
+0.19593476589999936,-0.21304849407053045
+1.3030911409687806,-0.927533605862577
+1.4070538612962906,-0.80836849405188
+1.7124233067122412,-1.9779307159588466
+-0.0990365207753359,1.7411314020242599
+0.4357223527551332,1.9976309906992766
+-0.45476615503423995,0.7131571243700299
+1.266911286262741,-1.3939234464443389
+-0.8144481586170256,0.8867339011952781
+-0.8563556245549533,-0.01207101063654989
+-0.10239459310773821,2.206885895885195
+-0.3166182199968658,1.9376322848555376
+0.16322597165860248,1.9753394301911062
+1.0703960158401893,-0.6677256531660511
+0.7182756337042167,-0.3730306153715699
+1.3354140308341342,-1.1152363482870946
+0.5073815996770656,1.6692672365085426
+0.6030486139712155,1.522534678611752
+-0.29602851984069206,0.22196837472405817
+0.6520714052101417,1.073975458797608
+1.1465352482865447,-0.9915410446451501
+0.9108246661305275,-0.07498373594449248
+0.8020933413107296,-0.9255998738553444
+0.5944896838666238,-0.5617323490016894
+-0.16213747869649353,1.2621186070253474
+1.336029591398861,-1.8210623108958395
+1.144245559107198,-1.2679341751600308
+1.8490660488731883,-2.066559991536337
+-0.5426033070617904,1.62924622793816
+1.3683561225313894,-0.2906936253442135
+1.4419045258432641,-1.3577458711916335
+1.61246115528993,-0.989490467859101
+1.0879401723155278,-0.7247690697798114
+-0.38923172064464134,0.6822643057303986
+-0.07992949037653024,0.6411457974590402
+0.4357223527551332,1.9976309906992766
+1.5826269648626177,-2.371974895773103
+1.6444849323110466,-2.1740934667434177
+-0.8144481586170256,0.8867339011952781
+-0.8563556245549533,-0.01207101063654989
+-0.409644044191553,1.3732175513773883
+-0.3166182199968658,1.9376322848555376
+0.16322597165860248,1.9753394301911062
+0.9841098613732537,-0.6407403822573234
+-0.351984482094881,0.7504875665616746
+1.3354140308341342,-1.1152363482870946
+0.4598800712059249,0.5982251199648501
+0.6030486139712155,1.522534678611752
+-0.29602851984069206,0.22196837472405817
+0.6520714052101417,1.073975458797608
+1.1465352482865447,-0.9915410446451501
+0.9108246661305275,-0.07498373594449248
+0.8020933413107296,-0.9255998738553444
+-0.37987130258538965,0.5738784634893288
+-0.16213747869649353,1.2621186070253474
+1.1881067839656834,0.021752733394033497
+1.144245559107198,-1.2679341751600308
+1.8490660488731883,-2.066559991536337
+-0.5426033070617904,1.62924622793816
+-0.1057744411353965,2.318943391521577
+-0.5444908044969188,0.5263605205731798
+-0.2244264697570179,0.8707071598066866
+-0.038044156167674814,0.25340457326289834
+1.0297229474205043,1.0466025218767947
+-0.20871246679340916,1.702052602314103
+0.4357223527551332,1.9976309906992766
+0.02271052747558555,1.7294627910981255
+1.8035647118394342,-1.7212724237337853
+-0.8144481586170256,0.8867339011952781
+-0.8563556245549533,-0.01207101063654989
+-0.7125475336703334,1.2724531990928278
+0.44456004461949206,1.954981991267006
+0.16322597165860248,1.9753394301911062
+0.9841098613732537,-0.6407403822573234
+-0.351984482094881,0.7504875665616746
+1.3354140308341342,-1.1152363482870946
+-0.1954184956007794,0.4962327519018799
+0.6030486139712155,1.522534678611752
+0.18794022976430275,1.9282421464557604
+0.6520714052101417,1.073975458797608
+1.284073473174256,-1.6608294801494332
+-0.5763886678797879,1.0356798852396925
+0.9351744420159167,0.9605542531970264
+-0.37987130258538965,0.5738784634893288
+-0.8470132651999085,0.332484931302402
+1.1881067839656834,0.021752733394033497
+1.144245559107198,-1.2679341751600308
+0.45421641097018495,-0.00040860004807175
+1.4344894036390599,-0.3992228815608235
+-0.4402650139339345,1.5438443885260233
+-0.5444908044969188,0.5263605205731798
+-0.2244264697570179,0.8707071598066866
+0.0517104754925207,1.4642972945711885
+1.0297229474205043,1.0466025218767947
+-0.20871246679340916,1.702052602314103
+0.4357223527551332,1.9976309906992766
+0.02271052747558555,1.7294627910981255
+0.22313655745445252,-0.4230431937714515
+-0.6413753601843469,-0.2701621785195515
+-0.8563556245549533,-0.01207101063654989
+-0.7125475336703334,1.2724531990928278
+0.44456004461949206,1.954981991267006
+0.16322597165860248,1.9753394301911062
+-0.5262315269928899,0.9879727130671676
+-0.351984482094881,0.7504875665616746
+1.3354140308341342,-1.1152363482870946
+-0.5521969021536289,0.33097335517688403
+0.6030486139712155,1.522534678611752
+0.18794022976430275,1.9282421464557604
+0.7253306339053499,0.9999581534661991
+0.05781987552767709,0.9107561426821875
+0.4867598986287458,1.119866678072237
+1.5764801647960125,-1.1719766221667087
+-0.5903164512182902,-0.3224530835479048
+-0.8470132651999085,0.332484931302402
+1.1881067839656834,0.021752733394033497
+1.144245559107198,-1.2679341751600308
+0.45421641097018495,-0.00040860004807175
+0.9767890704576838,-0.2711308946148827
+-0.4402650139339345,1.5438443885260233
+-0.025635785449540704,2.058340068850073
+-0.2244264697570179,0.8707071598066866
+0.2559583430209902,2.11779842585426
+1.0297229474205043,1.0466025218767947
+-0.20871246679340916,1.702052602314103
+0.4357223527551332,1.9976309906992766
+1.5658268955957066,-0.723935742793102
+0.22313655745445252,-0.4230431937714515
+-0.6413753601843469,-0.2701621785195515
+-0.8563556245549533,-0.01207101063654989
+-0.7125475336703334,1.2724531990928278
+0.44456004461949206,1.954981991267006
+-0.4953612712248654,1.1487964838634515
+-0.5262315269928899,0.9879727130671676
+0.6938035858785137,0.9885993197071185
+1.3354140308341342,-1.1152363482870946
+-0.5521969021536289,0.33097335517688403
+-0.7668971855116272,1.6430892900133407
+0.18794022976430275,1.9282421464557604
+-0.7253790363700436,1.1254475509180553
+1.0500135298354658,-0.8450450058221037
+-0.6908746019623454,0.4036508743161793
+1.5764801647960125,-1.1719766221667087
+-0.4914060192319184,-0.180311939096318
+-0.8470132651999085,0.332484931302402
+0.15092326854129984,-0.1430232464949157
+1.144245559107198,-1.2679341751600308
+0.45421641097018495,-0.00040860004807175
+0.9767890704576838,-0.2711308946148827
+-0.4402650139339345,1.5438443885260233
+-0.23881929647065736,0.4583017779755124
+0.6380403181062437,0.8418263354828599
+-0.4812813315019433,-0.46696089955953424
+1.0297229474205043,1.0466025218767947
+0.33506680170513015,1.5429185153145464
+0.4357223527551332,1.9976309906992766
+-0.7142486035386441,0.8026447015325023
+-0.35308588651726064,0.5402048196446148
+0.47826070961169903,0.8048733011430612
+-0.9898039108224623,0.5021503434367328
+-0.7125475336703334,1.2724531990928278
+-0.6720122872124518,1.6592401001148354
+-0.4953612712248654,1.1487964838634515
+0.4556084189751731,-0.4637465264673234
+-0.10277825660183293,0.5326288356941392
+-0.5058233441167022,0.684719701873072
+0.22995606676678582,0.12632051938870825
+-0.7668971855116272,1.6430892900133407
+0.18794022976430275,1.9282421464557604
+-0.37749198745649815,0.5517148930792577
+1.0500135298354658,-0.8450450058221037
+-0.6908746019623454,0.4036508743161793
+1.5764801647960125,-1.1719766221667087
+-0.4914060192319184,-0.180311939096318
+-0.04716035011539588,1.6126009998730264
+1.0201762778946109,-1.474956643646735
+1.144245559107198,-1.2679341751600308
+0.45421641097018495,-0.00040860004807175
+-1.0642213974843846,-0.36652206972473267
+-0.9004207750492548,0.3262236081547162
+-0.23881929647065736,0.4583017779755124
+0.6380403181062437,0.8418263354828599
+-0.9920771196312985,0.14670575328449997
+0.19951737851786566,0.21457323847211307
+0.33506680170513015,1.5429185153145464
+0.4357223527551332,1.9976309906992766
+-0.789749508057014,0.1724125370697019
+1.2562041312580006,-1.712853943930795
+0.7544812039462467,1.6774132730813143
+0.833626692337759,1.4320250750457875
+-0.28931716852493194,1.1909875515851267
+-0.6720122872124518,1.6592401001148354
+-0.08469036948578124,0.3452521923889773
+0.4556084189751731,-0.4637465264673234
+-0.10277825660183293,0.5326288356941392
+0.8567767746158577,1.4740812073908969
+0.22995606676678582,0.12632051938870825
+-0.7668971855116272,1.6430892900133407
+0.18794022976430275,1.9282421464557604
+-0.37749198745649815,0.5517148930792577
+1.0500135298354658,-0.8450450058221037
+-0.6908746019623454,0.4036508743161793
+1.5764801647960125,-1.1719766221667087
+-0.4914060192319184,-0.180311939096318
+1.5743418232114956,-2.3548504474583813
+0.5080519901296775,-0.35393763818333546
+1.144245559107198,-1.2679341751600308
+0.3919527092401135,1.132777551640431
+1.1051701111342842,-0.6320430476158025
+0.8031844855995995,0.1306386409041176
+-0.23881929647065736,0.4583017779755124
+0.8027623738631094,0.7452002756499907
+-0.9920771196312985,0.14670575328449997
+0.19951737851786566,0.21457323847211307
+0.8699049686842105,0.8080012140446409
+0.4357223527551332,1.9976309906992766
+-0.789749508057014,0.1724125370697019
+0.6530349941816652,-0.838810936978184
+0.7544812039462467,1.6774132730813143
+0.628959583827636,1.9123250149910773
+-0.045963161386905566,1.059861866038938
+-0.6720122872124518,1.6592401001148354
+-0.08469036948578124,0.3452521923889773
+0.7367338524634905,1.308754121622509
+0.47415001935523826,1.4355927534920634
+0.8567767746158577,1.4740812073908969
+0.22995606676678582,0.12632051938870825
+-0.7668971855116272,1.6430892900133407
+0.18794022976430275,1.9282421464557604
+0.30042754071832956,1.8177307052046134
+1.0500135298354658,-0.8450450058221037
+-0.6908746019623454,0.4036508743161793
+1.1521860483148083,-0.8742578144785558
+0.3869387822779445,2.000440306524884
+0.8710776234696704,1.1756201118094058
+0.5080519901296775,-0.35393763818333546
+1.144245559107198,-1.2679341751600308
+0.3919527092401135,1.132777551640431
+1.1051701111342842,-0.6320430476158025
+0.8031844855995995,0.1306386409041176
+-0.23881929647065736,0.4583017779755124
+0.717871048621308,-0.775977857780407
+-0.9920771196312985,0.14670575328449997
+-0.3953301316897943,0.7721040382804656
+-0.013277745890499681,2.0984413293864024
+0.4357223527551332,1.9976309906992766
+-0.6389819380439727,1.455286708165021
+0.6530349941816652,-0.838810936978184
+0.4423837393876533,1.6137804994236302
+0.628959583827636,1.9123250149910773
+0.267225611279276,0.5188766853994863
+0.06801647186694709,0.3979581056155149
+-0.08469036948578124,0.3452521923889773
+0.9715174337668709,-0.10445129662312716
+1.2226936859362239,-1.0828401201056137
+-0.24250383825569555,0.17887467468432244
+0.22995606676678582,0.12632051938870825
+1.519648042095278,-0.9578115811273243
+0.18794022976430275,1.9282421464557604
+0.028156629385991686,1.0644001290769791
+1.0500135298354658,-0.8450450058221037
+-0.2843108904599606,0.9775781193711003
+1.1521860483148083,-0.8742578144785558
+0.3869387822779445,2.000440306524884
+0.13506139729688157,1.5638766384442402
+0.5080519901296775,-0.35393763818333546
+1.144245559107198,-1.2679341751600308
+0.13080597331907967,0.8174782168724579
+1.1051701111342842,-0.6320430476158025
+0.6100233854945964,-0.40115708512254633
+0.44706022323759537,1.1737036308517028
+-0.8670603394793923,-0.12332649885238595
+-0.9920771196312985,0.14670575328449997
+-0.3953301316897943,0.7721040382804656
+1.1292319437551273,-0.9812420764086682
+0.097525319480906,2.162821663171164
+0.21257131627824,-0.08499228301095252
+-0.5302804435036874,0.9630837954075118
+-0.27255813299058795,0.7044947282126077
+0.8475929149775854,-0.8669696261397015
+1.1123922614914972,-1.0019321775650352
+0.7791053480145304,-0.9750144906132842
+1.476853255518527,-1.7003613282867847
+0.9715174337668709,-0.10445129662312716
+1.240000156231843,-0.11893329923446318
+-0.24250383825569555,0.17887467468432244
+1.1125521007236765,-0.9891557587261979
+1.519648042095278,-0.9578115811273243
+0.18794022976430275,1.9282421464557604
+0.028156629385991686,1.0644001290769791
+1.0500135298354658,-0.8450450058221037
+0.8856612197217462,0.8352460656200015
+-0.7244311483059285,1.104571953342719
+-0.6562440208297586,0.4653266190088354
+0.8588440689846485,0.42319961911610093
+0.5080519901296775,-0.35393763818333546
+1.144245559107198,-1.2679341751600308
+0.07728420463283729,1.9370238373673025
+0.6518802153583129,1.4582486272570119
+0.6100233854945964,-0.40115708512254633
+0.44706022323759537,1.1737036308517028
+-0.8670603394793923,-0.12332649885238595
+-0.9920771196312985,0.14670575328449997
+-0.3953301316897943,0.7721040382804656
+1.1292319437551273,-0.9812420764086682
+0.4281067286145762,1.6700227023246523
+0.5298273943197245,-0.5493369031738692
+-0.5302804435036874,0.9630837954075118
+-0.7228065137795314,0.09561662546993663
+0.8475929149775854,-0.8669696261397015
+1.1123922614914972,-1.0019321775650352
+0.35177283898388567,-0.003954518779295951
+1.3255775308986821,-0.72012730753872
+0.9715174337668709,-0.10445129662312716
+1.240000156231843,-0.11893329923446318
+1.171994566656522,-1.1353225327314638
+1.1125521007236765,-0.9891557587261979
+-0.414758442151839,0.22582653451639711
+0.18794022976430275,1.9282421464557604
+0.20953525081702123,0.4000680060781908
+0.1622263635825355,0.008614479457651009
+0.8856612197217462,0.8352460656200015
+-0.7244311483059285,1.104571953342719
+-0.4752767415341318,0.6665758379884648
+-0.2392518693118597,-0.3635131476481446
+-0.41912647610844184,1.5966224751416722
+0.5311346222408759,-0.14408445861578784
+0.07728420463283729,1.9370238373673025
+0.6492875144474118,-0.15564258729746228
+0.6100233854945964,-0.40115708512254633
+0.31199625522641516,1.6619977524949139
+-0.8670603394793923,-0.12332649885238595
+-0.9920771196312985,0.14670575328449997
+-0.22415360249880742,1.0932821260282906
+0.700578897406956,0.5528251560738675
+0.09389256942195978,-0.1834158308330992
+0.5298273943197245,-0.5493369031738692
+-0.5302804435036874,0.9630837954075118
+-0.7228065137795314,0.09561662546993663
+1.5822916106422298,-1.269543715416467
+1.1123922614914972,-1.0019321775650352
+0.35177283898388567,-0.003954518779295951
+-0.20886505162453867,0.8414514000700422
+0.1317397952124273,-0.2920308942707609
+1.240000156231843,-0.11893329923446318
+1.171994566656522,-1.1353225327314638
+-0.7050927463161665,0.2948567483232851
+1.2856087506549125,0.41135671361637327
+0.18794022976430275,1.9282421464557604
+0.15455460932461584,-0.24949111205137348
+0.14922122682708366,0.2816402460807589
+0.8856612197217462,0.8352460656200015
+-0.7244311483059285,1.104571953342719
+-0.4752767415341318,0.6665758379884648
+-0.2392518693118597,-0.3635131476481446
+-0.41912647610844184,1.5966224751416722
+0.5311346222408759,-0.14408445861578784
+0.07728420463283729,1.9370238373673025
+-0.5968938392014485,0.7247024425902062
+0.6100233854945964,-0.40115708512254633
+0.31199625522641516,1.6619977524949139
+-0.8670603394793923,-0.12332649885238595
+-0.9920771196312985,0.14670575328449997
+-0.13042219583051845,0.740081018660178
+1.54222275478028,-1.0094735573359808
+0.09389256942195978,-0.1834158308330992
+-0.24799146881733458,2.373534156110849
+-0.6028680360167121,0.7677443444205908
+-0.7228065137795314,0.09561662546993663
+1.5822916106422298,-1.269543715416467
+1.1123922614914972,-1.0019321775650352
+0.35177283898388567,-0.003954518779295951
+-0.3187867785494492,2.1027532400889988
+0.5577360096019945,-0.19305415619402655
+1.240000156231843,-0.11893329923446318
+1.171994566656522,-1.1353225327314638
+-0.7050927463161665,0.2948567483232851
+-0.773962230752628,-0.22079268575608063
+0.18794022976430275,1.9282421464557604
+-0.8080813656546044,0.8021396441579223
+1.1978442829805576,0.588431184514203
+0.8856612197217462,0.8352460656200015
+-0.7244311483059285,1.104571953342719
+0.06278020266352147,1.773607784433203
+-0.2392518693118597,-0.3635131476481446
+0.7809288164832782,1.2747464089572278
+0.5311346222408759,-0.14408445861578784
+0.07728420463283729,1.9370238373673025
+-0.5968938392014485,0.7247024425902062
+0.6100233854945964,-0.40115708512254633
+0.6068583513354793,-0.5021233342566628
+-0.24442093772003198,1.3032485496201716
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+1.54222275478028,-1.0094735573359808
+-0.6386622243118097,0.3630706656086178
+-0.24799146881733458,2.373534156110849
+-0.6028680360167121,0.7677443444205908
+0.7523196294125698,-0.42982768381304665
+1.5822916106422298,-1.269543715416467
+1.1123922614914972,-1.0019321775650352
+0.4950744919347486,0.338269706346352
+-0.3187867785494492,2.1027532400889988
+0.5577360096019945,-0.19305415619402655
+1.240000156231843,-0.11893329923446318
+1.171994566656522,-1.1353225327314638
+-0.7050927463161665,0.2948567483232851
+0.2609819544774813,1.4832090364601775
+0.18794022976430275,1.9282421464557604
+-0.8080813656546044,0.8021396441579223
+1.1978442829805576,0.588431184514203
+0.148778924901651,0.5192382900114314
+0.5874454892789595,1.0053836013172452
+-0.09592927185802845,2.1947015600041353
+-0.5716056697766833,0.5404962969865572
+0.04569787895697824,2.4181391222524504
+0.5311346222408759,-0.14408445861578784
+0.07728420463283729,1.9370238373673025
+-0.5968938392014485,0.7247024425902062
+0.18314656005180652,2.223992639118866
+0.8991754075302805,0.5920738731998141
+-0.24442093772003198,1.3032485496201716
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+1.54222275478028,-1.0094735573359808
+-0.6386622243118097,0.3630706656086178
+-0.24799146881733458,2.373534156110849
+1.5605523365446534,-1.2957941116890372
+0.7523196294125698,-0.42982768381304665
+0.47254887659908673,-0.43825566071200694
+1.1123922614914972,-1.0019321775650352
+-0.034239834556616,0.6645351508559902
+-0.3187867785494492,2.1027532400889988
+0.5577360096019945,-0.19305415619402655
+0.7115838672799583,1.856220024609073
+0.8127520515531794,-0.35093315623942134
+0.32234665147986347,2.1895884351864146
+0.2609819544774813,1.4832090364601775
+0.18794022976430275,1.9282421464557604
+-0.8080813656546044,0.8021396441579223
+1.1978442829805576,0.588431184514203
+0.7155821151493388,-0.8186906946165516
+0.21965851029983136,0.32767229587438496
+0.6477661851073373,-0.3247959139994937
+-0.5716056697766833,0.5404962969865572
+1.8413392463742453,-1.911256458496693
+0.5311346222408759,-0.14408445861578784
+1.2824228977708225,-1.2800401766046472
+0.8144808866876565,-0.0373719870368005
+-0.35748883276981047,2.0174716958070342
+1.1748563484891426,-1.4261883902727845
+0.40998054891440905,-0.1898141137190107
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.2091588401355094,1.03552579894326
+-0.6386622243118097,0.3630706656086178
+-0.24799146881733458,2.373534156110849
+1.5605523365446534,-1.2957941116890372
+0.0480986511863577,0.879803004106372
+-0.014031528005575167,0.02413066895949112
+1.1123922614914972,-1.0019321775650352
+-0.034239834556616,0.6645351508559902
+-0.3187867785494492,2.1027532400889988
+0.5577360096019945,-0.19305415619402655
+0.7115838672799583,1.856220024609073
+0.3730152552407219,-0.11629263249425326
+0.6259351265757349,1.9519105393727116
+0.24223970743192244,-0.5347934790374034
+0.8818484420115702,-0.8076009462871163
+1.292185046965874,-1.5996344299356253
+1.1978442829805576,0.588431184514203
+0.7155821151493388,-0.8186906946165516
+1.0209568532979298,-0.986793971575225
+0.6477661851073373,-0.3247959139994937
+-0.5716056697766833,0.5404962969865572
+1.8413392463742453,-1.911256458496693
+0.5311346222408759,-0.14408445861578784
+-0.021489460853293063,-0.02475438011055564
+1.601140115992574,-1.2953502516207989
+-0.35748883276981047,2.0174716958070342
+1.0898613520856617,0.15831915019791826
+0.9736255882690481,-0.658421955590184
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.4700670192125471,-0.052446262105768304
+0.5747388115759138,0.12106074782499365
+-0.24799146881733458,2.373534156110849
+1.5605523365446534,-1.2957941116890372
+1.325709449038993,0.41121678226253955
+1.4151747903873408,-1.3301876255973677
+1.1123922614914972,-1.0019321775650352
+0.25610115288842783,-0.5392181596488338
+-0.3187867785494492,2.1027532400889988
+0.4637149124481171,0.3251263206652023
+0.7115838672799583,1.856220024609073
+0.10851295129732261,0.40062482575482905
+0.6259351265757349,1.9519105393727116
+1.399065942618738,-2.008608811571875
+-0.2651354289332696,0.9193570990380553
+1.292185046965874,-1.5996344299356253
+1.1978442829805576,0.588431184514203
+0.7155821151493388,-0.8186906946165516
+1.0209568532979298,-0.986793971575225
+0.5819122744048801,1.6965776890746698
+-0.5716056697766833,0.5404962969865572
+1.6925560225350025,-1.7824510777405016
+0.6955429890296069,-0.407644987058437
+-0.021489460853293063,-0.02475438011055564
+0.774352369665605,-0.8724498809215729
+-0.35748883276981047,2.0174716958070342
+1.9189232903799498,-2.8447881691793304
+0.9736255882690481,-0.658421955590184
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.2562438769507599,1.1648743892507019
+0.5747388115759138,0.12106074782499365
+-0.3274746042903124,-0.3894059718593588
+1.5605523365446534,-1.2957941116890372
+2.1044727106158216,-4.120755689198509
+1.4151747903873408,-1.3301876255973677
+1.1123922614914972,-1.0019321775650352
+0.25610115288842783,-0.5392181596488338
+-0.3187867785494492,2.1027532400889988
+0.4637149124481171,0.3251263206652023
+1.249932939103577,-1.4582782588756962
+0.19911009153233825,0.3451490750709406
+1.0757387050857277,-1.0333855442296984
+1.399065942618738,-2.008608811571875
+-0.2651354289332696,0.9193570990380553
+1.292185046965874,-1.5996344299356253
+1.1978442829805576,0.588431184514203
+0.7155821151493388,-0.8186906946165516
+-0.2009399185697588,0.2382380107677603
+1.6816983100280796,-2.055083952974513
+-0.5716056697766833,0.5404962969865572
+0.3158707231654774,-0.5037104992154144
+0.6955429890296069,-0.407644987058437
+-0.021489460853293063,-0.02475438011055564
+0.774352369665605,-0.8724498809215729
+1.2693623587832268,-0.38313373432864617
+1.9189232903799498,-2.8447881691793304
+-0.10260929279248104,0.9869428619430627
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.2562438769507599,1.1648743892507019
+1.069326359810908,-0.825568897583187
+-0.3307160131578577,1.208927670196069
+1.5605523365446534,-1.2957941116890372
+2.1044727106158216,-4.120755689198509
+-0.4137819683981374,0.1717109213726737
+0.27446758607508087,1.219638012251412
+-0.368503357282152,0.9343605721760465
+-0.3187867785494492,2.1027532400889988
+0.7672263919085909,-0.1766648125398984
+1.2831067344976468,-2.1387647360738113
+0.19911009153233825,0.3451490750709406
+0.46586005792683305,-0.17640807854572726
+1.3677257272761218,-0.6290478727875887
+-0.2651354289332696,0.9193570990380553
+0.8836241530359914,-0.5796245907659192
+1.1949566387328725,0.040330195481795617
+0.5205068888991775,-0.6091102072605774
+-0.2009399185697588,0.2382380107677603
+0.6975683969570659,0.18267786985719514
+-0.5716056697766833,0.5404962969865572
+1.0191891986611412,-0.7894056659113761
+0.6955429890296069,-0.407644987058437
+-0.021489460853293063,-0.02475438011055564
+0.774352369665605,-0.8724498809215729
+1.2693623587832268,-0.38313373432864617
+1.9189232903799498,-2.8447881691793304
+0.3828702759372721,0.7263317277828149
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.2562438769507599,1.1648743892507019
+0.337052517848806,1.509404992113552
+-0.3307160131578577,1.208927670196069
+0.8171098762253972,-0.19442647134001723
+0.22234275393380074,-0.08826798497373146
+-0.4137819683981374,0.1717109213726737
+-0.010593031100403022,0.13056166660206012
+-0.368503357282152,0.9343605721760465
+-0.3187867785494492,2.1027532400889988
+0.7672263919085909,-0.1766648125398984
+1.7318870122383658,-1.0183891051062641
+0.19911009153233825,0.3451490750709406
+0.46586005792683305,-0.17640807854572726
+1.4699797944405788,-1.2619078613790746
+-0.20684006087546705,0.4961026965243164
+0.8046102845543186,-0.9021531316631494
+1.1949566387328725,0.040330195481795617
+-0.25032605578275474,-0.04360546245413055
+-0.12772870838872377,0.3127414996189393
+0.07695187763726502,0.009688830107089985
+-0.5716056697766833,0.5404962969865572
+-0.18569813226403648,1.9239157212850482
+0.6955429890296069,-0.407644987058437
+-0.021489460853293063,-0.02475438011055564
+0.5303434422949729,-0.683002381647995
+-0.031746789962585224,-0.6160417071003197
+1.9189232903799498,-2.8447881691793304
+-0.39501468286709096,1.3100266721257623
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.32043590511012565,-0.10333313748610462
+0.337052517848806,1.509404992113552
+0.9720243128074735,1.1526112475722752
+0.8171098762253972,-0.19442647134001723
+-0.2745149159969174,1.6194903401413323
+0.08668025835316279,-0.08444751956642726
+-0.1372779596858658,0.08985995255814905
+-0.09445445805656741,1.15409904819522
+-0.3187867785494492,2.1027532400889988
+0.7672263919085909,-0.1766648125398984
+-0.4218142571422082,0.8786098933212961
+-0.009625130536865145,-0.21088200231079085
+-0.01955567156775337,1.6069399643528308
+1.4033361106155657,-0.5286578137220295
+-0.20684006087546705,0.4961026965243164
+-0.03783443694033002,0.09508070260200388
+-0.01801013796625918,1.1153115033338397
+-0.5715147763680255,1.3582096406451567
+-0.12772870838872377,0.3127414996189393
+0.07695187763726502,0.009688830107089985
+-0.5716056697766833,0.5404962969865572
+-0.18569813226403648,1.9239157212850482
+0.6955429890296069,-0.407644987058437
+-0.06439883281535178,-0.24290033103011333
+1.239634292714152,-0.2171058540769614
+0.12911056261327072,-0.21544130348278936
+1.9189232903799498,-2.8447881691793304
+-0.39501468286709096,1.3100266721257623
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.8833547339558796,0.9204629119282379
+0.337052517848806,1.509404992113552
+0.9720243128074735,1.1526112475722752
+-0.37478639665816077,0.140938447031409
+-0.2745149159969174,1.6194903401413323
+0.08668025835316279,-0.08444751956642726
+-0.21751181558882576,0.5177264829609622
+0.23496222215021445,-0.10898426105590353
+-0.3187867785494492,2.1027532400889988
+0.15987885141196478,0.1234279362878864
+-0.030768000554620395,0.12781260429027902
+1.0330357098827854,0.5685503739877935
+0.3573959945315641,-0.4881291577332939
+1.4033361106155657,-0.5286578137220295
+-0.3902646883455373,0.34963984217666993
+-0.6061889511116348,0.1990000420111925
+-0.01801013796625918,1.1153115033338397
+1.0717298316130754,0.581360177563603
+-0.6295565073961142,0.05965564784440744
+0.07695187763726502,0.009688830107089985
+-0.5424464509222044,-0.10023514749473095
+-0.6514292170147102,1.0517663890015942
+1.2185852796065675,0.23421578550987598
+-0.07955803312433725,1.5774327095571588
+0.35539317550757143,0.8831073626772686
+0.12911056261327072,-0.21544130348278936
+1.9189232903799498,-2.8447881691793304
+0.0007794831075410777,0.8728586110819675
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+-0.8833547339558796,0.9204629119282379
+0.337052517848806,1.509404992113552
+0.9720243128074735,1.1526112475722752
+-0.37478639665816077,0.140938447031409
+0.10980872968811192,0.16885590925198146
+0.26292535197057043,0.017527824663501813
+-0.21751181558882576,0.5177264829609622
+1.488911789757878,-0.43824245002129314
+0.3909492765036241,0.8421936644241821
+0.39159877037606966,1.8665102159759095
+0.7228538877991956,1.0999012913397066
+1.0330357098827854,0.5685503739877935
+0.4774717654488964,1.973310302053368
+1.4033361106155657,-0.5286578137220295
+0.3630570634130864,1.7088132155161124
+-0.6061889511116348,0.1990000420111925
+0.674954998464049,1.6739456953666065
+0.7325810278793142,-0.6155534903609329
+-0.6295565073961142,0.05965564784440744
+0.07695187763726502,0.009688830107089985
+-0.5424464509222044,-0.10023514749473095
+-0.6514292170147102,1.0517663890015942
+-0.7257130332143167,0.6158910756353423
+-0.07955803312433725,1.5774327095571588
+0.35539317550757143,0.8831073626772686
+-0.30602420704312916,-0.1366947223897788
+1.9189232903799498,-2.8447881691793304
+0.42931409911779156,0.022559384673503935
+1.2242133478195996,0.21944831622214223
+0.5401617334271481,1.6621033676081136
+0.32231856375315604,-0.11218793313404785
+1.4161765051835256,0.009792731632913138
+0.9720243128074735,1.1526112475722752
+0.6818348436723456,0.2636643275867618
+0.10980872968811192,0.16885590925198146
+0.7254273472342105,1.6164410638370441
+1.5786226716901042,-0.9535317111738567
+-0.3842997289875579,0.38482794623245503
+0.3909492765036241,0.8421936644241821
+0.8929633667636966,0.39842071149077907
+0.2354971696564468,1.1157077005036569
+1.0330357098827854,0.5685503739877935
+0.4774717654488964,1.973310302053368
+0.28435344104306964,-0.32175237377439764
+0.3630570634130864,1.7088132155161124
+0.09110688432706227,1.902235660464991
+-0.4707296581613149,0.30420948204643744
+0.7325810278793142,-0.6155534903609329
+-0.38600631538030566,1.6718293824626385
+0.05893371130477837,2.5287571756777396
+-0.5424464509222044,-0.10023514749473095
+0.49447572166221904,1.58674730559781
+-0.7257130332143167,0.6158910756353423
+-0.3289562202755613,0.2006381215415889
+0.7742695996931312,0.738173880151976
+-0.30602420704312916,-0.1366947223897788
+1.9189232903799498,-2.8447881691793304
+-0.4956298856945775,-0.024794104782045856
+-0.454541512842514,1.7425300611590937
+0.5401617334271481,1.6621033676081136
+0.32231856375315604,-0.11218793313404785
+-0.6861452798343406,0.44176595163020266
+0.9720243128074735,1.1526112475722752
+0.33110288359458084,1.0304286393230786
+0.10980872968811192,0.16885590925198146
+0.7254273472342105,1.6164410638370441
+1.5786226716901042,-0.9535317111738567
+-0.3842997289875579,0.38482794623245503
+0.3909492765036241,0.8421936644241821
+-0.6920314149585183,-0.4033521496423946
+0.8917497300798795,-0.9899937539256838
+1.0330357098827854,0.5685503739877935
+0.4774717654488964,1.973310302053368
+0.28435344104306964,-0.32175237377439764
+1.0365547283581034,-1.1872668561758124
+0.09110688432706227,1.902235660464991
+-0.4707296581613149,0.30420948204643744
+0.7325810278793142,-0.6155534903609329
+-0.38600631538030566,1.6718293824626385
+-0.5155411115790196,2.0959016543843143
+-0.5424464509222044,-0.10023514749473095
+-0.383047545645512,2.299033992885642
+-0.7257130332143167,0.6158910756353423
+-0.4196833631288471,1.0972162869599598
+0.7399672208869644,0.2070842097773741
+1.0054926076530448,0.6613534030123576
+1.9189232903799498,-2.8447881691793304
+-0.9069619337168747,0.8390160531940081
+0.6965893959831392,1.7599132660827168
+0.7415057023413055,0.8155008204399428
+0.32231856375315604,-0.11218793313404785
+0.43095792573050146,-0.2361235533882488
+0.9720243128074735,1.1526112475722752
+0.33110288359458084,1.0304286393230786
+0.10980872968811192,0.16885590925198146
+0.06823985699233959,1.9655671196317153
+1.5786226716901042,-0.9535317111738567
+-0.3842997289875579,0.38482794623245503
+-0.19959198894089647,2.24139319534564
+-0.6920314149585183,-0.4033521496423946
+0.6435167523376812,-0.601024730860332
+1.0330357098827854,0.5685503739877935
+0.4774717654488964,1.973310302053368
+0.28435344104306964,-0.32175237377439764
+0.8325970529793458,-0.7336663179477567
+0.09110688432706227,1.902235660464991
+0.7744179022330031,-0.6038504632938249
+0.2016300793482783,1.3108185637373038
+-0.38600631538030566,1.6718293824626385
+0.6711087931019692,1.1901511954313313
+1.4784801485053325,-1.7169120294953517
+0.7560040547400564,-0.055953775832546904
+-0.7257130332143167,0.6158910756353423
+0.17305515601794252,1.7319856778898446
+1.177977856365027,-1.048064452965492
+1.0054926076530448,0.6613534030123576
+1.9189232903799498,-2.8447881691793304
+-0.9069619337168747,0.8390160531940081
+0.6557300331089154,1.3111238457032472
+0.6183172995005327,-0.2764294658078663
+0.32231856375315604,-0.11218793313404785
+0.8774237824041221,-0.1081263299187688
+0.9720243128074735,1.1526112475722752
+-1.0518366172689217,-0.4910248558139485
+0.10980872968811192,0.16885590925198146
+0.06823985699233959,1.9655671196317153
+-0.3962675639401452,-0.1374042486794706
+-0.3842997289875579,0.38482794623245503
+-0.19959198894089647,2.24139319534564
+-0.6920314149585183,-0.4033521496423946
+0.5654665566600098,0.16461470012189372
+1.3991824984603545,-0.9612461756327418
+-0.08938190538228119,2.2830303151099067
+0.28435344104306964,-0.32175237377439764
+0.4212667832695135,-0.38611493822609
+0.09110688432706227,1.902235660464991
+0.7744179022330031,-0.6038504632938249
+0.2016300793482783,1.3108185637373038
+0.3979334562496379,1.8129856104549957
+0.6711087931019692,1.1901511954313313
+1.4784801485053325,-1.7169120294953517
+1.5917318708242225,-1.8866369444040827
+-0.7257130332143167,0.6158910756353423
+0.17305515601794252,1.7319856778898446
+1.177977856365027,-1.048064452965492
+1.0054926076530448,0.6613534030123576
+1.9189232903799498,-2.8447881691793304
+0.8187524835816111,-0.38285952057061134
+0.6557300331089154,1.3111238457032472
+-0.25893573501778955,-0.08295066288610531
+1.4841146569882007,-1.0976655279827292
+0.8774237824041221,-0.1081263299187688
+0.9720243128074735,1.1526112475722752
+-1.0518366172689217,-0.4910248558139485
+0.10980872968811192,0.16885590925198146
+0.06823985699233959,1.9655671196317153
+-0.3962675639401452,-0.1374042486794706
+-0.3842997289875579,0.38482794623245503
+1.34666915938756,-1.8723253969427003
+0.8916927665416753,-0.758861885663868
+0.8549084545193024,1.3702891485774156
+1.3991824984603545,-0.9612461756327418
+-0.08938190538228119,2.2830303151099067
+0.4813576739062555,-0.2234832384072889
+0.4212667832695135,-0.38611493822609
+0.09110688432706227,1.902235660464991
+0.04856423863611534,1.0377822022676912
+0.16791967076038816,0.7691131154972757
+0.3979334562496379,1.8129856104549957
+0.6711087931019692,1.1901511954313313
+0.7155468764672271,-0.8391270941627127
+1.5917318708242225,-1.8866369444040827
+0.47522106914855,0.13644123522709584
+0.17305515601794252,1.7319856778898446
+1.177977856365027,-1.048064452965492
+-0.7945702586581502,0.5469320185025506
+-0.20117102017380548,1.2888945901550173
+0.8187524835816111,-0.38285952057061134
+0.6557300331089154,1.3111238457032472
+-0.25893573501778955,-0.08295066288610531
+-0.9363259676015274,0.4762395483212571
+-0.057740477246507355,-0.35885677923151643
+0.9720243128074735,1.1526112475722752
+1.0552650957743914,-0.9243040998249991
+-0.6890376365814945,-0.3221166988234308
+1.4141892386910273,-0.45610497048112303
+-0.3962675639401452,-0.1374042486794706
+-0.3187140975682694,-0.15636436916582855
+-0.3234483688809472,0.2714326716033463
+0.8916927665416753,-0.758861885663868
+-0.5232804930857466,1.500984424670635
+1.3991824984603545,-0.9612461756327418
+0.5123357053900215,1.3595912088660882
+0.4813576739062555,-0.2234832384072889
+0.4212667832695135,-0.38611493822609
+0.09110688432706227,1.902235660464991
+-0.012696030870237685,0.2747135312883651
+-0.6798904042266558,0.5112166505637166
+0.3979334562496379,1.8129856104549957
+0.8341421823439513,0.172938753659303
+0.29019332073207005,1.272054544010613
+1.5917318708242225,-1.8866369444040827
+0.47522106914855,0.13644123522709584
+0.7553015385973738,1.1204208032505159
+0.8763036681074134,-0.39004819970019255
+-0.7945702586581502,0.5469320185025506
+-0.20117102017380548,1.2888945901550173
+0.8187524835816111,-0.38285952057061134
+0.6557300331089154,1.3111238457032472
+-0.5511250068837434,0.07341829681065937
+-0.513524008314511,0.70722704175163
+0.6860986362062393,-0.8939322355168774
+-0.23922058279857927,0.08439050426365341
+1.0552650957743914,-0.9243040998249991
+1.1440018031681616,-1.3012811396442094
+1.4141892386910273,-0.45610497048112303
+-0.3962675639401452,-0.1374042486794706
+-0.23535538712667203,0.11429466803573812
+0.3110955224427844,1.9393746888492098
+0.8916927665416753,-0.758861885663868
+-0.5232804930857466,1.500984424670635
+1.3991824984603545,-0.9612461756327418
+1.7102669166032072,-1.8489104622413546
+1.7869667536481575,-2.1626722947697257
+0.4082896163433207,1.7539293169769556
+0.008647698067531795,0.14810551427500152
+-0.012696030870237685,0.2747135312883651
+-0.7525357384753707,1.53643071470771
+0.3979334562496379,1.8129856104549957
+0.8341421823439513,0.172938753659303
+-0.09516002819393837,0.3972051740892245
+1.5917318708242225,-1.8866369444040827
+1.2288745202927822,-1.5541028461461606
+0.7553015385973738,1.1204208032505159
+0.8959292162734492,-0.8376770450435997
+-0.3312690484395425,2.3184297324454874
+0.36974117884660684,1.616737353859176
+-0.2052791531086583,1.5829011145099985
+0.3084267796174873,0.5156749608064017
+-0.5511250068837434,0.07341829681065937
+-0.513524008314511,0.70722704175163
+0.6860986362062393,-0.8939322355168774
+1.8426753669055689,-1.6242687427084568
+-0.22290863367844915,0.9197270900431707
+-0.5524735823898184,0.12683270584848272
+1.4141892386910273,-0.45610497048112303
+-0.3962675639401452,-0.1374042486794706
+-0.45012947364816863,0.8718605969507416
+0.3110955224427844,1.9393746888492098
+0.8916927665416753,-0.758861885663868
+-0.5232804930857466,1.500984424670635
+1.3991824984603545,-0.9612461756327418
+1.7102669166032072,-1.8489104622413546
+1.692228432410481,-2.645507538332108
+0.7456280710115523,0.07735092969894691
+-0.1922523455833085,1.0323983661128424
+-0.012696030870237685,0.2747135312883651
+-0.7525357384753707,1.53643071470771
+0.3979334562496379,1.8129856104549957
+0.8341421823439513,0.172938753659303
+0.17543816458977946,0.4280498067711231
+1.5917318708242225,-1.8866369444040827
+0.21285227972352627,0.07327244382684187
+-0.7001512421868696,0.6415871641387656
+0.8959292162734492,-0.8376770450435997
+-0.3312690484395425,2.3184297324454874
+1.506622453050058,-2.0307599767302555
+-0.2052791531086583,1.5829011145099985
+0.3084267796174873,0.5156749608064017
+-0.5511250068837434,0.07341829681065937
+-0.45244780447382377,-0.47543618353939726
+0.6860986362062393,-0.8939322355168774
+0.5184924882729383,-0.6691904225943003
+-0.26108304098456786,-0.29303460861854846
+-0.5524735823898184,0.12683270584848272
+0.1238942931662328,-0.1756921603155387
+-0.6168784385655337,0.3780508460233284
+0.03210643366346427,1.7626543748033867
+1.267480299982617,-0.9168460971879865
+0.35563950400332867,-0.43094083979904374
+0.42363802242150905,1.6038129182925929
+1.3991824984603545,-0.9612461756327418
+0.1815523946532105,1.3406018453767687
+1.692228432410481,-2.645507538332108
+0.7456280710115523,0.07735092969894691
+-0.1922523455833085,1.0323983661128424
+-0.012696030870237685,0.2747135312883651
+-0.7525357384753707,1.53643071470771
+-0.9298794944484585,0.774376932783131
+1.361330300223673,-0.7507517123795381
+0.5217061467866931,1.269082630574512
+1.5917318708242225,-1.8866369444040827
+-0.361908836328584,0.19280166531263987
+1.7089538351535036,-1.8131987481151344
+0.8959292162734492,-0.8376770450435997
+-0.3312690484395425,2.3184297324454874
+0.8171187002602329,-0.5966544762853803
+-0.2052791531086583,1.5829011145099985
+0.5872756700894652,-0.8468179517475909
+-0.2303483584901171,0.9244674743945736
+0.2420458694196811,1.651262352782904
+0.5989231717916887,-0.52464066713193
+-0.40236050992938965,0.22075021811144907
+-0.26108304098456786,-0.29303460861854846
+1.5209507110854055,-1.4481283483666854
+0.6383883445143055,0.8950852569503861
+-0.6168784385655337,0.3780508460233284
+0.03210643366346427,1.7626543748033867
+-0.8459139419188918,0.5382221345407727
+0.35563950400332867,-0.43094083979904374
+-0.5152153114181806,2.033407364476588
+1.3991824984603545,-0.9612461756327418
+1.5336374625309803,-0.8770191087832824
+0.9956665353907242,0.10630065025847402
+0.7456280710115523,0.07735092969894691
+-0.1922523455833085,1.0323983661128424
+-0.012696030870237685,0.2747135312883651
+-0.4060012685041491,0.04110486013947595
+-0.9298794944484585,0.774376932783131
+1.361330300223673,-0.7507517123795381
+0.8214149214037393,-0.047106518018782365
+1.5917318708242225,-1.8866369444040827
+0.8973106759052446,0.9130143167933975
+0.183198978915299,2.1709311583001156
+1.1423196314998052,0.08541688859388656
+1.2688978045414316,-0.25097030391692154
+0.8673532715445214,-0.49907675043687033
+0.5013656531829618,-0.01281956739052792
+0.28736387441646893,1.2195073430119618
+-0.2303483584901171,0.9244674743945736
+0.2420458694196811,1.651262352782904
+0.17633033103455287,0.149114401845157
+-0.40236050992938965,0.22075021811144907
+-0.26108304098456786,-0.29303460861854846
+1.5209507110854055,-1.4481283483666854
+-0.22475873933972879,1.9931579430035824
+-0.6168784385655337,0.3780508460233284
+1.3685446303324111,0.32083256623669343
+-0.8459139419188918,0.5382221345407727
+-0.12279844281834931,2.0504776882340834
+-0.5152153114181806,2.033407364476588
+0.1635058917437408,1.6982391351776118
+1.3885959990788854,-0.5807400857150007
+1.2718722766926,-0.39474319931216506
+0.7456280710115523,0.07735092969894691
+-0.0174589324603186,0.4322819765740823
+0.3028820970255866,1.4692416579938645
+-0.4060012685041491,0.04110486013947595
+-0.9298794944484585,0.774376932783131
+1.361330300223673,-0.7507517123795381
+0.7601355884350989,0.7139419389689508
+-0.23145376686130456,1.905864426584621
+0.8973106759052446,0.9130143167933975
+0.183198978915299,2.1709311583001156
+1.1423196314998052,0.08541688859388656
+1.2688978045414316,-0.25097030391692154
+-0.23034148329965773,1.9634617323419352
+0.6571606370812999,0.7420750567328102
+0.23816088375396127,0.34804497590707806
+-0.2303483584901171,0.9244674743945736
+0.2420458694196811,1.651262352782904
+0.17633033103455287,0.149114401845157
+0.007255032811246065,0.9727325488312356
+-0.26108304098456786,-0.29303460861854846
+1.168668427157107,-0.4097183901381224
+-0.7105884080023241,0.03816186672644184
+-0.3896192627902732,2.022928738768945
+1.3685446303324111,0.32083256623669343
+-0.8459139419188918,0.5382221345407727
+-0.12279844281834931,2.0504776882340834
+1.4698443439173399,-1.2592934404332656
+0.1635058917437408,1.6982391351776118
+0.05868862829636401,-0.18179623690908278
+1.1616277791465055,0.3778932596717482
+-0.6971415875993032,1.8446854749047468
+-0.0174589324603186,0.4322819765740823
+0.3028820970255866,1.4692416579938645
+-0.4060012685041491,0.04110486013947595
+1.3981584221141383,-0.4234480819847709
+1.361330300223673,-0.7507517123795381
+0.6396321871458248,1.8158754399514363
+0.42043515224254124,-0.045481822537780145
+0.8973106759052446,0.9130143167933975
+0.183198978915299,2.1709311583001156
+0.20474836272831265,0.06316621491794783
+1.2688978045414316,-0.25097030391692154
+-0.23034148329965773,1.9634617323419352
+0.0888989178282625,0.5223135547803595
+0.23816088375396127,0.34804497590707806
+0.8655062975972021,-0.27206857162978526
+0.24914616797401212,0.8822993645402344
+0.17633033103455287,0.149114401845157
+0.30420365211325207,0.8661094543021961
+1.613841306126257,-1.0860686796231658
+1.168668427157107,-0.4097183901381224
+0.3037269602272161,2.075349670875984
+-0.3896192627902732,2.022928738768945
+1.207638880767871,-1.2875972760941128
+-0.6511339627363033,0.487665529939549
+-0.12279844281834931,2.0504776882340834
+1.4698443439173399,-1.2592934404332656
+0.1635058917437408,1.6982391351776118
+0.05868862829636401,-0.18179623690908278
+-0.4023559123753765,1.51295990741552
+-0.17936295985202252,-0.015915975666955594
+-0.0174589324603186,0.4322819765740823
+0.3028820970255866,1.4692416579938645
+1.432051161429719,-1.049440145570835
+1.3981584221141383,-0.4234480819847709
+1.361330300223673,-0.7507517123795381
+0.6396321871458248,1.8158754399514363
+0.42043515224254124,-0.045481822537780145
+0.8973106759052446,0.9130143167933975
+-0.5259272103836963,-0.06384064187434503
+0.20474836272831265,0.06316621491794783
+-0.2403109361232419,-0.1535488672546022
+-0.23034148329965773,1.9634617323419352
+-0.11370700607502862,0.42716214493747856
+0.5772475522874589,0.8249734266599862
+0.531553185779351,1.333091609668221
+0.24914616797401212,0.8822993645402344
+0.5526360654042879,1.1964856049501396
+-0.36628999780578475,0.2801811302427275
+1.613841306126257,-1.0860686796231658
+0.19927646218762995,0.11638452099144153
+0.3037269602272161,2.075349670875984
+0.022121204222145474,-0.2931142505341513
+1.207638880767871,-1.2875972760941128
+0.9454727361082769,0.7672793464127563
+-0.12279844281834931,2.0504776882340834
+0.45618608158127105,1.2266454031170526
+-0.13745805153110163,1.8897183463582463
+1.0062818667398483,-0.7583136014960783
+0.7581618864573721,-0.24952291798655124
+-0.04605751401318944,2.26576245631132
+-0.7064714794231368,1.7082604667202743
+0.36457182259266385,-0.11183440148315085
+1.432051161429719,-1.049440145570835
+0.17736223033980747,-0.2208821925610549
+1.0262806634924135,0.17952545057047536
+0.6396321871458248,1.8158754399514363
+0.42043515224254124,-0.045481822537780145
+0.8973106759052446,0.9130143167933975
+-0.5259272103836963,-0.06384064187434503
+-0.549780916171878,1.6844616386646558
+0.3762734481114097,1.7444614153426639
+1.2205139325998016,-1.5131537362625858
+-0.11370700607502862,0.42716214493747856
+0.5772475522874589,0.8249734266599862
+-0.11068307290641544,1.6539011342059315
+-1.0527496548892983,0.3638993336890138
+-0.8238176247442284,1.635095289726013
+-0.36628999780578475,0.2801811302427275
+-0.40704532529340776,2.365356874999213
+-0.1872929053475224,0.8879176489634011
+0.3037269602272161,2.075349670875984
+0.022121204222145474,-0.2931142505341513
+1.2218191489019277,-1.6000818158128967
+0.6006730182006632,0.4455219166166276
+-0.12279844281834931,2.0504776882340834
+0.45618608158127105,1.2266454031170526
+1.013289904662015,0.9849610215880622
+1.0062818667398483,-0.7583136014960783
+0.24005144433565326,-0.2198643383369655
+0.19309284228511542,1.4498411499835777
+1.0466241364297537,-1.2658703067053998
+0.8542226129957893,0.08971447109359376
+1.432051161429719,-1.049440145570835
+0.17736223033980747,-0.2208821925610549
+-0.38021726472736184,2.1120269587786393
+0.6396321871458248,1.8158754399514363
+-0.10333006852174687,2.165708141139229
+0.8973106759052446,0.9130143167933975
+-0.5259272103836963,-0.06384064187434503
+-0.549780916171878,1.6844616386646558
+0.3762734481114097,1.7444614153426639
+1.2205139325998016,-1.5131537362625858
+-0.11370700607502862,0.42716214493747856
+0.360569225923531,1.906665243567234
+-0.11068307290641544,1.6539011342059315
+-1.0527496548892983,0.3638993336890138
+-0.8238176247442284,1.635095289726013
+-0.36628999780578475,0.2801811302427275
+0.1525777308454651,0.11680202993922473
+0.10248073344541504,1.2742038094287396
+0.3037269602272161,2.075349670875984
+0.022121204222145474,-0.2931142505341513
+1.2218191489019277,-1.6000818158128967
+0.126629034691999,2.5240942936227895
+-0.1828966288062494,1.5266907125392286
+0.6608484969386271,1.13077633952347
+1.013289904662015,0.9849610215880622
+0.5694725272120942,-0.6094359230295049
+0.24005144433565326,-0.2198643383369655
+-0.5889829238044734,1.0818954886131318
+1.0466241364297537,-1.2658703067053998
+0.8542226129957893,0.08971447109359376
+0.33892600379782756,0.277284273559086
+0.17736223033980747,-0.2208821925610549
+-0.38021726472736184,2.1120269587786393
+0.6396321871458248,1.8158754399514363
+0.8340938581278019,1.373104493593252
+0.8973106759052446,0.9130143167933975
+-0.5259272103836963,-0.06384064187434503
+-0.65634980512076,-0.004707088241589774
+-0.3280920332530515,0.3660978982062522
+1.2205139325998016,-1.5131537362625858
+-0.11370700607502862,0.42716214493747856
+0.360569225923531,1.906665243567234
+0.1534785184641438,2.2339718755515956
+0.6348226618907938,0.5334419574508058
+1.7629497773861154,-2.8666313117409117
+-0.36628999780578475,0.2801811302427275
+0.1525777308454651,0.11680202993922473
+1.643325509522382,-0.6785207537422336
+0.3037269602272161,2.075349670875984
+-0.8178404471976439,-0.6350206831722878
+0.513727575532583,-0.3967752691581101
+0.126629034691999,2.5240942936227895
+-0.1828966288062494,1.5266907125392286
+0.6608484969386271,1.13077633952347
+-0.3522274109931895,1.0860998846143333
+-0.4528753458667777,1.2382589516832212
+0.24005144433565326,-0.2198643383369655
+-0.5889829238044734,1.0818954886131318
+1.0466241364297537,-1.2658703067053998
+0.8542226129957893,0.08971447109359376
+0.33892600379782756,0.277284273559086
+0.17736223033980747,-0.2208821925610549
+-0.41846717412263923,1.5731302389968842
+-0.08356385600692906,-0.029579954320922378
+0.8340938581278019,1.373104493593252
+0.8973106759052446,0.9130143167933975
+-0.2649175360777722,0.18767854809467222
+-0.65634980512076,-0.004707088241589774
+0.8466517420741053,1.0354417045712667
+1.2205139325998016,-1.5131537362625858
+-0.11370700607502862,0.42716214493747856
+0.360569225923531,1.906665243567234
+0.1534785184641438,2.2339718755515956
+0.6348226618907938,0.5334419574508058
+1.7629497773861154,-2.8666313117409117
+1.636631132474323,-1.445836162919346
+-0.4426276880672608,0.1376238475488181
+1.643325509522382,-0.6785207537422336
+0.3037269602272161,2.075349670875984
+0.8665856629727996,-0.5293020019541266
+0.21183493155072664,-0.40254492636696837
+-0.28134369964570394,0.9316971834209069
+-0.764830412138427,0.4629489585545934
+0.6608484969386271,1.13077633952347
+0.6027332851259197,-0.16838677901234655
+-0.4528753458667777,1.2382589516832212
+0.24005144433565326,-0.2198643383369655
+1.1922201462547737,0.18995709630459673
+1.0466241364297537,-1.2658703067053998
+0.8542226129957893,0.08971447109359376
+0.33892600379782756,0.277284273559086
+-0.6971432850696786,0.7903662181553489
+-0.41846717412263923,1.5731302389968842
+0.8316436234208828,0.18260287754316729
+0.8340938581278019,1.373104493593252
+0.8973106759052446,0.9130143167933975
+-0.2649175360777722,0.18767854809467222
+-0.65634980512076,-0.004707088241589774
+0.8466517420741053,1.0354417045712667
+1.2205139325998016,-1.5131537362625858
+0.9549989007128762,-1.1482131206919373
+0.750758445416513,1.256255272246288
+0.1534785184641438,2.2339718755515956
+0.24249838341878593,0.591776924592299
+1.7629497773861154,-2.8666313117409117
+1.636631132474323,-1.445836162919346
+-0.4426276880672608,0.1376238475488181
+1.643325509522382,-0.6785207537422336
+0.3037269602272161,2.075349670875984
+0.8665856629727996,-0.5293020019541266
+1.2090038489288868,0.2054279355720552
+0.7966595745485655,-0.5419698483693239
+-0.764830412138427,0.4629489585545934
+0.5829370833888567,0.9598245285265705
+0.9968171836870054,0.7328772662645349
+-0.4528753458667777,1.2382589516832212
+0.37635754995529025,1.6523711487973731
+1.8837626030507737,-2.613387405510413
+0.5918546445347086,0.2673443849129604
+0.05087381900620863,1.2696532381018228
+0.3134771785573481,1.501717958165347
+0.5256321560788496,1.3404379265743471
+-0.41846717412263923,1.5731302389968842
+0.8316436234208828,0.18260287754316729
+0.8340938581278019,1.373104493593252
+-0.07261754169759238,1.8697149229260583
+0.30600343833504917,0.04344409674506988
+-0.65634980512076,-0.004707088241589774
+0.8466517420741053,1.0354417045712667
+1.2205139325998016,-1.5131537362625858
+0.9549989007128762,-1.1482131206919373
+0.5854158511597525,0.005461692706610788
+-0.5914957574062258,0.1847111482767685
+0.24249838341878593,0.591776924592299
+0.9651300605660695,-0.8673333065318038
+1.636631132474323,-1.445836162919346
+-0.4426276880672608,0.1376238475488181
+-0.40046082365466257,-0.5040073495850371
+0.46735067476414144,0.07370874442093078
+0.8665856629727996,-0.5293020019541266
+1.2090038489288868,0.2054279355720552
+0.7966595745485655,-0.5419698483693239
+-0.764830412138427,0.4629489585545934
+0.5829370833888567,0.9598245285265705
+-0.778210850909743,0.35055810328771897
+-0.4528753458667777,1.2382589516832212
+0.37635754995529025,1.6523711487973731
+1.8837626030507737,-2.613387405510413
+0.5918546445347086,0.2673443849129604
+-0.7366569803399438,1.5136270870566704
+0.3134771785573481,1.501717958165347
+0.5256321560788496,1.3404379265743471
+1.31060446831714,-0.12600240662016127
+1.4372382893746338,-1.0254406395993139
+0.4094305653834532,1.1522221898935934
+-0.07261754169759238,1.8697149229260583
+0.30600343833504917,0.04344409674506988
+-0.6871001135706275,-0.19116489123799552
+0.8466517420741053,1.0354417045712667
+1.2205139325998016,-1.5131537362625858
+-0.518546367589582,0.10291220253449061
+0.5854158511597525,0.005461692706610788
+-0.5914957574062258,0.1847111482767685
+0.24249838341878593,0.591776924592299
+0.8515171795262735,-0.5768989342801522
+1.636631132474323,-1.445836162919346
+-0.4426276880672608,0.1376238475488181
+-0.2604205937969315,0.9278494404441382
+0.46735067476414144,0.07370874442093078
+1.786496325822496,-2.2179697890545014
+1.2090038489288868,0.2054279355720552
+0.7966595745485655,-0.5419698483693239
+-0.764830412138427,0.4629489585545934
+1.307268476110759,0.3360008129544585
+-0.778210850909743,0.35055810328771897
+-0.4528753458667777,1.2382589516832212
+0.8335789978307604,0.6382584839328599
+-0.8391473403471071,0.344720355667136
+-0.40058582484241756,-0.4564617058701449
+-0.030771511409894425,1.0646143303328683
+0.972403940905836,-0.06681688551034197
+-0.8257516247804115,-0.22111068756294194
+-0.4972454613962945,1.0423911261184302
+0.029314434708966275,0.2460152147008709
+1.3490807010774493,-1.1345582879297398
+-0.07261754169759238,1.8697149229260583
+-0.5918724339013464,0.25677951843308094
+-0.6871001135706275,-0.19116489123799552
+0.998075246474073,0.5967686436968765
+1.2205139325998016,-1.5131537362625858
+-0.518546367589582,0.10291220253449061
+0.5847507975008884,-0.49252604472088
+-0.545607405491664,0.048185969310337994
+0.8207410448384842,-0.8462863444001285
+-0.6571211920946347,-0.12983388565096937
+-0.11563343472113363,1.339768947430672
+-0.4426276880672608,0.1376238475488181
+-0.2604205937969315,0.9278494404441382
+0.46735067476414144,0.07370874442093078
+1.786496325822496,-2.2179697890545014
+1.2090038489288868,0.2054279355720552
+1.3700062690298327,-1.3033262137602413
+-0.764830412138427,0.4629489585545934
+-0.685500717435734,-0.0693876549369587
+-0.778210850909743,0.35055810328771897
+-0.4528753458667777,1.2382589516832212
+0.8335789978307604,0.6382584839328599
+-0.4106464446014623,-0.28202563739072206
+-0.4436196260773645,-0.0642080491069339
+-0.030771511409894425,1.0646143303328683
+0.12207112846346468,1.2356404243404138
+-0.8257516247804115,-0.22111068756294194
+-0.008210004859726339,1.0701835669127422
+-0.25230885633680644,0.22880293245503738
+0.5810220525983003,0.5667397004452622
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+-0.8401464961398492,0.4251964038382032
+0.998075246474073,0.5967686436968765
+1.2205139325998016,-1.5131537362625858
+-0.518546367589582,0.10291220253449061
+0.26746535124088766,0.7205627949506991
+-0.7662716061892697,1.1223916292348763
+0.8207410448384842,-0.8462863444001285
+-0.6571211920946347,-0.12983388565096937
+-0.11563343472113363,1.339768947430672
+-0.4426276880672608,0.1376238475488181
+-0.6522457689728173,0.32444334271970937
+0.46735067476414144,0.07370874442093078
+1.786496325822496,-2.2179697890545014
+1.2090038489288868,0.2054279355720552
+-0.6079745509966662,-0.0642583391149536
+-0.764830412138427,0.4629489585545934
+-0.685500717435734,-0.0693876549369587
+-0.778210850909743,0.35055810328771897
+-0.4528753458667777,1.2382589516832212
+0.9074387939088493,-0.7881674830591914
+-0.21831759581774263,0.0009531959554412717
+1.676737119795267,-2.06704166245094
+-0.6297005509978746,1.1374005647429868
+-0.9414975118909631,0.40512992986222746
+-0.4148059453460421,0.3842881701642853
+-0.8998060091010479,-0.44897355473104444
+-0.25230885633680644,0.22880293245503738
+-0.796692800007684,0.5868026933795196
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+-0.6458947706714482,0.7921878946696197
+0.998075246474073,0.5967686436968765
+1.2205139325998016,-1.5131537362625858
+-0.7174180687355172,1.3331694449108062
+0.27568505463236737,0.28438310182501003
+-0.27093216498562833,0.30534717015360946
+1.6489600590053932,-1.5665783090521739
+-0.3237988587894088,0.49030654442268395
+-0.11563343472113363,1.339768947430672
+-0.4426276880672608,0.1376238475488181
+-0.6522457689728173,0.32444334271970937
+0.10235209640689263,-0.20604927505432413
+1.786496325822496,-2.2179697890545014
+-0.749516353290934,0.15708914261999773
+-0.46492296877556427,-0.1535018111897199
+0.6899297818855187,1.2692696044559737
+0.7605192043768989,0.9399187027557916
+-0.6892094008591562,0.4068185856773986
+-0.4528753458667777,1.2382589516832212
+0.9074387939088493,-0.7881674830591914
+-0.21831759581774263,0.0009531959554412717
+1.676737119795267,-2.06704166245094
+-0.4281189275576453,-0.23108294994140732
+-0.4274614576084525,1.2434099069045035
+-0.4148059453460421,0.3842881701642853
+-0.8998060091010479,-0.44897355473104444
+-0.14536713913201688,0.3562167946503596
+-0.687306631667642,1.4894160392960722
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+-0.9323679311213344,0.31135855136241797
+0.998075246474073,0.5967686436968765
+0.548743025023204,0.21637868459788
+-0.7174180687355172,1.3331694449108062
+0.9494609467744837,0.6982482458658239
+-1.0297110600912116,-0.12205329563146622
+0.579024260103356,-0.6487239343795882
+-0.3237988587894088,0.49030654442268395
+-0.11563343472113363,1.339768947430672
+-0.4426276880672608,0.1376238475488181
+-0.6522457689728173,0.32444334271970937
+-0.2491356146405621,1.6960723109168654
+1.786496325822496,-2.2179697890545014
+-0.749516353290934,0.15708914261999773
+-0.6227343165935366,0.7217332886817263
+0.6899297818855187,1.2692696044559737
+0.7605192043768989,0.9399187027557916
+-0.521787919516054,-0.5903815809805866
+0.5078532737118806,1.703800319103269
+0.9074387939088493,-0.7881674830591914
+-0.21831759581774263,0.0009531959554412717
+1.676737119795267,-2.06704166245094
+-0.043497447235686715,1.938484216238092
+-0.4274614576084525,1.2434099069045035
+0.012336831912906687,0.004683952106533884
+0.9890640043159207,0.5930779784460737
+-0.14536713913201688,0.3562167946503596
+-0.687306631667642,1.4894160392960722
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+-0.06732410685102069,1.037561486759391
+0.998075246474073,0.5967686436968765
+1.4861432101167116,-2.350912231256654
+-0.861623842964617,-0.5845132474997582
+1.345326860994715,-0.9804522258240008
+1.376000243737363,-1.764542000985237
+0.4468734902010882,-0.13182780202772132
+0.7532118050303401,0.48921580244810037
+0.09934322575558652,0.4240801846335913
+-0.4426276880672608,0.1376238475488181
+-0.6522457689728173,0.32444334271970937
+-0.2491356146405621,1.6960723109168654
+1.786496325822496,-2.2179697890545014
+-0.749516353290934,0.15708914261999773
+-0.6227343165935366,0.7217332886817263
+0.6899297818855187,1.2692696044559737
+0.7605192043768989,0.9399187027557916
+-0.521787919516054,-0.5903815809805866
+0.5078532737118806,1.703800319103269
+0.9074387939088493,-0.7881674830591914
+-0.21831759581774263,0.0009531959554412717
+1.676737119795267,-2.06704166245094
+-0.043497447235686715,1.938484216238092
+-0.4274614576084525,1.2434099069045035
+-0.9672612907600509,-0.2917239823371988
+0.9890640043159207,0.5930779784460737
+-0.14536713913201688,0.3562167946503596
+-0.687306631667642,1.4894160392960722
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+-0.06732410685102069,1.037561486759391
+0.998075246474073,0.5967686436968765
+-0.591480130979712,-0.3056833441594104
+-0.724873089428332,1.302016523348071
+1.345326860994715,-0.9804522258240008
+1.376000243737363,-1.764542000985237
+0.4468734902010882,-0.13182780202772132
+1.5091230182711606,-1.0202220505476298
+0.06183649162421728,2.486908127824319
+-0.4426276880672608,0.1376238475488181
+1.7239230911498304,-2.3889838184599523
+-0.9109882612350068,-0.006155341827990046
+0.7309188370320887,1.5707004189352118
+-0.4096412982106955,-0.13745412489451939
+-0.6227343165935366,0.7217332886817263
+0.627656156144317,0.8516840451197634
+0.4510062009085377,1.1595839765340545
+-0.521787919516054,-0.5903815809805866
+0.5078532737118806,1.703800319103269
+0.9074387939088493,-0.7881674830591914
+-0.25292599325610426,1.9923083062960263
+1.423557697893242,-1.4299695802153352
+1.603863376957526,-2.4936302914058524
+-0.4274614576084525,1.2434099069045035
+-0.9672612907600509,-0.2917239823371988
+-0.372942311858289,2.0787383182150108
+0.5524287322567051,1.0776505541229728
+-0.5652739902985191,0.38504298269418036
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+0.0054191598587287615,-0.3890114056871229
+0.998075246474073,0.5967686436968765
+1.7699342280432506,-2.218102757355452
+-0.019639742139087923,0.6386149960922933
+1.4652546807004971,-2.037469401096258
+1.376000243737363,-1.764542000985237
+0.4468734902010882,-0.13182780202772132
+1.5091230182711606,-1.0202220505476298
+-0.2630307472037064,1.0015430542909878
+2.137569268591293,-3.7572072092967006
+1.7239230911498304,-2.3889838184599523
+1.3093039609005013,-0.4140701689129873
+1.087356743800824,-1.2627927243239165
+1.1770803549149778,0.5423809077429419
+-0.6227343165935366,0.7217332886817263
+0.627656156144317,0.8516840451197634
+0.4510062009085377,1.1595839765340545
+0.6788559315289804,0.9710057957135534
+0.5078532737118806,1.703800319103269
+0.9074387939088493,-0.7881674830591914
+-0.5725851029738143,0.6081904899920141
+1.423557697893242,-1.4299695802153352
+1.603863376957526,-2.4936302914058524
+-0.4274614576084525,1.2434099069045035
+-0.9672612907600509,-0.2917239823371988
+-0.9056264464640107,-0.5653550312250951
+0.46069424912602347,1.6718530110295764
+0.9477341219776814,0.8897031203423093
+-0.07261754169759238,1.8697149229260583
+1.5461788229620606,-1.6631738639101994
+0.0054191598587287615,-0.3890114056871229
+0.998075246474073,0.5967686436968765
+1.7699342280432506,-2.218102757355452
+-0.019639742139087923,0.6386149960922933
+-1.1462904498589306,-0.00995986798008841
+-0.7678832990564775,0.041056871363260417
+-0.8259542698708247,0.6983325766535138
+1.5091230182711606,-1.0202220505476298
+1.5030656867158398,-0.8779782124538802
+1.6776833999296203,-1.6389018116491392
+1.7239230911498304,-2.3889838184599523
+0.7364660891800149,-0.23783399901642
+1.087356743800824,-1.2627927243239165
+0.8289379515486283,1.0065710078668026
+-0.6227343165935366,0.7217332886817263
+0.10367091398970002,0.5083767156320601
+0.2732786285849125,0.40875317793764765
+0.6788559315289804,0.9710057957135534
+0.5078532737118806,1.703800319103269
+0.6230382624658133,-0.5197315057209979
+-0.5725851029738143,0.6081904899920141
+1.423557697893242,-1.4299695802153352
+-0.38046720286656516,-0.5268622038049704
+1.249497600033644,-1.014572972639645
+-0.4640730152497774,0.7871066135276202
+0.23273962420825295,0.6537625014791937
+0.46069424912602347,1.6718530110295764
+0.45472844008123386,-0.3316654219666352
+0.2723696049006076,-0.13649788959718556
+-0.2982867647840848,1.775502783453174
+0.0054191598587287615,-0.3890114056871229
+0.998075246474073,0.5967686436968765
+1.3368151882149273,-1.7625637154636142
+-0.019639742139087923,0.6386149960922933
+0.9123565928066787,1.1778715607964774
+-0.7678832990564775,0.041056871363260417
+-0.8259542698708247,0.6983325766535138
+1.5091230182711606,-1.0202220505476298
+1.5030656867158398,-0.8779782124538802
+1.6776833999296203,-1.6389018116491392
+1.7239230911498304,-2.3889838184599523
+0.7364660891800149,-0.23783399901642
+-0.3850361200184419,1.2208980812164953
+0.8289379515486283,1.0065710078668026
+-0.6227343165935366,0.7217332886817263
+1.407642964823763,-1.3307768907418085
+0.28085737020626567,0.1603885780241716
+0.6788559315289804,0.9710057957135534
+0.5078532737118806,1.703800319103269
+-0.09295983943227326,-0.13788115115803093
+-0.5725851029738143,0.6081904899920141
+1.423557697893242,-1.4299695802153352
+1.6921981426474182,-2.3909942762242458
+1.249497600033644,-1.014572972639645
+-0.4640730152497774,0.7871066135276202
+-0.5806957697730322,-0.7037787454882587
+0.46069424912602347,1.6718530110295764
+-0.2989728227849846,-0.11449946119135185
+0.2723696049006076,-0.13649788959718556
+-0.2982867647840848,1.775502783453174
+0.3978431431884601,-0.24173593020741546
+0.998075246474073,0.5967686436968765
+1.3368151882149273,-1.7625637154636142
+-0.8925709547714825,-0.14311114726915208
+0.9123565928066787,1.1778715607964774
+-0.7678832990564775,0.041056871363260417
+-0.8259542698708247,0.6983325766535138
+1.1705857267155915,-0.7137226860584274
+1.496318611405665,-1.6640204426377325
+0.9629203259762952,-0.451628997728033
+-0.14089342158878687,0.6404947023822429
+0.7364660891800149,-0.23783399901642
+-0.3850361200184419,1.2208980812164953
+0.8289379515486283,1.0065710078668026
+-0.6227343165935366,0.7217332886817263
+1.407642964823763,-1.3307768907418085
+0.28085737020626567,0.1603885780241716
+0.6788559315289804,0.9710057957135534
+0.5078532737118806,1.703800319103269
+0.6771908152951487,-0.4021878691595387
+-0.5725851029738143,0.6081904899920141
+1.423557697893242,-1.4299695802153352
+1.6921981426474182,-2.3909942762242458
+-0.8950240686857242,0.749496216056634
+1.558599834859295,-1.1159344686609762
+-0.5806957697730322,-0.7037787454882587
+-0.9604852961133356,-0.4606284370116086
+-0.2989728227849846,-0.11449946119135185
+0.2723696049006076,-0.13649788959718556
+-0.6147319159632958,0.245427788315627
+0.8420211327567869,1.391600087689959
+0.998075246474073,0.5967686436968765
+1.3368151882149273,-1.7625637154636142
+-0.8925709547714825,-0.14311114726915208
+0.9123565928066787,1.1778715607964774
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+1.1705857267155915,-0.7137226860584274
+-0.5592176124140766,1.5967504764009792
+0.9629203259762952,-0.451628997728033
+-0.14089342158878687,0.6404947023822429
+0.7364660891800149,-0.23783399901642
+-0.3850361200184419,1.2208980812164953
+0.6030389174719639,0.3802231696257179
+0.9979715137982468,-0.350642178969488
+1.407642964823763,-1.3307768907418085
+1.1920970412639178,0.25546076615824004
+0.6788559315289804,0.9710057957135534
+0.5078532737118806,1.703800319103269
+0.6771908152951487,-0.4021878691595387
+-0.5725851029738143,0.6081904899920141
+1.423557697893242,-1.4299695802153352
+1.6921981426474182,-2.3909942762242458
+1.2717605821305624,0.08769556450319645
+1.558599834859295,-1.1159344686609762
+1.127300262604713,0.1541824454179454
+-0.9604852961133356,-0.4606284370116086
+-0.2989728227849846,-0.11449946119135185
+0.2723696049006076,-0.13649788959718556
+1.1344340770663113,0.15733811883317717
+0.8420211327567869,1.391600087689959
+1.2750443319430596,-1.4179818258104837
+1.3368151882149273,-1.7625637154636142
+-0.8925709547714825,-0.14311114726915208
+0.9123565928066787,1.1778715607964774
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+1.1705857267155915,-0.7137226860584274
+-0.5592176124140766,1.5967504764009792
+-0.7272087776944633,1.5579749878179698
+-0.14089342158878687,0.6404947023822429
+0.7364660891800149,-0.23783399901642
+-0.3850361200184419,1.2208980812164953
+1.2984398888519122,-1.2339515575276103
+0.9979715137982468,-0.350642178969488
+0.4053783758622999,1.989854322793359
+0.9265503493648651,1.0252006707602896
+0.03573882666739103,2.049445882510178
+0.5078532737118806,1.703800319103269
+0.7356671957896422,-0.5286754036477581
+0.7172789686076849,-0.8977814509695415
+1.423557697893242,-1.4299695802153352
+1.6921981426474182,-2.3909942762242458
+1.2717605821305624,0.08769556450319645
+0.9312969044561991,-0.9882886767693675
+-0.5477667547033408,1.9224600249715031
+-0.9604852961133356,-0.4606284370116086
+-0.2989728227849846,-0.11449946119135185
+0.2723696049006076,-0.13649788959718556
+1.1344340770663113,0.15733811883317717
+0.8420211327567869,1.391600087689959
+0.2239810864358166,-0.2772693214922307
+-0.24261623247394326,1.277432298645924
+-0.8925709547714825,-0.14311114726915208
+-0.23966990715591718,0.32628417753735295
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.15887762062727576,0.7164468541663507
+0.6433299549291229,1.6880397172508992
+0.5106179886473574,-0.4286564462621649
+0.9578089076639796,-1.008105258628515
+-0.17920682768294302,1.3295228508763
+0.0052728888243388505,-0.20880250199027114
+-0.32908779097792534,2.214109623223252
+-0.6876097239159815,-0.10060031408247888
+0.4053783758622999,1.989854322793359
+-0.10286972536803418,1.2184206542886824
+0.03573882666739103,2.049445882510178
+0.5078532737118806,1.703800319103269
+1.4498322117551012,-1.7324513634049579
+0.22438581882293887,2.192136955283646
+-0.8805325845627637,-0.024659532156883338
+1.6921981426474182,-2.3909942762242458
+1.2717605821305624,0.08769556450319645
+0.9312969044561991,-0.9882886767693675
+0.4702493614248761,-0.21319876486218975
+0.09931244961693209,1.132984118401825
+-0.2994398966301223,0.4053817641952641
+0.2723696049006076,-0.13649788959718556
+1.1344340770663113,0.15733811883317717
+1.3859047197038454,-1.014735908988421
+-0.7347501291843539,-0.1029458749327648
+-0.12117889974659796,0.028300985676250445
+0.7874085511061941,1.333934443120606
+-0.23966990715591718,0.32628417753735295
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.572423503995731,0.6541473872279877
+0.6433299549291229,1.6880397172508992
+-1.0490890738004803,-0.8013460338277192
+0.9578089076639796,-1.008105258628515
+-0.10397851890075965,2.2454901834925027
+0.0052728888243388505,-0.20880250199027114
+-0.32908779097792534,2.214109623223252
+-0.7271540503875529,0.46243433341963847
+0.4053783758622999,1.989854322793359
+-0.10286972536803418,1.2184206542886824
+0.03573882666739103,2.049445882510178
+0.5078532737118806,1.703800319103269
+1.4498322117551012,-1.7324513634049579
+-0.3829758748970512,0.5469867034670924
+-0.8805325845627637,-0.024659532156883338
+1.6921981426474182,-2.3909942762242458
+0.8240284185812069,0.4665654753169871
+0.9312969044561991,-0.9882886767693675
+1.0541223185009319,-1.1958061928774546
+0.09931244961693209,1.132984118401825
+0.6032081902738018,-0.6796297431424546
+0.2723696049006076,-0.13649788959718556
+1.1344340770663113,0.15733811883317717
+1.3859047197038454,-1.014735908988421
+-0.7347501291843539,-0.1029458749327648
+1.1042594032838262,0.6548254666505451
+0.7874085511061941,1.333934443120606
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.572423503995731,0.6541473872279877
+0.49037947942514604,-0.12819514241428004
+-1.0490890738004803,-0.8013460338277192
+0.9578089076639796,-1.008105258628515
+-0.10397851890075965,2.2454901834925027
+1.0067815138076486,-0.6906390823044528
+-0.32908779097792534,2.214109623223252
+0.9167039775355806,-0.7371039758786101
+-0.08310606364233109,0.26252818549179036
+-0.10286972536803418,1.2184206542886824
+0.03573882666739103,2.049445882510178
+0.41223040176366976,0.3597621098307813
+-0.26353449439067045,0.10652778425832227
+-0.3829758748970512,0.5469867034670924
+0.8568020065765062,-0.9809386841883827
+1.6921981426474182,-2.3909942762242458
+0.8240284185812069,0.4665654753169871
+0.2522522414394358,-0.3728353277068682
+0.4682493616485439,0.1654410804175666
+-0.057492227301752616,1.4040005458319849
+0.3293565287028895,0.9652541833663981
+0.2723696049006076,-0.13649788959718556
+1.1344340770663113,0.15733811883317717
+1.3859047197038454,-1.014735908988421
+-0.0127782192471122,0.21469733185029116
+1.1042594032838262,0.6548254666505451
+0.7874085511061941,1.333934443120606
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+1.6980953686892177,-1.3411609082751421
+1.5783554525498635,-1.6758625007194583
+-1.0490890738004803,-0.8013460338277192
+1.3885975845495515,-1.2028146018962373
+0.49591493035186973,-0.025449935338721863
+1.0067815138076486,-0.6906390823044528
+-0.8042211486039329,0.45288081312158135
+0.9167039775355806,-0.7371039758786101
+-0.08310606364233109,0.26252818549179036
+-0.10286972536803418,1.2184206542886824
+0.03573882666739103,2.049445882510178
+-0.7539722456809452,1.595794185749405
+-0.26353449439067045,0.10652778425832227
+0.7889571202667596,1.3847651703185198
+0.8568020065765062,-0.9809386841883827
+1.6921981426474182,-2.3909942762242458
+0.8240284185812069,0.4665654753169871
+0.2522522414394358,-0.3728353277068682
+-1.112093884928954,-0.3004015394505398
+-0.9232246941975261,-0.44342697588060737
+0.3293565287028895,0.9652541833663981
+-0.3076690056059008,2.0119143675500584
+0.05367611045056647,1.805570590435459
+1.3859047197038454,-1.014735908988421
+-0.0127782192471122,0.21469733185029116
+1.1042594032838262,0.6548254666505451
+0.22044560252543977,0.05980055460564926
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.6526884373593234,1.2122100583219173
+1.5783554525498635,-1.6758625007194583
+-1.0490890738004803,-0.8013460338277192
+0.13106928896979975,-0.09622348762775251
+0.8143785147027375,1.0557455487274074
+1.0067815138076486,-0.6906390823044528
+0.861929646228021,1.0576876969438447
+1.1884212717139597,-0.8741895555832545
+-0.08310606364233109,0.26252818549179036
+-0.8392900601124702,0.9544740170062721
+1.1160626263826614,0.8823644392104741
+-0.7539722456809452,1.595794185749405
+-0.17317503625569752,0.17348660558352869
+0.7889571202667596,1.3847651703185198
+0.8568020065765062,-0.9809386841883827
+1.6921981426474182,-2.3909942762242458
+1.2878481733145606,-0.37347538636911576
+0.2522522414394358,-0.3728353277068682
+-1.112093884928954,-0.3004015394505398
+-0.9232246941975261,-0.44342697588060737
+0.3293565287028895,0.9652541833663981
+-0.3076690056059008,2.0119143675500584
+0.05367611045056647,1.805570590435459
+1.3859047197038454,-1.014735908988421
+-0.0127782192471122,0.21469733185029116
+1.1042594032838262,0.6548254666505451
+0.22044560252543977,0.05980055460564926
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.6526884373593234,1.2122100583219173
+1.5783554525498635,-1.6758625007194583
+-1.0490890738004803,-0.8013460338277192
+0.13106928896979975,-0.09622348762775251
+0.5034756534624699,1.992293539891883
+0.9453283445069784,-0.9661433657272067
+0.8852378368718221,0.5000984528726915
+1.3645758623558815,-0.6146719748184639
+-0.08310606364233109,0.26252818549179036
+-0.8392900601124702,0.9544740170062721
+0.4037033298318768,1.7678798276617294
+-0.7539722456809452,1.595794185749405
+-0.17317503625569752,0.17348660558352869
+0.7889571202667596,1.3847651703185198
+0.8568020065765062,-0.9809386841883827
+1.6921981426474182,-2.3909942762242458
+1.2878481733145606,-0.37347538636911576
+0.2474011925440122,1.756124769079228
+0.515121721395766,1.3239544493915816
+-0.7087503137275043,-0.04051394886364719
+-0.31968268182572224,0.4343928451878006
+-0.3076690056059008,2.0119143675500584
+0.05367611045056647,1.805570590435459
+-0.4055117231054068,1.0379696305628028
+-0.0127782192471122,0.21469733185029116
+1.1042594032838262,0.6548254666505451
+0.23068881237120586,2.5754142571948693
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.6576064066261911,1.2902210176427957
+-0.8011233755663137,0.7119934184826997
+1.5783554525498635,-1.6758625007194583
+-1.0490890738004803,-0.8013460338277192
+-0.5710160760624794,1.3735895356837342
+0.5034756534624699,1.992293539891883
+0.29789705455884546,-0.026238540443812797
+-0.6611878317128076,0.9322722466246931
+1.3645758623558815,-0.6146719748184639
+0.4446692763657934,1.5712737040395113
+-0.8392900601124702,0.9544740170062721
+0.12768991503437005,1.9809590275000466
+0.3867846248070477,0.16062004245612632
+-0.17317503625569752,0.17348660558352869
+0.648439234234687,0.3063728762522399
+0.8568020065765062,-0.9809386841883827
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.2474011925440122,1.756124769079228
+0.515121721395766,1.3239544493915816
+-0.7087503137275043,-0.04051394886364719
+0.22833924792016336,1.0447898626655454
+0.396671890261756,2.3841147431767715
+0.05367611045056647,1.805570590435459
+-0.4055117231054068,1.0379696305628028
+1.3199644543895799,-0.31065250464079597
+1.1042594032838262,0.6548254666505451
+0.7317781140866173,-0.9686660796958798
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.7305848076131176,1.4316031782872354
+0.12631517247227053,1.0834210041541295
+1.5783554525498635,-1.6758625007194583
+-0.9855130663970088,1.0703333138857618
+-0.5710160760624794,1.3735895356837342
+-0.42718919001631317,-0.41113757861404454
+0.29789705455884546,-0.026238540443812797
+-0.6611878317128076,0.9322722466246931
+1.3645758623558815,-0.6146719748184639
+0.4446692763657934,1.5712737040395113
+1.5456816305034669,-0.595167781802902
+0.11614386544280747,1.4498917463969017
+0.3731015330439523,0.05363790614495012
+0.7401810770295387,1.4316956572783368
+0.648439234234687,0.3063728762522399
+-0.37330109174373866,0.7863305407870061
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.2474011925440122,1.756124769079228
+-0.01838792831545416,0.4029297309865851
+-0.5670521832228059,0.5356248521485744
+0.04976910603153356,0.24326207638675365
+-0.5988232931979987,0.719607187264732
+-0.9025040390373272,-0.12874173950838907
+-0.6763391121607498,-0.20790051908203855
+-0.2637083466158442,0.8250136242351479
+1.1042594032838262,0.6548254666505451
+-0.2265293827393985,0.3599575436967516
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+1.7179834804944734,-0.9078317585915906
+0.12631517247227053,1.0834210041541295
+1.5783554525498635,-1.6758625007194583
+-0.12265883125463464,-0.24215789395057805
+-0.5710160760624794,1.3735895356837342
+0.35139126595542675,-0.04775769395336049
+0.29789705455884546,-0.026238540443812797
+0.40562456587382145,0.05562926494418702
+-0.2044459465626357,0.8285224632415417
+0.19139024137774205,0.22365558746873432
+1.5456816305034669,-0.595167781802902
+-0.4326785501720017,-0.07583707719085092
+-0.6129383378314222,1.0506817331021154
+0.7401810770295387,1.4316956572783368
+1.3576046017782981,-1.2454486291225155
+-0.37330109174373866,0.7863305407870061
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.2474011925440122,1.756124769079228
+-0.01838792831545416,0.4029297309865851
+-0.5670521832228059,0.5356248521485744
+-0.925063992531501,0.5665500700978984
+-0.9726715986493706,-0.8530843499136793
+-0.9025040390373272,-0.12874173950838907
+-0.7969065156917619,0.5311781366682082
+1.051969310259973,0.7979302265786623
+1.1042594032838262,0.6548254666505451
+1.4907167538567072,-1.8507632773328666
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+0.38729177978109747,-0.7749490096530001
+0.5932518123547262,1.2861609547869062
+0.5422543209204918,-0.556761543639856
+0.42279716531713935,1.9310772670156926
+-0.5710160760624794,1.3735895356837342
+0.35139126595542675,-0.04775769395336049
+0.5178151861706259,1.9909379083447072
+0.5065382590389501,1.3385645452673223
+-0.7153818335551163,0.6066345458973469
+-0.614161269856689,0.8745556001936852
+1.5456816305034669,-0.595167781802902
+-0.4326785501720017,-0.07583707719085092
+-0.6129383378314222,1.0506817331021154
+1.4128551639416131,-2.2761488868321518
+1.3576046017782981,-1.2454486291225155
+0.3837926052021395,-0.4935005346811421
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.6830930676161676,-0.8054926697555916
+-0.01838792831545416,0.4029297309865851
+-0.5670521832228059,0.5356248521485744
+0.3242331954894834,0.47953233875142465
+0.888363889952363,-0.03701908263772036
+-0.9025040390373272,-0.12874173950838907
+0.41955074976882606,1.7699636652551256
+1.051969310259973,0.7979302265786623
+1.6319383150215456,-1.715482403477185
+-0.018998051171529307,0.552050874179753
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+1.7171280680845027,-1.1554760820356471
+0.6425975412473179,-0.424992557532722
+0.5422543209204918,-0.556761543639856
+0.42279716531713935,1.9310772670156926
+-0.5710160760624794,1.3735895356837342
+0.35139126595542675,-0.04775769395336049
+0.5178151861706259,1.9909379083447072
+0.7423823008295882,0.5542479147653961
+-0.7153818335551163,0.6066345458973469
+-0.614161269856689,0.8745556001936852
+1.5456816305034669,-0.595167781802902
+-0.4326785501720017,-0.07583707719085092
+-0.6129383378314222,1.0506817331021154
+1.4128551639416131,-2.2761488868321518
+1.3576046017782981,-1.2454486291225155
+1.2559868424859566,-1.3357729325826164
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.6830930676161676,-0.8054926697555916
+-0.01838792831545416,0.4029297309865851
+-0.5670521832228059,0.5356248521485744
+1.2743961678787792,-0.4370878778187772
+1.2810682397367055,0.43526443537011106
+-0.9025040390373272,-0.12874173950838907
+0.8023663734513657,-1.081098360391922
+1.051969310259973,0.7979302265786623
+1.6319383150215456,-1.715482403477185
+0.5075477745461836,-0.6808394906098207
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.7496628293432094,1.2095844773730198
+0.6425975412473179,-0.424992557532722
+0.5422543209204918,-0.556761543639856
+0.42279716531713935,1.9310772670156926
+0.5098539671428743,1.4937692332529955
+-0.7576445075871775,0.6388327980680798
+-0.5292841495027562,1.9984929622894159
+-0.9658433041771761,-0.2282410883302522
+-0.5864085918427528,0.12053955692886625
+-0.614161269856689,0.8745556001936852
+1.5456816305034669,-0.595167781802902
+0.5084535925373614,0.3924154879676591
+-0.6129383378314222,1.0506817331021154
+1.4128551639416131,-2.2761488868321518
+-0.6754564329812506,0.7962468915428111
+1.3273413783510213,-1.976762974758714
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.6830930676161676,-0.8054926697555916
+-0.01838792831545416,0.4029297309865851
+0.8554776979831094,-0.20621908142834816
+1.2743961678787792,-0.4370878778187772
+0.06523477657402121,-0.0883930799051571
+-0.9025040390373272,-0.12874173950838907
+0.8023663734513657,-1.081098360391922
+1.051969310259973,0.7979302265786623
+1.6319383150215456,-1.715482403477185
+0.5075477745461836,-0.6808394906098207
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+-0.15365957888099868,-0.073426359628686
+0.6425975412473179,-0.424992557532722
+0.5422543209204918,-0.556761543639856
+0.42279716531713935,1.9310772670156926
+-0.23679919014218725,-0.05759415124436984
+-0.7576445075871775,0.6388327980680798
+-0.5292841495027562,1.9984929622894159
+-0.29767658994417134,-0.35076948574055167
+-0.5864085918427528,0.12053955692886625
+0.2552243035272738,0.44469395473188617
+1.5456816305034669,-0.595167781802902
+0.5084535925373614,0.3924154879676591
+-0.6129383378314222,1.0506817331021154
+1.4128551639416131,-2.2761488868321518
+-0.6754564329812506,0.7962468915428111
+1.3273413783510213,-1.976762974758714
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.6830930676161676,-0.8054926697555916
+0.16400088727333512,1.8287047843697988
+-0.2849316135894179,1.3206969621174842
+0.11584637640021767,0.13109401799213527
+0.06523477657402121,-0.0883930799051571
+-0.9025040390373272,-0.12874173950838907
+0.8411136785967264,0.3363705481420984
+-0.892216370414931,0.4020129655643974
+1.6319383150215456,-1.715482403477185
+0.5075477745461836,-0.6808394906098207
+0.43671338370852464,1.8180624629704405
+-0.7678832990564775,0.041056871363260417
+1.58663316635235,-0.37151135896904863
+-0.6187745098824541,1.1455550724432009
+0.5422543209204918,-0.556761543639856
+-0.7769415398816131,0.6551076577812195
+0.39989447461217253,-0.27699810859447016
+-0.7576445075871775,0.6388327980680798
+1.0156017836708235,-1.1862061106561406
+1.3170663942837917,-1.3513831712750282
+-0.5864085918427528,0.12053955692886625
+0.2552243035272738,0.44469395473188617
+1.5456816305034669,-0.595167781802902
+-0.5027184083548136,0.45851022402941694
+1.382023038809956,-1.0311471190161234
+-0.1628381170249656,1.791589881176621
+-0.6754564329812506,0.7962468915428111
+-0.5924245445900443,0.1329086416881634
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.6830930676161676,-0.8054926697555916
+0.16400088727333512,1.8287047843697988
+0.3609927240942492,-0.5549963402393968
+0.11584637640021767,0.13109401799213527
+1.140853096271259,-1.5401850181853889
+-0.9025040390373272,-0.12874173950838907
+0.8411136785967264,0.3363705481420984
+-0.892216370414931,0.4020129655643974
+1.6319383150215456,-1.715482403477185
+-0.03050196917558301,1.0753076719257366
+0.8555261847691218,-0.10559171533345302
+-0.7678832990564775,0.041056871363260417
+-0.1174898980842634,1.1513639436154575
+-0.6187745098824541,1.1455550724432009
+0.5422543209204918,-0.556761543639856
+0.8749371886670136,0.6675263333701369
+-0.4743887384115908,1.3396708934233421
+1.2712261319023659,-0.05743383563906351
+0.38991905207677663,-0.3932307487497089
+1.3170663942837917,-1.3513831712750282
+0.8545421515778981,-0.26000341128464954
+0.6522824670031695,1.3885788548735827
+1.5456816305034669,-0.595167781802902
+0.7643929151602793,0.6783760892755251
+1.4686052430892444,-0.9124228130803584
+-0.1628381170249656,1.791589881176621
+-0.6754564329812506,0.7962468915428111
+-0.5924245445900443,0.1329086416881634
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.06161234978928376,0.2988479734954857
+0.16400088727333512,1.8287047843697988
+0.7610482612684635,1.6232149358654244
+1.0288517632274006,0.7729120403530196
+1.140853096271259,-1.5401850181853889
+-0.9025040390373272,-0.12874173950838907
+0.520392516520895,1.2078725163454953
+-0.892216370414931,0.4020129655643974
+1.6319383150215456,-1.715482403477185
+-0.6042377143669772,0.570567364682371
+0.8555261847691218,-0.10559171533345302
+-0.7678832990564775,0.041056871363260417
+0.9700426654782338,-0.556519901228089
+-0.6187745098824541,1.1455550724432009
+0.5422543209204918,-0.556761543639856
+0.8749371886670136,0.6675263333701369
+-0.4743887384115908,1.3396708934233421
+-0.3040801932371507,0.8128666136006424
+1.305794751157706,-0.12705096139938143
+1.3170663942837917,-1.3513831712750282
+0.8545421515778981,-0.26000341128464954
+0.6522824670031695,1.3885788548735827
+0.35043095737842933,1.4548593866492185
+0.7643929151602793,0.6783760892755251
+0.9452048403356876,1.147742912362877
+1.3179258679173302,-0.6312378283802006
+-0.6754564329812506,0.7962468915428111
+0.5678490044026416,-0.4284181128607282
+1.6921981426474182,-2.3909942762242458
+0.7118606664452553,1.2254822204638922
+0.06161234978928376,0.2988479734954857
+0.9865925287786532,0.439174154403263
+-0.8054605861761304,1.5251782196372239
+0.09715973096528185,2.476582534298336
+1.140853096271259,-1.5401850181853889
+-0.9025040390373272,-0.12874173950838907
+0.7784808881303428,-0.40532426298360447
+-0.892216370414931,0.4020129655643974
+1.6319383150215456,-1.715482403477185
+1.1776887865725023,-0.5577939356291424
+1.873161856637595,-2.543387639658394
+0.9397368455139836,0.6590734624980721
+1.2458753580872113,-1.528862419145387
+-0.6187745098824541,1.1455550724432009
+-0.9456923507767738,-0.1292491946135998
+0.8749371886670136,0.6675263333701369
+-0.4743887384115908,1.3396708934233421
+0.6112917487463988,-0.512304001706546
+1.305794751157706,-0.12705096139938143
+1.3170663942837917,-1.3513831712750282
+1.6291521163507585,-1.0671588737162394
+0.6522824670031695,1.3885788548735827
+0.35043095737842933,1.4548593866492185
+0.7499062294882777,0.4950452548799703
+-0.8337783997966631,0.0861490216047952
+1.3179258679173302,-0.6312378283802006
+-0.6540573672028126,0.4333519031386551
+0.5678490044026416,-0.4284181128607282
+1.5581851189220848,-0.8875858612481531
+0.934523576422888,0.0857557861556022
+0.7232593442250856,-0.8814096679569378
+0.9865925287786532,0.439174154403263
+0.16614583597755994,2.320119184730582
+0.09715973096528185,2.476582534298336
+1.9583472722053548,-3.665707861595992
+-0.9025040390373272,-0.12874173950838907
+0.0008466725181743573,2.2484175436907146
+-0.892216370414931,0.4020129655643974
+-0.9403871201395427,0.014652692110375051
+1.1776887865725023,-0.5577939356291424
+1.873161856637595,-2.543387639658394
+-0.41791865792587457,1.9628473185013726
+0.41931819426783123,-0.4411779872087762
+-0.6187745098824541,1.1455550724432009
+1.6391067019487353,-1.16405694065247
+-0.2143393580330285,-0.09647235538766316
+-0.4743887384115908,1.3396708934233421
+0.6112917487463988,-0.512304001706546
+-0.7472107598385387,-0.14192797514494265
+1.3170663942837917,-1.3513831712750282
+-0.11920646160550619,0.014011737910249122
+0.6522824670031695,1.3885788548735827
+0.35043095737842933,1.4548593866492185
+-0.8078609810420586,-0.2838547609967768
+-0.8337783997966631,0.0861490216047952
+-0.4932884039626826,1.0470051814348478
+-0.6540573672028126,0.4333519031386551
+0.5678490044026416,-0.4284181128607282
+-0.442330406985872,1.6851781667143344
+0.934523576422888,0.0857557861556022
+0.7232593442250856,-0.8814096679569378
+0.9865925287786532,0.439174154403263
+-0.16503513536129688,0.16446763018114452
+0.09715973096528185,2.476582534298336
+1.6239559298685193,-0.6227792380900891
+1.3387940490056072,-1.413552055988859
+0.0008466725181743573,2.2484175436907146
+-0.3955374386932869,0.7041180697457597
+-0.9403871201395427,0.014652692110375051
+1.1776887865725023,-0.5577939356291424
+1.873161856637595,-2.543387639658394
+-0.5321194030450367,0.8478136066207997
+-0.4290719670163625,0.439655687408861
+-0.6187745098824541,1.1455550724432009
+1.6391067019487353,-1.16405694065247
+-0.2143393580330285,-0.09647235538766316
+-0.4743887384115908,1.3396708934233421
+-0.7045680478049454,0.5578282614483349
+-0.7472107598385387,-0.14192797514494265
+-0.5706615040158372,1.0265047616643037
+-0.11920646160550619,0.014011737910249122
+0.6522824670031695,1.3885788548735827
+0.35043095737842933,1.4548593866492185
+-0.5066822945630611,0.6301100715099289
+-0.8337783997966631,0.0861490216047952
+-0.4932884039626826,1.0470051814348478
+0.7626034743896319,0.15165012746997447
+-0.8342619256400788,-0.2755877315194837
+-0.442330406985872,1.6851781667143344
+0.934523576422888,0.0857557861556022
+-0.05792499864173456,0.029483496053440916
+0.1330989772478503,-0.366401739327073
+-0.16503513536129688,0.16446763018114452
+0.09715973096528185,2.476582534298336
+1.6239559298685193,-0.6227792380900891
+1.3387940490056072,-1.413552055988859
+-0.5207496516442903,-0.24220379733233188
+-0.2634350960238815,0.7201109863341406
+-0.00861387149045012,1.3631866088404836
+1.5168255601083518,-2.166803608205088
+1.873161856637595,-2.543387639658394
+-0.5321194030450367,0.8478136066207997
+-0.4290719670163625,0.439655687408861
+-0.4540410346064814,1.8096121429051801
+-0.35284483700141667,0.41201882788428207
+-0.43706637060035747,1.9617192879011296
+1.155995970252476,-0.5526622117945361
+-0.30128941420646493,-0.14715534766118166
+0.7986568733802232,-0.39334201724033563
+1.5379976027425701,-1.087211749959514
+-0.11920646160550619,0.014011737910249122
+0.6522824670031695,1.3885788548735827
+1.2632320375607937,-1.0067475090293088
+0.630547229485114,0.2597218182060704
+-0.06511917997647232,1.9363051293547517
+-0.5891720556123774,0.1484888440575814
+1.745927348373678,-1.7753318183790816
+-0.8342619256400788,-0.2755877315194837
+-0.442330406985872,1.6851781667143344
+-0.9189786909870485,0.1771952394680235
+-0.05792499864173456,0.029483496053440916
+0.1330989772478503,-0.366401739327073
+-0.16503513536129688,0.16446763018114452
+0.26616465276976753,-0.27960612996343887
+-0.6019495372783785,1.7090615849040356
+1.3387940490056072,-1.413552055988859
+-0.05566987608143853,0.3084276014622065
+1.3779547361289126,-0.9279378695244
+-0.7022485976431345,0.5225530589685828
+1.5168255601083518,-2.166803608205088
+1.873161856637595,-2.543387639658394
+-0.9218842219433149,0.2738829972281545
+-0.36780494162727395,-0.2673992284342459
+-0.7023303330135009,0.869630930336831
+-0.35284483700141667,0.41201882788428207
+-0.43706637060035747,1.9617192879011296
+0.4711383965829826,0.22153333051692542
+0.038957494899431344,-0.058339705888535265
+0.7986568733802232,-0.39334201724033563
+0.792937177521237,-0.4152133134776602
+-0.11920646160550619,0.014011737910249122
+0.6522824670031695,1.3885788548735827
+1.2632320375607937,-1.0067475090293088
+0.6815238581518794,1.5415702621529441
+-0.06511917997647232,1.9363051293547517
+-0.5891720556123774,0.1484888440575814
+1.745927348373678,-1.7753318183790816
+-0.8342619256400788,-0.2755877315194837
+-0.09005449036855614,0.5296651692401879
+-0.9189786909870485,0.1771952394680235
+-0.05792499864173456,0.029483496053440916
+0.9928023201771945,-0.8339076503850146
+1.203537024940574,-1.2288331086286497
+-0.9349151247792165,-0.5222415885655808
+-0.6019495372783785,1.7090615849040356
+0.7164415335349685,1.0906174283075698
+-0.05566987608143853,0.3084276014622065
+1.4053949581858238,-1.1525334960893747
+-0.7022485976431345,0.5225530589685828
+1.5168255601083518,-2.166803608205088
+1.873161856637595,-2.543387639658394
+-0.9218842219433149,0.2738829972281545
+-0.36780494162727395,-0.2673992284342459
+-0.5575274608665217,1.292167516239095
+1.4623470453398781,-0.44642283381820236
+-0.43706637060035747,1.9617192879011296
+0.4711383965829826,0.22153333051692542
+0.038957494899431344,-0.058339705888535265
+0.7986568733802232,-0.39334201724033563
+0.6687805836753359,-0.8315988664232583
+1.248189985975462,-1.110377820034368
+0.6522824670031695,1.3885788548735827
+1.2632320375607937,-1.0067475090293088
+0.6815238581518794,1.5415702621529441
+-0.06511917997647232,1.9363051293547517
+-0.5891720556123774,0.1484888440575814
+1.745927348373678,-1.7753318183790816
+-0.8342619256400788,-0.2755877315194837
+-0.09005449036855614,0.5296651692401879
+-0.9189786909870485,0.1771952394680235
+-0.05792499864173456,0.029483496053440916
+-0.35319506906407944,1.3864659909817656
+1.203537024940574,-1.2288331086286497
+-0.9349151247792165,-0.5222415885655808
+1.0821637301608453,1.013242259534372
+0.7164415335349685,1.0906174283075698
+-0.05566987608143853,0.3084276014622065
+1.1908857511944562,-1.1772429269778188
+-0.7022485976431345,0.5225530589685828
+1.5168255601083518,-2.166803608205088
+1.873161856637595,-2.543387639658394
+-0.9218842219433149,0.2738829972281545
+-0.36780494162727395,-0.2673992284342459
+-0.5575274608665217,1.292167516239095
+1.0129598538621205,0.08627840890169625
+-0.43706637060035747,1.9617192879011296
+1.9972488218472084,-2.5513020452184927
+0.038957494899431344,-0.058339705888535265
+0.7986568733802232,-0.39334201724033563
+0.6839094447529329,0.007480623596098301
+1.248189985975462,-1.110377820034368
+0.6522824670031695,1.3885788548735827
+1.2632320375607937,-1.0067475090293088
+0.6815238581518794,1.5415702621529441
+-0.06511917997647232,1.9363051293547517
+-0.5891720556123774,0.1484888440575814
+1.745927348373678,-1.7753318183790816
+0.9646291558224072,-1.1323750382923587
+0.34736133389534535,1.4662188129561842
+-0.9189786909870485,0.1771952394680235
+1.235989489747933,-0.5409401610088544
+-0.11765740560511229,1.7539880145510311
+0.9014094637266266,-0.625681051775121
+-0.9349151247792165,-0.5222415885655808
+1.0821637301608453,1.013242259534372
+0.7164415335349685,1.0906174283075698
+-0.05566987608143853,0.3084276014622065
+-0.89916748725617,-0.28018352429025645
+1.2830472969209115,0.13968641642433116
+1.5168255601083518,-2.166803608205088
+-0.04348342961391203,0.4657137348615427
+-0.9218842219433149,0.2738829972281545
+-0.36780494162727395,-0.2673992284342459
+0.43460290323642403,1.9913431592429571
+1.0129598538621205,0.08627840890169625
+0.06508991815568993,1.958605887897993
+-0.7351977840062169,1.249783902947206
+0.038957494899431344,-0.058339705888535265
+1.2591935375234695,-0.14019269690470465
+1.2881799823583562,-0.35685667918608077
+1.248189985975462,-1.110377820034368
+0.6152521695091372,1.6150750734106287
+1.2632320375607937,-1.0067475090293088
+-0.2939322471010432,0.8888333374067676
+-0.06511917997647232,1.9363051293547517
+-0.5891720556123774,0.1484888440575814
+1.745927348373678,-1.7753318183790816
+-0.11716742249044065,0.15637182258741003
+0.34736133389534535,1.4662188129561842
+-0.9189786909870485,0.1771952394680235
+1.235989489747933,-0.5409401610088544
+-0.11765740560511229,1.7539880145510311
+0.6591899899550253,-0.15799918815022995
+-0.32878880897244545,1.705643531618426
+1.0821637301608453,1.013242259534372
+0.7164415335349685,1.0906174283075698
+-0.05566987608143853,0.3084276014622065
+-0.89916748725617,-0.28018352429025645
+1.2830472969209115,0.13968641642433116
+-0.32968014320619854,1.5009582166784896
+0.3977688546503678,0.3470209963681204
+-0.9218842219433149,0.2738829972281545
+-0.18033742580842982,1.4412421939978797
+0.43460290323642403,1.9913431592429571
+0.6266540127191546,1.5618323658530568
+0.06508991815568993,1.958605887897993
+-0.7351977840062169,1.249783902947206
+0.12315671883753032,0.003600615265664242
+1.2591935375234695,-0.14019269690470465
+1.2881799823583562,-0.35685667918608077
+-0.5084524633646652,1.4744756146866558
+-0.012261120582326646,0.09429485154701472
+1.2632320375607937,-1.0067475090293088
+-0.5386027950756618,1.5122119504029534
+1.2623303888865993,0.017081637724359958
+-0.5891720556123774,0.1484888440575814
+-0.07282629614993918,-0.09442039626579839
+0.6554307968099222,-0.22680685529107153
+0.6738227253364097,-0.04401043623642428
+0.5222083125299763,-0.6043674070810361
+-0.24154124617936,1.7538029064717109
+-0.11765740560511229,1.7539880145510311
+0.8332578050540891,-1.0020471008010143
+-0.32878880897244545,1.705643531618426
+1.0821637301608453,1.013242259534372
+-0.7253651842311298,1.0932310639753917
+0.8491786120874453,1.2097504753760913
+-0.89916748725617,-0.28018352429025645
+1.1347904200537786,0.125978570263228
+1.0284402646528121,-0.4583313052785892
+0.5129039206393189,-0.5124666139102757
+-0.9218842219433149,0.2738829972281545
+-0.13113749812845105,1.2008163484532524
+0.43460290323642403,1.9913431592429571
+0.6266540127191546,1.5618323658530568
+1.0957936132980537,-0.8143998620160487
+-0.7351977840062169,1.249783902947206
+0.12315671883753032,0.003600615265664242
+1.2591935375234695,-0.14019269690470465
+1.2881799823583562,-0.35685667918608077
+-0.5084524633646652,1.4744756146866558
+0.10726437613465481,1.3306446072716407
+0.9278955005227536,0.5307238381645141
+1.102644653274761,-0.09131325362182968
+1.2623303888865993,0.017081637724359958
+-0.5891720556123774,0.1484888440575814
+-0.07282629614993918,-0.09442039626579839
+0.7661968661697199,-0.7789935798787755
+0.9756032578174116,0.5748214833683913
+0.16610865836918248,2.1074128989444274
+-0.24154124617936,1.7538029064717109
+-0.11765740560511229,1.7539880145510311
+0.396347968769962,2.2731513903038763
+1.6364170689111777,-1.2345126932427952
+1.0821637301608453,1.013242259534372
+0.8828094209489076,1.1273536225914884
+1.0995789178714561,-0.7113043495793694
+-0.89916748725617,-0.28018352429025645
+0.5488455969468201,-0.007674219315597419
+-0.6705537367210234,0.3014997443504562
+0.5129039206393189,-0.5124666139102757
+-0.9218842219433149,0.2738829972281545
+-0.13113749812845105,1.2008163484532524
+-0.46643255823208485,1.1455442657696273
+0.7135939479365812,1.6091074465338275
+-0.20672797649478825,1.0291777719331636
+-0.7351977840062169,1.249783902947206
+0.12315671883753032,0.003600615265664242
+1.2591935375234695,-0.14019269690470465
+1.4601019879728185,-1.4135565557991008
+-0.5084524633646652,1.4744756146866558
+0.10726437613465481,1.3306446072716407
+-0.5745675152204924,0.04214519113109941
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+-0.5891720556123774,0.1484888440575814
+1.4860065300276437,-0.5223950309597009
+0.6798802847188113,0.7302902979300712
+1.6902915960485592,-1.7047805617951783
+0.16610865836918248,2.1074128989444274
+0.43073498148624323,1.898358320577258
+-0.6000945347149695,0.970235254318038
+0.28354526394252677,-0.7147129162374902
+1.6364170689111777,-1.2345126932427952
+1.2333268674243554,-1.57780300183141
+0.8828094209489076,1.1273536225914884
+-0.6850554801976264,-0.3343050234680519
+-0.89916748725617,-0.28018352429025645
+-0.6053337224385842,1.1620476616827493
+-0.6705537367210234,0.3014997443504562
+0.5129039206393189,-0.5124666139102757
+0.41742405887246437,1.8841318104121059
+-0.7116204167181565,-0.2795327553358692
+0.2344815681639842,2.1258362164146223
+0.7135939479365812,1.6091074465338275
+-0.4798704398165694,1.377874743866482
+-0.7351977840062169,1.249783902947206
+1.1339215993584633,-1.1133811526625355
+1.2591935375234695,-0.14019269690470465
+1.4601019879728185,-1.4135565557991008
+-0.5084524633646652,1.4744756146866558
+0.10726437613465481,1.3306446072716407
+-0.5745675152204924,0.04214519113109941
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+0.03804847815148982,-0.24928257528964531
+1.4860065300276437,-0.5223950309597009
+0.6798802847188113,0.7302902979300712
+1.0070233363814758,-1.278301650121819
+0.05812983459188237,0.3743665698526538
+0.43073498148624323,1.898358320577258
+1.0705013559029446,0.21609605919632952
+0.28354526394252677,-0.7147129162374902
+1.236011914500596,-0.4669674464089072
+0.07060072410502632,0.27565025199868576
+0.8828094209489076,1.1273536225914884
+0.03138518440414467,0.3768299772721848
+-0.89916748725617,-0.28018352429025645
+1.4378066507478937,-0.15453609378542832
+-0.40828895655813435,1.5806826337018072
+1.7350565697349478,-1.9345284645315952
+0.23780657819512213,1.7274741472233495
+-0.7116204167181565,-0.2795327553358692
+-0.2610661662217798,0.8169958595150966
+0.7135939479365812,1.6091074465338275
+-0.2665893920238629,1.4266267409629396
+-0.7351977840062169,1.249783902947206
+0.22509666920773586,0.5904561741072627
+0.19613447512635945,0.7812531997409964
+1.4601019879728185,-1.4135565557991008
+-0.5084524633646652,1.4744756146866558
+0.10726437613465481,1.3306446072716407
+-0.5745675152204924,0.04214519113109941
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+1.237863141126378,-0.9631816659570469
+1.4860065300276437,-0.5223950309597009
+-0.3095166347056878,1.0348090808094033
+1.764855240897379,-1.7017333797382244
+0.05812983459188237,0.3743665698526538
+0.25989191156272995,2.3726291308200067
+0.4415916937476648,-0.2607529676057663
+-0.2002877160291906,1.4692250382507142
+1.236011914500596,-0.4669674464089072
+0.8986131980343584,0.4650941874515505
+0.8828094209489076,1.1273536225914884
+0.6438609249573249,0.866892344203554
+-0.89916748725617,-0.28018352429025645
+1.4378066507478937,-0.15453609378542832
+1.409272959555957,-0.7602342422118407
+1.7350565697349478,-1.9345284645315952
+1.3837286447200692,-1.127803796880518
+0.6475974554976915,-0.4914067234547381
+0.8854697303463303,-0.7331762675174007
+0.7135939479365812,1.6091074465338275
+0.4673861765769847,-0.3883252004475205
+0.6708218605359911,-0.6150953512881027
+0.8089386307411454,-1.1101248454966055
+0.314208344786356,0.43091940952166274
+1.4601019879728185,-1.4135565557991008
+-0.5084524633646652,1.4744756146866558
+-0.6464261686170202,1.0642977620918965
+0.021462618967469704,1.208434635416011
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+1.237863141126378,-0.9631816659570469
+0.06296223867147668,0.18904597748524712
+1.141407132713989,-0.5343600482193032
+0.40129115678967714,-0.20431307655007958
+-0.3004318173452014,1.7575789773505082
+1.811799717561572,-1.8271434992137803
+0.4415916937476648,-0.2607529676057663
+-0.003069574335942793,0.43870470118141436
+-0.6717597760272204,1.1113903307534936
+0.8986131980343584,0.4650941874515505
+0.5376295957159511,0.24053553384054532
+0.5499401767506634,1.653070031550368
+0.9743255503449937,0.9743558587691573
+1.4378066507478937,-0.15453609378542832
+1.409272959555957,-0.7602342422118407
+0.895371121942475,-0.18369480871679988
+1.1280338625127424,-1.294686084465764
+-0.09209254943092292,2.0694544737036518
+0.8854697303463303,-0.7331762675174007
+0.7135939479365812,1.6091074465338275
+0.4673861765769847,-0.3883252004475205
+1.0894202202559773,-0.7677773919848161
+0.8089386307411454,-1.1101248454966055
+0.9238250611733212,0.3912960337685186
+1.4601019879728185,-1.4135565557991008
+-0.5084524633646652,1.4744756146866558
+-0.08734774769520348,1.2538979701063324
+1.41607724996195,-1.4108714080039424
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+1.237863141126378,-0.9631816659570469
+0.06296223867147668,0.18904597748524712
+0.4686819987146583,1.5258866166631222
+0.40129115678967714,-0.20431307655007958
+-0.3004318173452014,1.7575789773505082
+1.811799717561572,-1.8271434992137803
+0.05012772541749305,1.3418420985357873
+0.6436978076676203,1.1386500156639499
+-0.6717597760272204,1.1113903307534936
+0.8986131980343584,0.4650941874515505
+0.6418295804968446,-0.4764874935753659
+0.5499401767506634,1.653070031550368
+0.9743255503449937,0.9743558587691573
+0.5669302987727959,0.6627029706182341
+1.409272959555957,-0.7602342422118407
+1.4039000327639954,-1.4601689971129863
+0.08215116711900744,1.9462509846572673
+-0.09209254943092292,2.0694544737036518
+0.5649921016996077,0.6055703017034015
+0.15692102753536563,-0.6141897934436584
+0.9397980356641081,1.1734820888171487
+1.1564851830909522,-0.7051109478531201
+0.8089386307411454,-1.1101248454966055
+0.9238250611733212,0.3912960337685186
+1.3761147926328454,-0.16180546257547912
+-0.5084524633646652,1.4744756146866558
+-0.08734774769520348,1.2538979701063324
+-0.45052756127374144,0.8142348304314239
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+1.237863141126378,-0.9631816659570469
+0.06296223867147668,0.18904597748524712
+-0.10477816062005778,1.639295085210199
+1.1515040771965626,-1.6472948992017715
+-0.3004318173452014,1.7575789773505082
+-0.0325077098659163,0.8170372604094975
+-0.037477486761426704,0.45641033918680096
+0.5735317122199511,-0.45304689231195994
+-0.05378899216859359,0.5672429395968068
+-0.5420519897372738,1.2917299019711956
+0.021933326383159646,-0.42483097586163054
+0.5499401767506634,1.653070031550368
+0.23784652704361614,0.4760034596770917
+0.3073141366721029,0.3665873450831597
+-0.2304720112237877,1.7791719267001092
+-0.331767321462706,1.7171435897877543
+0.08215116711900744,1.9462509846572673
+-0.09209254943092292,2.0694544737036518
+0.47319166858243,1.5996950086460442
+1.1186976814335308,-0.861043430324188
+-0.5832887724011735,0.2567021374286612
+0.2747936342334297,0.6606320700421872
+0.7541575935201539,-0.9755322294489722
+-0.39172236128082055,0.3231357253776365
+1.3761147926328454,-0.16180546257547912
+1.1645423132226593,-1.3323193202058232
+-0.44586356661169424,1.004883152425449
+-0.45052756127374144,0.8142348304314239
+0.6236744220251315,-0.3715706105285459
+-0.5902913522478578,-0.38765006084090137
+1.237863141126378,-0.9631816659570469
+0.06296223867147668,0.18904597748524712
+0.6539797137187093,-0.5084153206548737
+0.2934474664095792,-0.6038669343939082
+-0.023505402551546636,-0.30682879964364396
+-0.42821353352510105,1.1201154972621095
+-0.037477486761426704,0.45641033918680096
+0.5735317122199511,-0.45304689231195994
+1.379051895641249,-0.6113766378707859
+1.3289429972785343,0.6754925058350086
+0.0879476644202879,0.9491097612789002
+0.0802401528604686,-0.22756013005840117
+-0.16266571306313032,1.4420509080180137
+0.3073141366721029,0.3665873450831597
+-0.2304720112237877,1.7791719267001092
+-0.2816541450549899,1.4682245950075794
+0.5308253357376274,-0.5434983894523213
+-0.33577357976768674,0.05765676411462403
+0.47319166858243,1.5996950086460442
+1.1186976814335308,-0.861043430324188
+-0.10541908201203798,0.39184816827610175
+-0.44924056980647586,0.8617644467886778
+-0.38811606146422406,1.9801729104019805
+-0.39172236128082055,0.3231357253776365
+1.3761147926328454,-0.16180546257547912
+0.13608774788392908,1.9272684235646111
+-0.44586356661169424,1.004883152425449
+0.34299638495432083,1.2871042701038347
+-0.0903864951124845,0.3206950187795873
+0.26790217746322637,-0.09019103769302372
+-0.5393887434248248,0.6693074475855949
+0.06296223867147668,0.18904597748524712
+-0.4473275647257351,1.1044841149314446
+-0.01429894323474723,-0.1601644850695405
+0.39343967590165124,2.0296164798990226
+-0.42821353352510105,1.1201154972621095
+0.18817026303741358,0.4494671851168689
+0.543524307752688,-0.331167608241672
+0.19643613141696492,1.591179283074152
+0.060243675168895165,0.22917506196495316
+0.0879476644202879,0.9491097612789002
+0.30981186023407825,0.5667677188687834
+-0.6017869030975751,0.984151870728346
+0.32301935992303354,0.06260747718184197
+0.1751041859314135,2.1202884946025264
+-0.2816541450549899,1.4682245950075794
+1.1005997238470113,-1.3231236994329842
+-0.46767078799993306,-0.09100379829387106
+-0.5921313817752618,1.0817096656979563
+1.1186976814335308,-0.861043430324188
+-0.10541908201203798,0.39184816827610175
+1.4098013084070649,-1.5506127408412385
+-0.38811606146422406,1.9801729104019805
+-0.4762243953176847,1.6402136999297938
+1.3761147926328454,-0.16180546257547912
+0.30263821065111496,1.7915939169375483
+-0.44586356661169424,1.004883152425449
+0.34299638495432083,1.2871042701038347
+-0.22755439104441494,0.6278311052098295
+0.26790217746322637,-0.09019103769302372
+1.3710122184113165,0.052203485752536416
+0.06296223867147668,0.18904597748524712
+0.6292595373392067,-0.09384326631029428
+-0.11151126003206922,1.7910607661062103
+0.27798656867560834,1.9767994738664205
+-0.34810943639109976,0.6219905680701352
+-0.4572899404375226,2.1381685518415723
+0.37127034469578807,2.0901882397241267
+0.31511375255649277,1.9368864702808488
+-0.13304832838824265,0.6553665699946142
+-0.09386104376314064,1.971445135374369
+-0.6148758972418868,1.5710493998290769
+0.2503595081512474,0.7956430322835213
+1.1675560473806126,-1.3973078643909755
+0.1751041859314135,2.1202884946025264
+-0.2816541450549899,1.4682245950075794
+1.1005997238470113,-1.3231236994329842
+1.0961197306015544,-1.045273104756119
+-0.2925062617552531,-0.031334215931068055
+1.1186976814335308,-0.861043430324188
+-0.10541908201203798,0.39184816827610175
+1.4098013084070649,-1.5506127408412385
+0.378691279263358,2.321809747227545
+-0.8418393230332326,0.9975130324468666
+1.3761147926328454,-0.16180546257547912
+0.30263821065111496,1.7915939169375483
+-0.44586356661169424,1.004883152425449
+1.4571425516055243,-0.6626157982455064
+0.290349047180698,2.0822484131540704
+0.26790217746322637,-0.09019103769302372
+1.3710122184113165,0.052203485752536416
+1.3269432091015578,-1.4258429262317422
+0.4214385132778257,1.5879916287992202
+-0.11151126003206922,1.7910607661062103
+0.27798656867560834,1.9767994738664205
+0.11841671885577576,0.14604886870697392
+-0.4572899404375226,2.1381685518415723
+0.37127034469578807,2.0901882397241267
+0.31511375255649277,1.9368864702808488
+0.23371642738737228,0.17844863888418494
+-0.09386104376314064,1.971445135374369
+0.9799189177161215,-1.080358027062745
+-0.19256505217202347,1.7111480261689278
+-0.3979494701482672,2.1864563422793455
+0.3847088275727433,0.7041603574875017
+0.012870161428850613,0.4335041470146197
+1.6686941009463157,-1.8656434188919184
+1.115497471814453,-1.6134401794699764
+-0.2925062617552531,-0.031334215931068055
+-0.3095983263645621,0.7531726939028117
+-0.025746903756590583,0.04913448737422338
+0.21103613861708598,-0.1274440378810619
+-0.4420430147632973,1.2551982356891713
+-0.07160884207042514,0.788469956086391
+1.3761147926328454,-0.16180546257547912
+1.4481020654261128,-0.8281544629006902
+-0.23754578721427141,0.7847067855229851
+1.4571425516055243,-0.6626157982455064
+0.290349047180698,2.0822484131540704
+0.26790217746322637,-0.09019103769302372
+0.24533005529379748,0.26083598790482876
+1.3269432091015578,-1.4258429262317422
+0.6273660968880195,0.24884166521076695
+-0.098009385488561,0.4791826983305937
+0.27798656867560834,1.9767994738664205
+0.11841671885577576,0.14604886870697392
+-0.4572899404375226,2.1381685518415723
+0.37127034469578807,2.0901882397241267
+0.31511375255649277,1.9368864702808488
+0.23371642738737228,0.17844863888418494
+-0.09386104376314064,1.971445135374369
+-0.06514816325358724,1.8441770229366745
+0.3541594921019359,0.5815690480379347
+-0.3979494701482672,2.1864563422793455
+0.029939991019187207,0.8038716076698201
+-0.4175934935665892,0.5313337984698947
+0.21683865074687622,0.9867361269732942
+1.115497471814453,-1.6134401794699764
+-0.2925062617552531,-0.031334215931068055
+-0.3095983263645621,0.7531726939028117
+0.6695657263101039,-0.6790241317375156
+-0.030802880995262294,2.3247172294067946
+0.03103192279185929,1.9125856418415408
+-0.07160884207042514,0.788469956086391
+1.3761147926328454,-0.16180546257547912
+0.6105465169348864,1.2509764682470084
+-0.23754578721427141,0.7847067855229851
+1.4571425516055243,-0.6626157982455064
+0.290349047180698,2.0822484131540704
+0.046797154457501544,0.23034200673912256
+-0.18083952378248996,0.04715412689336951
+1.3269432091015578,-1.4258429262317422
+0.46586114175828675,2.269836566494029
+0.432782450010287,0.21312699256903123
+1.0695125953793845,0.9502711193939406
+0.11841671885577576,0.14604886870697392
+-0.28833185116765747,1.7847189149941984
+0.37127034469578807,2.0901882397241267
+0.48720367720898483,0.1634743160456481
+0.9992169833686286,-0.9816509904766446
+-0.09386104376314064,1.971445135374369
+-0.06514816325358724,1.8441770229366745
+0.3541594921019359,0.5815690480379347
+-0.70029397764126,1.234868807113687
+-0.203544463972864,1.2977995658997532
+-0.014772077070736814,0.6331526140317205
+0.7907803293574333,0.47662625544066906
+1.115497471814453,-1.6134401794699764
+-0.2925062617552531,-0.031334215931068055
+0.10741978103993016,2.3381640230454024
+-0.38224869139050555,0.5708039513116603
+-0.030802880995262294,2.3247172294067946
+0.03103192279185929,1.9125856418415408
+-0.5986569604223969,0.27428164594319326
+1.3761147926328454,-0.16180546257547912
+0.6105465169348864,1.2509764682470084
+-0.23754578721427141,0.7847067855229851
+0.22043277080402804,0.7975217923322786
+1.2578816649093398,-1.227227918735512
+-0.26320753811564,1.3651299073019465
+-0.18083952378248996,0.04715412689336951
+1.3269432091015578,-1.4258429262317422
+0.9516765909289137,-0.32993291072327796
+-0.24365003069671243,0.7272438409465737
+-0.43526451516293563,0.168969003935586
+0.11841671885577576,0.14604886870697392
+-0.18049058405956675,2.3907188495730107
+0.37127034469578807,2.0901882397241267
+0.48720367720898483,0.1634743160456481
+0.953290260710572,0.2730243176348398
+0.7107377140511228,-0.8294980913563629
+0.53269023316157,1.9545364598232964
+0.694566310000758,0.38185692381397585
+0.28241451005006213,-0.05819106930094353
+-0.5858318964721039,-0.42734987167902483
+0.5202441536757063,-0.30773946163482
+-0.7851622394219611,0.16407624826281914
+1.115497471814453,-1.6134401794699764
+0.5560642583485158,1.7767556393150081
+0.10741978103993016,2.3381640230454024
+-0.38224869139050555,0.5708039513116603
+-0.030802880995262294,2.3247172294067946
+0.7148719108984288,1.4228020269115425
+0.9218307418954835,0.6765618147699588
+1.3761147926328454,-0.16180546257547912
+-0.6780339794982709,0.9615507609649574
+-0.23510030943661858,1.9851165523108116
+0.22043277080402804,0.7975217923322786
+1.2578816649093398,-1.227227918735512
+-0.26320753811564,1.3651299073019465
+-0.24819772983760782,-0.4705542822715652
+1.3269432091015578,-1.4258429262317422
+-0.8551124518578123,-0.11938275322436531
+-0.24365003069671243,0.7272438409465737
+-0.43526451516293563,0.168969003935586
+-0.716866160397136,0.2899352639701364
+-0.35137234578202897,1.6295707586905634
+0.37127034469578807,2.0901882397241267
+-0.006475959898337574,1.1819994940250707
+-0.5211269695890611,0.5000201491106193
+0.7107377140511228,-0.8294980913563629
+0.53269023316157,1.9545364598232964
+-0.6198929532867392,-0.2089137663401714
+0.28241451005006213,-0.05819106930094353
+-0.5858318964721039,-0.42734987167902483
+0.5202441536757063,-0.30773946163482
+-0.7851622394219611,0.16407624826281914
+-0.03648371710422216,1.9716884761975484
+0.5560642583485158,1.7767556393150081
+-0.06938024614540944,0.018511948223220887
+-0.38224869139050555,0.5708039513116603
+-0.10670498995232734,1.7622971456133387
+0.26853936767338743,-0.16251089799856655
+0.4326655838125496,2.0847106514044667
+1.3761147926328454,-0.16180546257547912
+-0.6780339794982709,0.9615507609649574
+-1.0638930327430791,-0.050098011466587045
+-0.3207199725577167,2.149398053798279
+1.2578816649093398,-1.227227918735512
+-0.26320753811564,1.3651299073019465
+-0.9331154037893676,-0.26431683916783766
+1.3269432091015578,-1.4258429262317422
+-0.8551124518578123,-0.11938275322436531
+1.117610430267375,-0.10861743167261377
+-0.43526451516293563,0.168969003935586
+0.5659821842619136,2.283419481275046
+-0.6841578022122661,1.6359731895557412
+0.1263287840668082,0.34288733323791365
+-0.006475959898337574,1.1819994940250707
+0.2659066729599622,0.4247991096828493
+0.7107377140511228,-0.8294980913563629
+0.53269023316157,1.9545364598232964
+-0.6198929532867392,-0.2089137663401714
+0.28241451005006213,-0.05819106930094353
+-0.5858318964721039,-0.42734987167902483
+0.6457611003308606,-0.15467066029132975
+-0.7851622394219611,0.16407624826281914
+-0.03648371710422216,1.9716884761975484
+0.5560642583485158,1.7767556393150081
+-0.008782544280929033,0.40516131684457285
+-1.0046277229907556,1.3643145075525906
+0.08891691262918991,1.0635492003483058
+-0.5093362450500942,0.5478947548442041
+0.4326655838125496,2.0847106514044667
+1.3761147926328454,-0.16180546257547912
+-0.6780339794982709,0.9615507609649574
+1.449376640044044,-0.6767271937464503
+-0.3207199725577167,2.149398053798279
+1.2578816649093398,-1.227227918735512
+-0.26320753811564,1.3651299073019465
+-0.8532281627548591,-0.3057528944426161
+1.3269432091015578,-1.4258429262317422
+-0.5551980243823733,0.8549488529451313
+1.117610430267375,-0.10861743167261377
+-0.43526451516293563,0.168969003935586
+0.1429266297680308,1.659202502452458
+-0.769184633691084,1.5061456954067838
+0.1263287840668082,0.34288733323791365
+1.7270629004610156,-2.814725820786233
+0.5451249439017362,0.20883736174260203
+0.7107377140511228,-0.8294980913563629
+0.53269023316157,1.9545364598232964
+-0.6198929532867392,-0.2089137663401714
+-0.0554256114748094,1.0450659522731336
+-0.5858318964721039,-0.42734987167902483
+0.5253972498504522,-0.05267236418857879
+-0.7851622394219611,0.16407624826281914
+-0.03648371710422216,1.9716884761975484
+0.5560642583485158,1.7767556393150081
+1.2769084007713976,-0.28079958739367866
+-1.0046277229907556,1.3643145075525906
+-0.2018610929513423,1.8584945709213507
+-0.24670864612676535,-0.26924345823116036
+-0.127304468408181,0.025536547423795547
+1.3761147926328454,-0.16180546257547912
+-0.6780339794982709,0.9615507609649574
+1.449376640044044,-0.6767271937464503
+0.991695841793483,0.40358894562946596
+1.2578816649093398,-1.227227918735512
+-0.26320753811564,1.3651299073019465
+-0.8532281627548591,-0.3057528944426161
+1.3269432091015578,-1.4258429262317422
+-0.5551980243823733,0.8549488529451313
+1.117610430267375,-0.10861743167261377
+0.8319297612524532,0.06917381981723317
+0.1429266297680308,1.659202502452458
+-0.769184633691084,1.5061456954067838
+0.1263287840668082,0.34288733323791365
+1.7270629004610156,-2.814725820786233
+-0.25041120799931604,0.6410467245205613
+0.5642182292387263,1.3058156299436272
+-0.39557264860734676,1.2031064499435797
+0.6428293738228722,-0.7482567735733167
+-0.7670948736074239,-0.505012937471618
+1.1461446725770126,-0.9444693868731762
+1.3810653493726903,-0.8464511385732041
+-0.7851622394219611,0.16407624826281914
+-0.03648371710422216,1.9716884761975484
+-0.3589208103645295,0.3645399193509533
+1.2769084007713976,-0.28079958739367866
+1.1533489047362062,-1.2110032445583112
+-0.2018610929513423,1.8584945709213507
+-0.24670864612676535,-0.26924345823116036
+1.0605724574340565,-0.7144134206013768
+1.3761147926328454,-0.16180546257547912
+0.7250289881831044,-0.6266043889336157
+0.7094750765629494,0.16898583509262333
+0.991695841793483,0.40358894562946596
+1.0153900173110153,0.04398062550086407
+-0.26320753811564,1.3651299073019465
+-0.8532281627548591,-0.3057528944426161
+0.13199717680465706,0.6612114695889276
+-0.5551980243823733,0.8549488529451313
+1.117610430267375,-0.10861743167261377
+1.288443978276687,-0.05718980204577151
+1.1763923315154792,-1.3312870116010505
+-0.769184633691084,1.5061456954067838
+0.1263287840668082,0.34288733323791365
+1.7270629004610156,-2.814725820786233
+-0.25041120799931604,0.6410467245205613
+1.1353100627669979,-1.623638538674811
+-0.39557264860734676,1.2031064499435797
+0.0860823076508237,0.03687549749149921
+-0.6121761378477608,0.2141340836619413
+1.1461446725770126,-0.9444693868731762
+1.3810653493726903,-0.8464511385732041
+1.5208108000890688,-2.294479665396001
+-0.03648371710422216,1.9716884761975484
+-0.3589208103645295,0.3645399193509533
+1.2769084007713976,-0.28079958739367866
+1.1533489047362062,-1.2110032445583112
+-0.727798251979173,0.9770443995861168
+0.192861425981676,0.8888517925722741
+1.170453650560779,-0.5602813554802095
+1.3761147926328454,-0.16180546257547912
+-0.15557740346040017,1.4801649597980566
+0.12216257521938345,1.7103931826373762
+1.4066425806708747,-1.4635627077426658
+1.0153900173110153,0.04398062550086407
+-0.26320753811564,1.3651299073019465
+0.343262270056107,-0.45398055378011715
+-0.5074482992413525,0.69223547600357
+-0.1869141493493175,-0.19935900990861466
+-0.8465054037962272,-0.8052918149483925
+0.7337914656022427,-0.7309292095352736
+-0.774272881797387,1.0580302575235634
+1.288506580996631,-1.8230395682755347
+-1.0082352827371983,-0.4947075801881614
+1.0777059365177046,-0.9924337227202218
+-0.25041120799931604,0.6410467245205613
+-0.3314045976972815,1.912051530501299
+1.5653325908030333,-1.939328494114974
+0.0860823076508237,0.03687549749149921
+-0.6121761378477608,0.2141340836619413
+-0.8614133057533601,-0.7309137991035086
+0.27351007070605354,0.41745299700744243
+1.5208108000890688,-2.294479665396001
+0.008315453621464464,-0.010931095640383193
+0.28822172027199594,-0.27107895286556316
+0.1224820980333888,-0.21517759950956494
+1.1533489047362062,-1.2110032445583112
+0.14532506442498658,0.9784224990808942
+-1.0141146181405596,0.5573244693283836
+0.7950571037651541,-0.6563043116568341
+1.1698578764440992,0.6956753600393548
+0.07513068841404615,-0.13309056008085407
+-1.139175274989265,-0.7437054860133807
+-0.49707793833443437,0.012735050999614334
+1.0153900173110153,0.04398062550086407
+0.6436094967902752,-0.6128595583139439
+-0.26955396348875343,-0.145448067025377
+-0.5074482992413525,0.69223547600357
+-0.6806941760197682,0.84197106481838
+-1.0427260363338122,1.0219936823642397
+0.7337914656022427,-0.7309292095352736
+-0.774272881797387,1.0580302575235634
+-0.025555014729594427,1.0813983157146487
+0.5965330133910766,0.03644642876030635
+1.0777059365177046,-0.9924337227202218
+-0.04139692293258618,1.502137640916396
+0.02406110881364726,0.31019174747158906
+1.5653325908030333,-1.939328494114974
+-0.43353641349771443,1.618680654564794
+-0.2066149141161041,-0.20214383504555397
+-0.8395733192947675,-0.3839491755111903
+0.7124901555498542,-0.482458208433832
+-0.29675110078929623,1.3700206094689653
+1.1357154587255662,0.009762990697922636
+0.28822172027199594,-0.27107895286556316
+0.12586431470614073,1.089693004588403
+-0.07258853203444045,-0.3388837943416393
+1.2103301265516906,-0.3235902345356564
+0.6756091354469496,0.9531147321984232
+0.6917204003540052,-0.11598999971396298
+1.1698578764440992,0.6956753600393548
+1.1283059674041134,-0.43597361879689955
+0.3191042715929018,0.4825047884576712
+1.1007295417948812,-0.7747877133278618
+1.0153900173110153,0.04398062550086407
+-0.37293382760803906,1.1805921203133012
+0.6026430685950337,-0.1543764045878186
+-0.5074482992413525,0.69223547600357
+0.09821766708871638,0.3378657829760476
+0.5039089646420445,-0.3950112369249969
+0.7337914656022427,-0.7309292095352736
+-0.774272881797387,1.0580302575235634
+0.13612961264301549,1.218601445609933
+0.5190514319294096,-0.1341180256379656
+1.0777059365177046,-0.9924337227202218
+-0.04139692293258618,1.502137640916396
+-0.43610049295281134,1.1735366310292605
+1.5653325908030333,-1.939328494114974
+-0.43353641349771443,1.618680654564794
+-0.2066149141161041,-0.20214383504555397
+-0.8395733192947675,-0.3839491755111903
+-0.04108288273530791,0.006791592519775791
+-0.46084378884569005,0.2857459274305727
+-0.36105114744581235,1.3592370193279542
+0.28822172027199594,-0.27107895286556316
+1.5384775449464554,-1.7570457848185441
+0.3924324229216851,0.6158439197663121
+0.6785613684149159,-0.21029994027491739
+0.14807574389305245,-0.08516883152051799
+0.6917204003540052,-0.11598999971396298
+1.1698578764440992,0.6956753600393548
+0.6682849940378494,0.21796501863404705
+0.3191042715929018,0.4825047884576712
+0.5166474929802625,-0.04555628759636886
+-0.22805994078565217,1.2397371884952935
+0.1252669667196668,-0.3995935844584757
+0.02910754785663544,1.055754567131571
+0.2087947226693393,1.5695824580428097
+0.15831354136789522,0.8291128294785695
+-0.39859995031614337,-0.11059088040670428
+0.7337914656022427,-0.7309292095352736
+0.7506393450610837,-0.34332634918340893
+-0.1200825127084465,1.0831455717977065
+1.2397556960392615,-0.8359315442108064
+0.37183769548665735,-0.6028892608273664
+-0.04139692293258618,1.502137640916396
+1.487334891387257,-0.23436023711242782
+1.5653325908030333,-1.939328494114974
+-0.43353641349771443,1.618680654564794
+-0.2066149141161041,-0.20214383504555397
+-0.8395733192947675,-0.3839491755111903
+1.0564398158890147,-0.6201732001908737
+-0.46084378884569005,0.2857459274305727
+-0.36105114744581235,1.3592370193279542
+0.28822172027199594,-0.27107895286556316
+1.5384775449464554,-1.7570457848185441
+1.3982147365786397,-0.7276929854917297
+1.5228849546919634,-0.5540017195212887
+0.1881683177453019,0.08563126524240558
+-0.3453292099887642,1.654886119870711
+1.1698578764440992,0.6956753600393548
+-0.36961000712567105,0.608021585771375
+1.0464095243965685,1.1719178352875779
+0.8440937385683389,1.5801050067889224
+-0.22805994078565217,1.2397371884952935
+0.05346298379643005,0.11854276929852728
+-0.029250025751393023,-0.2917810499967618
+0.2087947226693393,1.5695824580428097
+1.4922739878378866,-0.9310010341335215
+1.0324077524501805,-0.25299027874952346
+0.2917939077272128,0.14606158387242396
+0.7506393450610837,-0.34332634918340893
+-0.1200825127084465,1.0831455717977065
+0.3611814867141955,-0.5328772274861857
+0.261810281656831,1.5810288679509332
+-0.17271472490768777,0.07370434464241207
+-0.10094253083545235,-0.2865327472288445
+-0.5759159567736906,-0.2810373699675901
+-0.8039610959141366,0.0987261432169288
+-0.8999566926769386,0.7071767077318389
+-0.21892977826270238,1.8713526564631866
+-0.5993982870163641,-0.1578365363901585
+-0.942563709860823,-0.21347599336251089
+-0.36105114744581235,1.3592370193279542
+0.28822172027199594,-0.27107895286556316
+1.5384775449464554,-1.7570457848185441
+0.7648612979474565,0.47892929558374603
+1.5228849546919634,-0.5540017195212887
+-0.16229718147467598,1.8643150972107232
+-0.3453292099887642,1.654886119870711
+1.1698578764440992,0.6956753600393548
+-0.6373449600778548,0.3277888972772489
+1.0464095243965685,1.1719178352875779
+0.8440937385683389,1.5801050067889224
+-0.22805994078565217,1.2397371884952935
+0.10626013314530362,0.3413255452587308
+-0.10176980829248339,0.32116856082651485
+0.2087947226693393,1.5695824580428097
+-0.01951383704818832,0.7709980422650266
+-0.9106273205295066,0.4348505753342018
+0.2917939077272128,0.14606158387242396
+0.7506393450610837,-0.34332634918340893
+1.1993204462775153,-0.27087958429679176
+-0.3730489021020842,0.8298695895437589
+0.261810281656831,1.5810288679509332
+-0.22868845169086371,0.349238952772409
+-0.10094253083545235,-0.2865327472288445
+-0.5759159567736906,-0.2810373699675901
+-0.8039610959141366,0.0987261432169288
+-0.8999566926769386,0.7071767077318389
+-0.21892977826270238,1.8713526564631866
+-0.5993982870163641,-0.1578365363901585
+-0.31639714741313085,-0.019498703683823115
+1.6471631682000358,-1.026470285621761
+0.28822172027199594,-0.27107895286556316
+1.5384775449464554,-1.7570457848185441
+-0.4281577747457384,1.0686467301895222
+1.5228849546919634,-0.5540017195212887
+0.05159102068194554,1.9664602245686345
+0.8477620470824905,-0.48876419211750344
+-0.5290968658477423,0.030501871848537532
+-0.3929368660623921,0.13391964220866337
+0.5353105387312002,-0.3935739316086715
+0.8440937385683389,1.5801050067889224
+-0.7596937136716191,0.8944443008495592
+-0.8795772325528073,0.35625220178343575
+-0.10176980829248339,0.32116856082651485
+1.4380288009698459,-0.6237688103321901
+-0.01951383704818832,0.7709980422650266
+-0.5470269393136694,0.9799146571607531
+0.2917939077272128,0.14606158387242396
+-0.6161680018722998,0.5814102389134684
+1.1993204462775153,-0.27087958429679176
+-0.3730489021020842,0.8298695895437589
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+-0.5759159567736906,-0.2810373699675901
+-0.3694134548307399,-0.049258371816703936
+0.6695797878287328,-0.36255688491572213
+-0.21892977826270238,1.8713526564631866
+0.7614038056377503,-0.4292522243865242
+-0.31639714741313085,-0.019498703683823115
+-0.8997041776080947,1.2442275916151184
+0.1715517448776337,0.670949213179735
+1.5384775449464554,-1.7570457848185441
+-0.5910668337580279,-0.6940822061870711
+0.4313967231200908,-0.05739775816855042
+0.05159102068194554,1.9664602245686345
+0.8477620470824905,-0.48876419211750344
+-0.5290968658477423,0.030501871848537532
+1.6425478858062454,-2.0162944634567204
+0.5353105387312002,-0.3935739316086715
+1.1489532592098786,0.8243023055024981
+-0.7596937136716191,0.8944443008495592
+1.2300549895320645,-0.015243793681924023
+-0.5396198639898508,0.3790551017242315
+0.3287852833682121,-0.5956951007401345
+0.08002478965290313,1.9236774121907174
+0.5663984021935138,-0.4496151037032069
+0.2917939077272128,0.14606158387242396
+-0.4297222986561715,0.2737472773698435
+1.1993204462775153,-0.27087958429679176
+0.7422275337958637,0.9457503329775913
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+-0.5759159567736906,-0.2810373699675901
+0.33393557641085053,-0.37083226903966404
+-0.02116040629015875,1.5984825205798598
+-0.21892977826270238,1.8713526564631866
+0.948447524348025,1.1193174806323487
+-0.31639714741313085,-0.019498703683823115
+-0.8997041776080947,1.2442275916151184
+0.21653335642989302,0.31237746409223976
+1.5384775449464554,-1.7570457848185441
+0.41755724172755815,1.0169102994438568
+-0.5259301205537434,-0.13470221680694267
+0.05159102068194554,1.9664602245686345
+0.0781841335207025,2.095133861089093
+0.5174310646740266,-0.260876113685576
+1.6425478858062454,-2.0162944634567204
+0.25255984912903007,1.8282621584300818
+1.1489532592098786,0.8243023055024981
+-0.8293353637620688,-0.5750826862827872
+1.2300549895320645,-0.015243793681924023
+-0.0022868814807255333,2.0808478944563644
+0.15145793980117683,-0.509290650183855
+-0.3770045807032038,0.13035774886123594
+0.589163377576227,1.6369267706557498
+1.4884245964806118,-0.18111201909283348
+-0.4297222986561715,0.2737472773698435
+0.24172068792019796,1.515800280933223
+1.7045326750122758,-1.8283924948622488
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+0.84443782984847,-0.8630051892768013
+0.33393557641085053,-0.37083226903966404
+0.20954129461085658,0.32407296456553675
+-0.21892977826270238,1.8713526564631866
+-0.472629850625842,0.8018864443356745
+-0.31639714741313085,-0.019498703683823115
+-0.8997041776080947,1.2442275916151184
+0.21653335642989302,0.31237746409223976
+1.5384775449464554,-1.7570457848185441
+0.6652890507216495,1.8532702820582538
+-0.5259301205537434,-0.13470221680694267
+0.8224430848429866,1.48607416770788
+0.0781841335207025,2.095133861089093
+0.5174310646740266,-0.260876113685576
+0.3850173165394105,1.5361046149189672
+0.2795840772676531,1.9129425281420878
+-0.18521119199870345,1.5952710183701264
+-0.8293353637620688,-0.5750826862827872
+1.2300549895320645,-0.015243793681924023
+-0.0022868814807255333,2.0808478944563644
+0.15145793980117683,-0.509290650183855
+-0.3770045807032038,0.13035774886123594
+0.589163377576227,1.6369267706557498
+-0.48678394068405134,0.5724008247519365
+-0.13206692097265407,1.1120887574206453
+-0.04128588954611545,0.8367747891234941
+1.7045326750122758,-1.8283924948622488
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+0.84443782984847,-0.8630051892768013
+-0.536474630365175,0.7240091769968121
+-0.26351067617155843,-0.27303575231088495
+-0.21892977826270238,1.8713526564631866
+-0.472629850625842,0.8018864443356745
+1.4997608507519966,-1.679669873046991
+0.6767502888856702,-0.052161702771608365
+0.5750926588227462,-0.8578837687004583
+1.5384775449464554,-1.7570457848185441
+0.9360235422212395,-1.246078133177251
+0.19664801134086402,-0.2653980898566511
+-0.1889621307196945,-0.053165623532791306
+0.0781841335207025,2.095133861089093
+1.2598539185018165,-0.9810548424434313
+0.3850173165394105,1.5361046149189672
+-0.7052616517068275,-0.06027005881053582
+-0.18521119199870345,1.5952710183701264
+0.2987138347553349,-0.6012684101994934
+1.2300549895320645,-0.015243793681924023
+-0.0022868814807255333,2.0808478944563644
+-0.6755810912453613,0.6801629671218461
+-0.3770045807032038,0.13035774886123594
+0.589163377576227,1.6369267706557498
+-0.48678394068405134,0.5724008247519365
+-0.3462966019608895,0.6869343770444246
+-0.1446863788874025,0.42199975865961753
+-0.5516990919887683,-0.04662486116410458
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+0.84443782984847,-0.8630051892768013
+1.2907922974856718,-0.4010438337064963
+0.6676158973697679,1.5959443348649205
+-0.21892977826270238,1.8713526564631866
+1.030663610675854,-0.3152327600846656
+-0.15333293811235166,1.754062698663659
+0.6767502888856702,-0.052161702771608365
+0.5750926588227462,-0.8578837687004583
+1.5384775449464554,-1.7570457848185441
+0.9360235422212395,-1.246078133177251
+0.19664801134086402,-0.2653980898566511
+-0.1889621307196945,-0.053165623532791306
+0.0781841335207025,2.095133861089093
+1.2598539185018165,-0.9810548424434313
+0.3850173165394105,1.5361046149189672
+-0.7052616517068275,-0.06027005881053582
+-0.18521119199870345,1.5952710183701264
+-0.44274923737934996,-0.4338631426677932
+1.2300549895320645,-0.015243793681924023
+-0.0022868814807255333,2.0808478944563644
+-0.6755810912453613,0.6801629671218461
+0.15260601135433982,1.7525326475903287
+0.589163377576227,1.6369267706557498
+-0.48678394068405134,0.5724008247519365
+0.23443176562980259,0.4310008019529524
+-0.43415131961866416,-0.5713831949748507
+-0.5516990919887683,-0.04662486116410458
+0.2132059147996324,1.98191881448954
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+-0.5530542790374176,0.7764282147786166
+1.2907922974856718,-0.4010438337064963
+-0.02972494959857816,0.6999970924591906
+-0.2749140155396069,1.933888894091801
+1.030663610675854,-0.3152327600846656
+-0.15333293811235166,1.754062698663659
+0.6767502888856702,-0.052161702771608365
+-0.2776244072384581,1.6448509407708618
+0.5528945168042158,1.846683300058006
+0.9360235422212395,-1.246078133177251
+-0.1977190595754653,2.0792870453011973
+-0.1889621307196945,-0.053165623532791306
+0.0781841335207025,2.095133861089093
+1.2598539185018165,-0.9810548424434313
+0.3850173165394105,1.5361046149189672
+-0.7052616517068275,-0.06027005881053582
+-0.18521119199870345,1.5952710183701264
+0.8969010168074507,1.4594942696354458
+0.179775025722132,-0.09055832351701298
+-0.0022868814807255333,2.0808478944563644
+0.5123696577666177,-0.7483415294476928
+0.15260601135433982,1.7525326475903287
+0.10952943444907001,-0.2696225915818789
+-0.48678394068405134,0.5724008247519365
+0.33471624144518786,1.3155304461239072
+0.618351259451056,0.49465701720334787
+-0.4985186070277551,0.1409549792764937
+-0.2726968008118097,0.6676697029995163
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+-0.5530542790374176,0.7764282147786166
+0.13150444966595304,1.074218320349781
+0.5252756312256018,0.31103634231047084
+-0.9076951891510696,0.4237179830432455
+-0.6301884089361598,1.0994943814447455
+-0.15333293811235166,1.754062698663659
+-0.07456962432357524,1.2447430917814006
+0.11628756394782473,1.478703617811267
+0.5528945168042158,1.846683300058006
+-0.9193602658925926,0.18236728070704888
+0.3442462751089216,-0.2375310170066267
+-0.31854350022313077,0.3496839754915526
+0.0781841335207025,2.095133861089093
+1.2598539185018165,-0.9810548424434313
+-0.28488960460379964,0.49948040289580103
+-0.7052616517068275,-0.06027005881053582
+-0.01138743957119659,2.2114568967896218
+0.8969010168074507,1.4594942696354458
+0.39664888865636916,0.7804218034703525
+-0.6196564600787794,1.165246051931652
+0.5123696577666177,-0.7483415294476928
+0.15260601135433982,1.7525326475903287
+0.10952943444907001,-0.2696225915818789
+1.1553688979119943,0.35804997441551056
+-0.18857900972298738,0.13950875583656974
+0.19357112334628548,1.9159043075285114
+-0.4985186070277551,0.1409549792764937
+-0.2726968008118097,0.6676697029995163
+0.7990404429990294,1.4140133898835212
+1.505441043619403,-1.7499694728877406
+-0.5530542790374176,0.7764282147786166
+-0.1881705219942627,-0.00445120877349503
+-0.45567050206334886,1.4275260691762237
+-0.9076951891510696,0.4237179830432455
+-0.6301884089361598,1.0994943814447455
+0.3596699988141616,0.6462173095239648
+0.35306369676882254,2.0582829032996006
+0.11628756394782473,1.478703617811267
+1.4421969838771622,-0.6196894877464278
+1.0642911198615335,-0.17613823650352423
+0.035592970593008644,-0.14215041979332943
+-0.31854350022313077,0.3496839754915526
+0.0781841335207025,2.095133861089093
+1.2598539185018165,-0.9810548424434313
+-0.29809053160463317,0.8239393574850146
+-0.7052616517068275,-0.06027005881053582
+-0.01138743957119659,2.2114568967896218
+1.4734967395181486,-1.2035627927968309
+0.39664888865636916,0.7804218034703525
+-0.6196564600787794,1.165246051931652
+-0.6272231572525881,-0.0008374437732196205
+0.06331711401156498,0.15845757367929936
+0.47630276800195104,-0.07781675312876454
+1.1553688979119943,0.35804997441551056
+0.21467657185282893,0.990198333048653
+-0.6355024531666861,-0.27930574628529703
+-0.4985186070277551,0.1409549792764937
+0.4084891903827357,1.4904711657372811
+0.6822869996231338,-0.7705206989863075
+1.505441043619403,-1.7499694728877406
+-0.4421510734859663,0.24914027813516304
+-0.1881705219942627,-0.00445120877349503
+-0.45567050206334886,1.4275260691762237
+-0.24031016442363545,-0.2693025788008178
+-0.6301884089361598,1.0994943814447455
+0.8308687676885287,-0.06608925768523721
+0.35306369676882254,2.0582829032996006
+0.11628756394782473,1.478703617811267
+1.4421969838771622,-0.6196894877464278
+1.0642911198615335,-0.17613823650352423
+-0.7358503224996833,1.6477855267070283
+-0.31854350022313077,0.3496839754915526
+-0.8706017520377549,0.7800583244340903
+1.2598539185018165,-0.9810548424434313
+0.04770380431956234,1.1905839008881394
+-0.7052616517068275,-0.06027005881053582
+-0.01138743957119659,2.2114568967896218
+1.4734967395181486,-1.2035627927968309
+0.39664888865636916,0.7804218034703525
+0.351454169610907,0.7594787135626051
+-0.6272231572525881,-0.0008374437732196205
+0.06331711401156498,0.15845757367929936
+1.1837122443596546,-0.1257349425110661
+1.1553688979119943,0.35804997441551056
+0.2638709679236697,-0.25260096705049895
+-0.6355024531666861,-0.27930574628529703
+1.453367920790972,-0.7500478273969496
+0.4084891903827357,1.4904711657372811
+0.6822869996231338,-0.7705206989863075
+-0.23690420148018215,0.6472278513526137
+1.0285365445044918,-1.0295900456257392
+0.9456606300032014,0.5674571885801132
+-0.45567050206334886,1.4275260691762237
+-0.9784006960387471,0.38749037136137887
+1.1103539067287258,0.7780658838537198
+0.10281521280904626,-0.4033823106803808
+0.963161294920728,0.46774003461998664
+0.11628756394782473,1.478703617811267
+1.069626190932353,0.0667162408597235
+1.0642911198615335,-0.17613823650352423
+1.0422425144411758,-0.5690070327100695
+-0.31854350022313077,0.3496839754915526
+0.3932488304654058,-0.02830149226705536
+0.9211815422263359,-0.766694331471013
+-0.5628043215374543,1.1798886981995924
+-0.7052616517068275,-0.06027005881053582
+-0.01138743957119659,2.2114568967896218
+1.5183683100514709,-1.3494295653155493
+1.3832813904363008,-0.4025676871263226
+0.3894348700346435,0.21392211423225194
+-0.6272231572525881,-0.0008374437732196205
+0.06331711401156498,0.15845757367929936
+-0.68309187167379,-0.12351490839084629
+-0.12113342667124369,0.2674024038580934
+0.2638709679236697,-0.25260096705049895
+-0.6355024531666861,-0.27930574628529703
+-0.4159230689378024,0.4958851775586625
+-0.0794140854266497,2.490681709067074
+0.6822869996231338,-0.7705206989863075
+-0.074841891510764,0.5150330230417928
+1.0285365445044918,-1.0295900456257392
+0.9456606300032014,0.5674571885801132
+-0.45567050206334886,1.4275260691762237
+-1.2073903580157372,0.08002669621020206
+1.1103539067287258,0.7780658838537198
+0.10281521280904626,-0.4033823106803808
+0.963161294920728,0.46774003461998664
+0.11628756394782473,1.478703617811267
+1.069626190932353,0.0667162408597235
+1.0642911198615335,-0.17613823650352423
+1.0422425144411758,-0.5690070327100695
+-0.24165816381070637,0.6233289564386751
+0.3932488304654058,-0.02830149226705536
+0.9211815422263359,-0.766694331471013
+-0.5628043215374543,1.1798886981995924
+-0.7052616517068275,-0.06027005881053582
+-0.01138743957119659,2.2114568967896218
+1.5183683100514709,-1.3494295653155493
+0.05267969256994423,0.013388197573154459
+-0.4638628048697925,0.5188424653888748
+-0.6272231572525881,-0.0008374437732196205
+0.019503078297155363,0.1860924686669314
+-0.68309187167379,-0.12351490839084629
+-0.6970988082988421,-0.24271096987926716
+0.2638709679236697,-0.25260096705049895
+1.0994327209981263,-0.5221210133407771
+-0.36365551245472205,-0.48009578827663746
+-0.0794140854266497,2.490681709067074
+0.6822869996231338,-0.7705206989863075
+-0.074841891510764,0.5150330230417928
+-0.014113879068140434,0.8456404714847991
+0.7486492160356533,-0.4246046869896805
+-0.45567050206334886,1.4275260691762237
+-0.13094378774875362,0.16160291595049725
+-0.05408440137432735,-0.10923358929315666
+0.9207057415627968,-0.8610492467278266
+-0.09689057786915269,2.3196777562125157
+0.11628756394782473,1.478703617811267
+0.6966961419823828,0.4518483039647095
+1.2078943438890308,0.6977016881462431
+1.0422425144411758,-0.5690070327100695
+0.2795967648943421,0.6904153451875621
+0.47167384853034183,-0.005514182647034183
+1.103070973147871,0.2966215702654392
+1.2998088140336448,-1.1836570203204144
+-0.7052616517068275,-0.06027005881053582
+-0.256832740358897,0.1887458615209618
+1.5183683100514709,-1.3494295653155493
+0.05267969256994423,0.013388197573154459
+-0.096872950100673,1.732840828069146
+-0.6272231572525881,-0.0008374437732196205
+0.6702411911952887,-0.3275025446494712
+1.0970708374560072,0.8203754219725065
+-0.6970988082988421,-0.24271096987926716
+0.2638709679236697,-0.25260096705049895
+1.0994327209981263,-0.5221210133407771
+-0.36365551245472205,-0.48009578827663746
+-0.0794140854266497,2.490681709067074
+1.1217099894874711,-0.7052659671988344
+1.277578921942807,-0.0012366246003737702
+-0.7388694498091768,1.6494919996497415
+0.7486492160356533,-0.4246046869896805
+-0.38688726088457515,1.6623492884315878
+-0.7587069890744722,0.09463182238672221
+-0.05408440137432735,-0.10923358929315666
+-0.14774771595557568,1.2889408502249957
+-0.09689057786915269,2.3196777562125157
+1.2297614211376848,0.019235918369437055
+-0.1347977724513174,1.2886970316496777
+1.2078943438890308,0.6977016881462431
+1.0422425144411758,-0.5690070327100695
+-0.4486922911819146,1.4259354149535661
+0.47167384853034183,-0.005514182647034183
+-0.1702438276285873,1.8816678263727218
+1.2998088140336448,-1.1836570203204144
+-0.464150708464649,0.29744094505051166
+-0.256832740358897,0.1887458615209618
+-0.9014466688486602,-0.07735129351156356
+0.05267969256994423,0.013388197573154459
+-0.1586683113997674,1.1865511446924968
+-0.6272231572525881,-0.0008374437732196205
+0.6702411911952887,-0.3275025446494712
+1.0970708374560072,0.8203754219725065
+-0.6970988082988421,-0.24271096987926716
+0.2638709679236697,-0.25260096705049895
+1.0994327209981263,-0.5221210133407771
+-0.5024069919831937,-0.2809460513756151
+-0.0794140854266497,2.490681709067074
+0.28147325853486277,0.4353873131883791
+1.277578921942807,-0.0012366246003737702
+-0.7388694498091768,1.6494919996497415
+1.4992006377264948,-0.8432603932060312
+-0.38688726088457515,1.6623492884315878
+-0.7587069890744722,0.09463182238672221
+-0.05408440137432735,-0.10923358929315666
+0.07284557796194557,0.727504459239762
+-1.061065735636507,-0.2739257993747184
+1.2297614211376848,0.019235918369437055
+1.034587783432058,0.9986787303067776
+1.2078943438890308,0.6977016881462431
+-0.2690489241387751,1.9195431808276868
+-0.4486922911819146,1.4259354149535661
+-0.35749263572641765,0.2033861579997831
+-0.5183312572017341,1.9304218349612707
+1.2998088140336448,-1.1836570203204144
+-0.464150708464649,0.29744094505051166
+-0.681965535005304,0.38204718689256734
+0.7283482006559283,0.9917268905387563
+1.0260777113989898,-0.13014610685144556
+0.01585031379097579,-0.22664669290282896
+-0.5588087603644326,-0.053440761294585803
+0.6702411911952887,-0.3275025446494712
+0.2623651817054151,-0.24648786143116588
+0.534028209238911,-0.7678346038877518
+1.2199574686647947,0.3371805659248868
+-0.7000973668160424,0.3234117914468645
+-0.5024069919831937,-0.2809460513756151
+-0.13322547360719378,0.26212998802987725
+0.28147325853486277,0.4353873131883791
+1.277578921942807,-0.0012366246003737702
+0.33420070761649634,-0.5068590490776362
+1.4992006377264948,-0.8432603932060312
+-0.38688726088457515,1.6623492884315878
+-0.7587069890744722,0.09463182238672221
+-0.0351829441183672,1.8325289445854414
+1.2962314350643276,-0.2974350156731337
+-1.061065735636507,-0.2739257993747184
+0.23842660215801043,1.6131238419109855
+0.6148946297458329,-0.368281370453284
+0.8429677837377515,1.1206401104822108
+-0.2690489241387751,1.9195431808276868
+0.9515521272728624,1.1965261479593874
+-0.35749263572641765,0.2033861579997831
+-0.5183312572017341,1.9304218349612707
+1.2998088140336448,-1.1836570203204144
+-0.11341254027315635,0.22259437268183402
+0.9112938172959529,0.24256883499585372
+-0.30748597057575655,0.178688116853695
+0.6813923807433948,0.26193560633272517
+0.01585031379097579,-0.22664669290282896
+-0.5588087603644326,-0.053440761294585803
+0.49917909836508434,0.31080323800013043
+0.9535900759614238,0.576257720648619
+0.7912821464797538,0.754673183958006
+1.2199574686647947,0.3371805659248868
+0.026082869302141654,0.3294741236160654
+-0.5024069919831937,-0.2809460513756151
+1.3605932367848674,-0.9476528288947614
+0.28147325853486277,0.4353873131883791
+1.277578921942807,-0.0012366246003737702
+-0.7277606234009797,1.4172205598469505
+1.4992006377264948,-0.8432603932060312
+-0.38688726088457515,1.6623492884315878
+1.4118405994835248,-0.8001902675326229
+-0.0351829441183672,1.8325289445854414
+0.23853414803349626,1.8521512781643958
+-1.061065735636507,-0.2739257993747184
+0.23842660215801043,1.6131238419109855
+-0.9040561724540381,0.7447412262852691
+0.8429677837377515,1.1206401104822108
+-0.2690489241387751,1.9195431808276868
+0.9515521272728624,1.1965261479593874
+1.2396374381305866,0.6017004598766014
+-0.5183312572017341,1.9304218349612707
+1.2998088140336448,-1.1836570203204144
+-0.11341254027315635,0.22259437268183402
+-0.3021216766611312,0.9495544211562037
+-0.30748597057575655,0.178688116853695
+0.6813923807433948,0.26193560633272517
+0.13553519384538978,0.7273350212500309
+-0.5588087603644326,-0.053440761294585803
+0.49917909836508434,0.31080323800013043
+-0.288934636732601,-0.24621201349462368
+0.7912821464797538,0.754673183958006
+1.2199574686647947,0.3371805659248868
+0.026082869302141654,0.3294741236160654
+-0.5024069919831937,-0.2809460513756151
+1.3605932367848674,-0.9476528288947614
+1.3266822998839674,-0.33008953664610974
+1.277578921942807,-0.0012366246003737702
+0.6857026395120291,-0.1935049074629694
+1.4992006377264948,-0.8432603932060312
+-0.38688726088457515,1.6623492884315878
+1.4118405994835248,-0.8001902675326229
+-0.0351829441183672,1.8325289445854414
+0.23853414803349626,1.8521512781643958
+-1.061065735636507,-0.2739257993747184
+0.23842660215801043,1.6131238419109855
+-0.9040561724540381,0.7447412262852691
+0.8429677837377515,1.1206401104822108
+-0.2690489241387751,1.9195431808276868
+1.243651721276692,-0.446231156642489
+0.0760069069348898,0.5522351585141352
+0.6716960587025582,-0.649485184753738
+0.7927939302295899,-0.6623925667091949
+-0.11341254027315635,0.22259437268183402
+1.184421888142956,-1.2268955526405998
+-0.6778755944799104,1.7540659483774388
+-0.5768566280625207,1.8404511423487675
+0.13553519384538978,0.7273350212500309
+-0.5588087603644326,-0.053440761294585803
+0.4283491597609513,-0.6561779993588172
+-0.288934636732601,-0.24621201349462368
+0.7912821464797538,0.754673183958006
+1.6558828750970316,-1.6172056783879571
+0.34368173903549903,0.07186713451213753
+-0.5024069919831937,-0.2809460513756151
+0.17722403625307942,-0.10233546716676556
+-0.09099674911713973,0.6345304532400998
+1.277578921942807,-0.0012366246003737702
+-0.4355235397518692,1.5904835681458924
+1.4992006377264948,-0.8432603932060312
+-0.6534788663032043,0.9693894084669591
+1.4118405994835248,-0.8001902675326229
+0.3814538001465433,0.9040687995441095
+0.23853414803349626,1.8521512781643958
+-1.061065735636507,-0.2739257993747184
+0.23842660215801043,1.6131238419109855
+-0.9040561724540381,0.7447412262852691
+0.8429677837377515,1.1206401104822108
+0.8501387624586837,-0.4779945056930742
+1.1518831243574836,-0.8299107952091689
+0.7538407302842361,0.5101592566489159
+0.6716960587025582,-0.649485184753738
+0.31494206185381335,1.7635490278650572
+-0.11341254027315635,0.22259437268183402
+1.184421888142956,-1.2268955526405998
+0.5105889667402984,0.5323870284327992
+0.31023106341175444,1.9128633698608648
+-0.7178837631328585,1.5714839416562425
+-0.5588087603644326,-0.053440761294585803
+0.4283491597609513,-0.6561779993588172
+-0.4268621479661151,1.2787639604869245
+1.0314309880545465,-0.10736610495154819
+1.6558828750970316,-1.6172056783879571
+0.34368173903549903,0.07186713451213753
+-0.5024069919831937,-0.2809460513756151
+0.17722403625307942,-0.10233546716676556
+-0.09099674911713973,0.6345304532400998
+1.277578921942807,-0.0012366246003737702
+-0.4355235397518692,1.5904835681458924
+1.4992006377264948,-0.8432603932060312
+-0.6534788663032043,0.9693894084669591
+1.4652610592119917,-1.2144324079450026
+0.8709351920376124,-0.9796138903858704
+-0.31838903628577386,-0.006201530964469293
+-1.061065735636507,-0.2739257993747184
+0.23842660215801043,1.6131238419109855
+1.2683592386919977,-1.4667758544424292
+0.8429677837377515,1.1206401104822108
+0.8501387624586837,-0.4779945056930742
+1.1518831243574836,-0.8299107952091689
+0.6555289552270965,-0.4785783259739109
+-0.14810271178865092,1.2314998975349285
+0.9546642310310054,1.0933216855349421
+1.3477893645763817,-1.685319837254551
+1.184421888142956,-1.2268955526405998
+0.5105889667402984,0.5323870284327992
+0.31023106341175444,1.9128633698608648
+0.3745875933536883,1.328389736943573
+-0.5588087603644326,-0.053440761294585803
+0.7543670259659802,-0.7671761091954972
+-0.4268621479661151,1.2787639604869245
+1.6270910734732535,-0.8464706678088371
+1.6558828750970316,-1.6172056783879571
+0.34368173903549903,0.07186713451213753
+-0.5024069919831937,-0.2809460513756151
+0.8942951589489603,-1.108259145673864
+-0.6191911166328926,1.1600465203370596
+0.2068296207193575,1.6132606712711604
+-0.4355235397518692,1.5904835681458924
+-0.8551523154233767,0.23228279356337656
+-0.15621771575698376,1.1493679903577672
+1.4652610592119917,-1.2144324079450026
+-0.4559425984850138,1.7612220789599469
+-0.31838903628577386,-0.006201530964469293
+1.2442729651887334,-0.05350612198919835
+0.23842660215801043,1.6131238419109855
+-0.4987212219106947,-0.2293859301423337
+0.13056216306354995,-0.08241763721229156
+1.7061576441267436,-2.0927144443100962
+1.1518831243574836,-0.8299107952091689
+0.6555289552270965,-0.4785783259739109
+-0.7701790338778953,1.4016978089125183
+1.064649073490998,0.3440943857570494
+1.8200903072654004,-2.163359963116161
+1.8924304472723834,-3.0559721022104895
+0.5105889667402984,0.5323870284327992
+-0.5566343343004156,0.9626033129114456
+0.3745875933536883,1.328389736943573
+-0.5588087603644326,-0.053440761294585803
+0.7543670259659802,-0.7671761091954972
+-0.4268621479661151,1.2787639604869245
+1.6270910734732535,-0.8464706678088371
+1.6558828750970316,-1.6172056783879571
+0.34368173903549903,0.07186713451213753
+-0.5024069919831937,-0.2809460513756151
+1.176262615665156,-0.6061348352795299
+-0.6191911166328926,1.1600465203370596
+-0.8174480509904993,0.7878320873913511
+-0.4355235397518692,1.5904835681458924
+-0.19837099057866192,0.07516825788672354
+-0.15621771575698376,1.1493679903577672
+-0.5418803080270742,0.5194767945233726
+-0.4559425984850138,1.7612220789599469
+-0.31838903628577386,-0.006201530964469293
+1.2442729651887334,-0.05350612198919835
+0.23842660215801043,1.6131238419109855
+0.5891967703764167,-0.5486875013400057
+0.13056216306354995,-0.08241763721229156
+1.7061576441267436,-2.0927144443100962
+-0.59020274265602,0.5596598475350836
+0.6225489436712127,1.6436373766192836
+0.22141071142808777,0.8179649731139131
+-0.3257822685478379,-0.3042571330844961
+0.9789670774005185,0.6085221584752165
+1.8924304472723834,-3.0559721022104895
+0.5105889667402984,0.5323870284327992
+-0.5566343343004156,0.9626033129114456
+-0.5961182443042512,0.4147138890318565
+0.9998714216482726,-0.9526775339664231
+0.5662967879271156,0.2994668860753633
+0.9267603431696982,0.5901920633026977
+1.6270910734732535,-0.8464706678088371
+1.6558828750970316,-1.6172056783879571
+-0.7607363323387645,0.3820225171499263
+-0.5024069919831937,-0.2809460513756151
+0.5178631150747728,-0.7601270625123852
+-0.6892986654396758,0.4553947432762202
+-0.5783526974028377,0.7153404412320509
+-0.4355235397518692,1.5904835681458924
+0.6050237662579261,-0.34185211463095444
+0.4138940776070549,-0.632750420753214
+1.2221706405449893,-1.3722050733152518
+-0.4559425984850138,1.7612220789599469
+-0.970080232309711,0.45199526322388084
+1.2926688081262094,-1.2065512282932627
+0.6883577213393358,1.6236182345760064
+-1.1467078210693047,-0.23731432287327486
+1.7069213675603687,-2.2309503481590336
+1.7061576441267436,-2.0927144443100962
+-0.59020274265602,0.5596598475350836
+0.6225489436712127,1.6436373766192836
+0.80490522983906,-0.43725078782321636
+-0.3257822685478379,-0.3042571330844961
+0.9789670774005185,0.6085221584752165
+0.8237699787975341,-0.2915296766995779
+0.5105889667402984,0.5323870284327992
+-0.5566343343004156,0.9626033129114456
+-0.9208370887297042,0.013077969620158614
+0.8572706586744072,-0.12641630448801533
+0.5662967879271156,0.2994668860753633
+0.8044906238731642,1.627483407021994
+1.506112370351351,-2.4992482592954604
+0.6557375874139295,-0.9982278501848493
+1.0853022920999964,-0.6141612487716089
+-0.5024069919831937,-0.2809460513756151
+-0.5170345092687011,1.83011703201514
+-0.6892986654396758,0.4553947432762202
+0.5935263858070344,1.5353689598134193
+-0.4355235397518692,1.5904835681458924
+-0.6398540340765699,1.1539286044926969
+-0.5399472175987775,1.5906458832981234
+0.3275854401666706,1.7047580761338803
+0.9235415056198805,-0.9954382235984673
+-0.970080232309711,0.45199526322388084
+-0.3415491581484177,0.2950780143604931
+0.6883577213393358,1.6236182345760064
+0.6334637616524759,-0.6165032423053668
+1.7069213675603687,-2.2309503481590336
+-0.48206197296317665,0.48506933310728517
+-0.9548662909718506,-0.43987402550324484
+0.6225489436712127,1.6436373766192836
+0.80490522983906,-0.43725078782321636
+0.20974946650885362,-0.13900754528790987
+0.9789670774005185,0.6085221584752165
+0.8237699787975341,-0.2915296766995779
+1.3901582472795,-0.8981544201780869
+0.39171976045184886,-0.5416316952927855
+0.01378981028308357,0.15650108006401453
+-0.6121553897551816,0.12239396520105983
+0.11893999515214485,1.878417380420022
+-0.31108750635701615,-0.21725677855175873
+1.506112370351351,-2.4992482592954604
+-0.5930890984668733,1.7882149183018252
+1.0853022920999964,-0.6141612487716089
+-0.5024069919831937,-0.2809460513756151
+-0.6014785500457883,0.4954064809491132
+-0.6892986654396758,0.4553947432762202
+1.7828335499986014,-2.1383912538353287
+-0.4355235397518692,1.5904835681458924
+1.5143514148403172,-2.0805093309786113
+-0.5399472175987775,1.5906458832981234
+0.8847305614928354,1.1977252640466096
+0.9235415056198805,-0.9954382235984673
+-0.970080232309711,0.45199526322388084
+0.1824716631465546,1.0116314366252217
+0.6883577213393358,1.6236182345760064
+0.6334637616524759,-0.6165032423053668
+1.7069213675603687,-2.2309503481590336
+0.2627606335415573,1.615599345569081
+-0.9548662909718506,-0.43987402550324484
+0.6225489436712127,1.6436373766192836
+0.7740678243691812,0.08694257788261577
+0.20974946650885362,-0.13900754528790987
+0.9789670774005185,0.6085221584752165
+0.8237699787975341,-0.2915296766995779
+1.3901582472795,-0.8981544201780869
+0.11178356540427126,0.34441237995432405
+0.29132906378442436,1.5671478745654868
+-0.6121553897551816,0.12239396520105983
+1.7454853481427317,-2.6335441120883982
+1.5553762602038517,-1.8466149175560438
+0.37974295160235405,-0.01493700266141651
+-0.5930890984668733,1.7882149183018252
+1.529820964392926,-1.8775511177495008
+-0.7258656336539678,1.278519043865516
+-0.6014785500457883,0.4954064809491132
+0.43355112655500777,2.2482620325469402
+0.4886092915501026,-0.08401232459891539
+0.3560054323141397,-0.7320786076137555
+1.5143514148403172,-2.0805093309786113
+-0.9802279005603818,0.5986802600670428
+0.8847305614928354,1.1977252640466096
+0.5223735984934943,-0.5865629884008949
+0.1667497171702303,0.32396497814666997
+0.49980148182735384,1.5199756040384085
+0.539813738277357,-0.7528305170799647
+0.6334637616524759,-0.6165032423053668
+-0.1200729538362304,1.413700346233091
+0.2627606335415573,1.615599345569081
+-0.9548662909718506,-0.43987402550324484
+0.6225489436712127,1.6436373766192836
+-0.9211473765238931,0.5347564411488714
+0.20974946650885362,-0.13900754528790987
+0.9789670774005185,0.6085221584752165
+0.6949661154047044,-0.5097609640071791
+-0.06742749100660062,0.13690267479253904
+0.11178356540427126,0.34441237995432405
+0.11357566919257656,0.04260060731257598
+1.209749647077314,0.2688968450347097
+1.7454853481427317,-2.6335441120883982
+-0.4755956461172199,0.3193047131515804
+0.37974295160235405,-0.01493700266141651
+-0.5930890984668733,1.7882149183018252
+1.529820964392926,-1.8775511177495008
+-0.7258656336539678,1.278519043865516
+-0.6014785500457883,0.4954064809491132
+1.0090478192568613,0.10681533699814394
+0.4886092915501026,-0.08401232459891539
+0.3560054323141397,-0.7320786076137555
+1.5139405121788954,-0.8625608080098071
+-0.9802279005603818,0.5986802600670428
+0.8847305614928354,1.1977252640466096
+0.5223735984934943,-0.5865629884008949
+0.1667497171702303,0.32396497814666997
+0.49980148182735384,1.5199756040384085
+1.3541650262459437,-0.5014828899353811
+0.6334637616524759,-0.6165032423053668
+0.6818337289610641,1.64559471173881
+0.2627606335415573,1.615599345569081
+0.5092480462945129,1.687876722097455
+0.9202725476859264,-1.041887812853593
+-0.9211473765238931,0.5347564411488714
+0.17390085921709458,-0.684960430767913
+0.9789670774005185,0.6085221584752165
+0.6949661154047044,-0.5097609640071791
+-0.06742749100660062,0.13690267479253904
+0.11178356540427126,0.34441237995432405
+0.39922436035353964,1.991531044173423
+1.209749647077314,0.2688968450347097
+1.7454853481427317,-2.6335441120883982
+-0.4755956461172199,0.3193047131515804
+0.37974295160235405,-0.01493700266141651
+0.7015064881728843,-0.5430813188215796
+1.529820964392926,-1.8775511177495008
+-0.6964059749974478,0.3270811268913409
+0.46525198838266807,-0.06011816062832972
+1.0090478192568613,0.10681533699814394
+0.4886092915501026,-0.08401232459891539
+0.17868418318302282,1.9909670485561768
+1.5139405121788954,-0.8625608080098071
+-0.9802279005603818,0.5986802600670428
+0.8847305614928354,1.1977252640466096
+0.9707707512348809,-0.8081259500887724
+0.1667497171702303,0.32396497814666997
+0.49980148182735384,1.5199756040384085
+1.73301783497816,-2.248794385911477
+0.6334637616524759,-0.6165032423053668
+0.6818337289610641,1.64559471173881
+0.2627606335415573,1.615599345569081
+0.20267445149305302,-0.24700968021523595
+0.9202725476859264,-1.041887812853593
+-0.9211473765238931,0.5347564411488714
+0.17390085921709458,-0.684960430767913
+0.9789670774005185,0.6085221584752165
+0.6949661154047044,-0.5097609640071791
+-0.06742749100660062,0.13690267479253904
+0.11178356540427126,0.34441237995432405
+0.39922436035353964,1.991531044173423
+1.209749647077314,0.2688968450347097
+1.7454853481427317,-2.6335441120883982
+1.3277690139287057,-1.5110595122651784
+0.4470484645937507,0.19995054366591586
+0.7015064881728843,-0.5430813188215796
+1.529820964392926,-1.8775511177495008
+-0.6964059749974478,0.3270811268913409
+0.46525198838266807,-0.06011816062832972
+1.104916239139932,-0.6776059950753903
+0.4886092915501026,-0.08401232459891539
+0.17868418318302282,1.9909670485561768
+1.5139405121788954,-0.8625608080098071
+-0.9802279005603818,0.5986802600670428
+0.8847305614928354,1.1977252640466096
+1.2253282387969033,-1.933383571622859
+0.9658374923620732,0.016805349003701897
+0.8901163834304041,0.8410698233107172
+0.950269796734813,-0.5605242132523957
+0.6334637616524759,-0.6165032423053668
+0.6818337289610641,1.64559471173881
+0.2627606335415573,1.615599345569081
+0.20267445149305302,-0.24700968021523595
+0.9202725476859264,-1.041887812853593
+-0.9112631941913786,1.0337886765231983
+0.17390085921709458,-0.684960430767913
+0.9789670774005185,0.6085221584752165
+0.6949661154047044,-0.5097609640071791
+0.6619098935332483,0.3273628351793285
+0.11178356540427126,0.34441237995432405
+0.21359638258500946,-0.21767649017412227
+1.209749647077314,0.2688968450347097
+0.2273042345691778,2.441186016067874
+1.3277690139287057,-1.5110595122651784
+0.368778921327878,-0.4213865051680329
+-0.22948835265735196,1.818262850854532
+-0.17755097282073012,-0.1622044082589459
+-0.6964059749974478,0.3270811268913409
+-0.06724523510795216,1.993531495105302
+1.104916239139932,-0.6776059950753903
+-0.1892933139444219,1.2526525062480243
+0.17868418318302282,1.9909670485561768
+1.5139405121788954,-0.8625608080098071
+0.43062086481049966,1.8324363829839991
+0.8847305614928354,1.1977252640466096
+0.8041948982880465,0.3689512528899671
+-0.4260672525760308,0.5908435027903128
+0.7905006198595411,1.5527496360268722
+0.950269796734813,-0.5605242132523957
+-0.7373956494604859,0.6298245827911608
+-0.5710885460021717,0.9548323801789771
+0.2627606335415573,1.615599345569081
+1.1664457866799494,-1.8537328760989011
+0.9202725476859264,-1.041887812853593
+-0.9112631941913786,1.0337886765231983
+0.17390085921709458,-0.684960430767913
+-0.24993341943601521,0.7666045011986798
+0.6949661154047044,-0.5097609640071791
+0.6619098935332483,0.3273628351793285
+-0.3877820360069679,0.6471233332841482
+0.21359638258500946,-0.21767649017412227
+1.209749647077314,0.2688968450347097
+0.48932865851634844,-0.03829022278036398
+1.3277690139287057,-1.5110595122651784
+1.4520458662821296,-1.1956702367127794
+-0.22948835265735196,1.818262850854532
+1.4015333041755254,-1.6242825649265704
+-0.6964059749974478,0.3270811268913409
+-0.3349896920651101,0.8806611029212112
+0.30560730182209794,0.1596730308093044
+1.3544534732313867,-0.8308096574913955
+0.17868418318302282,1.9909670485561768
+1.5139405121788954,-0.8625608080098071
+0.43062086481049966,1.8324363829839991
+0.8847305614928354,1.1977252640466096
+0.3059689174840977,1.6231750542695087
+-0.4260672525760308,0.5908435027903128
+-0.5407917118899472,1.4431745048273346
+0.950269796734813,-0.5605242132523957
+-0.7373956494604859,0.6298245827911608
+-0.24486715561502279,0.9254288658116745
+0.2627606335415573,1.615599345569081
+1.160541231516044,-0.5993659005591776
+0.9202725476859264,-1.041887812853593
+-0.9112631941913786,1.0337886765231983
+0.17390085921709458,-0.684960430767913
+-0.4832521575787937,1.47448408807294
+0.6949661154047044,-0.5097609640071791
+-1.0244663579523003,0.6213487137472392
+-0.3877820360069679,0.6471233332841482
+1.279434257631549,-0.9713309359609947
+1.209749647077314,0.2688968450347097
+0.31218193190588944,0.11572050944885245
+-0.462901300911044,1.7563154056381731
+1.4142411270175894,-1.4558832504470636
+-0.22948835265735196,1.818262850854532
+1.4015333041755254,-1.6242825649265704
+1.4040851323231016,-0.36015748728027347
+-0.3349896920651101,0.8806611029212112
+0.4501930789428613,-0.11295213000186882
+1.3544534732313867,-0.8308096574913955
+-0.9342594905402933,0.6363524976743875
+1.5139405121788954,-0.8625608080098071
+0.43062086481049966,1.8324363829839991
+0.8847305614928354,1.1977252640466096
+1.248813856841346,-1.949673293591021
+0.833719086708791,-0.48351476974453894
+-0.5407917118899472,1.4431745048273346
+0.950269796734813,-0.5605242132523957
+0.9205529108689228,-0.8726189957499824
+0.33668272639831687,2.456811725911463
+-0.3646763886312001,1.6650089295407455
+1.084016566026219,0.1930084286636422
+0.32665905842878756,0.27520528888588836
+-0.9112631941913786,1.0337886765231983
+0.17390085921709458,-0.684960430767913
+-0.4832521575787937,1.47448408807294
+0.6949661154047044,-0.5097609640071791
+-1.0244663579523003,0.6213487137472392
+-0.3877820360069679,0.6471233332841482
+1.279434257631549,-0.9713309359609947
+1.209749647077314,0.2688968450347097
+0.7611225298459171,-0.5100941825001429
+0.9111898184261522,0.7950285558680263
+1.0297536983983706,0.08418824202367614
+-0.22948835265735196,1.818262850854532
+0.15138935834404316,1.915938207141934
+0.3714734615104889,0.13062388647809675
+0.9622782113807045,-1.1174472209393365
+1.8101250344089723,-1.9325890813229079
+0.20835840820744794,0.41474331462133585
+1.9206462581343198,-2.115237719313317
+1.5139405121788954,-0.8625608080098071
+0.43062086481049966,1.8324363829839991
+0.362251269765029,0.817257840432169
+1.248813856841346,-1.949673293591021
+-0.6973177579137071,0.2571949620929661
+-0.5407917118899472,1.4431745048273346
+0.950269796734813,-0.5605242132523957
+0.9205529108689228,-0.8726189957499824
+0.33668272639831687,2.456811725911463
+1.2820152687836517,-0.5550940654568568
+1.084016566026219,0.1930084286636422
+-0.12418866371889553,2.0836359222954903
+-0.9112631941913786,1.0337886765231983
+0.24424593705662248,1.0562215540124273
+0.5736414120433626,1.4474543410502276
+0.6949661154047044,-0.5097609640071791
+-1.0244663579523003,0.6213487137472392
+-0.225179919561578,0.5549781729891623
+1.3570509733635536,-1.3497592740007234
+0.21110186266423164,1.2976358819712055
+-0.04351493425525005,1.7688299918252965
+0.764615633982157,0.05178056161293454
+0.44365206936557744,1.3361658371774987
+-0.22948835265735196,1.818262850854532
+0.15138935834404316,1.915938207141934
+0.3714734615104889,0.13062388647809675
+1.442275857844289,0.07273452751168108
+1.8101250344089723,-1.9325890813229079
+0.993178470312709,0.8065253009706093
+0.568312048643173,-0.9284978376916071
+1.5139405121788954,-0.8625608080098071
+-0.35265151080015644,1.461777165086822
+0.5467285861154743,1.7617827093942278
+-0.4338601749531385,1.7396750284044264
+-0.6973177579137071,0.2571949620929661
+1.3846589366932147,-0.3373042181603733
+1.798717766819896,-3.2407087731083433
+0.9205529108689228,-0.8726189957499824
+-1.1401782343366542,0.33462347738313053
+1.2820152687836517,-0.5550940654568568
+1.0172504215594118,-0.7942381496063444
+-0.12418866371889553,2.0836359222954903
+-0.9112631941913786,1.0337886765231983
+-1.0330109605857234,-0.0011593921530135831
+0.5736414120433626,1.4474543410502276
+0.6949661154047044,-0.5097609640071791
+0.1405496694366461,0.6445940557679688
+-0.225179919561578,0.5549781729891623
+1.3570509733635536,-1.3497592740007234
+0.21110186266423164,1.2976358819712055
+-0.04351493425525005,1.7688299918252965
+1.7228212668520548,-1.6070609394989432
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+0.15138935834404316,1.915938207141934
+-0.3606925418772957,1.8890577068214067
+0.4993107335697491,1.3726228494044488
+1.5779505065601176,-2.299092611178204
+0.993178470312709,0.8065253009706093
+1.422985178080866,-1.6811274556813085
+1.317157380977229,-0.7238409720550653
+-0.35265151080015644,1.461777165086822
+0.5467285861154743,1.7617827093942278
+-0.18313428545633526,2.132662021612408
+0.061074808584244966,1.1121147889846608
+1.3846589366932147,-0.3373042181603733
+0.38395808930382197,0.7695216404352094
+0.9205529108689228,-0.8726189957499824
+-1.1401782343366542,0.33462347738313053
+1.2820152687836517,-0.5550940654568568
+1.2501986490559924,-1.134044249304001
+0.32605452129777185,2.243724995753445
+0.960318281056638,0.5329624446210686
+-1.0330109605857234,-0.0011593921530135831
+0.5736414120433626,1.4474543410502276
+0.6949661154047044,-0.5097609640071791
+0.1405496694366461,0.6445940557679688
+-0.225179919561578,0.5549781729891623
+1.3570509733635536,-1.3497592740007234
+-0.050942173207914804,0.4411458899231341
+-0.04351493425525005,1.7688299918252965
+-0.5686038682283049,1.4634405277995886
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+0.15138935834404316,1.915938207141934
+-0.3606925418772957,1.8890577068214067
+0.4993107335697491,1.3726228494044488
+-0.6130152061639946,1.2729541152898238
+0.993178470312709,0.8065253009706093
+1.422985178080866,-1.6811274556813085
+1.317157380977229,-0.7238409720550653
+1.1821116843147723,-1.1948406297338698
+0.5467285861154743,1.7617827093942278
+-0.18313428545633526,2.132662021612408
+0.061074808584244966,1.1121147889846608
+-0.06649004827862207,0.3785485310315988
+0.007053201400834631,0.40345042626065
+0.9205529108689228,-0.8726189957499824
+-1.1401782343366542,0.33462347738313053
+1.2820152687836517,-0.5550940654568568
+-0.051331018006247585,0.8870905207401014
+0.6422207154643673,-0.8546269615151314
+0.9826862674434511,-0.7722604722176343
+-1.0330109605857234,-0.0011593921530135831
+0.5736414120433626,1.4474543410502276
+1.2142828341205736,-1.8079913184192278
+-0.22569681999837243,-0.5811731749478508
+-0.9983827794683096,0.2524409892537013
+0.6890142159451111,-0.7403985796809609
+-0.8387562466337369,0.9562583776085286
+1.6669071927856427,-1.346398210038814
+-0.5686038682283049,1.4634405277995886
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+1.5251706607039237,-1.0341198578642705
+-0.3606925418772957,1.8890577068214067
+0.4993107335697491,1.3726228494044488
+-0.6130152061639946,1.2729541152898238
+0.993178470312709,0.8065253009706093
+0.9140388586784445,-1.0059810161049287
+1.521429658064715,-2.3346791584251947
+-0.4818147359374968,0.8892110054475033
+0.5467285861154743,1.7617827093942278
+1.2200081632937612,-0.08965983999819316
+0.061074808584244966,1.1121147889846608
+0.870010843964685,-0.5600778792558925
+0.20661467231941588,-0.07743241994157657
+0.10536818070411691,-0.3625411711599307
+-0.2370962353260044,0.7687715297993125
+-0.08689941028604542,0.0798884106760348
+-0.051331018006247585,0.8870905207401014
+0.6422207154643673,-0.8546269615151314
+1.0335274124363285,-0.7007236901236475
+-1.0330109605857234,-0.0011593921530135831
+0.9708191062787479,-1.1385638075551987
+0.8272382930693011,-0.7332762619935195
+-0.22569681999837243,-0.5811731749478508
+0.6982424844947559,-0.4359765057497374
+0.6890142159451111,-0.7403985796809609
+-0.8387562466337369,0.9562583776085286
+-0.08828447410374579,1.7423274412631415
+1.6578958045214178,-1.6168163589555546
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+1.5251706607039237,-1.0341198578642705
+-0.3606925418772957,1.8890577068214067
+0.38832706107889137,-0.38111159644427706
+-0.6130152061639946,1.2729541152898238
+0.993178470312709,0.8065253009706093
+-1.020528074442769,0.7359889047418875
+1.2182992625586706,-1.2950401708339467
+0.6420742371368302,1.6618817089993008
+0.5467285861154743,1.7617827093942278
+1.6802777871890033,-2.481552545551897
+0.12124252692648063,0.14177308722270032
+0.870010843964685,-0.5600778792558925
+0.8409621347663941,-0.9544331532366002
+1.1575240055079348,-1.4672735280389977
+-0.2370962353260044,0.7687715297993125
+-0.5723800128638278,0.9511094279414398
+0.2549798883364869,0.6357480152919786
+-0.5805437009070321,1.2437067355646996
+1.0335274124363285,-0.7007236901236475
+-1.0330109605857234,-0.0011593921530135831
+1.7284875876857482,-1.553951816383472
+0.8272382930693011,-0.7332762619935195
+0.5598712152216856,-0.48710925453785325
+0.6982424844947559,-0.4359765057497374
+0.4485346364702086,-0.25849132962302557
+-0.8387562466337369,0.9562583776085286
+-0.08828447410374579,1.7423274412631415
+1.6578958045214178,-1.6168163589555546
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+-0.42849881294145437,0.6389401160277474
+0.0012716985199379138,-0.1667952741464035
+0.38832706107889137,-0.38111159644427706
+-0.10817136240333858,1.9809153432052118
+0.993178470312709,0.8065253009706093
+-0.25880761185269097,1.459181718321894
+1.4514335591916785,-1.898551760144989
+0.2766298114902189,1.6876977537058884
+0.5467285861154743,1.7617827093942278
+1.6802777871890033,-2.481552545551897
+1.340024851519484,-1.2284005776989957
+0.870010843964685,-0.5600778792558925
+0.8409621347663941,-0.9544331532366002
+1.8394072391473109,-1.6870149533405319
+-0.2370962353260044,0.7687715297993125
+0.47218205881902275,-0.21230542511919948
+0.3155761461037746,-0.1331536994014063
+-0.5805437009070321,1.2437067355646996
+1.0335274124363285,-0.7007236901236475
+-1.0330109605857234,-0.0011593921530135831
+0.8638505453525986,-0.6742823708993693
+0.5758761019617822,-0.43906318186008697
+0.1669199105604111,1.7452486570774255
+-0.5530540417064163,1.2499023111189669
+0.8359103604239093,0.28767881309436294
+0.06676949775777241,-0.024925193206543406
+-0.08828447410374579,1.7423274412631415
+1.6578958045214178,-1.6168163589555546
+1.3912194345392175,-1.9366504867574705
+-0.22948835265735196,1.818262850854532
+0.788092327615707,-0.7071875386456442
+0.0012716985199379138,-0.1667952741464035
+0.7421635026102312,-0.11127712236912368
+-0.10817136240333858,1.9809153432052118
+0.993178470312709,0.8065253009706093
+-0.25880761185269097,1.459181718321894
+1.1555375705590116,-0.9237529751870215
+-1.1741881358910242,-0.26475459666733536
+0.7922935327882227,0.2573573026734415
+1.6802777871890033,-2.481552545551897
+1.340024851519484,-1.2284005776989957
+0.870010843964685,-0.5600778792558925
+-0.4862077046798934,0.21056262010855242
+-0.7311597165166888,1.812066678816832
+-0.2370962353260044,0.7687715297993125
+0.8736931359045904,0.8966003037191956
+0.3155761461037746,-0.1331536994014063
+-0.5805437009070321,1.2437067355646996
+1.4088583896334739,-1.777914822488046
+-1.0330109605857234,-0.0011593921530135831
+1.5518620509701926,-2.4442876616151117
+0.5758761019617822,-0.43906318186008697
+-0.3400452806208075,1.575004288564685
+-0.5530540417064163,1.2499023111189669
+0.13199699461740444,-0.26187385865892154
+0.06676949775777241,-0.024925193206543406
+-0.08828447410374579,1.7423274412631415
+1.6504694042470076,-0.8698389137691652
+-0.7615752227921374,0.221265430671338
+-0.22948835265735196,1.818262850854532
+1.1708567295766783,-1.388410175920665
+0.0012716985199379138,-0.1667952741464035
+0.7737857770560349,-0.12925245748490877
+0.09011378652967497,1.8407515070591671
+0.5621611525858712,1.4356177110949724
+-0.25880761185269097,1.459181718321894
+1.1555375705590116,-0.9237529751870215
+-1.1741881358910242,-0.26475459666733536
+0.7922935327882227,0.2573573026734415
+1.6802777871890033,-2.481552545551897
+1.0129297921013407,0.8897519609407428
+0.870010843964685,-0.5600778792558925
+-0.4862077046798934,0.21056262010855242
+0.5005361259390347,-0.4303018902264021
+0.07781669737796937,-0.3760094205003543
+-0.3431633950276989,1.8672566423086472
+0.3155761461037746,-0.1331536994014063
+-0.8155614835681476,0.44014070823752965
+0.8976976368321097,-0.6043073621697787
+1.7281303236378323,-2.2289981133619796
+0.24439955660505225,1.4572975266810348
+0.5758761019617822,-0.43906318186008697
+0.11657282814482461,1.8397516082170537
+-0.5530540417064163,1.2499023111189669
+0.13199699461740444,-0.26187385865892154
+0.06676949775777241,-0.024925193206543406
+-0.08828447410374579,1.7423274412631415
+0.027223133083182194,1.175991192733379
+-0.7615752227921374,0.221265430671338
+-0.22948835265735196,1.818262850854532
+0.24828481176978656,0.03400573972385457
+0.0012716985199379138,-0.1667952741464035
+-0.4358633699958448,1.6107392950058208
+0.7809746687513548,1.31543576583469
+0.5621611525858712,1.4356177110949724
+-0.25880761185269097,1.459181718321894
+1.1555375705590116,-0.9237529751870215
+-1.1741881358910242,-0.26475459666733536
+0.7922935327882227,0.2573573026734415
+1.6802777871890033,-2.481552545551897
+1.0129297921013407,0.8897519609407428
+0.870010843964685,-0.5600778792558925
+-0.4862077046798934,0.21056262010855242
+1.0882368375184843,-1.335740416634906
+0.07781669737796937,-0.3760094205003543
+-0.17480630358702148,2.319660630306739
+0.05854199124605847,2.0822268658449357
+-0.6928770679772247,1.0897272251259194
+0.8976976368321097,-0.6043073621697787
+1.7281303236378323,-2.2289981133619796
+0.47021698973581993,-0.004845348654919389
+0.5758761019617822,-0.43906318186008697
+0.22366143007958955,1.3098226561277404
+-0.5530540417064163,1.2499023111189669
+1.7339846005990744,-2.4516858232857115
+0.06676949775777241,-0.024925193206543406
+-0.08828447410374579,1.7423274412631415
+-0.37767165023028954,-0.4381313061295942
+-0.7615752227921374,0.221265430671338
+-0.22948835265735196,1.818262850854532
+0.24828481176978656,0.03400573972385457
+0.0012716985199379138,-0.1667952741464035
+-0.4358633699958448,1.6107392950058208
+0.7809746687513548,1.31543576583469
+0.5621611525858712,1.4356177110949724
+0.5445062937686871,2.0738245452333426
+1.1555375705590116,-0.9237529751870215
+1.1889128413867556,0.05351249624351772
+0.7922935327882227,0.2573573026734415
+1.6802777871890033,-2.481552545551897
+-0.34731115838424664,0.1467452341910207
+1.7305024255052106,-2.2044608833264667
+-0.26326948409300094,0.18127258438057237
+1.0882368375184843,-1.335740416634906
+-0.44829657398530887,-0.4015416175630193
+-0.17480630358702148,2.319660630306739
+0.05854199124605847,2.0822268658449357
+0.11795760152469854,-0.19528869527923673
+0.8976976368321097,-0.6043073621697787
+0.37058493131422443,-0.05312235431039364
+-0.3910208661181151,-0.012179345120446827
+0.5758761019617822,-0.43906318186008697
+0.22366143007958955,1.3098226561277404
+-0.5530540417064163,1.2499023111189669
+-0.0201058171900554,0.21629048268982978
+-0.030187677080525832,0.01564808383429872
+-0.3841430737111862,0.4992253012347947
+0.7327437651910558,0.425513337123957
+0.3330540885838819,-0.5809467256876449
+-0.22948835265735196,1.818262850854532
+0.24828481176978656,0.03400573972385457
+-0.5363566255362303,0.5469445391571381
+-0.4358633699958448,1.6107392950058208
+-0.13668897891632878,0.4096829472711794
+1.0766908550343306,0.6233426497820483
+0.5445062937686871,2.0738245452333426
+1.1555375705590116,-0.9237529751870215
+1.1889128413867556,0.05351249624351772
+-0.0809305690965626,0.8611445000268594
+1.299263307382342,-1.2575451104599873
+-0.8129794934841944,0.7151781992741438
+1.7305024255052106,-2.2044608833264667
+-0.26326948409300094,0.18127258438057237
+-0.26342646769273953,1.7289799317141483
+-0.5638955362940932,0.3696561577578823
+-0.17480630358702148,2.319660630306739
+0.05854199124605847,2.0822268658449357
+0.11795760152469854,-0.19528869527923673
+0.6544048259777846,-0.13718747739389014
+-0.33952125346568024,0.315021425996037
+-0.3910208661181151,-0.012179345120446827
+0.5758761019617822,-0.43906318186008697
+0.20698234999296378,0.7053274180730396
+-0.5530540417064163,1.2499023111189669
+-0.0201058171900554,0.21629048268982978
+0.0036892257743022794,0.11288116875537069
+0.5128714121958371,-0.578254466665314
+0.7327437651910558,0.425513337123957
+0.3330540885838819,-0.5809467256876449
+-0.22948835265735196,1.818262850854532
+-0.39305271535169994,0.7878452716507145
+-0.5363566255362303,0.5469445391571381
+-0.4358633699958448,1.6107392950058208
+-0.13668897891632878,0.4096829472711794
+1.0766908550343306,0.6233426497820483
+0.5445062937686871,2.0738245452333426
+1.1555375705590116,-0.9237529751870215
+1.1889128413867556,0.05351249624351772
+-0.09645863723569015,0.020425002840486012
+1.299263307382342,-1.2575451104599873
+0.4315677653614832,1.6951905661077329
+1.7305024255052106,-2.2044608833264667
+-0.26326948409300094,0.18127258438057237
+-0.4764288372979673,-0.33936543743523623
+-0.07680993516059875,0.28391165495997617
+-0.2966471101423364,1.1588824738786916
+1.6694683269370385,-1.4377777210976022
+0.11795760152469854,-0.19528869527923673
+0.6544048259777846,-0.13718747739389014
+-0.6634038482698354,0.6673774479356299
+-0.3910208661181151,-0.012179345120446827
+1.9049580055122606,-1.7448624807102122
+0.9568561121656698,0.5169446205212084
+-0.061455893934512756,0.26896825058999146
+0.5905902073247002,1.208632903588212
+-0.5819999845003236,1.6318934856686118
+0.5128714121958371,-0.578254466665314
+-0.43046166953402637,-0.07929280363793645
+0.5777491335155015,0.9300308419610922
+-0.22948835265735196,1.818262850854532
+-0.39305271535169994,0.7878452716507145
+0.947787927845827,-1.2458429926308885
+0.6769679495023012,-0.3056299671606757
+-0.13668897891632878,0.4096829472711794
+1.0766908550343306,0.6233426497820483
+0.5445062937686871,2.0738245452333426
+-0.4462050897112878,1.4670100461559248
+1.1889128413867556,0.05351249624351772
+0.4222189333043671,0.057090752957074775
+1.299263307382342,-1.2575451104599873
+0.4315677653614832,1.6951905661077329
+0.04242889897434654,0.1983880034380917
+-0.26326948409300094,0.18127258438057237
+0.18282498033373817,-0.4595768925016178
+-0.009811017600425798,-0.3605095347938705
+-0.08057513844125241,2.0277508413724834
+1.6694683269370385,-1.4377777210976022
+-0.5064681781839117,1.3347564646162189
+0.6544048259777846,-0.13718747739389014
+0.04904073693359842,-0.3598907639097143
+-0.3910208661181151,-0.012179345120446827
+1.253817825052787,-0.7419226038166054
+0.9568561121656698,0.5169446205212084
+1.4088406869270866,-1.564376535730038
+0.5905902073247002,1.208632903588212
+-0.5819999845003236,1.6318934856686118
+0.5128714121958371,-0.578254466665314
+-0.31851936970808614,0.004874922096757661
+0.5777491335155015,0.9300308419610922
+-0.501067051803218,0.9809854083298134
+-0.39305271535169994,0.7878452716507145
+0.947787927845827,-1.2458429926308885
+0.6769679495023012,-0.3056299671606757
+0.2771274609009053,1.5545893214226474
+1.0766908550343306,0.6233426497820483
+0.9506162961369893,0.5347442393379956
+-0.4462050897112878,1.4670100461559248
+-0.4006746813565435,1.8499213867375301
+0.4222189333043671,0.057090752957074775
+1.299263307382342,-1.2575451104599873
+0.4315677653614832,1.6951905661077329
+-0.11718810319783476,1.6888798489479784
+-0.26326948409300094,0.18127258438057237
+0.8392656329663195,0.8550533314125064
+1.3825681290440817,-0.25861386405965137
+-0.08057513844125241,2.0277508413724834
+1.6694683269370385,-1.4377777210976022
+-0.6831007940026582,1.3514810778432784
+0.6544048259777846,-0.13718747739389014
+-0.36476292426970125,1.1035294353889995
+-0.3910208661181151,-0.012179345120446827
+1.1885451226359123,0.7483502385965124
+0.8395099236983319,0.9970216320738481
+1.4088406869270866,-1.564376535730038
+0.5905902073247002,1.208632903588212
+1.479650206501931,-1.2402230471946099
+1.0320144978739019,0.2766254400990811
+0.3164366634536928,1.4019862787264283
+-0.1506384887995716,-0.008704311444653418
+-0.5940299703113617,1.593618207473633
+-0.39305271535169994,0.7878452716507145
+-0.29743927338021275,-0.2668134670594082
+0.6769679495023012,-0.3056299671606757
+-0.23500372616294996,0.02416321244945343
+0.9108791706398444,-0.31356437443375273
+1.6848521326679076,-1.930965970757837
+0.5654765288289341,-0.4067900909788923
+-0.4006746813565435,1.8499213867375301
+-0.02060802424678998,0.27761541077152563
+1.299263307382342,-1.2575451104599873
+1.1609519951792255,0.6406457501935283
+1.4620222126513145,-0.06458920404473079
+-0.26326948409300094,0.18127258438057237
+0.3342065275606553,-0.4182568359568159
+1.3825681290440817,-0.25861386405965137
+-0.08057513844125241,2.0277508413724834
+0.5873010107794872,-0.44919624483300435
+-0.6831007940026582,1.3514810778432784
+0.26122798860199625,1.747609271065428
+1.3259292527075879,0.1768147688885811
+-0.1511783267872565,2.018396784606809
+1.1885451226359123,0.7483502385965124
+-0.7462441065816188,0.48853184704070396
+1.4088406869270866,-1.564376535730038
+0.5905902073247002,1.208632903588212
+0.5927987838173367,-0.4347159425544765
+0.7663698569658068,1.4578221815212753
+0.3164366634536928,1.4019862787264283
+-0.1506384887995716,-0.008704311444653418
+-0.004098226816138029,1.4769050094186387
+1.6909538186210233,-1.933654582247073
+-0.29743927338021275,-0.2668134670594082
+1.0001568711360396,-1.0090138792403152
+-0.23500372616294996,0.02416321244945343
+0.7466174250360085,0.8364778741180874
+1.6848521326679076,-1.930965970757837
+-0.6000596930716137,1.0143675129540586
+0.7467711034454696,-0.46524654670889676
+-0.02060802424678998,0.27761541077152563
+1.299263307382342,-1.2575451104599873
+1.1609519951792255,0.6406457501935283
+-0.020212975866727184,2.549764727623391
+0.1198320003799509,1.5125831138929384
+0.030590730613378053,1.5770098162280815
+1.3825681290440817,-0.25861386405965137
+0.9060706365026266,-0.6219734014231636
+0.5873010107794872,-0.44919624483300435
+-0.46008623334138443,-0.21205426981007242
+0.26122798860199625,1.747609271065428
+1.3259292527075879,0.1768147688885811
+-0.1511783267872565,2.018396784606809
+1.1885451226359123,0.7483502385965124
+1.3536010969791543,-0.33686093185679244
+1.4088406869270866,-1.564376535730038
+0.5905902073247002,1.208632903588212
+0.5927987838173367,-0.4347159425544765
+-0.8124453821212653,0.13351812358488196
+0.3164366634536928,1.4019862787264283
+-0.1506384887995716,-0.008704311444653418
+-0.004098226816138029,1.4769050094186387
+1.6909538186210233,-1.933654582247073
+-0.29743927338021275,-0.2668134670594082
+1.0001568711360396,-1.0090138792403152
+0.5972241778458204,1.4101491804159927
+0.7504799126619381,-1.0523977141405363
+-0.936676844697747,0.7770568953960565
+-0.6000596930716137,1.0143675129540586
+0.0015685936997077154,1.0652738246809172
+-0.7832788823778477,-0.00040863135157392927
+1.299263307382342,-1.2575451104599873
+1.0267502201346663,-1.437509119236218
+-0.020212975866727184,2.549764727623391
+0.1198320003799509,1.5125831138929384
+1.188272847436922,-1.0815992795350593
+1.3825681290440817,-0.25861386405965137
+0.9060706365026266,-0.6219734014231636
+0.5873010107794872,-0.44919624483300435
+0.3979812174797064,0.1257370030273287
+0.10470318273428852,1.3157280018864148
+1.0552157867364578,0.5800543482096441
+-0.44233179977164994,0.014042429485340069
+1.1885451226359123,0.7483502385965124
+-0.7475884041694489,-0.1360174912299357
+1.4088406869270866,-1.564376535730038
+0.5905902073247002,1.208632903588212
+0.5927987838173367,-0.4347159425544765
+-0.8124453821212653,0.13351812358488196
+-0.1900294246765665,0.9249564563008388
+-0.1506384887995716,-0.008704311444653418
+0.8308585718924699,-0.053852066239817586
+0.010815255579371741,1.6860384933175059
+1.2784776698172737,-1.7407252545177574
+-0.6016486450630587,1.3358304220790438
+0.5972241778458204,1.4101491804159927
+0.5004944821188289,0.7320972671218415
+-0.5207582082230042,1.7911656908618452
+-0.6000596930716137,1.0143675129540586
+1.0292588594037313,-0.13420662718874232
+-0.7832788823778477,-0.00040863135157392927
+0.378273194654507,1.3495695979759275
+0.8909681130887264,0.49933846592429265
+-0.020212975866727184,2.549764727623391
+0.6405915774493749,-0.17786044085561226
+0.9836264420167576,0.7899125655126199
+0.7254335858317379,1.6218038743138248
+0.3686463500961015,1.1282546632812887
+0.5873010107794872,-0.44919624483300435
+0.3979812174797064,0.1257370030273287
+0.10470318273428852,1.3157280018864148
+0.8648839224616903,1.1819366612826567
+0.1308808089376291,-0.37449379237341296
+1.1885451226359123,0.7483502385965124
+-0.7475884041694489,-0.1360174912299357
+1.4088406869270866,-1.564376535730038
+0.19644694962125675,1.805748157382356
+0.5927987838173367,-0.4347159425544765
+-0.8124453821212653,0.13351812358488196
+-0.1900294246765665,0.9249564563008388
+-0.1506384887995716,-0.008704311444653418
+-0.25085648250968584,0.08867824399607639
+0.010815255579371741,1.6860384933175059
+1.0245327180930566,0.7744204191888022
+1.467488614190949,-1.5049187380163258
+0.5972241778458204,1.4101491804159927
+1.7227926774956663,-2.675663713224065
+-0.5207582082230042,1.7911656908618452
+-0.6000596930716137,1.0143675129540586
+1.0292588594037313,-0.13420662718874232
+-0.7680319452001406,0.219519035725708
+1.3529676734278047,-1.1031532302159057
+0.8909681130887264,0.49933846592429265
+-0.020212975866727184,2.549764727623391
+0.7318885328877917,-0.031382494669557004
+1.0683218150051503,0.7483715581957755
+0.7254335858317379,1.6218038743138248
+0.6511185345879277,1.7837996386636605
+-0.4990335672921742,1.9913124705927598
+0.5815290677316602,-0.1706885619289853
+0.19960692564096405,1.6846328444672845
+0.8648839224616903,1.1819366612826567
+0.1308808089376291,-0.37449379237341296
+-0.5068899916154652,0.36303263142536757
+-0.7475884041694489,-0.1360174912299357
+1.4088406869270866,-1.564376535730038
+0.19644694962125675,1.805748157382356
+-0.9463862346333545,0.724729068577167
+-0.8124453821212653,0.13351812358488196
+0.4762337423343966,2.192439230564418
+-0.1506384887995716,-0.008704311444653418
+-0.25085648250968584,0.08867824399607639
+0.9868880573759092,0.7523590258018151
+1.0245327180930566,0.7744204191888022
+1.467488614190949,-1.5049187380163258
+-0.4146366132940126,0.9742882021962207
+1.7227926774956663,-2.675663713224065
+-0.7774486835230054,0.2162562642148722
+-0.35859300720066967,-0.26410131470574516
+-0.1280356126761576,2.169717778552113
+-0.7680319452001406,0.219519035725708
+1.3529676734278047,-1.1031532302159057
+0.8909681130887264,0.49933846592429265
+0.4799807295097376,0.029749814071351244
+0.7318885328877917,-0.031382494669557004
+0.817217430833628,1.566352722923621
+0.7254335858317379,1.6218038743138248
+0.9992856375043626,-0.3124557076645028
+-0.4990335672921742,1.9913124705927598
+-0.47874174559785104,1.6693068569310991
+0.19960692564096405,1.6846328444672845
+0.8648839224616903,1.1819366612826567
+0.1308808089376291,-0.37449379237341296
+1.4546371744311886,-0.8571177487097821
+-0.7475884041694489,-0.1360174912299357
+1.4088406869270866,-1.564376535730038
+0.19644694962125675,1.805748157382356
+0.11822354385140066,-0.46563836756564314
+-0.7622277476586315,1.5341442614041565
+0.4762337423343966,2.192439230564418
+-0.1506384887995716,-0.008704311444653418
+-0.6492067392210373,1.1951285307462052
+-0.9343316669186896,0.3924927302390233
+0.6073114831089086,0.2818139625114159
+1.467488614190949,-1.5049187380163258
+-0.4146366132940126,0.9742882021962207
+1.7227926774956663,-2.675663713224065
+0.2718398080254095,2.242954134902056
+-0.35859300720066967,-0.26410131470574516
+-0.1280356126761576,2.169717778552113
+-0.7680319452001406,0.219519035725708
+1.3529676734278047,-1.1031532302159057
+1.1199638701754986,0.10708186661306018
+0.4799807295097376,0.029749814071351244
+0.3494080581906873,2.3096049910509517
+-0.09132846145814688,1.9155320508670517
+0.7254335858317379,1.6218038743138248
+-0.003518890310637235,1.5866969584651476
+-0.4990335672921742,1.9913124705927598
+-0.47874174559785104,1.6693068569310991
+0.19960692564096405,1.6846328444672845
+0.8648839224616903,1.1819366612826567
+0.3266199336232542,0.2376922156190635
+-0.27264422107726777,1.455799137146697
+1.5520341907444013,-2.509280918296093
+1.4088406869270866,-1.564376535730038
+0.10752538914474483,2.242946381975254
+0.17812897387513982,1.5531156697170836
+-0.7622277476586315,1.5341442614041565
+1.7146975578536947,-1.5693947513059934
+-0.1506384887995716,-0.008704311444653418
+-0.6492067392210373,1.1951285307462052
+-0.9343316669186896,0.3924927302390233
+-0.14195909899567966,1.6545068388393844
+1.467488614190949,-1.5049187380163258
+-0.02068148890139132,2.015489507440587
+1.7227926774956663,-2.675663713224065
+1.0043291180739737,-1.0962873940618876
+-0.35859300720066967,-0.26410131470574516
+-0.1280356126761576,2.169717778552113
+-0.7680319452001406,0.219519035725708
+-0.4296683094001657,0.04880529813953052
+0.7143398552158037,-0.20831310054523922
+-0.2076785162509829,2.2075852542257377
+-0.2655780056219291,0.8579469547495825
+-0.09132846145814688,1.9155320508670517
+-0.6014157268785605,0.09861721922025891
+-0.003518890310637235,1.5866969584651476
+-0.3602827975120006,1.2576076035627894
+-0.47874174559785104,1.6693068569310991
+0.19960692564096405,1.6846328444672845
+1.1603922410820433,0.8485857077115777
+0.3266199336232542,0.2376922156190635
+0.18714532493785987,1.8063608461455656
+1.5520341907444013,-2.509280918296093
+1.4088406869270866,-1.564376535730038
+0.10752538914474483,2.242946381975254
+0.6841961898593715,0.52216318833161
+-0.5197050800034262,1.8016306175315717
+0.277673291274065,1.9479872387104569
+0.11358813953693062,0.9173136172337549
+-0.6492067392210373,1.1951285307462052
+-0.9343316669186896,0.3924927302390233
+-0.4059594148381973,1.819713011705249
+1.467488614190949,-1.5049187380163258
+-0.02068148890139132,2.015489507440587
+1.7227926774956663,-2.675663713224065
+1.3669045609722577,-1.2030521862178039
+-0.7121465505495129,0.7040164798039121
+-0.1280356126761576,2.169717778552113
+-0.7680319452001406,0.219519035725708
+-0.4296683094001657,0.04880529813953052
+0.7143398552158037,-0.20831310054523922
+-0.17318529431269644,1.9592025889073752
+-0.265447087141917,1.1590169347829662
+-0.4465519589982447,1.6170678418473514
+-0.6014157268785605,0.09861721922025891
+-0.003518890310637235,1.5866969584651476
+-0.3602827975120006,1.2576076035627894
+-0.34686959857912675,1.9324795495250031
+1.0751581990367018,-1.2673184114639493
+-0.7173678714555722,0.9624909787567566
+-0.6889303687232936,1.068460381755568
+-0.21012774311163662,1.8267111092736985
+1.2393198566200834,-1.4134103276418561
+1.4088406869270866,-1.564376535730038
+0.10752538914474483,2.242946381975254
+-0.1745938762017143,0.23769390956665837
+-0.5197050800034262,1.8016306175315717
+0.277673291274065,1.9479872387104569
+0.11358813953693062,0.9173136172337549
+0.507826394464442,-0.16417531687769757
+-0.9343316669186896,0.3924927302390233
+-0.4059594148381973,1.819713011705249
+1.467488614190949,-1.5049187380163258
+-0.02068148890139132,2.015489507440587
+1.7227926774956663,-2.675663713224065
+0.8319337439631788,-1.1573621568275998
+-0.48534259771782706,-0.1423777868913152
+0.5346377233106522,0.9782397858054527
+-0.7680319452001406,0.219519035725708
+-0.4296683094001657,0.04880529813953052
+0.45975873862208105,1.5963851196757226
+-0.17318529431269644,1.9592025889073752
+-0.5896840730508828,0.2536942439996887
+0.3730275781727633,0.16020532396010667
+-0.6014157268785605,0.09861721922025891
+-0.0022817921810188713,1.5649615598289792
+1.6949228062334298,-2.0707963060554815
+-0.4008121373850043,0.5973077356026633
+1.0751581990367018,-1.2673184114639493
+-0.7173678714555722,0.9624909787567566
+-0.6889303687232936,1.068460381755568
+1.1123953105600857,-0.6930710208143118
+0.5065278030438577,0.8810986723951235
+1.636796617731259,-2.81224144295342
+0.6562930373443017,1.731083555347058
+-0.6151236326674709,0.9988091912471619
+1.5145866875497709,-1.0591262491224769
+0.277673291274065,1.9479872387104569
+0.11104908299445151,1.4183278380658377
+1.0175392805459629,-0.5737358447605462
+-0.9343316669186896,0.3924927302390233
+-0.4059594148381973,1.819713011705249
+1.467488614190949,-1.5049187380163258
+-0.02068148890139132,2.015489507440587
+0.8133048057718871,0.8475152578847753
+0.8319337439631788,-1.1573621568275998
+1.2310426077210317,0.23901046906988577
+0.5346377233106522,0.9782397858054527
+1.0396390867895364,0.4127749389639325
+-0.4296683094001657,0.04880529813953052
+1.089751005004729,-0.1330432517769965
+-0.17318529431269644,1.9592025889073752
+-0.5896840730508828,0.2536942439996887
+-0.781300424103717,0.7709264587392901
+-0.6014157268785605,0.09861721922025891
+-0.0022817921810188713,1.5649615598289792
+1.6949228062334298,-2.0707963060554815
+-0.4008121373850043,0.5973077356026633
+1.0751581990367018,-1.2673184114639493
+0.10758443208768698,0.1070580278141616
+-0.8595352777641458,0.175957870013756
+1.0721408176924756,-0.4758627759638021
+0.5065278030438577,0.8810986723951235
+1.636796617731259,-2.81224144295342
+0.49871892039228044,-0.6619300437862544
+-0.6151236326674709,0.9988091912471619
+1.5145866875497709,-1.0591262491224769
+0.277673291274065,1.9479872387104569
+-0.0679060405970171,-0.16359748639749577
+0.626927388924158,0.9098244642367622
+-0.36638593698992605,2.1202616711440014
+-0.4059594148381973,1.819713011705249
+1.467488614190949,-1.5049187380163258
+0.35188444569920313,-0.2008252122709851
+-0.16294791381982188,-0.00229474087115121
+0.8319337439631788,-1.1573621568275998
+1.17159597696614,-0.9946040671889994
+0.5346377233106522,0.9782397858054527
+1.0396390867895364,0.4127749389639325
+-0.04471817231286146,1.6620319034036095
+-0.6049195185201397,1.7718263382890047
+-0.17318529431269644,1.9592025889073752
+0.2617417616479785,1.3992018959189352
+0.16834645801372528,0.4698952183035694
+-0.6014157268785605,0.09861721922025891
+-0.5653246410828621,0.6649812158113888
+1.6949228062334298,-2.0707963060554815
+-0.4008121373850043,0.5973077356026633
+0.7265992050778294,-0.14494460992550146
+-0.7587478965330535,0.46950254350956006
+0.8500897817958467,-0.6475576411194994
+1.1307488784785424,-1.8564520205457002
+-0.3709550947407771,0.37549111083587927
+1.636796617731259,-2.81224144295342
+0.49871892039228044,-0.6619300437862544
+0.9068843752549938,1.1536065712213697
+1.5145866875497709,-1.0591262491224769
+1.1268407033286891,0.8555824269299173
+-0.0679060405970171,-0.16359748639749577
+1.2220534001876704,-0.6708889692421909
+-0.36638593698992605,2.1202616711440014
+-0.4059594148381973,1.819713011705249
+0.9020692267077215,-0.3725914199651529
+1.262295020469054,-0.4163793933151737
+-0.16294791381982188,-0.00229474087115121
+0.3199053659785697,0.9418490486853014
+1.4980264855972183,-0.3404060276235419
+0.06303022304674158,-0.1257468727438846
+1.0396390867895364,0.4127749389639325
+0.11190060532818019,-0.7799277011118272
+0.3222516976080564,1.6694451218961774
+-0.4865200836795989,0.8889692715679788
+0.21624628662553635,2.2544494203774663
+-0.17851676669998,0.09747699402950709
+-0.6014157268785605,0.09861721922025891
+0.7843122150101978,0.11499256361823773
+1.6949228062334298,-2.0707963060554815
+1.1452314900934775,-1.1690593091180896
+0.7265992050778294,-0.14494460992550146
+-0.7587478965330535,0.46950254350956006
+0.6878947356729587,1.0151846877946311
+1.012730625204083,0.31590849829270684
+-0.3709550947407771,0.37549111083587927
+1.636796617731259,-2.81224144295342
+1.0925175394057562,-0.25509522646843885
+1.1159234960661786,-0.08138969304732838
+1.5145866875497709,-1.0591262491224769
+-0.10990711900143138,1.6752154122087082
+0.7981925484949312,-0.6582706262114346
+1.523813105514829,-1.4086614763686616
+-0.36638593698992605,2.1202616711440014
+-0.4059594148381973,1.819713011705249
+0.9020692267077215,-0.3725914199651529
+1.262295020469054,-0.4163793933151737
+-0.16294791381982188,-0.00229474087115121
+1.3981472933177659,0.05634541758716172
+1.4980264855972183,-0.3404060276235419
+0.04160444276883116,-0.11827084556003793
+1.0396390867895364,0.4127749389639325
+-0.1188529669877339,-0.2540347780584865
+0.3222516976080564,1.6694451218961774
+-0.4865200836795989,0.8889692715679788
+0.21624628662553635,2.2544494203774663
+-0.7726429002405681,0.8522619249249563
+-0.6014157268785605,0.09861721922025891
+1.0226178960680083,-0.1764218558462668
+1.6949228062334298,-2.0707963060554815
+1.1452314900934775,-1.1690593091180896
+1.6767828153683664,-2.72800737850571
+1.574142053907319,-0.9036017592875041
+0.6878947356729587,1.0151846877946311
+1.1828514237055638,0.11661500824809318
+0.29069479661237996,0.2106404275652956
+1.7489158537175482,-1.3879946094370847
+1.1568586752494034,-0.07314972890035806
+-0.18626006767444475,0.07094726920930958
+0.6297066518106644,-0.5674503708302914
+0.5062460758063398,1.2033306140055386
+0.7981925484949312,-0.6582706262114346
+1.523813105514829,-1.4086614763686616
+-0.36638593698992605,2.1202616711440014
+0.3644821122369376,0.566900185433826
+1.4824703453839239,-2.1807082200804837
+1.262295020469054,-0.4163793933151737
+-0.16294791381982188,-0.00229474087115121
+1.3460016426162267,-0.42670609609346244
+0.31492174485903307,2.1980281038206435
+0.04160444276883116,-0.11827084556003793
+0.9015181709640621,-0.05478664296034892
+-0.1188529669877339,-0.2540347780584865
+0.3222516976080564,1.6694451218961774
+-0.5216853562030043,1.1549611496690266
+0.21624628662553635,2.2544494203774663
+-0.1936186445484495,-0.08993671739672407
+-0.6014157268785605,0.09861721922025891
+1.4104666503943912,-0.16564958090046544
+1.6949228062334298,-2.0707963060554815
+0.026801293729439624,2.468709958760292
+1.6767828153683664,-2.72800737850571
+1.574142053907319,-0.9036017592875041
+0.3212769036316341,0.22426086439822773
+1.2740832968190985,0.03233153820595175
+0.29069479661237996,0.2106404275652956
+1.7489158537175482,-1.3879946094370847
+1.0723941805997768,-0.8097369673695229
+1.1670901858125178,0.06704460554013
+0.6297066518106644,-0.5674503708302914
+0.5062460758063398,1.2033306140055386
+0.751951420207089,-0.6176813495217985
+1.523813105514829,-1.4086614763686616
+-0.36638593698992605,2.1202616711440014
+-0.8361866959087496,1.2215233218957313
+0.7737687856558939,1.0999410611272298
+1.262295020469054,-0.4163793933151737
+0.1151906387188465,-0.1601673470030498
+1.3706330132767321,-0.391215602755502
+0.31492174485903307,2.1980281038206435
+0.04160444276883116,-0.11827084556003793
+-0.4547556936069014,1.7717939795506312
+-0.1188529669877339,-0.2540347780584865
+1.219502269030611,-0.6746701163756339
+-0.5216853562030043,1.1549611496690266
+-0.13054398499357592,2.3338636695351345
+-0.1936186445484495,-0.08993671739672407
+-0.2372721633661509,0.0801638722022644
+-0.07016338928518104,-0.23821737280249822
+1.6949228062334298,-2.0707963060554815
+0.026801293729439624,2.468709958760292
+0.14393801989046792,0.11934298766149726
+1.574142053907319,-0.9036017592875041
+0.12800438193827635,1.3942431315364523
+1.2740832968190985,0.03233153820595175
+0.9116494871217417,-0.7598635038656352
+-0.47293972740374357,1.0857288411534527
+-0.16060766877270677,1.1505007494290649
+1.1670901858125178,0.06704460554013
+0.9199830885689295,0.12509523011071133
+0.5062460758063398,1.2033306140055386
+0.11571292331260079,1.5041680222707925
+1.523813105514829,-1.4086614763686616
+0.172200182609691,0.2007099805226844
+-0.8361866959087496,1.2215233218957313
+0.7737687856558939,1.0999410611272298
+-0.7436552872386626,0.050445136100811555
+-0.33590549263180713,-0.2515499841079983
+1.3706330132767321,-0.391215602755502
+0.07877324417630904,0.4139126655941092
+-0.30504694161416046,0.545658959679236
+-0.4547556936069014,1.7717939795506312
+0.6013289289623226,1.3745235841188386
+1.219502269030611,-0.6746701163756339
+1.7690643651398887,-3.0189019057575592
+0.9957053287372125,-1.3042082781121644
+-0.1936186445484495,-0.08993671739672407
+-0.04941302770056488,0.4170841947401679
+-0.07016338928518104,-0.23821737280249822
+0.17548411127211017,2.051744949792344
+-0.2755784773803932,0.5652379517070613
+0.14393801989046792,0.11934298766149726
+1.574142053907319,-0.9036017592875041
+-0.8815600795708505,0.6925779725815604
+1.2740832968190985,0.03233153820595175
+-0.004561928284528061,1.4070816748605794
+-0.47293972740374357,1.0857288411534527
+0.3430595207565753,1.0085176544261982
+0.4680101410434087,1.341792030039815
+0.9199830885689295,0.12509523011071133
+0.5062460758063398,1.2033306140055386
+0.11571292331260079,1.5041680222707925
+0.8991010375452817,1.1063229613353365
+0.172200182609691,0.2007099805226844
+-0.8361866959087496,1.2215233218957313
+0.7737687856558939,1.0999410611272298
+-0.7352999882862035,1.5343464303668386
+0.9232972470391781,1.4087899974731157
+-0.49368441810504415,0.06870872456162191
+0.36194015984963607,1.5385601620439255
+-0.30504694161416046,0.545658959679236
+0.6757710474676817,1.7160343363463817
+-0.15546303806340434,0.9021000076088171
+1.219502269030611,-0.6746701163756339
+1.7690643651398887,-3.0189019057575592
+0.9957053287372125,-1.3042082781121644
+-0.1936186445484495,-0.08993671739672407
+-0.04941302770056488,0.4170841947401679
+-0.4112057695722629,0.2885116019111301
+0.17548411127211017,2.051744949792344
+-0.02794345993715086,1.50493343895883
+0.05706438242735956,1.527423317874306
+-0.33096887330072133,0.17872076248030533
+-0.22395837434365395,1.7184854394665354
+1.2740832968190985,0.03233153820595175
+-0.4324431785869073,-0.2128903886345067
+-0.10689347076950154,0.08895558498301293
+-0.2846531214339755,-0.36511329562521017
+0.4680101410434087,1.341792030039815
+0.30645621394975203,-0.17371669294952863
+0.15258741607828696,2.2045105755103935
+0.40002835959001126,-0.06986582387808096
+0.8991010375452817,1.1063229613353365
+-0.7402539078412523,-0.06971880518440121
+-0.8361866959087496,1.2215233218957313
+0.7737687856558939,1.0999410611272298
+-0.8011470455104812,0.2361980474332241
+0.9232972470391781,1.4087899974731157
+-0.49368441810504415,0.06870872456162191
+0.36194015984963607,1.5385601620439255
+-0.21006250716284502,-0.028269526762410332
+0.6757710474676817,1.7160343363463817
+-0.309580998560214,1.289876904978929
+0.03598769696300724,1.5609019367124475
+1.7690643651398887,-3.0189019057575592
+0.9957053287372125,-1.3042082781121644
+-0.28019303699848785,1.9944411327181593
+-0.5519212340027714,1.0971183889782843
+1.1622630688726392,0.6688513726009879
+0.17548411127211017,2.051744949792344
+0.487400141928863,0.9165805331782562
+0.03589136498519285,0.42680011628750136
+0.5801411966310788,1.9569049743640008
+0.7091631864976092,-0.3526419272955279
+1.2740832968190985,0.03233153820595175
+0.6705226026804687,-0.4598809198458764
+-0.10689347076950154,0.08895558498301293
+-0.2846531214339755,-0.36511329562521017
+0.30227225203227526,1.321258989682434
+0.30645621394975203,-0.17371669294952863
+0.15258741607828696,2.2045105755103935
+0.40002835959001126,-0.06986582387808096
+0.8991010375452817,1.1063229613353365
+-0.7402539078412523,-0.06971880518440121
+0.2878914205948593,1.3764824108966227
+1.8543372566620238,-2.0955195290039637
+-0.8011470455104812,0.2361980474332241
+0.2279103317646176,2.274676715129398
+-0.2565578762061099,0.08852246311971951
+0.36194015984963607,1.5385601620439255
+0.8871324860707024,-0.6458750234333015
+-0.5592249402397745,1.3081796642060726
+-0.309580998560214,1.289876904978929
+-0.2979865251694341,0.6230248591211102
+1.7690643651398887,-3.0189019057575592
+0.34584981030895323,1.7634795421343674
+0.5987440996703921,1.2507606863431908
+-0.06824187339120236,1.4059889556261538
+1.1622630688726392,0.6688513726009879
+0.21012255909745908,-0.4786282963273907
+0.38236718111945944,-0.28862365486742275
+0.3630069964645585,0.1318044024361209
+-0.4071510872313513,1.2083841250340166
+0.7091631864976092,-0.3526419272955279
+0.843023998531703,-0.6605990411521827
+0.47676020372042915,1.4271786469931835
+-0.10689347076950154,0.08895558498301293
+-0.18503720500735915,-0.13134110661167075
+0.30227225203227526,1.321258989682434
+0.31765093950283785,-0.4950013972855742
+0.15258741607828696,2.2045105755103935
+-0.23040337308884795,2.218361483550066
+-0.6541633184678062,1.9859117126249588
+-0.7402539078412523,-0.06971880518440121
+0.6466175431155564,0.6453230246459412
+1.8543372566620238,-2.0955195290039637
+-0.8011470455104812,0.2361980474332241
+0.2279103317646176,2.274676715129398
+-0.2565578762061099,0.08852246311971951
+0.36194015984963607,1.5385601620439255
+-0.20711656201347328,1.9084765407162565
+0.3214620330808689,1.6080749169617843
+-0.309580998560214,1.289876904978929
+-0.40695477390119583,1.2118056703798659
+1.7690643651398887,-3.0189019057575592
+0.8018937709275499,1.0818345260835818
+0.5987440996703921,1.2507606863431908
+-0.06824187339120236,1.4059889556261538
+-0.08340612671783332,-0.3003702680654874
+0.21012255909745908,-0.4786282963273907
+0.2488992388489395,-0.6282486884079518
+0.3630069964645585,0.1318044024361209
+0.9746876227440122,-0.4412849042982151
+0.7091631864976092,-0.3526419272955279
+0.843023998531703,-0.6605990411521827
+0.47676020372042915,1.4271786469931835
+-0.10689347076950154,0.08895558498301293
+-0.18503720500735915,-0.13134110661167075
+-0.733774403964947,0.9338463031304838
+0.31765093950283785,-0.4950013972855742
+0.15258741607828696,2.2045105755103935
+-0.23040337308884795,2.218361483550066
+-0.7734900861119869,1.7481906219328
+-0.7402539078412523,-0.06971880518440121
+0.6466175431155564,0.6453230246459412
+1.8543372566620238,-2.0955195290039637
+0.06277653066719874,-0.03408829776793815
+0.2279103317646176,2.274676715129398
+-0.7993523433346643,0.1443758110212966
+0.17843646213645403,-0.09693619718680811
+-0.20711656201347328,1.9084765407162565
+-0.113162559294394,1.6461311584392715
+-0.009190242701892781,0.1642424600485714
+-0.40695477390119583,1.2118056703798659
+1.7690643651398887,-3.0189019057575592
+0.8018937709275499,1.0818345260835818
+0.6031209224558863,1.3836666637676107
+-0.2191183658931162,0.05796113959904531
+-0.3141459125863284,1.6947515938210729
+0.21012255909745908,-0.4786282963273907
+0.2488992388489395,-0.6282486884079518
+0.09632004565485686,-0.1861627767434179
+0.9746876227440122,-0.4412849042982151
+-0.7001988544091444,1.386636292138471
+0.843023998531703,-0.6605990411521827
+0.47676020372042915,1.4271786469931835
+0.7162966005281747,0.4154056469785329
+-0.18503720500735915,-0.13134110661167075
+-0.7036173262533023,0.2363096456177577
+0.31765093950283785,-0.4950013972855742
+0.15258741607828696,2.2045105755103935
+-0.738566316542688,1.1712930649710904
+-0.7734900861119869,1.7481906219328
+1.7602143431291706,-2.0786014890010738
+-0.19948382059022532,-0.36340334175368305
+1.8543372566620238,-2.0955195290039637
+-0.1040366218970381,0.040244429267036586
+0.2279103317646176,2.274676715129398
+-0.24962283208987193,0.7626582373184503
+1.8590277702450915,-2.711937518716222
+1.0488019148065915,0.7729336017921788
+-0.1543148544593278,1.3719522475871444
+-0.18296815519836018,0.4041298853632326
+1.0832422158175594,-0.1581985159290734
+1.7690643651398887,-3.0189019057575592
+-0.5392390187433584,1.1410895246080734
+1.7704165170998118,-2.4331241743989342
+-0.2191183658931162,0.05796113959904531
+0.6644830734451382,1.595035858031064
+-0.3204546183981527,0.6569816269228992
+0.43813343418540157,1.5034575802822665
+0.09632004565485686,-0.1861627767434179
+0.9746876227440122,-0.4412849042982151
+-0.7001988544091444,1.386636292138471
+0.9849874380315878,-0.6736493570372755
+0.1390559931249476,1.2663490093057825
+1.541267544517385,-0.6059865850829651
+-0.18503720500735915,-0.13134110661167075
+0.15649223675793594,2.006248855667522
+1.6779335548074186,-1.8182980562402564
+0.9311946030528484,0.961000004041758
+1.7600852672132152,-1.338350811280768
+0.5499212176859426,1.6039283941992162
+1.7602143431291706,-2.0786014890010738
+1.1833389257259934,-1.3471574064151355
+-0.29313761191317567,0.615496374075597
+0.5063399349420192,0.7579210877525233
+0.08054377350003833,2.070787012119701
+-0.10178598167821912,2.3494374821327693
+0.07906143584126207,-0.16395185857341155
+-0.8012808823983022,1.355003539556652
+-0.1543148544593278,1.3719522475871444
+-0.18296815519836018,0.4041298853632326
+0.20052649927526955,0.8853457612961604
+1.3246178816899792,-0.2377271034828033
+1.2656723913180685,-1.0904399153567366
+-0.4516711640433433,0.11387088726841976
+-0.2191183658931162,0.05796113959904531
+1.678565361420979,-1.8880946089411734
+1.0381041803716031,-0.8469828944465592
+0.43813343418540157,1.5034575802822665
+-0.5201806003395025,0.38752050620363915
+0.9746876227440122,-0.4412849042982151
+-0.8282654908911393,0.3389725091520287
+0.74324217528895,-0.3468317958245757
+0.6704930372722587,1.148870957803828
+1.541267544517385,-0.6059865850829651
+-0.18503720500735915,-0.13134110661167075
+1.7369584912066447,-1.8769610696089822
+1.36883829280633,-0.9950828123662447
+-0.3040868618906106,1.2948414956447862
+1.6132834969570429,-0.8022233745332364
+0.5499212176859426,1.6039283941992162
+1.7602143431291706,-2.0786014890010738
+1.1605753178646832,-0.9725815255934434
+0.6958138679603639,1.2108679020691022
+0.5063399349420192,0.7579210877525233
+0.09474980887315862,2.141842306975746
+-0.10178598167821912,2.3494374821327693
+0.046002359336260734,1.1047342631800972
+0.21797170322554849,1.6039924808106367
+0.6032569359577622,1.6654479119940624
+-0.6762531379127256,-0.275643818217267
+-1.1474086556287428,0.15787467350829754
+0.6645461665133696,1.6511264375596597
+0.4560364730017711,-0.5101856404943474
+-0.4516711640433433,0.11387088726841976
+-0.2191183658931162,0.05796113959904531
+1.678565361420979,-1.8880946089411734
+1.0381041803716031,-0.8469828944465592
+0.43813343418540157,1.5034575802822665
+-0.5201806003395025,0.38752050620363915
+0.9746876227440122,-0.4412849042982151
+-0.8282654908911393,0.3389725091520287
+1.6636886897435899,-1.5239671512049262
+0.6704930372722587,1.148870957803828
+1.541267544517385,-0.6059865850829651
+-0.18503720500735915,-0.13134110661167075
+1.7369584912066447,-1.8769610696089822
+1.36883829280633,-0.9950828123662447
+-0.3040868618906106,1.2948414956447862
+0.6828256332362173,0.9003369100144446
+0.5499212176859426,1.6039283941992162
+0.990993310881449,0.6469086374959847
+1.1605753178646832,-0.9725815255934434
+-0.08502262551607853,0.1688321215073787
+-0.4186483101490449,1.2938548221190045
+-0.27115754493839567,0.9875500109444929
+-0.3384635672922257,0.7197335926680857
+0.1775943891740605,-0.4691999274582975
+0.3787145856439459,0.5084936016472043
+0.6032569359577622,1.6654479119940624
+1.7136853637472838,-2.1473823082261836
+0.03927932407770235,0.4134692726982722
+0.6645461665133696,1.6511264375596597
+0.5339106643760284,1.577797146115858
+1.2588605884999575,0.355406156804591
+-0.12881279738936946,0.25059961135441966
+1.678565361420979,-1.8880946089411734
+0.5581459114769733,1.524023444216612
+-0.6260548040550844,1.7222577095914082
+0.6190584100718841,1.7267400303146085
+0.9746876227440122,-0.4412849042982151
+-0.8282654908911393,0.3389725091520287
+1.1869593245697352,-1.021515197234065
+-0.39970974433568485,1.664985654385996
+1.541267544517385,-0.6059865850829651
+-0.18503720500735915,-0.13134110661167075
+1.7369584912066447,-1.8769610696089822
+1.36883829280633,-0.9950828123662447
+0.5358003424853817,-0.24575523822548123
+0.6828256332362173,0.9003369100144446
+0.7960064213653864,1.1126266912744258
+0.15285220647911835,-0.03973747912487152
+1.1605753178646832,-0.9725815255934434
+1.3610432849897933,-0.0842901407942599
+-0.4186483101490449,1.2938548221190045
+-0.27115754493839567,0.9875500109444929
+-0.3384635672922257,0.7197335926680857
+0.8556036051500572,0.7531955836249029
+0.3787145856439459,0.5084936016472043
+1.6363889643904082,-2.3638807902395715
+0.6148262154534025,-0.1955013630564744
+0.4637741724000928,1.9085429393926077
+0.5014629964644958,0.32793452867151696
+0.8106002855398591,-0.5841932455093004
+1.2588605884999575,0.355406156804591
+-0.12881279738936946,0.25059961135441966
+1.678565361420979,-1.8880946089411734
+0.7193365129325211,1.9366575926418952
+-0.6260548040550844,1.7222577095914082
+-0.3547141451917042,0.7493134111161591
+0.6638971279666309,1.5741626111938554
+-0.10805417156105723,1.1608407654471242
+0.9876645862449196,0.7559412808198647
+-0.39970974433568485,1.664985654385996
+1.6678873232674531,-2.165954990483643
+-0.18503720500735915,-0.13134110661167075
+-0.13988403354179357,0.9969942693063744
+-0.5060042185268339,1.078954550679585
+0.5358003424853817,-0.24575523822548123
+-0.7737558106804068,0.8090488424692676
+0.7960064213653864,1.1126266912744258
+0.6488501643481727,1.3845924661588316
+1.5215614391492123,-1.8697323847088887
+1.3610432849897933,-0.0842901407942599
+-0.4186483101490449,1.2938548221190045
+-0.27115754493839567,0.9875500109444929
+-0.3219868960005043,0.9135366985875116
+-0.13532516892177027,0.3903603724630462
+0.4295744136830384,-0.542922074437177
+1.6363889643904082,-2.3638807902395715
+0.6148262154534025,-0.1955013630564744
+0.4637741724000928,1.9085429393926077
+-0.4611334654860101,1.155782702198751
+0.8106002855398591,-0.5841932455093004
+1.2588605884999575,0.355406156804591
+-0.12881279738936946,0.25059961135441966
+1.678565361420979,-1.8880946089411734
+0.23312050085041747,0.04003998258724037
+0.4060537709463934,0.7814093763896994
+-0.3547141451917042,0.7493134111161591
+0.6638971279666309,1.5741626111938554
+0.8919309723998019,-0.33232617177391827
+0.9876645862449196,0.7559412808198647
+-0.39970974433568485,1.664985654385996
+-0.7412941655912556,0.07511661902303679
+1.5476980571445735,-1.8738336277340146
+1.169108963014239,-0.5494880045639163
+-0.5060042185268339,1.078954550679585
+0.5358003424853817,-0.24575523822548123
+1.0644118828667126,-1.360845405912082
+0.7960064213653864,1.1126266912744258
+0.3711599789875534,0.11355943503702626
+1.5215614391492123,-1.8697323847088887
+0.5572520592945952,0.10600265317128171
+-0.4186483101490449,1.2938548221190045
+-0.6534727819978858,0.5498392606918383
+-0.16788094019575506,2.103098659453414
+-0.13532516892177027,0.3903603724630462
+0.6225908452698639,-0.2532021680335341
+1.0105487821452699,1.0592640528561033
+-0.48237230530231723,1.6588423154788534
+0.4637741724000928,1.9085429393926077
+-0.4611334654860101,1.155782702198751
+0.8106002855398591,-0.5841932455093004
+0.3437078799557153,0.02205738427300502
+-0.12881279738936946,0.25059961135441966
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+0.22864308093926478,0.003975640589536755
+-0.3547141451917042,0.7493134111161591
+-0.5573687956630493,1.3217190632624432
+0.27127857674019595,2.0091650882612333
+0.9876645862449196,0.7559412808198647
+-0.6377096412921925,-0.1255616310761165
+-0.7412941655912556,0.07511661902303679
+0.7563371390598115,0.0861910534187034
+1.169108963014239,-0.5494880045639163
+1.559442388053789,-2.0418210104909855
+0.5358003424853817,-0.24575523822548123
+1.0644118828667126,-1.360845405912082
+1.648497283620983,-1.5161818667065474
+-0.15482549483924504,2.2888601591745084
+-0.26254046641240625,1.9320992523124776
+0.05045391741275357,0.6665172367744472
+0.1193628560410076,2.243104979828651
+-0.6534727819978858,0.5498392606918383
+-0.16788094019575506,2.103098659453414
+-0.13532516892177027,0.3903603724630462
+0.6225908452698639,-0.2532021680335341
+-0.3359327704501455,1.5663407798985423
+0.3154252249871296,1.4288341072902075
+0.564522867381941,0.03839270640110648
+0.587786384849223,1.7708263697806172
+0.8106002855398591,-0.5841932455093004
+0.9143655457604907,0.8322847399891071
+0.7422418851813647,-0.8392350677730767
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+0.22864308093926478,0.003975640589536755
+-0.694980907744597,1.3174803686219643
+0.0044757651646786245,1.7509915264753109
+1.416569050254513,-0.1667307196380664
+0.9876645862449196,0.7559412808198647
+-0.6377096412921925,-0.1255616310761165
+-0.7412941655912556,0.07511661902303679
+0.7563371390598115,0.0861910534187034
+0.8808596912310804,1.4795048943962985
+1.559442388053789,-2.0418210104909855
+1.3453455529570835,-0.18646456018737328
+0.6961337622012278,-0.12343133766396203
+1.648497283620983,-1.5161818667065474
+-0.6985509815006002,0.07442527335898758
+-0.26254046641240625,1.9320992523124776
+0.05045391741275357,0.6665172367744472
+0.1193628560410076,2.243104979828651
+-0.6534727819978858,0.5498392606918383
+-0.16788094019575506,2.103098659453414
+-0.4026940820222755,1.7541831877966592
+0.6225908452698639,-0.2532021680335341
+-0.3359327704501455,1.5663407798985423
+0.8760163559915657,-0.47591691552502047
+1.3285391737135308,-0.5759763243692402
+0.1400542402908473,1.8635251189215098
+0.10165455472283547,-0.275484549646829
+0.9143655457604907,0.8322847399891071
+1.1717304017565393,-0.6085181247075092
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+-0.8200986226756357,1.2566457581275436
+1.52212372056922,-0.521671956280855
+1.3234086544195482,-0.7566204946922315
+1.3102784209544223,-0.8064925810260182
+0.9876645862449196,0.7559412808198647
+-0.6377096412921925,-0.1255616310761165
+-0.7412941655912556,0.07511661902303679
+0.4189816289888445,1.4233809974470506
+0.09219159689365625,0.19960343600142946
+1.559442388053789,-2.0418210104909855
+1.3453455529570835,-0.18646456018737328
+0.4290388541746429,-0.311900894425089
+1.648497283620983,-1.5161818667065474
+-0.6985509815006002,0.07442527335898758
+-0.26254046641240625,1.9320992523124776
+0.05045391741275357,0.6665172367744472
+0.5888657373602586,-0.4870436515475405
+-0.14927546954897436,1.127387191901988
+-0.16788094019575506,2.103098659453414
+-0.6290019962687908,0.7921567852477119
+0.3600365098518069,1.170297182535415
+-0.3359327704501455,1.5663407798985423
+-0.0949164295951892,0.7021146123391256
+1.2998926596789695,-0.6745643406230093
+0.3074461321667088,0.15139820888619815
+0.10165455472283547,-0.275484549646829
+0.9143655457604907,0.8322847399891071
+1.1717304017565393,-0.6085181247075092
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+-0.6649248959590314,0.3592628494715377
+1.2479148177651476,-0.11223507218726653
+1.5306213292746023,-1.5973779459293396
+-0.2922352557222934,1.420349035486943
+0.9876645862449196,0.7559412808198647
+-0.7689080948938223,1.1982320273145173
+-0.7412941655912556,0.07511661902303679
+0.4189816289888445,1.4233809974470506
+-0.6254930788554166,0.4358108919900645
+1.559442388053789,-2.0418210104909855
+1.558508150831843,-2.319799360085433
+-0.27240456707577554,0.9857378980636416
+1.3895683865939386,-0.5759899325821521
+-0.6541405713142582,1.1110962250761687
+-0.26254046641240625,1.9320992523124776
+1.7688283353368435,-2.2497296243013074
+-0.203351944229609,1.599614988056711
+-0.14927546954897436,1.127387191901988
+-0.16788094019575506,2.103098659453414
+1.2605875380606029,-0.6092558893095629
+0.19547703193802335,0.31274228742355836
+-0.29639681313600547,-0.48247855698630937
+-0.0949164295951892,0.7021146123391256
+0.45460378823879577,0.7250567557418831
+0.9749513883121972,0.560745132531547
+0.14328272596699754,1.633472737868579
+0.9143655457604907,0.8322847399891071
+1.1717304017565393,-0.6085181247075092
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+0.1683965683037506,2.171936819619882
+1.695360404780069,-1.728288624709687
+0.4625930763070169,-0.36944877402126297
+-0.2922352557222934,1.420349035486943
+-0.3702892980907572,1.5973433578297007
+-0.1844729224378776,2.0608351129102953
+-0.7412941655912556,0.07511661902303679
+0.05448566812781068,1.2395514167283512
+-0.6254930788554166,0.4358108919900645
+1.559442388053789,-2.0418210104909855
+1.558508150831843,-2.319799360085433
+-0.27240456707577554,0.9857378980636416
+-0.3634171416445362,2.0674176943424896
+-0.6541405713142582,1.1110962250761687
+1.331458635685729,-0.12865961910173396
+1.7688283353368435,-2.2497296243013074
+0.7363694670166809,-0.14374251656482284
+-0.14927546954897436,1.127387191901988
+0.9210217875698258,0.7785776521004814
+0.08153604452661911,0.5301375675326239
+-0.4611526784596138,-0.27931519919272374
+0.047492993100796965,1.4343782980445083
+-0.0949164295951892,0.7021146123391256
+0.45460378823879577,0.7250567557418831
+0.0260969526503253,1.6793456977628913
+0.14328272596699754,1.633472737868579
+1.5017870171726502,-1.7524220736763971
+1.1717304017565393,-0.6085181247075092
+1.678565361420979,-1.8880946089411734
+-0.42345793478746657,0.859219560864061
+0.1683965683037506,2.171936819619882
+1.3242755587155068,-0.49754809070398615
+0.4625930763070169,-0.36944877402126297
+-0.00858016728053912,0.08333138442415144
+-0.3702892980907572,1.5973433578297007
+-0.1844729224378776,2.0608351129102953
+-0.7412941655912556,0.07511661902303679
+0.05448566812781068,1.2395514167283512
+-0.07772438043028275,0.7470233526923953
+0.7076037512450166,-0.02638992132084017
+1.558508150831843,-2.319799360085433
+1.6944539140139232,-2.047727606518067
+-0.3634171416445362,2.0674176943424896
+-0.6541405713142582,1.1110962250761687
+-0.0926318567629163,0.39958669297240856
+1.3058834477173389,-1.4355479612121689
+0.5629236189734015,-0.48505973387107837
+0.7538993496960096,-0.5967050972234229
+0.9210217875698258,0.7785776521004814
+-0.020041811864123404,2.2892323958308833
+-0.4611526784596138,-0.27931519919272374
+0.047492993100796965,1.4343782980445083
+0.17842414256763744,0.005137231437328582
+1.0280142952647258,-0.9516628868911707
+0.0260969526503253,1.6793456977628913
+0.19350350763907473,1.3246224549480448
+0.5645383932163711,1.3314342740717615
+-0.35327440299397256,1.9935029070748629
+-0.2839168934288952,0.42639512967291116
+-0.38708064151726346,1.0827839382139546
+0.1683965683037506,2.171936819619882
+1.3242755587155068,-0.49754809070398615
+0.4625930763070169,-0.36944877402126297
+-0.00858016728053912,0.08333138442415144
+-0.03951907070759836,1.7380814618181994
+-0.1844729224378776,2.0608351129102953
+-0.7412941655912556,0.07511661902303679
+1.4506305480943535,-1.7183123289325972
+2.049011776680002,-3.885240303795792
+0.21259473189614453,1.8513382450123417
+1.164225293666243,-1.2444088086312202
+1.6944539140139232,-2.047727606518067
+-0.5523404983237298,1.4615082781560962
+-0.6541405713142582,1.1110962250761687
+-0.5355865329262645,1.1766808872225885
+-0.5060011070654636,1.462951285162123
+0.5629236189734015,-0.48505973387107837
+0.7538993496960096,-0.5967050972234229
+0.9210217875698258,0.7785776521004814
+-0.020041811864123404,2.2892323958308833
+-0.4611526784596138,-0.27931519919272374
+0.047492993100796965,1.4343782980445083
+0.17842414256763744,0.005137231437328582
+1.0280142952647258,-0.9516628868911707
+0.0260969526503253,1.6793456977628913
+1.8013073059060742,-2.118547277802682
+1.4802808490322479,-0.91786447082199
+-0.36125187694292493,1.5521323575295785
+-0.2839168934288952,0.42639512967291116
+-0.8852132304485173,0.7928920330793104
+0.1683965683037506,2.171936819619882
+1.3242755587155068,-0.49754809070398615
+0.4625930763070169,-0.36944877402126297
+-0.00858016728053912,0.08333138442415144
+-0.03951907070759836,1.7380814618181994
+-0.1844729224378776,2.0608351129102953
+1.8047754883325178,-2.349521344422179
+-8.04155332357892e-05,1.7203023457708577
+2.049011776680002,-3.885240303795792
+0.21259473189614453,1.8513382450123417
+1.164225293666243,-1.2444088086312202
+1.6944539140139232,-2.047727606518067
+-0.5523404983237298,1.4615082781560962
+-0.6541405713142582,1.1110962250761687
+-0.5355865329262645,1.1766808872225885
+-0.5060011070654636,1.462951285162123
+0.5629236189734015,-0.48505973387107837
+0.7538993496960096,-0.5967050972234229
+0.9210217875698258,0.7785776521004814
+-0.020041811864123404,2.2892323958308833
+-0.4611526784596138,-0.27931519919272374
+0.047492993100796965,1.4343782980445083
+0.17842414256763744,0.005137231437328582
+1.0280142952647258,-0.9516628868911707
+0.0260969526503253,1.6793456977628913
+1.0858095816563167,0.6626876169431697
+1.4802808490322479,-0.91786447082199
+0.7893466723029454,-1.0930412354876706
+1.402217651404589,-0.7162659293908696
+-0.8852132304485173,0.7928920330793104
+0.1683965683037506,2.171936819619882
+1.3242755587155068,-0.49754809070398615
+0.4625930763070169,-0.36944877402126297
+-0.00858016728053912,0.08333138442415144
+-0.08051271179286079,0.6433099915987023
+0.7570099234278429,-0.059003847085585814
+1.8047754883325178,-2.349521344422179
+-0.5696748674574812,1.1835388614880906
+2.049011776680002,-3.885240303795792
+-0.1340695129610993,1.8552971231921103
+1.164225293666243,-1.2444088086312202
+1.2235789529828902,-0.41127816244134774
+1.896086659930467,-2.229993573731642
+0.7861745245252145,-0.31893638852096023
+-0.015397451280685731,0.453332269391251
+-0.5060011070654636,1.462951285162123
+-0.5116466608093371,0.6651642893721119
+-0.19498041019812984,0.1780096905284632
+0.9210217875698258,0.7785776521004814
+-0.020041811864123404,2.2892323958308833
+1.8420691729261554,-2.749512855928177
+0.047492993100796965,1.4343782980445083
+0.17842414256763744,0.005137231437328582
+0.6223020259712988,-0.17851253791089117
+0.0260969526503253,1.6793456977628913
+1.0858095816563167,0.6626876169431697
+1.4802808490322479,-0.91786447082199
+0.13517996407676663,-0.6024790635235079
+1.402217651404589,-0.7162659293908696
+0.2794340083638295,1.9901751700011274
+0.1683965683037506,2.171936819619882
+-0.3300913375073545,2.207897094155329
+0.4625930763070169,-0.36944877402126297
+-0.00858016728053912,0.08333138442415144
+2.090443568378248,-3.449156543144909
+-0.9069586840961754,0.0990898498029773
+1.8047754883325178,-2.349521344422179
+-0.5696748674574812,1.1835388614880906
+-0.1808650588074966,0.8434372215254209
+-0.1340695129610993,1.8552971231921103
+1.2278229266851322,-0.5532786257985889
+0.009373857251201823,0.18596742609781836
+1.5001153424009246,-1.0625351012347855
+-0.07612947623552623,1.9694945283239909
+0.9835963896905404,0.6104015790396051
+-0.5060011070654636,1.462951285162123
+0.878105811133429,-0.32873571238269506
+-0.19498041019812984,0.1780096905284632
+0.9210217875698258,0.7785776521004814
+-0.020041811864123404,2.2892323958308833
+-0.4319740354494277,2.130403998425613
+1.4739374163951546,-1.602385913862028
+0.17842414256763744,0.005137231437328582
+0.6223020259712988,-0.17851253791089117
+0.0260969526503253,1.6793456977628913
+-0.46538385114128233,0.5751914537119884
+-0.17093538352464305,0.670175891061151
+0.6271824121778391,1.4071395735874614
+0.8560481018788929,1.2454598910212664
+-0.1826136832799037,0.21150770488268136
+0.1683965683037506,2.171936819619882
+-0.15180780229360996,1.8768370952456963
+1.1968142553287406,-1.2910145822388017
+-0.00858016728053912,0.08333138442415144
+0.7813074161284075,1.4989251615145975
+-0.9069586840961754,0.0990898498029773
+0.7769566774793111,-0.7543379122314388
+-0.5696748674574812,1.1835388614880906
+0.4743598715926189,2.0443061474242676
+0.8505562512504073,-0.5536412736818379
+1.2278229266851322,-0.5532786257985889
+0.29109081131322184,-0.14044277452018838
+1.5001153424009246,-1.0625351012347855
+-0.07612947623552623,1.9694945283239909
+1.3601608932047535,-1.9379171230035759
+-0.5060011070654636,1.462951285162123
+0.878105811133429,-0.32873571238269506
+-0.19498041019812984,0.1780096905284632
+-0.44787276233701845,0.46468520683310166
+1.021790191756107,-1.2129947473150318
+0.48273436305554573,0.44444119109152014
+1.4739374163951546,-1.602385913862028
+0.17842414256763744,0.005137231437328582
+0.44313170028109583,-0.09572884844169818
+0.0260969526503253,1.6793456977628913
+0.2185408044726837,0.46493661341836023
+-0.17093538352464305,0.670175891061151
+0.6271824121778391,1.4071395735874614
+0.8560481018788929,1.2454598910212664
+-0.1826136832799037,0.21150770488268136
+0.1683965683037506,2.171936819619882
+1.0726544716413204,-0.6401733502348887
+0.09680752322005948,0.1500686176872839
+-0.566380704739904,0.5678641978399777
+0.14062756540697396,2.1763065885138815
+-0.9069586840961754,0.0990898498029773
+0.7769566774793111,-0.7543379122314388
+-0.676742967912933,0.8834260139979178
+-0.12214633037647493,2.228262845905944
+1.5876673598415751,-1.2920532766600998
+1.2278229266851322,-0.5532786257985889
+0.853796685686747,0.05535397833472902
+0.36337207706291963,2.330136003398602
+1.2638135742824346,-0.6808777889122442
+1.3601608932047535,-1.9379171230035759
+-0.5060011070654636,1.462951285162123
+-0.1438108828444459,0.030823990992137423
+-0.19498041019812984,0.1780096905284632
+-0.44787276233701845,0.46468520683310166
+1.2462768052192479,-0.7797535764567307
+0.48273436305554573,0.44444119109152014
+0.5770645896522135,0.038336996725089945
+0.17842414256763744,0.005137231437328582
+0.44313170028109583,-0.09572884844169818
+0.4212933252411263,-0.20812127550665643
+1.0289277529300782,0.37631794848730205
+1.0582653882686166,0.8134861718838841
+0.6271824121778391,1.4071395735874614
+0.8560481018788929,1.2454598910212664
+0.518038862888999,1.7209763906265656
+0.1683965683037506,2.171936819619882
+-0.7184702782669954,1.8135406415437372
+0.09680752322005948,0.1500686176872839
+0.8195714544035863,0.14742921901883332
+0.14062756540697396,2.1763065885138815
+1.3424963934131373,-1.3990451765841898
+1.0680344084989555,-0.48907948206787466
+-0.676742967912933,0.8834260139979178
+1.5080757730500367,-1.9307635833988785
+1.5876673598415751,-1.2920532766600998
+-0.22582518439889548,2.2056817776478477
+1.2902938363428087,0.5254559454662824
+1.4032896513246154,-0.6701771676127816
+1.2638135742824346,-0.6808777889122442
+1.97440850229908,-3.774040371149982
+-0.5060011070654636,1.462951285162123
+-0.1438108828444459,0.030823990992137423
+-0.19498041019812984,0.1780096905284632
+-0.44787276233701845,0.46468520683310166
+0.8693776552074871,-0.8328672916491996
+-0.2472533879914226,0.9776154883240104
+0.5770645896522135,0.038336996725089945
+0.17842414256763744,0.005137231437328582
+-0.4322475204422065,1.3098073492428735
+0.6321652758705276,1.639270176647094
+1.0289277529300782,0.37631794848730205
+1.0582653882686166,0.8134861718838841
+0.40504289886582306,1.2530838322090028
+0.8560481018788929,1.2454598910212664
+0.518038862888999,1.7209763906265656
+0.41155157249589036,0.20454185835052885
+1.014961219535289,-1.0292468614343386
+0.09680752322005948,0.1500686176872839
+-0.42210658625507486,-0.3579435832648805
+-0.3589498157957206,1.0284262467410328
+1.611458536666871,-1.663152181135711
+0.08623050105927972,0.22452337610331394
+-0.676742967912933,0.8834260139979178
+1.5080757730500367,-1.9307635833988785
+1.5876673598415751,-1.2920532766600998
+-0.22582518439889548,2.2056817776478477
+-0.4258078138185887,0.9429895275126006
+1.4032896513246154,-0.6701771676127816
+1.365638342679516,-0.8741794701475263
+1.97440850229908,-3.774040371149982
+-0.5060011070654636,1.462951285162123
+-0.05444313377583759,0.34900492775404357
+0.5513064808995283,-0.6195641781321617
+-0.44787276233701845,0.46468520683310166
+-0.2543386453055729,0.1412933651969342
+0.29663554456750607,1.7677558406829164
+-0.24209355202522453,2.2573743621804887
+0.17842414256763744,0.005137231437328582
+-0.4322475204422065,1.3098073492428735
+0.5589516730832023,2.0259346958657725
+-0.33589214502322634,1.2937091415875206
+1.0582653882686166,0.8134861718838841
+1.45875860545943,-0.8831904075931521
+0.8560481018788929,1.2454598910212664
+-0.18801147563292148,-0.5210353130864044
+-0.653883853078537,1.2012581211895503
+1.014961219535289,-1.0292468614343386
+0.17043715952657235,1.8833188831899237
+-0.42210658625507486,-0.3579435832648805
+0.9986411295414497,1.1732747685679543
+1.611458536666871,-1.663152181135711
+0.08623050105927972,0.22452337610331394
+-0.676742967912933,0.8834260139979178
+1.5080757730500367,-1.9307635833988785
+1.419972914338497,-1.3824202370186662
+-0.22582518439889548,2.2056817776478477
+0.05035979923521278,2.0727169667385543
+1.4032896513246154,-0.6701771676127816
+1.365638342679516,-0.8741794701475263
+1.8305986885029761,-1.7748783553821417
+1.829948959621308,-1.9642928230546164
+-0.45337111966109295,0.3864107431894086
+-0.24969093943718823,1.9109124264814679
+-0.44787276233701845,0.46468520683310166
+0.012703774929543991,2.161944448335232
+1.201179666376245,-1.1774209081838007
+-0.24209355202522453,2.2573743621804887
+0.17842414256763744,0.005137231437328582
+-0.16748456487907282,0.223786466744042
+0.5589516730832023,2.0259346958657725
+-0.3754834571606305,1.6073704296580016
+-0.07200193834022056,-0.12571110353073323
+1.45875860545943,-0.8831904075931521
+0.8560481018788929,1.2454598910212664
+-0.18801147563292148,-0.5210353130864044
+-0.653717739101131,1.364784971033546
+1.014961219535289,-1.0292468614343386
+0.6596520727062192,-0.09180569232777314
+-0.42210658625507486,-0.3579435832648805
+0.9986411295414497,1.1732747685679543
+1.611458536666871,-1.663152181135711
+-0.6484737677879658,0.3347008186117981
+-0.676742967912933,0.8834260139979178
+1.5080757730500367,-1.9307635833988785
+1.419972914338497,-1.3824202370186662
+0.5706071045336424,0.555272753825821
+0.05035979923521278,2.0727169667385543
+0.7759017598182336,0.5126640000239837
+1.044220964054154,0.21390909912651168
+1.1555325672747911,-1.7649516356069497
+-0.2806692589751838,1.0336094206343038
+-0.45337111966109295,0.3864107431894086
+-0.6817039397861747,1.6844217748650405
+1.03202744057318,-0.3339293731069196
+0.012703774929543991,2.161944448335232
+0.8151239517604313,-0.09776060376309881
+1.470101668259923,-1.9667809946834791
+0.18673238457165187,0.060390723556929315
+-0.16748456487907282,0.223786466744042
+0.5998165365314183,-0.7379173928666377
+0.07631832147245399,1.2102560852575943
+1.3667604942138898,-0.9309225505565494
+0.5240929383760455,-0.5683773720265595
+0.8560481018788929,1.2454598910212664
+-0.18801147563292148,-0.5210353130864044
+-0.653717739101131,1.364784971033546
+1.014961219535289,-1.0292468614343386
+0.6596520727062192,-0.09180569232777314
+1.0170955460695992,-0.9863842871219077
+0.9986411295414497,1.1732747685679543
+1.611458536666871,-1.663152181135711
+-0.6484737677879658,0.3347008186117981
+-0.676742967912933,0.8834260139979178
+0.8039337191948972,-0.5790616556411164
+-0.900223670823226,1.2871803665381494
+1.5344002740853164,-1.356724666093747
+-1.0048946074728877,0.7262481383421638
+0.2398399879119757,-0.09532101364460366
+-0.49502863939288044,0.753021657731093
+1.5471923392136424,-0.37363058868793053
+1.4574849268683634,-0.5198102005382363
+-0.45337111966109295,0.3864107431894086
+0.36503803293711623,0.22153442220610042
+-0.6779313057303834,0.6887134403505675
+0.012703774929543991,2.161944448335232
+-0.14271278489002603,0.3186142147177592
+1.470101668259923,-1.9667809946834791
+0.18673238457165187,0.060390723556929315
+-0.3614874516097657,0.8454574997861269
+1.0676214600925473,-0.953900702644161
+0.07631832147245399,1.2102560852575943
+-0.07743070471189195,-0.17211092451957843
+0.676610343037362,-0.31749210353637136
+0.8560481018788929,1.2454598910212664
+-0.23847104209103498,0.32847852253421356
+-0.653717739101131,1.364784971033546
+1.014961219535289,-1.0292468614343386
+0.6596520727062192,-0.09180569232777314
+-0.43135857474705436,1.7919603691573753
+0.9986411295414497,1.1732747685679543
+1.611458536666871,-1.663152181135711
+1.5471224224980025,-1.5064532537144681
+0.1592616549711257,-0.012800507556092258
+0.8039337191948972,-0.5790616556411164
+-0.900223670823226,1.2871803665381494
+-1.0915171619674218,0.8912761077706133
+-1.0048946074728877,0.7262481383421638
+0.6180881539466245,-0.497277294432257
+-0.34007836784764356,0.12257439352686689
+1.5471923392136424,-0.37363058868793053
+1.4574849268683634,-0.5198102005382363
+-0.45337111966109295,0.3864107431894086
+0.36503803293711623,0.22153442220610042
+-0.6779313057303834,0.6887134403505675
+-0.47421250574439067,0.3871264662411763
+1.0620890755021866,-0.7608528295200645
+1.470101668259923,-1.9667809946834791
+0.18673238457165187,0.060390723556929315
+-0.3402127123214089,1.2801305061325328
+1.0676214600925473,-0.953900702644161
+-0.1888139570229667,-0.3569377989417827
+1.1313716962130744,-0.6158163692425815
+0.42237943552492174,-0.629505746398559
+0.8560481018788929,1.2454598910212664
+1.758939015590911,-1.5806130452666451
+-0.653717739101131,1.364784971033546
+-0.16738732364375733,1.574671531299638
+0.1660660389033242,0.2203758734389382
+-0.43135857474705436,1.7919603691573753
+0.9986411295414497,1.1732747685679543
+0.09589982423914578,0.30987010378808805
+1.3945963459933544,-0.6723773274289201
+0.1592616549711257,-0.012800507556092258
+0.8039337191948972,-0.5790616556411164
+-0.7197055651688149,0.9585378994437348
+-0.9285477617875713,0.9089988174416146
+0.3255946547558935,-0.11781879011335936
+0.6180881539466245,-0.497277294432257
+-0.34007836784764356,0.12257439352686689
+0.9968231281154774,-0.4958382341235276
+-0.6268218068733374,0.202411255374029
+0.18562970895410866,0.34686759352464536
+0.36503803293711623,0.22153442220610042
+-0.6779313057303834,0.6887134403505675
+-0.47421250574439067,0.3871264662411763
+0.7239897189485109,1.2332064820026398
+1.470101668259923,-1.9667809946834791
+0.24628792457073465,-0.20256198041173185
+-0.3402127123214089,1.2801305061325328
+1.0676214600925473,-0.953900702644161
+-0.1888139570229667,-0.3569377989417827
+-0.2917819438680248,1.2817877292921822
+-0.20075914160271047,0.02105644656396599
+0.8560481018788929,1.2454598910212664
+1.758939015590911,-1.5806130452666451
+-0.653717739101131,1.364784971033546
+0.8697119076180735,0.042640080807585606
+-0.5307555121378609,0.878834475764618
+0.15559284481746488,0.7955885583620388
+0.9986411295414497,1.1732747685679543
+-0.34891023139132804,1.2969737924439435
+1.3945963459933544,-0.6723773274289201
+0.1592616549711257,-0.012800507556092258
+-0.38762963895973856,0.07214436443295591
+-0.7197055651688149,0.9585378994437348
+0.31985459555078566,0.7730934139627065
+0.09110433290737147,-0.06331726307144198
+0.7247632084824016,-0.5235896745128006
+0.4231842845602374,0.0343762059280428
+0.44517181348071255,-0.4154384527304613
+-0.6268218068733374,0.202411255374029
+1.229753834999006,-1.1310821655439791
+0.36503803293711623,0.22153442220610042
+-0.6779313057303834,0.6887134403505675
+0.6903936746435089,1.8161866885818965
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.24628792457073465,-0.20256198041173185
+-0.3402127123214089,1.2801305061325328
+1.0676214600925473,-0.953900702644161
+-0.1888139570229667,-0.3569377989417827
+-0.2917819438680248,1.2817877292921822
+-0.20075914160271047,0.02105644656396599
+0.8560481018788929,1.2454598910212664
+-0.5005008192975167,0.8471261919437952
+-0.653717739101131,1.364784971033546
+0.8697119076180735,0.042640080807585606
+1.4603238714233449,-0.5107013291180053
+1.6818733446126282,-0.8731185428794586
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+-0.6504934219816754,1.1494285667040554
+-0.38762963895973856,0.07214436443295591
+-0.7197055651688149,0.9585378994437348
+0.46398498163979873,1.890751904404921
+0.09110433290737147,-0.06331726307144198
+0.7247632084824016,-0.5235896745128006
+0.9630563746556771,-0.7650337916122629
+0.1431002609750949,0.3303314142604814
+-0.7102132572406104,0.5846225012458358
+0.12351791878106355,1.7866198410175345
+0.36503803293711623,0.22153442220610042
+1.0705817696190707,-0.12563727914217784
+0.6903936746435089,1.8161866885818965
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+-0.7360537626419488,0.8917064267920487
+-0.3402127123214089,1.2801305061325328
+1.0676214600925473,-0.953900702644161
+0.7830467597320323,-0.23864136974679806
+-0.2917819438680248,1.2817877292921822
+0.6232864007632727,1.4844270470511347
+0.8560481018788929,1.2454598910212664
+-0.5005008192975167,0.8471261919437952
+-0.653717739101131,1.364784971033546
+1.648644789581698,-2.933857416306759
+0.06889792283331753,1.4716280042362795
+0.5561782001734908,1.7138838028573642
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+0.6088396995803338,-0.21457694015728723
+-0.38762963895973856,0.07214436443295591
+0.9317524179781731,-0.6474394915451013
+0.46398498163979873,1.890751904404921
+0.09110433290737147,-0.06331726307144198
+0.7247632084824016,-0.5235896745128006
+0.21105877693177244,-0.26412609623848576
+-0.5455010309569949,1.592695636436949
+-0.7102132572406104,0.5846225012458358
+0.05653762278498842,-0.3443878997620866
+0.8586931869727913,0.8618053175313726
+-0.6744327297493751,0.2714088110059659
+0.6903936746435089,1.8161866885818965
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.5414352357100004,-0.5779185963094464
+-0.3402127123214089,1.2801305061325328
+1.0676214600925473,-0.953900702644161
+0.7830467597320323,-0.23864136974679806
+0.015201297407221787,-0.008845047346208279
+0.6232864007632727,1.4844270470511347
+0.8560481018788929,1.2454598910212664
+-0.7570041582068748,0.007256452009163472
+-0.653717739101131,1.364784971033546
+1.648644789581698,-2.933857416306759
+0.06889792283331753,1.4716280042362795
+0.5561782001734908,1.7138838028573642
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+0.09855389501933876,-0.45369585908370536
+-0.38762963895973856,0.07214436443295591
+0.9317524179781731,-0.6474394915451013
+0.46398498163979873,1.890751904404921
+-0.09781874562385195,1.090031553670155
+0.7247632084824016,-0.5235896745128006
+0.21105877693177244,-0.26412609623848576
+-0.38073787267420645,0.9693531481974794
+-0.7102132572406104,0.5846225012458358
+0.19000013323282355,-0.2372890877021351
+0.8586931869727913,0.8618053175313726
+0.2989990028273048,-0.25226458753196
+0.6903936746435089,1.8161866885818965
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.5414352357100004,-0.5779185963094464
+-0.2620847095827641,0.3546476350859886
+1.0880978981479652,0.36601655329459964
+0.5325273832254788,1.4045593124216134
+0.015201297407221787,-0.008845047346208279
+0.6232864007632727,1.4844270470511347
+0.8560481018788929,1.2454598910212664
+-0.7570041582068748,0.007256452009163472
+-0.653717739101131,1.364784971033546
+1.648644789581698,-2.933857416306759
+1.0250225876447754,-0.23648365410959205
+0.5561782001734908,1.7138838028573642
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+0.09855389501933876,-0.45369585908370536
+-0.38762963895973856,0.07214436443295591
+0.9317524179781731,-0.6474394915451013
+0.46398498163979873,1.890751904404921
+-0.028743306007800895,-0.10204350366292753
+0.7247632084824016,-0.5235896745128006
+0.568066957697736,1.5819475099161493
+-0.38073787267420645,0.9693531481974794
+-0.7102132572406104,0.5846225012458358
+0.19000013323282355,-0.2372890877021351
+0.8586931869727913,0.8618053175313726
+-0.7358141301983867,0.5569046060173629
+1.5329510348138036,-0.6893921321414127
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.885327456242335,-0.637463291398158
+0.24496380952515223,-0.2407360450416153
+0.2527054228706625,0.0040614831643226434
+0.5325273832254788,1.4045593124216134
+0.015201297407221787,-0.008845047346208279
+0.6232864007632727,1.4844270470511347
+0.8560481018788929,1.2454598910212664
+-0.7570041582068748,0.007256452009163472
+-0.653717739101131,1.364784971033546
+1.648644789581698,-2.933857416306759
+-0.6743344800866293,0.06998200300253027
+0.27215822704042786,-0.544393046428275
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+0.09855389501933876,-0.45369585908370536
+-0.38762963895973856,0.07214436443295591
+0.9317524179781731,-0.6474394915451013
+0.46398498163979873,1.890751904404921
+1.1011852957597965,0.056712184449092484
+0.7247632084824016,-0.5235896745128006
+1.3338451794902588,-0.13259676409096643
+-0.38073787267420645,0.9693531481974794
+-0.7102132572406104,0.5846225012458358
+0.19000013323282355,-0.2372890877021351
+0.8586931869727913,0.8618053175313726
+-0.7358141301983867,0.5569046060173629
+1.5329510348138036,-0.6893921321414127
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.885327456242335,-0.637463291398158
+0.24496380952515223,-0.2407360450416153
+-0.8213093299268885,0.4419122298331175
+0.5325273832254788,1.4045593124216134
+0.015201297407221787,-0.008845047346208279
+0.6232864007632727,1.4844270470511347
+1.3201450450699133,-0.21709356904606958
+1.0169750922879004,0.10038438808837502
+-0.653717739101131,1.364784971033546
+1.648644789581698,-2.933857416306759
+-0.6743344800866293,0.06998200300253027
+-0.6091691982692902,0.38423606529184073
+-1.035075249964916,0.10447266533829588
+-0.34891023139132804,1.2969737924439435
+-0.46273882143910516,0.10466625304498707
+0.09855389501933876,-0.45369585908370536
+-0.44077683370081217,0.16107236344805506
+1.5081517330840886,-0.906564625272494
+0.046700626724631045,1.5005460748334054
+0.982778887092941,-0.8976035141559958
+0.7247632084824016,-0.5235896745128006
+1.3338451794902588,-0.13259676409096643
+-0.38073787267420645,0.9693531481974794
+-0.7102132572406104,0.5846225012458358
+0.19000013323282355,-0.2372890877021351
+0.8586931869727913,0.8618053175313726
+-0.16563186567562688,0.3679628107950725
+-0.8463638570206969,0.3601108023964531
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.6946349072455197,-0.18188884312751144
+0.24496380952515223,-0.2407360450416153
+-0.8213093299268885,0.4419122298331175
+0.7629943441772629,0.9411928443429046
+0.4120039631922038,1.5023268027806949
+0.14093054963489815,-0.29114795790119885
+-0.1619831356749758,2.096223228395942
+1.0169750922879004,0.10038438808837502
+0.05397878952304175,1.8294666004355045
+-0.28212843230031776,0.28231995147721883
+0.3651819172828039,0.7380003015265293
+-0.6091691982692902,0.38423606529184073
+0.24737854110569735,-0.10912380388979226
+-0.34891023139132804,1.2969737924439435
+-0.3707045208211575,-0.2164747842794983
+0.09855389501933876,-0.45369585908370536
+-0.716201381413078,0.45949514306499717
+0.7535060626452784,0.680294590613166
+-0.23332147927153302,0.027727820376580947
+1.081380462631003,0.9765534938261291
+0.021098911358077788,0.6521534769841301
+1.3338451794902588,-0.13259676409096643
+-0.7177382415721595,-0.033688372997397076
+-0.1779411481128249,0.5779418998722117
+0.9749498834078303,0.7536770822452921
+0.8586931869727913,0.8618053175313726
+-0.008869612123593162,-0.2500830540933353
+-0.8463638570206969,0.3601108023964531
+1.2410802909801688,-0.43934295187340566
+1.470101668259923,-1.9667809946834791
+0.6946349072455197,-0.18188884312751144
+0.7865410629519389,1.3175597819295408
+-0.8213093299268885,0.4419122298331175
+0.7629943441772629,0.9411928443429046
+0.4120039631922038,1.5023268027806949
+0.14093054963489815,-0.29114795790119885
+-0.1619831356749758,2.096223228395942
+1.0169750922879004,0.10038438808837502
+0.05397878952304175,1.8294666004355045
+-0.28212843230031776,0.28231995147721883
+0.3651819172828039,0.7380003015265293
+-0.6091691982692902,0.38423606529184073
+0.0029362350246633986,2.309511900409696
+0.051018134835997375,0.2457333629567071
+-0.3707045208211575,-0.2164747842794983
+0.8080434002128011,-0.8263617358705012
+0.5348590594293052,-0.07408434789687901
+-0.002534577183773923,0.6445225359785992
+-0.4819979149120479,0.0743695694068609
+1.081380462631003,0.9765534938261291
+0.48200106232051704,-0.43631023211897685
+1.3338451794902588,-0.13259676409096643
+-0.6215472613529156,0.7259943737261566
+-0.1779411481128249,0.5779418998722117
+0.30877015891423987,0.006696173687606527
+1.6022426581817353,-0.9212579708265844
+-0.008869612123593162,-0.2500830540933353
+-0.8463638570206969,0.3601108023964531
+-0.09153508571804297,1.5510436249637771
+1.470101668259923,-1.9667809946834791
+0.7194413769812384,-0.935225327541186
+0.7865410629519389,1.3175597819295408
+-0.8213093299268885,0.4419122298331175
+1.6992141214023981,-2.3108521476770645
+0.4120039631922038,1.5023268027806949
+0.14093054963489815,-0.29114795790119885
+-0.1619831356749758,2.096223228395942
+-0.834658767323253,0.7922996385656426
+0.05397878952304175,1.8294666004355045
+-0.28212843230031776,0.28231995147721883
+-0.03753207015102218,0.03709220885653641
+-0.6091691982692902,0.38423606529184073
+0.0029362350246633986,2.309511900409696
+0.051018134835997375,0.2457333629567071
+1.4830294837339855,-1.2386941163243563
+0.8080434002128011,-0.8263617358705012
+0.5348590594293052,-0.07408434789687901
+-0.29809702555588224,0.0008332164284721444
+-0.4819979149120479,0.0743695694068609
+1.081380462631003,0.9765534938261291
+0.1449744080759548,1.0733891550835675
+1.3338451794902588,-0.13259676409096643
+-0.6215472613529156,0.7259943737261566
+-0.1779411481128249,0.5779418998722117
+-0.10975096092541248,1.965697784061367
+1.6022426581817353,-0.9212579708265844
+-0.4388535722910355,0.96731794515359
+-0.153064400730859,2.1194492089491415
+-0.5911644416483638,-0.2637949781839295
+1.470101668259923,-1.9667809946834791
+-0.046652626216363915,2.214501086473701
+0.7865410629519389,1.3175597819295408
+-0.7515211867053817,0.3519735683884471
+1.6992141214023981,-2.3108521476770645
+0.4120039631922038,1.5023268027806949
+0.14093054963489815,-0.29114795790119885
+-0.7258628685194892,-0.7195415562725395
+1.2942107832076932,0.06746051044681317
+0.05397878952304175,1.8294666004355045
+0.39551650011188266,0.4555753049865182
+-0.20814594277965565,-0.08209906002727499
+-0.6091691982692902,0.38423606529184073
+0.0029362350246633986,2.309511900409696
+0.051018134835997375,0.2457333629567071
+1.4830294837339855,-1.2386941163243563
+0.8080434002128011,-0.8263617358705012
+0.5348590594293052,-0.07408434789687901
+-0.309695588686708,1.8147347403330056
+-0.7540147311338374,0.9281433890273736
+1.081380462631003,0.9765534938261291
+0.1449744080759548,1.0733891550835675
+1.3338451794902588,-0.13259676409096643
+-0.6215472613529156,0.7259943737261566
+0.5111907720850086,1.1421332168146623
+-0.10975096092541248,1.965697784061367
+1.1120368478740172,-0.5733572324546443
+-0.4388535722910355,0.96731794515359
+1.2332950577354544,-1.604368924259763
+-0.5911644416483638,-0.2637949781839295
+1.470101668259923,-1.9667809946834791
+-0.046652626216363915,2.214501086473701
+-0.3208657284809635,2.090222039237265
+-0.04189229870044536,1.6926918313072163
+1.6992141214023981,-2.3108521476770645
+0.4120039631922038,1.5023268027806949
+0.14093054963489815,-0.29114795790119885
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+0.2987296661286323,-0.21333864508228187
+0.39551650011188266,0.4555753049865182
+-0.20814594277965565,-0.08209906002727499
+-0.6091691982692902,0.38423606529184073
+0.0029362350246633986,2.309511900409696
+0.051018134835997375,0.2457333629567071
+-0.6993822502518078,1.2841936646973477
+0.8080434002128011,-0.8263617358705012
+0.1680875139639057,1.8165603203818983
+-0.309695588686708,1.8147347403330056
+-0.7540147311338374,0.9281433890273736
+1.081380462631003,0.9765534938261291
+0.1449744080759548,1.0733891550835675
+1.3338451794902588,-0.13259676409096643
+0.834041478019732,0.6137178389918326
+0.5111907720850086,1.1421332168146623
+1.229960738702296e-05,-0.05638363165854777
+0.5570854242876586,-0.37228047677282816
+1.8359243240247527,-2.6240769668420523
+0.6686820374018354,1.1300688413451323
+-0.5911644416483638,-0.2637949781839295
+1.470101668259923,-1.9667809946834791
+-0.046652626216363915,2.214501086473701
+-0.3208657284809635,2.090222039237265
+-0.04189229870044536,1.6926918313072163
+-0.5466758448364721,0.690468074019571
+0.6648164358575676,1.3712412029985868
+0.14093054963489815,-0.29114795790119885
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+-0.044530312706156844,0.11875840073737978
+0.4087337676430649,1.4820351331698527
+-0.4497270582461355,1.0914667559753082
+-0.6091691982692902,0.38423606529184073
+0.30179740482741635,1.766736463852819
+-0.6710370712387331,-0.0006764641752606826
+-0.6993822502518078,1.2841936646973477
+0.8080434002128011,-0.8263617358705012
+0.9121963994165492,-1.0902660393095358
+-0.309695588686708,1.8147347403330056
+0.6652788430263039,-0.7865285797047318
+-0.23993690941173607,0.130573677628254
+0.3457793997139883,1.28887211316075
+1.3338451794902588,-0.13259676409096643
+0.027604698748650125,-0.31848358951963845
+0.5111907720850086,1.1421332168146623
+0.787698850870685,1.450117957445499
+0.07555377452364039,1.435317048694158
+0.9478924318683913,-1.128619342632793
+0.6686820374018354,1.1300688413451323
+-0.5911644416483638,-0.2637949781839295
+0.565742375668429,-0.49327840666385525
+-0.15913761051285197,2.096788826609292
+-0.3208657284809635,2.090222039237265
+-0.39700383214404383,1.7555781166381106
+-0.5466758448364721,0.690468074019571
+1.3285616216294491,-1.090748844640132
+0.14093054963489815,-0.29114795790119885
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+-0.044530312706156844,0.11875840073737978
+-0.1345296615426526,0.4591471146932984
+0.3067173258749555,-0.40144201614360264
+0.9398052065664707,-0.8692669027537969
+0.30179740482741635,1.766736463852819
+-0.6710370712387331,-0.0006764641752606826
+-0.38043278643039213,1.2217808151138438
+0.8080434002128011,-0.8263617358705012
+1.0086360353395016,-0.6435470246095868
+-0.731893800757003,1.5940795409565318
+0.5848261098617279,-0.5715360401259599
+-0.23993690941173607,0.130573677628254
+0.3457793997139883,1.28887211316075
+1.3338451794902588,-0.13259676409096643
+-0.20985544605386075,0.10408979683938069
+0.5111907720850086,1.1421332168146623
+-0.494802730769384,1.8677258488692416
+0.08060618131674063,0.21687897353129126
+-0.5548830049417329,0.17388315465706727
+0.6686820374018354,1.1300688413451323
+-0.5911644416483638,-0.2637949781839295
+0.565742375668429,-0.49327840666385525
+1.2084865052156952,-1.0970569041932254
+1.2824836432967437,-0.514272461069148
+-0.39700383214404383,1.7555781166381106
+-0.5466758448364721,0.690468074019571
+-0.6300848834048319,1.2414841311663258
+0.486143030152292,-0.09923131020734921
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+0.5141775068098953,1.448671463909901
+0.12076128125636998,1.030423158285819
+0.5774359024760681,0.1853032337435827
+0.9398052065664707,-0.8692669027537969
+0.30179740482741635,1.766736463852819
+0.6500251065496347,1.3107234137206265
+-0.38043278643039213,1.2217808151138438
+1.3678384270638206,-0.16623085887609926
+1.0086360353395016,-0.6435470246095868
+0.0976213813192019,0.8161248681335704
+-0.16616010172993856,-0.12239203678256866
+-0.021527687568058562,2.1085681509478604
+0.5303796412099745,-0.5655753516610306
+1.3338451794902588,-0.13259676409096643
+-0.20985544605386075,0.10408979683938069
+0.007285357508370782,-0.47724844407318223
+-0.29101302297343246,0.9669912407870095
+0.2892131679124463,1.5462016858305452
+-0.5548830049417329,0.17388315465706727
+-0.6818806892262239,1.5195084175845757
+-0.5911644416483638,-0.2637949781839295
+0.6558867879794874,1.9835217290987552
+1.2084865052156952,-1.0970569041932254
+1.2824836432967437,-0.514272461069148
+-0.6555575990481588,1.3079713314639898
+-0.9206974157481757,0.958110379153317
+1.2150326090426984,-1.1082569365092814
+1.1482817821951161,-1.1669188419323397
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+0.5141775068098953,1.448671463909901
+0.12076128125636998,1.030423158285819
+0.46784384010957014,0.18685061566347827
+0.9398052065664707,-0.8692669027537969
+0.30179740482741635,1.766736463852819
+0.6500251065496347,1.3107234137206265
+-0.38043278643039213,1.2217808151138438
+-0.036761614723123455,1.5962853628817117
+1.0086360353395016,-0.6435470246095868
+0.5977861078562889,1.42602391713105
+-0.16616010172993856,-0.12239203678256866
+-0.021527687568058562,2.1085681509478604
+0.17201511954905105,1.589340547974317
+1.3338451794902588,-0.13259676409096643
+-0.20985544605386075,0.10408979683938069
+-0.24924817263240212,1.675151637963804
+-0.29101302297343246,0.9669912407870095
+1.1262640846165515,-0.7960719125509679
+-0.5548830049417329,0.17388315465706727
+1.3490786414028544,-0.2341576992098358
+-0.20069316901105097,0.9183021727842562
+-0.019756935323602565,0.31974134053506453
+1.2084865052156952,-1.0970569041932254
+-0.5403377681312602,1.062703031063913
+-0.6555575990481588,1.3079713314639898
+1.4974767762413261,-0.41938353846212173
+1.2150326090426984,-1.1082569365092814
+1.1482817821951161,-1.1669188419323397
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+1.3471377726606497,-0.7439462731356323
+0.9285684372441587,1.2453423813679236
+1.642618729832014,-0.9059005602052044
+0.6603222012301766,1.3297727571365368
+0.30179740482741635,1.766736463852819
+0.6500251065496347,1.3107234137206265
+0.49948123322998284,-0.37595670541743265
+1.108708580122744,-0.7718395631340942
+-0.5973345336953622,1.6531222155888852
+0.5977861078562889,1.42602391713105
+0.46585525812170514,-0.2981544172979863
+0.44854360411069594,-0.2463598786647358
+-0.7072530134132013,1.2395732222503657
+1.3338451794902588,-0.13259676409096643
+-0.20985544605386075,0.10408979683938069
+-0.6145235091266211,1.7192800616122865
+0.7359095457346965,1.61314203211393
+0.9392451480097987,-0.017036256433059227
+-0.5548830049417329,0.17388315465706727
+0.8793917043864182,1.2286863261699403
+-0.15476532446124658,0.371281922441462
+1.6842479378312287,-1.7640948233330378
+1.2084865052156952,-1.0970569041932254
+-0.6059951565064359,0.15650940869918317
+0.9930258359108881,-0.012311639317454881
+1.4974767762413261,-0.41938353846212173
+0.6137685078549634,0.5947842013629999
+1.1482817821951161,-1.1669188419323397
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+1.3471377726606497,-0.7439462731356323
+0.9285684372441587,1.2453423813679236
+0.9187378344889416,-0.03890464287660339
+-0.4030170730782481,1.4678435323304375
+1.3118549241365134,-0.34366458327246185
+0.2628954562709087,0.44465675801595994
+0.49948123322998284,-0.37595670541743265
+-0.14606565159038742,0.3721063789864174
+-0.5973345336953622,1.6531222155888852
+0.5977861078562889,1.42602391713105
+0.46585525812170514,-0.2981544172979863
+0.44854360411069594,-0.2463598786647358
+-0.7072530134132013,1.2395732222503657
+1.3338451794902588,-0.13259676409096643
+-0.20985544605386075,0.10408979683938069
+-0.6145235091266211,1.7192800616122865
+-0.8633854044074514,0.528364050496417
+0.43234377525538426,1.4221673510315769
+-0.5548830049417329,0.17388315465706727
+0.8793917043864182,1.2286863261699403
+0.6510378833853565,1.3188191133544929
+-0.09025437883100579,0.5152228386471484
+1.2084865052156952,-1.0970569041932254
+-0.6059951565064359,0.15650940869918317
+0.979861484491127,0.2697309538169075
+1.3739832849965374,-1.861119354428118
+-0.14834251373210705,0.876805334606209
+1.1482817821951161,-1.1669188419323397
+1.8109049304647447,-2.6193506818738843
+1.2942107832076932,0.06746051044681317
+1.3471377726606497,-0.7439462731356323
+0.9285684372441587,1.2453423813679236
+1.4838640274520087,-2.1218247057532604
+-0.4865653458736954,0.06874141039904208
+0.8588456606857806,1.5956570794750329
+0.2628954562709087,0.44465675801595994
+1.3595252900762804,-1.4907360174941737
+-0.14606565159038742,0.3721063789864174
+-0.5973345336953622,1.6531222155888852
+0.5977861078562889,1.42602391713105
+0.46585525812170514,-0.2981544172979863
+0.44854360411069594,-0.2463598786647358
+0.5169538902818649,1.4395443765498481
+1.7399264783931987,-2.038314446803226
+-0.13841486024092559,-0.16280058414912835
+-0.6145235091266211,1.7192800616122865
+-0.8633854044074514,0.528364050496417
+-0.7138236309446433,1.1979497324504798
+-0.21517514651065783,2.022810756075636
+-0.41300413042592743,0.08296409180331053
+0.13166806961125843,-0.476120154753523
+-0.09025437883100579,0.5152228386471484
+1.2084865052156952,-1.0970569041932254
+-0.6059951565064359,0.15650940869918317
+-0.5565987714698956,-0.024216219073248335
+1.3739832849965374,-1.861119354428118
+0.32240903906397367,1.0733908832841388
+1.1482817821951161,-1.1669188419323397
+-0.6113334692743739,-0.4043800388522957
+0.21668279073150892,1.4440575929028294
+1.3471377726606497,-0.7439462731356323
+0.9285684372441587,1.2453423813679236
+1.4838640274520087,-2.1218247057532604
+-0.27254498774756225,1.8386821036725105
+1.6722594790871717,-1.9258051334021116
+0.2628954562709087,0.44465675801595994
+0.48146622951072066,1.8321895939377466
+-0.14606565159038742,0.3721063789864174
+-0.20173788080214256,-0.4066042911493572
+0.39568402733078933,0.10646590863156546
+0.46585525812170514,-0.2981544172979863
+0.44854360411069594,-0.2463598786647358
+0.5169538902818649,1.4395443765498481
+0.40841365936344715,1.3450573540711368
+-0.13841486024092559,-0.16280058414912835
+-0.6145235091266211,1.7192800616122865
+0.4140940150577067,2.0481390726664483
+-0.7138236309446433,1.1979497324504798
+-0.21517514651065783,2.022810756075636
+0.14425938761410928,-0.2666548038027299
+-0.776811411746636,-0.2885304321401014
+-0.09025437883100579,0.5152228386471484
+1.2084865052156952,-1.0970569041932254
+-0.6059951565064359,0.15650940869918317
+-0.5565987714698956,-0.024216219073248335
+-0.5962509950514049,2.066299958081997
+0.23797382077521304,1.7684265687861935
+0.5278525649989438,2.1134819595605983
+-0.18310776576503907,0.18700182465667675
+0.31068955263938813,0.6989342987894469
+1.3471377726606497,-0.7439462731356323
+0.9285684372441587,1.2453423813679236
+1.4838640274520087,-2.1218247057532604
+-0.27254498774756225,1.8386821036725105
+1.6722594790871717,-1.9258051334021116
+0.2628954562709087,0.44465675801595994
+-1.1007769443643332,0.5827440218157347
+-0.8266867755751212,-0.8189998025754512
+-0.5157802983946133,-0.4201777507878673
+0.39568402733078933,0.10646590863156546
+0.46585525812170514,-0.2981544172979863
+-0.9733555399648746,0.45272161791490095
+0.4505876004967872,1.5542093340453595
+0.40841365936344715,1.3450573540711368
+-0.13841486024092559,-0.16280058414912835
+-0.6145235091266211,1.7192800616122865
+0.4140940150577067,2.0481390726664483
+-0.7138236309446433,1.1979497324504798
+-0.20703568997640742,-0.099783080672321
+0.852387843049938,0.4158108570327078
+0.29975486703663,-0.45615465592731297
+-0.09025437883100579,0.5152228386471484
+1.2084865052156952,-1.0970569041932254
+0.1472284408843177,2.1699505569192667
+-0.15620841239277986,0.9182055765538133
+-0.4624283306309068,0.12644131856061858
+0.550536906557451,-0.5295890671713178
+0.5278525649989438,2.1134819595605983
+0.4262167129230377,0.025804553311827738
+-0.11973416127746102,1.3387889526067054
+1.3144070235697791,-0.43909309177569766
+-0.3273781000575796,0.6528574064513468
+1.4838640274520087,-2.1218247057532604
+-0.589267193827226,0.370523665950251
+1.064527100617752,-0.6090979701398419
+1.784402071559068,-1.9873159366536208
+0.37767184934690073,0.8699522025128247
+-0.05006844149381259,1.6553584372727217
+0.5004885530521079,1.663879129436948
+-0.26982761524855653,0.41944891297611414
+0.0594218475365286,-0.25007457395128324
+1.0452601190986723,-1.530607947353904
+1.373798107345831,-0.7590409012066516
+0.14082044756532333,1.2563719290841158
+-0.13841486024092559,-0.16280058414912835
+-0.6145235091266211,1.7192800616122865
+0.4140940150577067,2.0481390726664483
+1.0238921122747935,-0.9477327752485418
+0.7180078524874633,-0.31126022758242433
+0.6008097972381103,-0.8832956299679248
+0.29975486703663,-0.45615465592731297
+-0.09025437883100579,0.5152228386471484
+1.1618390645823533,-1.60221467739947
+1.5205849587374558,-0.05251531140187704
+0.3193078462578488,0.018662347956670766
+0.6006645826979213,1.7091698570037934
+1.4332732929443972,-0.9705783591743997
+-0.516652837749732,0.28853825930785126
+1.664081376940413,-0.7118420433280075
+0.1612177602628096,2.197475214236332
+-0.6915936542383063,-0.461080723983736
+-0.5121933580858182,0.52284310650689
+-0.183981742821349,1.3849665440404328
+0.11041698885069784,-0.028326518475957796
+0.4710022284251076,0.02595929375310524
+1.784402071559068,-1.9873159366536208
+1.1123131498349832,-1.1523174452045315
+-0.05006844149381259,1.6553584372727217
+0.5004885530521079,1.663879129436948
+-0.26982761524855653,0.41944891297611414
+-0.3292765254946757,1.0357958430245784
+0.3048030612961203,1.5689063188982402
+-0.7930093718228708,-0.031611510186938585
+1.6732915981459673,-1.5577209995962034
+-0.13841486024092559,-0.16280058414912835
+1.0655430171718192,-0.9713380960744044
+1.1604991814582173,-0.6417474065565747
+1.3295362938844237,-1.2204112582416249
+-0.02026194337756726,0.6377144874005759
+1.568086541025968,-1.0674704997213968
+0.29975486703663,-0.45615465592731297
+-0.09025437883100579,0.5152228386471484
+1.3260648605186232,-0.008576422907598337
+0.9810402670131178,1.7240048716913223
+0.3193078462578488,0.018662347956670766
+0.6006645826979213,1.7091698570037934
+-0.27370657737195897,0.8314632609126936
+-0.516652837749732,0.28853825930785126
+0.16023349813931542,0.6856069839469834
+0.1612177602628096,2.197475214236332
+-0.6915936542383063,-0.461080723983736
+-0.8539530223694061,0.7109808836455
+-0.183981742821349,1.3849665440404328
+0.08235895576605354,2.5524642809138065
+-0.614116894733026,0.3524700837827377
+1.784402071559068,-1.9873159366536208
+1.161218843950682,-1.3087067293909946
+-0.8022829663004765,1.3334309126857797
+0.5004885530521079,1.663879129436948
+-0.8102333973256114,-0.13504926844378373
+-0.06700051526261308,1.6075946114977437
+-0.1968648460758079,0.22620818096679352
+1.3604828774890494,-0.04908908663673894
+0.9237014688515491,-0.7147803490567399
+-0.13841486024092559,-0.16280058414912835
+0.17762414909753577,0.16537876239181548
+1.1604991814582173,-0.6417474065565747
+1.3295362938844237,-1.2204112582416249
+-0.23387301842470753,0.6011486880577555
+2.06115442725506,-3.213167292881698
+-0.8727964015351944,0.796650750762974
+1.2841570258161765,-1.461039296283459
+1.3260648605186232,-0.008576422907598337
+0.23208181554765178,0.14936110590311003
+0.3193078462578488,0.018662347956670766
+0.6006645826979213,1.7091698570037934
+0.8474285179638728,0.16404121529387516
+-0.516652837749732,0.28853825930785126
+0.5508897370629945,0.46963768716084653
+0.1612177602628096,2.197475214236332
+0.6165235240492193,-0.6264396796706733
+-0.8539530223694061,0.7109808836455
+-0.183981742821349,1.3849665440404328
+0.08235895576605354,2.5524642809138065
+-0.614116894733026,0.3524700837827377
+1.2449125978411815,-1.2995603542876029
+1.161218843950682,-1.3087067293909946
+1.3713602777681269,0.16035262510439893
+0.5004885530521079,1.663879129436948
+-0.8102333973256114,-0.13504926844378373
+-0.06700051526261308,1.6075946114977437
+-0.1968648460758079,0.22620818096679352
+-0.5084625090838237,1.391152322194028
+0.9237014688515491,-0.7147803490567399
+-0.3052644103931542,-0.13110483265890938
+0.17762414909753577,0.16537876239181548
+1.1604991814582173,-0.6417474065565747
+1.3295362938844237,-1.2204112582416249
+-0.23387301842470753,0.6011486880577555
+2.06115442725506,-3.213167292881698
+0.5710328393361049,1.5540528837097152
+1.2841570258161765,-1.461039296283459
+0.20551649542324513,0.8897316793711554
+0.8234310318077838,-0.44132207790615086
+0.9807294664633768,0.17871032214166932
+0.6006645826979213,1.7091698570037934
+1.328492745163425,-1.7686272979677484
+-0.516652837749732,0.28853825930785126
+-0.40284443990742697,1.293762404048939
+0.1612177602628096,2.197475214236332
+0.9120149743058048,0.9715538290211889
+-0.8539530223694061,0.7109808836455
+0.9561778237419869,-0.19330678068106943
+1.3923633583508654,-1.9373502650787022
+1.440088732343631,-1.4017518063626988
+1.5571896077266842,-0.8032254589103511
+-0.412710291557905,0.9188666793707181
+1.3713602777681269,0.16035262510439893
+0.5004885530521079,1.663879129436948
+-0.8102333973256114,-0.13504926844378373
+-0.06700051526261308,1.6075946114977437
+-0.1968648460758079,0.22620818096679352
+-0.5084625090838237,1.391152322194028
+0.9237014688515491,-0.7147803490567399
+-0.6547572744938932,0.024795218093369376
+-0.37845152369172563,0.29719534376230117
+0.39295922674393347,1.9562930762969388
+-0.04842794132674466,0.04227089468055438
+0.22769635382412234,1.3215811989859645
+-0.30269566793339875,1.2257513962733757
+0.5710328393361049,1.5540528837097152
+0.42610721206116775,1.7645626450312777
+0.20551649542324513,0.8897316793711554
+0.8234310318077838,-0.44132207790615086
+0.6959476357686991,-0.4908132548490096
+-0.512835460049588,-0.02074393342114171
+1.8568431651668786,-2.599789419446226
+0.8204037021389677,0.3125110013283241
+-0.40284443990742697,1.293762404048939
+0.1612177602628096,2.197475214236332
+0.9120149743058048,0.9715538290211889
+0.2880966133156567,-0.37499931657838825
+0.9561778237419869,-0.19330678068106943
+1.3923633583508654,-1.9373502650787022
+1.440088732343631,-1.4017518063626988
+1.5571896077266842,-0.8032254589103511
+0.8443506054701496,-0.5122977454452858
+1.3713602777681269,0.16035262510439893
+0.5004885530521079,1.663879129436948
+-0.8102333973256114,-0.13504926844378373
+-0.06700051526261308,1.6075946114977437
+0.8934481092969486,-0.22064781965788288
+-0.5084625090838237,1.391152322194028
+-0.685223643212826,1.6888231315673714
+-0.6547572744938932,0.024795218093369376
+-0.37845152369172563,0.29719534376230117
+0.39295922674393347,1.9562930762969388
+-0.04842794132674466,0.04227089468055438
+-0.6298383198948047,1.9487653938862803
+-0.06278575372950912,2.041734756118357
+-0.6688038475803826,1.1900180300564627
+1.2343097005372239,-1.0836918451070097
+0.20551649542324513,0.8897316793711554
+0.701691819861755,1.109356231441659
+0.6959476357686991,-0.4908132548490096
+-0.512835460049588,-0.02074393342114171
+1.8568431651668786,-2.599789419446226
+0.31173528487927304,2.0503606819805738
+-0.40284443990742697,1.293762404048939
+0.1612177602628096,2.197475214236332
+0.054689979623160925,1.8991468100004998
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+1.3923633583508654,-1.9373502650787022
+1.440088732343631,-1.4017518063626988
+1.5571896077266842,-0.8032254589103511
+0.8443506054701496,-0.5122977454452858
+1.3141451687513108,-1.36154865681436
+0.7903723119315642,-0.799175800023586
+-0.8102333973256114,-0.13504926844378373
+-0.06700051526261308,1.6075946114977437
+1.2898206354107737,-2.0333102199931754
+-0.335931287802066,0.37958033618734244
+0.649525551141477,0.5107156574487288
+-0.6547572744938932,0.024795218093369376
+-0.37845152369172563,0.29719534376230117
+0.39295922674393347,1.9562930762969388
+-0.511010587130151,1.0513666488963294
+1.5107756317800183,-2.420218092808742
+0.37716293062339656,2.1896780777097438
+0.35458735979516837,1.7753346871781333
+-0.120526699778716,1.8041169709233136
+0.20551649542324513,0.8897316793711554
+0.701691819861755,1.109356231441659
+0.6959476357686991,-0.4908132548490096
+-0.512835460049588,-0.02074393342114171
+1.8568431651668786,-2.599789419446226
+0.2082025353601959,0.013342087686952109
+1.770558653214262,-2.497251934740709
+0.1612177602628096,2.197475214236332
+0.689871525876264,-0.18902455479716568
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+1.3923633583508654,-1.9373502650787022
+1.6964746114467855,-2.0298556346581416
+1.3964025650899734,-0.7968506848500215
+-0.7795284240458911,0.7161860415909227
+1.3141451687513108,-1.36154865681436
+0.7903723119315642,-0.799175800023586
+0.22664524321904939,1.8774806662420538
+-0.06700051526261308,1.6075946114977437
+1.2898206354107737,-2.0333102199931754
+1.5904338367553463,-1.3283096831210137
+-0.34468028018292074,1.9725008380818274
+-0.6547572744938932,0.024795218093369376
+-0.37845152369172563,0.29719534376230117
+0.39295922674393347,1.9562930762969388
+-0.511010587130151,1.0513666488963294
+-0.10199512204357053,0.9479886082869913
+1.2443569782972062,-1.0548758875983337
+-0.634643543661707,1.5375957679984624
+0.5766779336362005,1.2774850576591117
+0.7904773682941705,0.05807981283877939
+0.4614991663400774,2.1511112788924445
+0.6959476357686991,-0.4908132548490096
+-0.512835460049588,-0.02074393342114171
+1.8568431651668786,-2.599789419446226
+0.2082025353601959,0.013342087686952109
+1.770558653214262,-2.497251934740709
+0.1612177602628096,2.197475214236332
+0.689871525876264,-0.18902455479716568
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+1.3364974054049794,-1.3521939149681543
+-0.24450868903059852,-0.25821643957077256
+0.5883251991955799,1.3813630506839676
+-0.7795284240458911,0.7161860415909227
+-0.6278686519464161,0.9347989420036577
+0.7903723119315642,-0.799175800023586
+0.22664524321904939,1.8774806662420538
+-0.22547658565228845,1.4709498304274442
+1.2898206354107737,-2.0333102199931754
+1.5904338367553463,-1.3283096831210137
+-0.34468028018292074,1.9725008380818274
+-0.6547572744938932,0.024795218093369376
+-0.37845152369172563,0.29719534376230117
+0.39295922674393347,1.9562930762969388
+-0.511010587130151,1.0513666488963294
+-0.10199512204357053,0.9479886082869913
+-0.30147386377324586,2.3736001296796343
+-0.634643543661707,1.5375957679984624
+0.5766779336362005,1.2774850576591117
+0.7904773682941705,0.05807981283877939
+0.4614991663400774,2.1511112788924445
+0.6959476357686991,-0.4908132548490096
+1.2595270086290078,-0.49437656843106004
+1.8568431651668786,-2.599789419446226
+0.2082025353601959,0.013342087686952109
+1.770558653214262,-2.497251934740709
+0.1612177602628096,2.197475214236332
+-0.3221726588135493,1.3712755021170104
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+1.1946033973165153,-0.9720787403846368
+1.1059977976034494,0.7203190739250276
+0.21103715834376624,-0.015594485969288918
+-0.7795284240458911,0.7161860415909227
+0.8880273151457725,0.16209112186436725
+-0.013619741670957627,-0.2396913023640106
+0.22664524321904939,1.8774806662420538
+-0.22547658565228845,1.4709498304274442
+1.2898206354107737,-2.0333102199931754
+1.5904338367553463,-1.3283096831210137
+-0.34468028018292074,1.9725008380818274
+-0.6547572744938932,0.024795218093369376
+0.39851977302361613,-0.35248540183505644
+-0.39576443488246554,-0.3025738801424134
+1.4462072766317513,-1.0541496224299622
+-0.05852368561378334,0.15533080683590383
+-0.3738012592248924,1.7389325278722914
+-0.634643543661707,1.5375957679984624
+0.5766779336362005,1.2774850576591117
+0.006904864716951176,0.593590428775141
+0.4614991663400774,2.1511112788924445
+1.378559265990421,-1.1278318527736968
+-1.045777411919452,0.5410979641415796
+1.32340947378266,-1.691810103856611
+0.2082025353601959,0.013342087686952109
+1.5290071075910858,-1.1358748620405816
+0.1612177602628096,2.197475214236332
+-0.3221726588135493,1.3712755021170104
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+1.1059977976034494,0.7203190739250276
+0.21103715834376624,-0.015594485969288918
+-0.7795284240458911,0.7161860415909227
+-0.6520215844225239,1.6534642877242733
+1.3420307977461303,-1.0771880601891595
+0.22664524321904939,1.8774806662420538
+1.6656319809734643,-0.827749741499941
+1.2898206354107737,-2.0333102199931754
+1.5904338367553463,-1.3283096831210137
+-0.34468028018292074,1.9725008380818274
+-0.6547572744938932,0.024795218093369376
+-0.39513886215652644,1.3044067851681627
+-0.39576443488246554,-0.3025738801424134
+2.0292585053109535,-2.867201408451707
+0.25019773835499803,0.13726961748511624
+-0.3738012592248924,1.7389325278722914
+-0.634643543661707,1.5375957679984624
+0.5766779336362005,1.2774850576591117
+0.006904864716951176,0.593590428775141
+-0.2986522283174009,0.23726520264855822
+1.378559265990421,-1.1278318527736968
+0.6996187039027109,-0.12860457521766666
+-1.116895424641669,-0.4029652569225053
+0.2082025353601959,0.013342087686952109
+1.5290071075910858,-1.1358748620405816
+0.1612177602628096,2.197475214236332
+-0.3221726588135493,1.3712755021170104
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+0.6838197548561189,-0.37328241206073987
+-0.1846650638494307,2.201994386566477
+-0.7795284240458911,0.7161860415909227
+-0.6520215844225239,1.6534642877242733
+-0.9320887643798885,0.3011320901133
+0.22664524321904939,1.8774806662420538
+1.6656319809734643,-0.827749741499941
+1.2898206354107737,-2.0333102199931754
+1.2116460615406865,-0.8190904397338643
+-0.7461431218771087,0.3168887942732147
+-0.6547572744938932,0.024795218093369376
+-0.39513886215652644,1.3044067851681627
+-0.39576443488246554,-0.3025738801424134
+2.0292585053109535,-2.867201408451707
+0.25019773835499803,0.13726961748511624
+0.9012843488026282,-0.8902448586242386
+-0.634643543661707,1.5375957679984624
+0.4306550943007996,0.5264515442142244
+0.006904864716951176,0.593590428775141
+-0.2986522283174009,0.23726520264855822
+1.378559265990421,-1.1278318527736968
+1.0941624549351041,-1.2751658809915418
+-0.13769008442150854,-0.027262392228823484
+0.2082025353601959,0.013342087686952109
+1.5290071075910858,-1.1358748620405816
+0.1612177602628096,2.197475214236332
+-0.3221726588135493,1.3712755021170104
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+0.9694034807867669,0.19322268765470896
+-0.1846650638494307,2.201994386566477
+-0.7795284240458911,0.7161860415909227
+-0.6520215844225239,1.6534642877242733
+-0.9320887643798885,0.3011320901133
+0.725419065479537,-0.7998374159074182
+-0.5887639393224067,1.500979887556893
+1.6401132995543262,-0.9821374677660049
+1.2116460615406865,-0.8190904397338643
+-0.7461431218771087,0.3168887942732147
+-0.6547572744938932,0.024795218093369376
+1.0665206162535017,-0.6916112892596364
+0.4110433714183279,-0.40299047288408896
+-0.9892964592883553,0.14418513567931832
+0.25019773835499803,0.13726961748511624
+-0.7544288148192786,-0.7168351352559613
+-0.634643543661707,1.5375957679984624
+0.4306550943007996,0.5264515442142244
+0.006904864716951176,0.593590428775141
+1.4678038801758853,-1.8984513871278006
+-0.027183045251307103,1.5505133093033079
+-0.6457822982931704,1.1327916243568956
+-0.13769008442150854,-0.027262392228823484
+0.06160309002902535,2.2771562987645524
+-0.9044417707414417,-0.13202066940002297
+-0.5435666349386671,1.4497380415232306
+-0.7914243945649044,0.16742792184505112
+1.3337489642038602,-1.2099756580593701
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+0.9694034807867669,0.19322268765470896
+1.4825984944589514,-2.4280219610085894
+1.0566129739984242,-0.8350552213175533
+-0.26674394450435657,0.35715376362600937
+-0.5375313195342468,0.07001119366705977
+0.725419065479537,-0.7998374159074182
+-0.5887639393224067,1.500979887556893
+0.15705558567061007,1.7982838058175805
+-0.7429084961291351,6.37208530139266e-05
+-0.18484581383004905,2.035822904376075
+1.5472345310753808,-2.4726252806650564
+1.0665206162535017,-0.6916112892596364
+0.4110433714183279,-0.40299047288408896
+-1.020212092874981,0.09237588916638928
+0.25019773835499803,0.13726961748511624
+1.2147443250349388,-0.89376971302461
+-0.634643543661707,1.5375957679984624
+0.4306550943007996,0.5264515442142244
+0.006904864716951176,0.593590428775141
+-0.7967610032423034,0.5823724018180753
+-0.027183045251307103,1.5505133093033079
+1.2550748599437882,-0.2533123708572348
+-0.13769008442150854,-0.027262392228823484
+0.06160309002902535,2.2771562987645524
+-0.9044417707414417,-0.13202066940002297
+-0.5435666349386671,1.4497380415232306
+-0.7914243945649044,0.16742792184505112
+-0.4312246335007997,2.161451508690812
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+0.9694034807867669,0.19322268765470896
+1.4825984944589514,-2.4280219610085894
+1.0566129739984242,-0.8350552213175533
+0.7877762361834894,-0.6909294766134926
+-0.5375313195342468,0.07001119366705977
+-0.3881315368788274,1.1335467827571872
+-0.7306527046621776,-0.6492970955044853
+0.15705558567061007,1.7982838058175805
+-0.7429084961291351,6.37208530139266e-05
+-0.18484581383004905,2.035822904376075
+1.5472345310753808,-2.4726252806650564
+1.0665206162535017,-0.6916112892596364
+0.4110433714183279,-0.40299047288408896
+-0.6283603092354697,0.7707857391173918
+-0.2646263949152987,0.34536884820024005
+1.3014628388575553,-0.701222048398654
+-0.10051765151377329,1.7829297220871356
+-0.8157401353728815,0.8185097485132856
+0.589856401295293,1.7012051089232512
+0.6840631778493781,-0.7620748391145211
+-0.027183045251307103,1.5505133093033079
+0.7747711657139187,-1.3327118623700691
+0.01033744028384509,0.3066370486553165
+0.06160309002902535,2.2771562987645524
+0.5215819214166009,1.1053320940911608
+-0.5435666349386671,1.4497380415232306
+-0.7914243945649044,0.16742792184505112
+-0.4312246335007997,2.161451508690812
+0.6396105692952682,1.506301943068618
+-0.062105019945135065,1.6530757701510628
+0.5473757134560838,-0.028510705165403993
+1.4825984944589514,-2.4280219610085894
+1.0566129739984242,-0.8350552213175533
+0.7877762361834894,-0.6909294766134926
+0.7320769314177797,-0.6410512028321964
+-0.3881315368788274,1.1335467827571872
+-0.20192627202767632,-0.23175747091290766
+0.15705558567061007,1.7982838058175805
+-0.7429084961291351,6.37208530139266e-05
+-0.8995742699373891,0.6455246235889298
+1.5472345310753808,-2.4726252806650564
+0.2863687228383426,-0.30476261669992116
+1.1419609429203719,-1.6886032822606027
+-0.6283603092354697,0.7707857391173918
+-0.2646263949152987,0.34536884820024005
+-0.21000752470669434,2.0775276190658025
+1.2504193729320239,0.5596997578549865
+0.19559702678013283,2.07466960220965
+-0.004733987832368088,0.19444229439027994
+0.6840631778493781,-0.7620748391145211
+1.406851799323611,-0.08993143411895022
+0.631432059368598,0.4055046257044963
+0.295115171916529,0.25207443278532493
+0.11028299603100097,2.0144360890813737
+0.5215819214166009,1.1053320940911608
+-0.5435666349386671,1.4497380415232306
+-0.7914243945649044,0.16742792184505112
+0.8706686997770047,-0.6731075827552335
+0.4932340177296731,1.6622927729548436
+-0.062105019945135065,1.6530757701510628
+0.5473757134560838,-0.028510705165403993
+0.6253637351892728,-0.21267212892311838
+0.22384554944667873,2.0060769381902332
+-0.7675111815504788,0.5848984116706382
+0.7320769314177797,-0.6410512028321964
+-0.3881315368788274,1.1335467827571872
+-0.14221695580251176,1.884488867999473
+-0.22878979541779376,-0.05083252629464652
+-0.7429084961291351,6.37208530139266e-05
+0.013827990228823056,-0.1915864536992153
+-0.4572588051788833,1.8309446098181352
+-0.32046355941449955,0.8725206043014264
+1.1419609429203719,-1.6886032822606027
+0.04758875553355696,0.12818665442190835
+0.9265650922282282,0.2804772615284665
+-0.5695368467131249,0.8150154202736934
+1.2504193729320239,0.5596997578549865
+0.19559702678013283,2.07466960220965
+-0.19359235435158795,1.0170718485155454
+0.6840631778493781,-0.7620748391145211
+1.406851799323611,-0.08993143411895022
+0.631432059368598,0.4055046257044963
+1.2091051415815977,-0.35964254273657503
+-0.1996900862451294,1.7208373597626032
+-0.3634168317159673,1.478825198835362
+-0.5435666349386671,1.4497380415232306
+-0.7914243945649044,0.16742792184505112
+-0.08057551788273369,1.284977374609202
+0.4932340177296731,1.6622927729548436
+0.31882220253281707,1.8153659323868878
+0.5473757134560838,-0.028510705165403993
+-0.5100509069750541,2.2699118929741227
+0.22384554944667873,2.0060769381902332
+-0.7675111815504788,0.5848984116706382
+0.7320769314177797,-0.6410512028321964
+0.6213016393034742,-0.6866859536028087
+1.1365966563408119,-0.06698422986666402
+1.1677175404068345,-1.4811738875885503
+-0.5257718349685829,2.2790305773689763
+0.013827990228823056,-0.1915864536992153
+0.9870481291772033,0.8381826934411558
+-0.32046355941449955,0.8725206043014264
+0.07807221896455491,1.6767301721486298
+0.04758875553355696,0.12818665442190835
+0.9265650922282282,0.2804772615284665
+-0.5695368467131249,0.8150154202736934
+1.2504193729320239,0.5596997578549865
+0.4295961540343155,-0.4709596641729281
+-0.5584323503619856,-0.5170867583931376
+0.14883172885369866,-0.28314795200502785
+-0.11127426641834515,2.109308702002236
+1.249428325217354,-0.9773594087183652
+1.2091051415815977,-0.35964254273657503
+-0.1996900862451294,1.7208373597626032
+0.21560102745262877,-0.1836295536881969
+0.22295893081770696,1.463182724565986
+-0.7914243945649044,0.16742792184505112
+-0.08057551788273369,1.284977374609202
+-0.030344561924308122,-0.12369981228730209
+0.31882220253281707,1.8153659323868878
+0.5473757134560838,-0.028510705165403993
+-0.7409865738523957,0.640689796763118
+0.7125937301426843,-0.2239565272304036
+-0.7675111815504788,0.5848984116706382
+0.2911977387698428,0.13688539422456286
+1.065750339029133,-0.6569995673365316
+1.1365966563408119,-0.06698422986666402
+1.1677175404068345,-1.4811738875885503
+-0.8403967250506643,1.4720053632162227
+0.013827990228823056,-0.1915864536992153
+-0.777787285580212,0.4040675510202789
+-0.32046355941449955,0.8725206043014264
+1.0204491255954256,-0.2000551999044653
+0.04758875553355696,0.12818665442190835
+0.9265650922282282,0.2804772615284665
+0.6417018944106985,1.7404942663938323
+0.18293223945760007,-0.37633371659302783
+0.4295961540343155,-0.4709596641729281
+-0.5584323503619856,-0.5170867583931376
+1.598701968006366,-1.2982351618337247
+-0.11127426641834515,2.109308702002236
+1.249428325217354,-0.9773594087183652
+-0.6156925949599429,0.11937560581590984
+1.5482035710726454,-0.5407747966933755
+0.502426194260533,0.7824088095111872
+0.9959633171897787,0.502385711559151
+0.008510608066173153,1.7992540065204623
+-0.6064843183224309,0.36403189291419025
+-0.030344561924308122,-0.12369981228730209
+0.31882220253281707,1.8153659323868878
+0.5473757134560838,-0.028510705165403993
+-0.7008861922724103,0.9659435347643448
+-1.0021666406422616,0.1719998496688439
+-0.15488751715786117,1.3312876695200344
+1.4328625846982002,-0.7379863442403529
+1.065750339029133,-0.6569995673365316
+1.1365966563408119,-0.06698422986666402
+-0.5415499167858574,0.035887957476866794
+0.03775289788877986,1.4069941507028898
+0.40073302714030373,-0.027881583693059986
+-0.7210430525809859,-0.019219889271475
+-0.32046355941449955,0.8725206043014264
+0.4679883070205785,1.1602657657976267
+-0.4976049889794178,0.3703795666945378
+-0.15606818091611158,1.633980762121287
+-0.7920507443902098,0.9603545608861572
+0.18293223945760007,-0.37633371659302783
+0.4295961540343155,-0.4709596641729281
+0.2822187984704485,1.5273873607972215
+1.598701968006366,-1.2982351618337247
+-0.11127426641834515,2.109308702002236
+1.249428325217354,-0.9773594087183652
+-1.0083067863064399,0.9967765906151629
+-0.4413939305034997,-0.3192408861699151
+-0.43078618412234715,0.24699559789647668
+0.9959633171897787,0.502385711559151
+0.27509073514920485,-0.02687189164841508
+-0.6064843183224309,0.36403189291419025
+0.8110445498438696,-0.5612656466239834
+0.07991100551540171,1.1005445792359092
+-0.49177805393681673,0.5398544167236579
+-0.7008861922724103,0.9659435347643448
+-1.0021666406422616,0.1719998496688439
+-0.851344679327063,-0.08209454955747769
+1.4328625846982002,-0.7379863442403529
+-0.20533380671486307,1.279744868170755
+1.1365966563408119,-0.06698422986666402
+-0.7749285395280032,0.16652913847564
+0.46300376640709295,2.135546853086708
+0.710405572919972,0.6828510772181464
+-0.5663108095520092,1.0032735694329697
+-0.32046355941449955,0.8725206043014264
+-0.6907033284866204,0.751548716394061
+-0.4976049889794178,0.3703795666945378
+-0.15606818091611158,1.633980762121287
+-0.7920507443902098,0.9603545608861572
+-0.4183857352836938,1.5393021317293596
+-0.5422851704442216,-0.36392415056310295
+0.2822187984704485,1.5273873607972215
+1.598701968006366,-1.2982351618337247
+1.2174899202738638,-1.208433620924653
+0.883683354554229,0.8891147548021169
+0.23278221135035215,-0.27771878923810667
+-0.4413939305034997,-0.3192408861699151
+-0.43078618412234715,0.24699559789647668
+0.9959633171897787,0.502385711559151
+1.183562633996586,0.14307361637642768
+-0.6064843183224309,0.36403189291419025
+1.2569369309491825,-0.15556534040715975
+0.07991100551540171,1.1005445792359092
+-0.49177805393681673,0.5398544167236579
+-0.7008861922724103,0.9659435347643448
+0.3583656347325799,-0.748669087410982
+0.486153682658823,1.1954918860468282
+1.4328625846982002,-0.7379863442403529
+-0.20533380671486307,1.279744868170755
+1.1365966563408119,-0.06698422986666402
+-0.7749285395280032,0.16652913847564
+0.9421930526842158,-0.8977989526790514
+-0.7716618649114457,0.17923667536297438
+-0.5663108095520092,1.0032735694329697
+0.6650146007929006,-0.2321064054469129
+-0.3032380318679644,-0.10742192756479861
+0.8516389455742973,-0.9636943085777301
+0.8273259510915357,-0.9681563836494416
+-0.7920507443902098,0.9603545608861572
+-0.4183857352836938,1.5393021317293596
+-0.5422851704442216,-0.36392415056310295
+0.2966705804716733,-0.46861665759907634
+1.598701968006366,-1.2982351618337247
+1.2174899202738638,-1.208433620924653
+0.7073160748177002,1.0731927702453565
+0.23278221135035215,-0.27771878923810667
+1.2637132034150587,-0.2562340775766204
+0.16744586713092352,0.6191833242453718
+0.9959633171897787,0.502385711559151
+0.47191491500603483,0.9079185695315475
+-0.6064843183224309,0.36403189291419025
+1.2569369309491825,-0.15556534040715975
+-0.6681692036994848,-0.023436604955173967
+0.4980770733426365,0.3629962476540185
+-0.05583142397513924,-0.3439763753448935
+0.015761604662508533,0.348713961476094
+0.12602450306078247,1.4024667083804985
+1.4328625846982002,-0.7379863442403529
+0.9449200578694315,-0.46928952366163945
+0.1818494827556667,0.6779658887173892
+-0.7749285395280032,0.16652913847564
+0.9421930526842158,-0.8977989526790514
+0.35774073223739444,0.23888916940829813
+-0.5663108095520092,1.0032735694329697
+0.15495800474688487,0.5114948043496437
+-0.8478441635702479,0.12865959200979055
+0.8516389455742973,-0.9636943085777301
+-0.5595351053865999,-0.21250978327014625
+-0.7920507443902098,0.9603545608861572
+-0.4183857352836938,1.5393021317293596
+0.39681247216215076,0.47819107806555605
+-0.10459319971606074,0.5379985466706453
+1.598701968006366,-1.2982351618337247
+1.2174899202738638,-1.208433620924653
+-0.3629963726619271,1.310411980469413
+0.23278221135035215,-0.27771878923810667
+-0.47993475257590124,-0.30323955927388174
+-0.27530915303079745,-0.37892663854416025
+0.9959633171897787,0.502385711559151
+-0.3296503511233949,0.129521362871334
+-0.6064843183224309,0.36403189291419025
+1.2569369309491825,-0.15556534040715975
+-0.24467673075401059,1.66761554170765
+1.782272269692596,-1.6234533717423822
+-0.05583142397513924,-0.3439763753448935
+0.015761604662508533,0.348713961476094
+-0.06172998010582054,0.9520038970578768
+1.4328625846982002,-0.7379863442403529
+-0.32491287230813537,1.2152219043818013
+0.5572435259998428,1.3155391845437918
+-0.7749285395280032,0.16652913847564
+0.9421930526842158,-0.8977989526790514
+1.2733106487767196,-0.19451905967284916
+0.5373793161456537,0.1840334616010415
+0.8913209626263165,0.5465292531953431
+-0.8478441635702479,0.12865959200979055
+-0.004184629956878544,0.007551822496386418
+1.7701323275733505,-1.2035127736406568
+-0.7920507443902098,0.9603545608861572
+1.1900154980687743,-0.05822617592483137
+0.058055537464744233,-0.44895147442301364
+1.0996907949629802,0.6837663639788316
+1.598701968006366,-1.2982351618337247
+1.2174899202738638,-1.208433620924653
+0.9622788696150378,-0.0009940388854223214
+-0.8063412215589201,0.12858019773890975
+-0.47993475257590124,-0.30323955927388174
+-0.5790826738801602,0.5408028616250706
+0.9959633171897787,0.502385711559151
+-0.3890514471057024,-0.2666061614491112
+0.11238907314388757,0.017222238714494353
+1.5695018826586669,-0.9004863278829747
+-0.24467673075401059,1.66761554170765
+0.41711776876093426,-0.5531274426415684
+0.06743783474626597,0.6759973077477661
+0.015761604662508533,0.348713961476094
+-0.06172998010582054,0.9520038970578768
+1.4328625846982002,-0.7379863442403529
+-0.24456333865284652,-0.0666346526752628
+0.5572435259998428,1.3155391845437918
+-0.7749285395280032,0.16652913847564
+1.2685692965232467,-1.6274611459004675
+0.8022137712706272,-0.8839482849042763
+0.5373793161456537,0.1840334616010415
+0.8913209626263165,0.5465292531953431
+-0.8478441635702479,0.12865959200979055
+-0.004184629956878544,0.007551822496386418
+1.7701323275733505,-1.2035127736406568
+-0.34409932328699777,1.2199317747101022
+1.1900154980687743,-0.05822617592483137
+0.8608785617725384,-0.15883175607577832
+1.0996907949629802,0.6837663639788316
+-0.5636166760221839,-0.5292792761150235
+-0.5331343321965376,1.6206946219369045
+0.684444996321472,-0.7258692718643855
+-0.8063412215589201,0.12858019773890975
+1.0012083579146585,0.6006476646921097
+-0.6285392095299172,0.7891999953203211
+0.9959633171897787,0.502385711559151
+-0.8285640597724393,0.3424915558921258
+0.319879878465673,-0.33610452264162427
+-0.6556512012523673,0.0008258867649472146
+-0.24467673075401059,1.66761554170765
+0.41711776876093426,-0.5531274426415684
+-0.07417902217179523,0.8352224831214239
+1.6539142537284157,-1.8118069042968519
+0.4654830520694627,0.028261865671018183
+1.4328625846982002,-0.7379863442403529
+1.3247385244240422,0.4024874723478394
+0.32328143753077876,-0.08394628482624505
+0.2579469709740907,-0.1967748935415386
+1.2685692965232467,-1.6274611459004675
+0.8022137712706272,-0.8839482849042763
+0.5373793161456537,0.1840334616010415
+0.28778690599840706,-0.2918834493993231
+-0.8478441635702479,0.12865959200979055
+-0.004184629956878544,0.007551822496386418
+-1.0286281002769924,0.9934407494346565
+-0.34409932328699777,1.2199317747101022
+1.1900154980687743,-0.05822617592483137
+0.01631367958834451,0.03847005934898328
+1.0996907949629802,0.6837663639788316
+-0.5636166760221839,-0.5292792761150235
+-0.5331343321965376,1.6206946219369045
+0.684444996321472,-0.7258692718643855
+-0.3464616627370473,0.6142219369797234
+1.0012083579146585,0.6006476646921097
+-0.6285392095299172,0.7891999953203211
+1.4401091773202197,-1.1934380663476247
+-0.8005805124878281,0.9590823265750552
+0.5275003147536337,1.7544889607956993
+-0.6556512012523673,0.0008258867649472146
+-0.24467673075401059,1.66761554170765
+0.41711776876093426,-0.5531274426415684
+-0.07417902217179523,0.8352224831214239
+1.6539142537284157,-1.8118069042968519
+-0.14556149331575774,0.11905198981829584
+1.4328625846982002,-0.7379863442403529
+-0.3454740003778699,-0.4514083628945922
+0.9974614887821758,0.7707015697864064
+1.4611208632268786,-0.544525348302085
+1.2685692965232467,-1.6274611459004675
+0.8022137712706272,-0.8839482849042763
+1.3710603019445184,-0.7133675321822412
+0.8551647383751675,-0.4163839323030733
+1.2996800245459041,-1.2124568151489297
+-0.004184629956878544,0.007551822496386418
+-1.046171401579347,0.8205104181844113
+-0.34409932328699777,1.2199317747101022
+1.1900154980687743,-0.05822617592483137
+0.01631367958834451,0.03847005934898328
+0.5833344053311785,-0.171352164414001
+0.0782594019873169,1.7249023442790317
+0.434912258427936,1.4519108345802576
+1.2244937121794308,0.06705405425002142
+-0.25111739071605826,1.283182285929227
+1.0012083579146585,0.6006476646921097
+-0.6285392095299172,0.7891999953203211
+1.2525155802966867,-0.06819743184693522
+-0.8005805124878281,0.9590823265750552
+0.5275003147536337,1.7544889607956993
+-0.683087376321845,1.3455332411594518
+-0.24467673075401059,1.66761554170765
+0.41711776876093426,-0.5531274426415684
+-0.3565405341349327,0.7496419598797974
+1.6539142537284157,-1.8118069042968519
+-0.14556149331575774,0.11905198981829584
+1.4328625846982002,-0.7379863442403529
+-0.3454740003778699,-0.4514083628945922
+0.6169811874212584,-0.23810414217277837
+0.600175030215606,-0.18997381778213174
+1.2685692965232467,-1.6274611459004675
+1.1116787065350566,0.4129736855269701
+0.1528150161543098,1.4622680660621956
+0.8551647383751675,-0.4163839323030733
+1.2996800245459041,-1.2124568151489297
+1.6732669376870204,-1.233270785692582
+1.1931190050213056,-0.2989573810028986
+-0.34409932328699777,1.2199317747101022
+1.1900154980687743,-0.05822617592483137
+0.01631367958834451,0.03847005934898328
+0.5833344053311785,-0.171352164414001
+0.0782594019873169,1.7249023442790317
+0.434912258427936,1.4519108345802576
+1.2244937121794308,0.06705405425002142
+-0.25111739071605826,1.283182285929227
+0.8419821693568752,-0.5002095285282031
+-0.5677358851218759,0.7283225263887515
+-0.3913304602633366,2.1333315531603674
+-0.6356621672116998,0.9487608187147656
+0.21792522715658552,0.12050207475696836
+-0.683087376321845,1.3455332411594518
+-0.24467673075401059,1.66761554170765
+0.44857456830230313,1.6496310245772168
+0.8354024862915512,1.1887509029370302
+-0.6623940823574739,0.6722246456418091
+0.24136975556407816,0.3867756265059522
+0.30896262946746716,-0.6151436008382349
+0.6934032744659906,1.0363992621004383
+0.6169811874212584,-0.23810414217277837
+0.600175030215606,-0.18997381778213174
+1.2685692965232467,-1.6274611459004675
+1.1116787065350566,0.4129736855269701
+0.1528150161543098,1.4622680660621956
+0.8551647383751675,-0.4163839323030733
+0.6891282248670063,-0.18262312980154002
+1.6732669376870204,-1.233270785692582
+0.3744397712724092,0.592027596862881
+-0.34409932328699777,1.2199317747101022
+1.1900154980687743,-0.05822617592483137
+0.01631367958834451,0.03847005934898328
+0.5833344053311785,-0.171352164414001
+-0.09798827940900112,1.9611261892980458
+0.434912258427936,1.4519108345802576
+1.2244937121794308,0.06705405425002142
+0.9555464228200208,0.39767985483069196
+-0.32570902675680874,1.3412070375191418
+-0.5677358851218759,0.7283225263887515
+-0.3913304602633366,2.1333315531603674
+-0.6356621672116998,0.9487608187147656
+0.18039505194212102,0.3725194824677279
+1.010618861314982,-0.8882776435757975
+0.29802569804888696,0.552830675395772
+0.44857456830230313,1.6496310245772168
+0.8354024862915512,1.1887509029370302
+-0.6623940823574739,0.6722246456418091
+1.6006511140099888,-1.8252275638143192
+1.6570197338238517,-1.2142481755989925
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+0.600175030215606,-0.18997381778213174
+1.2685692965232467,-1.6274611459004675
+1.1116787065350566,0.4129736855269701
+0.7409204251480721,1.081434193889055
+0.5645622648701538,-0.3070816389239618
+0.957297395413316,1.183993513084614
+1.6732669376870204,-1.233270785692582
+-0.12559083027726806,0.5518768454499952
+-0.9864718828191089,0.6117328741153452
+1.1900154980687743,-0.05822617592483137
+0.01631367958834451,0.03847005934898328
+1.2699322073028343,-0.8310686215342217
+-0.09798827940900112,1.9611261892980458
+1.1094291265105791,0.5173818416851209
+1.2244937121794308,0.06705405425002142
+0.9555464228200208,0.39767985483069196
+-0.32570902675680874,1.3412070375191418
+-0.5677358851218759,0.7283225263887515
+-0.3913304602633366,2.1333315531603674
+-0.6356621672116998,0.9487608187147656
+-0.6247350640908512,1.0989498125710915
+0.4641369130651839,-0.17413629894390747
+1.3761378360535992,-0.7148839462065104
+0.44857456830230313,1.6496310245772168
+-0.1260446391716199,0.4559404078138128
+-0.6623940823574739,0.6722246456418091
+0.9111080414325979,0.4391961609962961
+1.6570197338238517,-1.2142481755989925
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+0.9556657583504857,0.6397739569916842
+1.2685692965232467,-1.6274611459004675
+-1.0875297593077344,-0.20101043509907146
+1.2548267926650043,-1.65944944875132
+0.5645622648701538,-0.3070816389239618
+0.3808964318930598,1.3266294392957578
+1.6732669376870204,-1.233270785692582
+1.1614348731444588,-1.5782433688605915
+-0.7956563634624745,-0.38259140082976195
+0.3344548684516735,0.7977850346012394
+0.01631367958834451,0.03847005934898328
+1.2699322073028343,-0.8310686215342217
+-0.09798827940900112,1.9611261892980458
+1.1094291265105791,0.5173818416851209
+1.457206093153376,-0.5268084988792778
+1.226691372102128,-0.6118065378208637
+-0.021647041178529614,0.8131902142811654
+-0.5677358851218759,0.7283225263887515
+-0.3913304602633366,2.1333315531603674
+-0.6356621672116998,0.9487608187147656
+-0.6247350640908512,1.0989498125710915
+-0.29561430469230715,0.24772203815191163
+-0.4170908779946123,0.18746991942098856
+0.44857456830230313,1.6496310245772168
+-0.1260446391716199,0.4559404078138128
+-0.6623940823574739,0.6722246456418091
+-0.2538729949075287,1.7570024428822608
+1.1831441038969965,-0.14056708367356396
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+0.9556657583504857,0.6397739569916842
+1.2685692965232467,-1.6274611459004675
+-1.0875297593077344,-0.20101043509907146
+1.2548267926650043,-1.65944944875132
+0.7319565264848632,-0.8949803204400737
+0.3808964318930598,1.3266294392957578
+1.6732669376870204,-1.233270785692582
+1.1614348731444588,-1.5782433688605915
+-0.6010104137799317,1.0134718282852644
+0.3344548684516735,0.7977850346012394
+0.01631367958834451,0.03847005934898328
+-0.44194538663624094,1.2607923430299266
+-0.09798827940900112,1.9611261892980458
+-0.9105797137308992,0.17011372751986292
+1.457206093153376,-0.5268084988792778
+1.226691372102128,-0.6118065378208637
+-0.23331417597361412,1.6125081337428395
+-0.6313099882143149,0.5878938048555933
+-0.3913304602633366,2.1333315531603674
+-0.3589114576994924,1.3073723092788563
+0.07908979337850097,1.986157699434358
+-0.29561430469230715,0.24772203815191163
+-0.4170908779946123,0.18746991942098856
+0.44857456830230313,1.6496310245772168
+-0.32656174489259016,0.3701925346564444
+-0.6623940823574739,0.6722246456418091
+-0.2538729949075287,1.7570024428822608
+-0.19154455728903758,0.11333733543639979
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+0.9556657583504857,0.6397739569916842
+0.37172930104641566,1.2274191799194258
+-1.0875297593077344,-0.20101043509907146
+-0.24202748166597177,0.32904354758251847
+0.7319565264848632,-0.8949803204400737
+0.3808964318930598,1.3266294392957578
+1.6732669376870204,-1.233270785692582
+1.1614348731444588,-1.5782433688605915
+-0.6010104137799317,1.0134718282852644
+0.3344548684516735,0.7977850346012394
+1.194520830519426,-1.3400846987555632
+-0.44194538663624094,1.2607923430299266
+-0.09798827940900112,1.9611261892980458
+-0.9105797137308992,0.17011372751986292
+1.457206093153376,-0.5268084988792778
+1.226691372102128,-0.6118065378208637
+-0.23331417597361412,1.6125081337428395
+0.9387030604489562,-0.1135660432594221
+0.9472927800966031,0.9556567778589822
+0.798261028220262,1.0223439222279598
+0.07908979337850097,1.986157699434358
+-0.29561430469230715,0.24772203815191163
+-0.4170908779946123,0.18746991942098856
+0.17093248875223807,0.24060644885753132
+-0.32656174489259016,0.3701925346564444
+-0.6623940823574739,0.6722246456418091
+-0.2538729949075287,1.7570024428822608
+-0.19154455728903758,0.11333733543639979
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+0.5523660543261745,-0.6178467158570404
+0.18628010031465586,-0.2489579720506293
+-0.7724667314309797,-0.05956191395773852
+0.16892528857950573,0.15478635855619263
+0.7319565264848632,-0.8949803204400737
+1.3402120627157066,-1.817145136109431
+1.6732669376870204,-1.233270785692582
+1.0552066548270516,0.0650819046167761
+-0.6010104137799317,1.0134718282852644
+0.3344548684516735,0.7977850346012394
+1.194520830519426,-1.3400846987555632
+-0.594822390914426,0.7038827525872009
+-0.09798827940900112,1.9611261892980458
+-0.9105797137308992,0.17011372751986292
+1.457206093153376,-0.5268084988792778
+-0.652304210530018,1.3741998439340877
+-0.23331417597361412,1.6125081337428395
+0.9387030604489562,-0.1135660432594221
+-0.4923733156844098,-0.17596879539781907
+0.798261028220262,1.0223439222279598
+0.07908979337850097,1.986157699434358
+-0.10837251827546557,-0.2725027709270416
+1.2085652221599266,-1.3171026120609073
+0.17093248875223807,0.24060644885753132
+-0.32656174489259016,0.3701925346564444
+-0.4494271128266655,-0.08965783188688162
+1.750884817900733,-2.6320075950911517
+-0.19154455728903758,0.11333733543639979
+0.6934032744659906,1.0363992621004383
+1.5283576210143108,-2.0684387304835092
+-0.75843783935881,0.6912152964381773
+-0.4927423856670893,1.1950483170883093
+-0.7724667314309797,-0.05956191395773852
+-1.2144882306576585,-0.35807759851613574
+0.7319565264848632,-0.8949803204400737
+1.3402120627157066,-1.817145136109431
+1.6732669376870204,-1.233270785692582
+-0.9748086913573625,0.7203553107500354
+-0.6010104137799317,1.0134718282852644
+1.3525571258453954,-0.576095675021297
+0.9548120807026637,0.8632994906865954
+0.27807395350976355,0.1013727524226804
+-0.5146545814265742,0.9702861438611285
+-0.9105797137308992,0.17011372751986292
+1.457206093153376,-0.5268084988792778
+1.2722307321992967,-0.7216979246242481
+0.4603168382328299,0.7907882308479608
+0.9387030604489562,-0.1135660432594221
+0.613736720313198,-0.254339097970933
+0.798261028220262,1.0223439222279598
+0.07908979337850097,1.986157699434358
+-0.10837251827546557,-0.2725027709270416
+1.2085652221599266,-1.3171026120609073
+0.17093248875223807,0.24060644885753132
+-0.5468035474083899,-0.09713524504752805
+-0.6842564731130867,0.7715172882603585
+1.750884817900733,-2.6320075950911517
+-0.19154455728903758,0.11333733543639979
+0.11979425557287347,0.22527442255842514
+1.1648364519648857,-1.3762326998470202
+-0.75843783935881,0.6912152964381773
+-0.4927423856670893,1.1950483170883093
+-0.7724667314309797,-0.05956191395773852
+-1.2144882306576585,-0.35807759851613574
+0.7319565264848632,-0.8949803204400737
+1.3402120627157066,-1.817145136109431
+1.6732669376870204,-1.233270785692582
+-0.9748086913573625,0.7203553107500354
+-0.6010104137799317,1.0134718282852644
+1.3525571258453954,-0.576095675021297
+0.9548120807026637,0.8632994906865954
+0.27807395350976355,0.1013727524226804
+0.6589325774487171,0.10636388310049394
+0.7029926040399237,0.5235242009284738
+1.457206093153376,-0.5268084988792778
+1.2722307321992967,-0.7216979246242481
+0.4603168382328299,0.7907882308479608
+0.4049951478862912,-0.6679137208503603
+-0.1561891090681916,0.601821759204602
+-0.03585868434778866,1.4681822783797833
+0.07908979337850097,1.986157699434358
+-0.10837251827546557,-0.2725027709270416
+1.2085652221599266,-1.3171026120609073
+0.909954477175442,-0.8329610543376416
+-0.5511013396770246,0.057091964316167296
+-0.6842564731130867,0.7715172882603585
+-0.24126391675602576,1.7866460543111855
+0.18579489683843686,-0.20791608180076282
+0.11979425557287347,0.22527442255842514
+1.1648364519648857,-1.3762326998470202
+-0.75843783935881,0.6912152964381773
+-0.4927423856670893,1.1950483170883093
+0.9981062828346232,-0.7195147017589101
+-1.2144882306576585,-0.35807759851613574
+1.5589532352494773,-1.89224876883101
+0.4941048004624833,0.07539149718825805
+1.6732669376870204,-1.233270785692582
+-0.40564356895721254,-0.04357307026542945
+-0.6010104137799317,1.0134718282852644
+-0.4778493499728589,0.47924279126034475
+0.9548120807026637,0.8632994906865954
+0.27807395350976355,0.1013727524226804
+1.4961729747929455,-0.673047509086691
+0.8247232481190471,-0.14213007500164065
+1.457206093153376,-0.5268084988792778
+0.5092413284268217,-0.3096718545629444
+0.39869535785822785,1.4145429605491413
+0.4049951478862912,-0.6679137208503603
+1.4104187707741775,-0.9396905627043501
+-0.03585868434778866,1.4681822783797833
+0.07908979337850097,1.986157699434358
+0.9477359755100893,-1.094782052083073
+1.267112536999106,-1.2285827445121824
+0.9636095527020099,-0.6754240408339813
+-0.5511013396770246,0.057091964316167296
+-0.6842564731130867,0.7715172882603585
+0.2133677450939553,1.452708994057824
+0.18579489683843686,-0.20791608180076282
+-0.13246723483549672,0.5912465378647435
+-0.50307523858999,0.003312748911362587
+-0.75843783935881,0.6912152964381773
+-0.7895941116594488,-0.04298252524763646
+0.9981062828346232,-0.7195147017589101
+-1.2144882306576585,-0.35807759851613574
+1.5589532352494773,-1.89224876883101
+0.4941048004624833,0.07539149718825805
+1.2099535820215448,0.1493846107048758
+0.4079600280710788,-0.313122673077784
+-0.04100262865904209,0.8384766339904053
+-0.6827344968059692,-0.18447504852634544
+0.9548120807026637,0.8632994906865954
+0.27807395350976355,0.1013727524226804
+1.4961729747929455,-0.673047509086691
+0.33649048771211243,-0.7511910834263525
+1.457206093153376,-0.5268084988792778
+0.5092413284268217,-0.3096718545629444
+0.480093435217547,-0.3224989457357321
+0.0865451214891706,1.1439438609738124
+0.8631476060664853,-0.3452511471670655
+-0.07877791519733723,0.0871363193223682
+0.07908979337850097,1.986157699434358
+0.9477359755100893,-1.094782052083073
+-0.6827324951517539,1.2460852166860281
+-0.8533809923059894,-0.18081260280449357
+0.0816163617560437,0.7428475990079635
+-0.6842564731130867,0.7715172882603585
+0.2133677450939553,1.452708994057824
+1.1866934248797516,0.19729962699329173
+1.263318934654816,-1.4185221551149105
+-0.50307523858999,0.003312748911362587
+-0.75843783935881,0.6912152964381773
+-0.7895941116594488,-0.04298252524763646
+-0.5738588051959657,0.4532691637049314
+0.1915796252730565,1.2607742053700646
+1.5589532352494773,-1.89224876883101
+0.4941048004624833,0.07539149718825805
+1.2099535820215448,0.1493846107048758
+0.4079600280710788,-0.313122673077784
+-0.04100262865904209,0.8384766339904053
+-0.6827344968059692,-0.18447504852634544
+0.8087193580530547,0.253341451638137
+0.27807395350976355,0.1013727524226804
+1.4961729747929455,-0.673047509086691
+0.33649048771211243,-0.7511910834263525
+1.457206093153376,-0.5268084988792778
+0.5092413284268217,-0.3096718545629444
+-0.6415037204680634,-0.04198598957048613
+0.0865451214891706,1.1439438609738124
+0.8631476060664853,-0.3452511471670655
+0.193549674983731,0.8492478017376229
+-0.43484843410570556,0.14354940268762117
+0.9477359755100893,-1.094782052083073
+-0.6827324951517539,1.2460852166860281
+-0.732776482562886,0.5838397967748113
+-0.811606392814459,0.09668937140731837
+0.29255264409862447,1.278892145759225
+0.2133677450939553,1.452708994057824
+-0.38719646389155804,2.082934262481008
+1.263318934654816,-1.4185221551149105
+-0.8053704379627467,0.9054735070305069
+0.10458224719360965,-0.3260042499984875
+0.06865052773221217,1.3354211127548887
+0.27707717846338287,0.27815459564792133
+0.1915796252730565,1.2607742053700646
+1.5589532352494773,-1.89224876883101
+1.0058058277047648,1.1798561185378005
+1.2099535820215448,0.1493846107048758
+0.4079600280710788,-0.313122673077784
+0.20514864085967208,0.8843777399640149
+0.5142560945123458,-0.48145638470827257
+-0.26614397371125487,2.1480846979990575
+0.27807395350976355,0.1013727524226804
+1.4961729747929455,-0.673047509086691
+-0.25225958051782543,2.0726986980802398
+1.457206093153376,-0.5268084988792778
+0.5092413284268217,-0.3096718545629444
+-0.1482636676678562,0.2654588002488791
+0.0865451214891706,1.1439438609738124
+-0.6495257796489327,-0.16094321937298722
+0.193549674983731,0.8492478017376229
+-0.43484843410570556,0.14354940268762117
+0.9477359755100893,-1.094782052083073
+-0.6592562313872302,0.6967235753024827
+1.3898678918972673,-1.5263840871358567
+-0.8317462338704271,0.8572668344071304
+0.22589061304790364,1.860861886060417
+0.6483120852924463,1.489219937252231
+-0.38719646389155804,2.082934262481008
+-0.18424349540068738,1.919545123874071
+1.114451984916088,-0.7419534327109287
+0.10458224719360965,-0.3260042499984875
+0.06865052773221217,1.3354211127548887
+0.6061643229033886,-0.013134101762246997
+0.1915796252730565,1.2607742053700646
+1.5589532352494773,-1.89224876883101
+0.1950413376011415,0.09934745851214344
+1.0886399342188473,0.3530522511045102
+0.4079600280710788,-0.313122673077784
+0.20514864085967208,0.8843777399640149
+0.5869557670363226,0.1442386264014988
+-0.26614397371125487,2.1480846979990575
+1.557614100816,-2.0311990886921576
+-0.8691486787564622,0.6931108680103453
+-0.375419634445903,0.33668480713778703
+1.457206093153376,-0.5268084988792778
+0.5092413284268217,-0.3096718545629444
+-0.5252650314126154,0.4098034595541055
+0.17855829354328917,2.107931918442554
+-0.6495257796489327,-0.16094321937298722
+0.9871783801728498,-0.9124281818490318
+0.33102564464157463,-0.3040469312412039
+-0.5925877684414743,0.27965684892265535
+-0.6592562313872302,0.6967235753024827
+1.3898678918972673,-1.5263840871358567
+0.3114398319816758,1.9601543892145028
+0.06891842027567141,-0.4279067343213021
+0.6483120852924463,1.489219937252231
+-0.38719646389155804,2.082934262481008
+-0.18424349540068738,1.919545123874071
+1.114451984916088,-0.7419534327109287
+-0.17785264837636583,0.5253725832037085
+-0.557196171149626,0.8017125806636323
+0.6061643229033886,-0.013134101762246997
+-0.31993601351640655,0.2543828634466322
+1.5589532352494773,-1.89224876883101
+0.1950413376011415,0.09934745851214344
+1.0886399342188473,0.3530522511045102
+0.7248315385207159,0.6040268319464035
+0.20514864085967208,0.8843777399640149
+0.5271834609311747,1.528003219337573
+-0.26614397371125487,2.1480846979990575
+-0.8836994118942341,0.4523561440866382
+-0.3076386139592864,0.0011996010184512906
+-0.375419634445903,0.33668480713778703
+0.4394604091957019,1.5714302264623239
+0.6615744137850584,1.4459551847564942
+-0.5252650314126154,0.4098034595541055
+0.17855829354328917,2.107931918442554
+-0.6495257796489327,-0.16094321937298722
+1.6155574687373007,-1.4351530497778346
+0.33102564464157463,-0.3040469312412039
+1.1940247564500943,-0.8105049745002584
+-0.6592562313872302,0.6967235753024827
+1.3898678918972673,-1.5263840871358567
+0.3114398319816758,1.9601543892145028
+0.06891842027567141,-0.4279067343213021
+0.6483120852924463,1.489219937252231
+-0.38719646389155804,2.082934262481008
+0.22479795743490072,-0.3448771952608294
+1.114451984916088,-0.7419534327109287
+-0.3104863576435703,0.08083274186391498
+-0.557196171149626,0.8017125806636323
+0.6061643229033886,-0.013134101762246997
+0.0623483613305289,0.14354762561507634
+1.5589532352494773,-1.89224876883101
+-0.6861653102893247,0.2950815379221395
+1.0886399342188473,0.3530522511045102
+0.7248315385207159,0.6040268319464035
+0.20514864085967208,0.8843777399640149
+1.4363985374656294,-1.3351592242568089
+-0.26614397371125487,2.1480846979990575
+-0.17646893546840142,2.1709015864008916
+1.1845683486450815,-1.374300702911914
+-0.375419634445903,0.33668480713778703
+-0.19529093677971332,2.1202518418813256
+0.6615744137850584,1.4459551847564942
+1.5380658853626408,-1.8024091555678186
+-0.782450541775222,1.2215677266499392
+-0.6495257796489327,-0.16094321937298722
+1.6155574687373007,-1.4351530497778346
+0.33102564464157463,-0.3040469312412039
+0.5083214831262071,1.9461420915329253
+-0.6592562313872302,0.6967235753024827
+1.7639491199838806,-1.674364387956122
+1.0577480543433868,0.5650847558818082
+0.9810400812442394,1.0374221985239895
+0.6483120852924463,1.489219937252231
+-0.38719646389155804,2.082934262481008
+-0.5065522707473323,-0.24565282751487466
+1.6549189674465186,-2.4079554269139094
+-0.3104863576435703,0.08083274186391498
+-0.05764488890529354,1.237032570175823
+1.3888829074223645,-1.576424612944133
+0.0623483613305289,0.14354762561507634
+1.5589532352494773,-1.89224876883101
+-0.6456394433358298,0.5280975849724083
+1.0886399342188473,0.3530522511045102
+0.7248315385207159,0.6040268319464035
+-0.1084823253445335,0.1727034856320509
+1.4363985374656294,-1.3351592242568089
+-0.26614397371125487,2.1480846979990575
+0.4419876574190687,1.890195207693562
+1.1845683486450815,-1.374300702911914
+-0.375419634445903,0.33668480713778703
+-0.19529093677971332,2.1202518418813256
+0.6615744137850584,1.4459551847564942
+1.5380658853626408,-1.8024091555678186
+-0.782450541775222,1.2215677266499392
+0.374566327340363,0.4408640088040976
+0.7030404596517974,-0.7051863613173494
+0.33102564464157463,-0.3040469312412039
+0.5083214831262071,1.9461420915329253
+-0.6592562313872302,0.6967235753024827
+-0.33757695327156684,0.113803920235997
+1.0577480543433868,0.5650847558818082
+0.5327727046744996,-0.5806887765635955
+0.6483120852924463,1.489219937252231
+0.15683099036774228,1.5448639820913492
+0.315823332046519,1.783860640623921
+0.9286397544537686,0.5065565991050617
+-0.3104863576435703,0.08083274186391498
+0.20984813219370663,0.4624160397758644
+-0.33869700027824123,0.08980114844407433
+0.0623483613305289,0.14354762561507634
+1.5589532352494773,-1.89224876883101
+0.5016884294866948,-0.39810213201432804
+1.0886399342188473,0.3530522511045102
+-0.8743126390420057,0.1490684927394731
+0.1854284533935916,1.914079128606659
+1.4363985374656294,-1.3351592242568089
+-0.13504442578712927,0.4150994068246325
+0.4419876574190687,1.890195207693562
+0.5638809171369286,-0.584358554626252
+-0.22458485278094478,2.2567062330933005
+0.8127523519924372,-0.7777090915873404
+0.41678834981100726,-0.09982813818326608
+1.5380658853626408,-1.8024091555678186
+0.21227916079696033,1.740523120551251
+-0.3743247894211635,0.8268486970327285
+0.3103465071297966,1.3539000455592753
+0.4044295460061481,0.66835281495801
+1.6248780336781945,-1.3436045161742747
+-0.6592562313872302,0.6967235753024827
+-0.33757695327156684,0.113803920235997
+-0.31836470052522825,1.7305098199776858
+-0.1039897182600687,2.103391967616695
+1.5161352216914834,-0.44506675792761274
+-0.30908401054288814,-0.280601653992535
+0.7803149907113861,-0.7863866375820434
+-0.027763653981903447,-0.19269709007899471
+-0.3104863576435703,0.08083274186391498
+0.6565623324227248,-0.9114128703919488
+-0.5608888367910628,-0.13420104294151658
+0.5740572606642168,1.2996328588497894
+1.1554667461984405,-1.2121691378408264
+0.5016884294866948,-0.39810213201432804
+1.0886399342188473,0.3530522511045102
+-0.8743126390420057,0.1490684927394731
+0.1854284533935916,1.914079128606659
+1.4363985374656294,-1.3351592242568089
+-0.13504442578712927,0.4150994068246325
+0.4419876574190687,1.890195207693562
+0.5638809171369286,-0.584358554626252
+-0.22458485278094478,2.2567062330933005
+0.8127523519924372,-0.7777090915873404
+1.0221752519777163,0.8618260916317981
+0.4476498360265038,1.7200485331874722
+-0.4776094362022159,1.0577482212725948
+-0.3743247894211635,0.8268486970327285
+-0.7026620335385791,0.8636188365955986
+0.4044295460061481,0.66835281495801
+1.6248780336781945,-1.3436045161742747
+-0.6592562313872302,0.6967235753024827
+0.897175880809894,1.2156418021495186
+0.3133680482372218,1.5249933410558225
+-0.37117995372393503,0.7343100916247601
+1.5161352216914834,-0.44506675792761274
+-0.30908401054288814,-0.280601653992535
+1.0639061908471934,-0.5246346470466461
+-0.027763653981903447,-0.19269709007899471
+-0.5271483632672902,0.033125905808022035
+-0.0675640842911936,1.6024699774381468
+-0.5608888367910628,-0.13420104294151658
+0.34063116122463577,-0.1129176563859825
+1.1554667461984405,-1.2121691378408264
+0.5016884294866948,-0.39810213201432804
+1.0886399342188473,0.3530522511045102
+-0.8743126390420057,0.1490684927394731
+0.18659181499041605,0.5624608086203158
+1.4363985374656294,-1.3351592242568089
+1.3109596483546013,0.21141147657624382
+0.4419876574190687,1.890195207693562
+0.5638809171369286,-0.584358554626252
+-0.22458485278094478,2.2567062330933005
+0.8127523519924372,-0.7777090915873404
+1.0221752519777163,0.8618260916317981
+0.4476498360265038,1.7200485331874722
+0.3290798669859627,2.2460307070873347
+-0.3743247894211635,0.8268486970327285
+-0.7026620335385791,0.8636188365955986
+0.4044295460061481,0.66835281495801
+1.6248780336781945,-1.3436045161742747
+-0.6592562313872302,0.6967235753024827
+0.897175880809894,1.2156418021495186
+0.3133680482372218,1.5249933410558225
+-0.37117995372393503,0.7343100916247601
+1.5161352216914834,-0.44506675792761274
+-0.30908401054288814,-0.280601653992535
+1.0639061908471934,-0.5246346470466461
+-0.027763653981903447,-0.19269709007899471
+0.08864610230648912,-0.09987360820593333
+-0.0675640842911936,1.6024699774381468
+0.5410530376632907,-0.4442650180426991
+0.34063116122463577,-0.1129176563859825
+1.1554667461984405,-1.2121691378408264
+0.5016884294866948,-0.39810213201432804
+1.0886399342188473,0.3530522511045102
+-0.6444194422016803,1.6056356465913764
+0.033238526956228504,0.7146507428220358
+1.4363985374656294,-1.3351592242568089
+1.3109596483546013,0.21141147657624382
+-0.2544212298843167,1.7988639599001053
+0.5638809171369286,-0.584358554626252
+-0.22458485278094478,2.2567062330933005
+0.8127523519924372,-0.7777090915873404
+1.0221752519777163,0.8618260916317981
+1.6343084593959314,-2.1101316097096205
+0.3290798669859627,2.2460307070873347
+0.14345693056516945,0.18967251486898834
+-0.7026620335385791,0.8636188365955986
+1.0981930427106137,0.6495549065255687
+1.6248780336781945,-1.3436045161742747
+-0.21454627657975872,0.8927743831466227
+-0.026663681607142387,1.4535106474560768
+1.7038472925178778,-2.3225911731551285
+-0.37117995372393503,0.7343100916247601
+1.0484566895057514,-0.1284295386221933
+-0.30908401054288814,-0.280601653992535
+-0.40635972816409116,0.5121687015119658
+-0.45203914355466845,1.3844808993744813
+1.4946516751690562,-1.8647659108864647
+-0.0675640842911936,1.6024699774381468
+0.5410530376632907,-0.4442650180426991
+0.34063116122463577,-0.1129176563859825
+1.1554667461984405,-1.2121691378408264
+-0.11547552866470234,0.191590955904605
+0.8259270301204089,1.1995459716526509
+-0.6444194422016803,1.6056356465913764
+0.9416347089236743,-1.0270482554249107
+1.4363985374656294,-1.3351592242568089
+-0.6260230909861626,1.2071622034906688
+1.3582048628345773,-1.4741006439406465
+0.23726117823041548,0.4207899507595798
+-0.22458485278094478,2.2567062330933005
+0.3810998393508307,0.2832114524506001
+-0.04190346104870124,0.05208619929820811
+1.6343084593959314,-2.1101316097096205
+1.4071235778823432,-1.1926876425649358
+1.4917953527209808,-2.073372718681295
+-0.7026620335385791,0.8636188365955986
+-0.02410049385454688,1.9133087189974856
+1.6248780336781945,-1.3436045161742747
+-0.22306417607301626,1.2932798713688833
+0.9637859197185794,0.9851764701030066
+1.7038472925178778,-2.3225911731551285
+-0.37117995372393503,0.7343100916247601
+1.1353351317481268,-1.3578225250395768
+-0.30908401054288814,-0.280601653992535
+0.5669006458742112,0.0809551922263424
+-0.45203914355466845,1.3844808993744813
+0.03114798076133382,-0.10969639498519035
+0.5180058194232304,-0.2532287341038016
+0.5410530376632907,-0.4442650180426991
+0.34063116122463577,-0.1129176563859825
+1.353504288869721,-0.8127341716291047
+-0.11547552866470234,0.191590955904605
+0.8259270301204089,1.1995459716526509
+1.1568890266389944,-0.8241207009132008
+0.9416347089236743,-1.0270482554249107
+1.4363985374656294,-1.3351592242568089
+-0.6260230909861626,1.2071622034906688
+1.335541868196232,-0.07125866756907262
+1.228562376313773,-1.1470146603778455
+-0.22458485278094478,2.2567062330933005
+0.3810998393508307,0.2832114524506001
+1.1618146094361832,-0.8228544511619563
+1.4069610971945017,-0.9577731646070878
+1.3293066039554067,-1.8971599234865215
+0.057502309565905935,1.8670952357704398
+-0.7026620335385791,0.8636188365955986
+0.8410988627589675,0.7810961264194238
+1.6248780336781945,-1.3436045161742747
+-0.22306417607301626,1.2932798713688833
+0.9637859197185794,0.9851764701030066
+1.4693055322097879,-0.5910667327129882
+-0.0698621347582894,1.8651216123893253
+1.1353351317481268,-1.3578225250395768
+-0.6851874298241377,0.919027394632713
+-0.32494876906732834,1.8799079884805066
+0.4844620322252542,2.0198293024631258
+0.03114798076133382,-0.10969639498519035
+0.5180058194232304,-0.2532287341038016
+0.5410530376632907,-0.4442650180426991
+0.34063116122463577,-0.1129176563859825
+1.353504288869721,-0.8127341716291047
+-0.11547552866470234,0.191590955904605
+0.8259270301204089,1.1995459716526509
+0.39299945128990565,-0.15850246249838587
+1.2325928938165096,0.19140690774993518
+1.0445949542320518,0.4149016740074074
+-0.6260230909861626,1.2071622034906688
+0.5344432215719297,2.126185974160037
+1.3405303684263346,-1.1355896708909472
+-0.21832112409051377,0.5100119551101797
+0.4619750280491382,1.6263847129622508
+1.655062606177684,-1.1284972212733793
+1.4069610971945017,-0.9577731646070878
+1.0131160341574386,0.7963326088040197
+0.057502309565905935,1.8670952357704398
+-0.7026620335385791,0.8636188365955986
+-0.6733380121877746,1.3525911550769296
+0.6978570978515759,1.483561949379376
+-0.37602218651223396,0.18087104033180867
+0.9637859197185794,0.9851764701030066
+1.4693055322097879,-0.5910667327129882
+-0.0698621347582894,1.8651216123893253
+-0.2947038611995108,2.453899977814136
+1.6707544873988531,-1.774469961045393
+1.164149168590157,-0.6987498754012285
+0.4844620322252542,2.0198293024631258
+0.45660058935801695,-0.32773514361578027
+0.5180058194232304,-0.2532287341038016
+0.5410530376632907,-0.4442650180426991
+0.5854401616425855,0.10557040813260876
+1.353504288869721,-0.8127341716291047
+-0.11547552866470234,0.191590955904605
+-0.501407910005112,1.9827992639833047
+1.584679938110507,-1.1413293691107753
+1.2325928938165096,0.19140690774993518
+1.0445949542320518,0.4149016740074074
+-0.6260230909861626,1.2071622034906688
+1.5242777255552413,-2.2966587640979004
+1.3405303684263346,-1.1355896708909472
+-0.21832112409051377,0.5100119551101797
+-0.5163621185777999,1.746421745322126
+1.655062606177684,-1.1284972212733793
+1.4069610971945017,-0.9577731646070878
+1.0131160341574386,0.7963326088040197
+0.057502309565905935,1.8670952357704398
+0.4248592029639318,-0.13627949259417171
+-0.6733380121877746,1.3525911550769296
+0.6978570978515759,1.483561949379376
+-0.37602218651223396,0.18087104033180867
+-0.3451049462606201,0.26165157184438687
+1.2483276217416557,-0.5258140731631982
+-0.0698621347582894,1.8651216123893253
+0.853719554331677,0.02992313254404988
+1.6707544873988531,-1.774469961045393
+0.15336906655138155,0.0469681778991172
+0.4844620322252542,2.0198293024631258
+0.5966037609195863,-0.8090167943943818
+0.5605386495262364,1.2123669464508324
+0.5410530376632907,-0.4442650180426991
+0.5854401616425855,0.10557040813260876
+1.353504288869721,-0.8127341716291047
+-0.04713910318026393,0.3431224470045123
+-0.47440570642217084,0.4809695959612028
+0.07455275404988734,0.271075595940408
+1.2325928938165096,0.19140690774993518
+1.0445949542320518,0.4149016740074074
+-0.013585418457580656,1.241379512417402
+1.5242777255552413,-2.2966587640979004
+0.36180928498005765,-0.05782781207075434
+-0.21832112409051377,0.5100119551101797
+-0.5163621185777999,1.746421745322126
+1.655062606177684,-1.1284972212733793
+1.4069610971945017,-0.9577731646070878
+1.0131160341574386,0.7963326088040197
+0.057502309565905935,1.8670952357704398
+0.4248592029639318,-0.13627949259417171
+-0.6733380121877746,1.3525911550769296
+0.6978570978515759,1.483561949379376
+-0.03388589361616991,1.7167770640179247
+0.20411728983414257,0.5183800503450766
+1.4014346635666408,-0.4154312500704368
+0.6163245441913257,1.663841933723584
+0.7627456428334926,-0.18974370223823156
+1.6707544873988531,-1.774469961045393
+-0.9331867059418506,0.8324480242516683
+-0.004868346828201253,1.6171766710908575
+0.5966037609195863,-0.8090167943943818
+0.5605386495262364,1.2123669464508324
+0.05854560666132386,-0.3498679676798728
+-0.46470656378939706,1.3798169992382332
+1.353504288869721,-0.8127341716291047
+-0.04713910318026393,0.3431224470045123
+-0.47440570642217084,0.4809695959612028
+0.07455275404988734,0.271075595940408
+1.2325928938165096,0.19140690774993518
+1.6677638356096391,-1.4609912426725953
+1.123321346809153,-1.686322794493118
+-0.6807097354993445,1.0638585171484887
+0.7737135517289278,0.9326291294131946
+0.28984100918763533,0.46617189702501816
+-0.5163621185777999,1.746421745322126
+1.655062606177684,-1.1284972212733793
+1.4069610971945017,-0.9577731646070878
+1.0401555936064333,0.7366138261299214
+0.057502309565905935,1.8670952357704398
+-0.9080413234665773,0.9422309448069593
+1.596988178846632,-1.5164118838962106
+0.6978570978515759,1.483561949379376
+0.09421617103372977,0.9711224193582182
+-0.8797693925133905,0.503855870752709
+1.4014346635666408,-0.4154312500704368
+0.6163245441913257,1.663841933723584
+0.7627456428334926,-0.18974370223823156
+-0.4760761271181928,-0.256121401662743
+-0.46115912815142623,0.8417331775500037
+-0.3290883310649779,1.4857820848135193
+-0.23924240975712396,-0.18842170344544096
+0.5605386495262364,1.2123669464508324
+1.1939167564502546,-0.6919460669147783
+-0.46470656378939706,1.3798169992382332
+1.353504288869721,-0.8127341716291047
+-0.09943228148558847,-0.44102074592062057
+-0.47440570642217084,0.4809695959612028
+0.788585299435687,-0.8523414737288254
+1.2325928938165096,0.19140690774993518
+1.6677638356096391,-1.4609912426725953
+1.123321346809153,-1.686322794493118
+-0.6807097354993445,1.0638585171484887
+0.7854875062172035,-0.9306402539605558
+-0.7022028099273782,0.30228905649781956
+-0.5163621185777999,1.746421745322126
+1.655062606177684,-1.1284972212733793
+1.4069610971945017,-0.9577731646070878
+1.0401555936064333,0.7366138261299214
+0.9500207980343723,-0.7455544418887502
+-0.9080413234665773,0.9422309448069593
+1.1915642519743943,-0.343891706663718
+-0.9856994005593656,0.6497071554199669
+1.0139846387328022,0.5963561336630897
+-0.8797693925133905,0.503855870752709
+1.4014346635666408,-0.4154312500704368
+1.2503723302316838,-1.2947679193099466
+1.0822522422895486,-0.6593730002971797
+-0.13565355700738757,0.23552733695954264
+-0.46115912815142623,0.8417331775500037
+-0.3290883310649779,1.4857820848135193
+-0.23924240975712396,-0.18842170344544096
+-0.32531129122784913,0.013597761254766833
+1.1529295451001025,-0.43473477619936185
+-0.46470656378939706,1.3798169992382332
+0.47768050871207113,1.2411300896028103
+-0.09943228148558847,-0.44102074592062057
+-0.5663976777278784,1.5811362722484434
+0.788585299435687,-0.8523414737288254
+1.2325928938165096,0.19140690774993518
+1.1170489571721545,-0.8040415381710247
+1.123321346809153,-1.686322794493118
+-0.6807097354993445,1.0638585171484887
+0.9685112765522277,0.42540761775191227
+-0.7022028099273782,0.30228905649781956
+-0.5163621185777999,1.746421745322126
+1.655062606177684,-1.1284972212733793
+-0.3561300806108175,2.2433072372482714
+1.0401555936064333,0.7366138261299214
+1.5435933122456373,-1.702043693899964
+0.5716876376471791,0.8973181487209014
+1.1915642519743943,-0.343891706663718
+0.6441910983634609,-0.6969339116164031
+1.7179569900577225,-2.27212537144357
+-0.8797693925133905,0.503855870752709
+1.4014346635666408,-0.4154312500704368
+1.5720463994328902,-1.2755754783557207
+-0.19717463746165054,-0.16603631054387008
+-0.5593454509866069,0.28703974392034953
+-0.7373521512755491,0.8077051757531442
+0.8562483032365649,-1.0415595219071054
+-0.23924240975712396,-0.18842170344544096
+-0.32531129122784913,0.013597761254766833
+1.5669259450402884,-1.174194349088674
+-0.46470656378939706,1.3798169992382332
+0.47768050871207113,1.2411300896028103
+-0.09943228148558847,-0.44102074592062057
+-0.8056936869995927,1.2182067899603921
+0.788585299435687,-0.8523414737288254
+0.6063542358673215,0.9050212607407045
+-0.5149063807974157,1.8134983323852363
+0.19890623980435768,2.2814928663173606
+-0.6807097354993445,1.0638585171484887
+-0.20686817951778647,0.754734650714362
+-0.7022028099273782,0.30228905649781956
+-0.689656845602286,1.0440112836076718
+1.655062606177684,-1.1284972212733793
+0.12471256354556735,1.68275564874552
+1.0401555936064333,0.7366138261299214
+0.6450077053857247,-0.4968223621832115
+0.5716876376471791,0.8973181487209014
+1.2318013936101408,0.19371216629603882
+-0.9487865760752245,0.2748164044024659
+1.7179569900577225,-2.27212537144357
+-0.8797693925133905,0.503855870752709
+-0.7620423724948878,0.5190998524594956
+1.6023744413661778,-1.5488392754035696
+-0.19717463746165054,-0.16603631054387008
+0.4664897201538345,1.43985121104078
+-0.538929003787983,-0.07415127182916884
+0.8562483032365649,-1.0415595219071054
+-0.23924240975712396,-0.18842170344544096
+0.7610308696696914,1.2019661961395676
+1.659851383271969,-2.5117080402391494
+-0.46470656378939706,1.3798169992382332
+0.47302431113670196,0.7051125515222547
+-0.09943228148558847,-0.44102074592062057
+1.6025421277243015,-1.0366904490162052
+1.3483328554861005,-0.34405785553097334
+0.6063542358673215,0.9050212607407045
+-0.5149063807974157,1.8134983323852363
+0.19890623980435768,2.2814928663173606
+-0.6807097354993445,1.0638585171484887
+0.7837909974811982,-0.9263580210757891
+-0.7022028099273782,0.30228905649781956
+-0.689656845602286,1.0440112836076718
+1.655062606177684,-1.1284972212733793
+-0.14305309188788512,0.2669168091594994
+1.0401555936064333,0.7366138261299214
+0.13455590720515342,-0.0705181123141253
+0.6980646054862438,0.023492021343436753
+-0.08889145338608817,2.4514415911341527
+-0.9487865760752245,0.2748164044024659
+1.7179569900577225,-2.27212537144357
+-0.872270881120812,0.2387473408917787
+-0.7620423724948878,0.5190998524594956
+1.6023744413661778,-1.5488392754035696
+-0.7405286433793867,0.8182178046160512
+0.4664897201538345,1.43985121104078
+0.050896153587958404,1.8561308659264522
+0.8562483032365649,-1.0415595219071054
+-0.23924240975712396,-0.18842170344544096
+0.7610308696696914,1.2019661961395676
+1.659851383271969,-2.5117080402391494
+-0.46470656378939706,1.3798169992382332
+0.47302431113670196,0.7051125515222547
+-0.09943228148558847,-0.44102074592062057
+1.6025421277243015,-1.0366904490162052
+0.38042878047528106,0.07592559147247635
+0.6063542358673215,0.9050212607407045
+-0.5149063807974157,1.8134983323852363
+0.19890623980435768,2.2814928663173606
+-0.3748933695668394,1.189157980733141
+0.7837909974811982,-0.9263580210757891
+-0.7022028099273782,0.30228905649781956
+-1.188499102959464,0.1449283071655039
+1.655062606177684,-1.1284972212733793
+-0.14305309188788512,0.2669168091594994
+1.0401555936064333,0.7366138261299214
+0.13455590720515342,-0.0705181123141253
+0.7769260543968319,-0.2708958894841331
+-0.08889145338608817,2.4514415911341527
+-0.9487865760752245,0.2748164044024659
+1.7179569900577225,-2.27212537144357
+-0.872270881120812,0.2387473408917787
+-0.7620423724948878,0.5190998524594956
+1.549488177140771,-1.4359720637244795
+-0.9917512578204617,0.38655363393663067
+0.4664897201538345,1.43985121104078
+-0.2233176315212343,0.5784389508817505
+0.8562483032365649,-1.0415595219071054
+1.4047141063228903,0.15639426490586716
+0.7610308696696914,1.2019661961395676
+1.659851383271969,-2.5117080402391494
+-0.8033558183799433,0.5550579790227544
+1.6267733700731424,-1.1834230832901524
+-0.2876873885381517,1.5279505085781722
+1.6025421277243015,-1.0366904490162052
+-0.02556071101459602,0.3556835946748136
+0.23570592132021365,2.139068831910946
+-0.5149063807974157,1.8134983323852363
+0.7764336613231583,0.08312534638502717
+-0.3748933695668394,1.189157980733141
+0.7837909974811982,-0.9263580210757891
+0.5459590873866198,1.0431012950506486
+0.848203918977638,0.4758874511154615
+1.655062606177684,-1.1284972212733793
+-0.1515786322261189,-0.12956035058881907
+1.0401555936064333,0.7366138261299214
+0.3805074548574372,1.9588230610079518
+0.7769260543968319,-0.2708958894841331
+1.2802404742655638,-1.1734858715796022
+-0.7030951492206422,0.2065692649395843
+1.7179569900577225,-2.27212537144357
+-0.872270881120812,0.2387473408917787
+0.1149172112050969,1.3467911682899474
+-0.36216533917560856,0.9038206260855544
+0.6332075342019468,-0.7565076414800068
+1.520599174529758,-1.66062704208478
+1.0600391683007053,0.18883762740167587
+-0.2667650606479024,-0.1965091852801254
+0.8385513383856399,-0.7012850198861103
+0.7610308696696914,1.2019661961395676
+1.659851383271969,-2.5117080402391494
+0.8099379484690381,1.443285588170451
+1.6267733700731424,-1.1834230832901524
+-0.2876873885381517,1.5279505085781722
+0.7462329047517235,1.1842753884008506
+-0.02556071101459602,0.3556835946748136
+0.23570592132021365,2.139068831910946
+1.629808018872363,-1.1952184924441547
+1.2374100951290554,-1.9093029404840496
+-0.5279581379646052,1.8628101471722607
+0.7837909974811982,-0.9263580210757891
+0.45681486312073705,-0.43393761804407216
+0.818442575498995,-0.32046899078425684
+0.8159575282207531,-0.7751241625031637
+-0.1515786322261189,-0.12956035058881907
+1.0401555936064333,0.7366138261299214
+0.3805074548574372,1.9588230610079518
+0.500992283679762,1.3286456757846365
+1.2802404742655638,-1.1734858715796022
+-0.017450742814250575,1.5520912520147496
+1.7179569900577225,-2.27212537144357
+-0.872270881120812,0.2387473408917787
+1.2640190199171593,-1.1470793645863984
+-0.36216533917560856,0.9038206260855544
+0.05671433627105976,1.5185913362745243
+1.520599174529758,-1.66062704208478
+1.0600391683007053,0.18883762740167587
+-0.28466183480234186,2.253659302904905
+0.8385513383856399,-0.7012850198861103
+0.7610308696696914,1.2019661961395676
+1.659851383271969,-2.5117080402391494
+1.439737688304593,-1.0836805102600704
+0.6278339195601073,1.1685764677232684
+-0.2876873885381517,1.5279505085781722
+0.7497386040309697,-1.0989928172804169
+-0.02556071101459602,0.3556835946748136
+0.23570592132021365,2.139068831910946
+1.0800320799559968,0.9400742002124011
+1.3780543180518845,-1.5556451903574646
+-0.5279581379646052,1.8628101471722607
+-0.141537760020739,2.0204724074795446
+-0.383205515954286,0.669489222592522
+0.818442575498995,-0.32046899078425684
+0.8159575282207531,-0.7751241625031637
+0.6747783345763082,1.138525643848899
+1.0401555936064333,0.7366138261299214
+0.3805074548574372,1.9588230610079518
+0.500992283679762,1.3286456757846365
+1.2802404742655638,-1.1734858715796022
+1.0219384463538441,0.2479822645786045
+0.7962666502236375,-0.4375060482485562
+-0.01653817081203779,-0.17951669410253582
+1.2771406459887804,-0.5275380629082864
+-0.6686971128882346,1.551771103367491
+0.7046970742890377,-0.5401007158927142
+1.520599174529758,-1.66062704208478
+0.018753583621624048,1.3400044489264695
+0.25176485979436636,0.30361663750052537
+0.8385513383856399,-0.7012850198861103
+-0.167866702481781,0.8572919776392799
+1.659851383271969,-2.5117080402391494
+1.439737688304593,-1.0836805102600704
+-0.5298980691827858,1.7005400428451025
+-0.2876873885381517,1.5279505085781722
+0.7497386040309697,-1.0989928172804169
+0.2870687009543045,2.2972688484791046
+-0.4665886800740928,1.631562464416791
+1.0800320799559968,0.9400742002124011
+1.3780543180518845,-1.5556451903574646
+-0.6411302935809028,1.0107226841362684
+-0.141537760020739,2.0204724074795446
+0.5056331195584159,0.12689652153538145
+0.818442575498995,-0.32046899078425684
+1.415663869301723,-0.6371429503939015
+0.6747783345763082,1.138525643848899
+1.2000713060486878,-0.6432325439997829
+1.1048023901281445,-1.8628166704283617
+0.500992283679762,1.3286456757846365
+0.09909402239353479,0.6953659829411527
+1.7161760835678823,-1.765805464466759
+0.42608499915202114,1.61319438901121
+-0.06621486471306831,-0.023711362458398222
+1.2771406459887804,-0.5275380629082864
+0.3714852598503921,1.4988822037745044
+0.7046970742890377,-0.5401007158927142
+1.520599174529758,-1.66062704208478
+0.018753583621624048,1.3400044489264695
+1.227812440506634,-1.7895296785715735
+0.8385513383856399,-0.7012850198861103
+-0.1681096909524904,1.8867440489863023
+1.3977788454868607,-0.6274783068342283
+-0.8004125132052518,0.1454785859418939
+-0.5298980691827858,1.7005400428451025
+-0.2876873885381517,1.5279505085781722
+-0.4741908131166956,2.200337212962925
+0.2870687009543045,2.2972688484791046
+-0.3394708345961541,0.4994406125839257
+1.5459872975589903,-1.4823031048003454
+1.3780543180518845,-1.5556451903574646
+-0.6411302935809028,1.0107226841362684
+1.711441183568525,-1.7525020181725899
+-0.14772769075308187,1.9557026915485514
+0.818442575498995,-0.32046899078425684
+-0.7234604641257979,0.9045261242566982
+1.7664844912926263,-1.3396476549816587
+1.2000713060486878,-0.6432325439997829
+0.7930348228537695,-1.4592761897916446
+0.13907130645040305,1.4937799581585631
+-0.5905805312220964,1.3819372622453676
+1.7161760835678823,-1.765805464466759
+0.42608499915202114,1.61319438901121
+-0.06621486471306831,-0.023711362458398222
+1.122669516490616,-1.0599718683323087
+1.7465051403177156,-2.5506831242943213
+0.7046970742890377,-0.5401007158927142
+1.3823738519450015,-0.08987227625343108
+0.8782167395669898,0.1955622069069416
+1.227812440506634,-1.7895296785715735
+0.8385513383856399,-0.7012850198861103
+0.9173929410897279,1.3851730948470629
+1.3977788454868607,-0.6274783068342283
+-0.8004125132052518,0.1454785859418939
+-0.5298980691827858,1.7005400428451025
+-0.2876873885381517,1.5279505085781722
+0.6008338188981632,-0.7119565817088463
+-0.06328279352855737,0.14273928994662655
+-0.5077650596403934,1.6190249743754916
+1.5459872975589903,-1.4823031048003454
+1.3780543180518845,-1.5556451903574646
+-0.6411302935809028,1.0107226841362684
+0.36692939829923477,1.3663557758634597
+-0.14772769075308187,1.9557026915485514
+0.818442575498995,-0.32046899078425684
+0.21492312795880075,-0.07073970228441095
+1.74141730540398,-2.449611861457524
+0.25828807903627615,-0.0462871884677547
+0.7930348228537695,-1.4592761897916446
+1.4203239774695429,-1.5508140080619186
+-0.5905805312220964,1.3819372622453676
+0.8031674600916358,0.26952999635908337
+0.42608499915202114,1.61319438901121
+-0.8408600405886498,-0.22048639688358562
+1.122669516490616,-1.0599718683323087
+1.7465051403177156,-2.5506831242943213
+-0.2741585644592176,0.0665677104631417
+-0.2159522749584882,0.5840581075860138
+0.8782167395669898,0.1955622069069416
+1.227812440506634,-1.7895296785715735
+-0.7348458359356912,-0.0591611075596255
+0.9173929410897279,1.3851730948470629
+1.3977788454868607,-0.6274783068342283
+-0.8004125132052518,0.1454785859418939
+-0.5298980691827858,1.7005400428451025
+-0.2876873885381517,1.5279505085781722
+0.6008338188981632,-0.7119565817088463
+-0.06328279352855737,0.14273928994662655
diff --git a/examples/only-model/data/posterior/posterior_plot.py b/examples/only-model/data/posterior/posterior_plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..840d0bcd7717f903750e6cadf8978e5d7df6b06a
--- /dev/null
+++ b/examples/only-model/data/posterior/posterior_plot.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Thu May 19 14:31:50 2022
+
+@author: farid
+"""
+import matplotlib.pyplot as plt
+import os
+import pandas as pd
+import seaborn as sns
+import numpy as np
+# Load the mplstyle
+plt.style.use(os.path.join(
+    os.path.split(__file__)[0],
+    '../../../../src/bayesvalidrox/', 'bayesvalidrox.mplstyle'))
+
+font_size = 80
+
+posterior_df = pd.read_csv('posterior_orig.csv')
+par_names = list(posterior_df.keys())
+n_params = len(par_names)
+posterior = posterior_df.values
+bound_tuples = [(-5, 5), (-5, 5)]
+
+folder = 'BAL_DKL'
+file = 'SeqPosterior_45'
+posterior = np.load(f'{folder}/{file}.npy')
+
+figPosterior, ax = plt.subplots(figsize=(15, 15))
+
+sns.kdeplot(x=posterior[:, 0], y=posterior[:, 1],
+            fill=True, ax=ax, cmap=plt.cm.jet,
+            clip=bound_tuples)
+# Axis labels
+plt.xlabel(par_names[0], fontsize=font_size)
+plt.ylabel(par_names[1], fontsize=font_size)
+
+# Set axis limit
+plt.xlim(bound_tuples[0])
+plt.ylim(bound_tuples[1])
+
+# Increase font size
+plt.xticks(fontsize=font_size)
+plt.yticks(fontsize=font_size)
+
+# Switch off the grids
+plt.grid(False)
+plt.show()
+# figPosterior.savefig("orig_posterior.pdf", bbox_inches='tight')
+figPosterior.savefig(f"seq_posterior_45_{folder}.pdf", bbox_inches='tight')
+plt.close()
diff --git a/examples/only-model/data/refBME_KLD_10.npy b/examples/only-model/data/refBME_KLD_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..5cad0720c29c966ae19cc942275bb5bcc6af3810
Binary files /dev/null and b/examples/only-model/data/refBME_KLD_10.npy differ
diff --git a/examples/only-model/data/refBME_KLD_2.npy b/examples/only-model/data/refBME_KLD_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..f6874ab10d08f3864e755b65d7cff94b0cabf81f
Binary files /dev/null and b/examples/only-model/data/refBME_KLD_2.npy differ
diff --git a/examples/only-model/data/std_10.npy b/examples/only-model/data/std_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..0ca99dbb88c8a6676a3cdf5a280bf34edc9685ed
Binary files /dev/null and b/examples/only-model/data/std_10.npy differ
diff --git a/examples/only-model/data/std_2.npy b/examples/only-model/data/std_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..144f3abe232c4215984befeadc898d3f6601f6d8
Binary files /dev/null and b/examples/only-model/data/std_2.npy differ
diff --git a/examples/only-model/data/validLikelihoods_10.npy b/examples/only-model/data/validLikelihoods_10.npy
new file mode 100644
index 0000000000000000000000000000000000000000..e4646b7e7e1b0d33e1810488af485d5bb0679605
Binary files /dev/null and b/examples/only-model/data/validLikelihoods_10.npy differ
diff --git a/examples/only-model/data/validLikelihoods_2.npy b/examples/only-model/data/validLikelihoods_2.npy
new file mode 100644
index 0000000000000000000000000000000000000000..70971b581122eb48aca6fcf4961bdd39fd66b17a
Binary files /dev/null and b/examples/only-model/data/validLikelihoods_2.npy differ
diff --git a/examples/only-model/test_analytical_function_NoSigmaMetaMod.py b/examples/only-model/test_analytical_function_NoSigmaMetaMod.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e8e68afba56ae605a484ea624c9decf3f691f57
--- /dev/null
+++ b/examples/only-model/test_analytical_function_NoSigmaMetaMod.py
@@ -0,0 +1,331 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+This test shows a surrogate-assisted Bayesian calibration of a time dependent
+    analytical function.
+
+Author: Farid Mohammadi, M.Sc.
+E-Mail: farid.mohammadi@iws.uni-stuttgart.de
+Department of Hydromechanics and Modelling of Hydrosystems (LH2)
+Institute for Modelling Hydraulic and Environmental Systems (IWS), University
+of Stuttgart, www.iws.uni-stuttgart.de/lh2/
+Pfaffenwaldring 61
+70569 Stuttgart
+
+Created on Fri Aug 9 2019
+
+"""
+
+import numpy as np
+import pandas as pd
+import random
+import sys
+import joblib
+# import bayesvalidrox
+# Add BayesValidRox path
+sys.path.append("../../src/bayesvalidrox/")
+
+#import bayesvalidrox as bv
+from bayesvalidrox.pylink.pylink import PyLinkForwardModel
+from bayesvalidrox.surrogate_models.inputs import Input
+from bayesvalidrox.surrogate_models.surrogate_models import MetaModel
+from bayesvalidrox.surrogate_models.meta_model_engine import MetaModelEngine
+from bayesvalidrox.post_processing.post_processing import PostProcessing
+from bayesvalidrox.bayes_inference.bayes_inference import BayesInference
+from bayesvalidrox.bayes_inference.discrepancy import Discrepancy
+import matplotlib
+matplotlib.use('agg')
+
+
+if __name__ == "__main__":
+    random.seed(15)
+
+    # Number of parameters
+    ndim = 10  # 2, 10
+
+    # =====================================================
+    # =============   COMPUTATIONAL MODEL  ================
+    # =====================================================
+    Model = PyLinkForwardModel()
+
+    Model.link_type = 'Function'
+    Model.py_file = 'analytical_function'
+    Model.name = 'AnalyticFunc'
+
+    Model.Output.names = ['Z']
+
+    # For Bayesian inversion synthetic data with X=[0,0]
+    Model.observations = {}
+    Model.observations['Time [s]'] = np.arange(0, 10, 1.) / 9
+    Model.observations['Z'] = np.repeat([2.], 10)
+    Model.observations['Z1'] = np.repeat([2.], 10)
+    #Model.observations['Nothing'] = np.zeros((1,10))
+
+    # For Checking with the MonteCarlo refrence
+  #  Model.mc_reference = {}
+  #  Model.mc_reference['Time [s]'] = np.arange(0, 10, 1.) / 9
+  #  Model.mc_reference['mean'] = np.load(f"data/mean_{ndim}.npy")
+  #  Model.mc_reference['std'] = np.load(f"data/std_{ndim}.npy")
+
+    # =====================================================
+    # =========   PROBABILISTIC INPUT MODEL  ==============
+    # =====================================================
+    # Define the uncertain parameters with their mean and
+    # standard deviation
+    Inputs = Input()
+
+    # Assuming dependent input variables
+    # Inputs.Rosenblatt = True
+
+    for i in range(ndim):
+        Inputs.add_marginals()
+        Inputs.Marginals[i].name = "$\\theta_{"+str(i+1)+"}$"
+        Inputs.Marginals[i].dist_type = 'uniform'
+        Inputs.Marginals[i].parameters = [-5, 5]
+
+    # arbitrary polynomial chaos
+    # inputParams = np.load('data/InputParameters_{}.npy'.format(ndim))
+    # for i in range(ndim):
+    #     Inputs.add_marginals()
+    #     Inputs.Marginals[i].name = f'$X_{i+1}$'
+    #     Inputs.Marginals[i].input_data = inputParams[:, i]
+
+    # =====================================================
+    # ==========  DEFINITION OF THE METAMODEL  ============
+    # =====================================================
+    MetaModelOpts = MetaModel(Inputs, Model)
+
+    # Select if you want to preserve the spatial/temporal depencencies
+    # MetaModelOpts.dim_red_method = 'PCA'
+    # MetaModelOpts.var_pca_threshold = 99.999
+    # MetaModelOpts.n_pca_components = 10
+
+    # Select your metamodel method
+    # 1) PCE (Polynomial Chaos Expansion) 2) aPCE (arbitrary PCE)
+    # 3) GPE (Gaussian Process Emulator)
+    MetaModelOpts.meta_model_type = 'aPCE'
+
+    # ------------------------------------------------
+    # ------------- PCE Specification ----------------
+    # ------------------------------------------------
+    # Select the sparse least-square minimization method for
+    # the PCE coefficients calculation:
+    # 1)OLS: Ordinary Least Square  2)BRR: Bayesian Ridge Regression
+    # 3)LARS: Least angle regression  4)ARD: Bayesian ARD Regression
+    # 5)FastARD: Fast Bayesian ARD Regression
+    # 6)BCS: Bayesian Compressive Sensing
+    # 7)OMP: Orthogonal Matching Pursuit
+    # 8)VBL: Variational Bayesian Learning
+    # 9)EBL: Emperical Bayesian Learning
+    MetaModelOpts.pce_reg_method = 'FastARD'
+
+    # Bootstraping
+    # 1) normal 2) fast
+    MetaModelOpts.bootstrap_method = 'fast'
+    MetaModelOpts.n_bootstrap_itrs = 1
+
+    # Specify the max degree to be compared by the adaptive algorithm:
+    # The degree with the lowest Leave-One-Out cross-validation (LOO)
+    # error (or the highest score=1-LOO)estimator is chosen as the final
+    # metamodel. pce_deg accepts degree as a scalar or a range.
+    MetaModelOpts.pce_deg = 12
+
+    # q-quasi-norm 0<q<1 (default=1)
+    MetaModelOpts.pce_q_norm = 0.85 if ndim < 5 else 0.5
+
+    # Print summary of the regression results
+    # MetaModelOpts.verbose = True
+
+    # ------------------------------------------------
+    # ------ Experimental Design Configuration -------
+    # ------------------------------------------------
+    MetaModelOpts.add_ExpDesign()
+
+    # One-shot (normal) or Sequential Adaptive (sequential) Design
+    MetaModelOpts.ExpDesign.method = 'sequential'
+    MetaModelOpts.ExpDesign.n_init_samples = 3*ndim
+
+    # Sampling methods
+    # 1) random 2) latin_hypercube 3) sobol 4) halton 5) hammersley
+    # 6) chebyshev(FT) 7) grid(FT) 8)user
+    MetaModelOpts.ExpDesign.sampling_method = 'latin_hypercube'
+
+    # Provide the experimental design object with a hdf5 file
+    # MetaModelOpts.ExpDesign.hdf5_file = 'ExpDesign_AnalyticFunc.hdf5'
+
+    # ------------------------------------------------
+    # ------- Sequential Design configuration --------
+    # ------------------------------------------------
+    # Set the sampling parameters
+    MetaModelOpts.ExpDesign.n_new_samples = 1
+    MetaModelOpts.ExpDesign.n_max_samples = 33#150          # sum of init + sequential 
+    MetaModelOpts.ExpDesign.mod_LOO_threshold = 1e-16
+
+    # MetaModelOpts.adapt_verbose = True
+    # 1) None 2) 'equal' 3)'epsilon-decreasing' 4) 'adaptive'
+    MetaModelOpts.ExpDesign.tradeoff_scheme = None
+    # MetaModelOpts.ExpDesign.n_replication = 5
+    # -------- Exploration ------
+    # 1)'Voronoi' 2)'random' 3)'latin_hypercube' 4)'LOOCV' 5)'dual annealing'
+    MetaModelOpts.ExpDesign.explore_method = 'random'
+
+    # Use when 'dual annealing' chosen
+    MetaModelOpts.ExpDesign.max_func_itr = 1000
+
+    # Use when 'Voronoi' or 'random' or 'latin_hypercube' chosen
+    MetaModelOpts.ExpDesign.n_canddidate = 1000
+    MetaModelOpts.ExpDesign.n_cand_groups = 4
+
+    # -------- Exploitation ------
+    # 1)'BayesOptDesign' 2)'BayesActDesign' 3)'VarOptDesign' 4)'alphabetic'
+    # 5)'Space-filling'
+    MetaModelOpts.ExpDesign.exploit_method = 'BayesActDesign'
+
+    # BayesOptDesign/BayesActDesign -> when data is available
+    # 1) MI (Mutual information) 2) ALC (Active learning McKay)
+    # 2)DKL (Kullback-Leibler Divergence) 3)DPP (D-Posterior-percision)
+    # 4)APP (A-Posterior-percision)  # ['DKL', 'BME', 'infEntropy']
+    # MetaModelOpts.ExpDesign.util_func = 'DKL'
+
+    # BayesActDesign -> when data is available
+    # 1) BME (Bayesian model evidence) 2) infEntropy (Information entropy)
+    # 2)DKL (Kullback-Leibler Divergence)
+    MetaModelOpts.ExpDesign.util_func = 'BME'#'DKL'
+
+    # VarBasedOptDesign -> when data is not available
+    # 1)ALM 2)EIGF, 3)LOOCV
+    # or a combination as a list
+    # MetaModelOpts.ExpDesign.util_func = 'EIGF'
+
+    # alphabetic
+    # 1)D-Opt (D-Optimality) 2)A-Opt (A-Optimality)
+    # 3)K-Opt (K-Optimality) or a combination as a list
+    # MetaModelOpts.ExpDesign.util_func = 'D-Opt'
+
+    # Defining the measurement error, if it's known a priori
+    obsData = pd.DataFrame(Model.observations, columns=Model.Output.names)
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.type = 'Gaussian'
+    DiscrepancyOpts.parameters = obsData**2
+    MetaModelOpts.Discrepancy = DiscrepancyOpts
+
+    # Plot the posterior snapshots for SeqDesign
+    MetaModelOpts.ExpDesign.post_snapshot = False
+    MetaModelOpts.ExpDesign.step_snapshot = 1
+    MetaModelOpts.ExpDesign.max_a_post = [0] * ndim
+
+    # For calculation of validation error for SeqDesign
+    prior = np.load(f"data/Prior_{ndim}.npy")
+    prior_outputs = np.load(f"data/origModelOutput_{ndim}.npy")
+    likelihood = np.load(f"data/validLikelihoods_{ndim}.npy")
+    MetaModelOpts.valid_samples = prior[:500]
+    MetaModelOpts.valid_model_runs = {'Z': prior_outputs[:500]}
+    # MetaModelOpts.valid_likelihoods = likelihood
+
+    # >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+    # Train the meta model
+    meta_model_engine = MetaModelEngine(MetaModelOpts)
+    meta_model_engine.run()
+    PCEModel = meta_model_engine.MetaModel
+
+    # Save PCE models
+    with open(f'PCEModel_{Model.name}.pkl', 'wb') as output:
+        joblib.dump(PCEModel, output, 2)
+
+    # Load the objects
+    # with open(f"PCEModel_{Model.name}.pkl", "rb") as input:
+    #     PCEModel = joblib.load(input)
+
+    # =====================================================
+    # =========  POST PROCESSING OF METAMODELS  ===========
+    # =====================================================
+    PostPCE = PostProcessing(PCEModel)
+
+    # Plot to check validation visually.
+    PostPCE.valid_metamodel(n_samples=1)
+
+    # Compute and print RMSE error
+    PostPCE.check_accuracy(n_samples=300)
+
+    # Compute the moments and compare with the Monte-Carlo reference
+    if MetaModelOpts.meta_model_type != 'GPE':
+        PostPCE.plot_moments()
+
+    # Plot the evolution of the KLD,BME, and Modified LOOCV error
+    if MetaModelOpts.ExpDesign.method == 'sequential':
+        refBME_KLD = np.load("data/refBME_KLD_"+str(ndim)+".npy")
+#        PostPCE.plot_seq_design_diagnostics(refBME_KLD)
+
+    # Plot the sobol indices
+    if MetaModelOpts.meta_model_type != 'GPE':
+        total_sobol = PostPCE.sobol_indices()
+
+    # =====================================================
+    # ========  Bayesian inference with Emulator ==========
+    # =====================================================
+    BayesOpts = BayesInference(PCEModel)
+    BayesOpts.emulator = True
+    BayesOpts.plot_post_pred = True
+
+    # BayesOpts.selected_indices = [0, 3, 5,  7, 9]
+    # BME Bootstrap
+    # BayesOpts.bootstrap = True
+    # BayesOpts.n_bootstrap_itrs = 500
+    # BayesOpts.bootstrap_noise = 100
+
+    # Bayesian cross validation
+    # BayesOpts.bayes_loocv = True
+
+    # Select the inference method
+    import emcee
+    BayesOpts.inference_method = "MCMC"
+    # Set the MCMC parameters passed to self.mcmc_params
+    BayesOpts.mcmc_params = {
+        'n_steps': 1e3,
+        'n_walkers': 30,
+        'moves': emcee.moves.KDEMove(),
+        'multiprocessing': False,
+        'verbose': False
+        }
+
+    # ----- Define the discrepancy model -------
+    BayesOpts.measurement_error = obsData
+
+    # # -- (Option B) --
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.type = 'Gaussian'
+    DiscrepancyOpts.parameters = obsData**2
+    BayesOpts.Discrepancy = DiscrepancyOpts
+
+    # -- (Option C) --
+    # DiscOutputOpts = Input()
+    # # # OutputName = 'Z'
+    # DiscOutputOpts.add_marginals()
+    # DiscOutputOpts.Marginals[0].Nnme = '$\sigma^2_{\epsilon}$'
+    # DiscOutputOpts.Marginals[0].dist_type = 'uniform'
+    # DiscOutputOpts.Marginals[0].parameters =  [0, 10]
+    # BayesOpts.Discrepancy = {'known': DiscrepancyOpts,
+    #                           'infer': Discrepancy(DiscOutputOpts)}
+
+    # BayesOpts.bias_inputs = {'Z':np.arange(0, 10, 1.).reshape(-1,1) / 9}
+    # DiscOutputOpts = Input()
+    # # OutputName = 'lambda'
+    # DiscOutputOpts.add_marginals()
+    # DiscOutputOpts.Marginals[0].name = '$\lambda$'
+    # DiscOutputOpts.Marginals[0].dist_type = 'uniform'
+    # DiscOutputOpts.Marginals[0].parameters = [0, 1]
+
+    # # OutputName = 'sigma_f'
+    # DiscOutputOpts.add_marginals()
+    # DiscOutputOpts.Marginals[1].Name = '$\sigma_f$'
+    # DiscOutputOpts.Marginals[1].dist_type = 'uniform'
+    # DiscOutputOpts.Marginals[1].parameters = [0, 1e-4]
+    # BayesOpts.Discrepancy = Discrepancy(DiscOutputOpts)
+    # BayesOpts.Discrepancy = {'known': DiscrepancyOpts,
+    #                           'infer': Discrepancy(DiscOutputOpts)}
+    # Start the calibration/inference
+    Bayes_PCE = BayesOpts.create_inference()
+
+    # Save class objects
+    with open(f'Bayes_{Model.name}.pkl', 'wb') as output:
+        joblib.dump(Bayes_PCE, output, 2)
diff --git a/examples/only-model/test_analytical_function_noMetaMod.py b/examples/only-model/test_analytical_function_noMetaMod.py
new file mode 100644
index 0000000000000000000000000000000000000000..99842f80f22a126daeb602051f20ee14e1ffc280
--- /dev/null
+++ b/examples/only-model/test_analytical_function_noMetaMod.py
@@ -0,0 +1,245 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+This test shows a surrogate-assisted Bayesian calibration of a time dependent
+    analytical function.
+
+Author: Farid Mohammadi, M.Sc.
+E-Mail: farid.mohammadi@iws.uni-stuttgart.de
+Department of Hydromechanics and Modelling of Hydrosystems (LH2)
+Institute for Modelling Hydraulic and Environmental Systems (IWS), University
+of Stuttgart, www.iws.uni-stuttgart.de/lh2/
+Pfaffenwaldring 61
+70569 Stuttgart
+
+Created on Fri Aug 9 2019
+
+"""
+
+import numpy as np
+import pandas as pd
+import sys
+import joblib
+# import bayesvalidrox
+# Add BayesValidRox path
+#sys.path.append("../../src/bayesvalidrox/")
+
+import bayesvalidrox as bv
+from bayesvalidrox.pylink.pylink import PyLinkForwardModel
+from bayesvalidrox.surrogate_models.inputs import Input
+from bayesvalidrox.surrogate_models.surrogate_models import MetaModel
+from bayesvalidrox.surrogate_models.meta_model_engine import MetaModelEngine
+from bayesvalidrox.post_processing.post_processing import PostProcessing
+from bayesvalidrox.bayes_inference.bayes_inference import BayesInference
+from bayesvalidrox.bayes_inference.discrepancy import Discrepancy
+import matplotlib
+matplotlib.use('agg')
+
+
+if __name__ == "__main__":
+
+    # Number of parameters
+    ndim = 10  # 2, 10
+
+    # =====================================================
+    # =============   COMPUTATIONAL MODEL  ================
+    # =====================================================
+    Model = PyLinkForwardModel()
+
+    Model.link_type = 'Function'
+    Model.py_file = 'analytical_function'
+    Model.name = 'AnalyticFunc'
+
+    Model.Output.names = ['Z']
+
+    # For Bayesian inversion synthetic data with X=[0,0]
+    Model.observations = {}
+    Model.observations['Time [s]'] = np.arange(0, 10, 1.) / 9
+    Model.observations['Z'] = np.repeat([2.], 10)
+
+    # For Checking with the MonteCarlo refrence
+    Model.mc_reference = {}
+    Model.mc_reference['Time [s]'] = np.arange(0, 10, 1.) / 9
+    Model.mc_reference['mean'] = np.load(f"data/mean_{ndim}.npy")
+    Model.mc_reference['std'] = np.load(f"data/std_{ndim}.npy")
+
+    # =====================================================
+    # =========   PROBABILISTIC INPUT MODEL  ==============
+    # =====================================================
+    # Define the uncertain parameters with their mean and
+    # standard deviation
+    Inputs = Input()
+
+    # Assuming dependent input variables
+    # Inputs.Rosenblatt = True
+
+    for i in range(ndim):
+        Inputs.add_marginals()
+        Inputs.Marginals[i].name = "$\\theta_{"+str(i+1)+"}$"
+        Inputs.Marginals[i].dist_type = 'uniform'
+        Inputs.Marginals[i].parameters = [-5, 5]
+
+    # arbitrary polynomial chaos
+    # inputParams = np.load('data/InputParameters_{}.npy'.format(ndim))
+    # for i in range(ndim):
+    #     Inputs.add_marginals()
+    #     Inputs.Marginals[i].name = f'$X_{i+1}$'
+    #     Inputs.Marginals[i].input_data = inputParams[:, i]
+
+    # =====================================================
+    # ==========  DEFINITION OF THE METAMODEL  ============
+    # =====================================================
+    MetaModelOpts = MetaModel(Inputs, Model)
+
+    # Select if you want to preserve the spatial/temporal depencencies
+    # MetaModelOpts.dim_red_method = 'PCA'
+    # MetaModelOpts.var_pca_threshold = 99.999
+    # MetaModelOpts.n_pca_components = 10
+
+    # Select your metamodel method
+    # 1) PCE (Polynomial Chaos Expansion) 2) aPCE (arbitrary PCE)
+    # 3) GPE (Gaussian Process Emulator)
+    MetaModelOpts.meta_model_type = 'aPCE'
+
+    # ------------------------------------------------
+    # ------------- PCE Specification ----------------
+    # ------------------------------------------------
+    # Select the sparse least-square minimization method for
+    # the PCE coefficients calculation:
+    # 1)OLS: Ordinary Least Square  2)BRR: Bayesian Ridge Regression
+    # 3)LARS: Least angle regression  4)ARD: Bayesian ARD Regression
+    # 5)FastARD: Fast Bayesian ARD Regression
+    # 6)BCS: Bayesian Compressive Sensing
+    # 7)OMP: Orthogonal Matching Pursuit
+    # 8)VBL: Variational Bayesian Learning
+    # 9)EBL: Emperical Bayesian Learning
+    MetaModelOpts.pce_reg_method = 'FastARD'
+
+    # Bootstraping
+    # 1) normal 2) fast
+    MetaModelOpts.bootstrap_method = 'fast'
+    MetaModelOpts.n_bootstrap_itrs = 1
+
+    # Specify the max degree to be compared by the adaptive algorithm:
+    # The degree with the lowest Leave-One-Out cross-validation (LOO)
+    # error (or the highest score=1-LOO)estimator is chosen as the final
+    # metamodel. pce_deg accepts degree as a scalar or a range.
+    MetaModelOpts.pce_deg = 12
+
+    # q-quasi-norm 0<q<1 (default=1)
+    MetaModelOpts.pce_q_norm = 0.85 if ndim < 5 else 0.5
+
+    # Print summary of the regression results
+    # MetaModelOpts.verbose = True
+
+    # ------------------------------------------------
+    # ------ Experimental Design Configuration -------
+    # ------------------------------------------------
+    MetaModelOpts.add_ExpDesign()
+
+    # One-shot (normal) or Sequential Adaptive (sequential) Design
+    MetaModelOpts.ExpDesign.method = 'sequential'
+    MetaModelOpts.ExpDesign.n_init_samples = 3*ndim
+
+    # Sampling methods
+    # 1) random 2) latin_hypercube 3) sobol 4) halton 5) hammersley
+    # 6) chebyshev(FT) 7) grid(FT) 8)user
+    MetaModelOpts.ExpDesign.sampling_method = 'latin_hypercube'
+
+    # Provide the experimental design object with a hdf5 file
+    # MetaModelOpts.ExpDesign.hdf5_file = 'ExpDesign_AnalyticFunc.hdf5'
+
+    # ------------------------------------------------
+    # ------- Sequential Design configuration --------
+    # ------------------------------------------------
+    # Set the sampling parameters
+    MetaModelOpts.ExpDesign.n_new_samples = 1
+    MetaModelOpts.ExpDesign.n_max_samples = 10#150
+    MetaModelOpts.ExpDesign.mod_LOO_threshold = 1e-16
+
+    # MetaModelOpts.adapt_verbose = True
+    # 1) None 2) 'equal' 3)'epsilon-decreasing' 4) 'adaptive'
+    MetaModelOpts.ExpDesign.tradeoff_scheme = None
+    # MetaModelOpts.ExpDesign.n_replication = 5
+    # -------- Exploration ------
+    # 1)'Voronoi' 2)'random' 3)'latin_hypercube' 4)'LOOCV' 5)'dual annealing'
+    MetaModelOpts.ExpDesign.explore_method = 'random'
+
+    # Use when 'dual annealing' chosen
+    MetaModelOpts.ExpDesign.max_func_itr = 1000
+
+    # Use when 'Voronoi' or 'random' or 'latin_hypercube' chosen
+    MetaModelOpts.ExpDesign.n_canddidate = 1000
+    MetaModelOpts.ExpDesign.n_cand_groups = 4
+
+    # -------- Exploitation ------
+    # 1)'BayesOptDesign' 2)'BayesActDesign' 3)'VarOptDesign' 4)'alphabetic'
+    # 5)'Space-filling'
+    MetaModelOpts.ExpDesign.exploit_method = 'BayesActDesign'
+
+    # BayesActDesign -> when data is available
+    # 1) BME (Bayesian model evidence) 2) infEntropy (Information entropy)
+    # 2)DKL (Kullback-Leibler Divergence)
+    MetaModelOpts.ExpDesign.util_func = 'DKL'
+
+    # Defining the measurement error, if it's known a priori
+    obsData = pd.DataFrame(Model.observations, columns=Model.Output.names)
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.type = 'Gaussian'
+    DiscrepancyOpts.parameters = obsData**2
+    MetaModelOpts.Discrepancy = DiscrepancyOpts
+
+    # Plot the posterior snapshots for SeqDesign
+    MetaModelOpts.ExpDesign.post_snapshot = False
+    MetaModelOpts.ExpDesign.step_snapshot = 1
+    MetaModelOpts.ExpDesign.max_a_post = [0] * ndim
+
+    # For calculation of validation error for SeqDesign
+    prior = np.load(f"data/Prior_{ndim}.npy")
+    prior_outputs = np.load(f"data/origModelOutput_{ndim}.npy")
+    likelihood = np.load(f"data/validLikelihoods_{ndim}.npy")
+    MetaModelOpts.valid_samples = prior[:500]
+    MetaModelOpts.valid_model_runs = {'Z': prior_outputs[:500]}
+    # MetaModelOpts.valid_likelihoods = likelihood
+
+    # >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+    # Train the meta model
+    meta_model_engine = MetaModelEngine(MetaModelOpts)
+    #meta_model_engine.run()
+    PCEModel = meta_model_engine.MetaModel
+
+
+    # =====================================================
+    # ========  Bayesian inference with Emulator ==========
+    # =====================================================
+    BayesOpts = BayesInference(PCEModel)
+    BayesOpts.emulator = False
+    BayesOpts.plot_post_pred = True
+
+    # Select the inference method
+    import emcee
+    BayesOpts.inference_method = "MCMC"
+    # Set the MCMC parameters passed to self.mcmc_params
+    BayesOpts.mcmc_params = {
+        'n_steps': 1e3,
+        'n_walkers': 30,
+        'moves': emcee.moves.KDEMove(),
+        'multiprocessing': False,
+        'verbose': False
+        }
+
+    # ----- Define the discrepancy model -------
+    BayesOpts.measurement_error = obsData
+
+    # # -- (Option B) --
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.type = 'Gaussian'
+    DiscrepancyOpts.parameters = obsData**2
+    BayesOpts.Discrepancy = DiscrepancyOpts
+
+    # Start the calibration/inference
+    Bayes_PCE = BayesOpts.create_inference()
+
+    # Save class objects
+    with open(f'Bayes_{Model.name}.pkl', 'wb') as output:
+        joblib.dump(Bayes_PCE, output, 2)
diff --git a/examples/only-model/util/AnalytFuncValid_Test.py b/examples/only-model/util/AnalytFuncValid_Test.py
new file mode 100644
index 0000000000000000000000000000000000000000..b172de0baf73399ad8a1180ab9e8cfe20b4fb7b8
--- /dev/null
+++ b/examples/only-model/util/AnalytFuncValid_Test.py
@@ -0,0 +1,353 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Aug  9 16:25:43 2019
+This example is for the calibration and validation scenario.
+@author: farid
+    """
+
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+plt.style.use('seaborn-white')
+plt.rcParams.update({'font.size': 18})
+plt.rc('font', family='sans-serif', serif='Arial')
+plt.rc('figure', figsize = (24, 16))
+plt.rc('text', usetex=True)
+plt.rc('xtick', labelsize=18)
+plt.rc('ytick', labelsize=18)
+plt.rc('axes', labelsize=18)
+
+import seaborn as sns
+import os
+
+try:
+    import cPickle as pickle
+except ModuleNotFoundError:
+    import pickle
+
+from PyLink.FuncForwardModel import FuncForwardModel
+from surrogate_models.Input import Input
+from surrogate_models.surrogate_models import Metamodel
+from PostProcessing.PostProcessing import PostProcessing
+from BayesInference.BayesInference import BayesInference, Discrepancy
+
+if __name__ == "__main__":
+    
+    #=====================================================
+    #=============   COMPUTATIONAL MODEL  ================
+    #=====================================================
+    Model = FuncForwardModel()
+    
+    Model.Type = 'Function'
+    Model.pyFile = 'AnalyticalFunction'
+    Model.Name = 'AnalyticFunc'
+    
+    Model.Output.Names = ['Z']
+    
+    
+    # For Bayesian inversion synthetic data with X=[0,0]
+    Model.Observations['Time [s]'] = np.arange(0, 5, 1.) / 5
+    Model.Observations['Z'] = np.repeat([2],5)
+    
+    # For Checking with the MonteCarlo refrence
+#    Model.MCReference['Time [s]'] = np.arange(0, 10, 1.) / 9
+#    Model.MCReference['mean'] = np.array([127.13880108, 127.12652988, 127.12144698,
+#                             127.11754674, 127.11425868, 127.11136184, 127.1087429,
+#                             127.10633454, 127.10409289, 127.10198748])
+#    Model.MCReference['std'] = np.array([171.2520775,  171.21550753, 171.20352691,
+#                             171.19559223, 171.18975202, 171.18525035, 171.18169953,
+#                             171.17886925, 171.17660944, 171.17481586])
+
+    # For Bayesian inversion synthetic data with X=[1,1]
+    Model.ObservationsValid['Time [s]'] = np.arange(0, 5, 1.) / 5
+    Model.ObservationsValid['Z']= np.array([2.21773563, 2.11712764, 
+                             2.02460905, 1.93849485, 1.85761462])
+    
+    #=====================================================
+    #=========   PROBABILISTIC INPUT MODEL  ==============
+    #=====================================================
+    # Define the uncertain parameters with their mean and 
+    # standard deviation
+    Inputs = Input()
+    
+    ndim = 2
+    for i in range(ndim):
+        Inputs.add_marginals()
+        Inputs.Marginals[i].Name = '$X_{%s}$'%(i+1)
+        Inputs.Marginals[i].DistType = 'unif'
+        Inputs.Marginals[i].Parameters =  [-5, 5]
+    
+    #=====================================================
+    #==========  DEFINITION OF THE METAMODEL  ============
+    #=====================================================    
+    MetaModelOpts = Metamodel(Inputs)
+    
+    # Select if you want to preserve the spatial/temporal depencencies
+    MetaModelOpts.DimRedMethod = 'PCA'
+    
+    # Select your metamodel method
+    # 1) PCE (Polynomial Chaos Expansion) 2) GPE (Gaussian Process Emulator)
+    # 3) PCEKriging (PCE + GPE)
+    MetaModelOpts.metaModel = 'GPE'
+    
+    # ------------------------------------------------
+    # ------------- PCE Specification ----------------
+    # ------------------------------------------------
+    # Select the sparse least-square minimization method for 
+    # the PCE coefficients calculation:
+    # 1)OLS: Ordinary Least Square  2)BRR: Bayesian Ridge Regression 
+    # 3)LARS: Least angle regression  4)ARD: Bayesian ARD Regression
+    # 5)FastARD: Fast Bayesian ARD Regression
+    # 6)SGDR: Stochastic gradient descent learning
+    MetaModelOpts.RegMethod = 'FastARD'
+    
+    # Specify the max degree to be compared by the adaptive algorithm:
+    # The degree with the lowest Leave-One-Out cross-validation (LOO)
+    # error (or the highest score=1-LOO)estimator is chosen as the final 
+    # metamodel.
+    MetaModelOpts.MinPceDegree = 1 #3
+    MetaModelOpts.MaxPceDegree = 8 #15
+    
+    # q-quasi-norm 0<q<1 (default=1)
+    MetaModelOpts.q = 1 #0.75
+    
+    # Print summary of the regression results
+    #MetaModelOpts.DisplayFlag = True
+    
+    # ------------------------------------------------
+    # ------ Experimental Design Configuration -------
+    # ------------------------------------------------
+    
+    # Generate an experimental design of size NrExpDesign based on a latin 
+    # hypercube sampling of the input model or user-defined values of X and/or Y:
+    MetaModelOpts.addExpDesign()
+    
+    # One-shot (normal) or Sequential Adaptive (sequential) Design
+    MetaModelOpts.ExpDesign.Method = 'normal'
+    NrofInitSamples = 200 #75
+    MetaModelOpts.ExpDesign.NrSamples = NrofInitSamples
+    
+    # Sampling methods
+    # 1) random 2) latin_hypercube 3) sobol 4) halton 5) hammersley 6) chebyshev(FT) 
+    # 7) korobov 8) grid(FT) 9) nested_grid(FT) 10)user
+    MetaModelOpts.ExpDesign.SamplingMethod = 'random'
+    
+    # Sequential experimental design (needed only for sequential ExpDesign)
+    MetaModelOpts.ExpDesign.NrofNewSample = 1
+    MetaModelOpts.ExpDesign.MaxNSamples = 50 #150
+    MetaModelOpts.ExpDesign.ModifiedLOOThreshold = 1e-16
+    
+    # Defining the measurement error, if it's known a priori
+    obsData = pd.DataFrame(Model.Observations, columns=Model.Output.Names)
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.Type = 'Gaussian'
+    DiscrepancyOpts.Parameters = obsData  ** 2
+    MetaModelOpts.Discrepancy = DiscrepancyOpts
+        
+    # Plot the posterior snapshots for SeqDesign
+    MetaModelOpts.ExpDesign.PostSnapshot = False
+    MetaModelOpts.ExpDesign.stepSnapshot = 1
+    MetaModelOpts.ExpDesign.MAP = (0,0)
+    MetaModelOpts.ExpDesign.parNames = ['$X_1$', '$X_2$']
+    
+    # ------------------------------------------------
+    # ------- Sequential Design configuration --------
+    # ------------------------------------------------
+    # 1) 'None' 2) 'epsilon-decreasing'
+    MetaModelOpts.ExpDesign.TradeOffScheme = 'epsilon-decreasing'
+    #MetaModelOpts.ExpDesign.nReprications = 2
+    # -------- Exploration ------
+    #1)'Voronoi' 2)'MC' 3)'LHS' 4)'dual annealing'
+    MetaModelOpts.ExpDesign.ExploreMethod = 'Voronoi'
+    
+    # Use when 'dual annealing' chosen
+    MetaModelOpts.ExpDesign.MaxFunItr = 200
+    
+    # Use when 'MC' or 'LHS' chosen
+    MetaModelOpts.ExpDesign.NCandidate = 100
+    MetaModelOpts.ExpDesign.NrofCandGroups = 4
+    
+    # -------- Exploitation ------
+    # 1)'BayesOptDesign' 2)'ActiveLearning' 3)'alphabetic' 4)'None' (Space-filling)
+    MetaModelOpts.ExpDesign.ExploitMethod = 'None'
+    
+    # BayesOptDesign -> when data is available
+    # 1)DKL (Kullback-Leibler Divergence) 2)DPP (D-Posterior-percision)
+    # 3)APP (A-Posterior-percision) 
+    MetaModelOpts.ExpDesign.UtilityFunction = 'DKL' #['DKL', 'DPP']
+    
+    # ActiveLearning
+    # 1)ALM (Active learning MacKay) 2)ALC (Active learning Cohn)
+    # 3) 
+    #MetaModelOpts.ExpDesign.UtilityFunction = 'ALM' #['ALM', 'ALC']
+    
+    # alphabetic
+    # 1)D-Opt (D-Optimality) 2)A-Opt (A-Optimality)
+    # 3)K-Opt (K-Optimality)
+    # MetaModelOpts.ExpDesign.UtilityFunction = 'D-Opt' #['D-Opt', 'A-Opt', 'K-Opt']  
+    
+    # >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+    # MetaModelOpts.slicingforValidation = True
+    MetaModelOpts.index = 5
+    # Adaptive sparse arbitrary polynomial chaos expansion
+    # PCEModelCalib, PCEModelValid = MetaModelOpts.create_metamodel(Model)
+    PCEModel = MetaModelOpts.create_metamodel(Model)
+    
+    #=====================================================
+    #=========  POST PROCESSING OF METAMODELS  ===========
+    #=====================================================
+    #PostPCE = PostProcessing(PCEModelCalib)
+    PostPCE = PostProcessing(PCEModel)
+    
+    PostPCE.Name = 'Calib'
+    PostPCE.validMetamodel(nValidSamples= 3)
+    
+    # Compute the moments and compare with the Monte-Carlo reference
+#    PostPCE.plotMoments()
+    
+    if MetaModelOpts.metaModel != 'GPE':
+        # Plot the evolution of the KLD,BME, and Modified LOOCV error
+        if MetaModelOpts.ExpDesign.Method == 'sequential':
+            PostPCE.seqDesignDiagnosticPlots()
+        
+        # Plot the sobol indices
+        sobol_cell, total_sobol = PostPCE.sobolIndicesPCE()
+    
+    # Compute and print RMSE error
+    PostPCE.accuracyCheckMetaModel(nSamples=3000)
+    
+    
+    #=====================================================
+    #=======  Bayesian calibration with Emulator =========
+    #=====================================================
+    # BayesOpts = BayesInference(PCEModelCalib)
+    BayesOpts = BayesInference(PCEModel)
+    BayesOpts.Name = 'Calib'
+    BayesOpts.emulator = True
+    
+    # BME Bootstrap
+    BayesOpts.Bootstrap = True
+    BayesOpts.NrofSamples = 100000
+    BayesOpts.BootstrapItrNr = 10
+    BayesOpts.BootstrapNoise = 0.05
+    
+    # Select the inference method
+    BayesOpts.SamplingMethod = 'MCMC'
+    BayesOpts.MCMCnSteps = 1000
+    BayesOpts.MCMCnwalkers = 50
+    BayesOpts.MultiProcessMCMC = True
+    
+    BayesOpts.PlotPostDist = True
+    BayesOpts.PlotPostPred = True
+    
+    # ----- Define the discrepancy model -------
+    obsData = pd.DataFrame(Model.Observations, columns=Model.Output.Names)
+    # (Option B)
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.Type = 'Gaussian'
+    DiscrepancyOpts.Parameters = obsData[:MetaModelOpts.index]**2
+    
+    BayesOpts.Discrepancy = DiscrepancyOpts
+    
+    # (Option C)
+#    DiscInputOpts = Input()
+#    
+#    DiscInputOpts.addMarginals()
+#    DiscInputOpts.Marginals[0].Name = 'Sigma2'
+#    DiscInputOpts.Marginals[0].DistType = 'unif'
+#    DiscInputOpts.Marginals[0].Parameters =  [0, 5e-1]
+#    
+#    DiscrepancyOpts = Discrepancy(DiscInputOpts)
+#    
+#    BayesOpts.Discrepancy = DiscrepancyOpts
+    
+    
+    Bayes_Calib = BayesOpts.create_Inference()
+    
+    # Make directory for saving the plots/outputs
+    newpath = (r'Outputs_'+MetaModelOpts.ExpDesign.Method) 
+    if not os.path.exists(newpath): os.makedirs(newpath)
+
+    
+    ## Plot the posterior (Model)
+    with sns.axes_style("white"):
+        g = sns.jointplot(x=Bayes_Calib.Posterior_df['$X_{1}$'], y=Bayes_Calib.Posterior_df['$X_{2}$'], 
+                          kind="kde", cmap='jet');
+        g.ax_joint.collections[0].set_alpha(0)
+        g.set_axis_labels("$X_1$", "$X_2$")
+        
+        g.savefig('./'+newpath+'/Posterior_PCEModel_Calib_'+MetaModelOpts.ExpDesign.Method+'.svg')
+        plt.close()
+        
+    
+    #=====================================================
+    #=======  Bayesian validation with Emulator =========
+    #=====================================================
+    # BayesOpts_Valid = BayesInference(PCEModelValid)
+    BayesOpts_Valid = BayesInference(PCEModel)
+    
+    BayesOpts_Valid.Name = 'Valid'
+    BayesOpts_Valid.emulator = True
+    
+    # BME Bootstrap
+    BayesOpts_Valid.Bootstrap = True
+    BayesOpts_Valid.MCMCinitSamples = Bayes_Calib.Posterior_df
+    BayesOpts_Valid.BootstrapItrNr = 10
+    BayesOpts_Valid.BootstrapNoise = 0.05
+    
+    # Select the inference method
+    BayesOpts_Valid.SamplingMethod = 'MCMC'
+    BayesOpts_Valid.MCMCnSteps = 1000
+    BayesOpts_Valid.MCMCnwalkers = 50
+    BayesOpts.MultiProcessMCMC = True
+    
+    BayesOpts_Valid.PlotPostDist = True
+    BayesOpts_Valid.PlotPostPred = True
+    
+    # ----- Define the discrepancy model -------
+    obsDataValid = pd.DataFrame(Model.ObservationsValid, columns=Model.Output.Names)
+    # (Option B)
+    DiscrepancyOpts = Discrepancy('')
+    DiscrepancyOpts.Type = 'Gaussian'
+    DiscrepancyOpts.Parameters = 0.01 * obsDataValid**2
+    
+    BayesOpts_Valid.Discrepancy = DiscrepancyOpts
+    
+    Bayes_Valid = BayesOpts_Valid.create_Inference()
+    
+    
+    ## Plot the posterior (PCEModel)
+    with sns.axes_style("white"):
+        g = sns.jointplot(x=Bayes_Valid.Posterior_df['$X_{1}$'], y=Bayes_Valid.Posterior_df['$X_{2}$'], 
+                          kind="kde", cmap='jet');
+        g.ax_joint.collections[0].set_alpha(0)
+        g.set_axis_labels("$X_1$", "$X_2$")
+        g.savefig('./'+newpath+'/Posterior_PCEModel_Valid_'+MetaModelOpts.ExpDesign.Method+'.svg')
+        plt.close()
+    
+    
+    #=====================================================
+    #==============  Save class objects  =================
+    #=====================================================
+    with open('AnalyticFunc_Results.pkl', 'wb') as output:
+        pickle.dump(PCEModel, output, pickle.HIGHEST_PROTOCOL)
+        
+        # pickle.dump(PCEModelValid, output, pickle.HIGHEST_PROTOCOL)
+        
+        pickle.dump(PostPCE, output, pickle.HIGHEST_PROTOCOL)
+    
+        pickle.dump(Bayes_Calib, output, pickle.HIGHEST_PROTOCOL)
+        
+        pickle.dump(Bayes_Valid, output, pickle.HIGHEST_PROTOCOL)
+    
+#    del PCEModel
+#    del PostPCE
+#    del Bayes
+    
+    # Load the objects
+#    with open('AnalyticFunc_Results.pkl', 'rb') as input:
+#        PCEModel = pickle.load(input)
+#        PostPCE = pickle.load(input)
+#        Bayes_PCE = pickle.load(input)    
+#        Bayes_Model = pickle.load(input) 
\ No newline at end of file
diff --git a/examples/only-model/util/AnalyticFunc_Demo.py b/examples/only-model/util/AnalyticFunc_Demo.py
new file mode 100644
index 0000000000000000000000000000000000000000..dea66f67dd8907fcc2560bd56a184f9e65f17a38
--- /dev/null
+++ b/examples/only-model/util/AnalyticFunc_Demo.py
@@ -0,0 +1,207 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Aug  9 16:25:43 2019
+
+@author: farid
+"""
+
+import numpy as np
+import os
+import matplotlib.pyplot as plt
+plt.style.use('seaborn-white')
+plt.rcParams.update({'font.size': 16})
+plt.rc('font', family='sans-serif', serif='Arial')
+plt.rc('figure', figsize = (24, 16))
+plt.rc('text', usetex=True)
+plt.rc('xtick', labelsize=16)
+plt.rc('ytick', labelsize=16)
+plt.rc('axes', labelsize=16)
+
+
+from PyLink.FuncForwardModel import FuncForwardModel
+from surrogate_models.Input import Input
+from surrogate_models.surrogate_models import Metamodel
+
+if __name__ == "__main__":
+    
+    #=====================================================
+    #=============   COMPUTATIONAL MODEL  ================
+    #=====================================================
+    Model = FuncForwardModel()
+    
+    Model.Type = 'Function'
+    Model.pyFile = 'AnalyticalFunction'
+    Model.Name = 'AnalyticFunc'
+    
+    Model.Output.Names = ['Z']
+    
+
+    #=====================================================
+    #=========   PROBABILISTIC INPUT MODEL  ==============
+    #=====================================================
+    # Define the uncertain parameters with their mean and 
+    # standard deviation
+    Inputs = Input()
+    
+    Inputs.addMarginals()
+    Inputs.Marginals[0].Name = 'x1'
+    Inputs.Marginals[0].DistType = 'unif'
+    Inputs.Marginals[0].Parameters =  [-5, 5]
+    
+    Inputs.addMarginals()
+    Inputs.Marginals[1].Name = 'x2'
+    Inputs.Marginals[1].DistType = 'unif'
+    Inputs.Marginals[1].Parameters =  [-5, 5]
+
+    
+    #=====================================================
+    #========  PCE METAMODELS with adaptive aPCE  ========
+    #=====================================================    
+    MetaModelOpts = Metamodel(Inputs)
+
+    # Specify the max degree to be compared by the adaptive algorithm:
+    # The degree with the lowest Leave-One-Out cross-validation (LOO)
+    # error (or the highest score=1-LOO)estimator is chosen as the final 
+    # metamodel.
+    MetaModelOpts.MaxPceDegree = 10
+    
+    # Select the sparse least-square minimization method for 
+    # the PCE coefficients calculation:
+    # 1)OLS: Ordinary Least Square  2)BRR: Bayesian Ridge Regression 
+    # 3)LARS: Least angle regression  4)ARD: Bayesian ARD Regression
+    # 5)SGDR: Stochastic gradient descent learning
+    MetaModelOpts.RegMethod = 'OLS'
+    
+    # Print summary of the regression results
+    #MetaModelOpts.DisplayFlag = True
+    
+    # ------ Experimental Design --------
+    # Generate an experimental design of size NrExpDesign based on a latin 
+    # hypercube sampling of the input model or user-defined values of X and/or Y:
+    MetaModelOpts.addExpDesign()
+    
+    # One-shot (normal) or Sequential Adaptive (sequential) Design
+    MetaModelOpts.ExpDesign.Method = 'normal'
+    NrofInitSamples = 100
+    MetaModelOpts.ExpDesign.NrSamples = NrofInitSamples
+    
+    # Sampling methods
+    # 1) random 2) latin_hypercube 3) sobol 4) halton 5) hammersley 6) chebyshev(FT) 
+    # 7) korobov 8) grid(FT) 9) nested_grid(FT) 10)user
+    MetaModelOpts.ExpDesign.SamplingMethod = 'latin_hypercube'
+    
+    # Sequential experimental design (needed only for sequential ExpDesign)
+    MetaModelOpts.ExpDesign.MaxNSamples = 100
+    MetaModelOpts.ExpDesign.ModifiedLOOThreshold = 1e-4
+        
+    # ------------------------------------------------
+    # ------- Sequential Design configuration --------
+    # ------------------------------------------------
+    # -------- Exploration ------
+    MetaModelOpts.ExpDesign.ExploreMethod = 'MC'
+    MetaModelOpts.ExpDesign.NCandidate = 500
+    MetaModelOpts.ExpDesign.NrofCandGroups = 4
+    # -------- Optimality criteria: alphabetic ------
+    MetaModelOpts.ExpDesign.ExploitMethod = 'alphabetic'
+    
+    # 1)D-Opt (D-Optimality) 2)A-Opt (A-Optimality)
+    # 3)K-Opt (K-Optimality)
+    MetaModelOpts.ExpDesign.UtilityFunction = 'D-Opt'#['D-Opt', 'A-Opt', 'K-Opt']
+    
+    # >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+    # Adaptive sparse arbitrary polynomial chaos expansion
+    PCEModel_OLS = MetaModelOpts.create_metamodel(Model)
+    
+    # Extract the basis and coefficients
+    Basis_OLS = PCEModel_OLS.BasisDict['Z']['y_2']
+    COFFS_OLS = PCEModel_OLS.CoeffsDict['Z']['y_2']
+    
+    #=====================================================
+    #===========  DEMO OF BAYESPCE METAMODEL  ===========
+    #=====================================================
+    fig1=plt.figure()
+    barWidth = 0.3
+    plt.title("Bar plot of the weights (OLS)")
+     
+    # Create cyan bars
+    r = np.arange(len(Basis_OLS))
+    plt.bar(r, COFFS_OLS, width = barWidth, color = 'cyan', bottom=0.001,
+            edgecolor = 'black', capsize=7, label='Cofficients')
+    
+    # general layout
+    plt.xticks([r + barWidth for r in range(len(r))], ['term'+str(i+1) for i in range(len(Basis_OLS))])
+
+    plt.xlabel("Features")
+    plt.ylabel("Values of the weights")
+    plt.yscale('symlog', linthreshy=0.1) #('log')
+    plt.hlines(0,xmin=r.min() , xmax=r.max() ,color='k')
+    plt.xticks(rotation=45)
+    plt.legend(loc="upper left")
+    plt.show()
+    
+    # Make directory for saving the plots/outputs
+    newpath = (r'Outputs_demo') 
+    if not os.path.exists(newpath): os.makedirs(newpath)
+
+    ## Save the plot the posterior (Model)
+    fig1.savefig('./'+newpath+'/Coeffs_AaPCE.svg', bbox_inches='tight')
+    plt.close()
+    
+    
+    #=====================================================
+    #===========  PCE METAMODELS with BRR aPCE  ==========
+    #=====================================================  
+    BRRMetaModelOpts = Metamodel(Inputs)
+    BRRMetaModelOpts.MaxPceDegree = 10
+    BRRMetaModelOpts.RegMethod = 'BRR'
+    
+    # ------ Experimental Design --------
+    BRRMetaModelOpts.addExpDesign()
+    BRRMetaModelOpts.ExpDesign.NrSamples = PCEModel_OLS.ExpDesign.X.shape[0]
+    BRRMetaModelOpts.ExpDesign.SamplingMethod = 'user'
+    BRRMetaModelOpts.ExpDesign.X = PCEModel_OLS.ExpDesign.X
+    BRRMetaModelOpts.ExpDesign.Y = PCEModel_OLS.ExpDesign.Y
+    BRRMetaModelOpts.ExpDesign.Method = 'normal'
+    
+    # >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+    # Adaptive sparse arbitrary polynomial chaos expansion
+    PCEModel_BRR = BRRMetaModelOpts.create_metamodel(Model)
+    
+    
+    # Extract the basis and coefficients
+    Basis_BRR = PCEModel_BRR.BasisDict['Z']['y_2']
+    clf_poly = PCEModel_BRR.clf_poly['Z']['y_2']
+   
+    COFFS_BRR = clf_poly.coef_
+    # Find the error(std) for coeffs
+    COFFSError_BRR = clf_poly.sigma_.diagonal()
+
+    #=====================================================
+    #===========  DEMO OF BAYESPCE METAMODEL  ============
+    #=====================================================
+    fig2=plt.figure()
+    barWidth = 0.3
+    plt.title("Bar plot of the weights (BayesPCE)")
+     
+    # Create cyan bars
+    r = np.arange(len(Basis_BRR))
+    plt.bar(r, COFFS_BRR, width = barWidth, color = 'cyan', bottom=0.001,
+            edgecolor = 'black', yerr=COFFSError_BRR, capsize=7, label='Cofficients')
+    
+    # general layout
+    plt.xticks([r + barWidth for r in range(len(r))], ['term'+str(i+1) for i in range(len(Basis_BRR))])
+
+    plt.xlabel("Features")
+    plt.ylabel("Values of the weights")
+    plt.yscale('symlog', linthreshy=0.1) #('log')
+    plt.hlines(0,xmin=r.min() , xmax=r.max() ,color='k')
+    plt.xticks(rotation=45)
+    plt.legend(loc="upper left")
+    plt.show()
+    
+    ## Save the plot the posterior (Model)
+    fig2.savefig('./'+newpath+'/Coeffs_BRR.svg', bbox_inches='tight')
+    plt.close()
+    
+    
diff --git a/examples/only-model/util/AnalyticalFunction.py b/examples/only-model/util/AnalyticalFunction.py
new file mode 100644
index 0000000000000000000000000000000000000000..c4ed8e05c3ecd841f16d6b2d4757b12d5ecad325
--- /dev/null
+++ b/examples/only-model/util/AnalyticalFunction.py
@@ -0,0 +1,145 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Nov 20 14:48:43 2019
+
+@author: farid
+"""
+import numpy as np
+import scipy.stats as stats
+import matplotlib.pyplot as plt
+import scipy.stats as st
+import seaborn as sns
+
+def AnalyticalFunction(xx, t=None):
+    """
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    %
+    % Analytical Non-Gaussian Function
+    %
+    % Authors: Farid Mohammadi, University of Stuttgart
+    %          Sergey Oladyshkin, University of Stuttgart
+    % Questions/Comments: Please email Farid Mohammadi at:
+    %   farid.mohammadi@iws.uni-stuttgart.de
+    %
+    % Copyright 2019. Farid Mohammadi, University of Stuttgart.
+    %
+    % THERE IS NO WARRANTY, EXPRESS OR IMPLIED. WE DO NOT ASSUME ANY LIABILITY
+    % FOR THE USE OF THIS SOFTWARE.  If software is modified to produce
+    % derivative works, such modified software should be clearly marked.
+    % Additionally, this program is free software; you can redistribute it 
+    % and/or modify it under the terms of the GNU General Public License as 
+    % published by the Free Software Foundation; version 2.0 of the License. 
+    % Accordingly, this program is distributed in the hope that it will be 
+    % useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
+    % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
+    % General Public License for more details.
+    %
+    % For function details and reference information, see:
+    % https://doi.org/10.3390/e21111081
+    %
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    %
+    % OUTPUT AND INPUTS:
+    %
+    % Output = row vector of time vectors (s, t)
+    %     Its structure is:
+    %     y(t_1), y(t_2), ..., y(t_dt)
+    % xx = [x1, x2, ..., xn]
+    %       xn ~ Uinform(-5, 5)
+    % t = vector of times (optional), with default value
+    %     ( k − 1 ) /9 and k = 1,..., 10
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    """
+    nParamSets, nParams = xx.shape
+    
+    if t is None: t = np.arange(0, 10, 1.) / 9
+    
+    term1 = (xx[:,0]**2 + xx[:,1] - 1)**2
+    
+    term2 = xx[:,0]**2
+    
+    term3 = 0.1 * xx[:,0] * np.exp(xx[:,1])
+    
+    term5 = 0
+    if nParams > 2:
+        for i in range(2, nParams):
+            term5 = term5 + xx[:,i]**3/i
+    
+    const = term1 + term2 + term3 + 1 + term5
+    
+    # Compute time dependent term
+    term4 = np.zeros((nParamSets,len(t)))
+    for idx in range(nParamSets):
+        term4[idx] = -2 * xx[idx,0] * np.sqrt(0.5*t)
+    
+    Output = term4 + np.repeat(const[:,None], len(t), axis=1)
+    
+    return np.vstack((t, Output))
+
+if __name__ == "__main__":
+
+    MCSize = 10000 #1000000
+    ndim = 10
+    sigma = 2
+    
+    # -------------------------------------------------------------------------
+    # ----------------------- Synthetic data generation -----------------------
+    # -------------------------------------------------------------------------
+    t = np.arange(0, 10, 1.) / 9
+    
+    MAP = np.zeros((1, ndim))
+    synthethicData = AnalyticalFunction(MAP, t=t)
+    
+    # -------------------------------------------------------------------------
+    # ---------------------- Generate Prior distribution ----------------------
+    # -------------------------------------------------------------------------
+    
+    xx = np.zeros((MCSize, ndim))
+    
+    params = (-5,5)
+    
+    for idxDim in range(ndim):
+        lower, upper = params
+        xx[:,idxDim] = stats.uniform(loc=lower, scale=upper-lower).rvs(size=MCSize)
+    
+    # -------------------------------------------------------------------------
+    # ------------- BME and Kullback-Leibler Divergence -----------------------
+    # -------------------------------------------------------------------------
+    Outputs = AnalyticalFunction(xx, t=t)
+    
+    cov_matrix = np.diag(np.repeat(sigma**2, synthethicData.shape[1]))
+    
+    Likelihoods = st.multivariate_normal.pdf(Outputs[1:], mean=synthethicData[1], cov=cov_matrix)
+    
+    sns.kdeplot(np.log(Likelihoods[Likelihoods>0]), shade=True, color="g", label='Ref. Likelihood')
+    
+    normLikelihood = Likelihoods / np.nanmax(Likelihoods)
+    # Random numbers between 0 and 1
+    unif = np.random.rand(1, MCSize)[0]
+    
+    # Reject the poorly performed prior
+    accepted = normLikelihood >= unif
+    
+    # Prior-based estimation of BME
+    logBME = np.log(np.nanmean(Likelihoods))
+    print('\nThe Naive MC-Estimation of BME is %.5f.'%(logBME))
+    
+    # Posterior-based expectation of likelihoods
+    postExpLikelihoods = np.mean(np.log(Likelihoods[accepted]))
+    
+    # Calculate Kullback-Leibler Divergence
+    KLD = postExpLikelihoods - logBME
+    print("The Kullback-Leibler divergence estimation is %.5f."%KLD)
+    
+    # -------------------------------------------------------------------------
+    # ----------------- Save the arrays as .npy files -------------------------
+    # -------------------------------------------------------------------------
+    if MCSize > 500000:
+        np.save("data/refBME_KLD_"+str(ndim)+".npy", (logBME, KLD))
+        np.save("data/mean_"+str(ndim)+".npy", np.mean(Outputs[1:],axis=0))
+        np.save("data/std_"+str(ndim)+".npy", np.std(Outputs[1:],axis=0))
+    else:
+        np.save("data/Prior_"+str(ndim)+".npy", xx)
+        np.save("data/origModelOutput_"+str(ndim)+".npy", Outputs[1:])
+        np.save("data/validLikelihoods_"+str(ndim)+".npy", Likelihoods)
diff --git a/examples/only-model/util/PCE_vs_Chaospy.py b/examples/only-model/util/PCE_vs_Chaospy.py
new file mode 100644
index 0000000000000000000000000000000000000000..87a71cea2389e6b639fb5927baf0c6b8cb488d2b
--- /dev/null
+++ b/examples/only-model/util/PCE_vs_Chaospy.py
@@ -0,0 +1,319 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Aug 13 09:53:11 2020
+
+@author: farid
+"""
+import sys, os
+import numpy as np
+import scipy.stats as stats
+from itertools import cycle
+import pandas as pd
+try:
+    import cPickle as pickle
+except ModuleNotFoundError:
+    import pickle
+from sklearn import linear_model as lm
+from matplotlib.backends.backend_pdf import PdfPages
+import matplotlib.pyplot as plt
+plt.rcParams.update({'font.size': 24})
+plt.rc('figure', figsize = (24, 16))
+plt.rc('font', family='serif', serif='Arial')
+plt.rc('axes', grid = True)
+plt.rc('text', usetex=True)
+plt.rc('xtick', labelsize=24)
+plt.rc('ytick', labelsize=24)
+plt.rc('axes', labelsize=24)
+plt.rc('axes', linewidth=2)
+plt.rc('axes', grid=True)
+plt.rc('grid', linestyle="-")
+plt.rc('savefig', dpi=2000)
+
+import matplotlib
+matplotlib.use('agg')
+# Local
+sys.path.insert(0,'./../bayesian-validation/BayesValidRox/')
+
+# Batch script
+# sys.path.insert(0,'./../../bayesian-validation/BayesValidRox/')
+
+from PyLink.FuncForwardModel import FuncForwardModel
+from surrogate_models.Input import Input
+from surrogate_models.surrogate_models import Metamodel
+from PostProcessing.PostProcessing import PostProcessing
+
+
+# Number of parameters
+ndim = 10 # 2, 10
+
+#=====================================================
+#=============   COMPUTATIONAL MODEL  ================
+#=====================================================
+Model = FuncForwardModel()
+
+Model.Type = 'Function'
+Model.pyFile = 'AnalyticalFunction'
+Model.Name = 'AnalyticFunc'
+
+Model.Output.Names = ['Z']
+OutputNames = ['Z']
+
+# For Bayesian inversion synthetic data with X=[0,0]
+Model.Observations['Time [s]'] = np.arange(0, 10, 1.) / 9
+Model.Observations['Z'] = np.repeat([2],10)
+
+# For Checking with the MonteCarlo refrence
+Model.MCReference['Time [s]'] = np.arange(0, 10, 1.) / 9
+Model.MCReference['mean'] = np.load("../data/mean_"+str(ndim)+".npy")
+Model.MCReference['std'] = np.load("../data/std_"+str(ndim)+".npy")
+
+#=====================================================
+#=========   PROBABILISTIC INPUT MODEL  ==============
+#=====================================================
+# Define the uncertain parameters with their mean and 
+# standard deviation
+Inputs = Input()
+
+for i in range(ndim):
+    Inputs.addMarginals()
+    Inputs.Marginals[i].Name = '$X_{%s}$'%(i+1)
+    Inputs.Marginals[i].DistType = 'unif'
+    Inputs.Marginals[i].Parameters =  [-5, 5]
+
+# arbitrary polynomial chaos
+# inputParams = np.load('../data/InputParameters_{}.npy'.format(ndim))
+# for i in range(ndim):
+#     Inputs.addMarginals()
+#     Inputs.Marginals[i].Name = '$X_{%s}$'%(i+1)
+#     Inputs.Marginals[i].InputValues = inputParams[:,i]
+
+#=====================================================
+#==========  DEFINITION OF THE METAMODEL  ============
+#=====================================================    
+MetaModelOpts = Metamodel(Inputs)
+
+# Select if you want to preserve the spatial/temporal depencencies
+MetaModelOpts.DimRedMethod = 'PCA'
+MetaModelOpts.varPCAThreshold = 99.999
+
+# Select your metamodel method
+# 1) PCE (Polynomial Chaos Expansion) 2) GPE (Gaussian Process Emulator)
+# 3) PCEKriging (PCE + GPE)
+MetaModelOpts.metaModel = 'PCEKriging'
+
+# ------------------------------------------------
+# ------------- PCE Specification ----------------
+# ------------------------------------------------
+# Select the sparse least-square minimization method for 
+# the PCE coefficients calculation:
+# 1)OLS: Ordinary Least Square  2)BRR: Bayesian Ridge Regression 
+# 3)LARS: Least angle regression  4)ARD: Bayesian ARD Regression
+# 5)FastARD: Fast Bayesian ARD Regression
+MetaModelOpts.RegMethod = 'FastARD'
+
+# Specify the max degree to be compared by the adaptive algorithm:
+# The degree with the lowest Leave-One-Out cross-validation (LOO)
+# error (or the highest score=1-LOO)estimator is chosen as the final 
+# metamodel.
+MetaModelOpts.MinPceDegree = 6
+MetaModelOpts.MaxPceDegree = 6
+# q-quasi-norm 0<q<1 (default=1)
+MetaModelOpts.q = 1.0 if ndim<5 else 0.75
+
+# ------------------------------------------------
+# ------ Experimental Design Configuration -------
+# ------------------------------------------------
+# Generate an experimental design of size NrExpDesign based on a latin 
+# hypercube sampling of the input model or user-defined values of X and/or Y:
+MetaModelOpts.addExpDesign()
+
+# One-shot (normal) or Sequential Adaptive (sequential) Design
+MetaModelOpts.ExpDesign.Method = 'normal'
+MetaModelOpts.ExpDesign.NrSamples = 200
+
+# Sampling methods
+# 1) random 2) latin_hypercube 3) sobol 4) halton 5) hammersley 6) chebyshev(FT) 
+# 7) korobov 8) grid(FT) 9) nested_grid(FT) 10)user
+MetaModelOpts.ExpDesign.SamplingMethod = 'random'
+
+# >>>>>>>>>>>>>>>>>>>>>> Build Surrogate <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+# Adaptive sparse arbitrary polynomial chaos expansion
+MetaModelOpts.index = 181
+PCEModel = MetaModelOpts.create_metamodel(Model)
+
+# PCEModel = BayesObj.PCEModel
+# Extract slicing index
+# Extract the experimental design
+EDX = PCEModel.ExpDesign.X
+index = PCEModel.index
+EDYDict = PCEModel.ExpDesign.Y
+JDist = PCEModel.ExpDesign.JDist
+X_train = PCEModel.ExpDesign.X
+EDY = PCEModel.ExpDesign.Y
+#=====================================================
+#=========  POST PROCESSING OF METAMODELS  ===========
+#=====================================================
+PostPCE = PostProcessing(PCEModel)
+
+# Compute the moments and compare with the Monte-Carlo reference
+PostPCE.plotMoments()
+
+# Plot the sobol indices
+sobol_cell, total_sobol = PostPCE.sobolIndicesPCE()
+
+
+#=====================================================
+#============  METAMODELS  WITH CHAOSPY  =============
+#=====================================================
+import chaospy
+from surrogate_models.RegressionFastARD import RegressionFastARD
+
+def PCATransformation(Output):
+    
+    # Transform via Principal Component Analysis
+    from sklearn.decomposition import PCA as sklearnPCA
+
+    n_samples, n_features = Output.shape
+    covar_matrix = sklearnPCA(n_components=None, svd_solver='full')
+    covar_matrix.fit(Output)
+    var = np.cumsum(np.round(covar_matrix.explained_variance_ratio_, decimals=5)*100)
+    try:
+        selected_n_components = np.where(var>=99.0)[0][0] + 1
+    except:
+        selected_n_components = min(n_samples, n_features)
+    
+    nComponents = min(n_samples, n_features, selected_n_components)
+    
+    pca = sklearnPCA(n_components=nComponents, svd_solver='full', whiten=False)
+    OutputMatrix = pca.fit_transform(Output)
+    
+    return pca, OutputMatrix
+
+def fit_regression(methodConfig, X_train,Y_train,pca=False):
+    
+    from sklearn.multioutput import MultiOutputRegressor
+    
+    if pca:
+        PCA, Y_train = PCATransformation(Y_train)
+    else:
+        PCA = None
+        
+    deg = methodConfig['deg']
+    distribution = methodConfig['distribution']
+    q = methodConfig['q']
+    regmethod = methodConfig['regmethod'] 
+    # Generate Orthogonal Polynomial Expansion:
+    orthogonal_expansion = chaospy.orth_ttr(deg, distribution, cross_truncation=q)
+    
+    PCEModel={}
+    PCEModel['config'] = methodConfig
+    newPsi = orthogonal_expansion(*X_train.T).T
+
+    if regmethod =='FastARD':
+        PCEModel = MultiOutputRegressor(RegressionFastARD(fit_intercept=False)).fit(newPsi, Y_train)
+    else:
+        PCEModel = MultiOutputRegressor(lm.BayesianRidge(fit_intercept=False)).fit(newPsi, Y_train)
+
+    # for idx in range(Y_train.shape[1]):
+    #     clf_poly = RegressionFastARD(fit_intercept=False)
+        
+    #     PCEModel[idx] = clf_poly.fit(newPsi, Y_train[:,idx])
+    
+    return PCA, PCEModel
+
+def approx_model(model, X,pca=None):
+    
+    global methodConfig
+     
+    y_Hat, y_Std = [], []
+    deg = methodConfig['deg']
+    distribution = methodConfig['distribution']
+    q = methodConfig['q']
+    
+    # Generate Orthogonal Polynomial Expansion:
+    orthogonal_expansion = chaospy.orth_ttr(deg, distribution, cross_truncation=q)
+    
+    psi = orthogonal_expansion(*X.T).T
+    
+    y_Hat = model.predict(psi).T
+    
+    # for idx in list(model.keys())[1:]:
+    #     y_hat, y_std = model[idx].predict(psi, return_std=True)
+    #     y_Hat.append(y_hat)
+    #     y_Std.append(y_std)
+    
+    if pca is None:
+       return np.array(y_Hat).T
+    else:
+        return pca.inverse_transform(np.array(y_Hat).T)# , np.array(y_Std).T
+
+# Select a Distributions:
+distribution = JDist #chaospy.J(*[chaospy.Uniform(-5.0,5.0)]*ndim)
+
+methodConfig = dict()
+y_chaos = dict()
+methodConfig['regmethod'] = 'FastARD' #'FastARD'
+methodConfig['deg'] = PCEModel.MaxPceDegree
+methodConfig['distribution'] = distribution
+methodConfig['q'] = MetaModelOpts.q
+
+
+# Fit regression model
+PCA = True
+for key in OutputNames:
+    
+    pca, PCEModel_chaospy = fit_regression(methodConfig, X_train,EDY[key],pca=PCA)
+    y_chaos[key] = approx_model(PCEModel_chaospy, X_train,pca=pca)
+
+
+#=====================================================
+#=================  Visualization  ===================
+#=====================================================
+# List of markers and colors
+Color = ['k','b', 'g', 'r']
+Marker = 'x'
+
+Time = EDY['x_values']
+      
+nStes = 1
+    
+# Run pcemodel
+y_hat, y_std = PCEModel.eval_metamodel(samples=EDX[:nStes]) #(nsamples=100, samples=EDX, name=case)
+
+# create a PdfPages object
+pdf = PdfPages('./PCE.pdf')
+fig = plt.figure()
+    
+for key in OutputNames:
+    
+    fig, ax = plt.subplots()
+    
+    
+    # Plot ExpDesign
+    for i, output in enumerate(EDY[key][:nStes]):
+        plt.plot(Time,output, alpha=0.35)
+    
+    
+    # Plot PCE with BayesValidRox
+    for i, output in enumerate(y_hat[key]):
+        plt.plot(Time,output, ls='-', marker='*')
+        
+        
+    # Plot PCE with Chaospy
+    for i, output in enumerate(y_chaos[key][:nStes]):
+        plt.plot(Time,output, ls='-', marker='*')
+    
+    plt.legend(loc='best', frameon=True)
+    plt.xlabel('Time [s]')            
+    plt.ylabel(key)
+    
+    # save the current figure
+    pdf.savefig(fig, bbox_inches='tight')
+        
+    # Destroy the current plot
+    plt.clf()
+
+pdf.close() 
+
+
diff --git a/examples/only-model/util/Psi_BayesValidRox.npy b/examples/only-model/util/Psi_BayesValidRox.npy
new file mode 100644
index 0000000000000000000000000000000000000000..43373abb38884fbe6f5e8c509443b916a3a0aea7
Binary files /dev/null and b/examples/only-model/util/Psi_BayesValidRox.npy differ
diff --git a/examples/only-model/util/Psi_Chaospy.npy b/examples/only-model/util/Psi_Chaospy.npy
new file mode 100644
index 0000000000000000000000000000000000000000..dc7974367157dba6f4775091aa09acd314b4c8fe
Binary files /dev/null and b/examples/only-model/util/Psi_Chaospy.npy differ
diff --git a/examples/only-model/util/__pycache__/AnalyticalFunction.cpython-38.pyc b/examples/only-model/util/__pycache__/AnalyticalFunction.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e89c6708d7e9e374610f5dec468e2d7c3a94036f
Binary files /dev/null and b/examples/only-model/util/__pycache__/AnalyticalFunction.cpython-38.pyc differ
diff --git a/examples/only-model/util/dynamic_image.py b/examples/only-model/util/dynamic_image.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c1478164c37739fc1c7b42d4fe4d108c696deee
--- /dev/null
+++ b/examples/only-model/util/dynamic_image.py
@@ -0,0 +1,142 @@
+"""
+=================================================
+Animated image using a precomputed list of images
+=================================================
+
+"""
+
+import numpy as np
+import matplotlib.pyplot as plt
+import matplotlib.animation as animation
+plt.rcParams.update({'font.size': 16})
+plt.rc('figure', figsize = (12, 8))
+plt.rc('font', family='sans-serif', serif='Arial')
+plt.rc('axes', grid = True)
+plt.rc('text', usetex=True)
+plt.rc('xtick', labelsize=16)
+plt.rc('ytick', labelsize=16)
+plt.rc('axes', labelsize=16)
+
+def posteriorPlot(ax,figPosterior,Posterior, MAP, parNames):
+    
+    # Initialization
+    lw = 3.
+    BoundTuples = [(-5,5), (-5,5)]
+    NofPa = len(MAP)
+    
+    # This is the true mean of the second mode that we used above:
+    value1 = MAP
+    
+    # This is the empirical mean of the sample:
+    value2 = np.mean(Posterior, axis=0)
+    
+    if NofPa == 2:
+
+        #figPosterior, ax = plt.subplots()
+        plt.hist2d(Posterior[:,0], Posterior[:,1], bins=(200, 200),
+                   range=np.array([BoundTuples[0],BoundTuples[1]]), cmap=plt.cm.jet)
+    
+        plt.xlabel(parNames[0])
+        plt.ylabel(parNames[1])
+        
+        plt.xlim(BoundTuples[0])
+        plt.ylim(BoundTuples[1])
+        
+        ax.axvline(value1[0], color="g", lw=lw)
+        ax.axhline(value1[1], color="g", lw=lw)
+        ax.plot(value1[0], value1[1], "sg", lw=lw+1)
+        
+        #ax.axvline(value2[0], ls='--', color="r", lw=lw)
+        #ax.axhline(value2[1], ls='--', color="r", lw=lw)
+        #ax.plot(value2[0], value2[1], "sr", lw=lw+1)
+        
+    else:
+        import corner
+        figPosterior = corner.corner(Posterior, labels=parNames,
+                           show_titles=True, title_kwargs={"fontsize": 12})
+    
+        # Extract the axes
+        axes = np.array(figPosterior.axes).reshape((NofPa, NofPa))
+        
+        # Loop over the diagonal
+        for i in range(NofPa):
+            ax = axes[i, i]
+            ax.axvline(value1[i], color="g")
+            ax.axvline(value2[i], ls='--', color="r")
+        
+        # Loop over the histograms
+        for yi in range(NofPa):
+            for xi in range(yi):
+                ax = axes[yi, xi]
+                ax.axvline(value1[xi], color="g")
+                ax.axvline(value2[xi], ls='--', color="r")
+                ax.axhline(value1[yi], color="g")
+                ax.axhline(value2[yi], ls='--', color="r")
+                ax.plot(value1[xi], value1[yi], "sg")
+                ax.plot(value2[xi], value2[yi], "sr")
+    
+    plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)
+    #figPosterior.set_size_inches((10,10)) 
+    return figPosterior
+
+fig, ax = plt.subplots()
+dirPath = '/home/farid/scientific/bayesian-validation/BayesValidRox/tests/AnalyticalFunction/Outputs_SeqPosteriorComparison/'
+            
+nRuns= 35
+Posteriors = {}
+nameList = ['init'] + list(range(1,nRuns+1))
+for i, name in enumerate(nameList):
+#    x = np.random.normal(size=50000)
+#    y = x * 3 * (i+1) + np.random.normal(size=50000)
+#    Posteriors[i] = np.stack((x,y)).T
+    Posteriors[i] = np.load(dirPath+'SeqPosterior_%s.npy'%name)
+
+
+# animation function
+def animate(i, Posteriors): 
+    
+    Posterior = Posteriors[i]
+    
+    cont = posteriorPlot(ax,fig,Posterior, MAP = (0,0), parNames=['$X_1$', '$X_2$'])
+
+    plt.title(r'Iteration = %i' % i)
+
+    return cont  
+
+anim = animation.FuncAnimation(fig, animate, fargs=(Posteriors,))#, frames=nRuns)
+anim.save('animation.mp4')
+
+     
+        
+#fig = plt.figure()
+#
+#
+#def f(x, y):
+#    return np.sin(x) + np.cos(y)
+#
+#x = np.linspace(0, 2 * np.pi, 120)
+#y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
+## ims is a list of lists, each row is a list of artists to draw in the
+## current frame; here we are just animating one artist, the image, in
+## each frame
+#ims = []
+#for i in range(60):
+#    x += np.pi / 15.
+#    y += np.pi / 20.
+#    im = plt.imshow(f(x, y), animated=True)
+#    ims.append([im])
+#
+#ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,
+#                                repeat_delay=1000)
+#
+## To save the animation, use e.g.
+##
+#ani.save("movie.mp4")
+#
+# or
+#
+# from matplotlib.animation import FFMpegWriter
+# writer = FFMpegWriter(fps=15, metadata=dict(artist='Me'), bitrate=1800)
+# ani.save("movie.mp4", writer=writer)
+
+#plt.show()
diff --git a/examples/only-model/util/indices_bayesValid.npy b/examples/only-model/util/indices_bayesValid.npy
new file mode 100644
index 0000000000000000000000000000000000000000..087a2608fb8da023977760ab15582c61c7a8ff6d
Binary files /dev/null and b/examples/only-model/util/indices_bayesValid.npy differ
diff --git a/examples/only-model/util/indices_chaospy.npy b/examples/only-model/util/indices_chaospy.npy
new file mode 100644
index 0000000000000000000000000000000000000000..087a2608fb8da023977760ab15582c61c7a8ff6d
Binary files /dev/null and b/examples/only-model/util/indices_chaospy.npy differ
diff --git a/examples/only-model/util/svg_gif.py b/examples/only-model/util/svg_gif.py
new file mode 100644
index 0000000000000000000000000000000000000000..4430de69c299a495bba9642ea5d5115e7452bdda
--- /dev/null
+++ b/examples/only-model/util/svg_gif.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Mon May 16 10:51:20 2022
+
+@author: farid
+"""
+
+import imageio
+import os
+import re
+
+
+def tryint(s):
+    try:
+        return int(s)
+    except:
+        return s
+
+
+def alphanum_key(s):
+    """ Turn a string into a list of string and number chunks.
+        "z23a" -> ["z", 23, "a"]
+    """
+    return [tryint(c) for c in re.split('([0-9]+)', s)]
+
+
+def sort_nicely(input_list):
+    """ Sort the given list in the way that humans expect.
+    """
+    input_list.sort(key=alphanum_key)
+
+
+path = '../adaptivePlots'
+file_ext = 'pdf'
+
+
+filenames = []
+for file in os.listdir(path):
+    if file.endswith(f'.{file_ext}'):
+        filenames.append(os.path.join(path, file))
+sort_nicely(filenames)
+
+images = []
+for filename in filenames:
+    images.append(imageio.imread(filename))
+imageio.mimsave(f'{path}/movie.gif', images)